कंप्यूटर एडेड सॉफ्टवेयर इंजीनियरिंग

कंप्यूटर एडेड सॉफ्टवेयर इंजीनियरिंग (CASE) सॉफ्टवेयर टूल का डोमेन है जिसका उपयोग एप्लिकेशन को डिजाइन और कार्यान्वित करने के लिए किया जाता है। CASE टूल समान हैं और आंशिक रूप से कंप्यूटर एडेड डिजाइन (CAD) टूल से प्रेरित हैं जिनका उपयोग हार्डवेयर उत्पादों को डिज़ाइन करने के लिए किया जाता है। CASE टूल का उपयोग उच्च-गुणवत्ता, दोष-मुक्त और बनाए रखने योग्य सॉफ़्टवेयर विकसित करने के लिए किया गया था। CASE सॉफ़्टवेयर अक्सर स्वचालित उपकरणों के साथ सूचना प्रणाली के विकास के तरीकों से जुड़ा होता है जिसका उपयोग सॉफ़्टवेयर विकास प्रक्रिया में किया जा सकता है।

इतिहास
सूचना प्रणाली डिजाइन और अनुकूलन प्रणाली (ISDOS) परियोजना, 1968 में मिशिगन विश्वविद्यालय में शुरू हुई, ने विश्लेषकों को आवश्यकताओं और विकासशील प्रणालियों के विश्लेषण की बहुत कठिन प्रक्रिया में मदद करने के लिए कंप्यूटर सिस्टम का उपयोग करने की पूरी अवधारणा में बहुत रुचि दिखाई। डैनियल टेइक्रोव के कई पेपरों ने स्वचालित सिस्टम विकास की क्षमता के साथ उत्साही लोगों की एक पूरी पीढ़ी को निकाल दिया। उनका प्रॉब्लम स्टेटमेंट लैंग्वेज / प्रॉब्लम स्टेटमेंट एनालाइजर (PSL/PSA) टूल एक CASE टूल था, हालांकि यह शब्द से पहले का था। एक अन्य प्रमुख धागा डेटाबेस के डेटा शब्दकोश के तार्किक विस्तार के रूप में उभरा। आयोजित मेटा डेटा की सीमा का विस्तार करके, एक एप्लिकेशन की विशेषताओं को एक शब्दकोश के भीतर रखा जा सकता है और रनटाइम पर उपयोग किया जा सकता है। यह सक्रिय शब्दकोश अधिक आधुनिक मॉडल-संचालित इंजीनियरिंग क्षमता का अग्रदूत बन गया। हालाँकि, सक्रिय शब्दकोश किसी भी मेटाडेटा का चित्रमय प्रतिनिधित्व प्रदान नहीं करता है। यह विश्लेषकों के मेटाडेटा को धारण करने वाले एक शब्दकोश की अवधारणा को जोड़ने वाला था, जैसा कि तकनीकों के एक एकीकृत सेट के उपयोग से प्राप्त हुआ, साथ में ऐसे डेटा के ग्राफिकल प्रतिनिधित्व के साथ जिसने CASE के पिछले संस्करणों को जन्म दिया। बाजार में अगला प्रवेश कैंब्रिज, मास में इंडेक्स टेक्नोलॉजी से एक्सेलरेटर था। जबकि डिजाइनएड कन्वर्जेंट टेक्नोलॉजीज पर चलता था और बाद में बरोज एनजीएन ने माइक्रो कंप्यूटरों को नेटवर्क किया, इंडेक्स ने आईबीएम पर्सनल कंप्यूटर/एटी|आईबीएम पीसी/एटी प्लेटफॉर्म पर एक्सेलरेटर लॉन्च किया। जबकि, लॉन्च के समय, और कई वर्षों तक, आईबीएम प्लेटफॉर्म ने नेटवर्किंग या एक केंद्रीकृत डेटाबेस का समर्थन नहीं किया जैसा कि कन्वर्जेंट टेक्नोलॉजीज या बरोज मशीन ने किया था, आईबीएम का आकर्षण मजबूत था, और एक्सेलरेटर प्रमुखता से आया। नॉलेजवेयर (जेम्स मार्टिन, फ्रान टार्केंटन और डॉन एडिंगटन), टेक्सास इंस्ट्रूमेंट के सीए जनरल और एंडर्सन कंसल्टिंग। एंडरसन कंसल्टिंग के फाउंडेशन टूलसेट (डिजाइन / 1, इंस्टाल / 1, एफसीपी) जैसी कंपनियों से एक्सेलरेटर की ऊँची एड़ी के जूते पर गर्म थे।. 1990 के दशक की शुरुआत में CASE टूल अपने चरम पर थे। जनवरी 1990 की पीसी पत्रिका के अनुसार, 100 से अधिक कंपनियां लगभग 200 अलग-अलग CASE टूल्स पेश कर रही थीं। उस समय IBM ने AD/Cycle का प्रस्ताव रखा था, जो मेनफ़्रेम कंप्यूटर और OS/2 में IBM DB2 का उपयोग करके IBM के सॉफ्टवेयर रिपॉजिटरी पर केंद्रित सॉफ़्टवेयर विक्रेताओं का गठबंधन था:


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

