CSC4601254
Penjaminan Mutu
Perangkat Lunak
Oleh
Satrio Baskoro Yudhoatmojo
1
The Software Quality
Challenges
Oleh
Satrio Baskoro Yudhoatmojo
2
References
• Galin, Daniel. Chapter 1 - The Software Quality
Challenge. Software Quality Assurance. Harlow,
England: Pearson Education Limited, 2004. Print.
3
The Uniqueness of SQA
• Essential differences between software and other industrial
products, such as automobiles, washing machines or radios:
1. Product Complexity: measured by the number of operational
modes the product permits. An industrial product does not allow
for more than a few thousand modes of operation. A typical
software package might have millions of software operations
possibilities
2. Product Visibility: industrial products are visible, software
products are invisible. For industrial products, defects can be
detected during manufacturing process. However software
defects are invisible (parts may have been absent from the
beginning).
4
The Uniqueness of SQA
3. Product Development and Production Process. Phases at which
possibility of detecting defects my arise:
• Industrial Product:
(a) Product development: designers and quality assurance (QA) staff
check and test the product prototype, in order to detect its defect
(b) Product production planning: at this phase production process
and tools are designed and prepared. This phase can be use to
reveal defects that “escaped” the reviews and test conducted
during development phase
(c) Manufacturing: QA procedures are applied to detect failures of
products themselves
5
The Uniqueness of SQA
• Software Product:
(a) Product development: efforts of development teams and
SQA professionals are directed toward detecting inherent
product defects
(b) Product production planning: not required for software
production process, as the manufacturing of software
copies and printing of software manuals are conducted
automatically.
(c) Manufacturing: the manufacturing of software is limited to
copying the product and printing copies of the software
manuals - detecting defects are quite limited
6
y challenge
processes related to software products and those of other industrial products
warrant the creation of a different SQA methodology for software. The need
Factors Affecting Defect
for special tools and methods for the software industry is reflected in the pro-
fessional publications as well in special standards devoted to SQA, such as
ISO 9000-3, “Guidelines for the application of ISO 9001 to the develop-
Detection
ment, supply and maintenance of software”. This point is supported by the fact
that targeted guidelines have not been prepared by ISO for other industries,
Table 1.1: Factors affecting defect detection in software products vs. other industrial products
Characteristic Software products Other industrial products
Complexity Usually, very complex product Degree of complexity much
allowing for very large number lower, allowing at most a few
of operational options thousand operational options
Visibility of product Invisible product, impossible Visible product, allowing
to detect defects or omissions effective detection of defects
by sight (e.g. of a diskette or by sight
CD storing the software)
Nature of development Opportunities to detect defects Opportunities to detect
and production process arise in only one phase, defects arise in all phases of
namely product development development and production:
■ Product development
■ Product production
planning
■ Manufacturing
7
Nature of development Opportunities to detect defects Opportunities to detect
The Uniqueness of Software
and production process arise in only one phase,
namely product development
defects arise in all phases of
development and production:
■ Product development
Development Process ■ Product production
planning
■ Manufacturing
Frame 1.1 The uniqueness of the software development process
■ High complexity, as compared to other industrial products
■ Invisibility of the product
■ Opportunities to detect defects (“bugs”) are limited to the product
development phase
8
The environments for which
SQA methods are developed
• The environment of professional software
development and maintenance (known as SQA
environment)
Frame 1.2 Summary of the main characteristics of SQA environment 11
Summary
1. Being contracted
2. Subjection to customer–supplier relationship
3. Requirement for teamwork
4. Need for cooperation and coordination with other development teams
5. Need for interfaces with other software systems
6. Need to continue carrying out a project while the team changes
7. Need to continue maintaining the software system for years
9
9
1.2 The environments for which SQA methods are developed
Hardware
Software development Other
development team supplier’s
team development
team
Software
development
team
Our software
development
Software team
development Other
organization supplier’s
development
team
Cooperation and Other
coordination supplier’s
development
team
Customer’s Other
development supplier’s
team development
team
Figure 1.1: A cooperation and coordination scheme for a software development team of a large-
scale project
10
0
Attendance
control
system
Input Interface Monthly attendance report, including overtime calculations
Salary
processing
system
Output Interface Money transfers to employees’ bank accounts
Bank
information
system
Figure 1.2: The salary software system – an example of software interfaces
(6) The need to continue carrying out a project despite team memb
11
Q & A