Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 14. Activity Modeling for Transformational Systems

Similar presentations


Presentation on theme: "Chapter 14. Activity Modeling for Transformational Systems"— Presentation transcript:

1 Chapter 14. Activity Modeling for Transformational Systems

2 Key Takeaway Points Activity modeling deals with the modeling of the information processing activities of an application or a system that exhibits sequencing, branching, concurrency, as well as synchronous and asynchronous behavior. Activity modeling is useful for the modeling and design of transformational systems.

3 Activity Modeling in the Methodology Context
Use case-iteration allocation matrix Business goals & needs Current situation Accommodating Requirements Change Customer feedback Acquiring Requirements Iteration use cases Domain Modeling Preliminary requirements Domain model Domain model Deriving Use Cases from Requirements Actor-System Interaction Modeling Abstract & high level use cases, use case diagrams Expanded use cases & UI design Allocating Use Cases & Subsystems to Iterations Behavior Modeling & Responsibility Assignment Behavior models Use case-iteration allocation matrix Deriving Design Class Diagram Producing an Architecture Design Design class diagram Software architecture Test Driven Development, Integration, & Deployment (a) Planning Phase (b) Iterative Phase – activities during each iteration control flow data flow control flow & data flow

4 What Is Activity Modeling
Activity modeling focuses on modeling and design for complex information processing activities and operations information flows and object flows among the activities branching according to decisions synchronization, concurrency, forking, and joining control flows workflow among the various departments or subsystems

5 Why Activity Modeling Systems analysis and design need to describe current information processing activities in the organization or existing system (modeling of the existing system) to help the development team understand the existing business describe information processing with the proposed solution (system design)

6 A UML activity diagram is a combination of
An activity diagram models the information processing activity in the real world (analysis model) or the system (design model). A UML activity diagram is a combination of flowchart diagram for decision making or branching data flow diagram for information processing and data flows Petri net diagram for various control flows for synchronization, concurrency, forking, and joining

7 A Flowchart decision making x=x+1 x<10 y=y+1 y<10

8 A Data Flow Diagram information processing activity data flow Verify
Order Customer Books Customers Generate Requisition to Publisher Publishers Book details Credit status orders Pending orders verified order Order details Publisher Purchase address 1 2 information processing activity data flow

9 Petri Nets places, representing an abstract condition
transitions, representing an event or happing relationship between a place and a transition, it can only come from a place to a transition or from a transition to a place tokens, which can be placed in places to indicate that the condition is true

10 A Petri Net Example You can interpret the places and a new job arrives
transitions. That is, assigning meanings to them. a new job arrives begin process done job leaves job waiting processor available job being processed job ready to go events condition of system

11 Petri Net Execution A transition is enabled if and only if each of its input places contains a token. A transition can be fired sooner or later if it is enabled. Firing a transition removes a token from each of its input places AND places a token into each of its output places t1 t2 t3 t4

12 Petri Net Marking An initial marking is an assignment of tokens to places. t1 p2 t1 is always enabled, because it does not have an input place. p1 firing t1 places a token in p1 t2 t2 is now enabled p3 firing t2 removes one token from each of p1 and p2 and places one token in p3 t3 t3 is now enabled p4 firing t3 removes one token from p3 and places one token in p4 and p2 t4

13 Petri Net Marking “a new job arrives” is always enabled,
meaning a new job can arrive anytime. a new job arrives processor available fire “a new job arrives” job waiting “begin process” is now enabled begin process fire “begin process” job being processed job is being processed “process done” is now enabled process done fire “process done” job is ready to leave & processor is available again job ready to go “job leaves” is now enabled job leaves fire “job leaves”

14 Analysis of Petri Net (p1, p2, p3, p4) (0, 1, 0, 0) p2 p1 t1
(0, 1, 0, 0) p1 t1 (1, 1, 0, 0) t2 t2 t1 p3 (1, 1, 0, 0) (0, 0, 1, 0) t3 p4 t4

15 Petri Net Analysis Tree
A marking is presented by a list of “0” and “1”: (n1, n2, ..., nk) where ni = 1 if place i contains a token The root of the tree denotes the initial marking (initial system state). Thus, the initial marking and root of tree for the Petri net on left is: (0, 1, 0, 0). t1 p2 p1 t2 p3 t3 p4 t4

