Product and Process in Software Engineering:
Software, executable programming code का एक समूह होता है। इसी प्रकार जब किसी विशेष उद्देश्य की पूर्ति के लिए software तैयार किया जाता है तो उसे software product कहते हैं।
इन्हीं software product को तैयार करने के लिए अनेक branch होते हैं जिसमें से एक branch को software engineering branch कहते हैं जिनका कार्य software के लिए अच्छी तरह से परिभाषित वैज्ञानिक सिद्धांतो, विधियों और प्रक्रियाओं का उपयोग करना होता है।
Definition of Product and Process :
Product Devolopment cycle का अंतिम परिणाम होता है और Process एक sequence या steps का समूह है जिसका Use Product बनाने के लिए पालन किया जाना चाहिए। Software development का कार्य अनेक प्रक्रियाओ (processes) से होता है जिसे निम्न diagram से समझ सकते हैं।
SDLC in Software Engineering |
इस प्रकार सभी process के हो जाने के पश्चात् एक software बनकर तैयार होता है।
Difference between Product and Process :
Product | Process |
---|---|
Product का मुख्य लक्ष्य कार्य को सफलतापूर्वक पूरा करना है। | जबकि प्रक्रिया का उद्देश्य Projects की Quality को बेहतर बनाना है। |
Product Project का अंतिम प्रस्तुतीकरण होता है। | जबकि Process Sequence Steps का एक सेट है जिसका एक Project बनाने के लिए पालन किया जाना है। |
एक Product अंतिम परिणाम पर केंद्रित है। | जबकि Process विकसित किए जा रहे प्रत्येक Step को पूरा करने पर केंद्रित है। |
Products के मामले में, फर्म के दिशानिर्देशों का पालन किया जाता है। | इसके विपरीत, Process लगातार दिशानिर्देशों का पालन करती है। |
एक उत्पाद अल्पकालिक होता है। | जबकि प्रक्रिया लंबी अवधि की होती है। |
एक Process और एक Product के बीच मुख्य अंतर यह है कि Process एक सुविधाजनक उत्पाद प्राप्त करने के लिए परियोजना का मार्गदर्शन करने वाले चरणों का एक समूह है। दूसरी ओर Product एक ऐसी Projects का परिणाम है जो विभिन्न प्रकार के लोगों द्वारा निर्मित (Menufectured) किया जाता है।
Process Models in Software Engineering :
इस model में produce की पूरी life को एक क्रमागत phases में परिभाषित किया जाता है। इसे product life cycle भी कहा जा सकता है। यहाॅ product की पूरी life से तात्पर्य तब तक के समय से हैं जब तक कि उसे उपयोग के बाद उसे uninstall या disassembling न कर दिया जाये। इस models के निम्न तीन phases होते हैं:
- Concept phase
- Implementation phase (कार्य स्वयन)
- Maintenance phase
ये सभी main phase होते हैं इसलिए इनके sub-phases भी होते हैं जैसे: build phase, design phase, requirement engineering phase इत्यादि। इन sub-phases के अतिरिक्त process model में role, activities a work products भी परिभाषित होता है।
Read also - What is Software Process Framework | Software Engineering in Hindi
इस model के द्वारा एक fixed framework Maintenance की सुविधा प्रदान किया जाता है जो निम्न तीन सुविधा Product का विकास, project की योजना और planning और परियोजना को track करना और चलाने की सुविधा प्रदान करता है।
एक software Process Model एक Software Process की एक निर्दिष्ट परिभाषा है, जिसे एक विशेष दृष्टिकोण से प्रस्तुत किया जाता है। Model, उनके स्वभाव से, एक सरलीकरण हैं, इसलिए एक Software Process Model वास्तविक प्रक्रिया का एक सार है, जिसका वर्णन किया जा रहा है।
Process Model में ऐसी Activities शामिल हो सकती हैं, जो Software Process, Software Product और Software Engineering में शामिल लोगों की भूमिका का हिस्सा हैं। Produce किए जा सकने वाले Software Process Models के प्रकारों के कुछ उदाहरण निम्न हैं -
A Workflow Model :
यह उनके इनपुट, आउटपुट और निर्भरता के साथ प्रक्रिया में गतिविधियों की श्रृंखला को दर्शाता है। इस मॉडल की गतिविधियाँ मानवीय क्रियाओं को करती हैं।
A dataflow or activity model :
यह Activities के एक सेट के रूप में Process का प्रतिनिधित्व करता है, जिनमें से कुछ प्रत्येक डेटा परिवर्तन करता है। यह दिखाता है कि कैसे Process में Input, जैसे कि एक विनिर्देशन को एक Design जैसे output में परिवर्तित किया जाता है।
Workflow model में activities की तुलना में यहाँ activities निचले स्तर पर हो सकती हैं। वे लोगों द्वारा या कंप्यूटर द्वारा किए गए परिवर्तन कर सकते हैं।
A role/action model:
इसका मतलब है कि सॉफ्टवेयर प्रक्रिया में शामिल लोगों की भूमिका और वे गतिविधियाँ जिनके लिए वे जिम्मेदार हैं।
Software Crisis:
- Quality
- Cost
- Size
- Delayed Delivery
1. Formal transformation:
यह विधि एक औपचारिक mathematical system specification तैयार करने और एक कार्यक्रम में mathematical methods का उपयोग करके इस विनिर्देश को बदलने पर आधारित है। ये परिवर्तन 'शुद्धता संरक्षण(correctness preserving)' हैं। इसका मतलब है कि आप सुनिश्चित हो सकते हैं कि विकसित कार्यक्रम इसके specification को पूरा करते हैं।
2. Evolutionary development:
यह विधि specification, development और validation की activities को अंतःस्थापित करती है। एक प्रारंभिक प्रणाली एक बहुत ही सार specification से तेजी से विकसित होती है।
3. The Waterfall Approch :
यह उपरोक्त activities को लेता है और उन्हें अलग Process steps के रूप में उत्पन्न करता है जैसे कि equirements specification, oftware design, Implemetetion, Testing, और इसी तरह। प्रत्येक steps को परिभाषित करने के बाद, इसे "signed off" किया जाता है और विकास निम्नलिखित चरण में जाता है।
4. System assembly from reusable components:
यह विधि मानती है कि सिस्टम के कुछ हिस्से पहले से मौजूद हैं। system development process इन भागों को खरोंच से विकसित करने के बजाय एकीकृत करने का लक्ष्य रखती है।
0 Comments