Types of SoftwareProject
1. Organic:
• Small, simple projects with experienced teams.
• Well-understood and stable requirements.
• Example: Small business applications.
2. Semi-Detached:
• Medium-sized projects.
• Moderately complex, with teams of mixed experience
levels.
• Example: Database systems or operating systems.
3. Embedded:
• Large, complex projects requiring rigorous standards.
• Examples: Real-time systems, aerospace software.
8.
Basic model
• Thebasic model is used for quick and rough cost calculations
for the software. It calculates the effort, time, and number of
people required to use a project's kLOC (kilo lines of code).
• The formulae to calculate these entities are:
• Effort(E) = a*(kLOC)^b
• Time(T) = c*(E)^d
• People required = E/T
• The effort is measured in person-months and time in months.
The constants a, b, c, and d a, b, c, and d vary for each model
type.
Basic COCOMO Model
•Simplified and suitable for quick, rough estimates.
• Only considers the size of the software (in LOC) and
provides effort, time, and cost estimates.
• Formula:
• Parameters aaa, bbb, ccc, and ddd vary based on
project type (organic, semi-detached, embedded).
22.
Example-1:A small teamof experienced developers is
building a simple inventory management system. The
size of the system is estimated to be 32 KLOC.
23.
Example-2: A moderatelyexperienced team is tasked
with developing a web-based e-commerce platform.
The project size is estimated to be 50 KLOC.
24.
Example-3: An experiencedteam is developing an
embedded control system for an aerospace
application. The size is estimated at 120 KLOC.
25.
Intermediate COCOMO
• Theintermediate model is an extension of the basic
model and includes a set of cost drivers to calculate
the estimates with better accuracy. The effort factor
includes the effort adjustment factor (EAF) that is
calculated with the cost drivers.
• The formulae to calculate these entities are:
• Effort(E) = a(kLOC)^b EAF
∗
• Time(T) = c(E)d
• The effort is measured in person-months and time in
months
26.
Key Components ofIntermediate COCOMO
• The Intermediate COCOMO model refines the
Basic COCOMO model by incorporating the
effects of various cost drivers on software
development.
• These cost drivers account for factors like
product complexity, team experience, and use
of development tools, making the estimates
more realistic and tailored to specific project
conditions.
Constants for IntermediateCOCOMO
• The Intermediate COCOMO model builds
upon the Basic COCOMO by including Effort
Adjustment Factors (EAF), but the constants
(aaa, bbb, ccc, ddd) remain the same for
Organic, Semi-Detached, and Embedded
project types. Here are the constants:
29.
Category Cost DriverDescription Rating Levels (with typical multipliers)
Product Attributes RELY (Required Reliability) Importance of software reliability. Very Low (0.75), Low (0.88), Nominal (1.00),
High (1.15), Very High (1.40)
DATA (Database Size) Size of the database used.
Low (0.94), Nominal (1.00), High (1.08), Very
High (1.16)
CPLX (Product Complexity) Complexity of the product.
Very Low (0.70), Low (0.85), Nominal (1.00),
High (1.15), Very High (1.30), Extra High
(1.65)
Hardware Attributes TIME (Execution Time Constraint) Runtime performance constraints.
Nominal (1.00), High (1.11), Very High
(1.30), Extra High (1.66)
STOR (Main Storage Constraint) Memory constraints on the system. Nominal (1.00), High (1.06), Very High
(1.21), Extra High (1.56)
VIRT (Virtual Machine Volatility) Changes in hardware/OS environment.
Low (0.87), Nominal (1.00), High (1.15), Very
High (1.30)
TURN (Turnaround Time) Testing turnaround time constraints. Low (0.87), Nominal (1.00), High (1.07), Very
High (1.15)
Personnel Attributes ACAP (Analyst Capability) Capability of the systems analyst. Very Low (1.46), Low (1.19), Nominal (1.00),
High (0.86), Very High (0.71)
PCAP (Programmer Capability) Capability of the programmer.
Very Low (1.42), Low (1.17), Nominal (1.00),
High (0.86), Very High (0.70)
AEXP (Application Experience) Developer's familiarity with the
application.
Very Low (1.29), Low (1.13), Nominal (1.00),
High (0.91), Very High (0.82)
PEXP (Platform Experience)
Developer's experience with the
platform.
Very Low (1.19), Low (1.09), Nominal (1.00),
High (0.91), Very High (0.85)
LEXP (Language Experience)
Experience with the programming
language.
Very Low (1.20), Low (1.10), Nominal (1.00),
High (0.95), Very High (0.90)
Project Attributes MODP (Modern Programming
Practices)
Use of modern practices. Very Low (1.24), Low (1.10), Nominal (1.00),
High (0.91), Very High (0.82)
TOOL (Use of Tools) Quality and capability of tools used. Very Low (1.24), Low (1.10), Nominal (1.00),
High (0.91), Very High (0.83)
SCED (Required Development
Schedule)
Schedule constraints and flexibility. Very Low (1.23), Low (1.08), Nominal (1.00),
High (1.04), Very High (1.10)
33.
Example-1
• A simpleinventory management system
needs to be developed. The size of the project
is 32 KLOC, and the following cost driver
ratings are provided:
– RELY (Required Reliability): Nominal
(1.001.001.00)
– DATA (Database Size): Low (0.940.940.94)
– ACAP (Analyst Capability): High (0.860.860.86)
– TOOL (Tool Usage): High (0.910.910.91)
Example-2: Semi-Detached Project
•A web-based e-commerce platform is being
developed with a project size of 50 KLOC. The cost
drivers are rated as:
– CPLX (Product Complexity): High (1.151.151.15)
– TIME (Execution Time Constraint): High (1.111.111.11)
– AEXP (Application Experience): Nominal (1.001.001.00)
– SCED (Required Development Schedule): High
(1.041.041.04)
Example-3: Embedded Project
•An embedded control system for aerospace
needs to be developed. The project size is 120
KLOC, and the cost drivers are rated as:
– RELY (Required Reliability): Very High (1.401.401.40)
– PCAP (Programmer Capability): Low (1.171.171.17)
– TOOL (Tool Usage): High (0.910.910.91)
– MODP (Modern Programming Practices): Nominal
(1.001.001.00)
Detailed COCOMO
• TheDetailed COCOMO model is the most
comprehensive version of the COCOMO framework.
• It builds on the Intermediate COCOMO model by
breaking the project into smaller, more manageable
components (such as modules or subsystems) and
estimating the effort and time for each component
separately.
• This allows for a finer level of granularity and
increased accuracy in effort and cost estimation.
40.
Key Features ofDetailed COCOMO
1. Component-Based Estimation:
• The project is divided into components or modules.
• Each module is assessed separately for size, complexity, and effort.
2. Phase-Wise Estimation:
• Effort is estimated for different phases of the software
development life cycle (SDLC), such as:
o Requirements analysis
o System design
o Detailed design
o Coding
o Integration and testing
o Maintenance
41.
Key Features ofDetailed COCOMO
3. Use of Cost Drivers for Each Module:
• Each module is evaluated for cost drivers (e.g.,
reliability, complexity) individually, allowing for
variability within the project.
4. More Detailed Factors:
• Accounts for project-specific factors like the
complexity of individual modules, team
expertise, and tools used at each phase.
Example-1
• A HospitalManagement System project is
divided into three modules:
– Patient Management (40 KLOC)
– Billing (20 KLOC)
– Reporting (25 KLOC)
• Each module has its own cost driver ratings and
EAFEAFEAF. The project type is Semi-Detached
(a=3.0a = 3.0a=3.0, b=1.12b = 1.12b=1.12,
c=2.5c = 2.5c=2.5, d=0.35d = 0.35d=0.35).
Example-2: Organic Project
•A small library management system is being
developed. The project is divided into three
modules:
– Book Management (15 KLOC)
– User Management (10 KLOC)
– Report Generation (5 KLOC)
• The project is simple, with stable requirements and
an experienced team. Cost drivers for all modules
are rated as Nominal (EAF=1.0EAF = 1.0EAF=1.0).
Example-3: Semi-Detached Project
•A web-based e-commerce platform is being developed. The
project is divided into four modules:
– Product Management (40 KLOC)
– Order Processing (30 KLOC)
– Customer Management (25 KLOC)
– Analytics Dashboard (15 KLOC)
• The team has moderate experience, and cost drivers are rated as
follows:
• Product Management: EAF=1.2
• Order Processing: EAF=1.1
• Customer Management: EAF=1.0
• Analytics Dashboard: EAF=0.95