Header Ads

Header ADS

COCOMO Model



🧠 COCOMO Model কী?

COCOMO (Constructive Cost Model) হলো একটি গাণিতিক মডেল, যেটা ব্যবহার করে software project এর জন্য:

  1. Effort (পরিশ্রম) – কজন মানুষ, কত মাস কাজ করবে (Person-Month)

  2. Time (সময়) – মোট development সময়

  3. Cost (ব্যয়) – আনুমানিক খরচ

এই সব কিছু Lines of Code (LOC) এর উপর ভিত্তি করে হিসাব করা হয়।

এটি তৈরি করেন Barry W. Boehm ১৯৮১ সালে।


📌 COCOMO-এর ধরন (Modes)

COCOMO-তে সাধারণত ৩টি মডেল বা মোড রয়েছে, প্রতিটির নিজস্ব জটিলতা ও প্রয়োগ ক্ষেত্র রয়েছে:

Mode ব্যবহার হয় যখন বৈশিষ্ট্য
Organic ছোট ও সহজ প্রজেক্ট, অভিজ্ঞ টিম সহজ ও দ্রুত প্রকল্প
Semi-Detached মাঝারি মাপের প্রজেক্ট কিছু জটিলতা থাকে
Embedded জটিল ও শক্তিশালী সিস্টেম যেমন: রিয়েল-টাইম সিস্টেম, এয়ারক্রাফট সফটওয়্যার

📐 মূল ফর্মুলা (Basic COCOMO)

✅ Basic COCOMO

1️⃣ Effort (পরিশ্রম):

E=a×(KLOC)bE = a \times (\text{KLOC})^b
  1. E = Effort (Person-Months)
  2. KLOC = Kilo Lines of Code (1000 লাইন কোড)

  3. a, b = নির্দিষ্ট constants (mode অনুযায়ী পরিবর্তিত হয়)

2️⃣ Development Time (সময়):

T=c×(E)dT = c \times (E)^d
  1. T = Time (in months)
  2. 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 হিসাব:

E=2.4×(25)1.052.4×28.94=69.45 Person-MonthsE = 2.4 \times (25)^{1.05} \approx 2.4 \times 28.94 = 69.45 \text{ Person-Months}

🔸 Development Time:

T=2.5×(69.45)0.382.5×5.96=14.9 MonthsT = 2.5 \times (69.45)^{0.38} \approx 2.5 \times 5.96 = 14.9 \text{ Months}

👉 অর্থাৎ এই প্রজেক্ট শেষ করতে প্রায় ১৫ মাস এবং ৭০ জন-মাস পরিশ্রম লাগবে।



⚙️ Intermediate COCOMO Model

Intermediate version টি Basic COCOMO থেকে উন্নত। এখানে শুধু KLOC দিয়ে হিসাব করা হয় না, বরং 15টি cost driver যুক্ত হয় — যা প্রকল্পের environment ও জটিলতা বোঝাতে সাহায্য করে।

🔸 ফর্মুলা:

E=a×(KLOC)b×EAFE = a \times (KLOC)^b \times \text{EAF}

  1. EAF = Effort Adjustment Factor (Cost Drivers থেকে পাওয়া)
  2. বাকি অংশ 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 পাওয়া যায়।


📊 উদাহরণ:

  1. ধরো ৩২ KLOC

  2. Project: Semi-Detached

  3. Constants: a=3.0, b=1.12

  4. EAF: 1.15 (Cost Drivers অনুযায়ী)

E=3.0×(32)1.12×1.153.0×45.6×1.15=157.68 Person-MonthsE = 3.0 \times (32)^{1.12} \times 1.15 \approx 3.0 \times 45.6 \times 1.15 = 157.68 \text{ Person-Months}


🔍 Detailed COCOMO Model

এই মডেলটি সবচেয়ে উন্নত এবং প্রতিটি module/component এর জন্য আলাদা করে estimation করে।

✅ বৈশিষ্ট্য:

  1. একই সাথে multiple components বিবেচনায় নেয়

  2. প্রতিটি module-এর জন্য Cost Driver, Size, EAF আলাদা

  3. Team Composition ও Development Environment-ও হিসাব করে

🔸 ফর্মুলা:

প্রতিটি module-এর জন্য:

Ei=a×(KLOCi)b×EAFiE_i = a \times (KLOC_i)^b \times EAF_i

সবগুলো Effort যোগ করে:

Etotal=EiE_{total} = \sum E_i


📌 ব্যবহারের ক্ষেত্র:

  1. Enterprise-Grade বা Large-Scale Software Projects

  2. যেখানে বহু টিম ও প্রযুক্তি ব্যবহৃত হয়



✅ উপকারিতা:

  • Software estimation সহজ করে

  • Team planning ও budgeting এ সাহায্য করে

  • সময় ও খরচ পূর্বাভাস দিতে পারে

❗ সীমাবদ্ধতা:

  • শুধুমাত্র LOC ভিত্তিক, তাই Agile বা modern design approaches-এ সবসময় কার্যকর নয়

  • Code size অনুমান না করলে ব্যবহার কঠিন


Powered by Blogger.