Software Process क्या है और इसके प्रकार

Software Process क्या है? एक System को चलाने के लिए Hardware और Software दोनों की जरुरत होती है. ये Technology की दुनिया बिना Software के operate नहीं हो सकती है. जैसे एक शरीर को चलाने के लिए बुद्धि की जरुरत होती है, ठीक वैसे ही सभी Industries, financial systems, scientific labs, infrastructures और utilities, games, film, television, ऐसी सभी चीज़ों को ठीक रूप से operate करने के लिए हमें Software Systems की जरुरत होती है.

अब सवाल उठता है की इन Software को बनाने की प्रक्रिया क्या है, यानि की इन्हें कैसे बनाया जा सकता है. आज का topic भी हमारा वही है की ये Software Process क्या है? वहीँ सभी चीज़ों को बनाने के लिए एक Process की जरुरत होती है, ठीक वैसे ही Software को बनाने की भी एक process होती है जिसे की हम Software Process कहते हैं. आपको भले ही Softwares के विषय में थोड़ी बहुत जानकारी होगी लेकिन क्या आप जानते हैं की ये सॉफ्टवेर process क्या होता है हिंदी में. यदि नहीं तब आपको आज का यह article software प्रोसेस होता क्या है एकदम से पढना चाहिए क्यूँ आज हम Software के साथ साथ Software process, इनकी Models और Characteristics के विषय में भी जानेंगे. तो फिर बिना देरी किये चलिए शुरू करते हैं.

Software Process क्या है

Software Process Kya Hai Hindi

एक Software process (जिन्हें की software methodology भी कहा जाता है) यह एक set of related activities होता है जो की आखिर में एक Software के production में सहायक होता है. यह activities में या तो software का development scratch से होता है या एक मेह्जुदा system को modify किया जाता है.

Software क्या है?

एक Software एक प्रकार का computer programs होता है जिसमें associated documents के साथ साथ configuration data भी होता है जो की programs को सही तरीके से operate होने में मदद करता है.

एक program भी एक set of instructions होता है (जो की human-readable code में लिखा हुआ होता है) और ये केवल एक ही specific task perform करता है.

किसी भी Software Process में चार Activities मुख्य रूप से होती है

चलिए Software Process के चार activities के विषय में जानते हैं

Software Specification: ये define करती है Software की main functionalities को और उनके चारों तरफ के constrains को. इसमें customer और engineers feature को इकठ्ठा और analyze करते हैं, workflow, operational constraints या limitations किसी final software product की. यह part बहुत ही common होता है सभी software process में चाहे वो बड़ा हो या छोटा ही या कितना भी complex भी हो.

Software Design और Implementation: Software को design और program किया जाता है.
सभी specifications करने के बाद, Software Products का goal अभी fix हो जाता है, engineers को अब उस Software को develop करना होता है जिसमें उन्हें coding के साथ साथ जरुरत की सभी artworks, audio और visual elements भी implement करना होता है उस software product में.

Software Verification और Validation: Software उसके specification के अनुसार काम करना चाहिए और वो customers के जरूरतों को पूर्ण भी करनी चाहिए.

Software product को पहले check करना होता है मेह्जुदा bugs के लिए, incomplete ये unavailable features इत्यादि के लिए. वहीँ लेकिन software validation को किया जा सकता है software development करने के बाद छोटे software में, और साथ में जरुरत पड़ने पर multiple times (milestones) भी किया जा सकता है software development phase के दौरान.

Software Evolution (या software maintenance): इसमें software को modify किया जाता है customer demand और market requirements changes नज़र में रखकर.
एक software product पूरी तरह से develop होने के लिए कई साल तक लग सकते हैं. वहीँ इसी बीच specifications, feature requirements इत्यादि को बदला जा सकता है जरुरत के अनुसार. वें कुछ features को add, remove या change किया जा सकता है. यही वो प्रक्रिया है जहाँ की software की evolution होतीं है और उन्हें और भी बेहतर बनाया जाता है.

Software Process Models क्या है

