Understanding UML Activity Diagrams in Software Design
UML Activity Diagrams provide a modern way to visualize business processes, workflows, data flows, and complex algorithms in software systems. They use symbols to represent different parties involved, actions performed, transitions, and control flows. These diagrams help in modeling data flows, object flows, and the overall flow of activities in a system. By understanding the syntax, partitions, and hierarchy representation of UML Activity Diagrams, software designers can effectively communicate and design software systems to meet specific criteria and trade-offs.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
Left - The system has to DO things. How do you show, at a high level, What it does? CSSE 374: UML Activity Diagrams Steve Chenoweth Office: Moench Room F220 Phone: (812) 877-8974 Email: chenowet@rose-hulman.edu Chandan Rupakheti Office: Moench Room F203 Phone: (812) 877-8390 Email: rupakhet@rose-hulman.edu These slides and others derived from Shawn Bohner, Curt Clifton, Alex Lo, and others involved in delivering 374.
Learning Outcomes: Patterns, Tradeoffs Identify criteria for the design of a software system and select patterns, create frameworks, and partition software to satisfy the inherent trade-offs. Examine the use of UML Activity Diagrams This will not be a part of any HW or documentation for Milestone 5. Likely a question on final exam Q3
UML Activity Diagrams Essentially Modern Version of Flowcharts and/or Data Flow Diagrams Easy to understand Used to model: Business processes Workflows Data Flows Complex algorithms/UCs Symbols
Activity Diagram UML Syntax Partitions. Show different parties involved in the process start Customer Service Fulfillment Finance Action. It does something. There is an automatic transition on its completion. Receive Video Order A transition supports modeling of control flow. Object Node. An object produced or used by actions. This allows us to model data flows or object flows. Fork. One incoming transition, and multiple outgoing parallel transitions and/or object flows. Fill Order Send Invoice Invoice Order Receive Payment Deliver Order Join. Multiple incoming transitions and/or object flows; one outgoing transition. The outgoing continuation does not happen until all the inputs arrive from all flows. Close Order end of activity
Old Data Flow Diagrams DFD for Automated Course Registration System process accept/deny reply 2 1 Check Applicant Qualification application Check Course Availability Applicant application application course data student data data flow external actor Courses Applications Students data store, such as a DB, DB table, or file
Hierarchy Representation: Rake Symbol Fill Order the rake symbol (which represents a hierarchy) indicates this activity is expanded in a sub-activity diagram Deliver Order
Expanded Delivery Order Activity Diagram Deliver Order Decision: Any branch happens. Mutual exclusion [ else ] [ rush ] Deliver Regular Deliver Rush Merge: Any input leads to continuation. This is in contrast to a join, in which case all the inputs have to arrive before it continues.
Post Office Showdown Think that he might be watching too many martial arts films?
Signal Notation A time signal Receive Video Order 30 days since sent last invoice, and no payment received Resend Invoice Fill Order Send Invoice Deliver Order Receive Payment Accept a signal Cancel request Close Order Cancel Order
NextGen POS: Reducing Complexity Customer Cashier Authorization Service NextGen POS Shop and Fill Cart Cart Enter Cart Items Calculate Taxes and Discounts [ cash payment ] [ else ] Submit Authorization Request Authorize Payment Receipt Create Receipt Hand Over Items NextGen Process Sale UC benefits from activity diagram due to its complexity
Activity Diagram Guidelines Use when need to depict processes with complex flow Conditional or iterative Use rake notation for sub- activity diagrams Keeps parent diagram simple Maintain a consistent level of abstraction within a diagram
Exercise on Activity Diagrams We ll do in class Break up into your teams Sketch an activity diagram for creating an account, with username & password, on a website. Be sure to include swim lanes for the User, the System, and an external CAPTCHA Service. Your diagram should include: a check that the password is valid, a check that the username has not already been used a check that user entered CAPTCHA text correctly Decide what order these checks should be done in, and do those in parallel that make sense!