বিষয়বস্তুতে চলুন

প্রোগ্রামিংয়ের মৌলিক ধারণা/প্রোগ্রাম ডিজাইন

উইকিবই থেকে

সংক্ষিপ্ত বিবরণ

[সম্পাদনা]

প্রোগ্রাম ডিজাইন হল সেই ধাপগুলোর সমষ্টি, যা একজন প্রোগ্রামারকে কোডিং শুরু করার আগে অনুসরণ করা উচিত। এই ধাপগুলো সঠিকভাবে নথিবদ্ধ করলে পরবর্তীতে অন্য প্রোগ্রামারদের জন্য প্রোগ্রামটি রক্ষণাবেক্ষণ করা সহজ হয়। এই প্রক্রিয়া তিনটি প্রধান ভাগে বিভক্ত:

  • প্রোগ্রামটি বোঝা
  • ডিজাইন সরঞ্জাম ব্যবহার করে একটি মডেল তৈরি করা
  • পরীক্ষার ডেটা তৈরি করা

প্রোগ্রামটি বোঝা

[সম্পাদনা]

যদি আপনি একটি প্রকল্পে একাধিক প্রোগ্রামারের একজন হিসেবে কাজ করেন, তাহলে সিস্টেম অ্যানালিস্ট বিভিন্ন ধরণের ডকুমেন্টেশন তৈরি করে থাকতে পারেন যা আপনাকে প্রোগ্রামটি বোঝাতে সাহায্য করবে। এতে স্ক্রিনের বিন্যাস, বর্ণনামূলক বিবরণ, প্রক্রিয়াকরণ ধাপের চিত্র ইত্যাদি থাকতে পারে। তবে যদি আপনি শুধুমাত্র একটি সাধারণ প্রোগ্রাম তৈরি করছেন, তাহলে আপনি কেবলমাত্র প্রোগ্রামের উদ্দেশ্য সম্পর্কে একটি সংক্ষিপ্ত বিবরণ পেতে পারেন। একটি প্রোগ্রামের উদ্দেশ্য বোঝা মানে সাধারণত এটি বোঝা যে এতে কী থাকবে:

  • ইনপুট
  • প্রক্রিয়াকরণ
  • আউটপুট

এই IPO (ইনপুট – প্রক্রিয়াকরণ – আউটপুট) পদ্ধতি নবীন প্রোগ্রামারদের জন্য ভালো কাজ করে। আপনি কম্পিউটারে প্রোগ্রামটি চলমান অবস্থায় কল্পনা করে দেখতে পারেন: মনিটরে কী দেখা যাবে, কী-বোর্ডে ব্যবহারকারী কী ইনপুট দেবে, এবং প্রক্রিয়াকরণে কী পরিবর্তন আসবে।

অ্যালগরিদম

[সম্পাদনা]

অ্যালগরিদম হলো একটি নির্দিষ্ট ও সীমিত ধাপের সমষ্টি যা একটি নির্দিষ্ট ফলাফল (আউটপুট) প্রদান করে। অ্যালগরিদম আমাদের চারপাশে সর্বত্র রয়েছে, যেমন একটি রেসিপি, জিপিএস নির্দেশনা, টাই বাঁধার ধাপ ইত্যাদি। ফ্লোচার্ট ও সুডোকোড হলো অ্যালগরিদম ডিজাইনের জন্য উপযোগী সরঞ্জাম। তবে একটি কার্যকর অ্যালগরিদম তৈরি করতে হলে নিচের বিষয়গুলো প্রয়োজন:

  1. সমস্যাটি বোঝা
  2. ইনপুট নির্ধারণ করা
  3. ইনপুট ডেটা প্রক্রিয়াকরণ করা
  4. প্রত্যাশিত আউটপুট নির্ধারণ করা
  5. ডেটা পরীক্ষা ও বিশ্লেষণ করা

অ্যালগরিদম একটি প্রোগ্রামের ভিত্তি। কোডিং শুরু করার আগে এমন একটি অ্যালগরিদম তৈরি করা উচিত যা সমস্যার সমাধান করতে পারে। তাই একজন ভালো প্রোগ্রামারকে ভালো সমস্যা সমাধানকারী এবং নিজের ইনপুট সম্পর্কে সচেতন হতে হয়।

ডিজাইন সরঞ্জাম ব্যবহার করে মডেল তৈরি

[সম্পাদনা]

