Advantages & Disadvantages of COCOMO Model - GeeksforGeeks

31 May, 2021
Overview :Cocomo stands for Constructive Cost Model is a regression model based on LOC, i.e number of Lines of Code.   COCOMO model is proposed by Boehm in 1981 It is a procedural cost estimate model for software projects and often used as a process of reliably predicting the various parameters related to making a project such as size, effort, cost, time and quality COCOMO model is one of the most generally used models within the world 
Categories of COCOMO :Any of the software models are divided into three categories on the basis of development complexities organic, semi-detached, and embedded as follows.
Organic – A development project is considered to be organic if the project size is the same, the team is well experienced and the project deals with developing a well-understood application program Examples are data processing systems and simple business systems.Semi-detached – A development project is considered to be semi-detached if it contains a mixture of experience or inexperienced team members Example a database management system.Embedded – A development project is considered to be embedded if the software being developed is strongly coupled to complex hardware, or if stringent regulations on the operational method exist. It is developed in a set of tight constraint example ATM.
Organic – A development project is considered to be organic if the project size is the same, the team is well experienced and the project deals with developing a well-understood application program Examples are data processing systems and simple business systems.
Semi-detached – A development project is considered to be semi-detached if it contains a mixture of experience or inexperienced team members Example a database management system.
Embedded – A development project is considered to be embedded if the software being developed is strongly coupled to complex hardware, or if stringent regulations on the operational method exist. It is developed in a set of tight constraint example ATM.
Types of COCOMO models :Three types of COCOMO models as follows.
Basic model :COCOMO model provides an accurate size of the project parameters. It is good for a quick estimate of the cost. The estimated effort and scheduled time are given by the relationship as follows.
Effort (E) = a*(KLOC)b  MM
Scheduled Time (D) = c*(E)d  Months(M)
Where,

E            = Total effort required for the project in Man-Months (MM).
a, b, c, d   = The constant parameters for a software project.
D            = Total time required for project development in Months (M).
KLOC         = The size of the code for the project in Kilo lines of code.
Intermediate model :Intermediate COCOMO computes software development effort as a function of program size and a set of “cost drivers” that include subjective assessment of the product, hardware, personnel, and project attributes. The estimated effort and scheduled time are given by the relationship as follows.
Effort (E) = a*(KLOC)b *EAF  MM
Scheduled Time (D) = c*(E)d  Months(M)

E           = Total effort required for the project in Man-Months (MM).
a, b, c, d  = The constant parameters for a software project.
D           = Total time required for project development in Months (M).
KLOC        = the size of the code for the project in Kilo lines of code.
EAF         = Efforts adjustment factors 
Detailed model : Detailed COCOMO incorporates all qualities of the standard version with an assessment of the cost driver’s effect on each method of the software engineering process.
Advantages :
It works on historical data and provides more accurate details.
Easy to implement with various factors. One can easily understand how it works.
Easy to estimate the total cost of the project.
The drivers are very helpful to understand the impact of the different factors that affect project crises.
Disadvantages :
It ignores the hardware issues as well as the personal turnover level.
It ignores all the documentation and requirements.
It mostly depends on time factors.
It limits the accuracy of software costs.
It oversimplifies the impact of safety or security aspects.
It also ignores customer skills, cooperation, and knowledge.
Software Engineering
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
DFD for Library Management System
What is DFD(Data Flow Diagram)?
Use Case Diagram for Library Management System
RUP and its Phases
System Testing
Software Development Life Cycle (SDLC)
Software Engineering | Black box testing
Software Engineering | Incremental process model
Software Engineering | Seven Principles of software testing
Software Engineering | Rapid application development model (RAD)