Module 4: Software Project Management (13 hrs) –
Application level
Project Management Concepts, Project Planning,
Overview of metrics, Estimation for Software projects,
Project Scheduling, Risk Management, Maintenance and
Reengineering, Software Process Improvement (SPI):
CMM Levels.
Product Metrics
Department of Computer Science and Engineering
School of Engineering, Presidency University
Software
Metric
A software metric is a standard of measure of a degree to which a software system or process possesses some property.
Metrics can be defined for requirements, design, coding, testing stages of SDLC.
Dept. of CSE, SOE, Presidency
3
University
Function Point (FP) Metric
The function point (FP) metric can be used effectively as a means for measuring the functionality delivered by a system.
A Function Point (FP) is a unit of measurement to express the amount of business functionality, an information system (as a product) provides to a user. FPs measure software size. They are widely accepted as an industry standard for functional sizing.
Dept. of CSE, SOE, Presidency
4
University
Function Point (FP) Metric
The FP metric can 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.
Dept. of CSE, SOE, Presidency
5
University
Function Point (FP) Metric
Information Domain Values:
1.Number of External Inputs
2.Number of External Outputs
3.Number of External Inquiries
4.Number of Internal Logical Files
5.Number of External Interface Files
Dept. of CSE, SOE, Presidency
6
University
FP - Information Domain Values
Number of External Inputs
•Each external input originates from a user or is transmitted from another application
•They provide distinct application-oriented data or control information
•They are often used to update internal logical files
•They are not inquiries (those are counted under another category)
Dept. of CSE, SOE, Presidency
7
University
FP - Information Domain Values
Dept. of CSE, SOE, Presidency
8
University
FP - Information Domain Values
Number of External Inquiries
•An external inquiry is defined as an online input that results in the generation of some immediate software response
•The response is in the form of an on-line output.
Number of Internal Logical Files
Each internal logical file is a logical grouping of data that resides within the application’s boundary and is
maintained via external inputs
Dept. of CSE, SOE, Presidency
9
University
FP - Information Domain Values
Compute the number of function points (FP)
FP = count total * [0.65 + 0.01 * sum(Fi)]
Dept. of CSE, SOE, Presidency
10
University
Fi – Value Adjustment Factors
The Fi (i 1 to 14) are value adjustment factors (VAF) based on responses to the following questions:
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?
Dept. of CSE, SOE, Presidency
11
University
Fi – Value Adjustment Factors
8. Are the ILFs updated online?
9. Are the inputs, outputs, files, 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?
Dept. of CSE, SOE, Presidency
12
University
Computing Function
Points
Dept. of CSE, SOE, Presidency
13
University
Function Point
Example
Productivity = FP/ Person_month
Quality = Defects / FP
Dept. of CSE, SOE, Presidency
14
University
Architectural Design
Metrics
These metrics place emphasis on the architectural structure and effectiveness of modules or components within the architecture.
They are “black box” in that they do not require any knowledge of the inner workings of a particular software component.
Card and Glass define three software design complexity
measures:
•Structural complexity
•Data complexity
•System complexity
Dept. of CSE, SOE, Presidency
15
University
Architectural Design
Metrics
For hierarchical architectures (e.g., call-and-return architectures), structural complexity of a module i is defined in the following manner:
S(i) = fout(i)
where fout(i) is the fan-out of module i.
Fan-out is defined as the number of modules immediately subordinate to module i; that is, the number of modules that are directly invoked by module i.
Dept. of CSE, SOE, Presidency
16
University
Architectural Design
Metrics
Data complexity provides an indication of the complexity in the internal interface for a module i and is defined as
D(i) = v(i)/[f (i) + 1]
where v(i) is the number of input and output variables that are passed to and from module i.
System complexity is defined as the sum of structural and data complexity, specified as
C(i) = S(i) + D(i)
Dept. of CSE, SOE, Presidency
17
University
Class Oriented Metrics
The CK Metrics Suite comprises of Six class-based design metrics for OO systems namely:
Weighted methods per class (WMC):-
• The nor malized complexity of the methods in a class
• Indicates the amount of effort to implement and test a class
Depth of the inheritance tree(DIT):-
• The maximum length from the derived class (the node) to the base class (the root)
• Indicates the potential diffi culties when attempting to predict the behavior of a class bec ause of the number of inherited methods
Dept. of CSE, SOE, Presidency
18
University
Class Oriented Metrics
Number of children(NOC) (i.e., subclasses):-
As the number of children of a class grows
• Reuse inc reases
• The amount of testing required will increase
Coupling between object classes(CBO)
• Measures collaboration between classes
• Coupling should be kept low, since higher coupling decreases the reusability of a class
Dept. of CSE, SOE, Presidency
19
University
Class Oriented Metrics
Response for a Class (RFC)
• This is the set of methods that can potentially be executed in a class in response to a public method call from outside the class
• As the response value increases, the effort required for testing also increases as does the overall design complexity of the class
Lack of Cohesion in Methods (LCOM)
• This measures the number of methods that access one or more of the same instance variables (i.e., attributes)of a class
• If no methods access the same attribute, then the measure is zero
• As the measure increases, methods become more coupled to one another via attributes, increasing the complexity of class design
Dept. of CSE, SOE, Presidency
20
University
Metrics for
Maintenance
Metric = [M T - (Fa + F c + Fd )]/ M T
Where
M T = number of modules in the current release
Fa = number of modules in the current release that have been added
Fc = number of modules in the current release that have been changed
Fd = number of modules from the preceding release that were deleted in the current release
Dept. of CSE, SOE, Presidency
21
University
WebApp Project
Metrics
• Number of static Web pages (the end-user has no control over the content displayed on the page)
• Number of dynamic Web pages (end-user actions result in customized content displayed on the page)
• Number of internal page links (internal page links are pointers that provide a hyperlink to some other Web page within the WebApp)
• Number of persistent data objects
• Number of external systems interfaced
• Number of static content objects
• Number of dynamic content objects
• Number of executable functions
Dept. of CSE, SOE, Presidency
22
University
Defect Removal Efficiency
DRE = E /(E + D)
where:
E is the number of errors found before
delivery of the software to the end-user
D is the number of defects found after
delivery.
Dept. of CSE, SOE, Presidency
23
University