প্রথমদিকে আপনার কোনো হায়ারার্কি চার্টের প্রয়োজন হবে না, কারণ আপনার প্রোগ্রামগুলো জটিল হবে না। কিন্তু প্রোগ্রাম বড় ও জটিল হলে, আপনি সেটিকে একাধিক মডিউলে (বা ফাংশনে) ভাগ করবেন।

সর্বপ্রথম যে মডেলিং টুল শেখা হয় তা হলো সুডোকোড। আপনি আপনার প্রোগ্রামের প্রতিটি ফাংশনের লজিক বা অ্যালগরিদম ডকুমেন্ট করবেন। শুরুতে আপনার প্রোগ্রামে কেবলমাত্র একটি ফাংশন থাকবে, তাই আপনার সুডোকোড উপরের IPO পদ্ধতিকে অনুসরণ করবে।

প্রোগ্রামের লজিক পরিকল্পনার জন্য বিভিন্ন পদ্ধতি ও সরঞ্জাম রয়েছে। যেমন: ফ্লোচার্ট, হায়ারার্কি বা স্ট্রাকচার চার্ট, সুডোকোড, HIPO, নাসি-স্নাইডারম্যান চার্ট, ওয়ার্নিয়ার-অর ডায়াগ্রাম ইত্যাদি। একজন প্রোগ্রামারের ফ্লোচার্ট ও সুডোকোড বোঝা এবং তৈরি করা প্রত্যাশিত। এগুলো সাধারণত কম্পিউটার কোর্সে শেখানো হয়। ফ্লোচার্ট ও সুডোকোডের জন্য বিভিন্ন স্ট্যান্ডার্ড বিদ্যমান, যদিও বেশিরভাগই একে অপরের অনুরূপ। তবে অধিকাংশ প্রতিষ্ঠানের নিজস্ব ডকুমেন্টেশন স্টাইল থাকে, এবং প্রোগ্রামারদের সেই স্টাইল অনুসরণে দ্রুত অভ্যস্ত হতে হয়।

আপনার প্রোগ্রামিং ক্যারিয়ারের পরবর্তী পর্যায়ে আপনি অ্যাপ্লিকেশন সফটওয়্যার সম্পর্কে জানবেন যা একটি ইনফরমেশন সিস্টেম ও/অথবা প্রোগ্রাম তৈরিতে সহায়তা করে। এই ধরণের সফটওয়্যারকে বলা হয় কম্পিউটার-সহায়ক সফটওয়্যার প্রকৌশল (CASE)।

কোড লেখার আগে কাগজে লজিক ও অ্যালগরিদম পরিকল্পনা করা একটি অত্যন্ত গুরুত্বপূর্ণ ধারণা। অনেক শিক্ষার্থী এই ধাপটি উপেক্ষা করে খারাপ অভ্যাস গড়ে তোলে।

পরীক্ষার ডেটা তৈরি

[সম্পাদনা]

পরীক্ষার ডেটা বলতে বোঝায় যে প্রোগ্রামার কিছু ইনপুট মান নির্ধারণ করে এবং সম্ভাব্য আউটপুট কল্পনা করে। সাধারণ প্রোগ্রামের ক্ষেত্রে এটি সহজ, এবং এই ডেটা মডেলটি যাচাই করতে ব্যবহৃত হয় যে এটি সঠিক ফলাফল তৈরি করছে কি না।

মূল শব্দাবলি

[সম্পাদনা]
অ্যালগরিদম
নির্দিষ্ট ও সীমিত ধাপের সমষ্টি যা একটি ফলাফল তৈরি করে।
কম্পিউটার-সহায়ক সফটওয়্যার প্রকৌশল (CASE)
অ্যাপ্লিকেশন সফটওয়্যার যা একটি তথ্য ব্যবস্থা ও/অথবা প্রোগ্রাম তৈরি করতে সহায়তা করে।
IPO
ইনপুট – প্রক্রিয়াকরণ – আউটপুট
সুডোকোড
একটি অ্যালগরিদম বা ফাংশনের ধাপগুলো বোঝাতে লেখা বিবরণ; এটি প্রকৃত কোড নয়।
পরীক্ষার ডেটা
ইনপুট মান নির্ধারণ ও সম্ভাব্য আউটপুট পূর্বানুমান করা।

তথ্যসূত্র

[সম্পাদনা]


টেমপ্লেট:Subpage navbar