Unit V
Unit V
Motivation
Product metrics that are computed from data collected from the
(Why you (students)
requirements and design models, source code, and test cases.
Should learn these
topics?)
Lecture Learning Outcomes (LLOs): After completion of this lecture, you should be
able to…
LLO on topic gain knowledge on metrics for requirements, design and
source code to build a high quality software product.
Technical work in software engineering begins with the creation of the requirements model. It is at
this stage that requirements are derived and a foundation for design is established. Therefore, product
metrics that provide insight into the quality of the analysis model are desirable.
Although relatively few analysis and specification metrics have appeared in the literature, it is
possible to adapt metrics that are often used for project estimation and apply them in this context. These
metrics examine the requirements model with the intent of predicting the “size” of the resultant system.
Size is sometimes (but not always) an indicator of design complexity and is almost always an indicator of
increased coding, integration, and testing effort.
Once these data have been collected, the table in Figure 30.1is 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:
FP = Count total×[0.65+0.01 ×∑(Fi )]
where count total is the sum of all FP entries obtained from Figure 30.1 .
The F(i:1 to 14) are value adjustment factors (VAF) based on responses to the following questions [Lon02]:
where nf is the number of functional requirements and nnf is the number of nonfunctional (e.g.,
performance) requirements.
To determine the specificity (lack of ambiguity) of requirements, Davis and colleagues suggest a
metric that is based on the consistency of the reviewers’ interpretation of each requirement:
Width = maximum number of nodes at any one level of the architecture. For the architecture shown in
Figure 30.4 , width = 6
Prepared by: Dr. V.Shankar, Professor, CSE(N) 4 |Page
Downloaded by Durga Devi P ([email protected])
lOMoARcPSD|15963275
The U.S. Air Force Systems Command [USA87] has developed a number of software quality
indicators that are based on measurable design characteristics of a computer program. Using concepts
similar to those proposed in IEEE Std. 982.1-2005 [IEE05], the Air Force uses information obtained from
data and architectural design to derive a design structure quality index (DSQI) that ranges from 0 to 1. The
following values must be ascertained to compute the DSQI [Cha89]:
S1 = total number of modules defined in the program architecture
S2 = number of modules whose correct function depends on the source of data input or that produce data to
be used elsewhere (in general, control modules, among others, would not be counted as part of S2 )
S3 = number of modules whose correct function depends on prior processing
S4 = number of database items (includes data objects and all attributes that define objects)
S5 =total number of unique database items
S6 = number of database segments (different records or individual objects)
S7 = number of modules with a single entry and exit (exception processing is not considered to be a
multiple exit)
Once values S1 through S7 are determined for a computer program, the following intermediate values can
be computed:
Program structure: D1, where D1 is defined as follows: If the architectural design was developed using a
distinct method (e.g., data flow–oriented design or object-oriented design), then D1 = 1, otherwise D1 = 0.
Halstead’s work is amenable to experimental verification and a large body of research has been conducted
to investigate software science. A discussion of this work is beyond the scope of this book. For further
information, see [Zus90], [Fen91], and [Zus97].
CDT-29 – LECTURE LEVEL PRACTICE PROBLEMS (LLPs) to test the LLOs
To test whether you achieved the learning outcomes of this lecture, you should be
able to solve the following LLPs, in the class itself, after completion of the lecture.
Minimum one question / problem (LLP) is designed to test each expected LLO.
LLPs (on LLOs):
1Q: 30.3. A system has 12 external inputs, 24 external outputs, fi elds 30 different external queries, manages 4
internal logical files, and interfaces with 6 different legacy systems (6 EIFs). All of these data are of average
complexity and the overall system is relatively simple. Compute FP for the system.
Ans:
2Q:A major information system has 1140 modules. There are 96 modules that perform control and coordination
functions and 490 modules whose function depends on prior processing. The system processes approximately 220
data objects that each have an average of three attributes. There are 140 unique database items and 90 different
database segments. Finally, 600 modules have single entry and exit points. Compute the DSQI for this system.
Ans:
** The performance of the students is assed here after completion of this lecture
(CDT-29):
Total number of students present:
LL LLP.No N No. of StudentsN No. of students Not answered
answered