Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e

advertisement
Supplementary Slides for
Software Engineering:
A Practitioner's Approach, 5/e
copyright © 1996, 2001
R.S. Pressman & Associates, Inc.
For University Use Only
May be reproduced ONLY for student use at the university level
when used in conjunction with Software Engineering: A Practitioner's Approach.
Any other reproduction or use is expressly prohibited.
This presentation, slides, or hardcopy may NOT be used for
short courses, industry seminars, or consulting purposes.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
1
Chapter 8
Software Quality Assurance
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
2
SQA Encompasses…
A quality management approach
Effective SE technology (methods & tools)
Formal technical reviews
A multi-tiered testing strategy
Compliance with development standard
Measurement & reporting mechanism
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
3
Why SQA Activities Pay Off?
cost to find
and fix a defect
100
60.00-100.00
log
scale
10
1
10.00
0.75 1.00
1.50
3.00
Design testsystem field
Req.
use
code
test
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
4
Quality Concepts
general objective: reduce the “variation
between samples” ... but how does this apply
to software?
quality control: a series of inspections,
reviews, tests
quality assurance: analysis, auditing and
reporting activities
cost of quality
 appraisal costs
 failure costs
 external failure costs
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
5
What is quality?
A characteristic or attribute of something
(American Heritage Dictionary)
Measurable characteristics
such as length, color, electrical properties, &
malleability.
Software’s characteristics:
 cyclomatic complexity, cohesion, number of function
points, LOC, and many others
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
6
Quality
Two kinds of software quality:
1. Quality of design:
the characteristics that the designers specify for an item.
Eg, requirements, specifications, and design
2. Quality of conformance:
the degree to which the design specifications are followed
during manufacturing
Eg, implementation
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
7
Quality Control
Involves the series of inspections, reviews,
and tests used throughout the software
process to ensure each work product meets
the requirements
Includes a feedback loop to the process
May be manual, automated, or both
Measurement + feedback
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
8
Quality Assurance
Consists of the auditing and reporting
functions of management
Goal:
to provide management with the data necessary to
be informed about product quality,
thereby gaining insight and confidence that product
quality is meeting its goal
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
9
Quality Costs
1. Prevention costs:
quality planning, formal technical reviews, test equipment,
training
2. Appraisal costs
include activities to gain insight into product condition
the “first time through” each process: in-process & interprocess inspection, equipment calibration & maintenance,
testing
3. Failure costs:
Internal Failure costs: rework, repair, failure mode analysis
External Failure costs: complaint resolution, product return
& replacement, help line support, warranty work
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
10
SOFTWARE QUALITY
Conformance to
explicitly stated functional and performance
requirements,
explicitly documented development standards, and
implicit characteristics that are expected of all
professionally developed software
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
11
DEFINITION (2)
Three important points of the definition:
1. Software requirements are the foundation from
which quality is measured
2. Specified standards define a set of development
criteria that guide the engineering
3. A set of implicit requirements often goes
unmentioned (eg. Ease of use, maintainability)
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
12
Software Quality Assurance
SQA
Process
Definition &
Standards
Formal
Technical
Reviews
Analysis
&
Reporting
Measurement
Test
Planning
& Review
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
13
SQA Activities
Software engineers address quality by
 applying solid technical methods & measures,
 conducting formal technical reviews, and
 performing well-planned testing
SQA group assists the software team in
achieving a high quality product by addressing
 quality assurance planning,
 oversight,
 record keeping,
 analysis, &
 reporting
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
14
Reviews & Inspections
... there is no particular reason
why your friend and colleague
cannot also be your sternest critic.
Jerry Weinberg
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
15
What Are Reviews?
a meeting conducted by technical people for
technical people
a technical assessment of a work product
created during the software engineering
process
a software quality assurance mechanism
a training ground
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
16
Constraints
Between 3 and 5 people
Advance preparation should occur but should
require no more than 2 hours of work for each
person
Duration of review meeting should be less
than 2 hours
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
17
What Reviews Are Not!
They are not:
a project budget summary
a scheduling assessment
an overall progress report
a mechanism for reprisal or political
intrigue!!
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
18
The Players
review
leader
standards bearer (SQA)
producer
maintenance
oracle
reviewer
recorder
user rep
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
19
Conducting the Review
1. be prepared—evaluate
product before the review
2. review the product, not
the producer
3. keep your tone mild, ask
questions instead of
making accusations
4. stick to the review agenda
5. raise issues, don't resolve them
6. avoid discussions of style—stick to technical
correctness
7. schedule reviews as project tasks
8. record and report all review results
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
20
Review Guidelines
 Review the product, not the producer
 Set an agenda and maintain it
 Limit debate and rebuttal
 Enunciate the problem areas, but don’t attempt to
solve every problem noted
 Take written notes
 Limit the number of participants and insists upon
advance preparation
 Develop a checklist for each product that is likely to be
reviewed
 Allocate resources and schedule time for FTRs
 Conduct meaningful training for all reviewers
 Review your early review
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
21
Review Options Matrix
trained leader
agenda established
reviewers prepare in advance
producer presents product
“reader” presents product
recorder takes notes
checklists used to find errors
errors categorized as found
issues list created
team must sign-off on result
IPR *
WT
IN
no
maybe
maybe
maybe
no
maybe
no
no
no
no
yes
yes
yes
yes
no
yes
no
no
yes
yes
yes
yes
yes
no
yes
yes
yes
yes
yes
yes
RRR
yes
yes
yes
no
no
yes
no
no
yes
maybe
* IPR—informal peer review WT—Walkthrough
IN—Inspection RRR—round robin review
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
22
Metrics Derived from Reviews
inspection time per page of documentation
inspection time per KLOC or FP
inspection effort per KLOC or FP
errors uncovered per reviewer hour
errors uncovered per preparation hour
errors uncovered per SE task (e.g., design)
number of minor errors (e.g., typos)
number of major errors
(e.g., nonconformance to req.)
number of errors found during preparation
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
23
Statistical SQA
Product
& Process
• collect information on all
defects
• find the causes of the
defects
• move to provide fixes for
the process
measurement
... an understanding of how
to improve quality ...
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
24
________stoppage
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
25
SOFTWARE RELIABILITY
The probability of failure-free operation of a
computer program in a specified environment
for a specified time
Measures:
MTBF = MTTF + MTTR
Availability = (MTTF/(MTTF+MTTR)) * 100%
Software safety is
 SQA activity that focuses on the identification &
assessment of potential hazards that may affect software
negatively and cause system to fail
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
26
ISO 9000
 Describes quality assurance elements in generic terms
that can be applied to any business regardless of the
products or services offered
 Elements of quality assurance system:
 organizational structure,
 procedures,
 processes, and
 resources to implement quality planning,
 quality control,
 quality assurance, and
 quality improvement
 ISO 9001 – for software engineering
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
27
SQA plan
 Provides road map for instituting software quality
assurance
 The plan serves as template for SQA activities
 Contents:
initial section – purpose and scope
management section – organizational structure
documentation section – project documents, models, technical
documents, user documents
test section
tools & methods, SCM, contract, records maintenance,
training, risk
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
28
Download