+ All Categories
Home > Documents > 02 1 Quality

02 1 Quality

Date post: 15-Apr-2017
Category:
Upload: vivian12345
View: 221 times
Download: 0 times
Share this document with a friend
40
SOEN6611-S14: Quality. 1 SOEN6611 Software Measurement: Theory and Practice Instructor: Serguei Mokhov Lecture 2: Quality Modeling & Measurement. Notes credit: O. Ormandjieva
Transcript

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 ¿

10

Measurement Feedback Loop

SOEN6611-S13-L2: Quality.

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

External v.s. Internal Attributes: Measurement models

SOEN6611-S13-L2: Quality. 18

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

61

ISO 9126 – Part 4Quality in Use

SOEN6611-S13-L2: Quality.

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


Recommended