मेनफ्रेम की गिरावट के साथ, एडी/साइकिल और बिग केस टूल्स बंद हो गए, जिससे आज के मुख्यधारा के केस टूल्स के लिए बाजार खुल गया। 1990 के दशक की शुरुआत के CASE बाजार के कई नेता कंप्यूटर एसोसिएट्स द्वारा खरीदे जा रहे थे, जिनमें IEW, IEF, ADW, केयेन और LearMonth & Burchett Management Systems (LBMS) शामिल थे। दूसरी प्रवृत्ति जिसने CASE उपकरणों के विकास का नेतृत्व किया, वह वस्तु-उन्मुख विधियों और उपकरणों का उदय था। अधिकांश विभिन्न उपकरण विक्रेताओं ने वस्तु-उन्मुख विधियों और उपकरणों के लिए कुछ समर्थन जोड़ा। इसके अलावा, नए उत्पाद सामने आए जिन्हें वस्तु-उन्मुख दृष्टिकोण का समर्थन करने के लिए नीचे से ऊपर तक डिज़ाइन किया गया था। एंडरसन ने अपनी परियोजना ईगल को फाउंडेशन के विकल्प के रूप में विकसित किया। वस्तु-उन्मुख विकास में कई विचारक नेताओं ने अपनी-अपनी कार्यप्रणाली और CASE टूल सेट विकसित किया: जैकबसन, रूंबाघ, ग्रेडी बूच, आदि। आखिरकार, इन विविध टूल सेटों और विधियों को लक्ष्य प्रबंधन समूह (OMG) के नेतृत्व वाले मानकों के माध्यम से समेकित किया गया।. OMG की एकीकृत मॉडलिंग भाषा (UML) वर्तमान में ऑब्जेक्ट-ओरिएंटेड मॉडलिंग के लिए उद्योग मानक के रूप में व्यापक रूप से स्वीकार की जाती है।

उपकरण
केस उपकरण सॉफ्टवेयर विकास जीवन-चक्र में विशिष्ट कार्यों का समर्थन करते हैं। उन्हें निम्नलिखित श्रेणियों में विभाजित किया जा सकता है: CASE टूल में अंतर करने का एक अन्य सामान्य तरीका अपर केस और लोअर केस के बीच अंतर करना है। अपर केस टूल्स व्यापार और विश्लेषण मॉडलिंग का समर्थन करते हैं। वे ईआर आरेख, डेटा प्रवाह आरेख, संरचना चार्ट, निर्णय वृक्ष, निर्णय तालिका आदि जैसी पारंपरिक डायग्रामेटिक भाषाओं का समर्थन करते हैं। लोअर केस टूल्स विकास गतिविधियों का समर्थन करते हैं, जैसे कि भौतिक डिजाइन, डिबगिंग, निर्माण, परीक्षण, घटक एकीकरण, रखरखाव और रिवर्स अभियांत्रिकी। अन्य सभी गतिविधियाँ पूरे जीवन-चक्र तक फैली हुई हैं और अपर और लोअर CASE पर समान रूप से लागू होती हैं।
 * 1) व्यापार और विश्लेषण मॉडलिंग। ग्राफिकल मॉडलिंग उपकरण। जैसे, ई/आर मॉडलिंग, ऑब्जेक्ट मॉडलिंग, आदि।
 * 2) विकास। जीवन-चक्र के डिजाइन और निर्माण चरण। डिबगिंग वातावरण। उदाहरण के लिए, आईआईएसई एलकेओ।
 * 3) सॉफ्टवेयर सत्यापन और सत्यापन। शुद्धता (कंप्यूटर विज्ञान), प्रदर्शन आदि के लिए कोड और विशिष्टताओं का विश्लेषण करें।
 * 4) विन्यास प्रबंधन। रिपॉजिटरी ऑब्जेक्ट्स और फाइलों के चेक-इन और चेक-आउट को नियंत्रित करें। जैसे, स्रोत कोड नियंत्रण प्रणाली, IISE।
 * 5) मेट्रिक्स और माप। जटिलता, प्रतिरूपकता के लिए कोड का विश्लेषण करें (जैसे, कोई जाना नहीं), प्रदर्शन, आदि।
 * 6) परियोजना प्रबंधन। प्रोजेक्ट प्लान, टास्क असाइनमेंट, शेड्यूलिंग प्रबंधित करें।