16 Petri Net Analysis Tree
Firing a transition grows the tree with a new branch, labeled by the transition fired and the resulting new marking. (0, 1, 0, 0) (1, 1, 0, 0) t1 t2 t3 t4 p1 p2 p3 p4 (0, 0, 1, 0) t2 t1 t3 t4 p1 p2 p3 p4 t1 t2 t3 t4 p1 p2 p3 p4 (1, 1, 0, 0)

17 Petri Net Analysis (0, 1, 0, 0) t1 p1 p2 (w, 1, 0, 0) t2 (w, 0, 1, 0)
w denotes a large number of tokens because t1 can be fired many times. (0, 1, 0, 0) t1 p1 p2 (w, 1, 0, 0) t2 t2 (w, 0, 1, 0) p3 t3 t3 (w, 1, 0, 1) t2 t4 p4 (w, 1, 0, 0) (w, 0, 1, 0) t4 These have occurred at a higher level.

18 Petri Net Expressiveness
parallelism sequencing synchronization exclusion

19 Activity Diagram Notions and Notations
Activity or action Conditional branching Control flow Object flow obj:Class Forking Joining or synchronization Swim lane to represent info and control flow between departments/subsystems Initial node, final node, and flow final node

20 Box Office Order Processing
branching condition branching Set Up Order [single order] Assign Seats activity [subscription] forking to create concurrent threads Assign Seats Award Bonus Debit Account Charge Credit Card joining to synchronize concurrent threads merging alternating threads Mail Package

21 Activity Diagram: Swim Lane
Customer Sales Accounting Warehouse object flow Pack Items Place Order : NewOrder Ship Order branching Verify Order forking [reject] [ok] Show Msg Fill Order : Invoice Send Invoice Make Payment Process Payment merging alternating routes joining concurrent threads Close Order

22 Activity Decomposition and Invocation
A complex activity can be decomposed and represented by another activity diagram. The rake-style symbol is used to signify that the activity has a more detailed activity diagram. <<Server>> Database An Activitiy It is described by a more detailed activity diagram. Another DB

23 Expansion Region An expansion region is a subset of activities or actions that should be repeated for each element of a collection. The repeated region may produce one or more collections. A collection of line items Place Order :Order :LineItem Add Item to shipment Add Cost to Invoice :Item :LineItemCost Expansion region :Shipment :Invoice Ship Order Send Invoice

24 Using Activity Diagram
Modeling, analysis and design of complex information processing activities involving one or all of the following: control flows object flows or data flows access to databases or data depositories conditional branching concurrent threads synchronization Work flow among multiple organizational units and/or subsystems.

25 Using Activity Diagram
Activity diagram can be used alone or used with the other diagrams. Activity diagram can be used to model the information processing activity of a system, subsystem or component, or a method of a class.

26 Steps for Activity Modeling

27 Relation to Other Diagrams
An activity may be a use case, or suggest a use case. Therefore, activity modeling is useful for identifying use cases. Activity diagrams are useful for showing workflows and control flows among use cases. Activity modeling is useful for processing complex requests in a sequence diagram. An activity may exhibit state-dependent behavior, which can be refined by state modeling.

28 Relation to Other Diagrams
A state may represent a complex process, which can be modeled by an activity diagram. Each object sent from one activity to another should appear in the design class diagram (DCD), or the domain model. Swim lanes may suggest object classes in the domain model, or the DCD. The activities of the swim lane identify operations for the class. A complex activity may decompose into lower-level activities. Some of these may be operations of the class.

29 Describe the activities for doing one of the following:
Class Exercise Describe the activities for doing one of the following: preparing and submitting a project proposal in your organization buying a new or used car workflow for configuration management Convert the description into an activity diagram. Review the diagram and identify potential problems.

30 Applying Agile Principles
Value working software over comprehensive documentation. Active user involvement is imperative. A collaborative and cooperative approach between all stakeholders is essential. Capture requirements at a high level; make them lightweight and visual. Do barely enough activity modeling.


Download ppt "Chapter 14. Activity Modeling for Transformational Systems"

Similar presentations


Ads by Google