1212 UML Grafical method to develop models Industry standard Different diagrams for different aspects Static diagrams: – Classes – Use case – Deployment.

Slides:



Advertisements
Similar presentations
Modeling Main issues: What do we want to build How do we write this down.
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
Essentials of interaction diagrams Lecture Outline Collaborations Interaction on collaboration diagrams Sequence diagrams Messages from an object.
1 UML Component and Deployment Diagrams. Models, Views, and Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
1 © Wolfgang Pelz UML UML Unified Modeling Language.
© Copyright Eliyahu Brutman Programming Techniques Course.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Lab 6 CPIT 250 System Analysis and Design.
SE-565 Software System Requirements More UML Diagrams.
Unified Modeling Language
The Unified Modeling Language (UML) Class Diagrams.
Object-Oriented Analysis and Design
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Class, Sequence and UML Model.  Has actors and use cases.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Real Time Systems Modeling Structure in UML (Part I)
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
© 2005 Prentice Hall9-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
UML Diagrams: The Static Model Class Diagrams. The Static Model Define the static structure of the logical model Represent classes, class hierarchies.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Advanced UML Class Diagrams.
An Introduction to the Unified Modeling Language
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Design Jon Walker. More UML ● What is UML again?
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
CSCI-383 Object-Oriented Programming & Design Lecture 12.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Software Engineering Lecture 8 Object-Oriented Analysis.
CS212: Object Oriented Analysis and Design Lecture 33: Class and Sequence Diagram.
Class diagrams Terézia Mézešová.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design,
Chapter 3: Introducing the UML
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 April 13, 2005.
1 IS 0020 Program Design and Software Tools Unified Modeling Language Lecture 13 November 30, 2004.
Rhapsody 2003년 3월 12일 배대호.
CHAPTER
Chapter 7 – Object-Oriented Design
The Movement To Objects
Main issues: • What do we want to build • How do we write this down
Unified Modeling Language
Observer Design Pattern
UML dynamic Modeling (Behavior Diagram)
Software Architecture & Design Pattern
Dynamic Modeling: Defining Classes
UML Diagrams: The Static Model Class Diagrams
ניתוח מערכות מידע א' הרצאה 3
Unified Modeling Language
Observer Pattern 1.
CIS 375 Bruce R. Maxim UM-Dearborn
Analysis models and design models
Class Diagrams.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 375 Bruce R. Maxim UM-Dearborn
Presentation transcript:

1212 UML Grafical method to develop models Industry standard Different diagrams for different aspects Static diagrams: – Classes – Use case – Deployment Dynamic diagrams – Sequence – State machine Running example: Observer Pattern (A = abstract, C = concrete)

1212 Class diagrams A class is represented by a box ASubject Class name Attributes attach(AObserver) Methods detach(Aobserver) notify() AObserver $update() Association 1* observers observers: collection(AObserver ) forall obs in observers obs.update()

1212 ASubject attach(AObserver) detach(Aobserver) notify() AObserver $update() observers CObserver CSubject state: State getState(): State setState(State) update() 1 * subject Inheritance Mutual dependency! versus state:State

1212 CSubject getState(): State setState(State) State Composition Static ownership relation Owner creates object(s) at its own creation Object(s) disappears when owner disappears Aggregation Dynamic ownership relation Owner creates/destroys object(s) at any time Association Reference to an object owned by yet another object Dependency component depends on component to which arrow points

1212 Package > Player methods Interface inheritance (realization) Stereotype Do not include too many classes in one diagram (readability) – tools support that the same classes appear in different diagrams RealPlayer methods

1212 Sequence diagrams Model dynamic behavior Used to describe some sequence of method calls for important sequences (typical or complicated) More general dynamic behavior is captured by state diagrams Control of a single thread jumps from object to object when calls/returns are made

1212 (Outside) Actor :CSubject :CObserver attach(this) setState(state) notify() getState() state Notice that contol “jumps”: actor can be considered as a separate thread update()

1212 Object creation Call: object becomes active Return: object becomes inactive destroy()

1212 actor Use Case System name UC1 UC1’ generalization UC2 UC3 Extend/include

1212 State machines General dynamic behavior of classes In contrast to use cases that are for a typical scenario only, state machines describe behavior for all uses State machines can send messages to other state machines and cause a transition there With a state transition, there can be a trigger and an action If there is no trigger, the transition is always made

1212 CObserver states waiting attach(this)/ updating update()/ /state=subject.getState() updated usually some operations on state free (Initial transition) attached /subject.attach(this) …/subject.detach(this) detached

1212 waiting /observers =Ø consistent attach(obs)/observers +=obs detach(obs)/observers -=obs updated setState(state) notifying updateObserver /notify();n=0 |observers| !=0/observers(n).update() getState()/n+=1 n=|observers|/ CSubject states