कार्यक्षेत्र
कार्यक्षेत्र दो या अधिक CASE टूल को एकीकृत करता है और विशिष्ट सॉफ़्टवेयर-प्रक्रिया गतिविधियों का समर्थन करता है। इसलिए वे हासिल करते हैं:
 * एक सजातीय और सुसंगत इंटरफ़ेस (प्रस्तुति एकीकरण)।
 * उपकरणों और टूलचेन्स (नियंत्रण और डेटा एकीकरण) का निर्बाध एकीकरण।

एक उदाहरण कार्यक्षेत्र Microsoft का मूल दृश्य प्रोग्रामिंग वातावरण है। इसमें कई विकास उपकरण शामिल हैं: एक जीयूआई बिल्डर, एक स्मार्ट कोड संपादक, डिबगर, आदि। अधिकांश व्यावसायिक CASE उत्पाद ऐसे कार्यक्षेत्र होते हैं जो मूल रूप से दो या अधिक उपकरणों को एकीकृत करते हैं। कार्यक्षेत्रों को भी उपकरण के रूप में उसी तरह वर्गीकृत किया जा सकता है; विश्लेषण, विकास, सत्यापन, आदि पर ध्यान केंद्रित करने के साथ-साथ अपर केस, लोअर केस, या कॉन्फ़िगरेशन प्रबंधन जैसी प्रक्रियाओं पर ध्यान केंद्रित किया जा रहा है जो पूरे जीवन-चक्र को फैलाते हैं।

