Академический Документы
Профессиональный Документы
Культура Документы
Objectives:
Metrics (Definition) What are Software Metrics? Why Measure Software? What Should Be Measured? Software Entities Product v/s Process Software Metrics Steps Software Measurement Methods Summary
Definitions
Measure - quantitative indication of extent, amount, dimension, capacity, or size of some attribute of a product or process. - E.g., No of errors
Metrics - quantitative measure of degree to which a system, component or process possesses a given attribute. - E.g., No. of errors per line
The continuous application of measurement-based techniques to the software development process and its products to supply meaningful and timely management information, together with the use of those techniques to improve that process and its products.
...
To Supply
To Improve
Metrics can help us Understand more about our software products, and processes. Metrics can be used to Evaluate our software products. Metrics can be used to Predict attributes of software entities in the future. Metrics can provide the information that can Control resources and processes used to produce our software. --Estimate the cost & schedule of future projects.
Process
Product Measurement
Process Metrics
Product Metrics
Software Entities
Process Metrics Insights of process paradigm, software engineering tasks or milestones Lead to long term process improvement Product Metrics Assesses the state of the project Track potential risks Uncover problem areas Evaluate teams ability to control quality
Software metrics programs must be designed to provide the specific information necessary to manage software projects. To improve software engineering processes. Goals are defined:
Organizational Goals -Be the low cost provider -Maintaining a high level of customer satisfaction Project Goals -Deliver the product on time -Finish the project within budget
To define the questions that need to be answered in order to ensure that each goal is being obtained.
For example, if our goal was to ship only defectfree software, we might select the questions: Is the software product adequately tested? How many defects are still undetected? Are all known defects corrected?
The fifth step is to agree to standard definitions for the entities and their measured attributes. e.g. The terms defect report, problem report, incident report, fault report, or customer call report may be used by various organizations to mean the same thing, but unfortunately they may also refer to different entities.
The measurement function defines how we are going to calculate the metric. Metric primitives:
-are measured directly and their measurement function typically consists of a single variable. For example, Hours Spent Preparing , Hours Spent Inspecting etc. Other Metrics: - are modeled using mathematical combinations (e.g., equations or algorithms) of base metrics or other derived metrics. E.g. Preparation Rate = loc / prep hrs.
The seventh step in designing a metric is to break the function down into its lowest level metric primitives.
Measurement methods are established by using standardized units of measure (e.g., inches, feet, pounds, liters, dollars, hours, days).
The measurement method defines the mapping system that is used to assign numbers to the attributes.
Decision criteria is defined. Once it s decided what to measure and how to measure it, we have to decide what to do with the results. Decision criteria are the thresholds, targets, or patterns used to determine the need for action or further investigation, or to describe the level of confidence in a given result
Fixed 13 24 26 18
Resolved 3 11 15 27
120
80
40
120
80
100 80 60 40 20 0 Jan
40
0 0 20 40 60 80 100 120
Mar
May
July
Balanced
scorecard Bugs per line of code COCOMO DSQI (design structure quality index) Number of lines of code (SLOC) Robert Cecil Martins software package metrics Weighted Micro Function Points
Weighted Micro Function Points Modern software algorithm invented by Logical Solutions Software cost estimation model.
Summary
A metrics program that is based on the goals of an organization will help communicate, measure progress towards, and eventually attain those goals. People will work to accomplish what they believe to be important. Well-designed metrics with documented objectives can help an organization obtain the information it needs to continue to improve its software products, processes, and services while maintaining a focus on what is important. A practical, systematic, start-to-finish method of selecting, designing, and implementing software metrics is a valuable aid.
Any Questions?
Thank You