আস্সালামুআলাইকুম। গত একটি পোস্ট এ আমি সফটওয়্যার ডেভেলপমেন্ট এর গুরুত্বপূর্ণ একটি ধাপ “সফটওয়ার ডেভেলপমেন্ট মডেল” নিয়ে আলোচনা করেছিলাম। আমি দেখেছিলাম কিছ গুরুত্বপূর্ণ মডেল সম্পর্কে যেমন ওয়াটারফল মডেল, ইটারেটিভ মডেল, ভি মডেল, রেড মডেল ইত্যাদি। তো এই পোস্ট এ আমরা আরো কিছু মডেল সম্পর্কে জানবো।
১. এজাইল মডেল
এজাইল মডেল এক প্রকার ইনক্রিমেন্টাল মডেল এর মতো। সফ্টওয়্যারটি ইনক্রিমেন্টাল , দ্রুত চক্রে তৈরি করা হয়। এর ফলে পূর্ববর্তী কার্যকারিতার উপর প্রতিটি রিলিজ এর সাথে ছোট ক্রমবর্ধমান রিলিজ হয়। সফ্টওয়্যার গুণমান বজায় রাখা হয়েছে তা নিশ্চিত করার জন্য প্রতিটি রিলিজ পুঙ্খানুপুঙ্খভাবে পরীক্ষা করা হয়। এটা সময় স্বল্পতা অ্যাপ্লিকেশনের জন্য ব্যবহার করা হয়। এক্সট্রিম প্রোগ্রামিং (এক্সপি) বর্তমানে সবচেয়ে পরিচিত এজাইল ডেভেলপমেন্ট জীবন চক্র মডেলগুলির মধ্যে একটি। এজাইল টেস্টিং বিষয়গুলির অধীনে এজাইল মেথডোলজি আরও বিশদে ব্যাখ্যা করা হয়েছে।
কিছু সুবিধা :
- দ্রুত দরকারী সফ্টওয়্যার, ক্রমাগত বিতরণ দ্বারা গ্রাহক সন্তুষ্টি।
- প্রক্রিয়া এবং সরঞ্জামের পরিবর্তে মানুষ এবং মিথস্ক্রিয়াকে জোর দেওয়া হয়। গ্রাহক, ডেভেলপার এবং পরীক্ষকরা ক্রমাগত একে অপরের সাথে যোগাযোগ করে।
- মুখোমুখি কথোপকথন যোগাযোগের সর্বোত্তম রূপ
- প্রযুক্তিগত উৎকর্ষতা এবং ভাল নকশা ক্রমাগত মনোযোগ।
- পরিবর্তন এ সহজে মানিয়ে নেয়া।
কিছু অসুবিধা :
- কিছু সফ্টওয়্যার সরবরাহযোগ্য, বিশেষ করে বড়গুলির ক্ষেত্রে, সফ্টওয়্যার বিকাশের জীবনচক্রের শুরুতে প্রয়োজনীয় প্রচেষ্টার মূল্যায়ন করা কঠিন।
- গ্রাহক প্রতিনিধি যদি তারা কী চূড়ান্ত ফলাফল চান তা পরিষ্কার না হলে প্রকল্পটি সহজেই ট্র্যাক থেকে সরে যেতে পারে।
- শুধুমাত্র সিনিয়র প্রোগ্রামাররাই উন্নয়ন প্রক্রিয়া চলাকালীন প্রয়োজনীয় সিদ্ধান্ত নিতে সক্ষম। তাই এটিতে নবাগত প্রোগ্রামারদের জন্য কোন স্থান নেই, যদি না অভিজ্ঞ সংস্থানগুলির সাথে মিলিত হয়।
ইটারেটিভ মডেল
একটি ইটারেটিভ চক্র মডেল প্রয়োজনীয়তার সম্পূর্ণ স্পেসিফিকেশন দিয়ে শুরু করার চেষ্টা করে না। পরিবর্তে, সফ্টওয়্যারটির শুধুমাত্র একটি অংশ নির্দিষ্ট করে এবং বাস্তবায়নের মাধ্যমে বিকাশ শুরু হয়, যা পরবর্তী প্রয়োজনীয়তা সনাক্ত করার জন্য পর্যালোচনা করা যেতে পারে। এই প্রক্রিয়াটি তারপর পুনরাবৃত্তি হয়, মডেলের প্রতিটি চক্রের জন্য সফ্টওয়্যারটির একটি নতুন সংস্করণ তৈরি করে।
একটি প্রজেক্ট এর ছোট কোনো অংশে কাজ করা হয় এবং পুনরাবৃত্তির মাদ্ধমে তা আপডেট করা হয়।
স্পাইরাল মডেল
স্পাইরাল মডেল ইনক্রিমেন্টাল মডেলের অনুরূপ, এটি ঝুঁকি বিশ্লেষণের উপর আরো জোর দেওয়া হয়। স্পাইরাল মডেলের চারটি পর্যায় রয়েছে: পরিকল্পনা, ঝুঁকি বিশ্লেষণ, প্রকৌশল এবং মূল্যায়ন। একটি সফ্টওয়্যার প্রকল্প বারবার পুনরাবৃত্তিতে এই পর্যায়গুলি অতিক্রম করে (এই পদ্ধতিকে স্পাইরাল বলা হয়)। বেসলাইন স্পাইরাল, পরিকল্পনা পর্যায়ে শুরু করে, প্রয়োজনীয়তা সংগ্রহ করা হয় এবং ঝুঁকি মূল্যায়ন করা হয়। প্রতিটি পরবর্তী স্পাইরাল বেসলাইন স্পাইরাল তৈরি করে। ওয়াটারফল , এজাইল , ভি-মডেলের মতো এটির সফ্টওয়্যার বিকাশের মডেলগুলির মধ্যে একটি।
প্রোটোটাইপ মডেল
প্রোটোটাইপ মডেলের মূল ধারণাটি হল যে কোনও ডিজাইন বা কোডিং এগিয়ে যাওয়ার আগে প্রয়োজনীয়তাগুলিকে বন্ধ করার পরিবর্তে, প্রয়োজনীয়তা বোঝার জন্য একটি থ্রোওয়ে প্রোটোটাইপ তৈরি করা হয়। এই প্রোটোটাইপটি বর্তমানে পরিচিত প্রয়োজনীয়তার উপর ভিত্তি করে তৈরি করা হয়েছে।
প্রোটোটাইপ মডেল একটি সফটওয়্যার ডেভেলপমেন্ট মডেল। এই প্রোটোটাইপ ব্যবহার করে, ক্লায়েন্ট সিস্টেমের একটি “প্রকৃত অনুভূতি” পেতে পারে, যেহেতু প্রোটোটাইপের সাথে মিথস্ক্রিয়া ক্লায়েন্টকে পছন্দসই সিস্টেমের প্রয়োজনীয়তাগুলি আরও ভালভাবে বুঝতে সক্ষম করে। প্রোটোটাইপিং জটিল এবং বড় সিস্টেমের জন্য একটি আকর্ষণীয় ধারণা যার জন্য প্রয়োজনীয়তা নির্ধারণে সহায়তা করার জন্য কোনও ম্যানুয়াল প্রক্রিয়া বা বিদ্যমান সিস্টেম নেই।