आज हम computer in hindi मे आज हम software design in hindi - Software Engineering concepts in hindi के बारे में जानकारी देते क्या होती है तो चलिए शुरु करते हैं-
Software design in hindi:-
Webster के अनुसार, डिजाइन की process में "accreditation और दिमाग में Plan बनाना" और "एक ड्राइंग, पैटर्न या स्केच बनाना" शामिल है। software design में, तीन अलग-अलग प्रकार की गतिविधियां होती हैं: Exterior Design, Architectural Design और detailed design। architecture और detailed design को सामूहिक रूप से internal design कहा जाता है।
सॉफ्टवेयर के बाहरी डिजाइन में एक सॉफ्टवेयर products की बाहरी रूप से देखने योग्य विशेषताओं की कल्पना करना, योजना बनाना और Specified करना शामिल है। इन विशेषताओं में user performance और Report Format, External Data Source और data sinks और उत्पाद के लिए functional characteristics, Display आवश्यकताओं और उच्च स्तरीय प्रक्रिया संरचना शामिल हैं। बाहरी design analysis step के दौरान शुरू होता है और design step में जारी रहता है। व्यवहार में, कुछ प्रारंभिक design किए बिना आवश्यकताओं की परिभाषा करना संभव नहीं है। आवश्यकता परिभाषा एक प्रणाली के लिए external, functional और display आवश्यकताओं को Specified करने के साथ-साथ अपवाद Handling से संबंधित है। external design उन आवश्यकताओं को refined करने और प्रणाली के high level structural approach को स्थापित करने से संबंधित है। इस प्रकार, आवश्यकताओं की परिभाषा और external design के बीच का अंतर तेज नहीं है, बल्कि detailed "क्या" से उच्च-स्तरीय "कैसे" पर जोर देने में एक successive बदलाव है।
external design में सॉफ्टवेयर products की internal structure और processing details की कल्पना करना, योजना बनाना और Specified करना शामिल है। external design के लक्ष्य internal structure और Specify processing details करना, डिजाइन निर्णय रिकॉर्ड करना और यह pointed करना है कि कुछ विकल्प और trade-off क्यों चुने गए थे, test plan को detailed करने के लिए, और implementation, परीक्षण और रखरखाव गतिविधियों के लिए एक provide blueprint करने के लिए। external design के कार्य products में architectural structure का एक Specification, Algorithm और डेटा संरचनाओं का विवरण और परीक्षण योजना शामिल है।
architectural design systems के conceptual approach को refined करने, internal processing कार्यों की पहचान करने, उच्च-स्तरीय कार्यों को उप-कार्यों में disintegrated करने, आंतरिक डेटा स्ट्रीम और डेटा स्टोर को परिभाषित करने और Functions, डेटा स्ट्रीम और डेटा स्टोर। detailed design के दौरान चिंता के issues में एल्गोरिदम के specification शामिल हैं जो कार्यों को लागू करते हैं, डेटा संरचनाएं जो डेटा स्टोर को लागू करती हैं, कार्यों और डेटा संरचनाओं के बीच real interconnection और सिस्टम के लिए पैकेजिंग योजना।
परीक्षण योजना परीक्षण के objectives, test completion criteria, integration plan (Strategy, Schedule, Responsible Person), विशेष उपकरण और तकनीकों का उपयोग करने और real test cases और expected results का वर्णन करती है। functional test और performance test आवश्यकताओं के Analysis के दौरान विकसित किए जाते हैं और डिजाइन चरण के दौरान refined किए जाते हैं। परीक्षण जो सॉफ्टवेयर उत्पाद की आंतरिक संरचना की जांच करते हैं और परीक्षण जो सिस्टम को तोड़ने का प्रयास करते हैं (stress testing) detailed design और implementation के दौरान विकसित किए जाते हैं।
इस अध्याय में, हम सॉफ्टवेयर, module और Modernization Criteria, सॉफ्टवेयर डिजाइन के लिए नोटेशन, Architectural design techniques, detailed design ideas, distributed and real-time systems के लिए डिजाइन विचार, डिजाइन guidelines, और परीक्षण योजनाओं के लिए मौलिक डिजाइन concepts पर चर्चा करते हैं।
1. Fundamental design concepts:-
every intellectual discipline में fundamental concepts और specific techniques की विशेषता होती है। techniques concepts की Expression हैं क्योंकि वे विशेष स्थितियों पर लागू होती हैं। तकनीक में बदलाव के साथ तकनीक आती है और चली जाती है, intellectual inclination, theory पूरे समय समान रहते हैं। वे तकनीकों के विकास और मूल्यांकन के लिए provide built-in base करते हैं। software design की fundamental concepts में abstraction, structure, information hiding, modularity, concurrency, validation and design aesthetics शामिल हैं।
2. Modules and modularization criteria:-
आर्किटेक्चरल डिज़ाइन का लक्ष्य अच्छी तरह से संरचित, मॉड्यूलर सॉफ्टवेयर सिस्टम तैयार करना है।
Examples of modules:-
include procedures, subroutines, and functions; functional groups of related procedures, subroutines, and functions; data abstraction groups; utility groups; and concurrent processes.
मॉडर्नाइजेशन डिजाइनर को functional units में एक प्रणाली को disintegrated करने, फ़ंक्शन के उपयोग पर hierarchical order लगाने, डेटा एब्स्ट्रैक्शन को लागू करने से उपयोगी sub-systems को विकसित करने की अनुमति देता है। इसके अलावा, मशीन निर्भरता को अलग करने के लिए, सॉफ़्टवेयर उत्पाद के प्रदर्शन में सुधार करने के लिए, या सिस्टम के debugging, testing, integration, tuning और Amendment को आसान बनाने के लिए मॉड्यूलरलाइजेशन का उपयोग किया जा सकता है।
3. Design notations:-
सॉफ्टवेयर डिजाइन में, mathematics की तरह, representation schemes को fundamental importance देता है। अच्छा notation interrelationships और interest के interactions को स्पष्ट कर सकता है, डिज़ाइन विनिर्देशों के कम से कम तीन स्तर मौजूद हैं:
External Design Specifications, जो सॉफ्टवेयर सिस्टम की बाहरी विशेषताओं का वर्णन करते हैं;
Architectural design specification, जो सिस्टम की संरचना का वर्णन करते हैं;
और Detailed Design Specifications, जो मॉड्यूल के control flow within, डेटा Representation और अन्य एल्गोरिथम विवरण का वर्णन करते हैं।
4. Design techniques:-
डिजाइन process में सिस्टम का एक develop an ideological approach करना, सिस्टम संरचना की स्थापना, डेटा स्ट्रीम और डेटा स्टोर की पहचान करना, उच्च-स्तरीय कार्यों को उप-कार्यों में disintegrated करना, components के बीच संबंध और interconnection स्थापित करना, डेटा Representation विकसित करना और एल्गोरिदम Specified करना शामिल है।
5. Detailed Design Consideration:-
detailed design का संबंध एल्गोरिथम विवरण, डेटा Representation, कार्यों और डेटा संरचनाओं के बीच interrelationship, और सॉफ्टवेयर उत्पाद की पैकेजिंग से संबंधित है। Detailed Design Implementation Language से काफी प्रभावित है, लेकिन यह implementation के समान नहीं है; detailed design semantic issues से अधिक संबंधित है और implementation की तुलना में syntactic description से कम Concerned है।
6. Real-Time and Distributed System Design:-
कई लोकप्रिय डिजाइन "Methods" को एप्लिकेशन प्रोग्राम, ऑपरेटिंग सिस्टम और यूटिलिटी प्रोग्राम (कंपाइलर, एडिटर, लोडर, आदि) के लिए डिजाइन तकनीकों के रूप में विकसित किया गया था। ये methods hierarchical decomposition, modularity, information hiding और डेटा abstraction जैसी अवधारणाओं का समर्थन करती हैं। ये डिज़ाइन concepts रीयल-टाइम और वितरित सिस्टम के लिए महत्वपूर्ण हैं, लेकिन वे नेटवर्क configuration और संचार प्रोटोकॉल की display विशेषताओं या समस्याओं से निपटने के तरीकों को स्पष्ट रूप से शामिल नहीं करते हैं।
7. Test plans:-
test plan एक महत्वपूर्ण, लेकिन अक्सर अनदेखी, software design का उत्पाद है। एक test plan विभिन्न प्रकार की गतिविधियों को निर्धारित करती है जो यह display करने के लिए की जाएंगी कि सॉफ्टवेयर उत्पाद अपनी आवश्यकताओं को पूरा करता है।
8. Milestone, walkthrough and Inspection:-
सॉफ्टवेयर विकास के लिए एक systematic approach के सबसे महत्वपूर्ण पहलुओं में से एक विकसित उत्पाद की resultant visibility है। सिस्टम के विकास के दौरान जांचे जाने वाले Analysis और डिजाइन के उत्पादों में सिस्टम की बाहरी रूप से देखने योग्य विशेषताओं के लिए Specification, विकसित उपयोगकर्ता के मैनुअल, Architectural Design Specifications, Detailed Design Specifications और परीक्षण योजना शामिल हैं।
Design guidelines:-
software design के लिए कोई जादू फार्मूला या नुस्खा नहीं है। डिजाइन एक creative process है जिसे directed किया जा सकता है, लेकिन इसे कभी भी एक एल्गोरिदमिक प्रक्रिया में कम नहीं किया जा सकता है। रीयल-टाइम सिस्टम का डिज़ाइन डेटा प्रोसेसिंग एप्लिकेशन के डिज़ाइन की तुलना में बहुत अलग गतिविधि है। निम्नलिखित guidelines "design method" का गठन नहीं करते हैं, बल्कि software design की गतिविधियों को व्यवस्थित करने के लिए कुछ मार्गदर्शन प्रदान करते हैं।
टिप्पणियाँ
एक टिप्पणी भेजें