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

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

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

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

बाजार में अगला प्रवेश कैंब्रिज, द्रव्यमान में निर्देशिका तकनीकी से एक्सेलरेटर था। जबकि प्रारूपित सहायक अभिसरण तकनीकी पर चलता था और इसके पश्चात् बरोज एनजीएन ने माइक्रो कंप्यूटरों को नेटवर्क किया, निर्देशिका ने आईबीएम पीसी/एटी पटल पर एक्सेलरेटर लॉन्च किया। जबकि, लॉन्च के समय, और कई वर्षों तक, आईबीएम पटल ने नेटवर्किंग या एक केंद्रीकृत डेटाबेस का समर्थन नहीं किया जैसा कि कन्वर्जेंट टेक्नोलॉजीज या बरोज मशीन ने किया था, आईबीएम का आकर्षण मजबूत था, और एक्सेलरेटर प्रमुखता से आया। नॉलेजवेयर (जेम्स मार्टिन, फ्रान टार्केंटन और डॉन एडिंगटन), टेक्सास उपकरण के सीए जनरल और एंडर्सन कंसल्टिंग। एंडरसन कंसल्टिंग के बुनियादी उपकरण समुच्चय (डिजाइन / 1, इंस्टाल / 1, एफसीपी) जैसी कंपनियों से एक्सेलरेटर की ऊँची एड़ी के जूते पर गर्म थे।. 1990 के दशक की प्रारम्भ में केस उपकरण अपने चरम पर थे। जनवरी 1990 की पीसी पत्रिका के अनुसार, 100 से अधिक कंपनियां लगभग 200 अलग-अलग केस उपकरण प्रस्तुत कर रही थीं। उस समय आईबीएम ने एडी/साईकिल का प्रस्ताव रखा था, जो मेनफ़्रेम कंप्यूटर और ओएस/2 में आईबीएम डीबी2 का उपयोग करके आईबीएम के सॉफ्टवेयर संग्रहण पर केंद्रित सॉफ़्टवेयर विक्रेताओं का समझौता था:


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

मेनफ्रेम की गिरावट के साथ, एडी/साइकिल और बड़े केस उपकरण बंद हो गए, जिससे आज के मुख्यधारा के केस उपकरण के लिए बाजार खुल गया। 1990 के दशक की प्रारम्भ के केस बाजार के कई संकेतक कंप्यूटर सहयोगी द्वारा खरीदे जा रहे थे, जिनमें आईइडब्ल्यू, आईईएफ, एडीडब्ल्यू, केयेन और लियरमोंथ और बर्चेट प्रबंधन प्रणाली (एलबीएमएस) सम्मिलित थे। दूसरी प्रवृत्ति जिसने केस उपकरणों के विकास का नेतृत्व किया, वह वस्तु-उन्मुख विधियों और उपकरणों का उदय था। अधिकांश विभिन्न उपकरण विक्रेताओं ने वस्तु-उन्मुख विधियों और उपकरणों के लिए कुछ समर्थन जोड़ा। इसके अतिरिक्त्, नए उत्पाद सामने आए जिन्हें वस्तु-उन्मुख दृष्टिकोण का समर्थन करने के लिए नीचे से ऊपर तक प्रारूपित किया गया था। एंडरसन ने अपनी परियोजना ईगल को बुनियादी विकल्प के रूप में विकसित किया। वस्तु-उन्मुख विकास में कई विचारक नेतृत्व ने अपनी-अपनी कार्यप्रणाली और केस उपकरण समुच्चय विकसित किया: जैकबसन, रूंबाघ, ग्रेडी बूच, आदि। अन्ततः, इन विविध उपकरण समुच्चयों और विधियों को लक्ष्य प्रबंधन समूह (ओएमजी) के नेतृत्व वाले मानकों के माध्यम से समेकित किया गया। ओएमजी की एकीकृत प्रारूपित भाषा (युएमएल) वर्तमान में वस्तु के उन्मुख प्रारूपण के लिए उद्योग मानक के रूप में व्यापक रूप से स्वीकार की जाती है।

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

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

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

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

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

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

यह भी देखें

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