1. Trang chủ
  2. » Công Nghệ Thông Tin

Software Engineering (phần 8) pptx

40 291 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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 .

Ngày đăng: 07/07/2014, 06:20

TỪ KHÓA LIÊN QUAN