সফটওয়ার ডেভলাপমেন্ট লাইফসাইকেল . Software Development Life Cycle

সফটওয়ার ডেভলাপমেন্ট লাইফসাইকেল

রিদওয়ান বিন শামীম

 

সফটওয়ার ডেভলাপমেন্ট লাইফসাইকেল বা সংক্ষেপে SDLC হল সফটওয়ার প্রকৌশলে কাঙ্খিত পণ্য উৎপাদনের সুপরিচিত ও সুগঠিত কার্যক্রমের ধাপসমূহ।

SDLCএর কার্যক্রমঃ SDLC কাঙ্খিত পণ্য বা সফটওয়ার ডিজাইন ও ডেভেলাপের জন্য কয়েকটি ধাপ নিশ্চিত করে, SDLC ফ্রেমওয়ার্কে কয়েকটি ধাপ থাকে যেগুলো হল,

যোগাযোগঃ এটি প্রথম ধাপ যেখানে গ্রাহক কোনও সফটওয়ারের জন্য চাহিদা প্রকাশ করে, সফটওয়ার সেবা প্রদানকারীর সাথে যোগাযোগ করে ও শর্তাবলী জানায়। সেবা প্রদানকারীর কাছে লিখিত ভাবে তার চাহিদার কথা জানাতে হয়।

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

• অপ্রচলিত বা বিদ্যমান সিস্টেম ও সফটওয়ার নিরীক্ষণ করে,
• ডেভেলপার ও গ্রাহকের সাক্ষাৎকার নিয়ে,
• ডাটাবেসের সাহায্য নিয়ে,
• উদ্ভূত প্রশ্নের সমাধান করে।

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

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

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

কোডিংঃ এই ধাপও প্রোগ্রামিং ধাপ হিসেবে ধরা হয়। সঠিকভাবে উপযুক্ত প্রোগ্রামিং ভাষায় নির্ভুলভাবে প্রোগ্রাম কোড লেখার মাধ্যমে সফটওয়ার ডিজাইনের কার্যক্রম বাস্তব রূপ লাভ করে।

নিরীক্ষণঃ একটি সমীক্ষায় দেখা গেছে, ৫০ % সফটওয়ার ডেভলাপমেন্ট নিরীক্ষণ করা হয়। সামান্য ভুলের জন্য সফটওয়ারের ক্ষতি এমনকি বাতিলও হতে পারে। ডেভলপাররা কোডিঙের সময় মডিউল টেস্টিং, প্রোগ্রাম টেস্টিং, অভ্যন্তরীণ টেস্টিং, গ্রাহক ভিত্তিক টেস্টিং ইত্যাদি নিরীক্ষণ করেন, প্রারম্ভিক পর্যায়ে ভুল ধরা পরা নির্ভরযোগ্য সফটওয়ারের জন্য দরকারি।

মৌলিকতাঃ লাইব্রেরী, ডাটাবেস ও অন্যান্য প্রোগ্রামের ক্ষেত্রে সফটওয়ারের মৌলিকতা থাকতে হবে। SDLC এর এই বৈশিষ্ট্যই বিশ্ব বাজারে এর স্বাতন্ত্র্য নিশ্চিত করবে।
প্রয়োগঃ গ্রাহকের যন্ত্রে সফটওয়ার ইন্সটল করতে হবে, ইন্সটল করার পরে কনফিগার করতে হয়, এরপর বহনযোগ্যতা, অভিযোজন ও মৌলিকতা নির্ণয় করে দেখা হয়।

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

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

সফটওয়ারের ডেভলাপমেন্ট মডেলঃ সফটওয়ারের ডেভলাপমেন্ট মডেল ডেভলাপারকে কোনও সফটওয়ারের পরিকল্পনা তৈরি করতে সাহায্য করে। সফটওয়ারের ডেভলাপমেন্ট মডেলের নিজস্ব যন্ত্রপাতি, পদ্ধতি ও প্রক্রিয়া আছে যা স্পষ্টভাবে নির্দেশিত ও সফটওয়ার ডেভলাপমেন্ট লাইফসাইকেল সংজ্ঞায়িত করে। সফটওয়ারের ডেভলাপমেন্ট মডেলের অল্প কিছু ধাপ নিচে দেখানো হল।

