Chapter 14. Activity Modeling for Transformational Systems

Slides:



Advertisements
Similar presentations
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Advertisements

Information Technology IMS5024 Information Systems Modelling Event-driven modelling.
Software Design Process A Process is a set of related and (sequenced) tasks that transforms a set of input to a set of output. Inputs Outputs Design Process.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Objectives Detailed Object-Oriented Requirements Definitions
Introduction to BizAgi. Slide 2 User Interface (Summary) The user interface for BizAgi resembles Office It uses a similar ribbon The Palette contains.
SE 555 Software Requirements & Specification 1 Activity Diagrams.
Slide 10B.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
© Copyright Eliyahu Brutman Programming Techniques Course.
Requirements Analysis Activity Diagrams b511.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Detailed Object-Oriented Requirements Definitions
COMP1007 Intro to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis Lecture.
SE-565 Software System Requirements More UML Diagrams.
Software Design Processes and Management
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Software Development Process
Lecture 6 Unified Modeling Language (UML)
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
CS 325: Software Engineering March 3, 2015 Activity Modeling for Transformational Systems Trtansformational Systems UML Activity Diagrams.
Slide 16B.51 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Chapter 8: Actor-System Interaction Modeling
Objectives Detailed Object-Oriented Requirements Definitions
Systems Analysis and Design in a Changing World, Fifth Edition
Activity/Workflow Diagrams Chapter 7 Appendix B. © 2011 Pearson Education, Inc. Publishing as Prentice Hall Process Modeling: Activity/Workflow Diagrams.
Key Takeaway Points A use case is a business process; it begins with an actor, ends with the actor, and accomplishes a business task for the actor. Use.
Other UML Diagramming Techniques CS 124. UML Diagramming Techniques Class Diagrams Use Case Diagrams Interaction Diagrams Sequence diagrams Collaboration.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Chapter 18: Implementation Considerations
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Chapter 12: User Interface Design
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Chapter 11 Activity Diagrams. 2 “Activity diagrams are a technique to describe procedural logic, business processes, and work flows” - M. Fowler An activity.
UML’s StateChart FSM, EFSM in UML Concurrent states Tool support.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
Systems Analysis and Design in a Changing World, Fourth Edition
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
UML Activity Diagrams.
 Activity diagram is basically a flow chart to represent the flow from one activity to another activity.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML Activity Diagrams.
Systems Analysis and Design in a Changing World, Fourth Edition
Business Process and Functional Modeling
Analysis Classes Unit 5.
Chapter 4: Business Process and Functional Modeling, continued
Unified Modeling Language
Activity and State Transition Diagram
Visit for more Learning Resources
Business System Development
UML’s StateChart FSM, EFSM in UML Concurrent states Tool support.
UML Activity Diagrams.
Software Engineering Chapter 5 (Part 3) System Modeling Dr.Doaa Sami.
Object Oriented Analysis and Design
Other UML Diagramming Techniques
Appendix 3 Object-Oriented Analysis and Design
Chapter 6: Architectural Design
Chapter 14. Activity Modeling for Transformational Systems
Chapter 8: Actor-System Interaction Modeling
Presentation transcript:

Chapter 14. Activity Modeling for Transformational Systems

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.

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

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

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)

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

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

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

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

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

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

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

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”

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

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

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)

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.

Petri Net Expressiveness parallelism sequencing synchronization exclusion

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

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

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

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

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

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.

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.

Steps for Activity Modeling

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.

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.

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.

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.