Tải bản đầy đủ (.pdf) (40 trang)

Software Engineering (phần 8) pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.75 MB, 40 trang )

.
' j !
@ 2 '.
I i
'
i i
t
'
! i1
1*.1 REQUIREMENTS ELICITATION Q@3 l
'
j
.
' : !
.
. i
'
events. A storyboard ' qld up a storyboard
,
a series of diagram s depicting the sequence ot g
as ' can be considered a paper prototype (Rettig, 19941, that is, a series of sheets of paper l
ly each depicting the relevant screens and the user's response. But, whatever method is k j
n- chosen, the scenario should depict the starting state, the expected sequence of events, l ':
i k
lt. and the hnishing state, together with the exceptions to the expected sequence. 4
ty Scenarios are useful in a number of different ways. 21 j
ht r '1
. They can demonstrate the behavior of the product in a way that is comprehensible I ji
t . t
o the user. This can result in additional requirements com ing to light, as in the i
'


jae
weight-loss planner example. ! l
.e. ë
'
2 Because scenarios can be understood by users, the utilization of scenarios can i
zd ' .
ensure that the client and users play an active role throughout the requirements )3e
-
the requirements analysis phase is to elicit i
.analysis process. After all, the aim ot ë 1
the real needs of the client, and the only source of this information is the client )àe r
and the users. l 'a
! .
er 3. Scenarios (or more precisely, use cases) play an important role in object-oriented i I!
!zn analvsis
. This is discussed in detail in Section l 2.3. i 1 j
t -'' I 1
th ë lW
e now consider other techniques for eliciting requirements. q l I .
ày l Ii l
Or ,1
'
3
j il@
.
l.a @THKR RequlkzMxxTs EU<ITATION W tHNlquEs ) ! (
)1-t ' l1
'rt ' Yet another way of eliciting needs is to send a questionnaire to the relevant members i
:r- of the client organization. This technique is useful when the opinions of, say. hundreds I
of individuals need to be determ ined. Furthermore, a carefully thought-out written j

