- Information
- AI Chat
Was this document helpful?
The application composition model
Course: Software Engineering (CS391)
174 Documents
Students shared 174 documents in this course
University: Fayoum University
Was this document helpful?
The application composition model
The application composition model is a new feature that was added to COCOMO
II to assist with the assessment of the amount of work that is necessary for
prototyping projects as well as projects in which the software is produced by
composing existing components. It is calculated using an estimate of weighted
application points, which are also referred to as object points on occasion. This
figure is then divided by a standard estimate of application point productivity (B.
W. Boehm et al. The number of application points in a programme can be derived
from four simpler estimates, which are: 1) the number of separate screens or web
pages that are displayed; 2) the number of reports that are produced; 3) the number
of modules in imperative programming languages (such as Java); and 4) the
number of lines of scripting language or database programming code.
The accuracy of this estimate is then determined by the degree of complexity
associated with the creation of each application point. The expertise and skill of the
developer are important factors in determining productivity, but so are the features
and capabilities of the software tools (ICASE) that are used to support
development. The levels of application-point productivity that were indicated by
the architects of the COCOMO model are displayed in Figure 23.11.
The process of composing an application typically involves customising
application systems and reusing already developed software. So, the
implementation of some of the system's application points will involve the use of
components that can be reused. As a consequence of this, you will need to modify
the estimate so that it takes into account the anticipated proportion of reuse. As a
result, the following is the ultimate formula for computing the amount of effort
required for system prototypes: