Date post: | 15-Apr-2017 |
Category: |
Documents |
Upload: | vivian12345 |
View: | 221 times |
Download: | 0 times |
SOEN6611-S14: Quality. 1
SOEN6611 Software Measurement:
Theory and PracticeInstructor: Serguei Mokhov
Lecture 2:
Quality Modeling & Measurement. Notes credit: O. Ormandjieva
Outline Review Quality Modeling & Measurement
Definition of quality Quality model for SRS Quality model for OOD: Classical OO
Metrics. ISO 9126. Tools. Quality model for Testing QoS model
SOEN6611-S13-L2: Quality. 2
Measurement framework
SOEN6611-S13-L2: Quality. 3
What information the decision makers need?
What can be measured?
GQM
When the measurement program is useful?
Measurement, in order to be effective must be:1. Focused on specific goals;2. Applied to all life-cycle products, processes and
resources;3. Interpreted based on characterization and
understanding of the organizational context, environment and goals.
GQM top-down mechanism fordefining measurable goals
4SOEN6611-S13-L2: Quality.
Simplified GQM example: Goal: improve Feasibility Analysis
Ensures that adequate capability and resources are available in the form of people, expertise, facilities, infrastructure, and support (either internally or externally) to ensure that the project can be successfully completed in a
timely and cost-effective manner
SOEN6611-S13-L2: Quality. 5
GQM example contd. Questions
Is the project scope feasible? What is project scope?
Ratio (%)
Metrics: Effort R (Resources) T (Time)
SOEN6611-S13-L2: Quality. 6
∑f∈Feature
effort ( f )
R×T
SOEN6611-S13-L2: Quality. 7
Time (T)
Res
ou
rces
®
Feat
ure
Pr ojectScope=∑
f∈Feature
effort ( f )
R×T
SOEN6611-S13-L2: Quality. 8
Project (Release) Scope
What is project scope?Ratio (%)
Analysis: Project scope >> 100% is a problem. What can we do in such a situation?
Decision-making: Define a subset of features, B (release/project
baseline) such that
∑f∈Feature
effort ( f )
R×T
∑f∈B
effort ( f ) ≤ R×T
SOEN6611-S13-L2: Quality. 9
General Steps of the Measurement Feedback Loop (example cont.)
Goal: realistic project scope Extract measurement data
Extract information on Effort, Resources (R), Schedule (T) Evaluate
Use the extracted measurement data to prioritize requirements. Analyze the scope of the project.
Execute If Project scope is <=1 continue with planning. Otherwise
redefine the requirements baseline
f∈baseline
(baseline
subset ofis¿
Features)
∑¿
¿¿¿¿¿¿¿ <= R×T ¿
Absolutely necessary project measurements (short list)
Requirements status and volatility you are paid for implementing requirements, not just generating code.
Product size distinguish between new and reused or automatically generated code.
Effort. basic monitoring parameter to assure that you stay within budget
Schedule and time. milestone completion must be lined up with defined quality criteria to avoid poor quality
being detected too late
Project progress. evaluate how results (such as implemented and tested requirements or closed work
packages) relate to the effort spent and elapsed time.
Quality. Defect density, reliability, performance, security, safety, and maintainability
11SOEN6611-S13-L2: Quality.
Outline Review Quality Modeling & Measurement
Definition of quality Quality model for SRS Quality model for OOD: Classical OO Metrics. ISO
9126. Tools. Quality model for Testing QoS model
Next?
SOEN6611-S13-L2: Quality. 12
SOEN6611-S13-L2: Quality. 13
Popular views: Something “good”
(but not quantifiable) Something luxury and
classy Professional views:
Conformance to requirements
Fitness for use
What is Quality?
14
Internal V.S. External Quality Attributes
Good Internal Quality leads to Good External Quality
SOEN6611-S13-L2: Quality.
SOEN6611-S13-L2: Quality. 15
Quality is a collection of “ilities”:
-reliability - the ability to operate failure free -modifiability - the ability to have enhancement changes made easily -understandability - the ability to understand the software readily, in order to change/fix it -efficiency - the speed and compactness of the software -usability - the ability to use the software easily -testability - the ability to discover faults by well-defined test cases -portability - the ability to move the software easily from one environment to another
- maintainability - it can be easily changed -reusability – its parts can be used in other projects, so
reprogramming is not needed
16
Definition of Quality
ISO 8402 definition of quality:
The totality of features and characteristics of a
product or a service that bear on its ability to
satisfy stated or implied needs
SOEN6611-S13-L2: Quality.
SWEBOK Ch.8 Quality definition
“Quality is defined in terms of pertinent attributes of the specific project and any associated product(s), perhaps in both quantitative and qualitative terms. “ quality characteristics will have been determined in the
specification of detailed software requirements Thresholds for adherence to quality are set for each
indicatorSOEN6611-S13-L2: Quality. 17
19
Quality Models Models of quality for various views of software
quality constructed in a tree-like fashion The tree describes the pertinent relationships
between factors and their dependent criteria, so we can measure the factors in terms of the dependent criteria measures. upper branches hold important high-level quality factors of software
products, such as reliability and usability, that we would like to quantify
Each quality factor is composed of lower-level criteria, such as modularity and data commonality.
The criteria are easier to understand and measure than the factors; thus, actual measures (metrics) are proposed for the criteria.
SOEN6611-S13-L2: Quality.
SOEN6611-S13-L2: Quality. 21
IEEE Std.1061: Factor – Criteria –Metrics Software
Quality hierarchical model
(Criteria)
SOEN6611-S13-L2: Quality. 22
Software Quality Framework From top to bottom the framework facilitates
Establishment of quality requirements, in terms of quality factors, by managers early in a system life cycle;
Communication of the established quality factors, in terms of quality subfactors (Criteria), to the technical personnel;
Identification of metrics that are related to the established quality factors and quality subfactors (Criteria).
From bottom to top the framework enables the managerial and technical personnel to obtain feedback by Evaluating the software products and processes at the
metrics level; Analyzing the metric values to estimate and assess the
quality factors.
Quality of SRS IEEE Standard 830-1998
(1) Correct (2) Unambiguous(3) Complete(4) Consistent(5) Ranked for importance(6) Verifiable(7) Modifiable (8) Traceable
SOEN6611-S13-L2: Quality. 23
Quality of SRS Meyer’s Seven Sins of Specifier
Reference: Meyer, B. (1985) “On Formalism in Specifications”. IEEE Software, 2(1), January 1985, 6–26.
SOEN6611-S13-L2: Quality. 24
SRS Quality Model (Ambiguity)
SOEN6611-S13-L2: Quality. 25
Goal: to improve the quality of conceptual description (model) of the solution, and also reduce the amount of time required for requirements analysis and specification.
OO Design is becoming very popular in today‘s software OO Design is becoming very popular in today‘s software development environment.development environment.
OO Design focuses on objects primarily, different from OO Design focuses on objects primarily, different from more traditional functional decomposition and data flow more traditional functional decomposition and data flow development methods.development methods.
Some metrics, such as lines of code and cyclomatic Some metrics, such as lines of code and cyclomatic number, are used for traditional functional/ procedural number, are used for traditional functional/ procedural programs.programs.
For OO, what is measurable? Is there any metric used for For OO, what is measurable? Is there any metric used for OO? OO?
OO quality modeling and measurement
26SOEN6611-S13-L2: Quality.
SOEN6611-S13-L2: Quality. 57
OOD Quality Model: ISO 9126
ISO 9126 is software design (product) evaluation standard. Part 1 OOD Quality: This international standard
defines six characteristics that describe, with minimal overlap, software quality.
Part 4 Quality-in-Use: the capability of the software product to enable specified users to achieve specified goals in specified contexts of use
58
ISO 9126: Quality Model for external and internal quality
Characteristics (Factors)
Subcharacteristics (Criteria) Measures (see ISO9126-2, ISO9126-3)
Goal
SOEN6611-S13-L2: Quality.
SOEN6611-S13-L2: Quality. 59
Quality model: ISO 9126-11. Functionality: The capability of the software product to provide functions
which meet stated and implied needs when the software is used under specified conditions. This characteristic is concerned with what the software does to fulfill needs, whereas
the other characteristics are mainly concerned with when and how it fulfils needs.2. Reliability is the capability of software to maintain its level of performance
under stated conditions for a stated period of time. Wear or ageing does not occur in software. Limitations in reliability are due to faults in
requirements, design, and implementation. 3. Usability is the capability of the software product to be understood, learned,
used and attractive to the user, when used under specified conditions.4. Efficiency is the capability of the product to provide appropriate level of
performance, relative to the amount of resources used, under stated conditions.5. Maintainability is capability of the product to be easily modified.
6. Portability is the ability of software to be transferred from one environment.
SOEN6611-S13-L2: Quality. 60
ISO 9126:Approaches to quality
static measures of intermediate products
Dynamic measures of the code execution
SOEN6611-S13-L2: Quality. 62
ISO 9126 – Part 4definitions
Effectiveness metrics Effectiveness metrics assess whether the tasks performed by users achieve specified
goals with accuracy and completeness in a specified context of use. They do not take account of how the goals were achieved, only the extent to which
they were achieved Productivity metrics
Productivity metrics assess the resources that users consume in relation to the effectiveness achieved in a specified context of use. The most common resource is time to complete the task, although other relevant resources could include the user’s effort, materials or the financial cost of usage.
Safety metrics Safety metrics assess the level of risk of harm to people, business, software, property
or the environment in a specified context of use. It includes the health and safety of the both the user and those affected by use, as well as unintended physical or economic consequence
Satisfaction metrics Satisfaction metrics assess the user’s attitudes towards the use of the product in a
specified context of use. NOTE: Satisfaction is influenced by the user's perception of properties of the software
product (such as those measured by external metrics) and by the user's perception of the efficiency, productivity and safety in use.
SOEN6611-S13-L2: Quality. 63
ISO/IEC 1926: Parts Part 1: Quality Model Part 2: External Measures Part 3: Internal Measures Part 4: Quality In Use Measures
64
Example: MaintainabilityThe capability of the software product to be modified. Modifications
may include corrections, improvements or adaptation of the software to changes in environment, and in requirements and functional specifications.
SOEN6611-S13-L2: Quality.
Maintainability Measurement Feedback Loop:Example of Logiscope tool
65
Extract (collect data)Evaluate (graph)Execute (improve code)
SOEN6611-S13-L2: Quality.
66
Testing quality: Efficiency, Effectiveness
Testing efficiency: The intuitive notion is that the set of test cases is just
right, no redundancy and no gaps To test efficiently, you must find the largest possible
number of defects using the fewest possible resources
Testing Effectiveness: The best interpretation for effectiveness is that we want
to know how effective is the set of test cases for finding faults present in the program
To test effectively, you must use a strategy that uncovers as many defects as possible.
Good indicators: coverage metrics
SOEN6611-S13-L2: Quality.
Product quality metrics Kan Chapter 4: Software Quality Metrics Overview
Software quality consists of two levels: intrinsic product quality and customer satisfaction
Metrics:
SOEN6611-S13-L2: Quality. 67
Process quality metrics Kan Chapter 4: Software Quality Metrics Overview
Goal: to understand the development process and to learn to engineer quality into the process
Metrics:
SOEN6611-S13-L2: Quality. 68
Maintenance quality metrics Kan Chapter 4: Software Quality Metrics Overview
Goal: fix defects as soon as possible and with excellent quality
Metrics:
SOEN6611-S13-L2: Quality. 69
Reading ISO Std. 9126 (reading material L2), IEEE Std. 1061
(download from Concordia library website) Study Kan Chapter 4: Software Quality Metrics
Overview (reading material L2) Read SRS quality model paper (reading material L2) Read OO metrics validation paper (reading material
L2) Tutorials notes practicing McCabe, Logiscope
SOEN6611-S13-L2: Quality. 71