ওয়াটারফল মডেলঃ সফটওয়ারের ডেভলাপমেন্ট মডেলের মধ্যে সবচেয়ে সহজ মডেল, রৈখিক নিয়ম মেনে চলে, এ মডেল অনুসারে, SDLC প্রক্রিয়ার এক পর্ব শেষ হলে তবেই অন্য আরেক পর্ব শুরু হয়। এই মডেল সকল ধাপ সুষ্ঠু ভাবে হয়েছে কিনা তা নিশ্চিত করে, এখনের পর্বের কাজ চলার সময় পূর্ববর্তী কোনও পর্বের কথা মাথায় রাখার দরকার থাকে না। তবে এই মডেলে সকল ধাপ নিখুঁতভাবে সম্পন্ন করতে হয়। পূর্বের কোনও কাজ অসমাপ্ত রাখা এই মডেলে সম্ভব নয়।

ডেভলাপার একই ধরনের সফটওয়ারে পূর্বে কাজ করেছে এরকম ক্ষেত্রে ওয়াটারফল মডেল অনুসরণ করা যায় কারণ এটির সব ধরনের ডোমেইন সম্পর্কে তার ধারণা থাকে।

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

প্রতি চক্রের পরে ব্যবস্থাপনা টিম ঝুঁকি ব্যবস্থাপনা ও পরবর্তী চক্রের জন্য তৈরি হতে পারে, যেহেতু প্রতিটি চক্র ছোট ছোট অনেক ভাগে বিভক্ত তাই ব্যবস্থাপনা প্রক্রিয়া অপেক্ষাকৃত সহজ, যদিও বেশি রিসোর্সের প্রয়োজন হয়।

স্পাইরাল মডেলঃ পুনরাবৃত্তিক মডেল ও SDLC প্রক্রিয়ার অন্য কোনও মডেল সমন্বয় করতে স্পাইরাল মডেল ব্যবহার করা হয়। এই মডেলে ঝুঁকি বিষয়ে বেশি লক্ষ্য রাখা হয় যা অন্য অনেক মডেলে উপেক্ষিত থাকে। পুনরাবৃত্তিক মডেল শুরু হয় লক্ষ্য ও সীমাবদ্ধতা পরিমাপ করে, এরপর প্রোটোটাইপিং করা হয় যা ঝুঁকিও বিশ্লেষণ করে থাকে। এরপর কোনও আদর্শ SDLC প্রক্রিয়া ব্যবহার করা হয় সফটওয়ারটি তৈরি করতে। পরবর্তী ধাপে পরবর্তী চক্রের জন্য প্রস্তুত হতে হয়।

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

বিগ ব্যাং মডেলঃ এ ধরনের মডেল সরল, এতে অল্প পরিকল্পনা ও বেশি কোডিং, বেশি অর্থ লাগে। বিজ্ঞানীরা যেমনটি বলেন, বিগ ব্যাংএর পরে গ্রহ নক্ষত্র সব মিলিয়ে ব্যপারটা যেমন হয়েছিল তেমনি আমরা যদি বেশি অর্থ ও বেশি প্রোগ্রামিং কাজে লাগাতে পারি তাহলে আমরা সবচেয়ে ভাল সফটওয়ার পণ্য তৈরি করতে পারব।

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

Permanent link to this article: http://bangla.sitestree.com/%e0%a6%b8%e0%a6%ab%e0%a6%9f%e0%a6%93%e0%a7%9f%e0%a6%be%e0%a6%b0-%e0%a6%a1%e0%a7%87%e0%a6%ad%e0%a6%b2%e0%a6%be%e0%a6%aa%e0%a6%ae%e0%a7%87%e0%a6%a8%e0%a7%8d%e0%a6%9f-%e0%a6%b2%e0%a6%be%e0%a6%87%e0%a6%ab/