View the step-by-step solution to:

120 PABT 2 F Systems Analysis Activities OPENING CAST Electronics Unlimited: lntegrating the Supply Chain Electronics Unlimited is a warehousing...

Hi Sir please let me know if you can complete this assignment for me.

Hi Sir attached is the supporting documentation. I scanned the entire chapter for you. Please let me know the price for this assignment.

Assignment 3 Systems Analysis and Design
Complete the following:

1. Consider the system sequence diagrams shown in Figure 5-6 then 5-8 and 5-9, the SSD showing customer account associative entity. Does this model limit a customer to enroll in more than one account at a time? Does the model allow an account to contain more than one customer? Does the model allow a customer to enroll in several acounts of the same type at the same time? Does the model store information about all accounts for all customers? Does the model store information about all customers of same account type?

2. Again consider the system sequence diagram shown in Figure 5-10. Add the following to the diagram and list any assumptions you had to make. For example, consider --- addBackOrderstatus, addSalestax, addDiscounts(if any),addShipdate, addCustomeraddress, addCustomerphone(etc) to sale. After completion, review what is input and output. Note if SSD is a good model for valuing input and output information.

3. Complete all ODD review problems listed on page 144-145. Do not write the question simply respond with your answer. Below are the odd questions:
What are the models that describe use cases in more detail?
Which part of a use case description can also be modeled by using an activity diagram?
List the parts or compartments of a fully developed use case description.
Compare/ contrast postcondition and exception condition.
What is the purpose of an SSD? What symbols are used in an SSD?
Write a complete SSD message from the actor to the system, with the actor asking the system to begin the process for updating information about a specific product.
What are the two ways to show a returned value on a sequence diagram?
What are the three types of frames used on a sequence diagram?
What are the parameters of a message?
What is an object state?
When considering requirements, state and state transitions are important for understanding which other diagram?
List the elements that make up a transition description. Which elements are optional?
What is meant by the term path?
Identify the models explained in this chapter and their relationship to one another.

