UML Weekend Crash Course Ch.11~20 Park, Hyoung-woo SNU OOPSLA Lab. Thomas A. Pender, Wiley 2004.8.15.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

1 Behavioral Modeling Chapter 8. 2 Key Ideas Behavioral models describe the internal dynamic aspects of an information system that supports business processes.
ZEIT2301 Design of Information Systems Behavioural Design: State Machines School of Engineering and Information Technology Dr Kathryn Merrick.
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
1 Review Visual System Modeling Tools Todd Bacastow Penn State University Geospatial System Analysis & Design.
Introduction to UML Todd Bacastow Penn State University Geography 583 Geospatial System Analysis & Design.
Session 18 Modeling the Dynamic View: The Collaboration Diagram Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 20, 2011 Presented.
Interaction Diagrams Activity Diagram State Machine Diagram
Software Engineering COMP 201
UML – Class Diagrams.
Design Patterns in Java Appendix D UML at a Glance Summary prepared by Kirk Scott 1.
1 © Wolfgang Pelz UML2 UML Part Two. 2 © Wolfgang Pelz UML2 Chapters Four & Twelve Interaction Diagrams.
Essentials of interaction diagrams Lecture 23 & 24.
Essentials of interaction diagrams Lecture Outline Collaborations Interaction on collaboration diagrams Sequence diagrams Messages from an object.
Unified Modeling Language (UML)
Computer Science CS425/CS6258/23/20011 The Architecting Phase Class diagrams are further refined in this phase of development Object diagrams are created.
Chapter 21 Object-Oriented Analysis
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Slide 1 Chapter 8 Behavioral Modeling. Slide 2 Key Ideas Behavioral models describe the internal dynamic aspects of an information system that supports.
SE-565 Software System Requirements More UML Diagrams.
Unified Modeling Language
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
UML Overview. UML Diagrams to be Covered Class Diagrams Use Case Diagrams Collaboration Diagrams Sequence Diagrams Package Diagrams Component Diagrams.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Session 12 Applying the Class Diagram to the Case Study Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 12, 2011 Presented by Hyewon.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Session 11 The Class Diagram: Aggregation and Generalization Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 12, 2011 Presented.
Prepared by Afra`a Sayah. Introduction. Weekly Tasks. Plane Phase. Analysis Phase. Design Phase. Report Rules. Conclusion. 2.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
11 Software Engineering Dr. K. T. Tsang Lecture 9 Advance State Modeling
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 8: Behavioral Modeling.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Behavioral Modeling Chapter 8.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 02. Objects,
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
Kyung Hee University System Functional Model OOSD 담당조교 석사과정 이정환.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 8: Behavioral Modeling.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
Appendix D UML at a Glance Summary prepared by Kirk Scott 1.
UML Diagrams CSC 422 Kutztown University Dr. Daniel Spiegel.
UNIFIED MODELING LANGUAGE(UML) BY Touseef Tahir Lecturer CS COMSATS Institute of Information Technology, Lahore.
UML’s StateChart FSM, EFSM in UML Concurrent states Tool support.
(14-2) UML Instructor - Andrew O’Fallon CptS 122 (December 2, 2015) Washington State University.
Dynamic Models Sequence Diagrams Collaboration Diagrams Activity Diagrams.
Interaction Diagram An interaction diagram is a graphical representation of interactions between objects. Sequence diagram: shows the sequence in which.
Chapter 3: Introducing the UML
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Technical Module C Object Modeling Objects Object – a valuable resource: Money (Account Receivable) Material (Product) Machines (Delivery Truck) Personnel.
1 More About UML Todd Bacastow Penn State University Geospatial System Analysis & Design.
Kyung Hee University System Functional Model OOSD 담당조교 석사과정 이정환.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
ITEC1301 Object-Oriented Systems Construction Lecture Notes #4 1.
UML (Unified Modeling Language)
1 Systems Analysis and Design Behavioral Modeling Chapter 8 (Last one before the Midterm!)
UML Diagrams: Class Diagrams The Static Analysis Model
The Movement To Objects
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Techniques
Unified Modeling Language
State Machine Diagrams
Seminar 4 UML Object Diagram.
Interactions.
Week 12: Activity & Sequence Diagrams
Chapter 20 Object-Oriented Analysis and Design
Presentation transcript:

UML Weekend Crash Course Ch.11~20 Park, Hyoung-woo SNU OOPSLA Lab. Thomas A. Pender, Wiley

2 Contents  Ch11 – The Class Diagram: Aggregation and Generalization  Ch12 – Applying the Class Diagram to the Case Study  Ch13 – Modeling the Static View: The Object Diagram  Ch14 – Modeling the Functional View: The Activity Diagram  Ch15 – Applying the Activity Diagram to the Case Study  Ch16 – Modeling the Dynamic View: The Sequence Diagram  Ch17 – Applying the Sequence Diagram to the Case Study  Ch18 – Modeling the Dynamic View: The Collaboration Diagram  Ch19 – Applying the Collaboration Diagram to the Case Study  Ch20 – Modeling the Dynamic View: The Statechart Diagram

3 Ch.11 (1/6)  The relationships among the concepts of association, aggregation, and composition  Every aggregation relationship is a type of association.  Every composition relationship is a form of aggregation

4 Ch.11 (2/6)  Elements of aggregation TeamPlayer member {must have a current contract} constraint assembly/aggregationmember multiplicity aggregation relationship

5 Ch.11 (3/6)  Elements of composition BookChapter * member assembly/aggregationmember multiplicity composition relationship

6 Ch.11 (4/6)  Difference between aggregation and composition  Composition is used for aggregations where the life span of the part depends on the life span of the aggregate. ex) When the Team is disbanded, the players live on  Aggregation relationship We can not think a chapter without a book  Composition relationship

7 Ch.11 (5/6)  Difference between generalization and association  Associations define the rules for how objects may relate to one another.  Generalization relates classes together where each class contains a subset of the elements needed to define a type of object.

8 Ch.11 (6/6)  Elements of generalization Fruit AppleWatermelonOrange RedDeliciousGrannySmith class generalization relationship Fruit Type Fruit Variety discriminator

9 Contents  Ch11 – The Class Diagram: Aggregation and Generalization  Ch12 – Applying the Class Diagram to the Case Study  Ch13 – Modeling the Static View: The Object Diagram  Ch14 – Modeling the Functional View: The Activity Diagram  Ch15 – Applying the Activity Diagram to the Case Study  Ch16 – Modeling the Dynamic View: The Sequence Diagram  Ch17 – Applying the Sequence Diagram to the Case Study  Ch18 – Modeling the Dynamic View: The Collaboration Diagram  Ch19 – Applying the Collaboration Diagram to the Case Study  Ch20 – Modeling the Dynamic View: The Statechart Diagram

10 Ch.12 (1/5)  Problem statement: for the inventory control system “Our system is designed to inventory and ship uniquely identified products. These products may be purchased directly from vendors and resold as is, or we can package vendor products together to make our own custom product. Customers place orders for one or more items, but we acknowledge interested customers in the system whether they have purchased yet or not. Each item corresponds to a product. We identify each product using a unique serial number. The Customer may inquire on the status of his Orders using the order number.”

11 Ch.12 (2/5)  Class diagram: for the inventory control system Customer ordernbr:int Order places > 1..1 generates > LineItem * serialnbr:String Product CustomProduct Product 0..* 1..1 VendorProduct * Shipment VendorShipmentCustomerShipment delivers > 0..* 1..*

12 Ch.12 (3/5)  Elements of a Pattern Definition for Kitchen Pattern ElementElement Example for Kitchen A problem to solveWe need a place to store and prepare food. The resources to solve itWe can use appliances, counters and cupboards, food, utensils, and so on. The set of rules about how the resources could be used to solve the problem The refrigerator stores perishable items prior to preparation, the oven is used to heat food, and so on. Guidelines to know when the pattern works well and when it does not It works well within the context of house. It does not work well outside the house (for example, while camping or picnicking).

13 Ch.12 (4/5)  Observer pattern example in a Class diagram Observer Pattern ShipmentOrder observable observer 0..* 1..1 is observed by

14 Ch.12 (5/5)  The State design pattern in a Class diagram using the Product example State Pattern ProductProductState context state 0..* 1..1 delegates to ReceivedInStockHeldSold

15 Contents  Ch11 – The Class Diagram: Aggregation and Generalization  Ch12 – Applying the Class Diagram to the Case Study  Ch13 – Modeling the Static View: The Object Diagram  Ch14 – Modeling the Functional View: The Activity Diagram  Ch15 – Applying the Activity Diagram to the Case Study  Ch16 – Modeling the Dynamic View: The Sequence Diagram  Ch17 – Applying the Sequence Diagram to the Case Study  Ch18 – Modeling the Dynamic View: The Collaboration Diagram  Ch19 – Applying the Collaboration Diagram to the Case Study  Ch20 – Modeling the Dynamic View: The Statechart Diagram

16 Ch.13 (1/2)  Comparison of the Class and Object Diagrams Class DiagramObject Diagram The class has three compartments: name, attribute, and operation. The object has only two compartments: name and attribute. The class name stands alone in the class name compartment. The format for an object name is object-name, colon, class- name (1234:Order), with the entire expression underlined. You will encounter this notation in other diagrams that model objects rather than classes. Sometimes the object name is left off and only the colon and class-name are used. This is referred to as an anonymous object. The class attribute compartment defines the properties of the attributes. The object defines only the current value of each attribute for the test or example being modeled. Operations are listed in the class.Operations are not included in the object because they would be identical for every object of the same class. The classes are connected with an association with a name, multiplicity, constraints, and roles. Classes represent a “classification” of objects, so it is necessary to specify how many may participate in the association. The objects are connected with a link that has a name and no multiplicity. Objects represent single entities. All links are one-to-one, so multiplicity is irrelevant. Roles may be used on links.

17 Ch.13 (2/2)  UML Class notation for the Shipment and Product  UML Object notation for a Shipment with two Products

18 Contents  Ch11 – The Class Diagram: Aggregation and Generalization  Ch12 – Applying the Class Diagram to the Case Study  Ch13 – Modeling the Static View: The Object Diagram  Ch14 – Modeling the Functional View: The Activity Diagram  Ch15 – Applying the Activity Diagram to the Case Study  Ch16 – Modeling the Dynamic View: The Sequence Diagram  Ch17 – Applying the Sequence Diagram to the Case Study  Ch18 – Modeling the Dynamic View: The Collaboration Diagram  Ch19 – Applying the Collaboration Diagram to the Case Study  Ch20 – Modeling the Dynamic View: The Statechart Diagram

19 Ch.14 (1/2)  Activity diagram notation(1/2) Give the customer the money Shake your finger at the customer decision guard condition [sufficient funds] [insufficient funds] activity transition

20 Ch.14 (2/2)  Activity diagram notation(2/2) [proceed] [cancel] cancelled done start end Merge point Fork Synchronization

21 Contents  Ch11 – The Class Diagram: Aggregation and Generalization  Ch12 – Applying the Class Diagram to the Case Study  Ch13 – Modeling the Static View: The Object Diagram  Ch14 – Modeling the Functional View: The Activity Diagram  Ch15 – Applying the Activity Diagram to the Case Study  Ch16 – Modeling the Dynamic View: The Sequence Diagram  Ch17 – Applying the Sequence Diagram to the Case Study  Ch18 – Modeling the Dynamic View: The Collaboration Diagram  Ch19 – Applying the Collaboration Diagram to the Case Study  Ch20 – Modeling the Dynamic View: The Statechart Diagram

22 Ch.15 (1/2)  Activity diagram for Receive Product(1/2)

23 Ch.15 (2/2)  Activity diagram for Receive Product(2/2)

24 Contents  Ch11 – The Class Diagram: Aggregation and Generalization  Ch12 – Applying the Class Diagram to the Case Study  Ch13 – Modeling the Static View: The Object Diagram  Ch14 – Modeling the Functional View: The Activity Diagram  Ch15 – Applying the Activity Diagram to the Case Study  Ch16 – Modeling the Dynamic View: The Sequence Diagram  Ch17 – Applying the Sequence Diagram to the Case Study  Ch18 – Modeling the Dynamic View: The Collaboration Diagram  Ch19 – Applying the Collaboration Diagram to the Case Study  Ch20 – Modeling the Dynamic View: The Statechart Diagram

25 Ch.16 (1/2)  Elements of the Sequence diagram notation Object lifeline Message/Stimulus Iteration Self-reference Return Anonymous object Object name Sequence number Condition Basic comment

26 Ch.16 (2/2)  Extended elements of the Sequence diagram notation Activation Deactivation Timeout event Asynchronous event Object termination

27 Contents  Ch11 – The Class Diagram: Aggregation and Generalization  Ch12 – Applying the Class Diagram to the Case Study  Ch13 – Modeling the Static View: The Object Diagram  Ch14 – Modeling the Functional View: The Activity Diagram  Ch15 – Applying the Activity Diagram to the Case Study  Ch16 – Modeling the Dynamic View: The Sequence Diagram  Ch17 – Applying the Sequence Diagram to the Case Study  Ch18 – Modeling the Dynamic View: The Collaboration Diagram  Ch19 – Applying the Collaboration Diagram to the Case Study  Ch20 – Modeling the Dynamic View: The Statechart Diagram

28 Ch.17 (1/4)  Sequence diagram of Fill Order Use Case (1/4) (Scenario 1)

29 Ch.17 (2/4)  Sequence diagram of Fill Order Use Case (2/4) (Scenario 2)

30 Ch.17 (3/4)  Sequence diagram of Fill Order Use Case (3/4) (Scenario 3)

31 Ch.17 (4/4)  Sequence diagram of Fill Order Use Case (4/4) (Scenario 4)

32 Contents  Ch11 – The Class Diagram: Aggregation and Generalization  Ch12 – Applying the Class Diagram to the Case Study  Ch13 – Modeling the Static View: The Object Diagram  Ch14 – Modeling the Functional View: The Activity Diagram  Ch15 – Applying the Activity Diagram to the Case Study  Ch16 – Modeling the Dynamic View: The Sequence Diagram  Ch17 – Applying the Sequence Diagram to the Case Study  Ch18 – Modeling the Dynamic View: The Collaboration Diagram  Ch19 – Applying the Collaboration Diagram to the Case Study  Ch20 – Modeling the Dynamic View: The Statechart Diagram

33 Ch.18 (1/2)  Collaboration diagram notation (1/2) Object Synchronous event or procedure call Return Self-reference Sequence number Anonymous object Comment

34 Ch.18 (2/2)  Collaboration diagram notation (2/2) Timeout event Asynchronous message

35 Contents  Ch11 – The Class Diagram: Aggregation and Generalization  Ch12 – Applying the Class Diagram to the Case Study  Ch13 – Modeling the Static View: The Object Diagram  Ch14 – Modeling the Functional View: The Activity Diagram  Ch15 – Applying the Activity Diagram to the Case Study  Ch16 – Modeling the Dynamic View: The Sequence Diagram  Ch17 – Applying the Sequence Diagram to the Case Study  Ch18 – Modeling the Dynamic View: The Collaboration Diagram  Ch19 – Applying the Collaboration Diagram to the Case Study  Ch20 – Modeling the Dynamic View: The Statechart Diagram

36 Ch.19 (1/4)  Collaboration diagram of Fill Order Use Case (1/4) (Scenario 1)

37 Ch.19 (2/4)  Collaboration diagram of Fill Order Use Case (2/4) (Scenario 2)

38 Ch.19 (3/4)  Collaboration diagram of Fill Order Use Case (3/4) (Scenario 3)

39 Ch.19 (4/4)  Collaboration diagram of Fill Order Use Case (4/4) (Scenario 4)

40 Contents  Ch11 – The Class Diagram: Aggregation and Generalization  Ch12 – Applying the Class Diagram to the Case Study  Ch13 – Modeling the Static View: The Object Diagram  Ch14 – Modeling the Functional View: The Activity Diagram  Ch15 – Applying the Activity Diagram to the Case Study  Ch16 – Modeling the Dynamic View: The Sequence Diagram  Ch17 – Applying the Sequence Diagram to the Case Study  Ch18 – Modeling the Dynamic View: The Collaboration Diagram  Ch19 – Applying the Collaboration Diagram to the Case Study  Ch20 – Modeling the Dynamic View: The Statechart Diagram

41 Ch.20  Elements of Statechart diagram initial state Prospect Active Do: generate monthly invoice Do: generate monthly customer promotion … order placed/addOrder(Order) Archived final state eventaction state name internal transitions