Module 3
Module 3
Module 3
The Project
• To manage the complexity
• To avoid project failure, a software project manager and the software
engineers who build the product must avoid a set of common warning
signs, understand the critical success factors that lead to good project
management,
• develop a commonsense approach for planning, monitoring, and
controlling the project.
PROCESS AND PROJECT METRICS
• What is it? quantitative measures that enable you to gain insight into the efficacy of
the software process and the projects that are conducted using the process as a
framework.
• Who does it? Software metrics are analyzed and assessed by software managers
• Why is it important? If you don’t measure, judgment can be based only on subjective
evaluation. With measurement, trends (either good or bad) can be spotted, better
estimates can be made, and true improvement can be accomplished over time.
• What are the steps? Begin by defining a limited set of process, project, and product
measures that are easy to collect.
SOFTWARE MEASUREMENT
Determinants
for software
quality and
organizational
effectiveness.
Estimation
table for the
LOC methods
DECOMPOSITION TECHNIQUES
The range of LOC estimates for the 3D geometric analysis function is optimistic, 4600
LOC; most likely, 6900 LOC; and pessimistic, 8600 LOC….Applying above eq. the
expected value for the 3D geometric analysis function is 6800 LOC.
• A review of historical data indicates that the organizational average productivity for
systems of this type is 620 LOC/pm.
• Based on a burdened labor rate of $8,000 per month, the cost per line of code is
approximately $13.
• Based on the LOC estimate and the historical productivity data, the total estimated
project cost is $431,000 (620 X 8000)and the estimated effort is 54 person-
months(431000/8000).
DECOMPOSITION TECHNIQUES
An Example of FP-Based Estimation
Decomposition for FP-based estimation focuses on information domain values rather than software
functions.
DECOMPOSITION TECHNIQUES
Estimating
information
domain values
The organizational average productivity for systems of this type is 6.5 FP/pm. Based on a burdened labor rate of
$8,000 per month, the cost per FP is approximately $1,230. Based on the FP estimate and the historical
productivity data, the total estimated project cost is $461,000 and the estimated effort is 58 person-months.
DECOMPOSITION TECHNIQUES
Process-Based Estimation
Process-based
estimation
table
DECOMPOSITION TECHNIQUES
Estimation with Use Cases
use cases provide a software
team with insight into software scope and requirements.
Unadjusted Use-Case
Weight (UUCW)
DECOMPOSITION TECHNIQUES
Analysis of the use cases indicates that there
are 8 simple actors, 12 average actors,
and 4 complex actors.
Unadjusted Actor
Weight (UAW)
DECOMPOSITION TECHNIQUES
TCF = 1.04
DECOMPOSITION TECHNIQUES
ECF (Environment
complexity factors)
ECF = 0.96
DECOMPOSITION TECHNIQUES
TCF = 1.04
ECF = 0.96
• Function-Based Metrics : The function point (FP) metric can be used effectively as
a means for measuring the functionality delivered by a system. Using historical
data, the FP metric can then be used to (1) estimate the cost or effort required to
design, code, and test the software; (2) predict the number of errors that will be
encountered during testing; and (3) forecast the number of components and/or the
number of projected source lines in the implemented system.
Function points are derived using an empirical relationship based on countable (direct)
measures of software’s information domain and qualitative assessments of software complexity.
Information domain values are defined in the following manner:
Number of external inputs (EIs). Each external input originates from a user or is transmitted
from another application and provides distinct application- oriented data or control information.
Inputs are often used to update internal logical files (ILFs). Inputs should be distinguished from
inquiries, which are counted separately.
Number of external outputs (EOs). Each external output is derived data within the application
that provides information to the user. In this context external output refers to reports, screens,
error messages, and the
like. Individual data items within a report are not counted separately.
Number of external inquiries (EQs). An external inquiry is defined as an online input that
results in the generation of some immediate software response in the form of an online output
(often retrieved from an ILF).
Number of internal logical files (ILFs). Each internal logical file is a logical grouping of data
that resides within the application’s boundary and is maintained via external inputs.
Number of external interface files (EIFs). Each external interface fi le is a logical grouping of
data that resides external to the application but provides data that may be of use to the
application.
Computing function points
Once these data have been collected, the table in Figure is completed and a complexity value is
associated with each count. Organizations that use function point methods develop criteria for
determining whether a particular entry is simple, average, or complex. Nonetheless, the determination
of complexity is somewhat subjective.
To compute function points (FP), the following relationship is used:
1. Does the system require reliable backup and recovery?
2. Are specialized data communications required to transfer information to or from the application?
3. Are there distributed processing functions?
4. Is performance critical?
5. Will the system run in an existing, heavily utilized operational environment?
6. Does the system require online data entry?
7. Does the online data entry require the input transaction to be built over multiple screens or
operations?
8. Are the ILFs updated online?
9. Are the inputs, outputs, fi les, or inquiries complex?
10. Is the internal processing complex?
11. Is the code designed to be reusable?
12. Are conversion and installation included in the design?
13. Is the system designed for multiple installations in different organizations?
14. Is the application designed to facilitate change and ease of use by the user?
A flow model for SafeHome user interaction function
Each of these questions is answered using an ordinal scale that ranges from 0
(not important or applicable) to 5 (absolutely essential). The constant values in
Equation (30.1) and the weighting factors that are applied to information domain
counts are determined empirically.
a1
a1 a2 b1 b2
Empirical Estimation Models - COCOMO II Model
Basic COCOMO Model:
Solution: The basic COCOMO equation takes the form:
Effort=a1*(KLOC) a2 PM
Tdev=b1*(efforts) b2 Months
Estimated Size of project= 400 KLOC
(i)Organic Mode
E = 2.4 * (400)1.05 = 1295.31 PM
D = 2.5 * (1295.31)0.38=38.07 PM
(ii)Semidetached Mode
E = 3.0 * (400)1.12=2462.79 PM
D = 2.5 * (2462.79)0.35=38.45 PM
(iii) Embedded Mode
E = 3.6 * (400)1.20 = 4772.81 PM
D = 2.5 * (4772.8)0.32 = 38 PM
Empirical Estimation Models - COCOMO II Model
Basic COCOMO Model: