जलद अनुप्रयोग विकास rad. जलद सॉफ्टवेअर विकास. मेमरी वर्ग आणि कार्यक्रम विकास

चेरचर 02.04.2019
फोनवर डाउनलोड करा

2002 च्या शेवटी, मॉस्को प्रकाशन गृह "लोरी" ने ॲलिस्टर कॉकबर्न यांचे एक पुस्तक प्रकाशित केले " जलद विकास सॉफ्टवेअर". पुस्तकाचे रशियन शीर्षक थोडे आश्चर्यचकित करणारे आहे, कारण मूळ भाषेत त्याला "चपळ सॉफ्टवेअर डेव्हलपमेंट" असे म्हणतात आणि अधिक अचूक भाषांतर "चपळ सॉफ्टवेअर विकास" सारखे वाटेल. तथापि, आम्हाला अनुवादकाची चूक आढळणार नाही, कारण तत्सम पुस्तके अद्याप रशियन भाषेत प्रकाशित झालेली नाहीत.

सॉफ्टवेअर डेव्हलपमेंट उद्योग खूपच तरुण आणि सक्रियपणे विकसित होत आहे. कार्यक्रम विकासाची मूलभूत तत्त्वे अद्याप तयार होत आहेत, नवीन पद्धती, पद्धती, प्रोग्रामिंग भाषा, नवीन तंत्रज्ञान आणि साधने सतत प्रकट होत आहेत. सर्व काही अतिशय गतिमानपणे बदलते, म्हणून एकच योग्य सॉफ्टवेअर डेव्हलपमेंट पद्धत तयार करणे जवळजवळ अशक्य आहे. तथापि, "सिल्व्हर बुलेट" शोधण्याचे प्रयत्न अजूनही चालू आहेत जे विकासकांच्या सर्व समस्या सोडवू शकतात. कदाचित हे इतर क्षेत्रांमध्ये समान प्रक्रियांच्या उपस्थितीने सूचित केले आहे.

उदाहरणार्थ, इमारतीचे बांधकाम घ्या. आजकाल, घर बांधणे हे पूर्णपणे सोपे काम आहे. प्रत्येकाला माहित आहे की परिणाम साध्य करण्यासाठी कोणती कृती करणे आवश्यक आहे योग्य घर. प्रक्रिया अंदाजे आहे. भूमिका स्पष्टपणे परिभाषित केल्या आहेत. तंत्रज्ञान सर्वज्ञात आहे. सॉफ्टवेअर डेव्हलपमेंटमध्ये पूर्णपणे अनन्य समस्या निर्माण होतात: वापरकर्ते सहसा उत्पादनाचा प्रयत्न करेपर्यंत त्यांना खरोखर काय आवश्यक आहे हे सांगू शकत नाहीत; आवश्यकता सतत बदलत असतात, त्यामुळे संपूर्ण प्रकल्पासाठी ठोस योजना तयार करण्यात काही अर्थ नाही; पात्र कर्मचाऱ्यांची कमतरता आहे; वापरलेले तंत्रज्ञान बहुधा कच्चे असतात आणि साधने अपूर्ण असतात. अशा परिस्थितीत, प्रकल्प व्यवस्थापनासाठी पारंपारिक दृष्टीकोन बऱ्याचदा अपयशी ठरतात.

वेळोवेळी असे लोक होते ज्यांना सॉफ्टवेअर तयार करण्याच्या समस्या समजू लागल्या, परंतु खरी प्रगती आता होत आहे, अत्यंत प्रोग्रामिंग (एक्स्ट्रीम प्रोग्रामिंग, www.extremeprogramming.com) च्या आगमनानंतर आणि चपळ सॉफ्टवेअर डेव्हलपमेंट अलायन्सच्या निर्मितीनंतर. (Agile Alliance, www.agilealliance.org). चपळ पद्धती स्टिरियोटाइप मोडतात आणि सॉफ्टवेअर विकास प्रक्रिया पूर्णपणे बदलतात. ते प्रक्रिया आयोजित करण्याची तत्त्वे बदलतात.

लवचिक पद्धती पारंपारिक पद्धतींपेक्षा वेगळ्या कशा आहेत? अनेक मुख्य फरक आहेत:

  • कार्यरत सॉफ्टवेअरचे वारंवार वितरण (दोन आठवडे ते दोन महिन्यांच्या अंतराने).
  • गरजांमधील बदलांसाठी अनुकूलता, जे विशेषतः पारंपारिक विकास पद्धतींसह करणे कठीण आहे.
  • संपूर्ण विकास चक्रात ग्राहक प्रतिनिधींशी जवळचा संवाद.
  • संघातील चांगल्या संवादाचे महत्त्व समजून घेणे, तर पारंपारिक पद्धती क्वचितच संप्रेषणाला गंभीर महत्त्व देतात.
  • कार्यसंघ सदस्यांची वैयक्तिक वैशिष्ट्ये समजून घेणे आणि वापरणे, पारंपारिक पद्धती व्यक्तींना अजिबात विचारात घेत नाहीत.
  • नियमित मूल्यांकनांवर आधारित संघाची कामगिरी सतत सुधारत रहा.
  • पारंपारिक पद्धतींमध्ये क्वचितच आढळणारी साधेपणाची वचनबद्धता.

बऱ्याच चपळ पद्धती तुम्हाला वैयक्तिक विकास कार्यसंघाच्या सामर्थ्याचा लाभ घेण्यास अनुमती देतात कारण त्या संघासाठी तयार केल्या जाऊ शकतात. पारंपारिक पद्धती संघाला स्वतःशी जुळवून घेण्यास भाग पाडतात.

ॲलिस्टर कोबर्न हा एक उत्तम विकासक आणि उत्तम लेखक आहे. आपले विचार स्पष्टपणे आणि सातत्याने कसे व्यक्त करायचे आणि लोकांना मोहित कसे करायचे हे त्याला माहित आहे. तर, पुस्तक कशाबद्दल आहे? ती प्रत्येक व्यक्ती कशी अद्वितीय आहे आणि एखाद्या प्रकल्पाच्या फायद्यासाठी व्यक्तिमत्व कसे वापरावे याबद्दल ती बोलते. ती सॉफ्टवेअर निर्मिती हा शोध आणि संवादाचा सहकारी खेळ आहे. संघातील संवाद अत्यंत महत्त्वाचा असतो आणि अनेकदा एखाद्या प्रकल्पाचे यश किंवा अपयश ठरवते.

वेगवेगळ्या पद्धती काय आहेत, ते सॉफ्टवेअर डेव्हलपमेंट प्रक्रियेवर कसा प्रभाव पाडतात आणि त्यांची अजिबात गरज का आहे? पुस्तकात अत्यंत मनोरंजक ऍप्लिकेशन्सचा समावेश आहे: सिद्धांत बिल्डिंग म्हणून प्रोग्रामिंग, सॉफ्टवेअर डेव्हलपमेंटसाठी विटगेनस्टाईनच्या भाषा गेमचा वापर, मुसाशीच्या पद्धतींचा वापर (17 व्या शतकात राहणारा एक समुराई आणि "द बुक ऑफ फाइव्ह रिंग्स" हे पुस्तक लिहिले) सॉफ्टवेअर डेव्हलपमेंटसाठी.