be more accurate than an immediate verbal response to a question posed ' ' lanswer may
by an interviewer. However, an unstructured interview conducted by a methodical 1 1
l 1i
nterviewer who listens carefully and poses questions that expand on initial responses j i
J ' .usually yields far better information than a thoughtfully worded questionnaire
. Be-
l ier cause questionnaires are preplanned
,
there is no way that a question can be posed in !
!
se response to an answer. !
Lat A different way of eliciting requirements, particularly in a business environment, ; t.tal is to examine the various forms used by the client
.
For example, a form in a print shop j !
lis might retlect press number, paper roll size, humidity, ink temperature, paper tension, ( g
1ts and so on. The various fields in this form shed light on the flow of print jobs and j 11
ts, the relative importance of the steps in the printing process. Other documents, such I k
k f ',rs as operating procedures and job descriptions
,
also can be powerful tools for finding j .
ny out exactly what is done and how. Such comprehensive intormation regarding how j ! j
to the client currently does business can be extraordinarily helpful in determining the :1 t .client's needs. Therefore, careful perusal of client documentation should never be
.
j '
km overlooked as a source of information that can lead to an accurate assessment of the : : 1
n- client's needs. ' .
he A newer way of obtaining such information is to set up videotape cameras w ithin E :
the workplace to record (with the prior written permission of those being observed) i i 1!
!he exactly what is being done
.

One difhculty of this technique is that it can take a long time ! i :
! i (
;et to analyze the tapes. In general, one or more members of the requirements analysis r 1
'
j
ù
'
.
r j
.
'
j
i
Please purchase Image To PDF Converter on to remove this message, thank you.
l 1
2 1
i )i
.
( 2@* t u A p T : R 1. @ Requiremenls Plw se '
( l
.
team has to spend an hour playing back the tape forevery hourthat the cameras record
.
l This time is in addition to what is needed to assess what was observed
. More seriously,1
1 this technique has been known to backhre badly because employees may view the '
l h cameras as an unwarranted invasion of privacy. lt is important that the requirements ' ql
2 analysis team have the full cooperation of a1l employees'
,
it can be extremely difficult ,1 ) b

tain the necessary information if people feel threatened or harassed. The possible (p to or
-
l ; risks should be considered carefully before introducing cameras or, for that matter, j
I ë t
aking any other action that has the potential to anger employees.;
! Once an initial set of requirements has been elicited, the next step is to refine t
p .
j them. a process called requirelnents analysis. )
1 r
$
l . C
1 a
d a
l ù 41 2 Rzqulpzm zxTs A xakysls1 j *
( ; J( !
,
r) i i ' At this stage in the process, the requirements team has a preliminary set of require- pj
'
k
.
ments. These requirements are of two types, functional and nonfunctional. Functional pl ' . irements relate to the functionality of the target software; for example
,
Séltoyal- ul $ requ
'
.
l d ties for each artist shall be computed from the playlist data using the May 1998 CMS Ti
'
formula.'' Nonfunctional specifieations speeify properties of the target software, such a! iT
Iiability and maintainability, or relate to the environment in which the software irl 1 , as re
i ' ç(

.
j I , must run; for example, AIl bar codes shall be read using the Mach/zor ASRCA inptlt ft
.
' i device.'' jl t
21
; It is essential that the software be traceable; that is, it must be possible to trace
each statement in the requirements document through the specifications
,
design, and
i code. In this way, the SQA group can check that every statement in the requirements$
'
j . has been implemented and that this has been done correctly. To achieve traceability,
l each statement in the requirements document needs to be numbered
.!
'
:t A1l the items in the preliminary requirements document are given to the client to
p get their priorities. The client (or a client team) ranks each preliminary requirement
.
!l using categories sueh as essential
,
highly desirable, desirable, and so on. During the
i f this process
,
it may becom e apparent that certain requirements are incorrect; cotlrse o
! or invlevant
. Any such requirements are corrected or deleted. '
I E
'
The next step is to further refine the preliminary requirements document
. First, r1

'
j the m embers of the requirements team discuss the list of requirements w ith the various ;
j i individuals interviewed to determ ine if anything has been omitted
.
Then, because the; q
.
$ 1 i most accurate and powerful requirements analysis technique is rapid prototyping, a
.
' ! !' rapid prototype is built
.
This is described in the next section.I t ' - ,
' ! t i .' j
,
.
( ê
'
.
i : .
1@.a pIp pmoToTyplN.:
j A rapid prototype is hastily built software that exhibits the key funetionality of the
;
1 target product. For example, a product that helps manage an apartment com plex mustt
.
r '
y '
Please purchase Image To PDF Converter on to remove this message, thank you.
' I 1 .
! q
'
j (

!
!
I@.a RAplD PROTOTYPING Q@5 l
'
t
:
'
.
j '
'rd. : incoroorate an input screen that allows the userto enterdetails ofa new tenant and print : '
ily. . an occupancy report for each month
. These aspects are incorporated into the rapid j ':
the prototype
. However, error-checking capabilities, file-updating routines, and complex I :
! !nts ta
x computations probably are not included. The key point is that a rapid prototype .
lult renects the functionality that the client sees
,
such as input screens and reports, but 1
b1e its tthidden'' aspects such as file updating. (For a diftkrent way of looking at rapid iOm :
t b b low ) ier, prototypes
,
see the Just in Case You Wanted to Know ox e . i
The client and intended users of the product now experiment with the rapid pro- I lI
rine t
otype, while mem bers of the developm ent team watch and take notes. Based on their I :
hands-on experience, users tell the developers how the rapid prototype satislies their
needs and, more important, identify the areas that need improvem ent. The developers t
change the rapid prototype until both sides are convinced that the needs of the client i ;;
l encapsulated in the rapid prototype. The rapid prototype then is used !

. Eare accurate y
,!
'
as the basis for drawing up the specifications. l : l
An important aspect ot the rapid prototyping model is embodied in the word i ,
'
! rapid. The whole idea is to build the prototype as quickly as possible. After all, the i
.
1
Lre- . purpose of the rapid prototype is to provide the client with an understanding of the i 1
1 : i
naI ' product, and the sooner, the better. It does not matter if the rapid prototype hardly j ) 'j
l z
.
.ral- works, if it crashes every few minutes, or if the screen Iayouts are less than perfect. y : I
h Iient and the developers to agree 1 lWS The purpose of the rapid prototype is to enable t e c !
lch as quickly as possible on what the product is to do. Therefore. any imperfections l li
i
in the rapid prototype may be ignored. provided they do not seriously impair the l i ire
iï I
put functionality of the rapid prototype and thereby give a misleading impression of how : i
'
L *' *' '*' ''' '*
'
*' '' -'''' ''
'
j 'the product will behave
.
@ j
1 1aCe

$
j j'
I !md ' (
'
ë
LIXS C i
;
:
!ity
,
: !
'
: .i:
j
'
t to ' C i
'
j! JusT IN ZASE You W ANTEP To KNow I
ent i l'
j ttlltl
. .
l
C f 1'ect T
he idea of constructing models to show key aspects of prototype to determine the client's real needs. Sec- 't i j''l
a product goes back a Iong time. For example, a 1 6 1 8 ond, in an age before architectural drawings, the model l
j
:
1
rst, ' painting by Domenico Cresti (known as ''11 Passignano'' showed the builder the structure of the building antt in- ) :
ous : because he was born in the town of Passignano in the dicated to the stone masons how the building was to j . j

the 'ï Chianti region of Italy) shows Michelangelo presenting be decorated. This is similar to the way we now build i ' '
) !
.
a wooden model of his design for St. Peter's (in Rome) a rapid prototype of the user interface, as described in ;;
.
a
, .
!
to Pope Paul IV. Such architectural models could be Section 10.4. ) 'L
huge; a model of an earlier design proposal for St. Pe- It is not a good idea, however, to draw too close 1 j
' ter's by the architect Bramante is more than 20 feet long a parallel between such architectural models and soft- 1 j'
'
on each side. ware rapid prototypes. Rapid prototypes are used dur-
,
'
1
I
Architectural models were used for a number of ing the requirements phase to elicit the client's needs. 'j
First, as depicted in the Cresti Unlike architectural models, they are not used to rep- 1, different purposes
.
I
i painting (now hanging in Casa Buonarroti in Flo- resent either the architectural design or the detailed de- I I
' dels were used to try to interest a client in sign', the design is prodtlced two phases Iateq that is, l 1.rence), mo
.
:
the tunding a project. This is analogous to the use of a rapid during the design phase. .
'
(
'
lust g .

l
.
'
j .
.
I l
l' i
j
Please purchase Image To PDF Converter on to remove this message, thank you.
'
:
j
l
I !
'
I 2@ê t H A p T E * 1* * Requiremenls Phose1
1
!
A second major aspect of the rapid prototyping model is that the rapid prototype1
.
must be built for change. If the first version of the rapid prototype is not what the
I1 client needs
,
then the prototype must be transformed rapidly into a second versionIj j that, it is hoped, better satisfies the client's requirements. To achieve rapid develop-
: ment throughout the rapid prototyping process
. fourth-generation languages (4GLs) gI q
! i and interpreted languages, such as Smalltalk, Prolog, and Lisp, have been used. Pop-!
i : ular rapid prototyping languages of today include HTM L and Perl
,
as well as visualI

! C++ and J++. Concerns have been expressed about the maintainability of certain
1 interpreted Ianguages
, but from the viewpoint of classic rapid prototyping, this is irrel-1 !
,
l 2 evant. All that counts is, Can a given language be used to produce a rapid prototype?
i And can the rapid prototype be changed quickly? lf the answer to both questions is
;
I yes
.
then that language probably is a good candidate for rapid prototyping.;
'
j Turning now to the use Of rapid prototyping in conjunction with the object-
i Orientod Paradigm
.
three very different Object-oriented projects canied Out by lBM 1
;
'
.
1 j showed significant improvements compared to projects using the structured paradigm
r ,
j' j gcapper, Colgate, Hunter. andlames, 19941. Oneof therecommendations thatresulted
I i !' ( from these projects is that it is important to build a rapid prototype as early as possible
.
I
; : in the object-oriented Iife cycle.l i i Rapid prototyping also is particularlyet-fective when developingthe userinterface
'
j 1 !i t
o a product. This use is discussed in the next section.1 : ;
I i rI '
; Il 11

'
1 ; .
'
j 1 r
! 1 1*.4 HUM AN FAtToRsi
i
I lt is important that both the client and the future users of the product interact with
the rapid prototype of the user interface. Encouraging users to experiment with theI
human-computer interface (HCl) greatly reduces the risk thatthe finished productwill
; have to be altered. ln particular, this experimentation helps achieve user-friendliness
,1 a vital objective for all software products
.
l
! The term user-friendlinen' refers to the ease with which human beings can com-
! municate with the software product. lf users have difliculty learning how to use a
i roduct or tind the screens confusing or in-itating
,
then they will either not use thepi
duct or use it incorrectly. To try to eliminate this problem , menu-driven productsprol
i were introduced. lnstead of having to enter a command such as Perform computo-
:
!! ë tion or Print service rate report. the user merely has to select from a set of possible
? responses
,
such as1 i
.'
t .
I 1 ) ! perform computation
I
y

2. Print service rate report1
1 3. Select view to be grophed
:
! 'j 2, ln this example, the user enters 1 , 2, or 3 to invoke the corresponding command.
Nowadays, instead of simply displaying lines of text, HCIs employ graphics
.
'
W indow s, icons, and pull-down menus are components of a graphical user interface
2
J
I I ,
.
i $
.
Please purchase Image To PDF Converter on to remove this message, thank you.
4*.* HUMAN FM TORS A*V
pe (GUI). Because of the plethora of windowing systems, standards such as X W indow
3e ' have evolved. Also, ûlpoint and click'' selection is becoming the norm. The user moves
m a mouse (that is, a handheld pointing device) to move the screen cursor to the desired l
é' int'') and pushes a mouse button (diclick'') to select that response. iP- response ( po
s) ' However, even when the target product employs modern technology, the design- q
L
:
p- ers m ust never forget that the product is to be used by human beings. In other words, y
al the HCl designers must consider humanfactors such as size of letters, capitalization, : ,
in color, line length, and the number of lines on the screen. !
! '
:l- Another example of hum an factors applies to the preceding menu. If the user ' !
z? chooses option 3. Selectview to be graphed, then anothermenu appears with another l ji
is list of choices. Unless a m enu-driven system is thoughtfully designed, there is the 1

danger that the users will encounter a lengthy sequence of m enus to achieve even a
, j
2t- relatively simple operation. This delay can anger users, sometimes causing them to
M) make inappropriate menu selections. Also, the HCl must allow the user to change a ë
.
;m
previous selection without having to return to the top-level menu and start again. This
td problem can exist even when a GUI is used because many graphical user interfaces r j
le essentially are a series of menus displayed in an attractive screen format. ' : 2T
t
Som etimes, a single user interface cannot cater to al1 users. For exam ple, if a ,
:
'
i
ze product is to be used by both computer professionals and high-school dropouts with 1 t
no previous computer experience, then it is preferable that two different sets of HCIs i i
! lb
e designed, each carefully tailored to the skill Ievel and psychological prohle of its 1 i
t
'
i -intended users
.
This technique can be extended by incorporating sets of user interfaces !
requiring varied levels of sophistication. If the product deduces that the user would be ; j:(
'
I
-
. more comfortable with a less-sophisticated user interface, perhaps because the user : 1
.
E lis making frequent mistakes or is continually invoking help facilities

,
then the user ,
;
! (automatically is shown screens more appropriate to his or hercurrent skill level. But, as
th the user becomes more familiar with the product
,
streamlined screens that provide less i
le information are displayed, leading to speedier completion. This automated approach ! C
ill reduces userfrustration and leads to increased productivity (Schach and Wood, 19861. : .
'
S, M any benefits can accrue when human factors are taken into account during the : j
design of an HCI. including reduced Iearning time and Iowererrorrates. Although help ' i
'
'''-' ja
-
facilities always mustbe provided, they are utilized less with acarefully designed HCI. j t
'
. ,. ., . , ; 1a Thi
s, tOO, increases productivity. Unllorm ity ol Htil appearance across a product or l 2 'j
le group of products can result in users intuitively knowing how to use a screen they have l I
I '
ts never seen before because it is similar to other screens with which they are familiar. ' 1
,
i I7
-
Designers of Macintosh software have taken this principle into account', this is one I j
le f the many reasons that software for the M acintosh generally is so user-friendly
.
:
.

lo
.
I E I
' It has been suggested that simple common sense is alI that is needed to design ; ,1 i la user-friendly HCI. Whether or not this charge is true. it is essential that a rapid
'
prototype Of the HCI of every product be constructed. Intended users of the product l I
' iment with the rapid prototype of the HCl and inform the designers whether ! 1
.
can exper i
the target product indeed will be user-friendly. that is, whether the designers have i
taken the necessary human factors into account. '
s. ln the next two sections, superhcially attractive but dangerous variants of the i : j
le rapid prototyping model are discussed. C i
'
r
'
:
'
j1
j 1
l l
1 !
: q l
Please purchase Image To PDF Converter on to remove this message, thank you.
l .l '
'
I jl 1 .
.
) ' i 2@8 t H A p T : R ;@ * Requirem en's Phose
1 '

!
' 1*.5 pIp PR/T/TTPIN/ As A SPEtIFICATI@N ;
TKtHNIQUE
! The conventional form of the rapid prototyping model, as described in Section 3.3 and
l i depicted in Figure 3
.
3, is reproduced here as Figure 10. l . (Again. the implementation1
and integration steps generally are performed in parallel.) The rapid prototype is used
I ,
l
I
t r - - - - - - - a
l Rapid I changed <
- - - -
'
j rototype I req
uirements I II p
a I Lj k
- - - - - - - -
j'
verify r - I verify I Ii :l
, % a Ii ' l
j( I ( I
I j I
i i s ecification lj
E p - . - . . -
. - - - . m ji ' phase
,
I I I
! 1 verify I lI , ' I I

'
iij .1
*
'
'
y
'
!1 !1
j 1 '
l I I lI
-
I 11 E oesign
- - - - - - -
j j:
'
i
! l . phase I j j .i
.
l 1;
! 1 : I I ,
'
.
verify 1I
l l
i I I .
ë l
I l I I
1 I I I
! lmglementation - - o jjj
q phase

.
I I I 1
,
j j j j jTest
1 ' ' l II I
1 1I I
j
'
j .
.
; I II I
.
. : lntegration I II I
i phase I Il I
l I I
- . ) j $ j
'
j Test I I I I
'
: i .I I I I
'
'
!
! '.
.
1 : ' Maintenance
( : phaseE'
t ( .
J
'

'
;
h j .
1 * Development Retirement
:l - - -*' Maintenance
! .
FI@vr@ 1*.1 kapid prototyping model. k
E
J @
f
'
j
r 't
1
1 '
!
.
.
1' . '
. : '
Please purchase Image To PDF Converter on to remove this message, thank you.
: :
:
:
. '@.s RAplp PRoToa plNo As A 5p!c1FIEATIoN TEEHNIQUE 2@@
'
as a means to determine that the client's needs have been elicited accurately. O nce
the client has signed off on the specihcations, the rapid prototype implementation is
E ;discarded (but the lessons learned are retained and used in subsequent development
,

phases). A second approach is to dispense with specihcations as such and use the i
.
rapid prototype itself either as the specifications or a significant part of them . This
d t pe of rapid prototyping m odel is show n in Figure 10.2. The approach of-secon y .
j .fers both speed and accuracy
.
No time is wasted drawing up written specihcations, ;
i
and the difficulties associated with specifications, such as am biguities, om issions, :
and contradictions, cannot arise. lnstead, because the rapid prototype constitutes the E l
specihcations, all that needs to be done is to state that the product will do what the
id rototype does and list any additional features the product must support, such jrap p j
as file updating, security, and error handling. 1
g '
i - - - a ëT
d ;- !Rapid I Change
- -
irements l I i .prototype I requ
-
1 I i (ç
- - - - - - -
;

1 Verify l l : 1Verify
r - L
- - - - - - - - -
1 I q l lI
j - 1I :
II i I
I . i T

'
Design j
- - - - - - - m j g gphase 1
I I 5 i 1
I l (
'
Verify i j
,
I I !!
I I ' l
I I : l! . (
.
I lI
mplementation l
- - -a I I 1
phase TI I I
j .I I I
Test j rI 1
: '
I I l ! ! i
I ! ! ;I I - i
l I I I i
Integration I I ' lI I l
phase 1 !I I
j ' :I
I I I j kTest
1 I l l l
I I l j!1
, lM
aintenance '. II

phase ! jI
.
i
:
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''d
.
y 1t
l -
netirement : 1
)
'
.
''- - -
+ ' Development E
- - -
+. Maintenance l j!
'
.
.
! t
à
'
'
, ; Flgure I@.Q qapid prototyping with the rapid protofype !
'
t serving as specifications. ; j '
7 I 1
: lE
.
.

!
: ';
.
t
.
2l
i
I
i
Please purchase Image To PDF Converter on to remove this message, thank you.
)( j
.
j !l i
'
j :a@@ t H A p ' E R 1* * Requiremen's Phose
! .
k
This version of the rapid prototyping model can have a major drawback. lf there
is a disagreement as to whether the developers have satisfactorily discharged their
obligations, it is unlikely that a rapid prototype will stand as a legal statement of a
j contract between developer and client. For this reason, the rapid prototype should
I never be used as the sole specihcation
,
not even if the software is developed inter- '
: nally (that is, when the client and developers are members of the same organization).
L Although it is unlikely that the head of the investment m anagement division of a
f bank will take the data processing division to court
,
disagreements between clientI ;
l and developers nevertheless can arisejust as easily within an organization. Therefore, . '

'
f to protect themselves, sottware developers should not use the rapid prototype as the ,'
l specihcations even when software is developed internally
.1
.
, A second reason why the rapid prototype should not take the plaee of written
.
I
specifications is potential problems with maintenance. As described in Chapter 16,
.
t
J maintenance is challenging, even when a11 the documentation is available and up to
: 1 date
.
If there are no specilications, maintenance rapidly can become a nightmare. Thet 1 i
)
) 1 '! ' problem is particularly acute in the case of enhancement, where changes in require-l
: .
: i I ments have to be implemented. lt can be exceedingly difhcult to change the design
'
l ) documents to reflect the new specifications because, in the absence of written speci-
: ê l i the maintenance team have no clear statement of the current specilications
.
,
ficat ons,l l
' 1 ' For both these reasons
,
the rapid prototype should be used simply as a require- .
j l l s
.

.
j ments analysis technique, that is, a means of ensuring that the client s real needs
.
1
1 ) ; have been elicited correctly. Thereafter, written specihcation documents should be! ! ;
j ' i produced using the rapid prototype as a basis. ;4 .
$'
j
i
2
k 1*.* RKUSIN/ THK pIp PRW @TYPK
l
!
k ln b0th versions of the rapid prototyping model discussed previously, thc rapid pro-
. is discarded early in the software proeess. A n alternate, but generally unwise,: totype
I '''' '''
.( way of proceeding is to develop and rehnc the rapid prototype until it becomes the
1 product. This is shown in Figure 10.3. ln theory, this approach should lead to fast soft- .)
I ware development'
,
after all, instead of throwing away the code constituting the rapid
; j prototype, along with the knowledge built into it, the rapid prototype is converted into
l y the tinal product. However, in practice the proeess is very similar to the build-and-tix
? h of Figure 3
. 1 . As with the build-and-fix model, the tirst problem with this k! ! i approac
1 : i form of the rapid prototyping model is that
, in the course of rehning the rapid pro-!
; y totype, changes have to be made to a working product
.
This is an expensive way to

l i d as shown in Figure l
.
5. A second problem is that a primary objective whenj procee ,!
'
. j constructing a rapid prototype is speed of building. A rapid prototype (correctly) is
I put together hurriedly
,
rather than carefully specitied, designed, and implemented. 'i I
In the absence of specihcation and design documents, the resulting code is difficult C
.
'
and expensive to maintain. lt might seem wasteful to construct a rapid prototype then i
throw it away and design the product from scratch, but it is far cheaper in both the
l
.
1
1 .
; I
' j .
.
! k
Please purchase Image To PDF Converter on to remove this message, thank you.
.
ù E
l i :
-
i i
@ !1
!
.*.* REUSING THE RAplp PROTOTYPE 3@% I

!
i 2 .
iere T 1 7
Rapid I Changed I ' 'h
eir -*. - - = !
prototype I requirements I l .
f a
-
1 IO j
- - - - - - - - 1 !
nuld verify 1- - - 1 Verify i j
t- - - - - - - - -1 E (lter
-
I I ( .
I
on). I j j
1 lof a n
efine - - l j '
Lient prototype I
? l .ore
,
IT
est l
; the I I .
l .1 1
I
itten '
1 .Maintenance - - - - - -
.
'

16 hase : '
.
, p
Lp to j!
The . +' Development :
- - '+ Maintenance Retirement
Jire- j j
i n . l ls g
r j .Flgure 1@
.a Unwise version of rapid prototypins model.
leci- 1 I
i I
ons. I lI
ire- i I
.1 !
ds . ize
i !
d be short term and the Iong term to do this ratherthan try to convert a rapid prototype into $ i
I
- k l 9751. iproduction
-
quality sottware (Broo s, i
. .
'
i :
Another reason for discarding the rapid prototype is the issue ot pertormance, 1,
particularly of real-time systems. To ensure that time constraints are met, it is nec- !
,
g
essary to design the product carefully. ln contrast, a rapid prototype is constructed (

to display key functionality to the client', performance issues are not handled. As a ! :
: iresult
,
if an attempt is m ade to refine a rapid prototype into a delivered product. it is '
unlikely that response times and other timing constraints w ill be met. :
PrO- One way of ensuring that the rapid prototype is thrown away and the product !
! iVise
,
is properly designed and implemented is to build the rapid prototype in a different j5 the l
anguage from that of the product. For exam ple, the client may specify that the product i
soft- must be written in Java
.
It the rapid prototype is implemented in HTML, tor example, j
apid it will have to be discarded
.
First. the rapid prototype is implemented in HTML and ik I
j
into . refined until the client is satisfied that it does everything
,
or alm ost everything, the I
EI-EX target product is to do
.
Next, the product is designed, relying on the knowledge and 1 :
l E! !thi
s skills acquired in constructing the rapid prototype. Finally, the design is implemented j . '
;
pro- in Java, and the tested product handed over to the client in the usual way. I i
ty to Nevertheless, there is one instance when it is permissible to reline a rapid proto- i ji
-
the rapid l lzhen type or. more specihcally, portions of the rapid prototype. When portions ot

:
ly) is prototype are computer generated
,
then those portions m ay be used in the final prod- .
lted. uct
.
For example, user intert-aces often are a key aspect of a rapid prototype (Section
icult 10
.
3). When CASE tools such as screen generators and report generators (Section :
then 5
.
4) are utilized to generate the user interfaces, those portions of the rapid prototype . j
1 the indeed may be used as part of production-quality software
.
i è
1
E
'
'
.
: : I
i l
I t ll
.
Please purchase Image To PDF Converter on to remove this message, thank you.
.
k
'
j 'i

C
'
h l
1
l:
j a@2 < H A p T : R 1* @ Requiremengs PhoseL
1
The desire not to ''waste'' the rapid prototype has resulted in a m odihed version
'
of the rapid prototyping model being adopted by some organizations
. Here, m anage-
I ment decides before the rapid prototype is built that portions may be utilized in the
'
l i final product
,
provided those portions pass the same quality assurance tests as other' 1 l ftware components
. Therefore. after the rapid prototype is complete. those sectionsso
l that the developers wish to continue to use must pass design and code inspections
.:2
, This approach goes beyond rapid prototyping. For example
, components of suffi-
i iently high quality to pass design and code inspections usually are
not found in a !! c
,
' :
, l rapid prototype. Furthermore
, design documents are not part of classic rapid proto-
. i
.
I typing. Nevertheless. this hybrid approach is attractive to som e organizations hoping

l to recover some of the time and money invested in the rapid prototype
.
However, tot I
,
! ensure that the quality of the code is sufficiently high, the rapid prototype has to be
'
I
'
j built somewhat more slowly than is customary for a û'rapid'' prototype
.i
q
2 The management implications of the rapid prototyping model now are considered.
:: i
l I r$
1 I
: t . l :
'
:
)
'
jl 1
-
.
.
I ! 1@.y M ANAOKM ZNT I- pkltv loxs o: TuK pIp
; t l pRoToa plxo M opzk
,
'
j : g
,,

11 1: ( ':
' ! One difhculty with rapid prototyping is that the ease w ith which changes generally
k. l
I j can be made to a rapid prototype may encourage the client to request all sorts of majorr
'
! . g r
:
I l
j . changes to the delivered operational-quality version of the product. Furthermore, the
j client may expect the changes to be implemented as rapidly as changes to the rapid
I prototype. A related challenge is having to explain to the client that the rapid prototype
is not of operational quality and the client will have to wait tbr the operational-quality
2 version, even though the rapid prototype appears to do everything needed
. Before
l rapid prototyping is used
, it is essential that the managers responsible for developing1
the product discuss these and related issues with the client
.
'
I
! A s with the introduction ofany new technology
,
betbre an organization introduces
. ë
I the rapid prototyping model it is vital that management be aware of the advantages
.
! and disadvantages of rapid prototyping. ln a1I tairness
,
although the case for rapid
!:

j prototyping is strong, it has not yet been proven beyond al1 doubt
. For example, a
'
i frequently quoted experim ent is that of Boehm
, Gray, and Seewaldt, who compared' j
.
p 'j ! seven different versions of a product gBoehm, Gray, and Seewaldt, 19841. Four ver-
: ! ions were specihed and three were pr
ototyped w ith the rapid prototype serving as thel : s1 :
I ! specifications. The results were that rapid prototyping and specifying yielded products
1 ' ' with roughly equivalent performance, but the prototyped versions contained about 40i
. percent less code and required about 45 percent Iess effort. The reason was that the;
i
: specification teams had no compunctions about adding bells and whistles to the spec-'
( !itication document
. On the other hand, the rapid prototypers realized that they would
have to build every feature into the rapid prototype and
,
therefore, were reluctant to
incorporate any functionality that did not seem essential
. W ith, on average, 40 percent
l Iess code, it is not surprising that the prototyped versions were rated somewhat lower
'
I
!
) 'l
t '
,
j '
Please purchase Image To PDF Converter on to remove this message, thank you.

. l l j
'
j
h .
1@.y M ANAGEMENT IMPLICATIONS OF THE RAPID PROTOW PING MODEL 3@3 ê
r
:
:
on functionality and robustness. But, interestingly enough, they were rated higher on
t
,
ease of use and ease of learning. Finally, specifying produced more coherent designs ;
: ' ' and software that was easier to integrate.
'
One important point about this experiment was that it was conducted on seven t
. '
teams of graduate students, three two-member teams and four three-member teams.
The project was only 10 weeks in duration, and no maintenance of the product was )

performed. ln other words, the experiment is not typical of real products with respect i
to number of participants, team size, project size, or software process. It therefore i
r
1
.
perhaps is unwise to accept Boehm's results as a blanket endorsement for rapid pro- 1
totyping. lnstead, they should be taken as indications of the comparative strengths (
and weaknesses of rapid prototyping when compared to specifying. ln addition to the ( !
his collaborators found that proto- i l .
,
weaknesses pointed out previously, Boehm and

typed products are harder to integrate than specihed products. Ease of integration is
.
'
important for large-scale products. especially C4I (command. control, communica- '!
tions, computers, and intelligence) software. This is a further reason to use the rapid
prototyping model depicted in Figure 1 0. 1, where rapid prototyping is em ployed as j
a requirements analysis technique, and not use the model of Figure l 0.2 where rapid l ë
'
l
prototyping takes the place of specifying. ') j
T ts of rapid prototyping must be taken into account by any manager. i lwo aspec
!
Section 10.5 pointed out that it is shortsighted to turn a rapid prototype into the l
. I
final product', the rapid prototype should be used solely as a means of accurately (!
!d
etermining the client's requirements. A second important issue is that, under some , j
f circumstances, rapid prototyping can take the place of the specifications phase', it $ $
! 1
r can never replace the design phase. A team certainly can use the information and j
experience gained from the rapid prototype as a guide to t-ashioning a good design', ' l
1 ' however
, because the rapid prototype is thrown together rapidly. it is unlikely that a 2 i I
: h
D good rapid prototype will have a good design. ; ,
( A more fundamental issue is that managing the rapid prototyping model requires l 1
z a major change in outlook for a manager accustomed to managing only the waterfall !
é model. The concept underlying the waterfall m odel is to do things correctly the lirst l
del incorporates a number of feedback loops if the ; iti
me. Certainly, the waterfall mo ;

s team does not aecomplish this goal (and the goal is seldom, if ever, reached). However, r )
' !
s the ideal for the waterfall model team is to perform each phase of the development i
El process one time only. In contrast, a rapid prototype is built specihcally to be changed ' i qi
) 'i
R frequently then thrown away. This concept is diametrically opposed to the approach to
.
!
:1 which the average manager is accustomed. The rapid prototyping approach of taking ':
-
several iterations to get it right probably is a more realistic approach than the first- , j
z time-right waterfall model expectation, and this logic may help convince a manager j !
s to change to the rapid prototyping model. ë !
) Another aspect of the rapid prototyping model that requires a different approach ( 1l
z on the part of the m anager is the increased interaction between the client and the 2 i
.
I ' I
-
developerss particularly the rapid prototyping team . ln the watertall model, interaction l
El between client and developers essentially is restricted to a series of interviews between 1 )
irements team and the client and its employees. When rapid prototyping is ) i j3 the requ
t ' used. there is almost continual interaction between the rapid prototyping team and :
r the client's team until the rapid prototype has been aceepted. , l
; q
: 1
ë -1
: i
'
: !
g '

i
' 1
Please purchase Image To PDF Converter on to remove this message, thank you.
i .
.
i
!
l
' i ao* t u A p v : p lo . Requirements phose r
h
1 .
'
; j 1*.* Kxp:RI:Nt:s wITH Plp PR@T@TYPIN/
i I
' ' Gordon and Bieman analyzed 39 published and unpublished case studies that use rapid
, prototyping (Gordon and Bieman, 19951. Of these, 33 were considered successes, 3
'
1 ere considered failures
,
and 3 were not rated. Gordon and Bieman have pointed out .WI 1
' ' that studies of unsuccessful cases rarely are published. Consequently, theydo notclaim;
.
'
I that their analysis reiects a high success rate as a consequence of rapid prototyping.
j : 'Their work rather is a report on a number of commercial software projects in which1
'
.
l rapid prototyping was used with some success.
I Not all the case studies, as published, reqected every issue of interest. For exam-
' 1 i l 17 of the case studies

. Improved ease' ple, comments on ease of use appeared n on yî
'
!
l of use of the delivered product as a consequence of rapid prototyping was reported in
a11 l 7 instances', none of the other 22 case studies claimed that the product w as harder
;
'
I '
l to use. Therefore, although the data are incomplete and specilic topics may not be
) explicitly mentioned, it is possible to draw some conclusions.
t ' All the case studies that commented on user participation reported enthusiastic'
'
) participation early in the process. Also, rapid prototyping was found to meet clientE d Th
ere was less unanimity in other issues. For example, four sources reported, nCC S.l 1. that rapid prototyping resulted in smaller delivered products, and one reported in-
.
1 j creased code size. Many case studies mentioned that fewer unnecessary features were
'
i l l implemented with rapid prototyping
,
but tw o reported an inerease in such features.
l I , choice of Ianguage for rapid prototyping does not appearto be of critical impor-
.
! . I! t
ance. A total of 26 different languages were used in the 39 case studies. The most
-
p
.
1 popular Ianguages were Lisp (four instances) and Smalltalk (three instances)
.
.' 1 . ,

: i The most controversial part of the results relates to whether the rapid prototype
,
'
t ! should be disearded. lt is diftieult to reac.h definite conclusions on this issue because
! ,
I of the wide variety of software processes used. ln som e cases, the rapid prototype
'
j as a whole was successively refined until it became the final product. In others, only l
'
'
i id rototype was retained and the rest discarded. In one instance, apart of the rap p1
:
! design phase was required for each iteration of the rapid prototype. For some of the
2
i case studies, management speeified in advanee that the rapid prototype would be
' j retained and refined
. Of the cases studied, 22 specihcally recom mended retaining
.
I
k
l and refining all or part of the rapid prototype, and 8 insisted that it be discarded.
'
' It has been suggested that retaining the rapid prototype is particularly important for
l
.
'
4 Iarge products. Of the 39 case studies, 7 were considered large (over 100,000 lines of
' t code), and all 7 recommended retaining all or part of the rapid prototype. ln view of@ i
k : ' the generally held belief that rapid prototypes for all products should be discarded,
! 1 '

.
further research needs to be conducted in this area. In particular, it is important to know
: whether the modified rapid prototyping model described at the end of Section 10.51
@ ' was followed. That is, did management decide before the rapid prototypes were built
' i ; that portions might be utilized in the hnal product and the parts that the developers
j :
h wished to retain first had to pass design and code inspections.
1 Some tentative conclusions can be draw n from this work. The first is that rapid
'
prototyping is a viable technique that can lead to successful softw are development. At '
the same time, there are a num ber of possible risks. If the rapid prototype is retained,
.
2 there is a danger that the resulting product will be badly designed
,
hard to m aintain,
.
h .
. ; '
'
i ( '
!
'
j
: j '
Please purchase Image To PDF Converter on to remove this message, thank you.
.
!
t
g. 2
'

j
4 44 TEsTlNo DuRINo THE REQUIREMENTS PHASE a@5
' j: .
and perform poorly', these risks appear to grow in proportion to the size ofthe product. E
However, the risks can be reduced. One way is to use the modihed version of rapid p
prototyping described in Section 10.5. j ;id
:There is a difference between reporting on case studies and conducting controlled ;
3 !
'
exoeriments. But bearine in mind that controlled exoerimentation in software enei- i
Llt r = ' '-' y
neering can be extremely difhcult, one alternative is to learn from the experiences of
m I ' jothers
.
Ig
.
I i
h ; Il
.
1
.
,
j
n- i
' j'e 1* @ Tztuxlques FoR R:quIR:M :NTs i
irl <' 2
ELIZITATI@N ANp A NAW SIS 7er
7e
'
The primary requirements elicitation technique is interviewing (Section 10. 1 . 1). To. 1

ic illustrate this, suppose that the requirements analysis team decides at the start of the ! i
nt project to build a rapid prototype. Before the first iteration of the rapid prototype can : l
'
be built, however. the team must interview the relevant client personnel. The more q l
jzd
n- thoroughly these interviews are conducted, the greater is the probability that the hrst ) 1
' h ther hand, simply throwing ( lre iteration accurately will reflect the client s needs. On t e o j
together a rapid prototype and then going through a Iengthy retinement process will 1
,
I
a.
' j
not be time or cost effective, precisely because rapid prototyping is a requirem ents ' ':)r-
'
1 sis technique and not a requirements elicitation technique. i 1)st 2na y
.
ll
nterviewing also is required if the forms technique is used (Section 1 0. l .3). , j
'
l f forms. reports, andjob descriptions can be extremely useful. How- l 'Careful perusa oPe : i
se ever, the only way to be sure of the accuracy of the inform ation gleaned from this
!
e ' study is to interview the relevant members of the client organization. Consequently, jP
ly as claimed at the beginning of this section, interview ing indeed is the primary require-!
'
.
ts elicitation technique. On the other hand, as pointed out in Section 1 0.2, rapid ia men
he prototyping is the most accurate requirements analysis technique. Rapid prototyping l !
l lb
e results in the construction of a working model of the product and is m ore likely to !

9 l
ng meet the client s real needs than other techniques. Unless rapid prototyping is utilized, i j
i
:d. ' there is a significant risk that the requirements analysis phase will not be adequately ! 1
' il1 not be completely met by the target product. ib
r Performed and that the client s needs w
of E )! Eof
: l
. I
: .l
j
:d, . ;
p
'
'
)%!? p
1*.1* TESTIN/ PURIN/ THK REQUIREM ENTS ' i)
. 15
r Ililt puas: ; j
.
i,rs
r ;
Although the aim of the requirements phase is to establish the client's real needs, l Ip
'
j)id usually the client will not be the primary user of the target product
.
It therefore is !
i ' j ,At essential to give the users the opportunity to experiment with the rapid prototype i l
,! ; l
,d, ! and suggest changes that, when approved by the client, will be implemented in the r j

