ऑब्जेक्ट-ओरिएंटेड डिजाइन (Object-oriented design)

ऑब्जेक्टओरिएंटेड डिजाइन Objectoriented Design ऑब्जेक्टओरिएंटेड डिजाइन तकनी 

(objeaoriented deign technique) ने सॉफ्टवेयर विकास की प्रक्रिया में क्रांति (revolution) ला दिया थाइसमें केवल स्ट्रक्चर्ड प्रोग्रामिंग (Guructured programming) की सबसे अच्छी विशेषताएँ (features) शामिला बल्कि कुछ नई और शक्तिशाली विशेषताएँ (powerful features) भी हैं, जैसे कि एनकैप्सुलेशन (encapsulations एव्सट्रक्शन (abstraction), इनहेरिटंस (inheritance) और पोलिमोर्फिज्म (polymorphism) इन नई विशेषताओ (features) ने अच्छी तरह से डिजाइन (welldesigned) और उच्च गुणवत्ता (highquality) सॉफ्टवेयर के विकास में अत्यधिक (remendously) मदद की है। 

ब्जेिक्टओरिएंटेड (objearoriented) तकनीकों (techniques) का इन दिनों व्यापक रूप से उपयोग किया जाता क्योंकि वे कोड (code) की पुन: प्रयोज्य (reusability) की अनुमति देते हैंवे तेजी से (faster) सॉफ्टवेयर विका (coftware development) और उच्चगुणवत्ता (highquality) वाले प्रोग्रामो (programs) का नेतृत्व करते हैंइसके अलावा, वे अनुकूलन (adapt) और पैमाने (scale) पर आसान होते हैं; अर्थात् रीयूजेबल सबसिस्टम (reusati 

subrystem) को इकट्ठा (assemble) करके बड़े सिस्टम (large system) बनाये जा सकते हैं

कंट्रोल-फ्तो बेस्ड डिजाइन (Control flow based design)

कंट्रोलफ्लो बेस्ड डिजाइन Control Fow Based Design शक्तिशाली मशीनों (powerful machines

और हाईलेवल लैंग्वेज (highlevel language) के आगमन के साथ, कम्प्यूटर का उपयोग तेजी से बढ़ाइसके अलावा, प्रोग्रामों (programs) की प्रकृति भी सरल से जटिल (simple to complex) मे बदल गईबढ़े हुए आकार (urcreased size) और जटिलता (complexity) को व्यक्तिगत शैली (individual style) द्वारा प्रबंधित नहीं किया जा सकता थायह विश्लेषण (analyzed) किया गया था कि कंट्रोलफ्लो (control flow) की स्पष्टता (clarity) [ वह क्रम जिसमे प्रोग्राम के इन्स्ट्रक्शनो (instructions) को एक्जीक्यूट (execured) किया जाता है ] का बहुत महत्त्व हैप्रोग्रामर (programmer) को अच्छे कंट्रोलपलो स्ट्रक्चर (controlflow structure) वाले प्रोग्रामों को डिजाइन करने में मदद करने के लिए पलोचाटिंग तकनीक (flowcharting technique) विसित की गई थीफ्लोचार्टिंग तकनीक (now charing technique) में एल्गोरिथ्म् (algorithm) को फ्लोचार्ट (lowchar) का उपयोग करके दर्शाया गया हैफ्लोचार्ट (flowchart) एक ग्राफिकल (graphical) प्रतिनिधित्व है, जो किसी दी गयी समस्या को हल करने के लिए किए जाने वाले ऑपरेशनों (operations) के अनुक्रम (sequence) को दर्शाता हैफ्लोचार्ट (low char) में अधिक GOTO का प्रयोग कंट्रोलफ्लो (controlflow) को गड़बड़ (inessy) बना देता है, जिससे समझना और डीबग (debug) करना कठिन हो जाता हैकंट्रोलफ्लो (controlflow) की स्पष्टता प्रदान करने के लिए, फ्लोचाट्स (flowcharts) में GOTO कन्स्ट्रक्ट (constructs) के उपयोग से बचना चाहिए और स्ट्रक्चर फ्लोचार्ट्स (structure flowcharts) को विकसित करने के लिए स्ट्रक्चईकन्स्ट्रक्टडिसीजन (structuredconstructs. decision), अनुक्रम (sequence) और लूप (loop) का उपयोग किया जाना चाहिएनीचे चित्र में फ्लोचार्ट के सिम्बलों को दर्शाया गया है। 

Flow Chart Symbol 

Meaning Start and end 

Explanation on The symbol denoting the beginning and end of the flow chart. This symbol shows that the user performs a task

Step 

Decision 

This symbol represents a pois where a decision is made 

Action 

This symbol means that the u performs an action

Flow line 

A line that connects the various symbols in an ordered way

डिसीजन स्ट्रक्चरों (decision structure) का उपयोग स्टेटमेंट्स (staterments) के कंडीशनल एक्जीक्यूट (conditional caecution) के लिए किया जाता हैअनुक्रम स्ट्रक्चरो (equence structures) को क्रमिक रूप Crequentially) एक्जिक्यूटेड स्टेटमेंट्स (aecuted statements) में प्रयोग किया जाता है। 

लूप स्ट्रक्चरों aopructures) का उपयोग प्रोग्राम में कुछ रिपिटिटिव टास्को (repetitive tasts) को करने के लि किया जाता है। 

