সফটওয়্যার বানানোর ক্ষেত্রে প্ল্যানিং এবং স্পেসিফিকেশন সম্পর্কে জানুন

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

সফটওয়্যার বানানোর ক্ষেত্রে প্ল্যানিং এবং স্পেসিফিকেশন সম্পর্কে জানুন
সফটওয়্যার বানানোর ক্ষেত্রে প্ল্যানিং এবং স্পেসিফিকেশন সম্পর্কে জানুন

একটা 'Hello, World!...' সফটওয়্যার বানাই : প্ল্যানিং এবং স্পেসিফিকেশন


গল্পের পিছনের গল্প

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


আরো খোলামেলা ভাবে বলতে গেলে সফটওয়্যার তৈরি কারো একার কাজ না। অনেকগুলো মানুষ ছোট ছোট ভাবে ডিপার্টমেন্ট তৈরি করে নিজের মধ্যে কাজের ধাপগুলো ভাগ করে নেয়।


এখন প্রথমে প্ল্যানিং করতে হয়! আর প্ল্যানিং করতে লাগে আইডিয়া। খুবই গুরুত্বপূর্ণ একটা বিষয়। একটা সফটওয়্যার আসলে  কি করবে সেটা নির্ধারণ করা হয় এই ধাপে।


তারপর ui/ux ডিজাইন মানে দেখতে কেমন হবে কোথায় মেনু থাকবে, বাটনগুলো দেখতে কেমন হবে ইত্যাদি। এবার সবচেয়ে গুরুত্বপূর্ণ কোডিং প্রথমে ui তৈরি করতে হবে।


ইন্টারকশন গুলো ভালোভাবে বুঝতে হবে। মানে কোন বাটন চাপলে কি হবে সার্চ বক্সে লিখলে রেজাল্ট সাজেশন কি আসবে। এবার এ সব কিছুর পিছনে মুল সমস্যার জন্য এলগরিদম লিখতে হবে।


মানে ধরা যাক আমরা একটা অ্যাপ্লিকেশন তৈরি করব যেটা বেতনের হিসাব করবে এবং সূত্র হল : কতদিন কাজ করলো *500। অর্থাৎ প্রতিদিন কাজের জন্য 500 টাকা।


তাহলে এখন যেটা করতে হবে একটা ভেরিয়েবল ডিক্লেয়ার মোটা বেতন নির্ণেয়র জন্য কতদিন সেটা ইনপুট নিতে হবে তারপর হিসাব করতে হবে সূত্রানুযায়ী এবং হিসাব শেষে মান দেখাতে হবে।


আর এটা হলো বেতন বের করার এলগরিদম। তাহলে, বোঝা গেল তো আমাদের মূল কাজ কিন্তু এই এলগরিদম নিয়ে, কারন, ui ডিজাইন করবে যে সে শুধু সেটাই করবে আর কিছু করবে না, যে লজিক নিয়ে সে লজিক নিয়ে কাজ করবো।


টেস্টিং হবে বিভিন্ন ধাপে বিভিন্ন জনের হাতে। কিন্তু, ছোট খাটো একটা পার্সোনাল সফটওয়্যার বানাতে গেলে সবকিছু একজনকেই করতে হবে।


এত সবকিছু করার পর আমরা একটা executable ফাইল পেয়ে থাকি যেটাকে আমার বলি সফটওয়্যার। এই ফাইল এর উইন্ডোজ এক্সটেনশন হলো .exe  এবং লিনাক্সে .app


একটা executable ফাইল আসলে কি?

এটা আসলে একটা বাইনারী ফাইল। আর যেটাতে অনেকগুলো ফাইল কম্প্রেসড থাকে যেগুলো এটি যখন বিল্ড করা হয় তখন তৈরি হয়।


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


আবার এই executable ফাইল এর কিছু রিলেটেড ফাইল থাকে বিল্ড ফোল্ডার যেগুলোর কোন একটি মুভ বা ডিলেট করলে সফটওয়্যারটি অকেজো হয়ে যায়।


সুতরাং, এটি executable ফাইল সম্পর্কে জানা খুবই গুরুত্বপূর্ণ। তবে উইন্ডোজ এ .exe ফাইল সরাসরি রান করা যায়।


চলুন কাজ শুরু করি,

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


এবার আমাদের সফটওয়্যার কয়েকটা স্পেসিফিকেশন বের করা যাক।


১. সমস্যা: bmi বের করা।


২. ইউজার ইন্টারফেস: ui কেমন হবে? দুটো টেক্সট বক্স থাকবে, দুটো লেভেল থাকেব, সাবমিট বাটন থাকবে, স্বাস্থ্য সম্পর্কিত বার্তা প্রদর্শনের জন্য আরেকটা লেভেল থাকবে।


৩. bmi বের করার এলগরিদম লিখতে বের করতে হবে।


৪. এক্সেপশন হ্যন্ডেল করতে হবে।


৫. গুই লাইব্রেরি (যেটা আমাদের ui তৈরিতে সাহায্য করবে) যেখানে টেক্সট বক্স, লেভেল,বাটন রেডিমেট থাকে শুধু ডেকে ডেকে ব্যবহার করতে হয়।


৬. এক্সেকিউটাবল (.exe)  ফাইল তৈরি করা।


তো এই হলো প্ল্যানিং এবং স্পেসিফিকেশন। কীভাবে করব? কেমনে করব? সে গল্প অন্য একদিন আলোচনা করা যাবে। ধন্যবাদ।


আরও পড়ুনঃ নতুন ব্লগারদের জন্য সেরা ৩টি ওয়ার্ডপ্রেস থিমের তালিকা