COCOMO Model
🧠 COCOMO Model কী?
COCOMO (Constructive Cost Model) হলো একটি গাণিতিক মডেল, যেটা ব্যবহার করে software project এর জন্য:
Effort (পরিশ্রম) – কজন মানুষ, কত মাস কাজ করবে (Person-Month)
-
Time (সময়) – মোট development সময়
-
Cost (ব্যয়) – আনুমানিক খরচ
এই সব কিছু Lines of Code (LOC) এর উপর ভিত্তি করে হিসাব করা হয়।
এটি তৈরি করেন Barry W. Boehm ১৯৮১ সালে।
📌 COCOMO-এর ধরন (Modes)
COCOMO-তে সাধারণত ৩টি মডেল বা মোড রয়েছে, প্রতিটির নিজস্ব জটিলতা ও প্রয়োগ ক্ষেত্র রয়েছে:
Mode | ব্যবহার হয় যখন | বৈশিষ্ট্য |
---|---|---|
Organic | ছোট ও সহজ প্রজেক্ট, অভিজ্ঞ টিম | সহজ ও দ্রুত প্রকল্প |
Semi-Detached | মাঝারি মাপের প্রজেক্ট | কিছু জটিলতা থাকে |
Embedded | জটিল ও শক্তিশালী সিস্টেম | যেমন: রিয়েল-টাইম সিস্টেম, এয়ারক্রাফট সফটওয়্যার |
📐 মূল ফর্মুলা (Basic COCOMO)
✅ Basic COCOMO
1️⃣ Effort (পরিশ্রম):
- E = Effort (Person-Months)
KLOC = Kilo Lines of Code (1000 লাইন কোড)
-
a, b = নির্দিষ্ট constants (mode অনুযায়ী পরিবর্তিত হয়)
2️⃣ Development Time (সময়):
- T = Time (in months)
-
c, d = নির্দিষ্ট constants
🔧 Constants Table (Mode অনুযায়ী)
Mode | a | b | c | d |
---|---|---|---|---|
Organic | 2.4 | 1.05 | 2.5 | 0.38 |
Semi-Detached | 3.0 | 1.12 | 2.5 | 0.35 |
Embedded | 3.6 | 1.20 | 2.5 | 0.32 |
📊 উদাহরণ:
ধরা যাক, তোমার একটি Organic প্রকল্প রয়েছে যেখানে 25,000 লাইন কোড থাকবে।
অর্থাৎ KLOC = 25
🔸 Effort হিসাব:
🔸 Development Time:
👉 অর্থাৎ এই প্রজেক্ট শেষ করতে প্রায় ১৫ মাস এবং ৭০ জন-মাস পরিশ্রম লাগবে।
⚙️ Intermediate COCOMO Model
Intermediate version টি Basic COCOMO থেকে উন্নত। এখানে শুধু KLOC দিয়ে হিসাব করা হয় না, বরং 15টি cost driver যুক্ত হয় — যা প্রকল্পের environment ও জটিলতা বোঝাতে সাহায্য করে।
🔸 ফর্মুলা:
- EAF = Effort Adjustment Factor (Cost Drivers থেকে পাওয়া)
-
বাকি অংশ Basic-এর মতোই
✅ Cost Drivers (15টি)
Cost Drivers ৪টি category-তে বিভক্ত:
Category | Cost Driver উদাহরণ |
---|---|
Product | Required Software Reliability, Complexity |
Computer | Execution Time Constraint, Memory Constraint |
Personnel | Analyst Capability, Programmer Experience |
Project | Tools Used, Schedule Requirements |
🧠 প্রতিটি Cost Driver-এর জন্য rating দেওয়া হয়: Very Low → Extra High, এবং তার একটি weight থাকে (0.75 থেকে 1.4 পর্যন্ত)। এই সব weight গুণ করে EAF পাওয়া যায়।
📊 উদাহরণ:
ধরো ৩২ KLOC
-
Project: Semi-Detached
-
Constants:
a=3.0
,b=1.12
-
EAF: 1.15 (Cost Drivers অনুযায়ী)
🔍 Detailed COCOMO Model
এই মডেলটি সবচেয়ে উন্নত এবং প্রতিটি module/component এর জন্য আলাদা করে estimation করে।
✅ বৈশিষ্ট্য:
একই সাথে multiple components বিবেচনায় নেয়
-
প্রতিটি module-এর জন্য Cost Driver, Size, EAF আলাদা
-
Team Composition ও Development Environment-ও হিসাব করে
🔸 ফর্মুলা:
প্রতিটি module-এর জন্য:
সবগুলো Effort যোগ করে:
📌 ব্যবহারের ক্ষেত্র:
Enterprise-Grade বা Large-Scale Software Projects
-
যেখানে বহু টিম ও প্রযুক্তি ব্যবহৃত হয়
✅ উপকারিতা:
-
Software estimation সহজ করে
-
Team planning ও budgeting এ সাহায্য করে
-
সময় ও খরচ পূর্বাভাস দিতে পারে
❗ সীমাবদ্ধতা:
-
শুধুমাত্র LOC ভিত্তিক, তাই Agile বা modern design approaches-এ সবসময় কার্যকর নয়
-
Code size অনুমান না করলে ব্যবহার কঠিন