याव्यतिरिक्त, पुस्तकात अनेक वास्तविक जीवनातील उदाहरणे आणि संवाद आहेत जे सॉफ्टवेअर डेव्हलपमेंट समस्यांचे सार चांगल्या प्रकारे समजून घेण्यास मदत करतात. पद्धतींचे धोके आणि फायदे याबद्दल अनेक मते आहेत. "रॅपिड सॉफ्टवेअर डेव्हलपमेंट" हे पुस्तक तुम्हाला अनेक प्रश्नांची उत्तरे शोधण्यास मदत करेल.

लेखकाची असाधारण विवेकबुद्धी खरोखरच मोहित करते. तो कधीही असा दावा करत नाही की त्याचे मत केवळ योग्य आहे; जर तुम्हाला पूर्वी सॉफ्टवेअर डेव्हलपमेंटच्या पद्धतींमध्ये विशेष रस नसेल तर पुस्तक वाचल्यानंतर तुम्हाला नक्कीच रस निर्माण होईल. तुम्हाला त्यात सक्रियपणे स्वारस्य असल्यास, परंतु ते खरोखर लागू केले नाही, तर तुम्ही ते वापरण्यास प्रारंभ कराल.

प्रोजेक्ट मॅनेजर (प्रोजेक्ट मॅनेजर) आणि टीम लीडर (टीम लीडर) साठी वाचायलाच हवे या श्रेणीतील पुस्तक. नेता म्हणून तुमची परिणामकारकता लक्षणीय वाढेल.

जर आपण प्रकाशनाच्या गुणवत्तेबद्दल बोललो तर, चपळ शब्दाचा अपवाद वगळता भाषांतर बरेच चांगले आहे. पुस्तकाचा एकमात्र नकारात्मक म्हणजे खराब मुद्रण, जे संगणक साहित्यासाठी असामान्य नाही. आश्चर्याची गोष्ट म्हणजे अशा दर्जाच्या पुस्तकाची किंमतही कमी नाही.

ॲलिस्टर कोबर्नचे "रॅपिड सॉफ्टवेअर डेव्हलपमेंट" हे पुस्तक www.rodina.by (www.rodina.by/book/info/go/6047.html) ऑनलाइन स्टोअरमध्ये खरेदी केले जाऊ शकते.

मिखाईल दुबाकोव्ह

स्पायरल लाइफ सायकल मॉडेलच्या चौकटीत सॉफ्टवेअर डेव्हलपमेंटसाठी संभाव्य दृष्टिकोनांपैकी एक म्हणजे अलीकडे RAD (रॅपिड ऍप्लिकेशन डेव्हलपमेंट) पद्धतीचा व्यापक वापर. हा शब्द सहसा 3 घटक असलेल्या सॉफ्टवेअर विकास प्रक्रियेचा संदर्भ देतो:

    प्रोग्रामरची एक छोटी टीम (2 ते 10 लोकांपर्यंत);

    लहान परंतु काळजीपूर्वक काम केलेले उत्पादन वेळापत्रक (2 ते 6 महिन्यांपर्यंत);

    पुनरावृत्ती होणारे चक्र ज्यामध्ये विकासक, जसे अनुप्रयोग आकार घेऊ लागतात, विनंती करतात आणि अंमलबजावणी करतात उत्पादन आवश्यकताग्राहकांशी संवाद साधून प्राप्त झाले.

विकास कार्यसंघ हा CASE टूल्स वापरून विश्लेषण, डिझाइन, कोड जनरेशन आणि सॉफ्टवेअर चाचणीमध्ये अनुभवी व्यावसायिकांचा समूह असावा. कार्यसंघ सदस्य अंतिम-वापरकर्ता सूचनांचे कार्यरत प्रोटोटाइपमध्ये भाषांतर करण्यास सक्षम असणे आवश्यक आहे.

RAD पद्धतीनुसार सॉफ्टवेअर लाइफ सायकलमध्ये चार टप्पे असतात:

    आवश्यकता विश्लेषण आणि नियोजन टप्पा;

    डिझाइन टप्पा;

    बांधकाम टप्पा;

    अंमलबजावणीचा टप्पा.

विश्लेषणाच्या आणि आवश्यकतांच्या नियोजनाच्या टप्प्यावर, सिस्टमचे वापरकर्ते ती कार्ये निश्चित करतात जी तिने पार पाडली पाहिजेत, प्रथम विस्ताराची आवश्यकता असलेल्या सर्वोच्च प्राधान्यांची ओळख पटवतात आणि माहितीच्या गरजांचे वर्णन करतात. आवश्यकतांची व्याख्या प्रामुख्याने तज्ञ विकासकांच्या मार्गदर्शनाखाली वापरकर्त्यांद्वारे केली जाते. प्रकल्पाची व्याप्ती मर्यादित आहे, आणि त्यानंतरच्या प्रत्येक टप्प्यासाठी कालमर्यादा निश्चित केली आहे. याव्यतिरिक्त, अंमलबजावणीची शक्यता निश्चित केली जाते या प्रकल्पाचेस्थापित निधी मर्यादेत, दिलेल्या हार्डवेअरवर, इ. या टप्प्याचा परिणाम भविष्यातील IS च्या फंक्शन्सची यादी आणि प्राधान्य, IS च्या प्राथमिक कार्यात्मक आणि माहिती मॉडेल्सचा असावा.

डिझाइन टप्प्यात, काही वापरकर्ते तज्ञ विकासकांच्या मार्गदर्शनाखाली सिस्टमच्या तांत्रिक डिझाइनमध्ये भाग घेतात. CASE साधने वापरली जातात जलद पावतीकार्यरत अनुप्रयोग प्रोटोटाइप. वापरकर्ते, त्यांच्याशी थेट संवाद साधून, मागील टप्प्यात ओळखल्या गेलेल्या सिस्टम आवश्यकता स्पष्ट करतात आणि पूरक करतात. सिस्टम प्रक्रियेबद्दल अधिक तपशीलवार चर्चा केली आहे. कार्यात्मक मॉडेलचे विश्लेषण केले जाते आणि आवश्यक असल्यास, समायोजित केले जाते. प्रत्येक प्रक्रियेचा तपशीलवार विचार केला जातो. आवश्यक असल्यास, प्रत्येक प्राथमिक प्रक्रियेसाठी एक आंशिक प्रोटोटाइप तयार केला जातो: एक स्क्रीन, एक संवाद, एक अहवाल जो अस्पष्टता किंवा अस्पष्टता दूर करतो. डेटावर प्रवेश प्रतिबंधित करण्यासाठी आवश्यकता निर्धारित केल्या जातात. त्याच टप्प्यावर, आवश्यक कागदपत्रांचा संच निश्चित केला जातो.