पर्यावरण
एक परिवेश CASE टूल या कार्यक्षेत्र का एक संग्रह है जो संपूर्ण सॉफ़्टवेयर प्रक्रिया का समर्थन करने का प्रयास करता है। यह उन उपकरणों के विपरीत है जो एक विशिष्ट कार्य या जीवन-चक्र के एक विशिष्ट भाग पर ध्यान केंद्रित करते हैं। CASE परिवेशों को Fuggetta द्वारा निम्नानुसार वर्गीकृत किया गया है: 
 * 1) टूलकिट। उपकरणों का शिथिल युग्मित संग्रह। ये आमतौर पर ऑपरेटिंग सिस्टम वर्कबेंच जैसे कि यूनिक्स प्रोग्रामर वर्कबेंच या वीएमएस वैक्स सेट पर बनते हैं। वे आमतौर पर डेटा साझा करने और नियंत्रण पास करने के लिए पाइपिंग या किसी अन्य बुनियादी तंत्र के माध्यम से एकीकरण करते हैं। आसान एकीकरण की ताकत भी कमियों में से एक है। शेल स्क्रिप्टिंग जैसी तकनीकों के माध्यम से पैरामीटर्स को आसानी से पास करना उस तरह का परिष्कृत एकीकरण प्रदान नहीं कर सकता है जो एक सामान्य रिपॉजिटरी डेटाबेस कर सकता है।
 * 2) चौथी पीढ़ी। इन परिवेशों को चौथी पीढ़ी के भाषा परिवेशों के लिए खड़े 4GL के रूप में भी जाना जाता है, इस तथ्य के कारण कि शुरुआती वातावरण विशिष्ट भाषाओं जैसे विज़ुअल बेसिक के आसपास डिज़ाइन किए गए थे। वे कई उपकरणों का गहरा एकीकरण प्रदान करने वाले पहले वातावरण थे। आमतौर पर ये वातावरण विशिष्ट प्रकार के अनुप्रयोगों पर केंद्रित थे। उदाहरण के लिए, उपयोगकर्ता-इंटरफ़ेस संचालित अनुप्रयोग जो रिलेशनल डेटाबेस के लिए मानक परमाणु लेनदेन करते हैं। उदाहरण हैं इनफॉर्मिक्स 4जीएल और फोकस।
 * 3) भाषा-केंद्रित। एक बार-बार ऑब्जेक्ट-ओरिएंटेड भाषा पर आधारित वातावरण जैसे सिंबॉलिक्स लिस्प जेनेरा पर्यावरण या पार्सप्लेस से विजुअलवर्क्स स्मॉलटाक। इन वातावरणों में सभी ऑपरेटिंग सिस्टम संसाधन ऑब्जेक्ट-ओरिएंटेड भाषा में ऑब्जेक्ट थे। यह शक्तिशाली डिबगिंग और ग्राफिकल अवसर प्रदान करता है लेकिन विकसित कोड ज्यादातर विशिष्ट भाषा तक ही सीमित है। इस कारण से, ये परिवेश ज्यादातर CASE के भीतर एक आला थे। उनका उपयोग ज्यादातर प्रोटोटाइपिंग और आर एंड डी परियोजनाओं के लिए था। इन वातावरणों के लिए एक सामान्य मूल विचार मॉडल-व्यू-कंट्रोलर यूजर इंटरफेस था जो अंतर्निहित मॉडल के अनुरूप एक ही डिजाइन की कई प्रस्तुतियों को रखने में मदद करता था। MVC आर्किटेक्चर को अन्य प्रकार के CASE वातावरणों के साथ-साथ उनके साथ बनाए गए कई अनुप्रयोगों द्वारा अपनाया गया था।
 * 4) एकीकृत। ये परिवेश इस बात का उदाहरण हैं कि अधिकांश आईटी लोग जब CASE के बारे में सोचते हैं तो सबसे पहले क्या सोचते हैं। आईबीएम के एडी/साइकिल, एंडर्सन कंसल्टिंग फाउंडेशन, आईसीएल सीएडीईएस सिस्टम, और डीईसी सामंजस्य जैसे वातावरण। ये वातावरण पूरे जीवन-चक्र को विश्लेषण से रखरखाव तक कवर करने का प्रयास करते हैं और सॉफ़्टवेयर प्रक्रिया के सभी कलाकृतियों को संग्रहीत करने के लिए एक एकीकृत डेटाबेस भंडार प्रदान करते हैं। इस प्रकार के उपकरणों के लिए एकीकृत सॉफ़्टवेयर रिपॉजिटरी परिभाषित करने वाली विशेषता थी। उन्होंने कई अलग-अलग डिज़ाइन मॉडल प्रदान किए और साथ ही विषम भाषाओं में कोड के लिए समर्थन भी प्रदान किया। इन प्रकार के वातावरणों के लिए मुख्य लक्ष्यों में से एक राउंड ट्रिप इंजीनियरिंग था: डिजाइन स्तर पर परिवर्तन करने में सक्षम होना और कोड में स्वचालित रूप से परिलक्षित होना और इसके विपरीत। ये वातावरण आमतौर पर सॉफ्टवेयर विकास के लिए एक विशेष पद्धति से जुड़े थे। उदाहरण के लिए, एंडरसन का फाउंडेशन गिरना सूट एंडरसन विधि/1 कार्यप्रणाली से निकटता से जुड़ा हुआ था।
 * 5) प्रक्रिया-केंद्रित। यह एकीकरण का सबसे महत्वाकांक्षी प्रकार है। ये वातावरण न केवल औपचारिक रूप से सॉफ़्टवेयर प्रक्रिया के विश्लेषण और डिज़ाइन ऑब्जेक्ट्स को निर्दिष्ट करने का प्रयास करते हैं बल्कि वास्तविक प्रक्रिया को स्वयं और उस औपचारिक प्रक्रिया को सॉफ़्टवेयर प्रोजेक्ट को नियंत्रित करने और मार्गदर्शन करने के लिए उपयोग करने का प्रयास करते हैं। उदाहरण ईस्ट, एंटरप्राइज II, प्रोसेस वाइज, प्रोसेस वीवर और अर्काडिया हैं। ये वातावरण परिभाषा के अनुसार कुछ कार्यप्रणाली से बंधे थे क्योंकि सॉफ्टवेयर प्रक्रिया स्वयं पर्यावरण का हिस्सा है और टूल इनवोकेशन के कई पहलुओं को नियंत्रित कर सकती है।

