SYSTEMS ANALYSIS CIS 3300
Popular in Course
Popular in Computer Information Systems
This 16 page Class Notes was uploaded by Jalyn Heaney DDS on Monday September 21, 2015. The Class Notes belongs to CIS 3300 at Georgia State University taught by Geoffrey Hubona in Fall. Since its upload, it has received 36 views. For similar materials see /class/209819/cis-3300-georgia-state-university in Computer Information Systems at Georgia State University.
Reviews for SYSTEMS ANALYSIS
Report this Material
What is Karma?
Karma is the currency of StudySoup.
Date Created: 09/21/15
Capynghi Ranaml 5am 2am humthaner camcamemseprnzmassage isp m E Fealures Managemem News RaHnMiRemei Venhmcai Frankiin sKiie RatiansiDaveioparNeiwark xubscvibn UML basics cameras Part I The activity diagram submiian nmcie bv Dan 53 raiianaiwm IBM Giobai Services issue mam archives In June 2003 The Rauonai Edge mislian smlgmeni ediianai no dlagram Includlng tnrs diagram 5 compate UML v14 notatron set The actlv purpose Ity diagram39s The purpose of the activitv diagram is to rnodei the procedurai ow of actions that are part of a iarger activitv n o ects in which use dltet reservation data rnart popuiates a corporate saies svstem s data warehouse Because it modei ai ow the activitv diagram to uses on the s procedur c action sequenoe of execution and the conditions that trigge ow or that trigger the activitv according to some event e g it s 12 30 on Aprii 13th and Green Dav udltets are now on saie for the group s summer tour rthough UML sequence oragrams can protrav the same rntormatron as actrvrtv oragrams x personarw nd actrvrtv oragrams best tor modehng busmessnrever mctrons Thrs rs because actrvrtv oragrams show arr m o o m a m 1 1 go 3 o o m a m busrness managers are used to seerng ow dragrams so the ook of an actrvrtv dragram rs tamrhar The notation The actrvrtv dragram s rrotatrorr rs verv srmrrar to that ota statechart dragram In fact accordmg to the UML specrhcatrorr arr actrvrtv dragram rs a varratron ota statechartdragraml So rfvou e a readv rh wth statechart dragrams vou er have a reg up on understandmg the actrvrtv dragram s notatron and much of the drscussron berow er be revrew tor ou The basics Frrst et s corrsrder the actron eremerrt rrr arr actrvrtv dragram whose othcrar UML name rs actron state In mv experrence peopre rarew rt ever caH rt an actron state usuarw thev caH rt ertheractron or actrwty In thrs artrcre x er arwavs reter to rt as actron and er use the term actrwty onw to reter to the whore task berng modered by the actrvrtv oragram Thrs orstrnctron er make mv expranatrons easrer to understand h rs rnorcateo on the actrvrtv oragram by a capsure shape ea gurar object wrth mrcrrcurar rett and rrght ends see Frgure 1 The sroe rt rnorcates the actron e g Customer CaHs Trcket othce or ens Cusmmer CaHs Trtket omte Igure 1 A sample an Inn mat I5 part of an amvrty diagram rectan text H v Regrstratron Of ce Op u e actrvrtv dragrams show a se uenoe otactrons thev must rndrcate v0 crrcre wrth a transrtron hne arrow that connects rt to the rst actron rn the actrvrtv s sequence of cuons Fr ure 2 shows what an actrvrtv dragram s rnrtrar state ooks hke Arthough the UML speohcatron does not prescrrbe the ocatron of the rnrtrar state on the actrvrtv dragram rt rs usuaHv easrest to prace the hrst actron at the top rett corner ofvour dragram Figure 2 The ai state clearly shows the starting point for the action sequence Within an actnnty diagram it is important to note that there can be only one initiai state on an activitv diagram and only one transition iine connecting the initiai state to ve orii one initiai state there are certain circumstances re nameiv the commencement ofasvndnronous action se uences re that mav suggest that a new initiai state shouid be indicated in the activitv diagram UML ow this Figure 3 offers an exampie o an incorrect activitv diagram because the initiai state has two transition iines that point to two actwities I state within an activity can indicate only ONE act39on Figure 3 Incorrect rendering of an diagram The In ai state With arrows indicating direction the transition iines on an activitv di am show the sequenuai ow of actions in the modeied activitv The arrow wiii aiwavs point to the next action in the actiVitv s sequence igure 4shows a comp ete activitv diagram modeiing how a customer books a concert ticket r mama 5 K mm s k mama I light V i u W 7 mmm a Rwym 42m 1525353 mnmmm x MWH 5 F i gt mag T74 g Figure 4 A complete activity diagram makes the sequence of actions easy to understand The sampie activitv diagram in Figure 4 documents the activitv Booking a CorioertTicket With actions in the toiioWing order 1 Customer caiis ticket otiice 2 Ticket rep asks What event person WariB tickets for 3 Customer teHs rep event choice 4 Ticket rep teiis customer avaiiapie seats and prioes 5 Customer teHs rep seating dnoice 6 Ticket rep reserves seats 7 Ticket rep asks tor credit card and piiiing address 8 Customer gives requested information 9 Ticket rep charges credit card 10 Ticket rep maiis tickets The above action order is clear from the diagram because the diagram shows an initial state starting point and from that point one can follow the transition lines as they connect the activity39s actions The activity39s flow terminates when the transition line of the last action in the sequence connects to a quotfinal statequot symbol which is a bullseye a circle surrounding a smaller solid circle As shown in Figure 4 the action quotTicket Rep Mails Ticketsquot is connected to a final state symbol indicating that the activity39s action sequence has reached its end Every activity diagram should have at least one final state symbol otherwise readers will be unclear about where the action sequence ends or perhaps assume that the activity diagram is still a work in progress It is possible for an activity diagram to show multiple final states Unlike initial state symbols of which there can be only one on an activity diagram final state symbols can represent the termination of one of many branches in the logic in other words the activity may terminate in different manners Beyond the basics We have covered the basic notation elements of an activity diagram but there are still more notation elements that can be placed on this type of diagram Although the Figure 4 diagram is technically complete the activity modeled in Figure 4 is very simplistic Typically activities modeled for real software development projects include decision points that control what actions take place And sometimes activities have parallel actions Decision points Typically decisions need to be made throughout an activity depending on the outcome of a specific prior action In creating the activity diagram for such cases you might need to model two or more different sequences of actions For example when I order Chinese food for delivery I call the Chinese food delivery guy give him my phone number and his computer will automatically display my address if I39ve ordered food before But if I39m a new customer calling for the first time he must get my address before he takes my order The UML specification provides two ways to model decisions like this The first way is to show a single transition line coming out of an action and connecting to a decision point The UML specification name for a decision point is decision and it is drawn as a diamond on an activity diagram Since a decision will have at least two different outcomes the decision symbol will have multiple transition lines connecting to different actions Figure 5 shows a fragment of a sample activity diagram with a decision mammaryu manta owwu 1 m stem M g rm t tam Figure 5 A declslon point models a choice that must be made within the sequence of actions As shown m Frgure 5 each transmon hne mvo ved m a decrsron pomt rnust be abe ed wrth text above rt to rndrcate guard condrtrons cornrnonw apprevrated as guards Guard condmon text rs a wavs p aced m brackets ea tor examp e guard condmon text A uard oondrtron exphcrtw teHs when to tohow a transmon H v acnth dwagrams to rnean rnatches the actua condmon then tohow the e se transmon hne Merge points Sornetnnes the procedura ow from one dec s on path mav connect back nother dec s on path as shown H v ngre 6 at the Customer s Age gt condm n In ese cases We connect two or more actwon pat s ether usmg the sarne dwamond con thh mu t p e paths pomtmg to wt Wxth onw one transmon hne commg out of wt Thxs does not mdwcate a decwswon pomt but rather a merge to in tog but r ure 6 shows the sarne decrsron as m Frgure 5 put Frgure o expands the e ence kes take u r custorner S 21 veers od or o our act o q ta s rson had ordered a der en n se to the sarne actron the bartender Womd touow rt the p nowa oohohc drmk Get Drmk For Customer u e mam t ii Figure 6 A partlal ach39vity diagram showing two decision points quotDrin alcohol quot and quotCustomer39s a e lt 21quot and one merge quotelsequot and quotCustomer39s age gt 139 c k to enlarge An alternative approach The second approach to modeimg decisions is to have muitipie transition imes coming out ot an action as m ngure 7 itthis method is used then each transition ime comm out ot the action must have a guard iapei above it as With decisions i e the diamond svmbois m the rst approach AH the ruies that app v to the decision svmboi apin to decisions that are modeied out ot an action PersonaHv i do not recommend this approach pecausei preter a Visuai queue ot the decision Neuertheiess the UML14speci cation aHoWs this approach as shown in Figure 7 and i e sake ot compieteness mention it here for th J Maestrsaaam humus ou g enema 1 39 oaohtr g Figure 7 Although I do not recommend this approach the UML 14 5 a conditions vaou choose this seoond approach vou must have muitipie action sequenoes merge into a singie sequence To do this vou connect the iast transition iines in the Speci c sequence to the action at which the sequenoe becomes one 595er In Frgure 8 thrs rs rHustrated wrth the transmon hne trorn TeH custorner to order a nowa oohohc drmk returmng o the actron Customer orders drmk one A m Nerk mv t r l wasquot s lt mam e W use W Figure 8 The second approach to modeling dec39 Synch states for asynchronous actions when rnodehng actwmes vou sornetrrnes need to show that certam actron the ow ot actwwtv svnon states aHow the forkmg and Jommg ot exeomon threads To be dear a svnch state that forks actrons mto two or more A h i the ow t and a svnch state that JOH VS actrons back together represents a return to svndwromzed ow A s non state rs drawn as a thrck sohd hne wrth rs an actwm dragrarn tragrnent that shows the forkmg otexecutron ode ed VEer Ordervd Products Are in Slack neteue order Verle mama Ha gt Avallatlla TEEN Figure 9 A thick so d ne indicates a synch state a owrng two or more action sequences to proceed in parallel in the example shown m Flgure 9 atter the actlol l Recelve Order lS completed two threads are klcked ottm parallel Thls allows the svstem to process both the Veer Ordered Products Are in Stodlt and the Verlfv Customer Has Avallable Cl edltH actlorls at the same tlme when vou fork exemtlol l mto multlple threads tvplcaHv vou have to rejolrl them at some pomt tor later prooessmg iTherefore the svl39ldw state element lS also used to denote multlple threads Joll lll lg back together mto a smgle thread Flgure 10 shows an actlvltv dlagram tragment that has two threads JOH lH lg lnto one Valfy Ordered Floats Are in 5m I Accept am gt lt VarWCusmmElHas Avalhblz Oedll 2 Figure 10 When paral l action sequences ter 39 ate a synch state thickl e 39 ate that the mu ple threads are joined back into a single thread ln Flgure 10 the Verlfv Ordered products Are in Stock and the Veer processll lgi and the Accept Order actlon ls prooessed Note hat the slngle transltlon llne cornlng out of e svndn state means there ls now onlv one threa ot executlol l can also be used as a svnchronlzatlol l polnt ln an actlvltv s oe actlvltv dlagram fragment that uses a svndn state as a svnchronlzatlol l polnt Nunl39hread Adm 3 xxx i Qmamw j fawning i Figure 11 Using a synch state as a synchronization point k to en arge Aithough it is abstract 1 beheve the diagrarn in Figure 11 provides an easv The activitv starts With aH the action in one thread and when the action Main T rea Action gtltgtltgtlt is done the activitv breaks into three threads executing in paraiiei in the rst thread Thread lAction e threads are forked and both actions on these threads are executed in araHe Now here is what is most significant about this example Remember that when multiple threads are executing the actions in one thread must not impact the actions executing in a parallel thread In Figure 11 the action quotThread 1 Action 1quot may be done quickly and quotThread 1 Action 2quot could begin processing before quotThread 2 Action 1quot is complete The only thing that will cause threads to wait for another parallel thread is a synch state placed as shown in Figure 11 In all the above examples the synch states are drawn as thick vertical lines however the UML specification does not require these lines to be oriented in one way or another A synch state can be a horizontal thick line or even a diagonal thick line However UML diagrams are meant to communicate information as easily as possible so a person should typically draw a synch state icon as a vertical or horizontal line only when it makes complete sense eg when running out of space on a whiteboard or piece of paper should a synch state be drawn at an odd angle Swimlanes In activity diagrams it is often useful to model the activity39s procedural flow of control between the objects persons organizations or other responsible entities that actually execute the action To do this you can add swimlanes to the activity diagram swimlanes are named for their resemblance to the straightline boundaries between two or more competitors at a swim meet To put swimlanes on an activity diagram use vertical columns For each object that executes one or more actions assign a column its name placed at the top of the column Then place each action associated with an object in that object39s swimlane Figure 12 shows that two objects execute actions eg Band Manager and Reporting Tool The Band Manager object executes the quotSelects the View Sales For My Band Reportquot action and the Reporting Tool executes the quotRetrieve Bands the Band Manager Managesquot action It is important to note that although using swimlanes improves the clarity of an activity diagram since all the activities are placed in the swimlanes of their respective executor objects all the previously mentioned rules governing activity diagrams still hold true In other words you read the activity diagram just like you would if no swimlanes were used em Manivex Revenan mx Sexeetsthewew Sexes Fm Mv Sends Repen Remeve Sendstheaend MeneeexMeneees stpxav 39epuncxx exxa SexeetxenSexeen Sexeetsthe Send to Vxew SaxesREpunFux Remeves Sexes ermes Fvum Sexes DE stpxavsaxes Repun Figure 12 Two swimlanes nguish the actions of the Band Manager object from those of the Repo 9 Tool object Advanced notations elements A we heve seen so tet ectxons ete tvpxcaHv executed by en object But sometxmes en ectxon wxxx out ut en object thet xs xx39xput t enother ectxon t e se e pro mxe x h modex thxs object ow UML hes e notetxon oexxed actionrobjectflow relationship end xx39xcxudes two tvpes otnotetxon svmboxs w objecthth end objectm state Object flow ct ow xs the serne thxn es e transxtxorx xxne but xt xs shown es e stete swn o o the next ectxon Fxgure 13 shows thxs ectxoneobxect ow rexetxons x PP Figure 13 Actionobject ow relah ons p Note that m H we 13 tnstead 0t transttton hnes between the tWO ortshtp between two acttorts trhpttes t artstttort to art ttort b ct H w retatt th her actton so transttton hnes are constdered redundant Object state The obtect th state svmbot ts the rectahgte th thure 13 The rst part at the obtect th state svmbot ts the ahdertthed text The ahdertthed textt the rectahgte ts the object s ctass harhe ea th our exarhpte Order aa a thts ctass woutd be touhd h ehe at t svstem s ctass dtagrams The secOhd art at the obtect th state ts the text thstde the brackets wht ts the object s state name Irtctudtrtg the object s state ts opttortat but recorhrhehd vou do so tt ah acttOh odtttes the object s state i ngre 14 ows a comptete acttvttv dtagram wtth mutttpte acttortaobtect ow sh retattOhshtps rt rtd g dw 39 ti Jame FT t may t Figure 14 The quotPlace Orderquot action puts the Order object into the quotPlacedquot state then the quotVerify Ordered Products Are In stockquot aclion moves the Order o i t t e quotAcceptedquot state en ar e The tnctuston ofacttortrobject ow retauonshtps does not change the Wav ou read an acttvttv dtagram ttjust provtdes addtuonat tntonnatton tn 4 t e modt tng the Order s states because the objects tn state svmbots have the states on them Subaclivity state The subactlwty state represents another acttvttv dtagrarn that vou can use when vou want to nest another acttvttv tn the ow of an acttvttv A Subacttvttv state ts ptaced where an actton sta on an acttvttv dtagrarn wou d be tocated You atso dr w a subacttvttv state tn the same Wav as an actton state wtth the addttton of an tcon tn the tower nght corner deptcttng a ne ted acttvttv dtagram The name of the subacttvttv ts ptaced tn the svmbot as shown tn thures 15 and 1 Asstgn Request Tn suppart T2 am Figure 15 Example of a subaclivity state as drawn with IBM Rational XDE Build Prutllm Figure 16 Example of a subactivity state as drawn in the UML specification Note the slight difference between the subactivity state icons placed in the lower right corners in Figures 15 and 16 The UML 14 specification does not explicitly state what the icon should be but instead says this A subactivity state is shown in the same way as an action state with the addition of an icon in the lower right corner depicting a nested activity diagram The name of the subactivity is placed in the symbol The subactivity need not be unique within the diagram This notation is applicable to any UML construct that supports quotnestedquot structure The icon must suggest the type of nested structure For now this means that there is not a standard symbol since subactivity state icons can be different depending on who or what tool adds them to the activity diagram So until firmer agreement is reached on the appearance of this icon it is best to simply be consistent Use the same icon every time you represent a subactivity state Conclusion Like all UML diagrams the number one purpose of the activity diagram is to communicate information effectively One main reason to include activity diagrams in an overall system model is that they model the procedural flow of control for various activities This is important because this sort of model allows business people to get a better understanding of the business environment in which a system will run Of course activity diagrams are not limited to modeling business processes they can also be used to model computer processes Typically you will not use every notation element described in this article when you create your own activity diagrams But you will make frequent use of the initial state transition line action state and final state notation elements In our next installment of this series on essential UML diagrams we will take a close look at the Class Diagram See you later this fall Notes 1 In the current draft version of UML 20 the activity diagram will no longer inherit from the statechart diagram However a full discussion of this subject is outside the scope of this article 2 In the United States people younger than 21 years of age cannot purchase alcoholic beverages such as beer or wine 3 In activity diagrams if you fork execution into multiple threads there is no requirement to rejoin the threads it39s possible though unlikely to have an activity sequence that breaks off and then just terminates An example of an activity sequence that might fork off and need Bf an Event 4 Remember met we actan m uhttake uneer m execute them the ether m a this dwagramy r n aDDEar an an amth dwauram but net c ass mae H4 at e m 1R6 a sn be made ed an a statechart d auram For 39 39 39 39 39 article please click here and follow the instructions provided Thank you anleght wax nal smware mm prwagmegal Infurmaunn