नंतर तपशीलवार व्याख्याप्रक्रियेची रचना, विकसित होत असलेल्या प्रणालीच्या कार्यात्मक घटकांच्या संख्येचे मूल्यांकन केले जाते आणि IS ला उपप्रणालींमध्ये विभाजित करण्याचा निर्णय घेतला जातो जो RAD प्रकल्पांसाठी स्वीकार्य कालावधीत विकासकांच्या एका संघाद्वारे लागू केला जाऊ शकतो - सुमारे 60 - 90 दिवस. CASE साधनांचा वापर करून, प्रकल्प वेगवेगळ्या संघांमध्ये वितरीत केला जातो (कार्यात्मक मॉडेल विभाजित केले जाते). या टप्प्याचे परिणाम असे असावेत:

    सामान्य माहिती मॉडेलप्रणाली;

    संपूर्ण प्रणालीचे कार्यात्मक मॉडेल आणि वैयक्तिक विकास कार्यसंघाद्वारे लागू केलेली उपप्रणाली;

    CASE टूल वापरून स्वायत्तपणे विकसित उपप्रणाली दरम्यान अचूकपणे परिभाषित इंटरफेस;

    स्क्रीन, रिपोर्ट्स, डायलॉग्सचे प्रोटोटाइप तयार केले.

सर्व मॉडेल्स आणि प्रोटोटाइप त्या CASE टूल्सचा वापर करून प्राप्त करणे आवश्यक आहे जे सिस्टम तयार करताना भविष्यात वापरले जातील. ही आवश्यकताहे या वस्तुस्थितीमुळे आहे की पारंपारिक दृष्टीकोनातून, एखाद्या प्रकल्पाची माहिती स्टेज ते स्टेजवर हस्तांतरित करताना, अक्षरशः अनियंत्रित डेटा विरूपण होऊ शकते. प्रकल्प माहिती संचयित करण्यासाठी एकत्रित वातावरण वापरणे आपल्याला हा धोका टाळण्यास अनुमती देते.

पारंपारिक पध्दतीच्या विपरीत, ज्याने विशिष्ट प्रोटोटाइपिंग साधने वापरली ज्याने वास्तविक अनुप्रयोग तयार करण्यासाठी डिझाइन केलेले नाही आणि डिझाइनमधील संदिग्धता दूर करण्याच्या उद्देशाने प्रोटोटाइप टाकून दिल्यावर, RAD दृष्टिकोनामध्ये प्रत्येक नमुना एका भागामध्ये विकसित केला जातो. भविष्यातील प्रणाली. अशा प्रकारे, अधिक संपूर्ण आणि उपयुक्त माहिती पुढील टप्प्यात हस्तांतरित केली जाते.

बांधकामाचा टप्पा म्हणजे जलद अनुप्रयोग विकास स्वतःच होतो. या टप्प्यावर, विकासक पुनरावृत्ती बांधकाम करतात वास्तविक प्रणालीमागील टप्प्यात प्राप्त केलेल्या मॉडेल्सवर आधारित, तसेच कार्यक्षम आवश्यकता नाही. प्रोग्राम कोड अंशतः स्वयंचलित जनरेटर वापरून व्युत्पन्न केला जातो जे थेट CASE टूल रिपॉजिटरीमधून माहिती प्राप्त करतात. या टप्प्यावर, अंतिम वापरकर्ते प्राप्त झालेल्या परिणामांचे मूल्यमापन करतात आणि विकास प्रक्रियेदरम्यान, सिस्टम यापुढे पूर्वी परिभाषित आवश्यकता पूर्ण करत नसल्यास समायोजन करतात. विकास प्रक्रियेदरम्यान सिस्टम चाचणी थेट केली जाते.

प्रत्येक वैयक्तिक विकास कार्यसंघाचे कार्य पूर्ण केल्यानंतर, प्रणालीच्या या भागाचे उर्वरित भागांसह हळूहळू एकत्रीकरण केले जाते, संपूर्ण प्रोग्राम कोड, चाचणी प्रगतीपथावर आहे सहयोगअनुप्रयोगाचा हा भाग उर्वरित भागांसह, आणि नंतर संपूर्ण प्रणालीची चाचणी करत आहे. सिस्टमची भौतिक रचना पूर्ण झाली आहे:

    डेटा वितरणाची आवश्यकता निश्चित केली जाते;

    डेटा वापराचे विश्लेषण केले जाते;

    डेटाबेसची भौतिक रचना केली जाते;

    हार्डवेअर संसाधनांसाठी आवश्यकता निर्धारित केल्या जातात;

    उत्पादकता वाढवण्याचे मार्ग निश्चित केले जातात;

    प्रकल्प दस्तऐवजीकरणाचा विकास पूर्ण होत आहे.

टप्प्याचा परिणाम एक तयार केलेली प्रणाली आहे जी सर्व मान्य केलेल्या आवश्यकता पूर्ण करते.

अंमलबजावणीच्या टप्प्यात, वापरकर्ता प्रशिक्षण, संस्थात्मक बदल केले जातात आणि नवीन प्रणालीच्या अंमलबजावणीच्या समांतर, विद्यमान प्रणालीसह कार्य केले जाते (नवीन पूर्णपणे लागू होईपर्यंत). बांधकामाचा टप्पा खूपच लहान असल्याने, योजना आणि अंमलबजावणीची तयारी लवकर सुरू होणे आवश्यक आहे, सहसा सिस्टम डिझाइन टप्प्यात. दिलेली IS विकास योजना निरपेक्ष नाही. विविध पर्याय शक्य आहेत, अवलंबून, उदाहरणार्थ, चालू प्रारंभिक परिस्थिती, ज्यामध्ये विकास चालू आहे: एक पूर्णपणे नवीन प्रणाली विकसित केली जात आहे; एंटरप्राइझचे सर्वेक्षण आधीच केले गेले आहे आणि त्याच्या क्रियाकलापांचे मॉडेल अस्तित्वात आहे; एंटरप्राइझमध्ये आधीपासून काही IP आहेत ज्याचा वापर प्रारंभिक प्रोटोटाइप म्हणून केला जाऊ शकतो किंवा विकसित होत असलेल्या एकाशी समाकलित करणे आवश्यक आहे.

तथापि, हे लक्षात घ्यावे की आरएडी पद्धत, इतर कोणत्याही प्रमाणे, सार्वभौमिक असल्याचा दावा करू शकत नाही, हे प्रामुख्याने विशिष्ट ग्राहकांसाठी विकसित केलेल्या तुलनेने लहान प्रकल्पांसाठी चांगले आहे. जर एक मानक प्रणाली विकसित केली जात असेल, जी तयार उत्पादन नाही, परंतु मानक घटकांचे एक कॉम्प्लेक्स आहे, मध्यवर्ती देखभाल, सॉफ्टवेअर आणि हार्डवेअर प्लॅटफॉर्मशी जुळवून घेणारी, डीबीएमएस, दूरसंचार, अंमलबजावणी ऑब्जेक्ट्सची संस्थात्मक आणि आर्थिक वैशिष्ट्ये आणि विद्यमान विकासासह एकत्रित, खालील गोष्टी समोर येतात: व्यवस्थापन आणि गुणवत्ता यासारखे प्रकल्प निर्देशक, जे विकासाच्या साधेपणा आणि गतीशी विरोधाभास असू शकतात. अशा प्रकल्पांसाठी उच्च पातळीचे नियोजन आणि कठोर डिझाइन शिस्त, पूर्व-विकसित प्रोटोकॉल आणि इंटरफेसचे कठोर पालन आवश्यक आहे, ज्यामुळे विकासाचा वेग कमी होतो.