in, ' delivered version of the software product. l
l
l
: l'
E j
.
i j
Please purchase Image To PDF Converter on to remove this message, thank you.
(
'
I '
.
:
1
!
.I a@ê t H A p # E k .@ * Requiremenls Phosei
.
Therefore. the role of the software quality assurance group during the rapid
: prototyping phase is to ensure that the relevant individuals in the client organization
have the opportunity to interact with the rapid prototype and their suggestions actually
. reach the client ors perhaps, a com mittee of client managers responsible for analyzing
'
j
the suggestions of the users.
.
lI
'
t As mentioned in Section 10.2, from the viewpoint of testing during the phases '
2 ( that are to com e
.

it is essential that the requirements be traceable. To achieve this, the !
I
! statements of the requirements need to be numbered to enable the SQA to trace them
) i through the subsequent phases. The numbering should appear in the rapid prototype
t : in the form of comments adjacent to the group of statements that implements each
1 item in the requirem ents
.
1
.
I
1
' j
.
'
t' I r
i I j -'t j 4*
.11 tA :K Toots FoR TH: RzqulR:- uxvs
' '
. (
,
j puas:1
'
Interpreted languages generally serve as good media for rapid prototyping
.
Because .
) g interpreted languages need not be compiled or linked, the development of the rapid
; : 1 prototype is faster. Also, minor changes requested by the client often can be imple-
'
) t mented while the rapid prototype is being demonstrated. Interpreted languages, in1
.

