Application Composition Estimation Model allows one to estimate the cost, effort at the stage 1 of the COCOMO II Model.
In this model size is first estimated using Object Points. Object Points are easy to identify and count. Object Points defines screen, reports, third generation (3GL) modules as objects.
Object Point estimation is a new size estimation technique but it is well suited in Application Composition Sector.
Estimation of Efforts:
Following steps are taken to estimate effort to develop a project
Step-1: Access Object counts
Estimate the number of screens, reports and 3GL components that will comprise this application.
Step-2: Classify complexity levels of each object
We have to classify each object instance into simple, medium and difficult complexity level depending on values of its characteristics.
Complexity levels are assigned according to the given table
Step-3: Assign complexity weights to each object
The weights are used for three object types i.e, screens, reports and 3GL components.
Complexity weight are assigned according to object’s complexity level using following table
Step-4: Determine Object Points
Add all the weighted object instances to get one number and this is known as object point count.
Object Point = Sigma (number of object instances) * (Complexity weight of each object instance)
Step-5: Compute New Object Points (NOP)
We have to estimate the %reuse to be achieved in a project.
Depending on %reuse
NOP = [(object points) * (100 - %reuse)]/100
NOP are the object point that will need to be developed and differ from the object point count because there may be reuse of some object instance in project.
Step-6: Calculate Productivity rate (PROD)
Productivity rate is calculated on the basis of information given about developer’s experience and capability.
For calculating it, we use following table
Step-7: Compute the estimated Effort
Effort to develop a project can be calculated as
Effort = NOP/PROD
Effort is measured in person-month.
Consider a database application project with
- The application has four screens with four views each and seven data tables for three servers and four clients.
- Application may generate two reports of six section each from seven data tables for two servers and three clients.
10% reuse of object points.
Developer’s experience and capability in similar environment is low. Calculate the object point count, New object point and effort to develop such project.
Number of screens = 4
Number of records = 2
Number of views = 4
Number of data tables = 7
Number of servers = 3
Number of clients = 4
by using above given information and table (For Screens),
Complexity level for each screen = medium
Number of sections = 6
Number of data tables = 7
Number of servers = 2
Number of clients = 3
by using above given information and table (For Reports),
Complexity level for each report = difficult
By using complexity weight table we can assign complexity weight to each object instance depending upon their complexity level.
Complexity weight for each screen = 2
Complexity weight for each report = 8
Object point count = sigma (Number of object instances) * (its Complexity weight) = 4 * 2 + 2 * 8 = 24
%reuse of object points = 10% (given) NOP = [object points * (100 - %reuse)]/100 = [24 * (100 -10)]/100 = 21.6
Developer’s experience and capability is low (given)
Using information given about developer and productivity rate table
Productivity rate (PROD) of given project = 7
Effort = NOP/PROD = 21.6/7 = 3.086 person-month
Therefore, effort to develop the given project = 3.086 person-month.
- Software Engineering | Project size estimation techniques
- Software Engineering | Architectural Design
- Software Engineering | Halstead’s Software Metrics
- Software Engineering | COCOMO Model
- Software Engineering | Classification of Software Requirements
- Software Engineering | Classical Waterfall Model
- Software Engineering | Iterative Waterfall Model
- Software Engineering | Spiral Model
- Software Engineering | Requirements Engineering Process
- Software Engineering | Requirements Elicitation
- Software Engineering | System configuration management
- Software Engineering | Challenges in eliciting requirements
- Software Engineering | Classification of Software
- Software Engineering | Rapid application development model (RAD)
- Software Engineering | Black box testing
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.