![১.৪ প্রােগ্রাম পরিকল্পনার পদ্ধতি বা ধাপসমূহ (Process of program planning)](http://likebd.com/wp-content/uploads/2021/01/process.png)
সু্ষ্ঠ পরিকল্পনা ছাড়া কোন কাজই সুসম্পন্ন হয় না। তাই কোন প্রােগ্রাম লিখতে হলে সুনির্দিষ্ট কতকগুলাে ধাপে ধাপে সুষ্ঠ পরিকল্পনার মাধ্যমে প্রােগ্রামটি সম্পন্ন হয়। প্রােগ্রাম পরিকল্পনার ধাপসমূহ নিম্নরূপঃ
– সমস্যা চিহ্নিত করা (Problem identification)
– সিস্টেম বিশ্লেষণ (System analysis)
– প্রােগ্রামের ইনপুট আউটপুট নির্ণয় (Input-output)
– অ্যালগরিদম উন্নয়ন (Algorithm development)
– ফ্লোচার্ট উন্নয়ন (Flowchart development)
– প্রােগ্রামিং ভাষা নির্ধারণ (Programing language)
– প্রােগ্রাম রচনা (Program coding)
– প্রােগ্রাম কম্পাইলেশন (Program compilation)
– প্রােগ্রাম পরীক্ষণ ও সংশােধন (Program testing & debugging)
– ডকুমেন্টেশন (Documentation)
– ইন্সটেশন (Installation)
– রক্ষণাবেক্ষণ (Maintenance)
সমস্যা চিহ্নিত করাঃ প্রোগ্রাম পরিকল্পনার প্রথম ধাপ হচ্ছে সমস্যা চিহ্নিত করা। অর্থাৎ ব্যবহারকারী চাহিদার অনুযায়ী কোন সমস্যার জন্য প্রােগ্রাম লিখতে হবে তা চিহ্নিত করা ।
সিস্টেম বিশ্লেষণঃ সমস্যা চিহ্নিত করার পর সমস্যা সম্পর্কিত বিভিন তথ্য সংগ্রহ করে তা বিশ্লেষণ করতে হবে, যা সিস্টেম বিশ্লেষণ ও সমস্যা চিহ্নিত করার পর সমস্যা সম্পর্কিত বিভিন্ন তথ্য সংগ্রহ প্রােগ্রামিং পরিকল্পনার পরবর্তী ধাপসমূহে ব্যবহার করা যাবে।
প্রােগ্রামের ইনপুট/ আউটপুট নির্ণয়ঃ এ পর্যায়ে সমস্যা সমাধানের জন্য প্রয়ােজনীয় ইনপুট ও আউটপুটসমূহ নির্ণয় করা হয়। প্রােগ্রামে কোন কোন ডাটা বা তথ্য ইনপট হিসেবে ব্যবহার করা হবে এবং উল্লেখিত ডাটার জন্য কি কি আউটপুট আসবে, এর জন্য কোন কোন ফর্মুলা বা সত্রের ব্যবহার প্রয়ােগ করতে হবে তা নির্ধারণ করে দেয়া হয়।
প্রােগ্রামের অ্যালগরিদম উন্নয়ন করাঃ কোন সমস্যা সম্পর্কে পূর্ণ ধারণা এবং তার সমাধানের সূত্র পাওয়া গেলে পরবর্তী কাজ হল সমস্যা সমাধানের ক্রমানুযায়ী ধারাবাহিক ধাপসমূহকে লিখিতরূপে প্রকাশ করা। অর্থাৎ প্রােগ্রামটির জন্য অ্যালগরিদম উন্নয়ন করা।
ফ্লোচার্ট তৈরি করাঃ একটি প্রােগ্রাম তৈরি করার পূর্বে প্রােগ্রামটি পর্যায়ক্রমে একের পর এক কিভাবে কাজ করবে সেই ধাপগুলাে চিত্রের বা ছবির মাধ্যমে অথবা ড্রয়িং এর মাধ্যমে প্রকাশ করাকে ফ্লোচার্ট বলে। প্রােগ্রাম লেখার আগে প্রােগ্রামটি কিভাবে কাজ করবে সেই সম্পর্কে স্বচ্ছ ধারণা থাকতে হবে। অনেক সময় প্রােগ্রামের আকার বেশি বড় হলে ফ্লোচার্ট তৈরি করে নিলে কাজ করতে সুবিধা হয়। গ্রাফ দেখে যেমন কয়েক বছরের ডাটা বা তথ্য সম্পর্কে পরিষ্কার ধারণা পাওয়া যায়, তেমনি ফ্লোচার্ট দেখে প্রােগ্রামের মূল কার্যকারিতা অতি সহজে বুঝা যায়। এতে প্রোগ্রাম অন্য কেউ বিশ্লেষণ করতে পারে, প্রােগ্রামিং করতে সুবিধা হয় এবং সময় বাঁচে। প্রােগ্রামিং করার সময় সমস্যার সৃষ্টি হলে ফ্লোচার্ট দেখে সমস্যার সমাধান করা যায়। দক্ষ প্রােগ্রামাররা সব সময় ফ্লোচার্ট তৈরি করে প্রােগ্রাম তৈরি করেন।
প্রােগ্রামিং ভাষা নির্ধারণঃ ফ্লো চার্ট তৈরির পরের ধাপ হচ্ছে প্রােগ্রামিং এর জন্য একটি সুর্নিদিষ্ট ভাষা নির্বাচন করা সাধারণভাবে কোন অ্যাপ্লিকেশন বা কাস্টমাইজড প্যাকেজ তৈরির সময় নির্দিষ্ট একটি প্রােগ্রামিং ভাষা ব্যবহার করা হয়। কখনাে কখনাে একটি বিশেষ প্রােগ্রামিং ভাষার পক্ষে হয়তাে বা বিশেষ কোন কাজ করা সম্ভব নাও হতে পারে। সেক্ষেত্রে অন্য কোন ভাষার সহায়তা নেয়া যেতে পারে। উল্লেখ্য কোন কোন সফটওয়্যার কোম্পানি নির্দিষ্ট কোন কাজের জন্য বিশেষ কোন প্রােগ্রামিং ভাষাকে প্রাধান্য দিয়ে থাকেন। অনেক সময় প্রােগ্রামিং ভাষাটি কঠিন পদ্ধতিতে যেমন- মেশিন কোডে নির্বাচন না করে এসেম্বলারের সাহায্য নেয়ার পরামর্শ দেয়া হয়ে থাকে অথবা কোন হাই লেবেল ভাষা নির্বাচন করতে বলা হয়ে থাকে। অনেক প্রােগ্রামার আছে তারা তাদের কাজের দক্ষতা ও ভাল সফটওয়্যার উপহার দেয়ার জন্য নিজ থেকেই কোন নির্দিষ্ট প্রােগ্রামিং ভাষাকে নির্বাচন করে থাকেন।
প্রােগ্রাম রচনা করাঃ এ ধাপে প্রােগ্রামিং লেখার জন্য যে নির্দিষ্ট ভাষাটি নির্বাচন করা হয়েছে সেই প্রােগ্রামিং ল্যাংগুয়েজ ব্যবহার করে প্রােগ্রাম রচনা করা হয়।
কম্পাইল করাঃ হাই লেভেল ল্যাংগুয়েজে রচিত প্রােগ্রামটি কম্পিউটার বুঝতে পারে না। তাই হাই লেভেল। ল্যাংগুয়েজে রচিত প্রােগ্রামটিকে মেশিন ল্যাংগুয়েজে রূপান্তর করে দিতে হয়, অর্থাৎ কম্পাইল করতে হয়। পােলা কম্পাইল করার সময় প্রচুর কম্পাইলিং এরাের (ভুল) খুঁজে পাওয়া যায়। কম্পাইলারের নির্দেশ মােতাবেক কাজ করলে প্রোগ্রাম কম্পাইলিং এর কাজটি নিখুঁত ভাবে করা যায় ।
প্রােগ্রাম পরিক্ষণ ও সংশােধনঃ সাধারণভাবে প্রাথমিক পর্যায়ে প্রায় প্রােগ্রামেই কিছু ভুল-ত্রুটি থাকে। এগুলাে নানা কারণে হতে পারে। (যেমন- প্রােগ্রামের ভাষা এবং অপারেটিং সিস্টেম সম্পর্কে স্বচ্ছ ধারণার অভাবে, ডাটার জটিলতা ইত্যাদি কারণে)। প্রােগ্রামের এ ভুল-ত্রুটিসমূহকে বাগস (Bug) বলে । প্রােগ্রামের এসব ভুল-ত্রুটি দূর করার প্রক্রিয়াকে ডিবাগিং (Debugging) বলা হয়। উপযুক্ত কমান্ডের সাহায্যে এ সমস্যাগুলাে সমাধান করা যেতে পারে। এজন্য প্রােগ্রাম বাজারজাতকরণের পূর্বে বিভিন্ন ধরনের আলফা টেস্ট, বিটা টেস্ট ইত্যাদি করা হয়। এ সমস্ত টেস্টগুলাে প্রােগ্রামের যথার্থতা বা নির্ভুলতা বিচারে যথেষ্ট সহায়ক হয়ে থাকে।
ডকুমেন্টেশনঃ ডকুমেন্টেশন হচ্ছে প্রােগ্রাম পরিকল্পনার বিভিন্ন ধাপসমূহ যেমন অ্যালগরিদম, ফ্লোচার্ট, প্রােগ্রাম কোডিং, বাগ, ডিবাগ, ফলাফল ও ব্যবহারকারীর জন্য প্রয়ােজনীয় নির্দেশ ইত্যাদির লিখিত বিবরণ ডকুমেন্ট আকারে লিপিবদ্ধ করা যাতে পরবর্তীতে কোন সমস্যা সৃষ্টি হলে তা সমাধান করা সহজ হয়।
ইনস্টলেশনঃ প্রােগ্রাম সমূহের সন্তোষজনক পরীক্ষার পূর্ব পর্যন্ত এদেরকে ডেভেলপমেন্ট লাইব্রেরীতে রাখা হয়। পরীক্ষার সন্তোষজনক ফল লাভের পর প্রােগ্রাম সমূহকে প্রােডাকশন লাইব্রেরীতে লােড করা হয়। এ লাইব্রেরীকে ইনস্টলেশন বলা হয়। অনেক ক্ষেত্রে এ ইনস্টলেশন অনেক জটিলও হতে পারে, তবে দলীয়ভাবে করলে এ পর্যায়ে ভাল ফল পাওয়া সম্ভব।
রক্ষণাবেক্ষণঃ প্রােগ্রাম পরিকল্পনার সর্বশেষ ধাপ হচ্ছে রক্ষণাবেক্ষণ। রক্ষণাবেক্ষণ বলতে প্রয়ােজনীয় নানা কারণে। প্রােগ্রামের ছােট খাট পরিবর্তন ও পরিবর্ধনকে বুঝায়। যে কোন সফটওয়্যার যখন বাজারে আসে তার একটি ভার্সন বাজারে আসে। প্রতি নিয়ত সফটওয়্যার গুলাের ভার্সন সংখ্যা উত্তরােত্তর বৃদ্ধি পেতে থাকে। সফটওয়্যারকে নানাবিধ কারণে পরিবর্তন, পরিবর্ধন করতে হয় এবং উন্নত সংস্করণে রূপ দিতে হয়। আধুনিকতার সাথে তাল মিলিয়ে উন্নত ভার্সন বের করা হয়। অনেক সময় এক সফটওয়্যার অন্য অপারেটিং সিস্টেমে কাজ নাও করতে পারে। সেক্ষেত্রে সফটওয়্যারটিকে পরবর্তীতে নতুন অপারেটিং সিস্টেমে কাজ করার উপযােগী করে তৈরি করা হয়।