1
-
'
! general, are less efficient to execute than compiled languages
,
and difficulties witht 2 t ; maintenance have been associated with some intemreted languages. However, neither
t
j of these issues is relevant within the context of rapid prototyping. The key point is1
'
that a rapid prototype is put together quickly then discarded, and m ost interpreted
S
I languages are ideal for this purpose
.
.
i
.
j Further efliciency can be gained by using CASE tools associated with the rapid
j prototyping language. For example, Smalltalk has an environment that assists the
I user with a variety of tools and speeds up the rapid prototyping process
. The lnterlisp
r environment is a similar product that assists Lisp programmers
. Java is afully portable' i
,
p interpreted language. Many Java environments currently are on the market, and more
! are expected in the future. As previously m entioned. Perl is a popular programming
I
j language for constructing rapid prototypes. HTML is another important. widely used
, t rapid prototyping language. If the rapid prototype will be discarded (as described in
1 Section l 0.7). then HTML has a further advantage. lt is almost inconceivable that the '
; 'F delivered product will be written i

n HTM L, so use of HTM L virtually guarantees that!
!
:
j the rapid prototype will be discarded.
.
! For some years now, fourth-generation languages sueh as Oracle, PowerBuilder,
j : 'ù and DB2 have been used for rapid prototyping (4GLs are discussed in Section 14
.
2).
, ' There are a number of reasons for this
. First, a design goal of every 4GL is that fewer '!
.
; statements are needed to achieve the sam e functionality than with a third-generation
i language Iike Java
,
Ada, or C++. Thus, the rapid prototype is likely to be delivered
l idly when a4G L is used
. second, many 4GLs are interpreted. This speeds up, / more rap
1.
'
j rapid prototyping. as explained at the beginning of this section. Third, many 4GLs areF
@ supported by powerful CASE tools, thus speeding up the rapid prototyping process
eYen more.;
; '
.
I
Please purchase Image To PDF Converter on to remove this message, thank you.
. : .
.
:

