ऐसा लग सकता है कि "आईटी सपोर्ट फर्म के लिए एक बिजनेस मॉडल होना चाहिए जो इस तरह से विरासत प्लेटफार्मों पर ध्यान केंद्रित करता है", लेकिन व्यक्तिगत रूप से मुझे लगता है कि आपके हिस्से में सिर्फ इच्छाधारी सोच है क्योंकि यह उन चुनौतियों का "हल" करेगा जो आप एक में सामना करते हैं। एक तीव्र वार में।
पुराने वातावरण में डटे रहना आगे बढ़ने का रास्ता नहीं है। और मैं किसी भी कंपनी के जीवन को दांव पर लगाने की कोशिश करने पर किसी भी कंपनी के जीवन को दांव पर नहीं लगाऊंगा, जो कि अभी के लिए, आप वह कर सकते हैं जो आप स्पष्ट रूप से नहीं कर सकते।
इसलिए आपके द्वारा पूछे गए वास्तविक प्रश्न का उत्तर नहीं है, लेकिन न्यूनतम प्रवासन के जोखिमों को कम करते हुए आप कैसे आगे बढ़ सकते हैं, इस बारे में ईमानदार सलाह।
"कैसे अपनी पवित्रता खोने के लिए एक जमीन को फिर से लिखना फिर से लिखना जीवित रहने के लिए"
लंबे समय तक बिना किसी वास्तविक परिणाम के एक लंबी माइग्रेशन परियोजना की त्रुटि न करें। पढ़ें "कैसे अपने विवेक खोने wihtout एक जमीन-अप पुनर्लेखन जीवित रहने के लिए"
मैं इस बात पर जोर नहीं दे सकता कि उस लेख में किस तरह की सलाह ने मुझे इस तरह की परियोजनाओं को "पुराने" तरीके से जलाने के बाद इसी तरह की समस्याओं से निपटने / संपर्क करने में मदद की है।
स्वचालित परीक्षण सेट करें
यदि आपको यह पहले से ही नहीं मिला है (कभी क्यों नहीं?), तो अपने वर्तमान प्रोग्रामर से अपने अनुप्रयोगों के लिए एक स्वचालित परीक्षण हार्नेस प्राप्त करें।
स्वचालित परीक्षण सूट में आपके अनुप्रयोगों के सभी कार्यात्मक क्षेत्र शामिल होने चाहिए। यह व्यक्तिगत परीक्षण मामलों के "जब_X_then_Y" नियमों में वर्तमान कामकाजी विशिष्टताओं को दस्तावेज में बदल देगा। यह आपके मौजूदा कोड को मौजूदा कार्यक्षमता को तोड़ने से रोकने के साथ-साथ एक नए वातावरण में किसी भी प्रवास का समर्थन करने में दोनों को बदलने में मदद करेगा।
जैसा कि आप COBOL और BASIC के साथ काम कर रहे हैं, परीक्षण सूट शायद एकीकरण परीक्षणों के स्तर पर होना चाहिए: इनपुट फ़ाइलों / डेटाबेस के एक "निश्चित" सेट पर काम करना और विशिष्ट कार्यक्रमों (COBOL) और के आउटपुट फ़ाइलों / परिवर्तित डेटाबेस सामग्री की जाँच करना / या अनुप्रयोग। आपके सॉफ़्टवेयर के बुनियादी हिस्सों के लिए इसका मतलब हो सकता है कि कमांड लाइन मापदंडों को जोड़ने के बिना उन्हें (G) UI हस्तक्षेप के कुछ कार्य करने के लिए, या (G) UI आधारित स्वचालित परीक्षण उपकरण प्राप्त करना।
गणना और अन्य एल्गोरिदम को अलग करें
यहां तक कि कोबोल एक मुख्य कार्यक्रम से कॉल करने योग्य उप कार्यक्रमों की धारणा का समर्थन करता है। सभी आयात गणना और अन्य एल्गोरिदम को अलग-अलग कार्यक्रमों या मॉड्यूल में अलग करें। लक्ष्य कार्यक्रमों / मॉड्यूलों का एक पुस्तकालय बनाना है / जो कुछ भी है जो इनपुट को इकट्ठा करने और आउटपुट बनाने के लिए अलग-अलग काम करता है।
अपने पुराने अनुप्रयोगों के साथ-साथ अलगाव में उन दोनों का परीक्षण करने के लिए परीक्षण दोहन को अनुकूलित करें। यह सुनिश्चित करेगा कि एक नए परिवेश में प्रवास को सुविधाजनक बनाने के लिए आप "पुराने" कोड पर जो काम कर रहे हैं, वह यथासंभव कम त्रुटियों का परिचय देगा।
"वर्तमान" वातावरण में अनुप्रयोगों का एक नया सेट शुरू करें
अपना वर्तमान कोड मत बदलो। एक भाषा को दूसरी भाषा में परिवर्तित करने का अर्थ है नए पर पुराने परिवेश की बाधाओं को थोपना। परिणाम यदि अक्सर वांछनीय से कम है (पढ़ें: परिणाम भयानक होगा और बनाए रखने के लिए एक दर्द होगा)। माइग्रेट। नए वातावरण में अपने अनुप्रयोगों को इस तरह से सेट करने के लिए समय निकालें जो उस वातावरण के लिए सबसे अच्छा अभ्यास माना जाता है।
ऐसा करने के लिए, अपने चुने हुए वातावरण में पारंगत होने के लिए नए प्रोग्रामर प्राप्त करें। सभी महत्वपूर्ण गणनाओं और एल्गोरिदम को अलग-अलग कक्षाओं और / या पैकेजों में अलग करने और उन्हें इंटरफेस के पीछे छिपाने के लिए पहले दिन से इसे प्राथमिकता दें। अपने नए एप्लिकेशन को बताने के लिए निर्भरता इंजेक्शन (सबसे सस्ता प्रकार का DIY निर्भरता इंजेक्शन का उपयोग करें) जो गणना करने के लिए तुरंत / उपयोग करने के लिए कक्षाएं लेता है।
यह वैसे भी चीजों को करने का एक अच्छा तरीका है और आपके मामले में आपको प्रति केस के आधार पर उन महत्वपूर्ण भागों को स्थानांतरित करने की अनुमति देगा। यह नए वातावरण में कॉलिंग फ़ंक्शन से बुनियादी और / या कोबोल कार्यक्रमों को कॉल करने की जटिलताओं को भी छिपाएगा।
किसी भी आगे मत जाओ कि अनुप्रयोगों की स्थापना और शायद सबसे महत्वपूर्ण इनपुट / आउटपुट फ़ंक्शन सेट करें जो आपके COBOL / BASIC "पुस्तकालय" से एक गणना का उपयोग करता है।
अपने COBOL / बुनियादी "पुस्तकालय" को एकीकृत करें
अपने नए परिवेश से अपने COBOL / BASIC "पुस्तकालय" को कॉल करने का तरीका जानें। इसमें एक पैरामीटर फ़ाइल या डेटाबेस टेबल सेट करना, एक COBOL / BASIC प्रोग्राम निष्पादित करना, जो आपके द्वारा पहले स्थापित COBOL / BASIC लाइब्रेरी को लपेटता है। यदि आप भाग्यशाली हैं तो आपका संस्करण DLIC के निर्माण के लिए अनुमति दे सकता है जिसे सीधे कहा जा सकता है।
अपने नए परिवेश में कक्षा को लागू करें जो COBOL / BASIC "लाइब्रेरी" कहलाएगी और उसी परीक्षा का उपयोग करते हुए इसमें से बिल्ली का परीक्षण करेगी जो पुराने वातावरण के टेस्ट हार्नेस में हैं, लेकिन अब नए वातावरण में यूनिट टेस्ट के रूप में ।
हां इसका मतलब है कि परीक्षणों को "डुप्लिकेट करना", लेकिन यह एक सुरक्षा जाल है जिसे आप बिना करना नहीं चाहते हैं। यदि केवल इसलिए कि ये इकाई परीक्षण बाद में आपकी गणना और एल्गोरिदम के कार्यान्वयन की जांच करने के लिए परीक्षण के रूप में काम करेंगे, जब वे आपके नए वातावरण में चले जाते हैं।
लेकिन फिर से: पिछले चरण से सबसे महत्वपूर्ण एकल द्वारा उपयोग की जाने वाली गणना (नों) के लिए इकाई परीक्षणों को जोड़ने से आगे मत जाओ।
मांस पुनरावृत्तियों में नए अनुप्रयोगों
अपने पुराने अनुप्रयोगों में सभी कार्यों के लिए पिछले दो चरणों को दोहराकर नए एप्लिकेशन को हटा दें। उन यूनिट परीक्षणों को जोड़ते रहें जो आपके नए अनुप्रयोगों के परीक्षण दोहन की गणना की जाँच करते हैं। माइग्रेट किए गए फ़ंक्शन आपके पुराने अनुप्रयोगों के समान कार्य करने के लिए जाँच करने के लिए एकीकरण परीक्षण सूट का उपयोग करें।
पुनरावृत्तियों में मुख्य पुस्तकालय माइग्रेट करें
और अंत में अपने COBOL / BASIC "पुस्तकालय" में गणना और एल्गोरिदम को माइग्रेट करें, उन्हें अपने नए वातावरण में फिर से लागू करें। फिर, अपनी पवित्रता को बनाए रखने के तरीके के रूप में इसे (इकाई) परीक्षणों का उपयोग करके पुनरावृत्त करें।