ঢাকা, বাংলাদেশ   বুধবার ০৮ মে ২০২৪, ২৪ বৈশাখ ১৪৩১

তথ্য ও যোগাযোগ প্রযুক্তি

উচ্চমাধ্যমিক শ্রেণির পড়াশোনা

প্রকাশিত: ০৩:৪৭, ৩০ নভেম্বর ২০১৬

উচ্চমাধ্যমিক শ্রেণির পড়াশোনা

প্রকৌশলী এস. এ. এহ্সান রাজন প্রভাষক ক¤িপউটার বিজ্ঞান বিভাগ খুলনা পাবলিক কলেজ, খুলনা। ই-মেইলঃ ধযংধহ.ৎধলড়হ@মসধরষ.পড়স প্রোগ্রাম ডিজাইন যে কোন একটি প্রোগ্রামকে সঠিকভাবে বিশ্লেষণ করার উপরই নির্ভর করে প্রোগ্রাম বা সফটওয়্যারের সার্থকতা। যে কোন সমস্যা সমাধানের জন্য প্রয়োজনীয় ক্ষুদ্র অংশগুলি কিভাবে সমাধান করা হবে, প্রতিটি সমস্যা সমাধানের জন্য ইনপুট-আউটপুট ডিজাইন এবং ক্ষুদ্র অংশগুলির জন্য পার¯পরিক সমন্বয় সাধন করার প্রক্রিয়া নির্দেশ করা হয়। অর্থাৎ, প্রোগ্রাম ডিজাইনে নিুলিখিত বিষয়গুলো অন্তর্ভুক্ত- ১.ইনপুট ডিজাইন (ওহঢ়ঁঃ উবংরমহ) ২.আউটপুট ডিজাইন (ঙঁঃঢ়ঁঃ উবংরমহ) ৩.ইনপুট ও আউটপুটের মধ্যে স¤পর্ক নির্নয় (ওহঢ়ঁঃ-ঙঁঃঢ়ঁঃ জবষধঃরড়হংযরঢ় উবংরমহ) সার্বিকভাবে এই ইনপুট, আউটপুট এবং সমন্বয় সাধনের জন্য যে সকল উপাদানের সহায়তা নেওয়া হয়, তার মধ্যে রয়েছে- ১.সিদ্ধান্তক্রম নির্ধারণ বা এলগরিদম (অষমড়ৎরঃযস) ২.প্রবাহচিত্র বা ফ্লোচার্ট (ঋষড়-িঈযধৎঃ) ৩.সুডোকোড (চংবঁফড়-ঈড়ফব) চিত্রঃ প্রোগ্রাম রচনার ধাপসমূহ  প্রোগ্রাম উন্নয়ন প্রোগ্রাম ডিজাইন অনুযায়ী অর্থাৎ ফ্লোচার্ট অনুযায়ী উচ্চ স্তরের প্রোগ্রামিং ভাষা অনুযায়ী নির্দেশ রচনা করাই অর্থাৎ প্রোগ্রাম লেখার ধাপই হল চৎড়মৎধস উবাবষড়ঢ়সবহঃ। একে সাধারনত কোডিং (ঈড়ফরহম) বলা হয়। প্রোগ্রাম উন্নয়নের জন্য ব্যবহৃত উল্লেখযোগ্য প্রোগ্রামিং ল্যাংগুয়েজের মধ্যে রয়েছে- সি, জাভা, পাইথন, চঐচ ইত্যাদি।  প্রোগ্রাম বাস্তবায়ন একটি প্রোগ্রাম বাস্তবায়ন বলতে রচিত প্রোগ্রামটি প্রয়োগক্ষেত্রে বা অনুরূপ অবস্থা ও অবস্থানে হার্ডওয়্যারে ইন্সটল করা ও অন্যান্য পরিস্থিতিতে কিরূপ কার্যক্রম স¤পন্ন করতে পারে বা আদৌ কার্যকরী কীনা তা নির্নয় করে রিলিজ করা হয়ে থাকে। প্রোগ্রাম বাস্তবায়নের সব থেকে গুরুত্বপূর্ণ দুইটি কাজ হল ১) টেস্টিং বা প্রোগ্রামের কার্যকারীতা ও ভুল-ত্র“টি পর্যবেক্ষণ করা ও ২) ডিবাগিং বা প্রোগ্রামের ত্রুটি সংশোধন করা  প্রোগ্রাম টেস্টিং একটি প্রোগ্রাম যে উদ্দেশ্যে রচনা করা হয়েছে, প্রোগ্রামটি সকল পরিস্থিতিতে অর্থাৎ ভিন্ন ভিন্ন ইনপুট এবং ভিন্ন সিস্টেম আর্কিটেকচারের প্রেক্ষিতে প্রোগ্রামটি কার্যকরী কীনা বা কাঙ্খিত সঠিক ও পূর্ণাংগ আউটপুট দিচ্ছে কীনা তা যাচাই করাই হল প্রোগ্রাম টেস্টিং। প্রোগ্রামে ডেটার কিছু বিশেষ মান বসিয়ে তা প্রায়োগিকভাবে ফলাফল নির্নয় করে (এ প্রক্রিয়াকে উৎু জঁহ বলা হয়) তারপর ওই একই ডেটার জন্য প্রস্তুতকৃত প্রোগ্রাম সঠিক ফলাফল প্রদান করে কী’না তা নিরূপন করা হয়। এই ডেটাগুলাকে বলা হয় ঞবংঃ উধঃধ। যদি সকল অবস্থায় সকল ইনপুটের জন্য প্রোগ্রাম কাঙ্খিত ফলাফল প্রদান করে তবে প্রোগ্রামটি সঠিক হিসাবে গণ্য করা হয়। অন্যথায়, প্রোগ্রামটির কোডিং এ ভুল হয়েছে অথবা ডিজাইন যথার্থ নয় বলে গণ্য করা হয়। প্রোগ্রাম টেস্টিং এর একটি বড় ধাপ হল এই ধরণের ভুলগুলি নিরূপন করে তা সংশধনের ব্যবস্থা করা। প্রোগ্রামের ভুল একটি প্রোগ্রামে বিদ্যমান ভুলগুলিকে বলা হয় বাগ (ইঁম) । একটি প্রোগ্রামে ভুলগুলিকে সাধারণত তিনটি শ্রেণিতে বিভক্ত করা হয়-  ব্যাকরণগত ভুল বা ঝুহঃধী ঊৎৎড়ৎ  যৌক্তিক ভুল বা খড়মরপধষ ঊৎৎড়ৎ  নির্বাহজনিত ভুল বা জঁহ-ঞরসব ড়ৎ ঊীবপঁঃরড়হ ঊৎৎড়ৎ ব্যাকরণগত ভুল বা ঝুহঃধী ঊৎৎড়ৎ প্রতিটি উচ্চতর ভাষায় প্রোগ্রাম রচনা করার সুনির্দিষ্ট নিয়ম রয়েছে। এই ধরণের নিয়মগুলির যে কোন ব্যতিক্রম সাধন করলে সেটিকে ব্যাকরণগত ক্রটি হিসাবে চিহ্নিত করা হয়। ব্যাকরনগত এই নিয়ম বা সিন্ট্যাক্সগুলি প্রতিটি প্রোগ্রামিং ভাষার জন্য ভিন্ন-ভিন্ন হতে পারে। উদাহরণস্বরূপ, সি প্রোগ্রামিং ভাষায় প্রতিটি স্টেটমেন্টের শেষে সেমিকোলন ব্যবহার করা হয়ে থাকে। কোডিং এর সময় যে স্থানে সেমিকোলন (;) দেওয়ার সিন্ট্যাক্স রয়েছে সেখানে সেটি প্রদান না করলে ক¤পাইলার সেটিকে ব্যাকরণগত ত্রুটি (ঝুহঃধী ঊৎৎড়ৎ) হিসাবে প্রদর্শন করে। ক¤পাইলার মূল কাজই হল এ ধরণের ব্যাকরণগত ক্রট নির্নয় করে ত্রুটটি কোন লাইনে রয়েছে তা প্রোগ্রামারকে ঊৎৎড়ৎ গবংংধমব আকারে অবহিত করা। অনুরূপভাবে লাইব্রেরী ফাংশনের নাম লিখতে ভুল করলে (যেমন ঢ়ৎরহঃভ এর স্থলে ঢ়ৎরহঃ লিখলে) অথবা লাইব্রেরী ফাংশনের প্যারামিটার (চধৎধসবঃবৎ) সঠিক না হলে, বন্ধনী সঠিকভাবে প্রদান না করলে অথবা ঈধঢ়রঃধষ খবঃঃবৎ ও ঝসধষষ খবঃঃবৎ জনিত সমস্যা হলে তা সিন্ট্যান্সজনিত ত্র“টি। সাধারণভাবে এই ধরণের ত্রুটি সংশোধন করা অপেক্ষাকৃত সহজ। ভুল সংশোধন সাপেক্ষে ক¤িপউটার প্রোগ্রাম নির্বাহ করতে সক্ষম হয়। যৌক্তিক ত্রুটি (খড়মরপধষ ঊৎৎড়ৎ) প্রোগ্রামের কোন যুক্তি প্রদান যথার্থ না হলে যৌক্তিক ত্র“টি সংগঠিত হয়। উদাহরণস্বরূপ, (ী+ু) এর স্থলে (ী-ু) অথবা (ধ্্ন) এর স্থলে (ধ।।ন) অথবা (ঢ়>=য়) এর স্থলে (ঢ়<=য়) নির্দেশ দেওয়ার ফলে যৌক্তিক ত্র“টি সংগঠিত হতে পারে। ক¤পাইলার যৌক্তিক ত্রুটি নির্নয় করতে সক্ষম হয় না বলে প্রোগ্রামে যৌক্তিক ত্রুটি থাকার পরও প্রোগ্রাম আউটপুট প্রদান করে, যদিও সেটি সঠিক মান নয়। যৌক্তিক ত্রুটি থাকার পরও ক¤পাইলার তা নির্নয় করতে পারে না বলে টেস্ট ডেটার দ্বারা ম্যানুয়ালি তা নির্নয় করা হয়। নির্বাহজনিত ত্রুট (জঁহ-ঞরসব ড়ৎ ঊীবপঁঃরড়হ ঊৎৎড়ৎ) ব্যাকরণগত ও যৌক্তিকভাবে সঠিক প্রোগ্রাম নির্বাহ করার ক্ষেত্রে ভুল ইনপুটের জন্য অথবা যে এনভায়রনমেন্টে প্রোগ্রাম নির্বাহ করা হচ্ছে সেটির সাথে প্রোগ্রামের সমন্বয়জনিত সীমাবদ্ধতার জন্য নির্বাহজনিত ত্রুটি হয়ে থাকে। উদাহরণস্বরূপ, ঋণাÍক সংখ্যার বর্গমূল বা লগারিদম নির্নয় করা, প্রোগ্রাম কর্তৃক প্রসেসরের ক্ষমতার তুলনায় অধিক রিসোর্স বন্টনের নির্দেশ দেওয়া, শূন্য দ্বারা কোন সংখ্যাকে ভাগ করা ইত্যাদি অপারেশনের ক্ষেত্রে নির্বাহজনিত ত্রুটি ঘটে। অনেক ক্ষেত্রে নির্বাহজনিত ত্রুটির সুনির্দিষ্ট কারণ ও সেটির সমাধান নির্নয় করা অনেক সময়সাপেক্ষ এবং বিশেষজ্ঞ ও অভিজ্ঞ প্রোগ্রামার ছাড়া অসম্ভব হয়ে পড়তে পারে।
×