1*.12 METRICS FoR THE REQUIREMENTS PHASE a@y
- I
.
.
).
id ' i 'tP On the other hand
,
the use ot a 4GL for rapid prototyping can have an inherent y
'
.
;
.
Lion disadvantage
. The CASE environment in which a 4GL is embedded trequently is '
ally part of a larger set of tools to be used for the com plete software process
. The soft-
ing
r ware process usually recommended by a 4GL supplier is to build the rapid prototype 'j 1
,
:
then to refine it successively until it becomes the hnal product. After all, the supplier jtses f
requently does not care if the software process degenerates into the build-and-fix lthe ê model
.
Unfortunately, the sole aim of m any 4GL suppliers is to ensure that develop- i
'
.
; l
1em ment organizations purchase its product. a single CASE environment that can handle : j' :
yPC : al1 aspects of a project. ' ji
'

tware development manager has just paid tens if not hundreds ijach suppose that a sot
' of thousands of dollars for a CASE environm ent that will support every phase of the : 1
:. . ) ! !
software process. It certainly is not easy to convince that manager to spend still more i i
. ,
. .
. s
money on a workbench tor a ditterent language to be used tor rapid prototyping to
ensure that rapid prototypes can be discarded. The manager may well retort that he or !
1
she has purchased a perfectly good rapid prototyping tool as part of the new environ-
'
ment and now is being asked to throw away m oney buying an unnecessary additional
rapid prototyping tool so that rapid prototypes can be thrown away. The m anager must , 1
1
be shown that the cost of an additional tool or workbench for rapid prototyping is l j1
,use : small compared to the potentially huge expense of trying to convert a rapid prototype ' i
1 :kpid
.
into production-quality software then attempting to m aintain that product. j 1
?le- ! l
! iirl
& g
k'ith i il
!
rher (
'
jLt is ! !@
.
!Q KTRlts Fo R THz RzqulRzM zxTs PHAS: I 1

1
g
1
rtk, (1 ' I
z
'
j
A key feature of the requirements phase is how rapidly the requirem ents team de- 4
zpid ' termines the client's real needs
.
So a useful metric during this phase is a measure of !
'
. jth
e requirements volatility. Keeping a record of how frequently the requirements change ; I
lisp during the requirements phase gives management a way of determining the rate at l r
J
'
jtble
.
which the requirem ents team converges on the actual requirements of the product. This l i
I ë
Lore . metric has the further advantage that it can be applied to any requirements elicitation : 'i
Cing technique
,
such as interviewing or scenarios. : )
Sed Another measure of how well the requirements team is doing itsjob is the number 1
El in of requirements that change during the rest of the software developm ent process
.
lf ' : 1
1th

e a large number of requirements have to be changed during the specification, design, '; I
S' 1Ehat and subsequent phases
,
then it is clear that the way that the team carries out the ' .i .
) requirements phase should be thoroughly analyzed. Again, this metric is applicable ! ii
-
ler, ' to all the requirements elicitation techniques described in this chapter
.
I j
- l tric when rapid prototyping is used is the number oftimes each feature : t.2). i A usetu me
Ner f the rapid prototype is tried when the client and users experiment with the rapid iO
1lion
prototype. For example, if every user selects Screen J from the m enu at least once but
'
j
'red no one ever chooses Screen B
,
then the development team should ask the client about i
; UP those two screens. Specitically, the developers need to know whether Screen J is so ; i
are important that the design should minimize execution time for that screen and whether
ICSS Screen B even needs to be included in the product. If so, then at least one user should 1
E I
experiment with Screen B', it is vital that alI screens should meet the users' needs. !
. 1
t
'
.
1
1 :
Please purchase Image To PDF Converter on to remove this message, thank you.

'
l 'r
i ' .
i
t aoa < u A p T . p .@ @ Requirem en#s Phose
t
.
! .
'
.
lo.Ia @ ezztT-@ RIzNTzp R eq ulpz- exTs*.
1 N
othing in this chapter appertains to the object-oriented paradigm. It certainly is
t p reasonable to ask why this is so. After all, the title of this book is Object-orientedand
' ) Classical Software Engineering, and lack of material on object-oriented requirements
1 i appears to be a serious omission. .
' ; kq 1, ' )) The answer is that there is no such thing as obiect-oriented requirements
,
nor
1 should there be such a thing
.
The aim of the requirements phase is to determine
;g l
$ the elient's needs', that is, what should be the funetionality of the target system.
' I The requirements phase has nothing to do with how the system is to be built. It is
1 meaningless to refer to the classical paradigm or the object-oriented paradigm withinh l
; ; the context of the requirements phase, just as it is meaningless to refer to a classical
'
1 i ted user manual
.

