What is Design Engineering in Software Engineering:
Design engineering का मुख्य उद्देश्य अच्छे स्वरूप मे ग्राहक की आवश्यकतानुसार model बनाना होता है। software बनाने के लिए software design एक लगातार चलने वाली प्रक्रिया होती हैं। Software design, software blueprint होता है।
What is the Design Process in Software Engineering:
Design process को अनेक प्रकार से वर्णित एवं चित्र सहीत परिभाषित कर सकते हैं परंतु उनकी मुख्य गतिविधियां एक समान होती है Design के process को निम्न diagram की सहायता समझ सकते हैं:
Diagram of design process in software engineering |
i) Recognition of need:
Design करते समय सबसे पहले ग्राहको की आवश्यकताओं का विश्लेषण करना होता है। अवश्यकताओं को पहचान कर उन्हें चिन्हित किया जाता है। इसमें ग्राहक द्वारा चाहे गये सभी अवश्यकताओं को समायोजित करना होता है।
ii) Definition of design problem:
इसके द्वारा design के समस्या को समझकर उसके उद्देश्यो की पहचान की जाती है। Problem को परिभाषित करके अधिक बेहतर एवं लाभदायक बनाने का प्रयास किया जाता है। इससे नये तकनिक का विकास किया जाता है जिससे design को अधिक स्पष्ट रूप से प्रस्तुत किया जा सकता है।
iii) Design criteria and constraints:
Design इस प्रकार होना चाहिए कि उसका जिन व्यक्तियों द्वारा coding किया जा रहा है उन्हें आसानी से समझ में आ जाये, और text सरल भाषा में हो। अनेक बार design बनाते समय बधाएं भी उत्पन्न होती है जैसे अलग-अलग environment पर अलग-अलग design में प्रदर्शित होना जो ग्राहको की इच्छानुसार न हो, बार-बार error का आना, ग्राहक से इच्छानुसार उसे support न दे पाना इत्यादि ।
iv) Decision loop:
इसमें ऐसे तत्व सम्मिलित होते हैं जिनका उपयोग बार-बार किया जाना है। इसमें सबसे पहले आवश्कयताओं का संकलन किया जाता है, उसके बाद उन आवश्यकताओं का विश्लेषण किया जाता है और इन्हें एक से अधिक बार किया जाता है और देखा जाता है कि जिस प्रकार का design ग्राहक चाहता है वह इससे पूरा हो पायेगा या नहीं यदि नहीं तो पुनः इस process को दोहराया जाता है।
Read Also - Elements of the Analysis Model in Software Engineering | Analysis Modeling
v) Optimization:
इस stage में यह देखा जाता है कि design, system या design सभी तरह से perfect है या नहीं यदि नहीं है तो वापस decision process को भेज किया जाता है जहाँ पुनः संकलन एवं विश्लेषण का कार्य किया जाता है।
vi) Evolution:
इस stage उपरोक्त सभी steps के द्वारा किये गये कार्य का मूल्यांकन किया जाता है यह देखा जाता है कि system या components निर्धारित मापदंड के अनुरूप है या नहीं यदि engineer को यह लगता है कि optimization stage में समस्या है तो optimization के वापस भेज देगा इसी प्रकार पूर्व में किये गये state से पुनः process की आवश्यकता है उसे उसी stage में वापस भेज दिया जाता है और यह मूल्यांकन का कार्य तब तक होते रहता है जब तक की पूरी तरह से संतुष्ट नहीं हो जाए। संतुष्ट होने के बाद process की अंतिम प्रक्रिया communication में पहुँच जाता है।
vi) Finalization (Drawing/Report):
इस stage में आकर design process समाप्त हो जाता है और वह development के लिए तैयार हो जाता है जहाँ उसमें किये गये कार्य के अनुसार drawing एवं report तैयार करने का कार्य होता है। यहाँ software की पूरी तस्वीर स्पष्ट हो जाती है।
What is Design Quality ?
Design process के पुर्ण हो जाने के पश्चात् उसके गुणवत्ता (quality) को देखा जाता है। यह देखा जाता है कि design में समझने योग्य text, structure इत्यादि उपयोग किया गया है या नहीं। Software का एक design modular होना चाहिए अर्थात् software तार्किक रूप से विभाजित होने चाहिए।
Design में data, architecture, interface और components अलग-अलग होने चाहिए। Design का structure पहचानने योग्य pattern में होना चाहिए। Design के प्रत्येक तत्व के कार्यात्मक क्षमता स्वतंत्र होने चाहिए।
Quality Attributes:
HP company ने software quality के attributes का एक set तैयार किया जिसे FURPS नाम दिया, इस शब्द को quality के लिए आवश्यक attributes के नाम के पहले अक्षर से लिया गया है। ये Quality attributes निम्न है:
Note - FURPS सॉफ़्टवेयर गुणवत्ता विशेषताओं (कार्यात्मक और गैर-कार्यात्मक आवश्यकताओं) को वर्गीकृत करने के लिए एक मॉडल का प्रतिनिधित्व करने वाला एक संक्षिप्त नाम है
Functionality (कार्यक्षमता)
यह attribute, program के योग्यता एवं विशेषताओं के मूल्यांकन के लिए होता है।
Usability
यह attribute, human factors, overall aesthetics, स्थिरता एवं documentation पर विचार करके मूल्यांकन करने के लिए होता है।
Reliability (विश्वसनीयता)
यह attribute, लगातार और तीव्रता से विफल हो रहे, output result की सटीकता, असफलता से उभरने की क्षमता और program का पूर्वानुमान का मूल्याकन करने के लिए होता है।
Performance (प्रदर्शन)
यह attribute, processing speed, response time, resource consumption, throughput 3 efficiency Software Engineering मूल्यांकन करने के लिए होता है।
Supportability (समर्थन क्षमता)
Program विस्तार, अनुकुलन क्षमता, सेवा क्षमता को बढ़ाने का कार्य supportability के माध्यम से किया जाता है।
Read Also - WHAT IS ANALYSIS MODEL AND ITS FOUR ELEMENTS IN HINDI | VALIDATION REQUIREMENTS
What is a Design model?
Design model से software में समस्याओं का जो समूह होता है उनका हल निकाल सकते हैं। Analysis model और design model के बीच निम्न प्रकार संबंध होते हैं:
Analysis Model & Design Model |
Analysis model में उपयोग किये गये design model के तत्वो का प्रयोग SSAD एवं UML model में होता है।
Design model elements:
निम्न तत्व सम्मिलित किया जाता हैः
- Data / Class design:
- Architecture design
- Interface design
- Procedural/component level design
i) Data / Class design:
यह सभी design का अधार होता है अर्थात् सभी design model इसी से शुरू होते हैं। Software architecture design के साथ class design के एक भाग में conjunction की स्थिति निर्मित हो जाती है। प्रत्येक software design का जब विस्तार किया जाता है उतना ही class design में विस्तार होता है।
ii) Architecture design:
Architecture design, design pattern, architecture के प्रकार, और software के मुख्य structure तत्वो के बीच relation को परिभाषित करने का कार्य करता है। यह class based element और flow based element उत्पन्न करना एवं computer अधारित system के लिए framework का कार्य करता है।
iii) Interface design:
यह scenario और behavioral model के द्वारा interface design करने के लिए जानकारियाँ प्रदान किया जाता है। इन जानकारियों के आधार पर यह निर्धारित करता है कि software. system के साथ किस प्रकार communicate करना चाहता है।
iii) Procedural/component level design :
Class based model, flow based model और behavioral model सभी मिलकर component design के लिए कार्य करते हैं। इसमें software components के विषय में procedural विवरण होता है।
Advantageses of Design Model :
- Desgin में software की तस्वीर स्पष्ट होने चाहिए इसमें domain, data, functional इत्यादि सभी को उपयोग करने के लिए विकल्प होने चाहिए।
- इसलिए Design में ग्राहको के आवश्यकताओं को सम्मिलित किया जाता हैं इसलिए इस model में analysis model के आवश्यक तत्वो को सम्मिलित किया जाता है।
- कुछ ऐसे व्यक्ति या कर्मचारी होते हैं जो लगातार design को अच्छा बनाने में लगे होते हैं इसलिए उन लोगो के लिए desing समझने और पढ़ने योग्य होने चाहिए।
- Design software architecute के अनुसार होने चाहिए उसमें सभी software के interface, components को स्थान दिया जाना चाहिए।
- Desing में interface होने चाहिए जिससे बाहरी वातावरण का प्रभाव कम हो और आंतरित components के बीच connection बना रहे।
- Desgin पुरी तरह user friendly होने चाहिए जिससे उपयोगकर्ता को software का कार्य समझने में किसी प्रकार की कोई परेशानी न हो।
0 Comments