Detailed COCOMO

This is the most complex version of the COCOMO model. It involves the following additional steps:

• The program is decomposed into specific products and components of products. Boehm calls this the three-level product hierarchy: system, subsystem, and module. The top level, the system level, is used to apply major overall project relations such as nominal effort and schedule equations, and to apply the nominal project effort and schedule breakdowns by phase. The lowest level, the module level, is described by the number of KLOC in the module and by the cost drivers that tend to vary at the lowest level. The second level, the subsystem level, is described by the remainder of the cost drivers that tend to vary from subsystem to subsystem but that tend to be the same for all the modules within a subsystem.

• Cost drivers are analyzed separately for each component. Subsystems and modules inherit the system cost drivers. They are RELY, VIRT, TURN, MODP, TOOL, and SCED.

Modules inherit the subsystem cost drivers. They are DATA, TIME, STOR, ACAP, AEXP (these tend to be the same for all modules within a subsystem). The module cost drivers are KLOC, AAF, CPLX, PCAP, VEXP, and LEXP. AAF is new—it considers the adaptation of existing modules. More information is available earlier when modifying existing software—this data leads to more accurate estimations. Given that much software under construction is not totally new development and the reuse of existing modules is encouraged by newer methods (i.e., object-oriented), use of detailed COCOMO is often worth the extra effort. It should be noted that the cost of reuse is never zero. There is always effort expended to understand the existing code and to interface to it. The cost to rewrite a system may be less than to continue to maintain it (if it has suffered entropy of structure), but it will be more expensive than to build a "new" system of comparable size and complexity from scratch. Some believe that the economic breakeven point occurs when only 20% of the code is modified; reuse is not cost-effective above the breakeven point.

® The project development activities are partitioned into phases. Boehm used four major phases: requirements (RQ), product design (PD), detailed design (DD), and coding and unit test (CUT) for development. Integration and testing (IT) and maintenance (MN) describe the entire life cycle. Phases may be used to partition systems, subsystems, and/or modules. Different effort multipliers are used for each phase. Different values of the cost driver multipliers are set for each of the three levels in the product hierarchy (system, subsystem, module) and each phase (RPD, DD, CUT, IT) within the hierarchies.

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook


Post a comment