The user manual describes the steps to be followedr or object-or en! $
r by the user when running the software product and has nothing to do with how the
i product has been built
. In the same way, the requirements phase results in a statement
) ' ! ,
. ,
l of what the product is to do', the way that the product will be built does not enterj ' l.
,
.
into it.
.
' .
Having stated categorically that there is no such thing as object-oriented require-1
ts it nevertheless should be mentioned that there is one way that the object-ë men .
h ! oriented oaradiem indeed can enter into the reuuirements ohase. Suonose that. as
2 q 1 * %.''' .k ;: .' ik ' l has been strongly recommended in this chapter
,
the requirements phase for a specificl ' 1 includes building a rapid prototype
.
As a consequence of writing the code.
,
i project
'
for the rapid prototype, the development team will acquire insights into the problem
: l
1 domain, including ideas as to what might constitute a class within the target software.
i That is
,
even if the rapid prototype has been written in a classical language like C or
Lisp, the team will become aware of the fundamental building blocks of the prod-

l uct to be constructed. Then, in the next phase, object-oriented analysis (OOA), this
l information can be of assistance in the tirst step of OOA
,
extracting the classes (seel
'
l Section 12.2). Other than this, the object-oriented paradigm does not play a role in1
he requirements phase. .t$
.
r . ;
j '
j .
i
l :
l
I 1*.14 A IR * @URM ET QAS: $TupYtl
.
i 1 Rzqulu M zwTs puAs:9 ! .
l è
'
l :! '
.
l ' ;' Many airline passengers have dietary requirements, and the majority of airlines en-
! ! deavor to provide food that meets their needs
. For example, given sufûcient notice,.
2
h
I j ; most airlines will serve vegetarian. vegan, seafood, Kosher. or Halaal meals, as well
'
i as diabetic. low-fat, low-cholesterol. low-protein, low-calorie, or low-sodium meals.
l A child's m eal alm ost always can be ordered

. Some airlines will supply lactose-freeI
.
'
; meals. Flight attendants are provided a Iist of the passengers who have requested
special meaI.% and their seat numbers', the special m eals then are served at the same
: r time as the regular meals.
! '
i
1
Please purchase Image To PDF Converter on to remove this message, thank you.
: '
.
. ; : j
'
1@.1* AIR GOURMET CASE STUDY: REQUIREMENTS PHME 3@@ 1
I
'
I
- '
Like almost all business decisions, a trade-off is involved in providing these spe- '; ji
al meals. The benefits include increased passenger volume and passenger goodwill; 7 lc
; I
after all, if an airline does not provide special meals it will Iose passengers to air-
S lines that provide them
. On the other hand, signilicant costs are involved in providing 1d
jspecial meals:
s ' :
.
1
1. The ingredients that go into special meals can cost more than those of regular I jI !

lr meals. I g 1
I . ie 2
.
Because relatively few special meals are served, there can be no savings via bulk i
1. purchases. 1
!s
r3. Few airlines prepare special meals in their ow n kitchens. lnstead, they contract
n
.
with outside caterers to provide special meals, which increases the cost further. g ë
tl ,
4. Each special meal has to be transported from a central kitchen to the airport 1d
5 here the relevant Qight originates; signihcant handling and paperwork costs are ! lw
e ,
.
involved in this process.lt
5 Frequently, a special meal is not consum ed by its intended recipient. For example, llr .
'
i !
q' if a passenger changes his or her Eight plans at the last minute or a connecting !
.
; 1
-
,- flight anives late, the meal will have been Ioaded on the original qight for which :l
L- it w as ordered. I k
i
LS 6. Even if a special meal has been ordered well in advance, due to human error it :
'
IC '
sometim es is not loaded aboard the correct aircraft. (

Le ' I
' Overall, however. most airlines have found that the benefits of providing special meals 1 'j
n E
,
far outweigh the costs. i $D
.
.
.
jA i
r Gourmet always prided itself on the high standard of the food it serves in ; qlr
iights, where its competitors currently provide at most q i 1
,
the air, even on those shorter1
-
,
.
just a small bag of tasteless peanuts. Up to now, Air Gourmet's proftability has been ' Eis ë
!
'
assured by a steady supply of air travelers willing to pay a slightly higher air fare to
re ,
'
s profit margins have l !enjoy gourmet food in the air. Lately, however, Air Gourmet
n .
been shrinking, and its executives are looking for ways to cut expenses. The high cost 1
,
'
of providing special m eals. combined with anecdotal evidence suggesting that only I ! E
.
a small fraction of special meals reach the passengers who ordered them, have made ! y ,

' special meals a tempting target for the Air G ourmet bean counters.
. )
'
E
Before taking any action, however, Air Gourmet management wants to obtain k

'
. .
j j
reliable data concerning the success or tailure ot the special meals program . Also. i y !
because the special meals are provided by outside caterers, som e Air Gourmet ex- : i l
( ë l
ecutives suspect that these meals may not meet the high standards of the regular Air ( .
' Gourmet food subject to quality control in the Air Gourmet kitchens. A passenger ''
:3
-
satisfaction survey therefore must be conducted to determine the perceived quality of 1
l '!e
, . special meals. Also, Air Gourmet executives need to know what percentage of special ;
11 meals are not loaded on the correct aircraft. ' i l
.
.
I l
S. ' As with most other airlines that serve special meals, 24 hours before each sched- ! t
-
the Air Gourmet reservation system is scanned for special j 1le uled qight the database ot
rd ' meal requests
.
Reports are generated so that the caterers can ensure that the special i
lle meals are transported to the relevant aircraft on time

.
Then, just after each takeoff, a
report for the qight attendants is printed onboard the aircraft. This report contains the ii
L
'
! l
I' j
j l
Please purchase Image To PDF Converter on to remove this message, thank you.
.
l
I 6 1
1
, 1 :
'
a%@ t H A p ' : R 1* * Requirem enfs Phose
i reservation identilier, name, and seat number of each passenger onboard that flight
!
who ordered a special meal and the type of that meal. (Passengers are required to)
. -
show some torm ot identification before boarding a flight. Thus, the flight computer!
:
has the information needed to print this report.)
I
i
.
. To obtain the information requested by management regarding special meals,1
1 certain modifications have to be made to the Air Gourmet software. First, each time a ,
'
j :' special meal is ordered

,
the following information must be recorded: the reservationl
ï l identitier; tlight number, date, and time; passenger name and address', and type Of i
l I special meal ordered. This information will be used by the new software to be written .
I E to analyze the special meals data. Second, the list of special meals printed onboard theI
: aircraft will include a column of squares. Flight attendants will shade in the square if)
i the relevant meal has been loaded onboard the aircraft
. After the iight, the list will! l
'
; be scanned. lf the square has been shaded and the passenger was onboard the aircraft,
' i d bearing the reservation identifier will be mailed to the passenger askinga oostcar
j him or her to rate the meal on a scale of l (unacceptable) through 5 (superlative).
l h d is returned
,
it too, w ill be scanned and the reservation identifier 'W hen t e postcar
,
,
1 '
! and response recorded for later reporting.1 ! 'rhere thus are three separate sequential stages for the special meals analysis
1
i : j software: the additional records generated 24 hours before departure, the scanned
. j ' lists, and the scanned postcards. The formats of the recorded data elements are asl
follows (optional fields are in bracketsl: ': . rl
.
1
I i '
.
Reservation identifier (6 uppercase letters)
.
i Flight number (3 digits, right justified and zero filled)

y Flight date (9 characters: z-digit day, 3-uppercase letter month, 4-digit year)
i seat number (3 digits
,
rightjustilied and zero filled, followed by an uppercase. (
i letter)
-
l
j Passenger name:
' '
j ''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''d
.
, First name (up to 15 characters)
'
gMiddle initial ( l characterllI
I Last name (up to l 5 characters)
i gsuffix (up to 5 charactersll
i P
assenger address:
.
l
j 1 ; First Iine of address (up to 25 characters)
i j '
I
I I (Second line of address (up to 25 charactersllI i
!
j ; J City (u# to 14 characters)
! ; 7
.
; (State, province, or region (up to 14 charactersll '

' ! : (Postal code (up to 10 letters, digits, hyphens, and blanksll '
; ' ç
'
I Country (up to 20 characters) :
1
ë j Special meal type (child, diabetic, Halaal, Kosher. lactose free, low calorie, low
i cholesterol, low fat, low protein, low sodium, sea food, vegan, vegetarian)
I
Was the passenger on board the flight? ( l character)
; '
7
: '
,
Please purchase Image To PDF Converter on to remove this message, thank you.
l
'
! k II
'
:
'
)
'
'
.
I1*
.:5 AIR GOURMET CM E STUDY: RAPID PROTOTYPE 3l1 r
I
l
tt was the special meal loaded? (1 character) I
o perceived meal quality (1 through 5) 1

'''
The new software must enter information from the database and allow the us
-
er
l
I; to select from the following four reports
. For each report, the start and end dates tor ,
'
be obtained from the user. la that report must
! In Il
.
For each special meal type and for the special meals program as a whole: 1
lf , !l
n Percentage of special meals loaded as specitied; p
.
l
Le Percentage of passengers onboard the tlight for which they ordered a : 2
I
if ecial meal '
.
:
(sp
11 ' P
ercentage of passengers onboard the flight for which they ordered a r
t !'
special meal but whose meal was not loaded. ! 1
g i I
)' The customer Relations Department requires the following reports:
lr
l

2. The name and address of every passenger whose special meal was not loaded t : '1
i
.is more than once within the time period of the report, and the dates of occurrence. '
td . 3 The name and address of every passenger who felt that the quality of his or her
:
'S : special meal was less than superlative (5 on the scale), the date of occurrence, t ;
'
: 2
and the m eal type.
.
:
The outside caterer who provides the low-sodium meals has her own quality control i j
program. To assist her, the following report is also required: !
l
! ; i4
. For each low-sodium meal served, the flight number and date, and perceived meal ;!
quality. '.
T .
Air Gourmet management is greatly concerned about the risks of modifying its j I
existing computer system to incorporate this additional functionality. Also, manage- !
ment is reluctant to purchase the various scanners until the new product is complete. l .
I
Accordingly, it would Iike a keyboard-driven, stand-alone product to be constnlcted .
that will enter reservations, check in passengers, scan lists of special meals printed 'I
l:
'
.
on board (this is to be simulated by keyboard inputl', scan postcards (also keyboard , :
input), and produce the various reports. As a further precaution against premature 'i i
changes to the existing computer system , Air Gourmet management decides to hire I j g

.
.
I
an outside software organization to build the stand-alone product. ; )
1I i
p i
:
I
.
1
j
. .:
1*.15 AIR G@URMET CASE STUPY: pIp ! j' )
PROT/TTPE '
, 1
w :Notwithstanding the care taken when interviewing Air Gourmet management and
2 lstaff to determine their requirements accurately
,
the only way to be sure the final I)
'
-
l
product indeed will meet the real needs of the client is to build a rapid prototype. ii
;
'
t I
k :
'
' j !
$ i

