ফাংশনাল রিকয়ারমেনটের সাথে সফটওয়্যার ইঞ্জিনিয়ারিং এর কোন সম্পর্ক নেই

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

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

একবার চিন্তা করে দেখুন, আউটপুট কিন্তু যেকোনোভাবে কোড করেই আনা সম্ভব। তাও আমরা কেন গুছিয়ে কোড করি? এর কারণ যাতে আমাদের কোডগুলো মেইনটেইনেবল হয়, ফ্লেক্সিবল হয়। আমরা আর্কিটেকচার নিয়ে এত মাথা ঘামাই যেন সফটওয়্যারটি স্কেলেবল হয়, রোবাসট হয়, ফলট টলারেনট হয়। সফটওয়্যার ইঞ্জিনিয়ারিং এর প্রতিটি সূত্র, তত্ত্ব, নিয়ম আমাদেরকে শেখায় কিভাবে আমরা নন ফাংশনাল রিকয়ারমেনটগুলোকে অর্জন করতে পারি।

কজেই আমরা যদি আসলেই সফটওয়্যার ইঞ্জিনিয়ারিং মেনে কাজ করতে চাই, তাহলে নন ফাংশনাল রিকয়ারমেনটকে হেলাফেলা করলে চলবে না। কারণ সফটওয়্যার ইঞ্জিনিয়ারিং এর জন্মই নন ফাংশনাল রিকয়ারমেনটকে পরিপূর্ণ করার জন্য।

 

মোঃ জালাল উদ্দিন,

প্রতিষ্ঠাতা ও সিইও, ডেভস্কিল.কম

 

ডেভস্কিলের কিছু বিশেষ সফটওয়্যার ইঞ্জিনিয়ারিং কোর্স –

  1. Software Design Patterns for Software Engineers

  2. Object Oriented Programming in Practice

  3. Full Stack Asp.net MVC Development

  4. C# Programming Language

Leave a Reply

Your email address will not be published. Required fields are marked *