What is software evolution and its laws? | Software Engineering

What is Software evolution?

विभिन्न कारणो से software को update करना होता है या उसमें परिर्वतन करना होता है। Software के परिवर्तन के कुछ प्रमुख कारण निम्नलिखित है:

  1. जब व्यापार की प्रवृत्ती ही बदल जाता है तो software को उसके अनुसार update करना होता है।
  2. जब कोई error है जिसे हटाने के लिए software को बदलना आवश्यक है।
  3. System में नये computer और equipment को लाना चाहते हैं।
  4. जो software वर्तमान में उपयोग किया जा रहा है उससे सभी प्रकार की जरूरतो को पुरा करना संभव नहीं हो रहा है।
  5. जब system के कार्यक्षमता और विश्वसनीयता को बढ़ाना या सुधारना चाहते हैं।
  6. किसी संगठन के लिए यह सबसे बड़ी समस्या नये software system में परिवर्तन के अनुसार मौजुदा software system में बदलाव लाना और उसका प्रबंध करना होता है।

Why is software evolution important?

Software evolution अर्थात् software को update करना किसी company या संगठन के लिए क्यों आवश्यक होता है इसे समझने के लिए निम्न बिंदुओ पर ध्यान दीजिए:

  • व्यापार के सम्पत्तियों के मूल्य को बनाये रखने के लिए software को बदलना और update करना आवश्यक होता है।
  • बड़ी कंपनियों में बजट नये software में लागने के लिए न होकर पुराने software को update करने में ज्यादा उपयोग होता है।
  • बड़ी कंपनियों के द्वारा अपने software system में बहुत बड़ा निवेश होता है जो एक महत्वपूर्ण व्यवसायिक सम्पत्तियां होती है।
Read Also 

What is change management in software implementation?

Software implementation in software engineering
software implementation

इसमें सबसे पहले change के लिए प्रपोजल आता है इसके पश्चात् आवश्यकताओं को निरिक्षण किया जाता है यदि आवश्यकता नहीं है तो वापस proposal भेज दिया जाता है और आवश्यकता होती है तो उस आवश्यकता को वर्तमान आवश्यकता से update किया जाता है और अंत में software updating की प्रक्रिया आरंभ हो जाती है। यह प्रक्रिया समय-समय पर व्यापार में चलते रहता है इसलिए इसे software evolution life cycle कहते है।

Software Evolution life cycle
software evolution life cycle

Software development एवं evolution spiral model में निम्न प्रकार प्रस्तुत कर सकते हैं:

software evolution in spiral model
evolution in spiral model

Lehman's laws of software evolution

Sotware के विकास को ध्यान में रखते हुए Lehman's के कुछ नियम बनाये इसमें यह बताने का प्रयास किया गया है कि किस प्रकार नये विकास को बढ़ने के साथ कार्य की गति धीमी होती जाती है। Lehmans के Laws निम्न है:

Continuing change:

कोई program जिसका उपयोग वास्तविक दुनिया के environment में किया जा रहा है उसमें परिवर्तन लाना आवश्यक होत है। परिर्वतन नहीं करने पर environment में उसका उपयोग समाप्त होते जाता है।

Increasing Complexity:

जैसे जैसे program में परिर्वतन होते जाता है उसका structure और जटिल हो जाता है। इस स्थिति में extra resource का उपयोग करके complexity को कम किया जा सकता है। 

Large program evolution:

Program evolution अपने आप होने वाली प्रक्रिया होती है।

Organisational stability:

Program अपने पुरे जीवनकाल में स्थिर रहता है जबकि उसका जिस system में उपयोग किया जा रहा है वह संसाधनो के अनुसार बदलता रहता है।

Convervation of familiarty:

System अपने पुरे जीवनकाल के प्रत्येक प्रदर्शन में वृद्धिशील परिवर्तन लगभग स्थिर रहता है।

Continuing growth:

System द्वारा की functionality को उपयोगकर्ता की संतुष्टि बनाये रखने के लिए निरंतर वृद्धि करते रहता पड़ता है।

Declining quailty:

System को जब तक कि environmental change के अनुकुन नहीं बना लेते तब तक उसकी quality कम होती दिखाई देगी।

Feedback system:

Multi-loop, multi-agent process at feedback system में शामिल करना होगा और इस feedback को उत्पाद के सुधार हेतु लागु करना होता है।

सामान्यतः Lehman's law का उपयोग बड़े स्तर पर होता है इसलिए बड़े संगठन के अनुरूप system को बनाने में किया जाता है। Lehman's law का निम्न तत्वो पर असर नहीं दिखता - 

  • मध्यम आकार के system 
  • छोटे संगठन
  • Software product जो shrink-wrapped होते हैं।

Software Evolution and its laws download PDF notes

PDF Notes Software Evolution and its Law's Download PDF

Post a Comment

0 Comments