व्यवहार में, कार्यक्षेत्र और वातावरण के बीच का अंतर लचीला था। उदाहरण के लिए विजुअल बेसिक एक प्रोग्रामिंग वर्कबेंच था लेकिन कई लोगों द्वारा इसे 4जीएल पर्यावरण भी माना जाता था। वातावरण से वर्कबेंच को अलग करने वाली विशेषताएं एक साझा रिपॉजिटरी या सामान्य भाषा और कुछ प्रकार की कार्यप्रणाली (एकीकृत और प्रक्रिया-केंद्रित वातावरण) या डोमेन (4GL) विशिष्टता के माध्यम से गहन एकीकरण थीं।

प्रमुख मामला जोखिम कारक
CASE तकनीक अपनाने वाले संगठनों के लिए कुछ सबसे महत्वपूर्ण जोखिम कारकों में शामिल हैं:
 * अपर्याप्त मानकीकरण। संगठनों को आमतौर पर अपनी विशिष्ट आवश्यकताओं के लिए कार्यप्रणालियों और उपकरणों को तैयार करना और अपनाना पड़ता है। ऐसा करने के लिए अलग-अलग तकनीकों के साथ-साथ अलग-अलग तरीकों को एकीकृत करने के लिए महत्वपूर्ण प्रयास की आवश्यकता हो सकती है। उदाहरण के लिए, यूएमएल मानक को अपनाने से पहले ऑब्जेक्ट-ओरिएंटेड मॉडल को डिजाइन करने के लिए डायग्राम कन्वेंशन और तरीके जैकबसेन, बूच और रूंबाघ के अनुयायियों के बीच काफी भिन्न थे।
 * अवास्तविक उम्मीदें। CASE तकनीक के समर्थक—ख़ास तौर पर महंगे टूल सेट की मार्केटिंग करने वाले विक्रेता—अक्सर उम्मीदों का प्रचार करते हैं कि नया दृष्टिकोण एक चांदी की गोली होगी जो सभी समस्याओं को हल करती है। वास्तव में ऐसी कोई तकनीक ऐसा नहीं कर सकती है और यदि संगठन CASE को अवास्तविक उम्मीदों के साथ संपर्क करते हैं तो वे अनिवार्य रूप से निराश होंगे।
 * अपर्याप्त प्रशिक्षण। जैसा कि किसी भी नई तकनीक के साथ होता है, CASE को लोगों को टूल का उपयोग करने और उनके साथ गति करने के लिए प्रशिक्षित करने के लिए समय की आवश्यकता होती है। यदि व्यवसायियों को प्रशिक्षण के लिए पर्याप्त समय नहीं दिया जाता है या नई तकनीक के साथ प्रयास किया गया पहला प्रोजेक्ट अपने आप में अत्यधिक महत्वपूर्ण और जोखिम से भरा है, तो CASE प्रोजेक्ट विफल हो सकते हैं।
 * अपर्याप्त प्रक्रिया नियंत्रण। CASE नए प्रकार के उपकरणों को नवीन तरीकों से उपयोग करने के लिए महत्वपूर्ण नई क्षमताएँ प्रदान करता है। उचित प्रक्रिया मार्गदर्शन और नियंत्रण के बिना ये नई क्षमताएं महत्वपूर्ण नई समस्याएं भी पैदा कर सकती हैं।

यह भी देखें

 * मॉडलिंग की दिनांक
 * डोमेन-विशिष्ट मॉडलिंग
 * विधि इंजीनियरिंग
 * मॉडल संचालित वास्तुकला
 * मॉडलिंग भाषा
 * रैपिड अनुप्रयोग का विकास
 * स्वचालित प्रोग्रामिंग