i
Please purchase Image To PDF Converter on to remove this message, thank you.
:
'
i
1
- -
l
1
a12 t H A p T E R 4* * Requlrem en's Phose
'
The only languages available on the computer to be used for the Air Gourmet
product are C, C++, and Java. lf the product is to be im plemented in C++, it is
, r appropriate to write the rapid prototype in Java, an interpreted language. However, the
'
j danger is that the implementation team will convert the Java rapid prototype into C++ ')
ê I d add additional functionality
,
notwithstanding the problems of the resulting build-, I an
and-fix model (Section 3. 1). On the other hand, if the product is to be implemented in?
'
: .Java
,
neither C or C++ is a particular good alternative. Of the two, C probably is thei
; : better choice
,
because then the rapid prototype will have to be com pletely rewritten
.
! i in Java; if c++ is used
,

again, the implementation team might convert the rapidEl
rototype (this time from C++ into Java) and modify it, instead of implementing thep P
!
1 production-quality version from scratch.
! The C and Java rapid prototypes are available at www
.
mhhe.com/engcs/1 1
.
;
.
compsci/schach. The code generally is straightforward. Nevertheless, three aspects E
i need to be discussed here
.
'
'
j
j A portion of the C rapid prototype is shown in Figure 10.4., the corresponding
'
l tion of the Java rapid prototype is show n in Figure 10
.
5. First, as shown in FigureI ) por
' l 0.4 or 10.5, up to l 0 passenger records are stored in an array. In the delivered .l ! duct
,
a data structure that allows for a variable num ber of passengers is needed.
.
: pro
! For example, a file or a dynamic data structure could be used. In the rapid prototype, :
) however, an array is used because it is easy and quick to implement, and the rapid 1
' ! 1 be tested with a small number of passenger records
.

Analogously, up i
.
I I prototype canl
! . to 20 night records are stored in another array; this also is reflected in Figures 10
.4 .
! . j
and l 0.5. .
'
i The second im portant aspect of the rapid prototype is that it is unfinished
.
For' 1 !
i example. only two of the six reports have been implemented, the report on low-
i sodium meals and the report on meals onboard the iight. This is because the other .
four reports are similar to the two that are implemented. These four reports are coded
'
as stubs, that is, dummy routines consisting of an interface but with no body; theyjust )
display a message when invoked. One instance of this is shown in Figures 10
.4 and ;
.
l
I , 10.5. Omitting the body of these routines speeds up development of a rapid prototype ;
'
I ithout signilicantly detracting from its functionality
.
:, W
' . i 11 the user interface of the rapid protot
ype is menu driven; this is im plicit! F na y,
.
: ' in the last line of Figures l 0
.4 and 10.5. A menu-driven interface certainly is notI

.;
as elegant as a graphical user interface, but it has two advantages. First
, in rapidi
,
; prototyping, the emphasis is on speed. Unless a powerful GUl generator is available,
'
I q
!i E
.! i
j E i #define NUM-FASSENGER RECORDS 10! #define NUM FLIGHT RECURDS 20
;
.; slrud passenger-fype possenger-recordsINUM-PASSENGER-RECORDSl;
! slrud fliqhtrecord
-
type fliqht recordsgNuM FLIGHT RECORDSI;
' '
j ''''''' * ''
'
''''''' - '''
'
''''''''' '''''''''
'
'''' '
,
1 prinùf (''y tq t 2: HOUR CATERER LISTq ny n''); '
.h 1
printf ('zy q t This report is not implemented in the rapid prototypey ny ny n''),.i
printf ('' Press <ENTER> to return fo the menu '?);
2'
j '

Fl ur@ 1@.4 Forfion of the C rapid prototype for the Air Gourmet product
.
I , %
1
i .
.
1
.
Please purchase Image To PDF Converter on to remove this message, thank you.
.
' j
'
; . j(
.
.
l
1*.1* CHALLENGES OF THE REQUIREMENTS PHM E 3X3 !
I
.
l
met public stokic fincl int NUM
-
FASSENGER RECORDS = 1O, I
it is ! public sioik finol int NUM
-
FLIGHT
-
RECURDS = 20,. ( j
the r j; publk stoiic Cpassenger passengersl) = new Cpassenger ENUM
-

PASSENGER
-
RECORDS);++ :
!
public sfclk CFlightRecord fltRecsl) = new CFlightRecord INUM-FLIGHT-RECORDS);ild
-
. , . .
(
d in ,' ag HouR CATERER LIsTy ny n'') . 2 tsysiem
.
out.println ( , jth
e . System.out.println (z' This report is not implemented in the rapid prototypey ny ny n''); l I
tten system.out.println ('' Press <ENTER> to return lo lhe menu. . .''); '' 1i
: Itpid
.
( j
the Flvuye 1@.S Fortion of the ropid prototype for tFe Air Gourmet product. ; !' k

'
ë
; ',
Ics/ : j
ects l
it usually is quicker to code a simple menu-driven user interface. Second, a GUl often l
ling is hardware-operating system dependent. lf the delivered product is implemented on j
ure a hardware-operating system platform significantly different from that on which the I4
. . - - - . - . -
p
lred rapid prototype was run, tllen the t.jul may llave to be relmplemented lrom Scratch, ! :
ing additional cost and time. For both these reasons, it often is better to build l lEled

.
Consum
.
1
e a rapid prototype with a sim ple textual user interface. Decisions regarding more I8'P
,
'
e cycle. 1
.àpid elaborate user interfaces can be made later in the lit ,
!
'
,
UP ;
l 0 4 L 1
i I
:
'
.
j
'
For i I
:
1 lOW
'
1*.1* ZHALLKNG': @F THE R EQUIREM ENT: P HM E , l
ther ) $
'
:
'ded I
-ike every other phase of the software development process. potential problems and !

jtlst itfalls are associated with the requirements phase. First, it is essential to have the 4 ;P
ë !and
wholehearted cooperation of the potential users of the target product from the be- ' ' !
Eype ' inning of the process
.
lndividuals often feel threatened by computerization, fearing ! 'g
:
,
ithat the computer will take their jobs
. There is some truth to that fear. Over the past
licit ' f terization has been to reduce the need for un- ) 7' . 30 years or so, the impact o compu :
nOt skilled workers but also to generate jobs for skilled workers. Overall, the number of i .
I ; rapid
well-paying employm ent opportunities created as a direct consequence of computer- ; k
tble, ization has far exceeded the number of relatively unskilled jobs made redundant, as ! 1
' i i: evidenced by both decreased unemployment rates and increased average compensa
-
: é l
tion. But the unparalled economic growth of so many countries worldwide as a direct I !
f I
: or indirect consequence ofthe so-called Computer Age in no way can compensate for ! j
' the negative impact on individuals who Iose theirjobs as a result of computerization. ' j t
: lt is essential that every member of the requirements analysis team be aware at ; ;
.
!
11 times that the members of the client organization with whom they interact in alI : ! l
:
a
' k
'

t
.
probability are deeply concerned about the potential impact of the target software j j
; product On theirjobs. ln the worst case, employees may deliberately give misleading j l
1 or wrong intormation to try to ensure that the product does not meet the client's needs ! :
' d hence. protect those employees' jobs. But, even with no sabotage of this kind. ian , j
som e mem bers of the client organization may be less than helptul sim ply because j 1
they have a vague teeling of being threatened by computerization. k !
l l
'
j
'
.
j
.
l
Please purchase Image To PDF Converter on to remove this message, thank you.
i
i I .

1- : , i.
1 l
I a%* t H A p T : R 1* * Requirem en's Phose
1 A
nother challenge of the requirements phase is the ability to negotiate. For ex-
ample, it often is essential to scale down what the client wants. Not surprisingly
,
almost every client would love to have a software product that can do everything that
' j might conceivably be needed. Such a product would take an unacceptably long time
j to build and cost far more than the client considers reasonable. Therefore, it often

i is necessary to persuade the client to accept less (sometimes far Iess) than he or she
j wants. Computing the costs and benetits (see Section 5.2) of each requirement in
I dispute can help in this regard.
' j Anotherexampleof the negotiating skill needed istheabilityto anive atacompro
-1 mise among managers regarding the functionality of the target product
.
For example, '1
acunning m anager may attempt to extend his or her power by including a requirement1
.
g that can be implemented only by incorporating into his or her areas of responsibility
1 certain business tknctions currently the responsibility of another manager. Not sur-
1 prisingly, the other manager will object strongly on discovering what is going on. Thej '
requirements team must sit down with both managers and resolve the issue.1
! A third challenge of the requirements phase is that, in many organizations, the
I I 1 .
.
individuals who possess intormation the requirements team needs to elieit, simplyl l lack the time to meet for in-depth discussions
. w hen this happens, the team m ust;
j inform the client, who then must decide which is more important, the individuals'
) f current job responsibilities or the software product to be constructed. And, if the
j! l t client fails to illsist that the software product eomes first, the developers may have no
I ', 11
: alternative but to withdraw from a project all but doomed to failure.t '
' '
! y'inally
.
flexibility and objectivity are essential for requirements elicitation. lt is
; p vital that the members of the requirements team approach each interview with no
1 j '
y preconceived ideas. ln particular, an interviewer must never make assum ptions about

'
the requirements as a result of earlier interviews, then conduct subsequent interviews
within the fram ework of those assumptions. lnstead, an interviewer must consciously
suppress any information gleaned at previous interview s and conduct each interview
in an im partial way. M aking prem ature assumptions regarding the requirements is
,l dangerous'
,
making any assum ptions during the requirements phase regarding the .
ft to be built can be disastrous. 'so ware
t
1
:
) How To PKRFORM THz RzqulR- zNTs PHAS:I
; !
2 t
i ! '.
Requirements elicitation:: i
'
'
'
.
. Build a rapid prototype that incorporates the key) * lnterview members ot the client organization and
.
E
.
tunctionality of the target product.2 d
etermine their needs.
. . M odity the rapid prototype in response to feed-
'
! ' Requirements analysis: b

ack from members of the client organization who;
.
t . oraw up the preliminary requirements uocument
.
experimented with it. ,
1
7 * Rcfine the requirements document.
h
p
'
l
; 1
t 1(
-
( .i
,
p
.
Please purchase Image To PDF Converter on to remove this message, thank you.
:
'
I
l'
j
FoR FURTHER READINO a4s
.
1
2
l
Il)(

- lI
y, QHAPTER Rzvlzw , l
11at
I
ne The chapter begins with a description of requirements elicitation techniques (Section II
en 1 0. l ), followed by an outline of requirements analysis (Section 10.2), summarized in ; I
he the box on page 3 1 4. A careful definition is given of rapid prototyping (Section 10.3). l'
j
'
in The importance of taking human factors into account when designing user interfaces I l
' jis discussed in Section 10
.
4. The use of rapid prototyping as a specilication tech- l
ro- nique is discouraged in Section 10.5, as is reusing a rapid prototype in Section 10.6. ; t
.le, Managem ent implications of the rapid prototyping m odel appear in Section l 0.7. f
!
mt : Experiences with rapid prototyping are discussed in Section 10
.8. Techniques for re- i E '
ity quirements elicitation are discussed and compared in Section 10.9, as are techniques I
ur- . for requirements analysis. Next are presented ways of checking the rapid prototype p
'he (Section l 0. l 0), CASE tools for the requirements phase (Section l0. 1 1), and metrics (
for the requirements phase (Section I 0. 12). The chapter concludes with a discussion E 1
: , 1
;he of whether there is an object-oriented requirements phase (Section l 0. l 3)., the re- 1
.
l
?ly , quirements phase of the Air Gourmet case study (Section 10. 14). including the rapid ;
ust prototype (Section I 0. l 5)., and challenges of the requirements phase (Section l 0. l 6). i
.
: j

ls' I
!Ae
i
no :
l
I
:is yop FupTuzp Rzaplxo E: ii
no ;!
Jut . . : ' EBooks on requirements analysis include (Gause and Weinberg
,
1990, Davis, 1993, and
WS Jackson
,
19951. t'rhayer and Dorfman. 19991 is a collection of papers on requirements i
j ;S y
analysis. The strengths of paper prototypes are discussed in glkettig, 19941. Articles ;
WW on the requirements phase appear in the M ay 1 995 issue of the Communitxltions l
; is ' i
of the ACM and the March/April 1998 issue of IEEE Software. The use of cost-
u mLHC: beneht analysis in ranking requirements is described in gKarlsson and Ryan
,
19971.
The December l 998 issue of the Communications ofthe ACM contains a number of
articles on requirem ents tracing. g9
.For an introduction to rapid prototyping, suggested books include gconnell and j
Shafer, 1 989*, and Gane, l 9891. The February I 995 issue of IEEE Computer contains !
: a num ber of articles on rapid prototyping. The report on the use of rapid prototyping ! i
:
in 39 commercial products is an extremely useful source of information (Gordon and . !$
Bieman, 19951. (Lichter. Schneider-l-lufschmidt, and Ziillighoven, 1994) give details ' , ;

of five industrial software projects in which prototyping played a major role. The ! k 'j
id prototyping model is one version of rapid application development (RADI; a l i irap l I
variety of articles on RAD appear in the September 1995 issue of IEEE Software. 2i
Human factors are discussed in (Dix, Finlay, Abowd, and Beale, 1993., Brownes .
,
jl
:1994., and Preece, 19941. (Nielsen, 19931 describes how user interaction with a user h
: 1interface can signiticantly improve usability. (Myers and Rosson, 19921 point out that
i
up to half the total software effort can be devoted to portions of the product related :
l lto the user interface
. 1
7
: : 7
.
)
.
) :
i i
Please purchase Image To PDF Converter on to remove this message, thank you.
l .
i
1
1
1 . a1@ t H A p T : R 4* @ Requiremen's Phose
1
1 Articles on user-interface design can be found in the April 1993 issue of Com- ! !
munications of the ACM. gGentner and Grudin, 19961 analyze models underlying .
user-interface design. The July/August 1997 issue of IEEE Software has a number
of articles on user intedaces, especially tsears and Lund, 19971. A elassic work on

user interface design is (Shneiderman, 19971. Usability of software is the subject of
.12
a collection of papers in the May 1999 issue of the Communications of the ACM.
1 The proceedings of the Annual Conference on Human Factors in Computer Systems
l
I (sponsored by ACM SIGCHI) are a valuable source of information on wide-ranging
1 aspects of human factors
.1 lz
I
14
j
'
'
'
,
!
I
i PR@RKZM S IS' j
5 '
,
'
' j
l 10
.
1 You have justjoined Victoria & Niagara Software as a software manager. Victoria &E
.
i
l Niagarahas been developing accounting software for sm all businesses for many years,
) Jl
using the waterfall model. usually with some success. On the basis of your experience,1 j l

, 1 you think thatthe rapid prototyping model is a far superiorway of developing software
.
1*l - 1 -
i W rite a report addressed to the vice-president for software development explaining
why you believe that the organization should switch to the rapid prototyping model.
Remember that vice-presidents do not Iike reports more than one page in length.
. k
i 10.2 You are the vice-president for software development of Victoria & Niagara. Reply to
the report of Problem l0. l .
I
10.3 Of the programming languages available to you, which should not be used for rapid '
t prototyping? Give reasons for your answer.
10.4 Describe a project in which rapid prototyping is unlikely to be of much assistance to '
the development team . :
10.5 Section 10.3 stated that rapid prototyping is particularly effective when developing!
j the user interface. Under what circumstances is there an equally effective alternative
1 way to determine the client's needs in this regard?
1
: 1
i ! 10.6 Under what circumstances does it make sense to refine a rapid prototype?
1 ! '
i . 1 O.7 W hat is the result if a rapid prototype is not constructed rapidly?l
q
7 :
, .
10.8 Should rapid prototyping be used if the product is to be developed using the object- :
1 oriented paradigm?
I1 :
1 10.9 (Term Project) Construct a rapid prototype for the Broadlands Area Children's Hospi-
1 tal project in Appendix A. Use the software and hardware specified by your instructor.I

I 1 0.10 (Case Study) Starting with the requirements of Section l0. l 4. construct a rapid pro-
! in an interpreted language such as Lisp
,
Sm alltalk, or Perl.totype
j '
! '
. i
Please purchase Image To PDF Converter on to remove this message, thank you.
'
$
.
' j
,
.
j '. i
' '
j
' jR
EFERENCES a1y !
'
'
j'
t
'
)
.1 1 (Case Study) Suppose the rapid prototype for the Air Gourmet product has been I
written in C and the production-quality implementation is to be written in C++ . ; )
. .
i ;
Because C is syntactically a subset of C++, how would you prevent the rapid proto- ' l r

t e from being rehned into the delivered version of the product? q !
.
YP : )
1Q (Case Study) Suppose the rapid prototype for the Air Gourmet product has been '#
.
ity im plem entation also is to be written in iwritten in Java and the production
-
qual r
Java. How would you prevent the rapid prototype from being refined into the delivered '
.
1 ;
' version of the product? 1:
.
.13 (Case Study) lf the software is available to you, add a graphical user interface to the ! ' .1
q '
rapid orototvoe of Section l0. 15. I
' A
.t ''''
d
't
j' g
.14 (Case Study) ln the rapid prototype ot Section I 0. l 5, arrays of records are used to ; I
Store passenger and flight records. W as this a good decision on the part Of the rapid !
j' t
'
:
prototyping team? To supportyouranswer, recode the rapid prototype using a dynamic f ': i
data structure. k i
.
k