जटिल गणना कार्यक्रम, ऑपरेटिंग सिस्टम किंवा स्पेसक्राफ्ट कंट्रोल प्रोग्राम तयार करण्यासाठी RAD पद्धत लागू नाही, म्हणजे. प्रोग्राम ज्यांना मोठ्या प्रमाणात (शेकडो हजार ओळी) अद्वितीय कोड लिहिणे आवश्यक आहे.

प्रणालीचे तर्क स्पष्टपणे परिभाषित करणारे इंटरफेस भाग नसलेले अनुप्रयोग (उदाहरणार्थ, रीअल-टाइम ऍप्लिकेशन्स) आणि मानवी सुरक्षा ज्यावर अवलंबून असते (उदाहरणार्थ, विमान किंवा अणुऊर्जा प्रकल्प नियंत्रित करणे) योग्य नाहीत. RAD पद्धतीचा वापर करून विकासासाठी, कारण ते पुनरावृत्तीचा दृष्टीकोन आहे असे गृहीत धरते की पहिल्या काही आवृत्त्या कदाचित पूर्णपणे कार्यरत नसतील, ज्यामध्ये या प्रकरणातवगळलेले

अनुप्रयोगांचा आकार तथाकथित कार्यात्मक घटकांवर आधारित आहे (स्क्रीन, संदेश, अहवाल, फाइल्स इ.) हे मेट्रिक प्रोग्रामिंग भाषेवर अवलंबून नाही ज्यामध्ये विकास केला जातो. सॉफ्टवेअर घटकांच्या जास्तीत जास्त पुनर्वापरासह सुस्थापित IC विकास वातावरणासाठी, RAD पद्धतीचा वापर करून कार्यान्वित करता येणाऱ्या अनुप्रयोगाचा आकार खालीलप्रमाणे निर्धारित केला जातो:

सारांश म्हणून, आम्ही RAD पद्धतीची मुख्य तत्त्वे सूचीबद्ध करतो:

    पुनरावृत्तीमध्ये अनुप्रयोग विकसित करणे;

    जीवन चक्राच्या प्रत्येक टप्प्यावर काम पूर्ण करण्याची पर्यायीता;

    IS विकास प्रक्रियेत वापरकर्त्यांचा अनिवार्य सहभाग;

    प्रकल्पाची अखंडता सुनिश्चित करण्यासाठी CASE साधनांचा आवश्यक वापर;

    कॉन्फिगरेशन मॅनेजमेंट टूल्सचा वापर जे प्रोजेक्टमध्ये बदल करण्यास आणि तयार सिस्टमची देखभाल करण्यास सुलभ करतात;

    कोड जनरेटरचा आवश्यक वापर;

    अंतिम वापरकर्त्याच्या गरजा चांगल्या प्रकारे समजून घेण्यासाठी आणि पूर्ण करण्यासाठी प्रोटोटाइपिंगचा वापर;

    प्रकल्पाची चाचणी आणि विकास, विकासासह एकाच वेळी चालते;

    व्यावसायिकांच्या एका लहान, सुव्यवस्थित संघाद्वारे विकास;

    प्रणाली विकासाचे सक्षम व्यवस्थापन, स्पष्ट नियोजन आणि कामाच्या अंमलबजावणीचे नियंत्रण.

आरएडी तंत्रज्ञान (जलद अर्ज विकास) – प्रोटोटाइपिंग आणि ग्राफिकलच्या वापरावर आधारित अनुप्रयोग द्रुतपणे तयार करण्याचे तंत्रज्ञान आहे वापरकर्ता इंटरफेस GUI (ग्राफिकल वापरकर्ता इंटरफेस).

RAD तंत्रज्ञान अनेक तुकड्या असलेल्या जटिल उत्पादनांच्या विकासास समर्थन देण्यास सक्षम नाही ज्यांना प्रोग्राम करण्यासाठी दोन आठवड्यांपेक्षा जास्त वेळ लागतो. हे तंत्रज्ञान औद्योगिक IC डिझाइनपेक्षा बऱ्यापैकी साध्या सानुकूल सॉफ्टवेअरच्या विकासावर अधिक केंद्रित आहे.

लहान आयसी विकासाशी संबंधित जवळजवळ सर्व समस्यांचे निराकरण आंतरराष्ट्रीय स्तरावर मान्यताप्राप्त RAD तंत्रज्ञान वापरून केले जाते. यामध्ये व्यवस्थापक, एक प्रणाली विश्लेषक आणि 4-5 प्रोग्रामर यांचा समावेश असलेला 6-7 लोकांचा तथाकथित RAD गट आयोजित करणे समाविष्ट आहे, ज्यांना 1 ते 2 कालावधीच्या कालावधीसह प्रकल्प विकासाच्या संपूर्ण कालावधीसाठी स्पष्ट योजना दिल्या जातात. आठवडे

या तंत्रज्ञानाचा आधार IP निर्मितीचे सर्पिल मॉडेल आहे (चित्र 6.1). आकृतीत पाहिल्याप्रमाणे, विकास एका सर्पिलमध्ये पुढे जातो, वारंवार IP विकासाच्या सर्व 4 टप्प्यांतून जातो.

आकृती 6.1 - RAD तंत्रज्ञानावर आधारित सर्पिल डिझाइन मॉडेल

विश्लेषणाच्या टप्प्यावरवापरकर्ते खालील क्रिया करतात:

    सिस्टीमने केलेली कार्ये निश्चित करा;

    प्रथम विस्ताराची आवश्यकता असलेल्या सर्वोच्च प्राधान्य कार्ये हायलाइट करा;

    माहितीच्या गरजांचे वर्णन करा. सिस्टम आवश्यकतांचे सूत्रीकरण मुख्यत्वे तज्ञ विकासकांच्या मार्गदर्शनाखाली वापरकर्त्यांद्वारे केले जाते.

    याव्यतिरिक्त, या टप्प्यावर खालील कार्ये सोडविली जातात:

    प्रकल्पाची व्याप्ती मर्यादित आहे;

    त्यानंतरच्या प्रत्येक टप्प्यासाठी वेळ फ्रेम स्थापित केली जाते;

    दिलेल्या निधीच्या प्रमाणात, उपलब्ध हार्डवेअर इ. वापरून प्रकल्प राबविण्याची शक्यता निश्चित केली जाते. स्टेजचा परिणाम असा असावा:

    भविष्यातील IS सॉफ्टवेअरच्या प्राधान्यकृत कार्यांची यादी;

