Page 182 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 182
Principles of Software Engineering Sarabjit Kumar, Lovely Professional University
Notes Unit 9: Metrics
CONTENTS
Objectives
Introduction
9.1 Cyclomatic Complexity
9.1.1 Control Flow Graphs
9.1.2 Characterization of v(G) using a basis set of control flow paths
9.1.3 Limiting Cyclamate Complexity to 10
9.1.4 Examples of Cyclomatic Complexity
9.2 Data Binding
9.3 Cohesion Metric
9.3.1 Definition of PSI (Percentage of Shared Ideas)
9.3.2 Syntactic Cohesion Metrics
9.3.3 Criteria for Evaluating Cohesion Metrics
9.4 Summary
9.5 Keywords
9.6 Review Questions
9.7 Further Reading
Objectives
After studying this unit, you will be able to:
• Explain the cyclomatic complexity
• Define data binding application software engineering
• Explain the cohesion metric
• Explain the different type of control flow
Introduction
The essential reason of metrics is to offer quantitative data to assist monitor the project. Here
we discuss some of the metrics that can be extracted from a plan and that could be useful for
evaluating the design. We do not talk about the standard metrics of effort or defect that are
collected (as per the project plan) for project monitoring. Size is always a product metric of interest,
as dimension is the single the majority influential issue deciding the cost of the project. As the
actual size of the project is known only when the project ends, at early stages the project size is
only an estimate. Our ability to estimate size becomes more accurate as development proceeds.
Hence, after design, size (and cost) re-estimation are typically done by project management.
After design, as all the modules in the system and major data structures are known, the size of
the final system can be estimated quite accurately. For estimating the size, the total number of
modules is an important metric. This can be easily obtained from the design. By using an average
176 LOVELY PROFESSIONAL UNIVERSITY