As Software Engineers, we have to face major questions from clients, Management, etc. That is Whats the time and Cost?
Estimating the cost of the project is one of the most challenging jobs for the Software Engineer. One of the best ways to calculate the cost of the project is COCOMO. COCOMO stands for the Constructive Cost Model. It is a Constructive Cost Model which is totally based on LOC (Lines of Code) the project estimation is done based on the total lines of codes required to develop the system. i.e. Size of the system define the cost of the project.
Co = Constructive
Co = Cost
COCOMO = Constructive Cost Model
COCOMO was first developed by Barry W. Boehm in 1981 as a model that is used to estimate the effort, cost, development time, average staff size, productivity, etc.
It is a hierarchy of software cost estimation models. It consists of three hierarchies of increasingly detailed and accurate forms.
- Basic COCOMO model
- Intermediate COCOMO model
- Detailed COCOMO model
- Basic COCOMO model: It estimates the software in a rough and quick manner. It is mostly useful for small-medium sized software. There are three modes of development.
- Semi Detached
We used these three different modes of development to calculate the project effort, development time, average staff size, productivity according to different criteria which are shown below.
|Size||2 50 KLOC||50 300 KLOC||300 & Above KLOC|
|Team Size||Small Size||Medium Size||Large Size|
|Developer Experience||Experienced Developers Needed||Average Experienced People||Very Little Previous experience|
|Environment||Familiar Environment||Less Familiar||Significant environment changes (Almost new environment)|
|Example||Payroll System||Utility Systems, DBMS||Air Traffic monitoring, ATM|
BASIC MODEL EQUATIONS
- Effort = a (KLOC)b person month
- Development Time = c (Effort)d months
- Average Staff Size = Effort / Development Time persons
- Productivity = KLOC / Effort KLOC/ Person-Month
|Software Product Type||a||b||c||d|