Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 40 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
40
Dung lượng
2,75 MB
Nội dung
. ' 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 http://www.verypdf.com/ 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 http://www.verypdf.com/ 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 http://www.verypdf.com/ 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 http://www.verypdf.com/ 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 http://www.verypdf.com/ 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 http://www.verypdf.com/ 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 http://www.verypdf.com/ 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 http://www.verypdf.com/ 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 http://www.verypdf.com/ 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 http://www.verypdf.com/ to remove this message, thank you. . 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. 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. 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 .