Post on 02-Jul-2018
1
Software Quality Management
Lecture 12
Kristian Sandahl
Department of Computer and Information Science
Linköping University, Sweden
davbr@ida.liu.se
Software Engineering
TDDC88/TDDC93
Autumn 2008
2
Part I
More on measurements
Part II
General quality
management principles
Kristian Sandahl
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
Part III
Software specific
quality initiatives
QFD
20
Part I
More on measurements
Part II
General quality
management principles
Kristian Sandahl
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
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
krisa@ida.liu.se
Part III
Software specific
quality initiatives
Experience factory
16
31
Part I
More on measurements
Part II
General quality
management principles
Kristian Sandahl
krisa@ida.liu.se
Part III
Software specific
quality initiatives
Wisdom
performance
communication
infrastructure
32
Part I
More on measurements
Part II
General quality
management principles
Kristian Sandahl
krisa@ida.liu.se
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
krisa@ida.liu.se
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