एक software process model abstract representation होता है software process का. इसमें बहुत से general process models को introduce किया जाता है और इन्हें एक architectural viewpoint से present किया जाता है. इन models का इस्तमाल अलग अलग approaches को explain करने के लिए किया जाता है. इन्हें process frameworks भी consider किया जाता है जिन्हें extend और adapt किया जाता है ज्यादा specific software engineering processes को create करने के लिए.

Software Process Models के प्रकार

चलिए Software Process के अलग अलग process models के विषय में जानते हैं

The Waterfall Model

Software Process की इस model में software process करते हैं fundamental process activities को specification, development, validation और evolution के और इन्हें represent किया जाता है sequential process phases के तोर पर जैसे की requirements specification, software design, implementation, testing इत्यादि.

Evolutionary Development

इस approach में ये interleave करती है बाकि activities को specification, development और validation की. एक initial system बहुत ही rapidly develop करती है abstract specifications से. उसके बाद initial system को और ज्यादा refine किया जाता है customer inputs से ऐसे system produce करने के लिए जो की satisfy करे customer के जरूरतों को.

Component-Based Software Engineering

वो process models जो की इस approach को follow करता है वो based होता है significant number की reusable components के existence के ऊपर. इसमें system development process ज्यादा focus करता है इन components को integrate करने में एक system में न की उन्हें develop करने में.

ऊपर बताई गयी तीन generic process models को widely इस्तमाल किया जाता है current software engineering practice में. ये mutually exclusive नहीं होते हैं और उन्हें ज्यादातर एक साथ इस्तमाल किया जाता है, especially बड़े systems development के लिए. Sub-systems within एक larger system में, उन्हें develop किया जाता है different approaches के इस्तमाल से. इसलिए भले ही separately इन्हें discuss करने के लिए convenient होता है लेकिन वहीँ practice में, इन्हें अक्सर combine किया जाता है.

Software Process की Characteristics क्या है

Software processes की characteristics

CharacteristicDescription
Understandabilityउस extent तक जहाँ तक की process को explicitly define किया जाये और उस आसानी से जिससे की process definition को समझा जा सके.
Visibilityइसमें process activities को पूरी तरीके से culminate किया जाता है clear results में जिससे की process की progress externally visible ही सके.
Supportabilityवो extent तक जहाँ की CASE tools को process activities support करे.
Acceptabilityउस extent तक जहाँ की process acceptable और usable होता है Engineers के द्वारा और responsible भी होता है software product को produce करने के लिए.
Reliabilityउस manner को कहा जाता है जिसमें की process को कुछ इसप्रकार से designed किया जाता है जिसमें की process में errors को avoid किया जाता है या trapped किया जाता है जिससे की वो final products में appear न हो.
RobustnessProcess को कुछ इस प्रकार से तैयार किया जाता है जिससे की process continue हो सके चाहे जितनी भी unexpected problems क्यूँ न हो जाये.
MaintainabilityProcess को कुछ इसप्रकार से design किया गया है जिससे वो खुद को evolve कर सके और बदलती हुई organizational requirements को reflect कर सके साथ में process improvements को identify भी कर सकें.
Rapidityये उस speed को कहा जाता है जिससे की complete software को deliver किया जा सके given specifications के साथ.

Software Process के Components क्या है

एक software process का मुख्य objective होता है एक product को develop करना, जो की user के सभी requirements को accomplish करें. एक Software process की major components में होते हैं एक process management process और एक product engineering process.

Process Management Process (PMP) का मुख्य aim होता है software processes को improve करना, जिससे की एक cost effective और high-quality product को develop किया जा सके. इस चीज़ के लिए Completed Projects की existing processes को examine किया जाता है.

Process Management Process में निम्नलिखित कार्य किये जाते हैं जैसे की
Existing process को comprehend करना, उनकी properties को analyze करना, ये determine करना की उन्हें कैसे improve किया जा सके, और बाद में improvement को effect करना. ये सभी process को PMP में किया जाता है. एक group जिसे की Software Engineering Process Group (SEPG) भी कहा जाता है वो process management के सभी activities को करता है.

वहीँ ऊपर बताये गए analysis के अनुसार, product engineering processes को improve किया जाता है, जिससे की software process को improve किया जाता है.