प्राथमिक सॉफ्टवेअर मॉडेल.काही वापरकर्ते तज्ञ विकासकांच्या मार्गदर्शनाखाली सिस्टमच्या तांत्रिक डिझाइनमध्ये भाग घेतात. ऍप्लिकेशन्सचे कार्यरत प्रोटोटाइप द्रुतपणे प्राप्त करण्यासाठी, योग्य साधने (CASE टूल्स) वापरली जातात. वापरकर्ते, विकासकांशी थेट संवाद साधतात, मागील टप्प्यावर ओळखल्या गेलेल्या सिस्टम आवश्यकता स्पष्ट करतात आणि पूरक करतात. या टप्प्यावर खालील क्रिया केल्या जातात:

    सिस्टम प्रक्रिया अधिक तपशीलवार तपासल्या जातात;

    आवश्यक असल्यास, प्रत्येक प्राथमिक प्रक्रियेसाठी एक आंशिक नमुना तयार केला जातो: एक स्क्रीन फॉर्म, एक संवाद, एक अहवाल जो अस्पष्टता किंवा अस्पष्टता दूर करतो;

    डेटावर प्रवेश प्रतिबंधित करण्यासाठी आवश्यकता स्थापित केल्या आहेत;

    आवश्यक कागदपत्रांची रचना निश्चित केली जाते.

प्रक्रियेच्या रचनेच्या तपशीलवार व्याख्येनंतर, विकसित केलेल्या प्रणालीच्या तथाकथित फंक्शन पॉइंट्सच्या संख्येचे मूल्यांकन केले जाते आणि IS ला उपप्रणालींमध्ये विभाजित करण्याचा निर्णय घेतला जातो ज्याची अंमलबजावणी विकासकांच्या एका संघाद्वारे स्वीकार्य वेळेत केली जाऊ शकते. RAD प्रकल्पांसाठी (3 महिन्यांपर्यंत).

फंक्शन पॉइंट - हे प्रणालीचे कोणतेही घटक विकसित केले जात आहेत:

    अनुप्रयोग इनपुट घटक ( इनपुट दस्तऐवजकिंवा स्क्रीन फॉर्म);

    अनुप्रयोग आउटपुट घटक (अहवाल, दस्तऐवज, स्क्रीन फॉर्म);

    विनंती (प्रश्न/उत्तर जोडी);

    तार्किक फाइल (संग्रह डेटा रेकॉर्ड, अनुप्रयोगात वापरलेले);

    ऍप्लिकेशन इंटरफेस (दुसऱ्या ऍप्लिकेशनवर प्रसारित किंवा प्राप्त झालेल्या डेटा रेकॉर्डचा संच).

प्रकल्प नंतर विविध विकास संघांमध्ये वितरित केला जातो. मोठ्या IS विकसित करण्याचा अनुभव दर्शवितो की कामाची कार्यक्षमता वाढवण्यासाठी, डेटा आणि फंक्शन्सच्या दृष्टीने कमकुवतपणे जोडलेल्या वेगळ्या उपप्रणालींमध्ये प्रकल्प विभाजित करणे आवश्यक आहे. उपप्रणालींची अंमलबजावणी तज्ञांच्या स्वतंत्र गटांद्वारे केली पाहिजे. त्याच वेळी, संपूर्ण प्रकल्पाचे समन्वय सुनिश्चित करणे आणि प्रत्येक प्रकल्प गटाच्या कामाच्या परिणामांची डुप्लिकेशन दूर करणे आवश्यक आहे, जे सामान्य डेटा आणि कार्यांच्या उपस्थितीमुळे उद्भवू शकतात.