120 PABT 2 F Systems Analysis Activities Electronics Unlimited: lntegrating the Supply Chain Electronics Unlimited is a warehousing distrrbutor that buys electronic equipment from various Juppti"r. and sells it to retailers throughout the united States and canada. rt has operations and warehouses in Los ,+ngltes, Houston, Baltimore, Atlanta, New york, Denver, unJ i/,nn"rpolis. lts customers range from rarge nationwide retailers, such as Target, to medium-sized indepenaent etectionics stores. Yrny of the larger retailers are moving toward inte_ grated supply chains. Information ,y.t"ri used to be focused on processing internal Out!; t. .ro*"uer, today, these retail chains want suppliers to become part of a l:l.ll\1l:]".nrated suppty chain system In other words, tne systems need ro communicate between companies to make tre supply chain more e{ficient. To maintain its position as a leading wholesale dis_ tributor, Electronics Unlimited has to .oiu"rt rts system to link with its suppliers (the manufa.trr"r. of the electronlc equipment) and its customers (the retailers). It is developing a completely n"* .!rt", that uses object-oriented techniques io prouij"'- tn"." links Object-olented technlque,s facilitat" ry.tu*no_system hterfaces by using predefined ."r|";J;i; and objects to accelerate the development process.- Fortunately, many of the system development staff members have experience with object_oriented development and are eager to appry the techniques and modeis to tne system development project. William Jones is explaining object_oriented develop_ mgnt lo the group of systemi analysrs who are being trained in this approach. ^n,^^rY-9j1.!:"^"],r^t,lg mg?t of our new systems by usrns :i,_r^.^, :i:::"d p-rr nciples,,, h e tel |s the m ;, The complexiti u,r .L,e new system, along with its interactivity, makes the object-oriented approachi nrtr,ri *;; i;;;;"rop require- ments lt takes a little different thoughi pio"ur. than some of you may be used to, but the object-oriented models track very closely with the new object_oriented program_ ming languages and frameworks.,, Willjam is just getting warmed up. "This way of thinking about a system in terms of oblects is very interesting,;, he adds. ,,tt is atso consistent with the object-oriented programming techniques yo; learned in your programming ilu.r"r. "Vou prooaOly first learned to think about objects *h"n you OevelopeO screens for the user interface. All the controis on if.r" screen, such as buttons, text boxes, and drop_down boxes, are objects. Each has its own set of trigger events that altivate iti pro_ gram functions." "How does this apply to our situation?,, one of the analysts asks. "You just extend that thought process,,, William explains. "You think of such thinls as prrchase orders fl! :Tl,or"es, as objects too. Weian .uit th", the prob_ rem oomarn or business objects to differentiate them from screen objects, such as windows and buttons. During anal_ ysis, we have to find out all the trigge, "u"nt. and meth_ ods associated with each busines. o"Oj".1 ,; "And how do we do that?,, another analyst asks. "You continue with your fact_f inding u.iiuiti". and build a better understanding of each ,." .riu], witrir, .uyr. ,,rn" way the business objects interact with each oiner in the use case determines how you identrfy tHe initiatrng activity. We refer to those activities as the ;;r;;s;; ;;tieen objects. IT^i:!y r:rr-is that you need to thi;k in terms of oblecrs rnsreao ot lust processes Sometimes, it helps me to pretend I am an object. I will say, ,l am a prr.f,u." of""r object. What functions and services are other oO;".tlg;rg to ask me to do?'After you get the hang of it, it *or[."*ri*ell, and it is enlightening to see how the system requir'e-#ents unfold as you develop the diagrams.,, Overview The main objective of defining. requirements in sysrem development is under_ standing users'needs, how the-burr".* frt.esses are carried ouq and how the system will be used to support those business processes. As we indicated in Chapter 2, system deverop.i, "r. u r., or models to discover and understand the requirements for a new system. This activity is a key part ofsystems analysis in the system develooment process. The first slen in th.'pro. .r, for developing this understanding ,.q,rr. ., the fact-finding skiirs you ilil in chapter 2. Fact-finding activities are arso ,"il"d dlt"rrrry actiuities,and obviously, discov_ ery must precede understanding. The models introduced in"chapters 3 and 4 focus on two primary aspecrs of functional requirements: rhe ,rr. .ur., ;"d ;. ,ffi;, ##ldPi', ur.rr, *ork. Use cases are identified,bv using tt " "r.r g;"r ,..lrrrq;; ;;i;i;;enr decompo_ sition technique. The Ur\4L use"car" argi; was introduced to show use cases OPENING CAST
Background image of page 1
'a8ossau puas ro tuaLuluo) pnpo.td ppv aq plno^\ aldruexe uV .suortrpuotr uorldacxa-.(ue ;r-,u.e1 ,{ro.r. pue orreuats al8urs e a.req illeurou plno.{\ es,r asn aJdurs v 'uortecrldde pools-rapun-lle,\\ '11urus u sr pedola,tap ag or ruarsds eL[] uaq^\ ,{lleroadsa 'ses'r osn aldurrs i.raa .ro1 pasn ag uer uorrdrrci.p yrrrq y '(6-9 a*n6;g aas) g.raldeqJ ur u,{\oqs ore^\ suouducsap oser asn reirq e..,os 'uoudr;csap padole,tap .(11n1 pue uoudrrcsap Jerrg :lretep -+o sle^al ,tr.rrd. . o^l re ueDrJ,{\ 0g ol puor suorrdr-rcsap asEf asn 'spaau s.tsiieue ue uo Surpuadaq li i: * : 1. .r! i i : ] :i i.:r j;f i: !i r-l: l: it :li g,.i .l + i J 1i: 'osel asn aqr q8nolqr qted anbrun e sluese.rda; pue sser esn e urqlrl\ sarrr^rr)e IEuralur 10 ras anbrun E sr orrpusJs e ,snq1 .sacuelsu! aseJ asn serurtauros Jo solteuocs peller aJe sertr^nf E Jo s,{\olJ lLiereJJrp asaql 'esEf, asa luno))l2 ,taruo$n) aruat) aql JoJ aouanbas pr]EA E sr sarlrlrlf,E Jo '{\oH qleg 'JIosreLI ro _.uJr] uorr,urrorur aqr Surrepdn reLlrorsnf , ,o1 rar. ..ord oqt_uro{ tuore11ip arrnb eq rq8ru auoqd oql ra^o uorteruroJur Burrepdn a.\rtetuas -eldar ecr,tras rollrolsnJ e JoJ sessaford aq1 .Jsel asn eqt salo^ur Jottre qlrq,{\ uo Surpuadep sarrr^rrrE Jo l\orJ elrredas , *q II.^L jun(n)o ,Laruorsn) ajt)a.L) asea 1:" tt{+ 'as'f, esn aiSurs e urqrr-{\ }srxe sde}s ssrursnq eL[] lo suo.]ErrE^ Iera^es '.(ltuanber4 'ssaoo.rd ssaursnq E aloldruo, ol sdets yo .c.rJnbr. JI.LI,{\ E sepn]rur asel. asn e ,.(yleuralul .asetr asn qf,ea 1o sdars pairetop ,q, plrrrrrpun lsnru a.tt 'spaau .sJesn slaeru d1n.rr reqr urars,(j tsnqor ,a,triuaqarduro, n "lr. .r, uJ . 'aurluo ,t.lDalrp uoiteLuroJur serupdn ro sppe raruotsnr arll JI rorlE aqr oq rqSrur .reurolsnl erlr ro 'auoqd sLIr uo reLuorsnl aqr o1 3ur>11ur de; act-^ras Jaruolsnl E eAIoAur lrl^tu'1riot)o )aruo$n) aruat) asEJ asn aqr.aser OI,^{U aqr ut 'aldtuexa roJ 'eJor E sE sr rotle ue }o {urql ot iuar reqlouy ruo{ e^ou e^\ sp .,eqr eurJar or-}rrrr, *:l:1':?.#illr':lilj,:ftil:l,illl rryrrads rLIr ruUrp sd1aL1 snrol ,.rqB,r srql .puodsJr lsnru ;"r,fr- pr,r*"r* aql qJ*{A\ ol suolrl,Jerur lcexa aqr ourJep dlesrce,rd eJour ueJ 3a-ur31sd5 aqt qtr^\ lrErelur oq^\ asoql se_dB,u tEr{t sroltE Bururyep r(g .uals,ts erlt Jo uon.rod Ienueur aqr yo r.red aq ieru lnq uarsds ,qr yo rrJpinoq'u.,r,"*orne eLIl apISlnO s''(e'tr1e sr Jolr, uy 'srue,rSerp es,f asn Lro ul\oqs sE ,.rolfp up polJpl sr uos;ad reqr '1141-] u1 'urals.{s ,qr rrin oq.* uos.rad E sr saspl esn IIE ur parldrul 'esef, esn E roJ slrErep Surssaco.rd oql sagr'sJp prr rrtrl uorrdr'sep aseJ esn v 'E rordeq] ur pernporrur ere.&\ r,rorrdrrr.rp es,r asn 1ar.rg'uolldrJosap ospc asn E qll{\ p,glrlsep sI aseJ esn qr,e rnoqp uorl,uroJur pelr,req 'ruars.(s p roJ ses,r asn aql IIlt IO .\\er^_ro^o ue sapr,ro;d sruerSerp esEf esn puE sesEJ asn ,o lsrl v suotldtrssoc oseJ asn sur'aq .rarder{c lxeu eqr .1 rerdeq3 ,r, proop.ottjttJ:1]:r:',i:i'":il':rr:ffi] ul"polerlsnllr se'1-roat uorleluarualdur puE u8rsep Surop eg osl, IIr.{\ nol ,cual -sds e -ro1 sruaruarrnbe-r Bururlep .rrq^ :r.q*aueu .sass,Ir ur,Luop rnoq, uorteur -roJul arolu .uoqs nod dlaq asaql lpacnportur e.re sure.r3erp'aurqr'.,, at,ts -J,uO 'uaqL'asec asn qlea tnoqe uorlEruJojur oJorrr.{\oqs ot patrnporlur aJe (sCSS) sure.r8erp acuanbas y.rr,(r -I1'1Jo pu; ,sue;Berp ^rr,rure 1irg11 ,r.rorrdrpsep esel esn padole,tap d11ng 'ulars.{s eql roJ sessEIJ urpluop pue sesef, asn aql lnoqe uorreruroJur I,uorlrpp, ^{oqs or slepo. ., slueruarrnbar arp puarxa ol nod .{\olle 1r.r\ teql slapour pue sanbruqrat Ieuourppp ureal no.( ,.raideqc srql uI .suer8erp sspp loporu ureurop _INII r{rl,\\ .ro (sqgg) .*ri8up drqsuorleJa-r-trrrrua qtrar Jarllre parue.,,nrop ale ruJ-rsls E Jo sluJruJrrnbar a8e_rors uoIlEurJoJuI aqf 'eseqElEp e Jo se]rJ fruotlJala ur peJots sr uonEluroJur aql ,ural -s'(s pareurornp uE uJ'raurqef, Buqrl-e ur po.rols pue.raded uo papJoJel sr uorreru -roJur eql 'urels-{s IEnuEru B uI 'sassef,o.id ssaursnq aql ur pa^lo,rur sSurql rnoqe LrorreruroJur erors pu, pJoleJ o1 Spaou osle tuarsds uorlpruJo+ur uv .sJolre pue l,Zl. slap0[ j slueuelnbag aqt 0urpua1x3 +;i 9 E]_LdVHJ saseS asn uirjll^ sallt^rl3p leulalut ,0 slas anbtun socuPlsu! asec osn Jo solleuocs ssm asn e t0] s11e1ep 0urssaro:d aql saquosap pue slstl lprg iapoul lenya] e uogldgrcsap osec esn
Background image of page 1
122 PABT 2 il Sysrems Analysis Activiries ftiiiURi: m Use cases and brief use case descriptions precondition a condition that must be true before a use case begins postcondition what must be true upon the successful completion of a use case Brief use case description Creote cu stom er occau nt User/actor enters new customeT account data, and the system assigns account number, creates a customer record, ancJ creates an account recoTd. Look up custamer User/actor enters customeT account number, and the system retrieves and d spLays customer and account data. Process o ccou nt odj ustme nt User/actor enters order number, and the system retr eves customer and order data; actor enters adjustment amount, and the system creates a transactlon record for lhe adjustment. A use case such as Fill shopping cartis complex enough that a fully developed description is also written. Fully Developed Use Gase Descriptions The fully developed description is the most formal method for documenting a use case. One of the major difficulties for software developers is that they oien Tlyggl. to obtain a deep.understanding of rhe users' ,..dr. But if you ir^t ^ fully developed use case description, yo-u increase the probabil ity that you thor- oughly understand the business processes and the *uy, th. system must support them. Figure 5'2 is an example of a fully deveroped ur. .url description of the use case Create customer dccount. Figure 5-2 also seryes as a standard temprate for documenting a fully devel- oped description for other use cases and scenarios. The first and second com- partments are used to identify the use cases and the scenarios within the use cases (if needed) that arc being documented. In larger or more formal projects, a unique identifier can also be added for the ,r. .ur", with an extension identi- fying the particular scenario. Sometimes, the name of the system developer who produced the form is added. . Th. third compartment identifies the event that triggers the use case. The fourth compartment is a brief description of the l.rr. .rIJ or scenario. Analysts may ;'ust duplicate the brief description they constructed earlier here. The fifth compartment identifies the actor or actors. The sixth compartment identifies other use cases and the way they are related to this ur. iur. . These cross- references to other use cases help document all aspects of the users' requirements. . The seventh compartment identifies stakehoiders who are interested parties other than specific actors. They might be users who don,t actually invoie the use case but who have an interest in results produced from the use case. For example, in Figure 5-2, the accounting department is interested in accurately c_apturing billing and credit card information. Although no one in the marketing department actually creates new customer accounts, "th.y do perform statistical analysis of the new customers and create marketing p.omotiors. Thus, market- ers have an interest in the data that are capturedl.,d ,to."d from the create cwstomer Account use .case. The sales department is interested in having an easy-to-use and attractive user interface to assure sales aren't lost becaui of poor user experience. . considering all the stakeholders is important for system developers to ensure that they have understood all ,equiremerits. The eighth and ninth compartments-preconditions and postconditions- provide critical information about the state of the system befo.e and after the use case executes. Preconditions identify what the state of the system must be for the use case to begin, including what objects must already exist, what infor- mation must be available, and even the condition of the actor prio. io beginning the use case. Postconditions identify what must be true upon case. Most importantly, they indicate what new objects by the use case and how objects need to be associated. completion of the use are created or updated The postconditions are Use case
Background image of page 1
'lueruuEdulof, qlua^ela eql uI PaqIJf,saP eJe suolllPuof, uolldaJxe puE seIlIAIlf,E e^rlBurallv .sdels aql Jo af,uenbas aql 4rluepr dlaq sregrunu ruell eq1 'urarsds eqt ,(q parrnber sesuodser aql Pue ropE aql dq pau.royrad sders aqr Surl;n -uepr 'uorsrel utunlof-o1vr1 E ut\oqs eAEg e.4 'of,uelsul sql uI 'esef, esn eql ,o sall -rArDE Jo ^aog pellelap eqt saqlrf,sep eleldruel eq1 ut luerulreduroc qlual eql 'lunof,f,e Jaurolsnf, laeu B elEaJf, 01 eleJoqellof, na[go ]unoJf,E uE PuE 'sasserppe eJolu Jo euo 'Jotuolsnc e tuonenlrs sql uI .asef, esn egt etaldruof, ot elEJoqEIIof, lEIp Uca(qo o] sel1rllqlsuodser 8ur -u8rsse pue Surdyruepl sepnpul esut esn e 1o u8rsep aql IEID ll pue 0I sreldel{) ur ees ilu. notr 'uSrsep ro} luEuodlul erB asef, esn eq] uI PaAIo^uI spelqo qJIq&'elpf,rpur suortrPuof,lsod ur snefqo eql (PuoJes 'esEqEtEp aqr or peppe dln; -ssaf,f,ns aJeA{ pJoJeJ lunof,f,E puE (pJof,oJ sseJPpE 'procar JeruolsnJ E lEI{} lsel 01 luBuodurr sr 1r 'esBJ esn luno?2o taruo$n2 apat) aql uI feldluBxo Jod 'Peluelu -aydurr sr 1r JoIE esef, esn aq] Sunsal roJ pesn aq ilylt lrq] sesef, lsel roJ stlnseJ paDadxa aql Surlets JoJ sISEg el{l ruro} .fuql 'lsrrg 'suoseeJ o^ 1 Jo} luelrodurr 'prle^ l,usr uorleuJolur ]rqopnrporc z e "prle^ ]!usl ssorppe e\l L'z 'a1e;dLuocur oJe plep Joruolsnc crseg L l. :suorl!puoc uo;1decx3 'slrPlop lunocce ror.uolsnc prle^ surnlar ulelsIg y g ']unocce pue 'ssorppe 'rauiolsnc solercosse Luelsrig g'g 'piec uqep^rporc ro] uorlezrJoLllne serluen Luels{g 7'g 'lunocce soleorc Luels{g g g 'pJec uqap/Irporc ro1 sldr.uold Luels{g 7 7 'sossarppe salealc Luels{g 1 7 'sossorppe rauolsnc rol sldu-rord Lueislg 7 1 'roruolsnc Mau e soleoJc uelsIg ;'1 'uorleuroJur pJec lrqap^rpoJc sreluo rauolsnc 'e 'sesseJppe oJor.u ro suo sroluo ror.uolsnc z 'uorleurolur ror.uolsnc crseq sreluo pue ]unoccp lautolsnc aleerc ol orsop solecrpur reurolsnc 'L :sorll^llcE Io ,rAolJ uelsrtg rolcv 'reLlolsnc L{}rM po}ercosse oq lsnur }unoccv pue ssa.rppv 'po^es puE palEerc oq lsnur ]unoccv 'paleprle^ oq lsnur uorlPr.r-ilo]Ur prec uqopnrpaJc 'pa^es pu€ poleoJc oq ]snLU sossorppv oroLlr ro auo 'pa^es pue poleerc oq lsnLx rotuolsnc :suo!llpuoclsod 'olqelre^e aq ]snur sacrruas uorlezr]ol-{}ne lrqopArpaic 'olq€lrele aq ]snur uelsAsqns ]unocce roLuolsnC :suolllpuocaJd se;eg'6ur1e1rey1'0urlunoccy :sraploqalels 'esec osn yec 1utddoqs 1no 4caqC eql Iq pe>1onut aq ]q6!nl :sosec asn paleloH rouolsnc :slolcv 'prpc ]rqop ro ]rparo e pue sassarppe olor! ro ouo r.{}rm dn 6urmo11o1 uol-.ll pue uorleturolur crseq 6uualua Iq lunocce rourolsnc so]€orc rorxolsnc aurluo :uorldlrcsap ;e;rg 'ourluo lunocce dn 1es o1 sluel roruolsnc MoN :1uene 6uua66q.rg 'lunocce rourolsnc ourluo aleeic :oueuocs ' iunocce )awolsnc eleuc :aueu esec esn lunocce roLuolsnc ewer).to] uotlducsep osec asn pedoletep ,lttrl Yffl tZI slapon sluaLuatrnbag aq] 0urpuatxl ,:r 9 UlldVH3 t-
Background image of page 1
124 PABI 2 E Systems Analysis Activities alciJilE EB fut/ developed use case description for Ship items The numbering of exception conditions also helps tie the exceptions to specific ""'#Jl; l-'r-J*:tll':",ir. .ur. description for the use case ship items. rhe ,..rrri-o for this description assumes they are shipping a new sale rather than backordered items from a previous sale. Notice that the use case description minimizes the description of manual work that is done in conjunction with shipping items. Some analysts put that detail in, but others don't because the .rnpir"rir is on the interaction with the computer application. In this use case, the preconditions show what existing objects must already exist before the use .ur"-.u.t execute. They can't ship items that aren't part of an existing sale for a customer. The postconditions again indicate what to look for when stating the expected .es.rlis for a test case and show the objects that will need to collab- orate in the design. Use case name: Shp lfems. Scenario: Ship items for a new sale. Triggering event: Shipping is notified of a new sale to be shipped. Brief description: Shipping retrieves sale details, finds each item and records it is shipped, records which items are not available, and sends shipment' Actors: Shipping clerk. Related use cases None. Stakeholders: Sales, Marketing, Shipping, warehouse manager. Preconditions: Customer and address must exist Sale must exist. Sale items must exist. Postconditions: Shipment is created and associated with shipper' Shipped sale items are updated as shipped and associated with the shipment' Unshipped items are marked as on back order. Shipping label is verified and produced. Flow of activities: Actor System 1. Shipping requests sale and sale item information. 2. Shipping assigns shipper. 3. For each available item, shipping records item is shiPPed. 4. For each unavailable item, shipping records back order. 5. Shipping requests shipping label supplying package size and weight. '1 .1 System looks up sale and returns customer, address, sale, and sales item information. 2.1 System creates shiPment and associates it with the shiPPer. 3.1 System updates sale item as shipped and associates it with shipment. 4.1 System updates sale item as on back order. 5.1 System produces shipping label for shipment. 5.2 System records shiPment cost. Exception conditions: 2.1 Shipper is not available to that location, so select another. 3.1 lf order item is damaged, get new item and updated item quantity. 3.1 lf item bar code isn't scanning, shipping must enter bar code manually. 5.1 lf printing labet isn't printing correctly, the label must be addressed manually. ris:;|]srlrr'.:-:r1e:'*:s1,r:rrr.:,.tir,:t:rtr:l,1ilt:::ii.:llilialr:r:li:r:t.rit:'
Background image of page 1
Background image of page 1
126 PABT 2 # Systems Analysis Activities :,,i.,i,:,,1 mlm Activitv diagram for F rl shooping carL showing richer user erperience system sequence diagram (SSD) a dlagram showing the sequence of messages beflffeen an external actcr and the system during a use case or scenario interaction diagram either a rommunication diagram or a sequence diagram that shows the interactions between objects The activity diagram shown in Figure s-5 shbws the Fill shopping cart .,Se case flow of activities. The yellow ovals show the other ,rr. .ur"r'that are invoked while filling the shoppin g caft. The activities of the use case go in between the other use cases. The Fill shopping cart use case includes select Jptions and quan- tities, add to cat:, select accessory options and quantity, ^rd add to cart. However, the intent of the richer user experience b".o-., evident when the activify diagram shows the use case in cont;xr. fh" System Sequence Diagram-ldentifying lnputs and Outputs In the object-oriented approach, the flow of information is achieved through sending messages either to and from actors or back and forth between internal objects. A system sequence diagram (ssD) is used to describe this flow of information into and out of the automated system. Thus, an sSD documents the inputs and the outputs and identifies the interaction berween actors and the system. An SSD is a type of interaction diagram. Add to cart id
Background image of page 1
Background image of page 1
128 PABT 2 il Systems Analysis Activities -:ill-,ali' EE Repeating message in (a) detailed loop frame notation and (b) alternate notation The clerk is sending a request (a message) to the system to find an item. The input data that is sent with the message is contained within the parentheses, and in this case, it is data to identify the particular item. The syntax is simply the name of the message followed by the input parameters in parentheses. This form of syntax is attached to a solid arrow. The returned value has a slightly different format and meaning. Notice that the arrow is a dashed arrow. A dashed arrow indicates a response or an answer, and as shown in the figure, it immediately follows the initiating message. The format of the label is also different. Because it is a response, only the data that is'sent on the response is noted. There is no message requesting a service-only the data being returned. In this case, a valid response might be a list of all the information returned-for example, the description, price, and quantity of an item. However, an abbreviated version is also satisfactory. In this case, the information returned is named item information. Additional documentation is required to show the details. In Figure 5-6, this additional information is shown as a note. A note can be added to any UML diagram to add explanations. The details of item information could also be documented in supporting narratives or even simply referenced by the attributes in the Customer class. Frequently, the same message is sent multiple times. For example, when an actor enters items on an order, the message to add an item to an order may be sent multiple times. Figure 5-7(al illustrates the notation to show this repeating operation. The message and its return are located inside a larger rectangle called :System (a) Detailed notation o I A ''i* :System I I I | - lanottrer item] description, price, extendedPrice I , '= addltem (itemlD, quantity) - |"', ll lr (b) Alternate notation lz-- ---J i Oescription, price. extendedPrice i 4
Background image of page 1
Background image of page 1
130 PABT 2 ffi Systems Analysis Activities I r;1,rliir Hm Sequence diagram notation for (d opt frame and (b) alt frame o T Customer I I :System I I (a) Opt frame notation :System I I (b) Alt frame notation Recall the activity diagram for Create customer accownt shown in Figure 5-4. There are two swimlanes: the customer and the computer system. In this instance, the system boundary coincides with the vertical line befween the customer swim- lane and the computer system swimlane. The development of an SSD based on an activity diagram falls into four steps: 1,. Identify the input messages-In Figure 5-4, there are three locations with a workflow arrow crossing the boundary line between the customer and the system. At each location that the workflow crosses the automation boundary, input data is required; therefore, a message is needed. 2. Describe the message from the external actor to the system by using the message notation described earlier-In most cases, you will need a message I Alt | ltaxable iteml i uddSalesTax (locationCode) ll L-- -=r?1taq11!-------.: Il ..... r............ """'1""' I [else] I lt I addTaxExemptionCode (eCode) , lt ; - tax exemption details r i--- ---l
Background image of page 1
Background image of page 1
132 PABT 2 E Systems Analysis Activities state a condition during an obiect's life when it satisfies some criterion, performs some action, or waits for an event 4. Identify and add the output return messages-Remember th_at there are two options for showing return information: as a return value on the *.rrrg. itself or as a separate retufn message with a dashed arrow. The activit"y diagram can provide some clues about return messages, but there i, .ro itar-rdard rule that when a transition arrow in the workflow goes from the system to an external actor an output ahvays occurs. In Figure 5-4, there are three arrows from the computer system swimlane to the .rr,o*. . swimlane. In Figure 5-9, these are shown as return data on the dashed 1ine. Note that they afe each named with a noun that indicates what is being returned. Sometimes, no output data is returned' Remember that the objective is discovery and understanding, so you should be working closely lvith users to define exactly how the workflow proceeds and exactly wh-'at infoimation needs to be passed in and provided as output' This is an iterative pfocess) and you will probably need to refine these diagrams several times before they accurately reflect the needs of the users' Let us de,r.iop an SSD for the Ship items use case that is shown as a fully developed .rr. .ur. description in Figure 5-3. Note that the actor has five numbered st.ps i,, the flow of activiiies, so there rvill be five input messages in the SSD shown in Figure 5-10: getNextSale, setShipper, recordShippedltem, recordBackorder, and getShippinglalel. No parameter is needed for getNextSale because the system will Ieturrihe informatio,, fot the next sale to be shipped. The shipper is selected by the actor-probably from a list on the form or page-so the parameter is shipperlD. Two -.rrng., afe repeated in loops: recordShippedltem ,ld recordBrckorder. On this SSD, the loop frame notation is used. Finally, the getShippinglabel message requires rwo parameters: the size of the package and the ir"iglli.'fh. system use. thaii,-tformation, along with the shipper and address, to produce the shipping label and record the cost. These first sections of this chapter have explained the models that are used in object-oriented developmenr to specify the processing aspects of the new sys- t.*. th. use case descriptions, as piovided by written narratives or activity dia- grams, give the details of tt . internal steps within each use case. Precondition Irrd poi.ondition statements help define the context for the use case-that is, *hai m,rrt exist before and after processing. Finally, the SSD describes the inputs and outputs that occur within a use case. Together, these models provide u .o-p. .h.rrsive description of the system-processing requirements and give the foundation for system design. Now that the use cases have been explained, let us find out how to capture important object status information. The State lVlach!ne Diagraryl- ldentlfying *bject Behavior Sometimes, it is important for a compllter system to maintain information about the sratus of problem domain obiects. For example, a customer might want to know whether a particular sale has been shipped or a manager might want to know if a custom;r sale has been paid for. Thus, the system needs to be able to track the status of customer sales. 'SVhen defining requirements' analysts need to identifi' and document which domain objects require status .h. .tirrg and rvhich business rules determine valid status conditions. Referring back to RMO, an example of a business rule is that a customer sale shouldn't be shipped until it has been paid for. Th. ,t"t6 condition for a real-world obiect is often referred to as the sdfe of the object. Defined precisely, a state of an object is a condition that occuls during its life when it satisfies some criterion, performs some action, or waits i-FJ
Background image of page 1
:t, iiti: EIreI jSD for the Ship items use case CHAPTEB 5 I Extending the Bequirements Models 133 :System I Shipping clerk a I I getNextSale 0 r customer, address, sale, and sale item info I rl recordBackorder (saleltem) backorder conf irmation I I getShippinglabet (package size, weight) r I - I t, _ shipping label data I =--- ---- I for an event. For real-world objects, we equate the state of an object with its status condition. The naming convention for status conditions helps identify valid states. A state might have a name of a simple condition, such as on or In repair. other states are more active, with names consisting of gerunds or verb phrases, such as Being shipped or working. For example, a specific Sale object comes into existence when a cust-omer buys something. Right after it is created, the object might be in a state called Adding neu sale itemi, then a srate called \xlaiting for items to be shipped, and finally, when all items have been shipped, a state called c9,mpleted. If you find yourself trying to use a noun to name a state, you prob- ably have an incorrect idea about states or object classes. The name of a state shouldn't be an object (or noun); it should 6e somethin g that describes the object (or noun). States are described as semipermanent conditions because external events can interrupt a state and cause the object to go to a new state. An object setShipper (shipperlD) j Loop | lshipped item] I I I I shipping confirmation I I I I I I recordShippedltem (saleltem)
Background image of page 1
134 PABT 2 '; Systems Analysis Activities transition the movemenl ct an chlecl ircm cne siale 10 an0iher siato state machine diagram a diagram .choivrnE the life oi an cbleci rn states and iransitiors pseudostate lne stafiing pOint ,i a stale macnine dragram, rndicatec hy a hlar! dot destination state for a particular transition, the state to which an obiect moves after the compietion of a {ransition origin state for a particular transition. the original state of an obiect from which the transilion occurs F]GURE EEn Simple state machine diagram for a printer remains in a state until some event causes it to move, or transition, to another state. A transition, then, is the movement of an object from one state to another state. Transitioning is the mechanism that causes an ob]ect to leave a state and change to ., ,r.* state. States are semipermanent.because transitions i"i"*"p, them" and cause them to end. Generally, transitions are short in Jorutiorr-ompared with states-and they can't be interrupted. The combination of states and transitions between states pfovides the mechanisms that analysts use to capture business rules. In our previous RMO example, we. would say that a .or,o-rn., sale must be in a Paid for state before it can transition to a Shipped state. This information is captured and documented in a UML diagram called a state machine diagram. A state machine diagram can be developed for any problem domain classes that have complex behavior of status conditions that need to be tracked. However, not all classes will require a state machine diagram. If an object in the probiem domain class doesnt have status conditions that must control the processing for that obiect, a state machine diagram probably isn't necessary. iro, .""-"p1., in the RMO class diagram, a class such as Sale may need a state machine diugr"-. However, a class such as SaleTransaction probably does not. A sale transaction is created when the payment is made and then just sits there; it doesn't need to track other conditions. A state machine diagram is composed of ovals representing the states of an object and arrows rep.esenting the transitions. Figure 5'1 1 illustrates a simple state machine diagram for a printer. Because it is a little easier to learn about state machine diagrams by using tangible items, we start with a few examples of computer hardwaie. Aftei the basics are explained, we will illustrate modeling of ,ofti."r. objects in the problem domain. The starting point of a state machine diagram is a black dot, which is called a pseudostate. The first shape after the blalk dot is the first state of the printer. In this case, the printer begins in the Off state. A state is represented by a rectangle with rounded corners (almost like an oval but more squared), with the name of the state placed inside' As shown in Figure 5-11, the arrow leaving the Off state is called a transi- tion. The firing of ihe transition causes the obiect to leave the Off state and make a transition to the On state. After a transition begins, it runs to completion by taking the object to rhe new state, called the destination state. A transition begins *ith an arrow from an origin state-the state prior to the transition-to a Jestination state, and it is labeled with a string to describe the components of the transition. The transition label consists of the following syntax with three components: transition-name (p arameters, . .. ) [guard- condition] / action-express ion onButtonPushed [Safety cover closed] / run selftest Beginning pseudostate denotes start of state machine diagram. Transition-name has trigger name, guard, and action-exPression. State indicates a state of being of the object.
Background image of page 1
Background image of page 1
136 PART 2 # Systems Analysis Activities r.:l:,iirim Sample com7osite states for the printer obiect On Load and Print sheeis contains the name, and the lower compartment contains the nested states and uansition Paths. .srhen the printer enters the on state, it automatically begins at the nested black dot and moYes ;;; iln "^"' Thus, the printer is. in the on and ldle states. .When the print message is received, the printer makes the transition to ,i, Wr'U*gstate but rtro,.l"'"it" inthe On siate' Some new notation is also introduced io. the 'Working state. In this instance, the lower compartment con- tains the action-exprerrio"r--ttrrt is, the activities that occur while the printer is in the'Working state. .we can J-t.rrd this idea of composite states and concurrency one step further by allowing *"1iiff. paths within a composite state. Perhaps an obiect has entire sets of ,iut., ,.rd transitions-multiple paths-Jhat are active concur- rently. To document .orr.rrr. .t't multiple paths for a single object' we draw a .r-prri . state with the lower portion divided into multiple. compartments- one for each concur. .rri p"tt of behavior. For example, imagine a printer that frr, "r, input bin to holi the paper. This printer also alternates between two states in its work cyclet ldle'aid'Worklig' We may want to describe two separate paths: one ,Lpr.r",ttl"g-the-stateoithe input paper ,ffa-y and the other the state of the p.lrrtirrg mJchanism' The first path will -have the states i*pii, Full, and tt;. iE second path will have the states ldle and'Working' ih.r.;, parhs are independent; thi movement between states in one compart- ment is completely i"a"pJ.", of the movement between states in the other compartment. is before, there are two ways to document this concurfent behavior. First, *e .orid or. u-ry,.h'o"iiation bar with one path becoming three paths. Second, we couli use a composite state' Figure 5'13 extends the ;;;. .*r-pi. from Figure 5-1'2' In this example' there are. two concurrent irifr, *i tin-the comfoii. *r,. ..The upper .on.rr.".tt path represents the i^i* ,"^v part of tfr. p,l,tt'' The two paths are completely independent' and the printer ,,,o* tirrough the states and transitions in each path inde- p."a."ify. When the Off bulon is pushed, the printer leaves the On state. 6bri;;iy, -h.r, th. p.lrrr., l.au.s ih. On' state, it also leaves all the paths in the nested states.-It'doesn't matter whether the printer is -in a state or in the middle of a rransition. 'srhen the off button is pushed, all activity is ,i.pp.a, and the printer exits the On state' Now that you know the basic notationofstatemachinediagrams,wewillexplainhowtodevelopaState machine diagram. h
Background image of page 1
l:ncurrent paths for a printer tn the - ^ state CHAPTEB 5 .1i.: Extending the Bequirements Models 137 r't::,: t:, l. t. .!i' l.:i::': ri::l:l,:: : t tll'', ' ,'.i.:.'t, State machine diagram development follows a set of rules. The rules help vou develop state machine diagrams for classes in the problem domain. Usually, the primarv challenge in building a state machine diagram is to identify the right strtes fo, the object. It might be helpful to pretend that you are the object itself. It is easy ro pretend to be a customer but a little more difficult to say "I am an order" or "l am a shipment. How do I come into existence? Iil/hat states am I in?,, Llowever, if you can begin to think this rvay, it rvill help you develop state machine diagrams. The other major area of difficulty for new analysts is to identify and handle composite states with nested threads. Usually, the primary cause of this diffi- .,-rlt1, ir a lack of experience in thinking about concurrent behavior. The best solution is to remember that developing state machine diagrams is an iterative behavior-more so than developing any other type of diagram. Analysts seldom get a state machine diagram right the first time. They always draw it and then refine it again and again. Also, remember that when you are defining require- ments, ,you are only getting a general idea of the behavior of an object. During design, as you build detailed sequence diagrams, you will have an opportunity to refine and correct important state machine diagrams' Final1y, don't forget to ask about an exception condition-especially when you see the words uerifl' or check. Usually, there rvill be two transirions out of states that vefify something: one for acceptance and one for rejection. Here is a list of steps that will help you get started in developing state machine diagrams: Review the class diagram and select the classes that might require state machine diagrams-Remember to include only those classes that have mul- tiple status conditions that arc important for the system to track. Then, begin with the classes that appear to have the simplest state machine dia- grams, such as the Saleltem class for RMO, which is discussed later. For each selected class in the group, make a list of all the status conditions you can identify-At this point, simply brainstorm. If you are working on a ieam, harre a brainstorming session with the whole team. Remember that these states must reflect the states for the real-world objects that will be represented in software. Sometimes, it is helpful to think of the physical obj. .t, identify states of the physical object, and then tlanslate those that are appropriate into corfesponding system states or status conditions. It is 1. offButtonPushed 0 Load and print sheets
Background image of page 1
138 PART 2 I Systems Analysis Activities 3. 4. 5. 6. 7. 8. also helpful to think of the life of the object. How does it come into exis- tence in the system? \7hen and how is it deleted from the system? Does it have active states? Does it have inactive states? Does it have states in which it is waiting? Think of activities done to the object or by the object. Often, the object will be in a particular state as these actions are occurring. Begin building state machine diagram fragments by identifying the transi- tions that cause an object to leave the identified state-For example, if a sale is in a state of Ready to be shipped, a transition such as beginShipping will cause the sale to leave that state. Sequence these state-transition combinations in the correct order-Then, aggregate these combinations into larger fragments. As the fragments are being aggregated into larger paths, it is natural to begin to look for a natu- ral life cycle for the object. Continue to build longer paths in the state machine diagram by combining the fragments. Review the paths and look for independent, concurrent paths-!(/hen an item can be in two states concurrently, there are two possibilities. The two states may be on independent paths, as in the printer example of 'Working and Fwll. This occurs when the states and paths are independent, and one can change without affecting the other. Alternately, one state may be a composite state, so the two states should be nested. One way to identify a candidate for a composite state is to determine whether it is concurrent with several other states and whether these other states depend on the original state. For example, the On state has several other states and paths that can occur while the printer is in the On state, and those states depend on the printer being in the On state. Look for additional transitions-Often, during a first iteration, several of the possible combinations of state-transition-state are missed. One method to identify them is to take every paired combination of states and ask whether there is a valid transition between the states. Test for transitions in both directions. Expand each uansition with the appropriate message event, guard- condition, and action-expression-Include with each state appropriate action-expressions. Much of this work may have been done as the state machine diagram fragments were being built. Review and test each state machine diagram-Review each of your state machine diagrams by doing the following: a. Make sure your states are really states of the object in the class. Ensure that the names of states truly describe the object's states rather than the object itself. b. Follow the life cycle of an object from its coming into existence to its being deleted from the system. Be sure that all possible combinations are covered and that the paths on the state machine diagram are accurate. c. Be sure your diagram covers all exception conditions as well as the normal expected flow of behavior. d. Look again for concurrent behavior (multiple paths) and the possibility of nested paths (composite states). Developing RMO State Machine Diagrams Let us practice these steps by developing fwo state machine diagrams for RMO. The first step is to review the domain class diagram and then select the classes that may have status conditions that need to be tracked. In this case, we select the Sale and Saleltem classes. 'W'e assume that customers will want to know the status of their sales and the status of individual items on the sale. Other classes that are candidates for state machine diagrams are: Inventoryltem, to track in- stock or out-of-stock items; Shipment, to track arrivals; and possibly Customer, to track active and inactive customers.
Background image of page 1
Background image of page 1
140 PABT 2 i,, Systems Analysis Activities The fourth srep is to look for concurrent paths. In this case, it doesn't appear that a Saleltem object can be in any two of the identified states at the same time. Of course, because we chose to begin with a simple state machine diagram, that was exPected. The fifth step is to look for additional transitions. This step is where we flesh out other necessary transitions. The first addition is to have a transition froml'lewly addedto On back order. To continue, examine every pair of states to see whether there are other possible combinations. In particular, look for backward transitions. For example, can a Saleltem go from Ready to ship to C)n back order? This would happen if the shipping clerk found that there weren't enough items in the warehouse, even though the system indicated that there should have been. Other backward loops, such as {rom Sbipped to Reddy to ship or from On back order to I'lewly added, don't make sense and aren't included. The sixth step is to complete ail the transitions with correct names, guard- conditions, and action-expressions. Two new transition-names are added. The first is the transition from the beginning black dot to the I'Jewly added state. That transition causes the creation-or, in system terms, the instantiation-of a new Saleltem ob;ect. It is given the same name as the message into the system that adds it: addltemfl. The final transition is the one that causes the order item to be removed from the system. This transition goes from the Shipped state to a final circled black dot, which is a final pseudostate. On the assumption that ir is archived to a backup tape when it is deleted from the active system, that transi- tion is named archive$. Action-expressions are added to the transitions to indicate any special acrion that is initiated by the object or on the object. In this case, only one action is required. \7hen an item that was Reddy to ship moves to On back order, the sysrem should initiate a new purchase order to the supplier to buy more items. Thus, on the markBackOrdered0 transition, an action-expression is noted to place a purchase order. Figu,rre 5-'16 illustrates the final state machine diagram for Saleltem. The seventh step-reviewing and testing the state machine diagram-is the quality-review step. It is always tempting to omit this step; however, a good froject manager ensures that the systems analysts have time in the schedule to do a qurck quality check of their models. A walkthrough (as described in Chapter 2) at this point in the proiect is very appropriate. A Sale object is a little more complex than the Saleltem obiects. In this example, you will see some features of state machine diagrams that support more com- plex objects. : : :. ,- E n Final state machine diagram for Saleltem object markBackOrdered 0 / place purchase order
Background image of page 1
Background image of page 1
142 PABT 2 I Systems Analysis Activities ETEI Second-cut state machtne diagram for Order Open for item adds shippingCurrent 0 [backorders exist] and returns to the same state. Figune S-1S takes the state machine diagram to this level of completion. The benefit of developing a state machine diagram for a problem domain object is that it helps you capture and clarify business rules. From the state machine diagram, we can see that shipping can't commence while the sale is in the Open for item adds state, new items can't be added to the sale after it has been placed in the Ready for shipping state, and the sale isn't considered shipped until all items are shipped. If the sale has the status of 1z sbipping, we know that it is either actively being worked on or waiting for back orders. As always, the benefits of careful model building help us gain a true under- standing of the system requirements. Let us now look at the big picture and see how the different models fit together. lntegrating Requirements Models The diagrams described in this chapter allow analysts to completely specify the system functional requirements. If you were developing a system using a water- fall systems development life cycle, you would develop the complete set of dia- grams to represent all system requirements before continuing with design. However, because you are using an iterative approach, you would only con- struct the diagrams that are necessary for a given iteration. A complete use case diagram would be important to get an idea of the total scope of the new system. But the supporting details included in use case descriptions, activity diagrams, and system sequence diagrams need only be done for use cases in the specific iteration. The domain model class diagram is a special case. Much like the entire use case diagram, the domain model class diagram should be as complete as possi- ble for the entire system, as shown for RMO in Chapter 4. The number of ts-
Background image of page 1
Background image of page 1
Sign up to view the entire interaction

Top Answer

The answer is... View the full answer

8580520.docx

Use this link to ask me questions directly http://www.coursehero.com/tutor-profile/coursehero.sir/
Answer 1
Does this model limit a customer to enroll in more than one account at a time? Yes
Does...

Sign up to view the full answer

Why Join Course Hero?

Course Hero has all the homework and study help you need to succeed! We’ve got course-specific notes, study guides, and practice tests along with expert tutors.

-

Educational Resources
  • -

    Study Documents

    Find the best study resources around, tagged to your specific courses. Share your own to gain free Course Hero access.

    Browse Documents
  • -

    Question & Answers

    Get one-on-one homework help from our expert tutors—available online 24/7. Ask your own questions or browse existing Q&A threads. Satisfaction guaranteed!

    Ask a Question
Ask a homework question - tutors are online