Product engineering process का यह aim है की कैसे product को develop किया जाये user requirements के अनुसार.

इस product engineering process में मुख्य रूप से तीन major components होते हैं, जिन्हें की नीचे list किया गया है.

Development Process

ये ऐसा process है जिसे की software के development के दौरान इस्तमाल किया जाता है. ये specify करती हैं development और quality assurance activities जिन्हें की perform किया जाता है. Programmers, designers, testing personnel, इत्यादि इन process को perform करते हैं.

Project Management Process

ये concerned होता है उस set of activities के साथ जिनका इस्तमाल होता है एक set of goals को accomplish करने के लिए. ये प्रदान करता है means जिससे की allocated resources को plan, organize और control किया जा सके और जिससे project cost, time और performance objectives को पूर्ण किया जा सके. इसे करने के लिए बहुत से processes, techniques और tools का इस्तमाल किया जाता है projetcs की objectives को achieve करने के लिए. Project Management team perform करती है सभी activities को इस process के लिए.

Configuration Control Process

ये manage करता है उन changes को जो की occur होते हैं requirements में modify करने के फल स्वरुप. वहीँ इसके साथ ये products की integrity को maintain भी करती हैं जब requirements में बदलाव भी किये जाये तब. यहाँ Configuration Control Processes की activities को perform किया जाता है एक group के द्वारा जिन्हें Configuration Control Board (CCB) भी कहा जाता है.

Note Project Management Process और Configuration Control Process दोनों depend करती हैं Developement Process के ऊपर. जहाँ की Management process का लक्ष्य होता है development process को control करना, जिसमें वो developement process की activities के ऊपर निर्भर करता है.

Process Framework क्या है

Process framework ये determine करता है की कौन से processes essential होते हैं एक complex software project को complete करने के लिए. ये framework कुछ activities को identify करता है, जिन्हें की framework activities भी कहते हैं, ये सभी software projects पर applicable होता है चाहे वो किसी भी type और complexity की क्यूँ न हो.

Process Framework की Activities क्या है

देखा जाये तो process framework की बहुत सी Activities होते हैं, लेकिन हम यहाँ पर कुछ activities के विषय में ही जानेंगे.

1. Communication:  इसमें users के साथ ठीक तरीके से communication किया जाता है जिससे उन्हें requirements को सही रूप में समझा जा सके.

2. Planning:  इसमें एक plan को establish किया जाता है उस project को accomplish करने के लिए. जिसमें project की schedule को describe किया जाता है, उसमें इस्तमाल हुए technical tasks, expected risks, और जरुरत के resources इत्यादि.

3. Modeling:  इसमें Models के creation पर भी ध्यान दिया जाता है, जिससे developer और user को allow किया जाता है ये समझने के लिए की software requirements क्या है और वो सभी designs जिससे की उन requirements को पूर्ण किया जा सके.

4. Construction:  इसमें generation of code को testing के साथ combine किया जाता है जिससे वो code में स्तिथ सभी errors को uncover कर सके.

5. Deployment:  ये imply करता है की final product (software) को ठीक तरीके से user को delivered किया जाये. फिर user उस delivered product को evaluate करता है और उस evaluation के आधार में feedback प्रदान करता है.

Conclusion

मुझे आशा है की मैंने आप लोगों को Software Process क्या है? के बारे में पूरी जानकारी दी और में आशा करता हूँ आप लोगों को Software Process क्या होता है के बारे में समझ आ गया होगा. यदि आपके मन में इस article को लेकर कोई भी doubts हैं या आप चाहते हैं की इसमें कुछ सुधार होनी चाहिए तब इसके लिए आप नीच comments लिख सकते हैं. आपके इन्ही विचारों से हमें कुछ सीखने और कुछ सुधारने का मोका मिलेगा. यदि आपको मेरी यह लेख Software Process in Hindi अच्छा लगा हो या इससे आपको कुछ सिखने को मिला हो तब अपनी प्रसन्नता और उत्सुकता को दर्शाने के लिए कृपया इस पोस्ट को Social Networks जैसे कि Facebook, Google+ और Twitter इत्यादि पर share कीजिये.

7 COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.