সফটওয়্যার উন্নয়নের ধাপসমূহ
সফটওয়্যার বা প্রোগ্রাম উন্নয়ন করার জন্য পরস্পর সম্পর্কযুক্ত কিছুকাজ ধাপে ধাপে করা হয়। ধাপগুলো পরস্পর নির্ভরশীল
বিধায় একাধিক ধাপের কাজ একই সাথে বা কোনো কোনো ধাপের কাজ বার বার করা হয়। আবার ব্যবহারকারী যেকোনো
সময় প্রয়োজনে পূর্বের ধাপে ফিরে যেতে পারে। এ ধরনের প্রক্রিয়াকেই বলা হয় সফটওয়্যার উন্নয়ন প্রক্রিয়া বা ধাপ। অর্থাৎ
কম্পিউটারনির্ভর সফটওয়্যার বা প্রোগ্রাম উন্নয়ন জন্য সফটওয়্যারের বিভিন্ন দিক বিশ্লেষণ ও পরিকল্পনা প্রণয়নসহ আনুষঙ্গিক
কাজগুলো ধাপে ধাপে এবং পর্যায়ক্রমে সম্পন্ন করার প্রক্রিয়াই হচ্ছে সফটওয়্যার উন্নয়নের ধাপ বা চক্র। সফটওয়্যার
উন্নয়নের জন্য সিস্টেম ব্যবহারকারী, সিস্টেম অ্যানালিস্ট এবং প্রোগ্রাম রচয়িতার মধ্যে ঘনিষ্ট যোগাযোগ রাখার প্রয়োজন
হয়। কম্পিউটারের সাহায্যে কোনো সমস্যা সমাধানের জন্য প্রোগ্রাম বা সফটওয়্যার উন্নয়নের ধাপসমূহ নি¤œরূপÑ
১. তথ্যানুসন্ধান ও সমস্যার বর্ণনা Investigation and Problem Descrition)
২. সমস্যার বিশ্লেষণ (Problem Analysis)
৩. প্রোগ্রাম ডিজাইন (Program Design)
৪. প্রোগ্রাম কোডিং (Program Coding)
৫. প্রোগ্রাম বাস্তবায়ন (Program Implementation)
৬. প্রোগ্রাম ডকুমেন্টটেশন (Program Documentation) ও
৭. প্রোগ্রাম রক্ষণাবেক্ষণ ((Program Maintainance)
তথ্যানুসন্ধান ও সমস্যার বর্ণনা
যে সমস্যাটির সমাধানের জন্য প্রোগ্রাম লিখতে হবে তার একটি পরিপূর্ণ ও সহজ
বিবরণ তৈরি করা ও তথ্য সংগ্রহ করা। সমস্যাটি চিহ্নিত ও সেটি সম্পর্কে
ভালভাবে অবহিত হওয়ার পর সমস্যাটি আদৌ কম্পিউটার ব্যবহার করে সমাধান
সম্ভব কি না বা সম্ভব হলে সুবিধাজনক কি না তা নির্ধারণ করতে হবে। বিভিন্ন উৎস হতে ডেটা সংগ্রহ করে প্রস্তাবিত
সফটওয়্যারের উদ্দেশ্য, বৈশিষ্ট্য, ব্যয় ও অন্যান্য প্রয়োজনীয় বিষয় সম্পর্কে সিদ্ধান্ত দেওয়া হয়। সমস্যায় কী ধরনের ইনপুট
হবে এবং সঠিক বিশ্লেষণের মাধ্যমে কী ধরনের আউটপুট প্রয়োজন সে বিষয়ে সিদ্ধান্তেপৌঁছা।
সমস্যার বিশ্লেষণ
এ ধাপে প্রস্তাবিত সফটওয়্যার বা প্রোগ্রামটির প্রকৃতি, আওতা, প্রয়োজনীয় দিক-নির্দেশনা এবং সম্ভাব্যতা আরো ভালোভাবে
বোঝার জন্য বিস্তারিত বা ব্যাপক বিশ্লেষণ করার পদক্ষেপ গ্রহণ করা হয়। মূলত এ ধাপে ডেটা প্রসেসিংয়ের সমস্যাটি চিহ্নিত
করে সমাধানের বিভিন্ন পথ বিশ্লেষণ করা হয় এবং সমস্যা চিহ্নিত করার পর কীভাবে সমস্যাটি সমাধান করা যায় তা বের
তথ্যানুসন্ধান ও সমস্যার বর্ণনা
সমস্যার বিশ্লেষণ
প্রোগ্রাম ডিজাইন
প্রোগ্রাম কোডিং
প্রোগ্রাম বাস্তবায়ন
প্রোগ্রাম ডকুমেন্টটেশন
প্রোগ্রাম রক্ষণাবেক্ষণ
চিত্র ৭.১: প্রোগ্রাম তৈরির ধাপসমূহ
করতে হবে। এ ধাপে বিশ্লেষণ করা হয় প্রোগ্রামে কী ধরনের ডেটা ইনপুট করা হবে, কীভাবে ডেটা প্রক্রিয়াকরণ করা হবে
এবং কীভাবে ফলাফল উপস্থাপন করা হবে ইত্যাদি। ফলাফল তৈরি করার জন্য প্রয়োজনে গাণিতিক ও লজিক্যাল মডেল
তৈরি করা হয়। সর্বোপরি সমস্যা বিশ্লেষণের ক্ষেত্রে বিবেচ্য বিষয়সমূহ হলো১. সমস্যার কাঠামোগত বর্ণনা প্রস্তুত করা এবং সম্ভব হলে গাণিতিক মডেল তৈরি করা।
২. ইনপুট শনাক্তকরণ।
৩. আউটপুট শনাক্তকরণ।
৪. প্রয়োজনমতো কম্পিউটারের মেমরি নির্ধারণ করা ইত্যাদি।
এছাড়া সমস্যাটি সমাধানে কত সময় লাগবে বা কত সময় ব্যয় হবে, তাও নির্ধারণ করা হয়।
অবশ্য সমস্যা বিশ্লেষণে নি¤œলিখিত টুলসগুলো ব্যবহার করা হয়Ñ
১। ডেটা ফ্লো ডায়াগ্রাম ।(Data Flow Diagram – DFD)
২। ডেটা ডিকশনারি (Data Dictionary)
৩। স্ট্রাকচার্ড ইংলিশ (Structured English)
৪। ডিসিশন ট্রি (Decision Tree)
৫। ডিসিশন টেবিল (Decision Table) ইত্যাদি
প্রোগ্রাম ডিজাইন
সমস্যা সমাধান করার জন্য বর্তমান সিস্টেমের প্রয়োজনীয় সংশোধন করে নতুন সিস্টেমের মূল রূপ রেখা নির্ণয় করাকেই
ডিজাইন বা পরিকল্পনা বলা হয়। ডিজাইন ধাপের মূল বিষয় হচ্ছে কীভাবে সমস্যাটি সমাধান করে কার্যকরী প্রক্রিয়া তৈরি
করা যায়। সমস্যা বিশ্লেষণের পর প্রোগ্রাম ডিজাইনের কাজ শুরু করা হয়। প্রোগ্রাম ডিজাইনে সবচেয়ে গুরুত্বপূর্ণ বিষয়টি
হলো আউটপুট ডিজাইন। অর্থাৎ প্রোগ্রাম থেকে ফলাফল কী হবে তা পূর্বে ডিজাইন করতে হবে এবং সে অনুযায়ী
প্রয়োজনীয় ডেটা ইনপুট দিতে হবে। এ ক্ষেত্রে ইনপুট ও আউটপুটের পারস্পরিক সম্পর্কেও কথা বিবেচনা করতে হবে।
তাই প্রোগ্রাম ডিজাইনে বিবেচ্য বিষয়সমূহ হলোÑ
১. ইনপুট ডিজাইন
২. আউটপুট ডিজাইন ও
৩. ইনপুট ও আউটপুটের মধ্যে সম্পর্ক ডিজাইন
প্রোগ্রাম ডিজাইনের ব্যবহৃত প্রধান টুলসসমূহ হলোÑ
১। অ্যালগরিদম
২। ফ্লোচার্ট ও
৩। সুডো কোড
অ্যালগরিদম (Algorithom : কম্পিউটারের সাহায্যে কোনো সমস্যা সমাধানের জন্য সমস্যাটিকে ছোট ছোট ধাপে বিভক্ত
করে যুক্তিসম্মতভাবে পর্যায়ক্রমে লিপিবদ্ধ করাকে অ্যালগরিদম বলে। অর্থাৎ অ্যালগরিদম হচ্ছে প্রোগ্রাম রচনা ও নির্বাহের
শুরু থেকে শেষ পর্যন্ত ধাপগুলো পর্যায়ক্রমিকভাবে লিপিবদ্ধ করা। কম্পিউটারের সাহায্যে কোনো সমস্যা সমাধানে
প্রোগ্রামিংয়ের ক্ষেত্রে অ্যালগরিদমের ভূমিকা অত্যন্ত গুরুত্বপূর্ণ। অ্যালগরিদম তৈরির শর্ত বা নিয়মসমূহ হলোÑ
১. অ্যালগরিদমটি সহজবোধ্য হবে।
২. প্রতিটি ধাপ স্পষ্ট হতে হবে, যাতে সহজে বোঝা যায়।
৩. সসীমসংখ্যক ধাপে সমস্যার সমাধান হতে হবে।
৪. অ্যালগরিদম ব্যাপকভাবে প্রয়োগ উপযোগী হতে হবে।
অ্যালগরিদমের সুবিধা
১। সহজে প্রোগ্রামের উদ্দেশে বোঝা যায়।
২। সহজে প্রোগ্রামের ভুল নির্ণয় করা যায়।
৩। প্রোগ্রামের প্রবাহের দিক বোঝা যায়।
৪। জটিল প্রোগ্রাম সহজে রচনা করা যায়।
৫। প্রোগ্রাম পরিবর্তন ও পরিবর্ধনে সহায়তা করে।
ফ্লোচার্ট বা প্রবাহ চিত্র (ঋষড়পিযধৎঃ) : প্রোগ্রাম বা কোনো উপাত্ত প্রক্রিয়াকরণের পদ্ধতিকে সহজে চিত্রের সাহায্যে তুলে
ধরার জন্য সাংকেতিক চিহ্ন, বর্ণনাভিত্তিক এবং পর্যায়ক্রমিক রূপরেখাকে ফ্লোচার্ট বা প্রবাহ চিত্র বলা হয়। ফ্লোচার্ট হচ্ছে
অ্যালগরিদমের চিত্ররূপ। অর্থাৎ অ্যালগরিদমের ধাপসমূহ চিত্রের মাধ্যমে উপস্থাপন করাকে ফ্লোচার্ট বলে। ফ্লোচার্টের
সুবিধাসমূহ হলোÑ
১। সহজে প্রোগ্রামের উদ্দেশ্য বুঝতে সাহায্য করে।
২। প্রোগ্রামের ভুল নির্ণয়ে সাহায্যে করে।
৩। প্রোগ্রাম প্রক্রিয়াকরণের উদ্দেশ্য বুঝতে সহায়তা করে।
৪। সহজে ও সংক্ষেপে জটিল প্রোগ্রাম লেখা সম্ভব হয়।
৫। প্রোগ্রামের পদ্ধতির পরিবর্তন ও ভুল সংশোধনে সাহায্যে করে।
সুডো কোড : (Pseudo Code) :সুডো অর্থ হলো অবাস্তব, অর্থাৎ যা সত্য নয়। প্রোগ্রাম রচনার ধারাবাহিক বিন্যাসকে কথায়
লেখাই হলো সুডো কোড। এটি অনেক প্রোগ্রাম লেখার মতোই। সুডো কোডকে অনেকে অ্যালগরিদমের বিকল্প বলে
থাকেন। ইংরেজিতে সাধারণত এটি রচনা করা হয়। যেমন : দুটি সংখ্যার যোগফল বের করার সুডো কোড নিচে দেওয়া
হলোÑ
INPUT NUMBER1
INPUT NUMBER2
TOTAL= NUMBER1 + NUMBER2
PRINT TOTAL
সুডো কোড কোনো প্রোগ্রামিং ল্যাংগুয়েজের নিয়ম মেনে লেখা হয় না। তবে কোনো প্রোগ্রামের সুডো কোড পড়লে বোঝা
যায় কোডিং কেমন হবে।
প্রোগ্রাম কোডিং
অ্যালগরিদম এবং ফ্লোচার্ট তৈরির পর প্রকৃত প্রোগ্রাম রচনা করা হয়। অ্যালগরিদম এবং ফ্লোচার্টের ওপর ভিত্তি করে উপযুক্ত
প্রোগ্রামিং ভাষার সাহায্যে প্রোগ্রাম রচনা করা বা লেখাকেই প্রোগ্রামিংয়ের ভাষায় বলা হয় কোডিং। সফটওয়্যার উন্নয়নের
জন্য সিস্টেম ব্যবহারকারী, সিস্টেম অ্যানালিস্ট এবং প্রোগ্রাম রচয়িতার মধ্যে ঘনিষ্ঠ যোগাযোগ রাখার প্রয়োজন হয়। কারণ
প্রোগ্রাম রচনার সময় প্রস্তাবিত সিস্টেমের সামান্য পরিবর্তন করতে হলে সিস্টেম ব্যবহারকারীর পরামর্শের প্রয়োজন হয়। এই
ধাপের গুরুত্বপূর্ণ বিষয়গুলো নি¤œরূপÑ
১। প্রোগ্রাম কোডিং বা প্রোগ্রাম রচনা।
২। প্রোগ্রামের কার্যকারিতা পরীক্ষণ।
৩। প্রোগ্রামের ভুলত্রæটি শনাক্তকরণ ও সংশোধন।
৪। চাহিদা অনুযায়ী প্রোগ্রামে সকল বিষয় অন্তর্ভুকরণ।
৫। সফটওয়্যারের বিভিন্ন পর্যায়ের ধারাবাহিকতা নির্ধারণ।
প্রোগ্রাম বাস্তবায়ন
পরিকল্পনা অনুযায়ী সফটওয়্যার উন্নয়নের সকল কাজ সুষ্ঠুভাবে সম্পাদনের পর সফটওয়্যার বাস্তবায়ন করা হয়। এ ধাপে
প্রোগ্রাম কোডিং করার পর প্রোগ্রামটি রান করতে হয়ে। রান করার ফলে প্রোগ্রামে কোনো ভুল থাকলে তা ধরা
পড়ে। অর্থাৎ এ অংশে প্রোগ্রামকে টেস্টিং বা পরীক্ষা করা হয় কোনো ভুল আছে কি না এবং থাকলে তা সংশোধন করা
হয়। প্রোগ্রামের ভুলকে বাগ (ইঁম) এবং প্রোগ্রামের ভুল বা ত্রæটিসমূহ খুঁজে বের করে তা সংশোধন করার পদ্ধতিকে ডিবাগিং
Debuging বলে। তাই প্রোগ্রাম বাস্তবায়নে দুটি ধাপ গুরুত্বপূর্ণ। যথাÑ
১. প্রোগ্রাম টেস্টিং ও
২. প্রোগ্রাম ডিবাগিং
যুক্তিগত ভুল সংশোধন করা খুব কঠিন, কারণ কম্পিউটার কোনো ভুলের বার্তা মনিটরে প্রদর্শন করে না। প্রোগ্রামে লজিক
ভুল সংশোধনের জন্য যে পদ্ধতি গ্রহণ করা যায় তাকে বলা হয় প্রোগ্রাম টেস্টিং। লজিক ভুল আছে কিনা বুঝতে হলে প্রথমে
প্রোগ্রাম ডেটার কিছু বিশেষ মান বসিয়ে কম্পিউটারের সাহায্য ছাড়া হাতে-কলমে ফলাফল বের করা হয়। এরপর ডেটার
জানা মানগুলো ইনপুট করে প্রোগ্রাম চালিয়ে দেখা হয়।
প্রোগ্রাম ডকুমেন্টেশন
প্রোগ্রাম ভবিষ্যতে পরিবর্তন ও পরিবর্ধনের জন্য ডকুমেন্টেশন অতিব জরুরি। প্রোগ্রাম ডকুমেন্টেশন বলতে বোঝায় সমস্যার
বিবরণ, অ্যালগরিদম, ফ্লোচার্ট, গ্রাফ, কোডিং, পরীক্ষার ফলাফল, ব্যবহারকারীর জন্য প্রয়োজনীয় নির্দেশ ইত্যাদির লিখিত
বিবরণ বা ডকুমেন্ট প্রস্তুত করা। ঠিকমতো ডকুমেন্টেশন করা না থাকলে পরে প্রোগ্রামকে কোনো ভাবে পরিবর্তন করা কঠিন
বা অসম্ভব হয়ে পড়ে। তাই প্রোগ্রাম সঠিকভাবে কাজ করা পর্যন্ত যাবতীয় তথ্যাবলি ভবিষ্যতের জন্য লিপিবদ্ধ করতে হয়।
প্রোগ্রাম রক্ষণাবেক্ষণ
সফটওয়্যার উন্নয়ন চক্রের শেষ ধাপ হলো প্রোগ্রাম রক্ষণাবেক্ষণ। প্রয়োজনীয় পরিবর্তন, পরিবর্ধন বা উন্নয়নের জন্য
সফটওয়্যারের কার্যকারিতা পর্যবেক্ষণ করার প্রয়োজন হয়। ভবিষ্যতে উন্নয়নের জন্য সফটওয়্যার সযতেœ রক্ষণাবেক্ষণ করা
হয়। এ ক্ষেত্রে রক্ষণাবেক্ষণের মাধ্যমে অপ্রত্যাশিত ভুলভ্রান্তি ও সমস্যা দূর করা হয়ে থাকে। অপারেটরদের দক্ষতা বৃদ্ধির
সাথে সাথে অনেক ছোটখাটো ভুলভ্রান্তি এমনিতেই দূর করা যায়। সফটওয়্যার দীর্ঘদিন এবং সঠিকভাবে ব্যবহারের ঠিকমতো
রক্ষণাবেক্ষণের প্রয়োজন হয়। বিভিন্ন প্রয়োজনে প্রোগ্রামের উন্নতিকল্পে প্রোগ্রাম আধুনিকীকরণ, পরিবর্তন, প্রোগ্রামের ভুল
সংশোধন ইত্যাদি প্রোগ্রাম রক্ষণাবেক্ষণ কাজের অন্তর্ভুক্ত।
সারসংক্ষেপ :
সফটওয়্যার বা প্রোগ্রাম উন্নয়ন করার জন্য পরস্পর সম্পর্কযুক্ত কিছু কাজ ধাপে ধাপে করা হয়। ধাপগুলো পরস্পর
নির্ভরশীল বিধায় একাধিক ধাপের কাজ একই সাথে বা কোনো কোনো ধাপের কাজ বার বার করা হয়। আবার
ব্যবহারকারী যেকোনো সময় প্রয়োজনে পূর্বের ধাপে ফিরে যেতে পারে। এ ধরনের প্রক্রিয়াকেই বলা হয় সফটওয়্যার
উন্নয়ন প্রক্রিয়া বা ধাপ। অর্থাৎ কম্পিউটারনির্ভর সফটওয়্যার বা প্রোগ্রাম উন্নয়ন জন্য সফটওয়্যারের বিভিন্ন দিক বিশ্লেষণ
ও পরিকল্পনা প্রণয়নসহ আনুষঙ্গিক কাজগুলো ধাপে ধাপে এবং পর্যায়ক্রমে সম্পন্ন করার প্রক্রিয়াই হচ্ছে সফটওয়্যার
উন্নয়নের ধাপ বা চক্র। সফটওয়্যার উন্নয়নের ধাপগুলো হলো ১। তথ্যানুসন্ধান ও সমস্যার বর্ণনা ২। সমস্যার বিশ্লেষণ
৩। প্রোগ্রাম ডিজাইন ৪। প্রোগ্রাম কোডিং ৫। প্রোগ্রাম বাস্তবায়ন ৬। প্রোগ্রাম ডকুমেন্টেশন ও ৭। প্রোগ্রাম রক্ষণাবেক্ষণ।
১. সফটওয়্যার কী বা কম্পিউটার সফটওয়্যার কী?
২. কম্পিউটার সফটওয়্যারের শ্রেণিবিভাগ ছকের সাহায্যে দেখান।
৩. কম্পিউটার সফটওয়্যারের শ্রেণিবিভাগ আলোচনা করুন।
৪. সিস্টেম সফটওয়্যার ও অ্যাপ্লিকেশন সফটওয়্যারের মধ্যে পার্থক্য লিখুন।
৫. অ্যাপ্লিকেশন সফটওয়্যারের কাজ লিখুন।
৬. সিস্টেম সফটওয়্যারের কাজ লিখুন।
৭. সিস্টেম সফটওয়্যার সম্পর্কে সংক্ষেপে আলোচনা করুন।
৮. অ্যাপ্লিকেশন সফটওয়্যারের শ্রেণিবিভাগ আলোচনা করুন।
৯. কাস্টমাইজড সফটওয়্যারের বর্ণনা করুন।
১০. প্রোগ্রাম তৈরির ধাপসমূহ বর্ণনা করুন।
১১. অ্যালগরিদম কী? অ্যালগরিদম রচনার শর্তগুলো কী কী? লিখুন।
১২. অ্যালগরিদমের সুবিধা লিখুন।
১৩. ফ্লোচার্ট কী? ফ্লোচার্টের সুবিধা কী লিখুন।
১৪. সুডো কোড কী? অ্যালগরিদম ও ফ্লোচার্টের মধ্যে পার্থক্য লিখুন।
১৫. ওয়ার্ড প্রসেসিং কী? কয়েকটি বহুল ব্যবহৃত ওয়ার্ড প্রসেসরের নাম লিখুন।
১৬. স্ট্যান্ডার্ড ওয়ার্ড প্রসেসিংয়ের সুবিধা/বৈশিষ্ট্য লিখুন।
১৭. ¯েপ্রডশিট কী? ¯েপ্রডশিট প্যাকেজ প্রোগ্রামের সুবিধা বা বৈশিষ্ট্য লিখুন।
১৮. অ্যালগরিদম কোডিংয়ের পূর্বশর্তÑ ব্যাখ্যা করুন।
১৯. ‘টেস্টিং ও ডিবাগিং এক নয়’Ñ বর্ণনা করুন।
২০. সুডো কোড প্রোগ্রামিং ভাষানির্ভর নয়Ñ ব্যাখ্যা করুন।
২১. সফটওয়্যার উন্নয়ন প্রক্রিয়া কী? সফটওয়্যার উন্নয়নের ধাপগুলো কী কী? বর্ণনা করুন।
২২. মাইক্রোসফট পাওয়ার পয়েন্ট কী? পাওয়ার পয়েন্টের সুবিধা লিখুন।
২৩. ডেটাবেজ ম্যানেজমেন্ট সিস্টেম কী? ডেটাবেজ ম্যানেজমেন্ট সিস্টেমের সুবিধা লিখুন।
২৪. ডেটাবেজ ম্যানেজমেন্ট সিস্টেমের কাজ বর্ণনা করুন।
২৫. গ্রাফিক্স ডিজাইন সম্পর্কে আলোচনা করুন।
FOR MORE CLICK HERE
এইচএসসি বাংলা নোট ১ম পত্র ও ২য় পত্র
ENGLISH 1ST & SECOND PAPER
এইচএসসি আইসিটি নোট
এইচএসসি অর্থনীতি নোট ১ম পত্র ও ২য় পত্র
এইচএসসি পৌরনীতি ও সুশাসন ১ম পত্র
এইচএসসি পৌরনীতি নোট ২য় পত্র
এইচএসসি সমাজকর্ম নোট ১ম পত্র
এইচএসসি সমাজকর্ম নোট ২য় পত্র
এইচএসসি সমাজবিজ্ঞান নোট ১ম পত্র ও ২য় পত্র
এইচএসসি ইতিহাস নোট ১ম পত্র
এইচএসসি ইতিহাস নোট ২য় পত্র
এইচএসসি ইসলামের ইতি. ও সংস্কৃতি নোট ১ম পত্র
এইচএসসি ইসলামের ইতি. ও সংস্কৃতি নোট ২য় পত্র
এইচএসসি যুক্তিবিদ্যা ১ম পত্র ও ২য় পত্র
এইচএসসি ভূগোল ও পরিবেশ নোট ১ম পত্র ও ২য় পত্র
এইচএসসি ইসলামিক স্টাডিজ ১ম ও ২য় পত্র