डायमग (tructured programming) एक शक्तिशाली उपकरण (powerful tool) बन गया है,जो प्रोग्रामर य 

ला जाटल प्रामामा Cmoderately complea programs) को आसानी से लिखने की अनुमति देता हैस्ट्रक्चर्ड प्रोग्रामिंग (structured programming) का उद्देश्य सॉफ्टवेयर कोड (oftware code) को आवश्यक होने संशोधित करना आसान बनाता हैकुछ लैंग्वेज जैसे कि Ada Pavcal और dBase को ठन विशेषताओं (features) | साय डिजाइन किया गया है, जो लॉजिकल प्रोग्राम स्टेक्चर logical program structure) को सॉफ्टवयर की (software code) में इम्प्लिमेन्ट (implement) करते हैं

प्रारम्भिक कम्प्यूटर प्रोग्रामिंग (Early computer programming)

  प्रारम्भिक कम्प्यूटर प्रोग्रामिंग Early Computer Programming हम जानते हैं, कि 1950 की शुरूआत में, कम्प्यूटर धीमे (slow) और महँगे (expensive) घेजबकि उस समय के प्रोग्राम (program) आकार में बहुत छोटे थेकम्प्यूटरों को प्रोसेस (process) करने में काफी समय लगता थावे असेंबली लैंग्वेज (assembly language) पर निर्भर थे जो कम्प्यूटर आर्किटेक्चर (computer architecture) के लिविनिर्दिष्ट (specific) थीइस प्रकार, एक प्रोग्राम (program) को विकसित करने में बहुत प्रयास (effort) की जरूरत होती थीप्रत्येक प्रोग्रामर (programmer) प्रोग्राम 

(program) को विकसित करने के लिए अपनी शैली (style) का उपयोग करता था।

. Introduction to Software Engineering सॉफ्टवेयर इंजीनियरिंग का परिचय

सॉफ्टवेयर इंजीनियरिंग का अर्थ एक ऐसी इंजीनियरिंग से है जिसमें कम्प्यूटर सिस्टम तथा किसा अन्य 

इलेक्ट्रॉनिक डिवाइस के लिए सॉफ्टवेयर का निर्माण किया जाता है

सॉफ्टवेयर इंजीनियरिंग में सिस्टम निम्न प्रकार के होते है 

(1) Physical system, (ii) Abstract system, (ili) Open system, (iv) Closed system, (v) Manmade information system

  1. 1. भौतिक सिस्टम Physical system एक सिस्टम में विभिन्न घटकों का समावेश होता हैभौतिक सिस्टम ऐसी 

वस्तुओं का समूह होता है, जो वास्तव में उपस्थित हों, उनका भौतिक रूप होता हैये Tangible or visible होती हैं अर्थात् tangible को देख सकते है, छू सकते हैं और काउंट कर सकते हैंभौतिक सिस्टम को statically या dynamic रूप में ऑपरेट कर सकते हैंExample : Static System : हम बैंक का उदाहरण लेते हैं जिसमें बहुतसी वस्तुएँ फिजिकल होती है; जैसे टेबल, कुसी, कम्प्यूटर आदि यह सभी वस्तुएँ बैंक के कामकाज में उपयोगी होती है, साथ ही इन भौतिक वस्तुओं का उपयोग कर अन्य उपकरण प्राप्त किये जा सकते हैDynamic System: कम्प्यूटर का प्रयोग कर विभिन्न रिपोर्ट, कस्टमर का डाटा आदि बनाया जाता हैइस प्रकार के 

डाटा, रिपोर्ट, प्रोग्राम आदि सभी प्रयोगकर्ता के अनुसार बदलती रहती है अर्थात् यह डायनामिक होती है2. Abstract System इस प्रकार के सिस्टम का फिजिकल अस्तित्व नहीं होता हैकिसी सिस्टम में दो या अधिक 

कंपोनेन्ट के बीच का फार्मूला आदि इस श्रेणी में आते हैंExample : बैंक सिस्टम में किसी कस्टमर के कर्ज के व्याज की गणना आदि इसके अन्तर्गत करते हैंइस प्रकार के फार्मला, एल्गोरिथम या मॉडल फिजिकल सिस्टम के वास्तविक रूप का प्रतिनिधित्व करते हैंकिसी कार्य को एक 

मॉडल के रूप में बनाने से सिस्टम के विभिन्न कम्पोनेन्ट्स के बीच के सम्बन्ध आदि को समझना आसान हो जाता है3. Open System ओपन सिस्टम ऐसा सिस्टम है, जो बाहर के पर्यावरण (environment) स्वतन्त्रतापूर्वक इंटरेक्ट 

करता हैयह सिस्टम पर्यावरण से इनपुट लेता है और इसे ही आउटपुट लौटा देता हैइस सिस्टम का रिलेशन पर्यावरण से होता हैइसलिए जव पर्यावरण बदलता है, तंव सिस्टम outdated labeled हो जाता है4. Close System क्लोज्ड सिस्टम एक ऐसा सिस्टम है, जो बाहर के पर्यावरण से कोई रिलेशन नहीं रखता है। 

वातावरण में होने वाले कोई भी परिवर्तन इसको प्रभावित नहीं करते हैंक्लोज्ड सिस्टम बहुत कम होते है5. Manmade Information System इनफार्मेशन सिस्टम का प्रयोग जानकारी को रिसीव करने, स्टोर करने और 

सेंड करने के लिए किया जाता है