'
.
15 (Case Study) A number of the routines of the rapid prototype of Section I0. 15 are j
empty. For example, the routine to print the report containing the name and address ') i
' jof every passenger whose special meal was not loaded more than once has not been 2
' ; j i
coded. W as this a good decision on the part of the rapid prototyping team? To support
y ; r
your answer, com plete the bodies of the empty routines. ! !
l .
.1ô (Readings in Software Engineering) Your instnlctorwill distribute copies of gKarlsson ë
. ; ;
'
and Ryan. 19971. How could Karlsson and Ryan's approach be extended to a complete ' I
life-cycle model based on cost-benefit analysis? , ,
i : '
'
i 1!
, .i ! '
'
j i '
l i
.
j )
RzFzpzxezs gl
E !
l(Boehm
,
Gray, and Seewaldt, 19841 B. W. BOEHM, T. E. GRAY, AND T. SEEWALDT, j
T'Prototyping versus Specifying: A Multi-project Experiment.'' IEEE Transactions on 1 ë

Software Engineering SE-IO (May I 984), pp. 290-303. E
(Brooks, 1 9751 F. P. BROOKS, JR.s The M)'//Jït,w/ Man-Month: Essays On 5k#àli'are' ''
Engineering, Addison-Wesley. Reading, MA, 1975. Twentieth Anniversary Edition, j ' I
Addison-Wesley, Reading, MA, 1 995. 'j ' i1
(Browne, l 9941 D. BROwNE, STUDIO: STructured User-interface Designfor Interaction j ; (
'
Optimization, Prentice Hall, Englewood Cliffs, NJ, l 994. )
. j
1
(Capper, Colgate, Hunter, and James, 19941 N. P. CAI/PER, R. J. COI-GATE, J. C. HUNTER, AND @ I' 1 1 I
) V. F. J AMES, ivhe lmpact of Object-oriented Technology on Software Quality: Three ' 1.
Case Histories,'' 1BM k&v.î/c/'?1.ç' Journal 33 (No. 1 , l 994), pp. I 3 l -57. ' ''
,

) l
(Connell and Shafer. l 9891 J. L. CONNELL AND L. SHAFER. Structured Rapid Prototyping: An l I
Evolutionary ztppmlc/l to sk//warc Development, Yourdon Press, Englewood Cliffs, NJ. r I
E Il 989
.
.
j j
I Davis, 1 9931 A. M. DAvls, Software Requirements: OWdcls', Functions, and States. rev. ed., : k I' ''
' ' ' ' ' ë (
'
. Prentice Hall, Englewood Cliffs, NJ, l 993. 1 l
J à
'
'
1 'i I
'

.
j l
1I
:
l '
'
; '
I l I
Please purchase Image To PDF Converter on to remove this message, thank you.

×