পঞ্চম অধ্যায় পাঠ-৮ প্রোগ্রাম ডিজাইন মডেল।

পঞ্চম অধ্যায় পাঠ-৮ প্রোগ্রাম ডিজাইন মডেল।

এই পাঠ শেষে যা যা শিখতে পারবে-

  • ১। প্রোগ্রাম ডিজাইন মডেল ব্যাখ্যা করতে পারবে।
  • ২। স্ট্রাকচার্ড বা প্রসিডিউর প্রোগ্রামিং মডেল ব্যাখ্যা করতে পারবে।
  • ৩। অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং(OOP) মডেল ব্যাখ্যা করতে পারবে।
  • ৪। ভিজ্যুয়াল প্রোগ্রামিং মডেল ব্যাখ্যা করতে পারবে।
  • ৫। ইভেন্ট ড্রাইভেন প্রোগ্রামিং মডেল ব্যাখ্যা করতে পারবে।

প্রোগ্রাম ডিজাইন মডেলঃ সহজ উপায়ে কার্যকরী প্রোগ্রাম তৈরির জন্য যে বিশেষ নীতিমালা বা পদ্ধতি অনুসরণ করা হয় তাকে প্রোগ্রাম ডিজাইন মডেল বলে। কয়েকটি জনপ্রিয় প্রোগ্রাম ডিজাইন মডেল-
  • ১। স্ট্রাকচার্ড বা প্রসিডিউর প্রোগ্রামিং মডেল
  • ২। অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং(OOP) মডেল
  • ৩। ভিজ্যুয়াল প্রোগ্রামিং মডেল
  • ৪। ইভেন্ট ড্রাইভেন প্রোগ্রামিং মডেল

স্ট্রাকচার্ড প্রোগ্রামিংঃ ১৯৬৬ সালে স্ট্রাকচার্ড প্রোগ্রামিং এর প্রথম ধারণা দেন Corrado Bohm এবং Guiseppe Jacopini। এই দুই গণিতবিদ ব্যাখ্যা করেন যে, যেকোন প্রোগ্রাম শুধুমাত্র তিনটি স্ট্রাকচার যেমন- decisions, sequences, এবং loops এর সাহায্যে লেখা যায়। পরবর্তিতে ১৯৭০ সালে Edsger W.Dijkstra ব্যপকভাবে ব্যবহৃত স্ট্রাকচার্ড প্রোগ্রামিং পদ্ধতি উন্নয়ন করেন, যেখানে একটি সমস্যাকে বিভিন্ন ছোট ছোট মডিউল বা অংশে ভাগ করে একটি বড় সমস্যার সমাধান করা হয়। প্রতিটি মডিউলকে ফাংশন বলা হয়। এক্ষেত্রে মডিউল বা ফাংশন গুলোর মধ্যে একটি প্রধান মডিউল বা মেইন ফাংশন বিবেচনা করা হয় যা অন্য সকল মডিউলকে কল করতে পারে, আবার এক মডিউল অন্য মডিউলকেও কল করতে পারে। কিন্তু প্রধান মডিউলকে অন্য মডিউলগুলো কল করতে পারে না। এই মডেলে প্রোগ্রামের নিয়ন্ত্রন উপর থেকে নিচের দিকে পরিচালিত হয় অর্থাৎ টপ-ডাউন পদ্ধতি অনুসরণ করে। স্ট্রাকচার্ড প্রোগ্রামিং হল ইন্সট্রাকশন কেন্দ্রিক প্রোগ্রামিং পদ্ধতি। অর্থাৎ এই পদ্ধতিতে প্রোগ্রামের ডেটা গুলো ইন্সট্রাকশন দ্বারা নিয়ন্ত্রিত হয়।
উদাহরণঃ সি, কোবল, প্যাসকেল, ফরট্রান, কিউবেসিক ইত্যাদি প্রোগ্রামিং ভাষায় স্ট্রাকচার্ড প্রোগ্রামিং ডিজাইন অনুসরণ করে প্রোগ্রাম লেখা যায় এজন্য এই প্রোগ্রামিং ভাষা গুলোকে স্ট্রাকচার্ড প্রোগ্রামিং ভাষা বলা হয়।
স্ট্রাকচার্ড প্রোগ্রামিং এর সুবিধাঃ  
  • ১। প্রোগ্রাম তৈরি করা সহজ। কারণ কম শ্রম এবং সময় প্রয়োজন হয়।
  • ২। প্রোগ্রাম পড়া এবং বুঝা সহজ।
  • ৩। মেইন্টেইন সহজ।
  • ৪। যেহেতু প্রোগ্রামকে বিভিন্ন মডিউলে ভাগ করা হয়, তাই প্রয়োজনে একটি মডিউলকে বার বার ব্যবহার করা যায়।
  • ৫। বিভিন্ন মডিউলে ভাগ করায় ডিবাগিং বা প্রোগ্রামের ভূল সংশোধন করা সহজ।

অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংঃ অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং হল এমন একটি প্রোগ্রামিং পদ্ধতি যা স্ট্রাকচার্ড প্রোগ্রামিং এর সুবিধার পাশাপাশি অতিরিক্ত বিশেষ কিছু সুবিধা যেমন- এনক্যাপ্সুলেশন, পলিমরফিজম ও ইনহেরিটেন্স প্রভৃতি ফিচার ব্যবহার করে প্রোগ্রাম লেখার সুবিধা প্রদান করে। অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং হল ডেটা কেন্দ্রিক প্রোগ্রামিং পদ্ধতি। অর্থাৎ এই পদ্ধতিতে প্রোগ্রামের ইন্সট্রাকশন গুলো ডেটা দ্বারা নিয়ন্ত্রিত হয়। একটি প্রোগ্রামিং ভাষাকে পরিপূর্ণ অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা বলা যাবে তখনই, যখন প্রোগ্রামিং ভাষাটি  ক্লাস, অবজেক্ট,  এনক্যাপ্সুলেশন, পলিমরফিজম ও ইনহেরিটেন্স প্রভৃতি ফিচারগুলো সাপোর্ট করবে। উদাহরণঃ জাভা, পাইথন, সি++ সি# ইত্যাদি হল অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা। অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষার বৈশিষ্ট্যসমূহঃ
অবজেক্টঃ অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষায় যেকোন ব্যাক্তি বা বস্তুকে অবজেক্ট বলা হয়। যেমন – একটি গাড়ি কে অবজেক্ট বলা যায়। প্রতিটি অবজেক্ট এর কিছু বৈশিষ্ট্য(attribute) ও আচরণ(behavior) থাকে। যেমন একটি গাড়ির কালার, মডেল ইত্যাদি হল বৈশিষ্ট্য, আবার গাড়িটি সামনে চলতে পারে এবং পিছনে চলতে পারে এগুলো হল আচরণ।
ক্লাসঃ অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষায় ক্লাস হল ভেরিয়েবল ও মেথডের সমন্বয়ে একটি টেম্পলেট বা ব্ল-প্রিন্ট যা কোন অবজেক্ট এর বৈশিষ্ট্য(attribute) ও আচরণ(behavior) উপস্থাপনের জন্য তৈরি করা হয়।
এনক্যাপ্সুলেশনঃ অবজেক্ট এর বৈশিষ্ট্য(attribute) ও আচরণ(behavior) কে একত্র করে ক্লাস তৈরি করাকে বলা হয় এনক্যাপ্সুলেশন।
পলিমরফিজমঃ পলিমরফিজম মানে হল বহুরূপ। একাদিক কোড মডিউলের নাম এক হলেও ভিন্ন ভিন্ন রূপ থাকতে পারে, এক্ষেত্রে কোন মডিউলটি কাজ করবে তা নির্ভর করে ডেটা পাঠানোর উপর।
ইনহেরিটেন্সঃ অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষায় ইনহেরিটেন্স এমন একটি ফিচার, যার কারণে একটি ক্লাসের বৈশিষ্ট্য অপর একটি ক্লাস ব্যবহার করতে পারে, একে বলা হয় ইনহেরিট করা। যে ক্লাস কে ইনহেরিট করা হয় তাকে বলে বেজ ক্লাস এবং যে ক্লাস অন্য ক্লাসকে ইনহেরিট করে তাকে বলে ডিরাইভড ক্লাস।

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

ইভেন্ট ড্রাইভেন প্রোগ্রামিংঃ সকল ভিজ্যুয়াল প্রোগ্রাম হচ্ছে ইভেন্ট ড্রাইভেন প্রোগ্রাম। এই মডেলে কী-বোর্ডের কোন কী চাপ দেওয়া, কোন বিশেষ কন্ট্রোলের উপর মাউস ক্লিক করা ইত্যাদি কাজ গুলো হচ্ছে এক একটি ইভেন্ট। প্রতিটি ইভেন্টের জন্য পৃথক পৃথক কোড মডিউল থাকে। ব্যবহারকারী যখন কোন ইভেন্ট একটিভ করেন তখন ঐ ইভেন্টের জন্য নির্ধারিত কোড মডিউলটি নির্বাহ হয়।

পাঠ মূল্যায়ন- 

জ্ঞানমূলক প্রশ্নসমূহঃ
  • ক। প্রোগ্রাম ডিজাইন মডেল কী?
  • ক। স্ট্রাকচার্ড বা প্রসিডিউর প্রোগ্রামিং কী?
  • ক। OOP কী?
  • ক। ক্লাস কী?
  • ক। এনক্যাপ্সুলেশন কী?
  • ক। পলিমরফিজম কী?
  • ক। ইনহেরিটেন্স কী?
  • ক। ভিজ্যুয়াল প্রোগ্রামিং কী?
  • ক। ইভেন্ট ড্রাইভেন প্রোগ্রামিং কী?

Post a Comment

0 Comments
Post a Comment (0)
To Top