CASE टूल्स वापरण्याच्या बाबतीत, याचा अर्थ सिस्टमच्या कार्यात्मक मॉडेलचे विभाजन करणे (संरचित दृष्टिकोनासाठी डेटा प्रवाह आकृत्या किंवा ऑब्जेक्ट-ओरिएंटेड दृष्टिकोनासाठी केस आकृत्या वापरणे.

या टप्प्याचा परिणाम असा असावा:

    सिस्टमचे सामान्य माहिती मॉडेल;

    संपूर्ण प्रणालीचे कार्यात्मक मॉडेल आणि वैयक्तिक विकास कार्यसंघाद्वारे लागू केलेली उपप्रणाली;

    स्वायत्तपणे विकसित उपप्रणाली दरम्यान अचूकपणे परिभाषित इंटरफेस;

    स्क्रीन फॉर्म, रिपोर्ट्स, डायलॉग्सचे प्रोटोटाइप तयार केले.

सर्व मॉडेल्स आणि प्रोटोटाइप त्या CASE टूल्सचा वापर करून प्राप्त करणे आवश्यक आहे जे सिस्टम तयार करताना भविष्यात वापरले जातील. ही आवश्यकता प्रकल्पाची माहिती स्टेजवरून स्टेजवर हस्तांतरित करताना अनियंत्रित डेटा विकृती टाळण्याच्या गरजेमुळे आहे.

मागील पध्दतीच्या विपरीत, ज्याने विशिष्ट प्रोटोटाइपिंग साधने वापरली आहेत जी वास्तविक-जगातील अनुप्रयोग तयार करण्यासाठी डिझाइन केलेली नाहीत आणि डिझाइनची संदिग्धता दूर करण्याच्या उद्देशाने प्रोटोटाइप टाकून दिल्यावर, RAD दृष्टिकोनामध्ये प्रत्येक प्रोटोटाइप भविष्यातील प्रणालीचा एक भाग म्हणून विकसित केला जातो. अशा प्रकारे, अधिक संपूर्ण आणि उपयुक्त माहिती पुढील टप्प्यावर हस्तांतरित केली जाते.

अंमलबजावणीच्या टप्प्यावरजलद अनुप्रयोग विकास स्वतः थेट केला जातो:

    विकासक पुनरावृत्तीने मागील टप्प्यावर प्राप्त केलेल्या मॉडेल्सवर आधारित एक वास्तविक प्रणाली तयार करतात, तसेच गैर-कार्यक्षम आवश्यकता (विश्वसनीयता आवश्यकता, कार्यप्रदर्शन आवश्यकता इ.);

    वापरकर्ते प्राप्त झालेल्या परिणामांचे मूल्यमापन करतात आणि विकास प्रक्रियेदरम्यान, सिस्टम यापुढे पूर्वी परिभाषित आवश्यकता पूर्ण करत नसल्यास समायोजन करतात. विकास प्रक्रियेदरम्यान सिस्टम चाचणी केली जाते.

प्रत्येक वैयक्तिक विकास कार्यसंघाचे कार्य पूर्ण केल्यानंतर, सिस्टमच्या या भागाचे उर्वरित भागांसह हळूहळू एकत्रीकरण केले जाते, एक संपूर्ण प्रोग्राम कोड व्युत्पन्न केला जातो, अनुप्रयोगाच्या या भागाच्या संयुक्त ऑपरेशनची चाचणी केली जाते आणि नंतर सिस्टम म्हणून संपूर्ण चाचणी केली जाते. खालील कार्य करून सिस्टमची अंमलबजावणी पूर्ण केली जाते:

    डेटाच्या वापराचे विश्लेषण केले जाते आणि त्याच्या वितरणाची आवश्यकता निश्चित केली जाते;

    डेटाबेसची भौतिक रचना केली जाते;

    हार्डवेअर संसाधनांसाठी आवश्यकता तयार केल्या आहेत;

    उत्पादकता वाढवण्याचे मार्ग स्थापित केले आहेत;

    प्रकल्प दस्तऐवजीकरणाचा विकास पूर्ण होत आहे.

रॅपिड ऍप्लिकेशन डेव्हलपमेंट (RAD) ही एक डिझाइन प्रक्रिया जीवनचक्र आहे जी अधिक साध्य करण्यासाठी डिझाइन केलेली आहे उच्च गतीपारंपारिक डिझाइन पध्दतीने शक्य आहे त्यापेक्षा सॉफ्टवेअरचा विकास आणि गुणवत्ता.

RAD संकल्पना ही 1970 आणि 1980 च्या सुरुवातीच्या सॉफ्टवेअर विकास पद्धतींना प्रतिसाद होती, जसे की "वॉटरफॉल मॉडेल". या पद्धतींमध्ये प्रोग्राम तयार करण्याच्या इतक्या संथ प्रक्रियेचा समावेश होता की विकासाच्या समाप्तीपूर्वी प्रोग्रामच्या आवश्यकता देखील बदलण्यास वेळ लागतो. RAD चे संस्थापक IBM कर्मचारी जेम्स मार्टिन मानले जातात, ज्यांनी 1980 च्या दशकात बॅरी बॉयम आणि स्कॉट शुल्ट्झ यांच्या कल्पनांवर आधारित RAD ची मूलभूत तत्त्वे तयार केली. आणि 1991 मध्ये, मार्टिनने एक प्रसिद्ध पुस्तक प्रकाशित केले ज्यामध्ये त्याने RAD ची संकल्पना आणि त्याच्या वापराच्या शक्यतांचा तपशीलवार वर्णन केला. सध्या, RAD ही सॉफ्टवेअर डेव्हलपमेंट टूल्स तयार करण्यासाठी सामान्यतः स्वीकारलेली योजना बनत आहे.

RAD हे गृहीत धरते की व्हिज्युअल मॉडेलिंग आणि डेव्हलपमेंट टूल्सचा वापर करून सॉफ्टवेअर डेव्हलपर्स डेव्हलपरच्या एका छोट्या टीमद्वारे सुमारे तीन ते चार कालावधीत केले जातात. RAD तंत्रज्ञान प्रदान करते सक्रिय सहभागग्राहक आधीच सुरुवातीच्या टप्प्यात आहे - संस्थेचे सर्वेक्षण, सिस्टम आवश्यकतांचा विकास. आरएडी पद्धत ही सर्पिल जीवन चक्र मॉडेलमधील सॉफ्टवेअर डेव्हलपमेंटची एक पद्धत आहे.

RAD पद्धतीनुसार सॉफ्टवेअर लाइफ सायकलमध्ये चार टप्पे असतात:

आवश्यकता विश्लेषण आणि नियोजन टप्पा;

डिझाइन टप्पा;

बांधकाम टप्पा;

अंमलबजावणीचा टप्पा.

आवश्यकता विश्लेषण आणि नियोजन टप्प्यावर, वापरकर्ते खालील क्रिया करतात:

सिस्टमने कोणती कार्ये करावीत हे निश्चित करणे;

प्रथम विस्ताराची आवश्यकता असलेल्या सर्वोच्च प्राधान्य कार्ये हायलाइट करणे;

माहितीच्या गरजांचे वर्णन.

सिस्टम आवश्यकतांचे सूत्रीकरण मुख्यत्वे तज्ञ विकासकांच्या मार्गदर्शनाखाली वापरकर्त्यांद्वारे केले जाते. याव्यतिरिक्त, या टप्प्यावर खालील कार्ये सोडविली जातात:

प्रकल्पाची व्याप्ती मर्यादित आहे;

त्यानंतरच्या प्रत्येक टप्प्यासाठी वेळ फ्रेम स्थापित केली जाते;

मध्ये प्रकल्प राबविण्याची शक्यता दिलेले आकारविद्यमान हार्डवेअरवर वित्तपुरवठा इ. स्टेजचा परिणाम असा असावा:

भविष्यातील IS सॉफ्टवेअरच्या प्राधान्यकृत कार्यांची यादी;

प्राथमिक सॉफ्टवेअर मॉडेल.

डिझाइन टप्प्यावर, काही वापरकर्ते तज्ञ विकासकांच्या मार्गदर्शनाखाली सिस्टमच्या तांत्रिक डिझाइनमध्ये भाग घेतात. ऍप्लिकेशन्सचे कार्यरत प्रोटोटाइप द्रुतपणे प्राप्त करण्यासाठी, योग्य साधने (CASE टूल्स) वापरली जातात. वापरकर्ते, विकसकांशी थेट संवाद साधतात, मागील टप्प्यावर ओळखल्या गेलेल्या सिस्टम आवश्यकता स्पष्ट करतात आणि पूरक करतात. या टप्प्यावर खालील क्रिया केल्या जातात:

सिस्टम प्रक्रिया अधिक तपशीलवार तपासल्या जातात;

आवश्यक असल्यास, प्रत्येक प्राथमिक प्रक्रियेसाठी आंशिक प्रोटोटाइप तयार केला जातो (स्क्रीन फॉर्म, संवाद, अहवाल, संदिग्धता किंवा अस्पष्टता दूर करणे);

डेटावर प्रवेश प्रतिबंधित करण्यासाठी आवश्यकता स्थापित केल्या आहेत;

आवश्यक कागदपत्रांची रचना निश्चित केली जाते.

प्रकल्प नंतर वेगवेगळ्या विकास कार्यसंघांमध्ये वितरित केला जातो. CASE टूल्स वापरण्याच्या बाबतीत, याचा अर्थ सिस्टमच्या कार्यात्मक मॉडेलचे विभाजन करणे (संरचित दृष्टिकोनासाठी डेटा प्रवाह आकृत्या किंवा ऑब्जेक्ट-ओरिएंटेड दृष्टिकोनासाठी केस आकृत्या वापरणे). या टप्प्याचा परिणाम असा असावा:

सिस्टमचे सामान्य माहिती मॉडेल;

संपूर्ण प्रणालीचे कार्यात्मक मॉडेल आणि वैयक्तिक विकास कार्यसंघाद्वारे लागू केलेली उपप्रणाली;

स्वायत्तपणे विकसित उपप्रणाली दरम्यान अचूकपणे परिभाषित इंटरफेस;

स्क्रीन फॉर्म, रिपोर्ट्स, डायलॉग्सचे प्रोटोटाइप तयार केले.

सर्व मॉडेल्स आणि प्रोटोटाइप त्या CASE टूल्सचा वापर करून प्राप्त करणे आवश्यक आहे जे सिस्टम तयार करताना भविष्यात वापरले जातील. ही आवश्यकता प्रकल्पाविषयीची माहिती स्टेजवरून स्टेजवर हस्तांतरित करताना अनियंत्रित डेटा विकृती टाळण्याच्या गरजेमुळे आहे.

अंमलबजावणीच्या टप्प्यावर, जलद अनुप्रयोग विकास केला जातो:

विकसक पुनरावृत्तीने मागील टप्प्यावर प्राप्त केलेल्या मॉडेल्सवर आधारित एक वास्तविक प्रणाली तयार करतात, तसेच गैर-कार्यक्षम आवश्यकता (विश्वसनीयता आवश्यकता, कार्यप्रदर्शन आवश्यकता इ.).

वापरकर्ते प्राप्त झालेल्या परिणामांचे मूल्यांकन करतात आणि विकास प्रक्रियेदरम्यान, सिस्टम यापुढे पूर्वी परिभाषित आवश्यकता पूर्ण करत नसल्यास समायोजन करतात. विकास प्रक्रियेदरम्यान सिस्टम चाचणी केली जाते.

प्रत्येक वैयक्तिक विकास कार्यसंघाचे कार्य पूर्ण केल्यानंतर, सिस्टमच्या या भागाचे उर्वरित भागांसह हळूहळू एकत्रीकरण केले जाते, एक संपूर्ण प्रोग्राम कोड व्युत्पन्न केला जातो, अनुप्रयोगाच्या या भागाच्या संयुक्त ऑपरेशनची चाचणी केली जाते आणि नंतर सिस्टम म्हणून संपूर्ण चाचणी केली जाते. खालील कार्य करून सिस्टमची अंमलबजावणी पूर्ण केली जाते:

डेटाच्या वापराचे विश्लेषण केले जाते आणि त्याच्या वितरणाची आवश्यकता निश्चित केली जाते;

डेटाबेसची भौतिक रचना केली जाते;

हार्डवेअर संसाधनांसाठी आवश्यकता तयार केल्या आहेत;

उत्पादकता वाढवण्याचे मार्ग स्थापित केले आहेत;

प्रकल्प दस्तऐवजीकरणाचा विकास पूर्ण होत आहे. स्टेजचा परिणाम आहे तयार प्रणाली, सर्व मान्य आवश्यकता पूर्ण करणे.

अंमलबजावणीच्या टप्प्यावर, वापरकर्ता प्रशिक्षण आणि संस्थात्मक बदल केले जातात.

RAD तंत्रज्ञानाचा वापर सल्ला दिला जातो जेव्हा:

प्रकल्प कमी कालावधीत (९० दिवस) पूर्ण करणे आवश्यक आहे;

सॉफ्टवेअर आवश्यकता स्पष्टपणे परिभाषित नाहीत;

प्रकल्प बजेट मर्यादा अंतर्गत चालते;

वापरकर्ता इंटरफेस (GUI) हा मुख्य घटक आहे;

प्रकल्प मोठा आहे, परंतु लहान कार्यात्मक घटकांमध्ये विभागला जाऊ शकतो;

सॉफ्टवेअरमध्ये उच्च संगणकीय जटिलता नाही.

आरएडी तंत्रज्ञान सार्वत्रिक नाही, म्हणजेच त्याचा वापर नेहमीच सल्ला दिला जात नाही. उदाहरणार्थ, ज्या प्रकल्पांसाठी आवश्यकता आहे सॉफ्टवेअर उत्पादनस्पष्टपणे परिभाषित केले आहेत आणि बदलू नयेत, विकास प्रक्रियेत ग्राहकांचा सहभाग आवश्यक नाही आणि श्रेणीबद्ध विकास (कॅस्केड पद्धत) अधिक प्रभावी असू शकते. हेच प्रकल्प, सॉफ्टवेअरवर लागू होते, ज्याची जटिलता अंमलबजावणीच्या गरजेद्वारे निर्धारित केली जाते जटिल अल्गोरिदम, आणि वापरकर्ता इंटरफेसची भूमिका आणि व्याप्ती लहान आहे.

आकृती 1 - आरएडी आणि कॅस्केड पद्धतीची तुलना

जलद अनुप्रयोग विकास

रॅपिड ऍप्लिकेशन डेव्हलपमेंट मॉडेल हे वाढीव डिझाइन धोरण वापरण्याचे दुसरे उदाहरण आहे (आकृती 1.5).

RAD मॉडेल अत्यंत लहान विकास चक्र प्रदान करते. RAD हे रेखीय अनुक्रमिक मॉडेलचे उच्च-गती अनुकूलन आहे, ज्यामध्ये घटक-आधारित डिझाइनच्या वापराद्वारे जलद विकास साधला जातो. जर आवश्यकता पूर्णपणे परिभाषित केल्या असतील आणि प्रकल्पाची व्याप्ती मर्यादित असेल, तर RAD प्रक्रिया टीमला पूर्ण तयार करण्यास अनुमती देते कार्यात्मक प्रणालीखूप कमी वेळेत (60-90 दिवस). RAD दृष्टीकोन विकासाभिमुख आहे माहिती प्रणालीआणि खालील टप्पे ओळखतो:

q व्यवसाय मॉडेलिंग.व्यवसाय कार्ये दरम्यान माहिती प्रवाह मॉडेल केले आहे. आम्ही खालील प्रश्नांची उत्तरे शोधत आहोत: कोणती माहिती व्यवसाय प्रक्रियेस मार्गदर्शन करते? कोणती माहिती व्युत्पन्न होते? कोण निर्माण करतो? माहिती कुठे लागू केली जाते? त्यावर प्रक्रिया कोण करतो?

q डेटा मॉडेलिंग. बिझनेस मॉडेलिंग फेज दरम्यान परिभाषित माहितीचा प्रवाह व्यवसायाला समर्थन देण्यासाठी आवश्यक असलेल्या डेटा ऑब्जेक्ट्सच्या संचामध्ये मॅप केला जातो. प्रत्येक वस्तूची वैशिष्ट्ये (गुणधर्म, गुणधर्म) ओळखली जातात, वस्तूंमधील संबंध निर्धारित केले जातात;

q प्रक्रिया मॉडेलिंग.व्यवसाय फंक्शन्सची अंमलबजावणी सुनिश्चित करण्यासाठी डेटा ऑब्जेक्ट्सचे परिवर्तन परिभाषित केले जातात. डेटा ऑब्जेक्ट्स जोडणे, सुधारणे, हटवणे किंवा शोधणे (दुरुस्त करणे) यासाठी प्रक्रिया वर्णन तयार केले जातात;

q अर्ज निर्मिती.असे गृहीत धरले जाते की चौथ्या पिढीच्या प्रोग्रामिंग भाषांवर लक्ष केंद्रित केलेल्या पद्धती वापरल्या जातील. 3री पिढी प्रोग्रामिंग भाषा वापरून सॉफ्टवेअर तयार करण्याऐवजी, RAD प्रक्रिया पुन्हा वापरण्यायोग्य सह कार्य करते सॉफ्टवेअर घटककिंवा पुन्हा वापरता येण्याजोगे घटक तयार करते. डिझाइन सुनिश्चित करण्यासाठी ऑटोमेशन युटिलिटीज वापरल्या जातात;

q चाचणी आणि विलीनीकरण.कारण पुन्हा वापरता येण्याजोगे घटक वापरले जातात, बरेच सॉफ्टवेअर घटकआधीच चाचणी केली आहे. हे चाचणी वेळ कमी करते (जरी सर्व नवीन घटकांची चाचणी करणे आवश्यक आहे).

तांदूळ. 1.5.रॅपिड ऍप्लिकेशन डेव्हलपमेंट मॉडेल

RAD चा वापर शक्य आहे जेव्हा प्रत्येक मुख्य कार्य 3 महिन्यांत पूर्ण होऊ शकते. प्रत्येक मुख्य कार्य संबोधित केले आहे वेगळा गटविकसक आणि नंतर संपूर्ण सिस्टममध्ये समाकलित.

RAD च्या वापरामध्ये त्याचे तोटे आणि मर्यादा आहेत.

1. RAD मधील मोठ्या प्रकल्पांसाठी महत्त्वपूर्ण मानवी संसाधने आवश्यक आहेत (पुरेशा संख्येने संघ तयार करणे आवश्यक आहे).

2. RAD फक्त अशा ऍप्लिकेशन्ससाठी लागू आहे जे स्वतंत्र मॉड्यूलमध्ये विघटित केले जाऊ शकतात आणि ज्यामध्ये कार्यप्रदर्शन महत्त्वपूर्ण मूल्य नाही.

3. उच्च तांत्रिक जोखीम वातावरणात (म्हणजे नवीन तंत्रज्ञान वापरताना) RAD लागू होत नाही.

सर्पिल मॉडेल

सर्पिल मॉडेल हे उत्क्रांतीच्या डिझाइन धोरणाच्या वापराचे उत्कृष्ट उदाहरण आहे.

तांदूळ. १.६.सर्पिल मॉडेल: 1 - प्रारंभिक आवश्यकता एकत्र करणे आणि प्रकल्प नियोजन;

प्रारंभिक आवश्यकता; 4 - ग्राहकांच्या प्रतिक्रियेवर आधारित जोखीम विश्लेषण; 5 - संक्रमण

ला एकात्मिक प्रणाली; 6 - सिस्टमचा प्रारंभिक लेआउट; 7 - लेआउटचा पुढील स्तर;

8 - डिझाइन केलेली प्रणाली; 9 - ग्राहकाद्वारे मूल्यांकन

अंजीर मध्ये दाखवल्याप्रमाणे. 1.6, मॉडेल चार क्रिया परिभाषित करते, हेलिक्सच्या चार चतुर्भुजांनी दर्शविले जाते.

1. नियोजन - उद्दिष्टे, पर्याय आणि मर्यादा परिभाषित करणे.

2. जोखीम विश्लेषण - पर्यायांचे विश्लेषण आणि जोखीम ओळख/निवड.

3. डिझाइन - पुढील स्तरावरील उत्पादनाचा विकास.

4. मूल्यमापन - वर्तमान डिझाइन परिणामांचे ग्राहकाचे मूल्यांकन.

जेव्हा सर्पिलचे रेडियल परिमाण विचारात घेतले जाते तेव्हा सर्पिल मॉडेलचे एकत्रित पैलू स्पष्ट होते. सर्पिलमध्ये प्रत्येक पुनरावृत्तीसह (केंद्रापासून परिघाकडे जाणे), अधिकाधिक पूर्ण आवृत्त्यावाय.

सर्पिलच्या पहिल्या वळणावर, प्रारंभिक उद्दिष्टे, पर्याय आणि मर्यादा निर्धारित केल्या जातात, जोखीम ओळखली जाते आणि त्याचे विश्लेषण केले जाते. जर जोखीम विश्लेषणामध्ये आवश्यकतांमध्ये अनिश्चितता दिसून आली, तर प्रोटोटाइपिंग (डिझाइन क्वाड्रंटमध्ये वापरलेले) विकासक आणि ग्राहकांच्या मदतीला येते. समस्याग्रस्त आणि परिष्कृत आवश्यकता ओळखण्यासाठी सिम्युलेशनचा वापर केला जाऊ शकतो. ग्राहक अभियांत्रिकी (डिझाइन) कामाचे मूल्यमापन करतो आणि फेरबदल (ग्राहक मूल्यमापन चतुर्थांश) साठी प्रस्ताव तयार करतो. नियोजन आणि जोखीम विश्लेषणाचा पुढील टप्पा ग्राहकांच्या प्रस्तावांवर आधारित आहे. प्रत्येक सर्पिल चक्रात, जोखीम विश्लेषणाचे परिणाम "सुरू ठेवा, सुरू ठेवू नका" या स्वरूपात तयार होतात. जर धोका खूप जास्त असेल तर प्रकल्प थांबवला जाऊ शकतो.

बहुतेक प्रकरणांमध्ये, सर्पिल चालू राहते, प्रत्येक पायरीसह विकासक अधिक दिशेने जातात सामान्य मॉडेलप्रणाली प्रत्येक सर्पिल चक्रासाठी बांधकाम (खालचा उजवा चतुर्थांश) आवश्यक आहे, ज्याची अंमलबजावणी शास्त्रीय पद्धतीने केली जाऊ शकते. जीवन चक्रकिंवा लेआउट. लक्षात ठेवा की विकास क्रियाकलापांची संख्या (खालच्या उजव्या चतुर्थांशात होणारी) आपण सर्पिलच्या केंद्रापासून दूर जात असताना वाढते.

सर्पिल मॉडेलचे फायदे:

1) सर्वात वास्तववादी (उत्क्रांतीच्या स्वरूपात) सॉफ्टवेअर विकास प्रतिबिंबित करते;

2) विकास उत्क्रांतीच्या प्रत्येक टप्प्यावर आपल्याला स्पष्टपणे जोखीम लक्षात घेण्यास अनुमती देते;

3) चरण समाविष्ट आहे पद्धतशीर दृष्टीकोनपुनरावृत्ती विकास संरचनेत;

4) जोखीम कमी करण्यासाठी आणि सॉफ्टवेअर उत्पादन सुधारण्यासाठी मॉडेलिंग वापरते.

सर्पिल मॉडेलचे तोटे:

1) नवीनता (मॉडेलच्या प्रभावीतेवर पुरेशी आकडेवारी नाही);

2) ग्राहकांसाठी वाढीव आवश्यकता;

3) विकास वेळेचे निरीक्षण आणि व्यवस्थापन करण्यात अडचणी.



आम्ही वाचण्याची शिफारस करतो

वर