software quality management - idatddc93/timetable/12sqa-2.pdf · 2008-09-28 · 1 software quality...

17
1 Software Quality Management Lecture 12 Kristian Sandahl Department of Computer and Information Science Linköping University, Sweden [email protected] Software Engineering TDDC88/TDDC93 Autumn 2008 2 Part I More on measurements Part II General quality management principles Kristian Sandahl [email protected] Part III Software specific quality initiatives Theory Lecture Plan L1 - Course Introduction and Overview L2 - Project Management L3 - Requirements L4 - Acceptance Testing and Quality Factors L5 – UML L6 - Design Patterns L7 - System Design and Architecture L8 - Testing Theory L9 - Testing in Practice L10 - Inspection L11 - Software Life Cycles and Configuration Management L13 - Course Summary, Exam examples, Questions L12 – Software Quality Management

Upload: others

Post on 25-Apr-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

1

Software Quality Management

Lecture 12

Kristian Sandahl

Department of Computer and Information Science

Linköping University, Sweden

[email protected]

Software Engineering

TDDC88/TDDC93

Autumn 2008

2

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Theory Lecture Plan

L1 - Course Introduction and Overview

L2 - Project Management

L3 - Requirements

L4 - Acceptance Testing and Quality Factors

L5 – UML

L6 - Design Patterns

L7 - System Design and Architecture

L8 - Testing Theory

L9 - Testing in Practice

L10 - Inspection

L11 - Software Life Cycles and Configuration Management

L12 - Software Quality Management

L13 - Course Summary, Exam examples, Questions

L12 – Software Quality Management

2

3

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

A Software Life-cycle Model

Which part will we talk about today?

Requirements

System Design(Architecture,

High-level Design)

Module Design(Program Design,

Detailed Design)

Implementationof Units (classes, procedures,

functions)

Unit testing

Module Testing(Integration testing of units)

System Testing(Integration testing of modules)

Acceptance Test(Release testing)

Validate Requirements, Verify Specification

Verify System Design

Verify Module Design

Verify Implementation

Project Management, Software Quality Assurance (SQA), Supporting Tools, Education

Maintenance

4

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Agenda - What will you learn today?

Part I – More on measurements Part II – General quality

management principles

Part III – Software specific

quality initiatives

3

5

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Part I

More on measurement

6

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Many opinions ⇒⇒⇒⇒

Statistical

techniques

Many opinions ⇒⇒⇒⇒

Statistical

techniques

Do you remember?

� Transcendent – something we learn to recognize

� Product-based – measurable variable

� Usage-based – in the eyes of the beholder

� Manufacturing-based – conformance to requirements

� Value-based – market sets the value

4

7

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Rehearsal: Quality factors

� Correctness

� Reliability – lecture 4

� Efficiency

� Usability – lecture 4

� Integrity

� Maintainability

� Flexibility

� Testability

� Security

� Portability

� Reusability

� Interoperability

� Survivability

� Safety

� Manageability

� Supportability

� Replaceability

� Functionality

How can you measure these factors?

Ideas: http://www.ida.liu.se/~TDDC93/timetable/metrics.html

8

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Research – predicting troubles

� Regression analysis from empirical material

� Often a linear combination between size and

complexity

� Size can be measured in:

� lines of code (KLOC)

� function points

� Halstead software science

5

9

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Measuring complexity

� Cyclomatic number V(G) = e – n + 2

� e = number of edges (arcs)

� n = number of nodes

� Due to McCabe(76)

10

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Example

1

2 3

4 5

6

7 8

910

11

1213 14

I

II

III IV

V VI

VII VIII

IX X

XI

V(G) = 14 – 11 + 2 = 5

6

11

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Metrics based on change, system A

0

20

40

60

80

100

0 20 40 60 80 100

Accum

ula

ted T

R (

%)

Accumulated size (%)

bestrandom

opechgdenssigchgdensattrchgdens

chgdens

12

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Function points

� Language-neutral combination of size and complexity

� Mostly used for administrative information systems

� Growing interest, but still a closed community

7

13

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Factors in function point analysis

� Number of user inputs - distinct input applications , not online queries. Weight: 4

� Number of user outputs – distinct output applications: reports, lists. Weight: 5

� Number of user online queries requiring action by the system. Weight: 4

� Number of logical files – any group of information maintained for the user. Weight: 10

� Number of external interfaces – any computer-readable I/O. Weight: 7.

� Sometimes a file might be counted twice.

14

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Example

Source: Galin 2004Source: Galin 2004

UI

UI

UO

