এটি দেখে মনে হতে পারে যে "আইটি সমর্থনকারী ফার্মের জন্য এমন একটি ব্যবসায়ের মডেল হওয়া উচিত যা এই জাতীয় লিগ্যাসি প্ল্যাটফর্মে মনোনিবেশ করে" তবে ব্যক্তিগতভাবে আমি মনে করি যে এটি আপনার অংশে কেবল ইচ্ছাকৃত চিন্তাভাবনা কারণ এটি আপনার মধ্যে যে চ্যালেঞ্জগুলির মুখোমুখি হবে "সমাধান" করবে would খোলস ঝরা.
পুরানো পরিবেশে আটকে থাকা এগিয়ে যাওয়ার উপায় নয়। এবং আমি কারও পক্ষে এমন কোনও দৃ .় সন্ধান করে আটকে থাকার চেষ্টা করার জন্য কোনও সংস্থার জীবনকে বাজি ধরব না যে আপাতত, আপনি যা করতে পারেন তা করতে রাজি হবেন।
সুতরাং আপনি যে প্রকৃত জিজ্ঞাসা জিজ্ঞাসা করেছিলেন তার কোনও উত্তর নয়, তবে কোনও অভিবাসন ঝুঁকিকে ন্যূনতম রাখার সময় আপনি কীভাবে এগিয়ে যেতে পারেন সে সম্পর্কে আন্তরিক পরামর্শ।
"আপনার বিচক্ষণতা হারাতে গ্রাউন্ড-আপ পুনর্লিখন কীভাবে বাঁচবেন" পড়ুন
দীর্ঘ সময়ের জন্য সত্যিকারের ফলাফল না দিয়ে দীর্ঘ অভিবাসন প্রকল্পের ত্রুটি তৈরি করবেন না। "আপনার বিচক্ষণতা হারাতে গ্রাউন্ড-আপ পুনর্লিখন কীভাবে বাঁচবেন" পড়ুন
আমি এই প্রবন্ধের পরামর্শ কীভাবে আমাকে "পুরাতন" উপায়ে এই ধরণের প্রকল্পগুলি করে নিজেকে পোড়ানোর পরে অনুরূপ সমস্যাগুলি মোকাবেলা / কাছে আসতে সহায়তা করেছে তা আমি যথেষ্ট চাপ দিতে পারি না।
স্বয়ংক্রিয় পরীক্ষাগুলি সেট আপ করুন
যদি আপনি এটি ইতিমধ্যে জায়গায় না পেয়ে থাকেন (কেন কখনও নয় কেন?), আপনার বর্তমান প্রোগ্রামারদের আপনার অ্যাপ্লিকেশনগুলির জন্য একটি স্বয়ংক্রিয় পরীক্ষার জোতা তৈরি করতে পান।
স্বয়ংক্রিয় পরীক্ষার স্যুটটি আপনার অ্যাপ্লিকেশনগুলির সমস্ত কার্যকরী ক্ষেত্রগুলি কভার করবে। এটি পৃথক পরীক্ষার ক্ষেত্রে "যখন_এক্স_থেন_ওয়াই" বিধিগুলিতে বর্তমান কাজের স্পেসিফিকেশন ডকুমেন্ট করবে। এটি বিদ্যমান কার্যকারিতা ভঙ্গ করা থেকে আপনার বর্তমান কোডে পরিবর্তন রাখতে এবং নতুন পরিবেশে যে কোনও স্থানান্তরকে সমর্থন করতে উভয়কে সহায়তা করবে।
আপনি যেমন কোবল এবং বেসিকের সাথে কাজ করছেন, পরীক্ষার স্যুটটি সম্ভবত সংহতকরণের পরীক্ষার স্তরে হওয়া উচিত: ইনপুট ফাইল / ডাটাবেসগুলির একটি "নির্দিষ্ট" সেট বন্ধ করে কাজ করা এবং নির্দিষ্ট প্রোগ্রামগুলির আউটপুট ফাইল / পরিবর্তিত ডাটাবেস সামগ্রী (সিওবিএল) পরীক্ষা করা এবং / অথবা অ্যাপ্লিকেশন। আপনার সফ্টওয়্যারটির বেসিক অংশগুলির জন্য এর অর্থ হ'ল কমান্ড লাইন প্যারামিটারগুলি যুক্ত করা (G) UI হস্তক্ষেপ ছাড়াই নির্দিষ্ট ফাংশনগুলি প্রয়োগ করতে পারে বা একটি (জি) ইউআই ভিত্তিক স্বয়ংক্রিয় পরীক্ষামূলক সরঞ্জাম প্রাপ্ত করতে পারে।
গণনা এবং অন্যান্য অ্যালগরিদম বিচ্ছিন্ন করুন
এমনকি কোবল একটি প্রধান প্রোগ্রাম থেকে কলযোগ্য উপ-প্রোগ্রামগুলির ধারণাকে সমর্থন করে। পৃথক প্রোগ্রাম বা মডিউলগুলিতে সমস্ত আমদানির গণনা এবং অন্যান্য অ্যালগরিদমকে আলাদা করুন। লক্ষ্য হ'ল প্রোগ্রামগুলি / মডিউলগুলির / যা কিছু কাজ করে যা কিছু কাজ করে যা ইনপুট সংগ্রহ করে এবং আউটপুট তৈরি করে তা বিচ্ছিন্ন করে একটি গ্রন্থাগার তৈরি করা।
আপনার পুরানো অ্যাপ্লিকেশনগুলির পাশাপাশি পৃথকীকরণের মাধ্যমে উভয়ই পরীক্ষার জোড়াকে অভিযোজিত করুন। এটি নিশ্চিত করবে যে আপনি নতুন পরিবেশে স্থানান্তরিত করতে সুবিধার্থে "পুরানো" কোডটিতে যে কাজটি করছেন তা যতটা সম্ভব ত্রুটিগুলি প্রবর্তন করবে।
"বর্তমান" পরিবেশে অ্যাপ্লিকেশনগুলির একটি নতুন সেট শুরু করুন
আপনার বর্তমান কোড রূপান্তর করবেন না। একটি ভাষা অন্য ভাষায় রূপান্তরিত করার অর্থ পুরানো পরিবেশের সীমাবদ্ধতাকে নতুনের উপর চাপিয়ে দেওয়া। ফলাফলটি প্রায়শই কাঙ্ক্ষিতের চেয়ে কম হলে (পড়ুন: ফলাফলটি ভয়ানক এবং বজায় রাখার জন্য ব্যথা হবে)। মাইগ্রেট. নতুন পরিবেশে আপনার অ্যাপ্লিকেশনগুলি এমনভাবে সেট আপ করার জন্য সময় নিন যা সেই পরিবেশের জন্য সেরা অনুশীলন হিসাবে বিবেচিত হয়।
আপনার পছন্দসই পরিবেশে পারদর্শী নতুন প্রোগ্রামার পান, এটি করতে। প্রথম শ্রেণীর সমস্ত গুরুত্বপূর্ণ গণনা এবং অ্যালগরিদমকে পৃথক শ্রেণি এবং / অথবা প্যাকেজগুলিতে পৃথক করে ইন্টারফেসের আড়ালে আড়াল করে রাখার জন্য প্রথম দিনটিকে এটি একটি অগ্রাধিকার করুন। নির্ভরযোগ্যতা ইনজেকশন ব্যবহার করুন (সর্বাধিক প্রকারের ডিআইওয়াই নির্ভরতা ইনজেকশনটি করবে) আপনার নতুন অ্যাপ্লিকেশনটি জানানোর জন্য ক্লাসগুলি কীভাবে ইনস্ট্যান্টিয়েট করতে / ব্যবহার করতে হবে tell
যাইহোক যাইহোক জিনিসগুলি করার এটি একটি ভাল উপায় এবং আপনার ক্ষেত্রে আপনাকে প্রতি কেস ভিত্তিতে সেই গুরুত্বপূর্ণ অংশগুলি স্থানান্তর করতে দেয়। এটি নতুন পরিবেশে কলিং ফাংশন থেকে বেসিক এবং / অথবা কোবোল প্রোগ্রামগুলি কল করার জটিলতাগুলিও আড়াল করবে।
অ্যাপ্লিকেশনগুলি সেট আপ করা এবং সম্ভবত আপনার সিওবিএল / বেসিক "লাইব্রেরি" থেকে কোনও গণনা ব্যবহার করে এমন একক অতি গুরুত্বপূর্ণ ইনপুট / আউটপুট ফাংশন সেটআপ করুন।
আপনার কোবল / বেসিক "লাইব্রেরি" সংহত করুন
আপনার নতুন পরিবেশ থেকে কীভাবে আপনার সিওবিএল / বেসিক "লাইব্রেরি" কল করবেন তা নির্ধারণ করুন। এর মধ্যে প্যারামিটার ফাইল বা ডাটাবেস টেবিল স্থাপন করা থাকতে পারে, এমন একটি সিওবিওএল / বেসিক প্রোগ্রাম নির্বাহ করা যা আপনার পূর্বে সেট করা COBOL / বেসিক লাইব্রেরিটি মোড়বে। আপনি যদি ভাগ্যবান হন তবে আপনার বেসিকের সংস্করণটি ডিএলএল তৈরির অনুমতি দিতে পারে যা সরাসরি বলা যেতে পারে।
আপনার নতুন পরিবেশে এমন ক্লাসটি প্রয়োগ করুন যা সিওবিএল / বেসিককে "লাইব্রেরি" বলবে এবং পুরাতন পরিবেশের পরীক্ষার জোরে পরীক্ষা করা একই পরীক্ষাগুলি ব্যবহার করে হ্যাকটি পরীক্ষা করবে তবে এখন নতুন পরিবেশে ইউনিট পরীক্ষার আকারে ।
হ্যাঁ এর অর্থ পরীক্ষাগুলির "নকল করা", তবে এটি এমন একটি সুরক্ষা নেট যা আপনি ছাড়া করতে চান না। কেবলমাত্র যদি এই ইউনিট পরীক্ষাগুলি পরবর্তীতে আপনার নতুন পরিবেশে স্থানান্তরিত হয় তখন আপনার গণনা এবং অ্যালগরিদমগুলির বাস্তবায়ন পরীক্ষা করার জন্য পরীক্ষার হিসাবে কাজ করবে।
তবে আবার: আগের পদক্ষেপের চেয়ে একক অতি গুরুত্বপূর্ণ দ্বারা গণনা (গুলি) এর জন্য ইউনিট পরীক্ষার যোগ করার চেয়ে আরও বেশি কিছু করবেন না।
নতুন অ্যাপ্লিকেশনগুলি পুনরাবৃত্তিতে সন্ধান করুন
আপনার পুরানো অ্যাপ্লিকেশনগুলির সমস্ত ফাংশনের জন্য পূর্ববর্তী দুটি পদক্ষেপ পুনরাবৃত্তি করে নতুন অ্যাপ্লিকেশনগুলি সন্ধান করুন। আপনার নতুন অ্যাপ্লিকেশনগুলির পরীক্ষার জোতাতে গণনাগুলি পরীক্ষা করে এমন ইউনিট পরীক্ষাগুলি যুক্ত রাখুন। স্থানান্তরিত ফাংশনগুলি আপনার পুরানো অ্যাপ্লিকেশনগুলির মতো একইভাবে কাজ করে তা পরীক্ষা করতে ইন্টিগ্রেশন টেস্ট স্যুট ব্যবহার করুন।
মূল পাঠাগারটি পুনরাবৃত্তিতে স্থানান্তর করুন
এবং অবশেষে আপনার সিওবিএল / বেসিক "লাইব্রেরি" -তে গণনা এবং অ্যালগরিদমগুলি স্থানান্তর করুন, সেগুলি আপনার নতুন পরিবেশে পুনরায় বাস্তবায়ন করুন। আবার, এই পুনরাবৃত্তির সাথে (একক) পরীক্ষাগুলি আপনার বিচক্ষণতা বজায় রাখার উপায় হিসাবে ব্যবহার করুন।