The model remo
7.4.2 The model remo
The model is based on the following assumptions:
va
The development process is linear and sequential, following the waterfall
effectivenes
model.
A number of “new” defects are introduced in each development phase. For their distributions, see Table 7.3.
Review and test software quality assurance activities serve as filters,
removing a percentage of the entering defects and letting the rest pass to
and c
the next development phase. For example, if the number of incoming defects is 30, and the filtering efficiency is 60%, then 18 defects will be
removed, while 12 defects will remain and pass to be detected by the next
st
quality assurance activity. Typical filtering effectiveness rates for the var- ious quality assurance activities are shown in Table 7.4.
At each phase, the incoming defects are the sum of defects not removed by the former quality assurance activity together with the “new” defects introduced (created) in the current development phase.
The cost of defect removal is calculated for each quality assurance activ- ity by multiplying the number of defects removed by the relative cost of removing a defect (see Table 7.5).
The remaining defects, unfortunately passed to the customer, will be detected by him or her. In these circumstances, full removal entails the heaviest of defect-removal costs.
In the model, each of the quality assurance activities is represented by a filter unit, as shown for Design in Figure 7.6.
The model presents the following quantities:
POD = Phase Originated Defects (from Table 7.3)
PD = Passed Defects (from former phase or former quality assurance activity)
Design
7 35 21.2 Integr Phase
ating quality
Removed defects 21.3
activ
Cost of defects
ities removal
in the project
Total removal cost 53.2 units
Figure 7.6: A filter unit for defect-removal effectiveness: example
life cycl
%FE = % of Filtering Effectiveness (also termed % screening effective- ness) (from Table 7.4)
e RD = Removed Defects
CDR = Cost of Defect Removal (from Table 7.5)
TRC = Total Removal Cost: TRC = RD × CDR. The first illustration of the model applies to a standard quality assurance
plan (“standard defects filtering system”) that is composed of six quality assurance activities (six filters), as shown in Table 7.6.
A process-oriented illustration of the standard quality assurance plan model is provided in Figure 7.7.
Table 7.6: Standard quality assurance plan No. Quality assurance activity
Defect removal Cost of removing effectiveness
a detected defect (cost units)
1 Requirement specification review
1 2 Design review
2.5 3 Unit test – code
6.5 4 Integration test
16 5 Documentation review
16 6 System test
40 7 Operation phase
Requirement specification
15 POD = 15 PD = 0
%FE = 50
7.5 7.4 A model
RD = 7.5 CDR = 1
TRC = 7.5cu
Design 35 POD = 35
21.2 for S
A defect
CDR = 2.5
TRC = 53.2cu
Unit test 30 POD = 30 PD = 21.2 %FE = 50
25.6 remo
RD = 25.6 CDR = 6.5
va l effectivenes
TRC = 166.4cu Integration test
10 POD = 10 PD = 25.6 %FE = 50
RD = 17.8
CDR = 16
and c
TRC = 284.8cu Documentation
13.9 st
10 POD = 10 PD = 17.8 %FE = 50
RD = 13.9 CDR = 16
TRC = 222.4cu System tests
POD = 0
PD = 13.9 %FE = 50 6.9 RD = 7 CDR = 40 TRC = 280cu
Operation
POD = 0
PD = 6.9 %FE = 100 RD = 6.9 CDR = 110 TRC = 759cu
Figure 7.7: Defect-removal effectiveness and costs — standard plan model of the process of
A comprehensive quality assurance plan (“comprehensive defects filter- ing system”) achieves the following:
7 Integr
(1) Adds two quality assurance activities, so that the two are performed in the design phase as well as in the coding phase.
ating quality
(2) Improves the “filtering” effectiveness of other quality assurance activities. The comprehensive quality assurance plan can be characterized as shown in
Table 7.7. Figure 7.8 provides a process-oriented illustration of the comprehensive
activ
plan model.
A comparison of the outcomes of the standard software quality plan ver-
ities
sus the comprehensive plan is revealing. The results of the comparison are shown in Table 7.8.
in the project
The main conclusions drawn from the comparison are: (1) The standard plan successfully removes only 57.6% (28.8 defects out of
50) of the defects originated in the requirements and design phase, com- pared to 90.2% for the comprehensive plan, before coding begins. This is to be expected as a direct result of the more intensive defect-removal
life cycl
efforts that characterize the comprehensive plan. (2) The comprehensive plan, as a whole, is much more economical than the
standard plan as it saves 41% of total resources invested in defect
e removal, compared to the standard plan. (3) Compared to the standard plan, the comprehensive plan makes a greater
contribution to customer satisfaction by drastically reducing the rate of defects detected during regular operations (from 6.9% to 2.6%).
Table 7.7: Comprehensive quality assurance plan No. Quality assurance activity
Defect-removal Cost of removing effectiveness
a detected defect (cost units)
1 2 Design inspection
1 Requirement specification review
2.5 3 Design review
2.5 4 Code inspection
6.5 5 Unit test – code
6.5 6 Integration test
16 7 Documentation review
16 8 System test
40 9 Operation phase
Requirement specification
15 POD = 15 PD = 0
%FE = 60
7.4 A model
RD = 9
CDR = 1 TRC = 9cu Design inspection
Design review
for
CDR = 2.5
CDR = 2.5
SQ
TRC = 71.8cu
TRC = 18.5cu
A defect
Code inspection
Unit test
remo
TRC = 27.3cu Integration test
TRC = 158.6cu
6.5 va l
effectivenes
RD = 9.8
CDR = 16 TRC = 156.8cu
and c
CDR = 16
TRC = 158.4cu
System tests
2.6 st
RD = 4 CDR = 40 TRC = 160cu
RD = 2.6 CDR = 110 TRC = 286cu
Figure 7.8: Defect-removal effectiveness and costs – comprehensive plan model of the process of removing 100 defects
In general, the quantitative results of the comparison comply nicely with the SQA approach. The comparison also supports the belief that additional investments in quality assurance activities yield substantial savings in defect removal costs.
Alternative models dealing with the cumulative effects of several quality assurance activities are discussed by Pressman (2000, Chapter 8) and Perry Alternative models dealing with the cumulative effects of several quality assurance activities are discussed by Pressman (2000, Chapter 8) and Perry
Table 7.8: Comparison of the standard and comprehensive quality assurance plans No. Quality assurance activity
Standard plan
Comprehensive plan
Percentage of
Cost of removing
Percentage of Cost of removing
removed defects defects (cost units) 1 Requirements specification review
removed defects
defects (cost units)
9 2 Design inspection
71.8 3 Design review
18.5 4 Code inspection
158.6 5 Unit test – code
27.3 6 Integration test
156.8 7 Documentation review
158.4 8 System test
Total for internal quality assurance activities
Defects detected during operation
Total
Summary 143 Summ
(1) Describe the various software development models and discuss the differences between them.
ar
Four models of software development process are discussed in this chapter:
■ The Software Development Life Cycle (SDLC) model ■
The prototyping model ■
The spiral model ■
The object-oriented model. The classic SDLC model is a linear sequential model comprising several phases,
beginning with requirements definition and concluding with regular system opera- tion and maintenance.
At the end of each phase, outputs are reviewed and evaluated by the develop- er as well as, in many cases, by the customer. The outcomes range from approval of the phase results and continuation to the next phase, to demands to correct, redo or alter parts of the respective phase.
The waterfall model can be viewed as the basic framework for the other models, which can be considered as complementary and represent different perspectives of the process, or as referring to diverse development contexts.
According to the prototyping methodology, the developed system’s users are required to comment on versions of the software prototypes prepared by the devel- opers. The developers thereafter correct the prototype and incorporate additional parts into the system. This process is repeated till the software system is complet-
ed or till the goal of prototyping is achieved.
The main advantages of the prototyping over the SDLC model, for small to medium- sized projects, are the shorter development process, substantial savings in devel- opment resources, better fit to customer requirements, reduced risk of project failure, and clearer user comprehension of the new system.
The spiral model provides an improved methodology for larger and more com- plex projects. This improvement is achieved by introducing and emphasizing elements of risk analysis and customer participation in the development process. Each of the model’s iterations includes planning, risk analysis and resolution, engi- neering, and customer evaluation.
The advanced spiral model (the Win–Win model) places extra emphasis on com- munication and negotiation between customer and developer. The customer wins by improving chances to receive a system that satisfies most of his needs while the developer wins by improving chances of completing the project within budgetary and timetable constraints.
The object-oriented model deals with the situation of intensive reuse of soft- ware components. According to this model, the development process begins with a sequence of object-oriented analysis and design activities. The design phase is fol- lowed by acquisition of a reusable software library together with “regular” development of the unavailable software components. Copies of newly developed software components are “stocked” in the library for future reuse.
(2) Explain the considerations affecting application of quality assurance activities.