Software Process and Project Metrics: Information System
Software Process and Project Metrics: Information System
A function point is a unit of measurement to express the amount of business functionality an information system (as a product) provides to a user. The cost (in dollars or hours) of a single unit is calculated from past projects
Software metrics refers to a broad range of measurements for computer software. Measurement can be applied to the software process with the intent of improving it on a continuous basis. Measurement can be used throughout a software project to assist in estimation, quality control, productivity assessment, and project control. Measurement can be used by software engineers to help assess the quality of technical work products and to assist in tactical decision making as a project proceeds.
Why do we Measure?
To characterize To evaluate To predict To improve
Project Metrics
The intent of project metrics are two folds: - to minimize the development schedule by making the adjustments necessary to avoid delays and mitigate potential problems. - to assess product quality on an ongoing basis and, when necessary, modify the technical approach to improve quality.
Project Metrics
Another model of project metrics suggests that every project should measure: Inputs measures of the resources required to do the work Outputs measures of the deliverables or work products created during the software engineering process Results measures that indicate the effectiveness of the deliverables
Software Measurement
Direct measures of SE process include cost and effort. Direct measures of product include LOC produced, execution speed, memory size, and defects reported over some set period of time. Indirect measures of product include functionality, quality, complexity, efficiency, reliability, maintainability, and many other abilities
Size-oriented Metrics
Then we can develop a set of simple sizeoriented metrics: Errors per KLOC Defects per KLOC $ per LOC Page of documentation per KLOC And other interesting metrics can be computed: Errors per person-month, LOC per personmonth, $ per page of documentation.
Function-Oriented Metrics
Function points are derived using an empirical relationship based on countable (direct) measures of software's information domain and assessments of software complexity. Function points are computed by completing the table shown in Fig 4.5.
function points =
(count x weight) x C
Function-Oriented Metrics
To compute function points (FP), the following relationship is used:
FP = count total x [0.65+0.01x(Fi)]
Measuring Quality
Correctness: defects per KLOC Maintainability: the ease that a program can be corrected, adapted, and enhanced. Time/cost.
Time-oriented metrics: Mean-time-to-change (MTTC) Cost-oriented metrics: Spoilage cost to correct defects encountered.
Measuring Quality
Integrity: ability to withstand attacks
Threat: the probability that an attack of a specific type will occur within a given time. Security: the probability that the attack of a specific type will be repelled.
Measuring Quality
Usability: attempt to quantify userfriendliness in terms of four characteristics:
1) The physical/intellectual skill to learn the system 2) The time required to become moderately efficient in the use of the system 3) The net increase of productivity 4) A subjective assessment of user attitude toward the system (e.g., use of questionnaire).
Homework #2
Problem# 4.9, 4.11, 4.13, 4.17, and 4.18 Due Mon 15 July 2002