हेल्लो दोस्तों! आज हम इस पोस्ट में Design Principles in Hindi – Software Engineering ( सॉफ्टवेयर इंजीनियरिंग में डिजाईन प्रिंसिपल क्या है?) के बारें में पढेंगे, तो चलिए शुरू करते हैं:-
टॉपिक
Software Design Principles in Hindi
Software Development Life Cycle (SDLC) में software design एक बहुत ही महत्वपूर्ण phase है. software design principle डिजाईन प्रक्रिया की complexity को प्रभावी ढंग से handle करने की सुविधा प्रदान करता है. इससे design में लगने वाला effort भी कम हो जाता है और design के दौरान आने वाले errors भी कम हो जाते है.
software design principles निम्नलिखित है.
1:- Problem Partitioning
जब कोई problem छोटी होती है तो हम उसे एक बार में ही solve कर सकते हैं. परन्तु जब कोई बड़ी problem होती है तो उस problem को छोटे pieces (टुकड़ों) में divide (विभाजित) कर लिया जाता है और इन pieces को अलग-अलग solve किया जाता है.
problem Partitioning के लाभ
- इससे software को आसानी से समझा जा सकता है.
- सॉफ्टवेयर simple बन जाता है.
- सॉफ्टवेर को test करना आसान होता है.
- software को आसानी से modify किया जा सकता है.
- software को maintain करना easy हो जाता है.
- सॉफ्टवेयर को expand करना आसान होता है.
लेकिन यहाँ ध्यान देने वाली बात यह है कि जितनी ज्यादा pieces की संख्या बढेंगी उतनी ही ज्यादा उनमें लगने वाला cost (मूल्य) और complexity (कठिनाई) बढ़ेगी.
2:- Abstraction
बाहर से software parts के संबंध में जानकारी प्राप्त करना abstraction कहलाता है. यह एक tool है जिसे डिज़ाइनर abstraction level में element के लिए प्रयोग करता है.
abstraction के द्वारा जो महत्वपूर्ण information होती है उसे तो extract कर लिया जाता है और जो बची हुई information होती है उसे हटा दिया जाता है.
abstraction दो प्रकार के होते हैं:-
- functional abstraction:- इसमें subprograms का एक collection होता है जिसे groups कहते है. इन groups में उपस्थित routine या तो visible होते है या फिर hidden. visible routine को बाहर के groups में भी use कर सकते है परन्तु hidden routine को हम बाहर के groups में use नही कर सकते क्योंकि वो दूसरे groups के लिए hidden होता है.
- data abstraction:- इसमें data elements की details (जानकारी) data के users को दिखाई नही देती हैं.
3:- Modularity
सॉफ्टवेयर को एक विशेष name और address के components में विभाजित करके modularity प्राप्त की जाती है। इन components को modules भी कहते है. बाद में कार्यात्मक सॉफ्टवेयर प्राप्त करने के लिए मॉड्यूल को एकीकृत (integrate) किया जाता है। एक बहुत बड़े programs को समझना और read करना बहुत मुश्किल होता है.
modularity के फायदे:-
- इसके द्वारा एक बड़े program को अलग-अलग लोग लिख सकते है.
- इसके द्वारा ज्यादातर प्रयोग किये जाने वाले programs को create कर सकते है और उसे library में save कर सकते है. जिससे कि उसे दूसरे program में use कर सकें.
- यह बड़े program की loading की प्रक्रिया को आसान बना देता है.
- ये पूरी testing के लिए फ्रेमवर्क प्रदान करता है.
- यह अच्छी तरह design किये गये और आसानी से read किये जा सकने वाले programs प्रदान करताहै.
modularity के नुकसान:-
- execution में time ज्यादा लगता है.
- compile और load में समय ज्यादा लगता है.
- inter-module communication की समस्या बढ़ सकती है.
4:- Design strategy
Design strategy दो प्रकार की होती हैं:-
- top-down approach
- bottom-up approach
top down approach में सबसे पहले main components को identify किया जाता है उसके बाद उन्हें sub-components में बाँट दिया जाता है. bottom-up approach में नीचे से शुरुआत होती है ऊपर की ओर.
निवेदन:- अगर आपको यह पोस्ट helpful लगा हो तो इसे अपने friends और classmates के साथ अवश्य share कीजिये और आपके किसी subjects से सम्बन्धित कोई सवाल हो तो नीचे कमेंट करके पूछ सकते हैं. thanks.
Very helpful