UO

UO

UOQ

UOQ

UOQ

LF

LF

EI EI

69CFP

1472EI

20102LF

1243UOQ

1553UO

842UI

pointsweightcountcomp.

8

15

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Part II

General Quality Management Principles

16

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

ISO 9000-3

� A guideline to apply ISO 9001 to software industry, which is built on the principles:

� Principle 1 Customer focus

� Principle 2 Leadership

� Principle 3 Involvement of people

� Principle 4 Process approach

� Principle 5 System approach to management

� Principle 6 Continual improvement

� Principle 7 Factual approach to decision making

� Principle 8 Mutually beneficial supplier relationships

9

17

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Management

� What’s get measured gets done

� Importance of feed-back

� Non-personal software

� Creating a passion for quality

� Live as you learn

� Incentive system

� Involve customers

� Set prioritized goals

� Quality is everybody’s responsibility

� Document how you will work with quality

� Improve continuously

=TQM

18

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Six sigma

� Statistical process control

� The variance of approved products should lie +/- 3 standard deviation from the mean = 3.4 faults per million

� Define

� Measure

� Analyze

� Improve

� Control

Variant of the Shewhart cycle

10

19

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

QFD

20

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Part III

Software specific quality initiatives

11

21

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Inspections in quality assurance

� Appraisal – defect detection

� Assurance – prediction of defects

� Control – adjust the process

� Improvement: reduce variation, increase precision

Analysis Design Coding Test-cases

Inspection

data

Inspection

data

Inspection

data

Inspection

data

Inspection

data

22

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

TickIT

� An interpretation of ISO 9001 for software,

� a standard set of requirements on the competence and behavior of

certification auditors,

� a standardized training course for certification auditors,

� a registration scheme for approved certification auditors,

� a system for accrediting certification bodies for conducting TickIT

certifications,

� a logotype to be used on certificates to show TickIT certification.

illustration only

http://www.tickit.org/

12

23

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

CMMI

1: Initial

2: Repeatable

3: Defined

4: Managed

5: Optimising

Each level has process areas.

24

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

PA CMMI2

� Requirements Management

� Analyzes requirements

� Verify plans and products against requirements

� Project Planning

� Plan: activities, resources and schedules

� Use the plan to achieve commitment and approval at all

levels

� Project Monitoring and Control

� Progress control: Initiate changes to solve problems

� Update plans

13

25

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

PA CMMI2 (continued)

� Supplier Agreement Management

� Manage contracts, progress control, quality assurance.

� Measurement and Analysis

� Develop, initiate, analyse and complete measurements to support

progress control

� Process and Product Quality Assurance

� Develop, implement and follow up application of SQA tools for

processes and software products

� Configuration Management

� Develop, implement and operate a CM system

� Assure integrity of work products, report changes, test configuration

26

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

PA CMMI3

� Requirements Development� Elicit, specify, analyze and validate requirements.

� Technical Solution� Analyze and select solutions to components or the system as a whole

� Implement solution

� Product Integration� Integrate components from various sources

� Verification� Assure that the product and components comply with specifications

� Validation� Assure that the product fullfils customers actual needs

14

27

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

PA CMMI3 (continued)

� Organizational Process Focus� Understand the organizations process and need for process

� Improve the process where necessary

� Organizational Process Definition� Develop and maintain: Documents and tools for processes

� Organizational Training� Define needed competence

� Make competence inventory

� Make a gap analysis

� Schedule training

28

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

PA CMMI3 (continued)

� Integrated Project Management

� Assure that all levels share: project goals, planning and

progress control process

� Integrated Teaming

� Form teams with relevant members

� Govern team operation and external communication

� Risk Management – see lecture 2

� Decision Analysis and Resolution

� Evaluate project alternatives according to criteria

� Structured decisions selecting project implementation

alternatives

� Organizational Environment for Integration

� Approach and infrastructure for team collaboration

15

29

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

QIP

1. Set quantifiable goals

2. Select processes

3. Run processes

4. Measure objectives

5. Analyse measurements

6. Package experience

30

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Experience factory

16

31

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Wisdom

performance

communication

infrastructure

32

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Summary - What have we learned today?

� Started thinking about measurements

� Process-oriented quality management

� CMMI and other software initiatives

17

33

Part I

More on measurements

Part II

General quality

management principles

Kristian Sandahl

[email protected]

Part III

Software specific

quality initiatives

Further reading - References

� Galin, Daniel (2004). Software Quality Assurance – From theory to implementation,

Pearson Education. ISBN 0-201-70945-7