Software Project
Software Project
Software Project
Teacher
Quito, Ecuador
2023
Software project 2
Content
Figures.............................................................................................................................................2
Introduction....................................................................................................................................3
Objectives....................................................................................................................................4
General Objective....................................................................................................................4
Specific Objectives.......................................................................................................................4
Theoretical framework....................................................................................................................5
Cocomo.......................................................................................................................................5
General characteristics............................................................................................................5
Drawbacks...............................................................................................................................5
Estimation models...................................................................................................................5
Basic model.............................................................................................................................6
Intermediate model.................................................................................................................7
detailed model........................................................................................................................8
Project.............................................................................................................................................9
Book control:...............................................................................................................................9
Post-architecture Model Cost Factors...................................................................................11
Platform factors.....................................................................................................................12
Staff factors...........................................................................................................................12
Project factors.......................................................................................................................13
Final table..................................................................................................................................16
Conclusion.....................................................................................................................................17
Bibliography..................................................................................................................................18
Figures
Figure 1 Post-architecture Model Cost Factors.............................................................................11
Figure 2 Platform factors...............................................................................................................12
Figure 3 Staff factors.....................................................................................................................12
Figure 4 Project factors.................................................................................................................13
Software project 3
Introduction
The first problem that arises in a software project is having at least an idea of how much time
and resources the project will consume, for this reason Cocomo 2 is studied as an alternative to measure
and calculate the cost and time of the project.
Software project 4
Objectives
General Objective
Evaluate the operation of cocomo 2 in the implementation of a software project that manages a
library.
Specific Objectives
Evaluate the development of the users, loans and books module using cocomo 2.
Carry out the cost factors post-architecture model, platform, personnel, project.
Unify all the values in a final table.
Software project 5
Theoretical framework
Cocomo
The Constructive Cost Model (or COCOMO, for its acronym for the English COnstructive COst
MOdel) is an empirically based mathematical model used for software cost estimation. It includes three
sub-models, each offering an increasing level of detail and approximation as the software development
process progresses: Basic, Intermediate, and Detailed (Wayback Machine, 2017).
This model was developed by Barry W. Boehm in the late 1970s and early 1980s, expounding it
in detail in his book "Software Engineering Economics" (Prentice-Hall, 1981) (Wikipedia, 2023).
General characteristics
Three levels are presented: basic, intermediate and detailed (Wikipedia, 2023).
Drawbacks
The results are not proportional to the management tasks since it does not take into
account the resources necessary to carry them out.
It can deviate from reality if the percentage of comment lines in the source code is
indicated incorrectly.
It is somewhat subjective, since it is based on estimates and parameters that can be
"seen" differently by different analysts using the method.
Product costs are measured, according to its size and other characteristics, but not
productivity.
The measurement by lines of code is not valid for object orientation; among other things
due to "reusability" and inheritance, characteristics of this paradigm (e.g., it can imply a
significant increase in productivity, but not in lines of code).
Using this model can be a bit tricky, compared to other methods (which also only
estimate) (Wikipedia, 2023).
Estimation models
Software project 6
where:
At the same time, each sub model is also divided into modes that represent the type of project,
and can be:
Basic model
It is used to obtain a quick first approximation of the effort,2 and makes use of the following
table of constants to calculate different aspects of costs:
Mode a b c d
Organic 2.40 1.05 2.50 0.38
Semi organic 3.00 1.12 2.50 0.35
Rigid 3.60 1.20 2.50 0.33
It can be seen that as the complexity of the project (mode) increases, the constants increase
from 2.4 to 3.6, which corresponds to an increase in staff effort. The basic model must be used with
great care since many characteristics of the environment are ignored (Wikipedia, 2023).
Intermediate model
This adds fifteen optional modifiers to the basic model to take into account in the work
environment, thus increasing the precision of the estimation.
For this adjustment, the result of the general formula is multiplied by the coefficient resulting
from applying the attributes that are decided to be used.
Mode a b
Organic 3.20 1.05
Semi organic 3.00 1.12
Rigid 2.80 1.20
It can be seen that the exponents are the same as those of the basic model, confirming the role
played by size; while the coefficients of the organic and rigid modes have changed, to balance around
the semi-free with respect to the multiplier effect of the cost attributes.
Attributes
Each attribute is quantified for a project environment. The scale is very low - low - nominal - high
- very high - extremely high. Depending on the qualification of each attribute, a value is assigned to be
used as a multiplier in the formula (for example, if for a project the DATA attribute is qualified as very
high, the result of the formula must be multiplied by 1000).
Of software
o RELY: guarantee of operation required for the software. Indicates the possible
consequences for the user in the event of defects in the product. It ranges
from the mere inconvenience of fixing a bug (very low) to the possible loss of
life (extremely high, highly critical software).
o DATA: size of the database in relation to the size of the program. The value of
the modifier is defined by the relationship: D / K, where D is the size of the
database in bytes and K is the size of the program in number of lines of code.
o CPLX: represents the complexity of the product.
Hardware
o TIME: Limits on the percentage of CPU usage.
o STOR: memory usage percentage limitations.
o VIRT: volatility of the virtual machine.
o TURN: required response time.
Of personal
o ACAP: analyst rating.
o AEXP: staff experience in similar applications.
o PCAP: programmer qualification.
o VEXP: staff experience in the virtual machine.
o LEXP: experience in the programming language to use.
project
o MODP: Using Modern Programming Practices.
o TOOL: use of software development tools.
o SCED: limitations in the fulfillment of the planning.
detailed model
The factors corresponding to the attributes are sensitive or dependent on the phase on which
the estimates are made. Aspects such as experience in the application, use of software tools, etc., have a
greater influence in some phases than in others, and also vary from one stage to another.
It establishes a hierarchy of three levels of products, so that aspects that represent great
variation at a low level are considered at the module level, those that represent few variations at the
subsystem level; and the rest are considered at the system level (Euskara, 2023).
Software project 9
Project
1. Identify the modules that make up the system, assign them a number and a name and
enter them in columns 1 and 2, respectively
2. Determine the size of each module expressed in SLOC, lines of source code released, and
record it in column 3.
Book control:
Function Points
FP=UFP x TCF
External Inputs (Inputs) ->ABC
External outputs (Outputs) -> Impressions
Internal Logical File (Files) -> B.D
External Interface Files (Interfaces) -> 0
External Requests (Queries)-> Searches by title, author, publisher, description.
SLOC=UFP∗Puntos de C
SLOC=68∗128=8704
NOTE: Reuse Model
Software project 10
3. Determine the size in SLOC of the System, adding the size of the modules that make up.
Write it down in cell 28.
4. Calculate the Exponential Scale Factor (B), considering the 5 factors Wj (PREC, FLEX,
RESL, TEAM and MAT)
5
B=1.01+0.01∗∑ Wj
i=1
B=1.01+0.01∗( 3.72+3.04+ 4.24+ 3.29+ 4.68 ) =1.1997 ≅ 1.20
5. Calculate the Nominal Effort required to develop the system, PMNominal, in the cell 29
and the Productivity of the Project in the cell 30.
B
P M Nominal =A∗(KSLOC)
1.20
P M Nominal =2.94∗(22.784 )
P M Nominal =125.17
KSLOC
P roductividad Nominal =
P M Nominal
22784
P roductividad Nominal =
125.17
P roductividad Nominal =182.02
6. Calculate and record in column 22 the Nominal Effort per Module (PMNominal,Modulo),
which is obtained as the ratio between the size of the module (column 3) and the Project
Productivity (cell 30).
SLO C Modulo
P M Nominal , Modulo =
P roductividad Nominal
Books module
8704
P M Nominal , Modulo =
182.02
Software project 11
Users module
7936
P M Nominal , Modulo =
182.02
P M Nominal , Modulo =4 3 . 59 ≈ 4 4
Loan Module
6144
P M Nominal , Modulo =
182.02
P M Nominal , Modulo =33. 75 ≈ 3 4
7. Analyze the characteristics of each module and determine, with the help of Table 21, at
what level each of the cost factors is found. According to determined level (Very Low,
Low, Nominal, High, Very High) assign the values of the multipliers of corresponding
effort, obtaining them from Figure 1 to Figure 4 and complete columns 4 to 20.
Platform factors
Staff factors
Project factors
8. multiply multipliers effort from column 4 to 20 to each row and thus obtain the Factor of
EAF Effort setting for each module. Enter the results in column 21.
Books module
EA F M =1.14∗1.05∗0.87∗1.15∗1.12∗1.22∗0.86
EA F M =1.40
Users module
EA F M =0.87∗1.15∗1.12∗1.22∗0.86
EA F M =1. 17
Loan Module
EA F M =0.95∗0.87∗1.15∗1.12∗1.22∗0.86
EA F M =1. 11
Software project 14
9. Estimated Effort per Module, in column 23, multiplying the value of PMnominal,module,
column 22, by the corresponding Factor of Adjustment EAFm of column 21.
Books module
10. Add the values calculated in the previous item to determine the Estimated Effort of the
Total System PMestimated, record this value in cell 31.
3
P M Estimado =∑ P M Estimado, Modul o i
i=1
P M Estimado =67+51+38
P M Estimado =156
11. Determine the Estimated Development Time of the TDEV project and write it down in
cell 34.
(0.33+0.2∗(B−1.01))
TDVE=[3.0∗P M Estimado ]
(0.33+0.2∗(1.20−1.01))
TDVE=[3.0∗156 ]
TDVE=19.23
12. Enter in column 24 the Person-Month Cost for each module, expressed in dollars. Then
multiply these costs by the PM Estimated, Corresponding Module (column 23), finding
thus the Estimated Cost of each module and record it in the column 25.
Books module
13. Calculate the Total System Cost by adding the values obtained in the previous item and
record it in cell 32.
Software project 15
3
Cost o Estimado =∑ Cost o Estimado, Modul o i
i=1
14. For each module determine and record in column 26 the Cost per instruction in US$,
which is calculated as the quotient between the Development Cost (column 25) and
Module Size (column 3).
Books module
Cost o Estimado
Cost o Por instruccion (milesdeUS $)=
SLOC
300160
C ost o Por instruccion (miles de US $)=
8704
Cost o Por instruccion(milesdeUS $)=34.48
15. For each module, determine and record in column 27 the Productivity, calculated as the
quotient between the Size of the Modulus (column 3) and the Estimated Effort per
module Nominal PM,Modulo (column 23).
Books module
SLOC
Productividad=
P M Estimado, Modulo
8704
Productividad=
67
Productividad=129
Software project 16
Final table
Software project 17
Conclusion
Cocomo 2 is a good option for medium/large projects, although in order to carry it out it is
necessary to know the developer team, the IT team, the environment, etc.
Bibliography
Software project 18