Software Project

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 18

Software project 1

Activity 3. Task: Software project

Juan Carlos Valencia Osorio

Teacher

Hugo Ortiz Barrero

Universidad Manuela Beltrán

Software Development Project Management

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

It belongs to the category of estimating models based on mathematical estimates. It is oriented


to the magnitude of the final product, measuring the "size" of the project, mainly based on the number
of lines of code.

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

The equations used in the three models are:


b
E=a(Kl ) ∗m( X), in person-months.
d
Tdev=c(E) , in months.
P=E /Tdev , in people.

where:

 E is the effort required by the project, in person-months


 Tdev is the time required by the project, in months
 P is the number of people required by the project
 a, b, c and d are constants with values defined in a table, according to each sub model
 Kl is the number of lines of code, in thousands.
 m(X) Is a multiplier that depends on 15 attributes.

At the same time, each sub model is also divided into modes that represent the type of project,
and can be:

 organic mode: a small group of experienced programmers develop software in a familiar


environment. The size of the software varies from a few thousand lines (small size) to a
few tens of thousands (medium).
 semi-free or semi-embedded mode: corresponds to an intermediate scheme between
the organic and the rigid; the development group may include a mix of experienced and
inexperienced people.
 rigid or embedded mode: the project has strong restrictions, which may be related to
functionality and/or may be technical. The problem to be solved is unique and it is
difficult to rely on experience, since there may not be any (Wikipedia, 2023).

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

These values are for the formulas:


Software project 7

 People needed per month to carry out the project ( MM )=a∗(K l b )


 Project development time ( TDEV ) =c∗(M M d )
 People needed to carry out the project (CosteH )= MM /TDEV
 Total cost of the project (CosteM) = CosteH * Average salary between programmers and
analysts.

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.

The values of the constants to be replaced in the formula are:

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).

The meaning of the attributes is as follows, depending on their type:


Software project 8

 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

It mainly presents two improvements compared to the previous one:

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

You want to develop an administrator software from a library.

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

a) Book control -> 1


b) User control -> 2
c) Book control -> 3

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.

 External Inputs (Inputs) ->6


 External Outputs (Outputs) -> 4
 Internal Logical File (Files) -> 15
 External Interface Files (Interfaces) -> 0
 External Requests (Queries)-> Searches by title, author, publisher, description. -> 4
15
UFP=∑ (Cantidad ¿i )∗(Pesoi )
i=1

UFP=( 6∗3 ) + ( 4∗1 )+ ( 2∗15 ) + ( 4∗4 )=68


 unadjusted function points have to be converted to lines of source code considering the
implementation language

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

P M Nominal , Modulo =47.81 ≈ 48

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.

Post-architecture Model Cost Factors

Figure 1 Post-architecture Model Cost Factors


Software project 12

Platform factors

Figure 2 Platform factors

Staff factors

Figure 3 Staff factors


Software project 13

Project factors

Figure 4 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

P M Estimado ,Modulo =P M Nominal , Modulo∗EA F M

P M Estimado ,Modulo =48∗1.40

P M Estimado ,Modulo =67.20 ≈ 67

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

Month cost−Person=4480 Cost o Estimado , Modulo=Month cost−Person∗P M Estimado, Modulo


Cost o Estimado , Modulo=4480∗67Cost o Estimado , Modulo=300.160

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

Cost o Estimado =300160+114240 +170240

Cost o Estimado =584640

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

Euskara. (2023, 06 26). Cocomo 2. Retrieved from http://www.sc.ehu.es/jiwdocoj/mmis/cocomo.htm

Wayback Machine. (2017, 12 11). Cocomo 2. Retrieved from


https://web.archive.org/web/20171211201210/http://sunset.usc.edu/csse/research/
COCOMOII/cocomo_main.html

Wikipedia. (2023, 06 26). COCOMO. Retrieved from https://es.wikipedia.org/wiki/COCOMO

You might also like