Bird
Raised Fist0
Software Engineeringknowledge~5 mins

COCOMO model in Software Engineering - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does COCOMO stand for?
COCOMO stands for Constructive Cost Model. It is a method used to estimate the cost, effort, and time required to develop software.
Click to reveal answer
beginner
Name the three levels of the COCOMO model.
The three levels of COCOMO are:
1. Basic COCOMO
2. Intermediate COCOMO
3. Detailed COCOMO
Click to reveal answer
beginner
What is the main input used in the COCOMO model to estimate effort?
The main input is Lines of Code (LOC) or thousands of lines of code (KLOC) expected to be written in the software project.
Click to reveal answer
intermediate
How does the Intermediate COCOMO model improve upon the Basic COCOMO?
Intermediate COCOMO adds cost drivers or factors like product reliability, complexity, and team experience to adjust the effort estimate, making it more accurate than Basic COCOMO.
Click to reveal answer
intermediate
What is the purpose of the Detailed COCOMO model?
Detailed COCOMO breaks down the project into smaller components and applies cost drivers to each part, providing a very detailed and precise estimate of effort and schedule.
Click to reveal answer
What is the primary measure used by COCOMO to estimate software development effort?
ANumber of developers
BLines of Code (LOC)
CProject budget
DNumber of features
Which COCOMO model includes cost drivers to adjust estimates?
AIntermediate COCOMO
BBasic COCOMO
CDetailed COCOMO
DNone of the above
What does the Detailed COCOMO model do differently compared to the Basic model?
ABreaks project into parts and applies cost drivers to each
BUses only LOC without adjustments
CIgnores project complexity
DEstimates only schedule, not effort
Which of the following is NOT a factor considered in Intermediate COCOMO's cost drivers?
AProduct reliability
BTeam experience
CSoftware complexity
DNumber of programming languages used
COCOMO is primarily used to estimate which of the following?
ASoftware development effort and cost
BUser satisfaction
CHardware requirements
DMarketing budget
Explain the three levels of the COCOMO model and how they differ in estimating software development effort.
Think about how each level adds more detail and factors to improve accuracy.
You got /3 concepts.
    Describe how cost drivers influence the effort estimation in the COCOMO model.
    Consider why just counting lines of code might not be enough.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the primary purpose of the COCOMO model in software engineering?
      easy
      A. To manage software version control
      B. To design the user interface of software
      C. To test software for bugs
      D. To estimate the effort and time required for a software project

      Solution

      1. Step 1: Understand COCOMO's role

        COCOMO stands for Constructive Cost Model and is used to estimate effort and time.
      2. Step 2: Compare options

        Only To estimate the effort and time required for a software project describes estimation of effort and time, which matches COCOMO's purpose.
      3. Final Answer:

        To estimate the effort and time required for a software project -> Option D
      4. Quick Check:

        COCOMO estimates effort and time [OK]
      Hint: COCOMO estimates project effort and duration [OK]
      Common Mistakes:
      • Confusing COCOMO with testing or design tools
      • Thinking COCOMO manages code versions
      • Assuming COCOMO is for UI design
      2. Which of the following is a correct formula used in the basic COCOMO model to estimate effort (in person-months)?
      easy
      A. Effort = a * (KLOC)^b
      B. Effort = a + b * KLOC
      C. Effort = a / (KLOC)^b
      D. Effort = a * b + KLOC

      Solution

      1. Step 1: Recall COCOMO effort formula

        Basic COCOMO uses Effort = a * (KLOC)^b, where a and b are constants and KLOC is thousands of lines of code.
      2. Step 2: Check options

        Only Effort = a * (KLOC)^b matches the correct formula structure with multiplication and exponent.
      3. Final Answer:

        Effort = a * (KLOC)^b -> Option A
      4. Quick Check:

        Effort formula uses multiplication and power [OK]
      Hint: Look for multiplication and exponent in effort formula [OK]
      Common Mistakes:
      • Using addition or division instead of multiplication and power
      • Mixing constants incorrectly
      • Confusing effort with time formulas
      3. Given a software project with 50 KLOC, and basic COCOMO constants a=2.4 and b=1.05, what is the estimated effort in person-months? (Use formula: Effort = a * (KLOC)^b)
      medium
      A. About 100 person-months
      B. About 150 person-months
      C. About 130 person-months
      D. About 90 person-months

      Solution

      1. Step 1: Apply the formula with given values

        Effort = 2.4 * (50)^1.05. Calculate 50^1.05 ≈ 60.8.
      2. Step 2: Calculate effort

        Effort ≈ 2.4 * 60.8 = 145.9 person-months, approximately 150 person-months.
      3. Final Answer:

        About 150 person-months -> Option B
      4. Quick Check:

        2.4 * 50^1.05 ≈ 146 [OK]
      Hint: Calculate power first, then multiply by constant a [OK]
      Common Mistakes:
      • Forgetting to raise KLOC to power b
      • Using wrong constants
      • Rounding too early causing big errors
      4. A developer wrote this COCOMO effort estimation code snippet but it gives wrong results:
      effort = a * KLOC ** b

      Given a=2.5, b=1.1, KLOC=40, what is the likely error?
      medium
      A. Incorrect order of operations causing wrong calculation
      B. Not converting KLOC to thousands of lines
      C. No error; code is correct
      D. Using exponentiation operator incorrectly in this context

      Solution

      1. Step 1: Analyze the formula and code

        The code uses Python exponentiation operator ** correctly for Effort = a * KLOC^b.
      2. Step 2: Check variable values and units

        KLOC is already in thousands of lines (40), so no conversion needed. The formula and code match.
      3. Final Answer:

        No error; code is correct -> Option C
      4. Quick Check:

        Code matches formula and units [OK]
      Hint: Check if code matches formula and units exactly [OK]
      Common Mistakes:
      • Assuming exponent operator is wrong in Python
      • Forgetting KLOC unit is already thousands
      • Thinking order of operations is incorrect
      5. A software project is classified as 'organic' in COCOMO with constants a=2.4, b=1.05, c=2.5, d=0.38. If the project size is 30 KLOC, what is the estimated development time (in months)? Use formulas:
      Effort = a * (KLOC)^b
      Time = c * (Effort)^d
      hard
      A. About 13.5 months
      B. About 10.2 months
      C. About 7.3 months
      D. About 8.5 months

      Solution

      1. Step 1: Calculate effort

        Effort = 2.4 * (30)^1.05. Calculate 30^1.05 ≈ 35.6. Effort ≈ 2.4 * 35.6 = 85.4 person-months.
      2. Step 2: Calculate development time

        Time = 2.5 * (85.4)^0.38. Calculate 85.4^0.38 ≈ 5.42. Time ≈ 2.5 * 5.42 = 13.55 months.
      3. Final Answer:

        About 13.5 months -> Option A
      4. Quick Check:

        Time = c * Effort^d ≈ 13.5 months [OK]
      Hint: Calculate effort first, then apply time formula [OK]
      Common Mistakes:
      • Calculating time without effort first
      • Using wrong constants for organic projects
      • Rounding intermediate values too early
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard