Jerry Gao Ph.D.9/2001 The UML: Object-Oriented Modeling The Unified Modeling Language (UML) Instructor: Jerry Gao Ph.D. San Jose State University email:

Slides:



Advertisements
Similar presentations
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
Advertisements

1 Behavioral Modeling Chapter 8. 2 Key Ideas Behavioral models describe the internal dynamic aspects of an information system that supports business processes.
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.
Introduction To System Analysis and Design
Lecture 12: Chapter 22 Topics: UML (Contd.) –Relationship Structural Behavioral –Diagram Structural Behavioral.
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.
The Unified Modeling Language (UML)
Slide 1 Systems Analysis & Design CS183 Spring Semester Dr. Jonathan Y. Clark Course Website:
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
Essentials of interaction diagrams Lecture Outline Collaborations Interaction on collaboration diagrams Sequence diagrams Messages from an object.
1 SWE Introduction to Software Engineering Lecture 15 – System Modeling Using UML.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Dynamic modeling using UML
1 © Wolfgang Pelz UML2 UML Part 3. 2 © Wolfgang Pelz UML2 Chapter Ten State Machine Diagrams.
Chapter 21 Object-Oriented Analysis
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
© 2008 Wayne Wolf Overheads for Computers as Components, 2nd ed. Introduction Object-oriented design. Unified Modeling Language (UML). 1.
7M822 UML Interaction Diagrams 25 November 2010.
Use Case Analysis – continued
Slide 1 Chapter 8 Behavioral Modeling. Slide 2 Key Ideas Behavioral models describe the internal dynamic aspects of an information system that supports.
An Introduction to Rational Rose Real-Time
UML. Overview of UML Diagrams Structural : element of spec. irrespective of time Class Component Deployment Object Composite structure Package Behavioral.
Unified Modeling Language
Chapter 7: The Object-Oriented Approach to Requirements
UML and its Use-Case Modeling Professor Chen School of Business Gonzaga University Spokane, WA 99258
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
1 Object Oriented Analysis and Design with UML UNIT 3.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
CH06: Considering Objects TECH Computer Science  Set, Class, Type  …of…  Objects, Actors, Agents  Data and Actions Object-Oriented Design and Development.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: Review Session (Optional)
Behavioral Modeling Chapter 8.
IT 21103/41103 System Analysis & Design. Chapter 05 Object Modeling.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
Chapter 8 Analysis & Modeling. Data Modeling examines data objects independently of processing focuses attention on the data domain creates a model at.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
OO Methodology Elaboration Iteration 3 – Part 2 Refining Models.
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
CS 151: Object-Oriented Design September 5 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron Mak
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Design Model Lecture p6 T120B pavasario sem.
ITEC324 Principle of CS III Chapter 2 (Horstmann’s Book) – Part 1 The Object-Oriented Design Process Hwajung Lee.
(14-2) UML Instructor - Andrew O’Fallon CptS 122 (December 2, 2015) Washington State University.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Systems Analysis and Design in a Changing World, Fourth Edition
1 Unified Modeling Language, Version 2.0 Chapter 2.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
Introduction to UML Todd Bacastow Rational Unified Process A process for the effective implementation of key “Best Practices” Control Changes Manage.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
 What to do if you want to build a new house? › Buy a bunch of wood and nails and start immediately. › Or, put some blueprints to follow, and plan of.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Technical Module C Object Modeling Objects Object – a valuable resource: Money (Account Receivable) Material (Product) Machines (Delivery Truck) Personnel.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Systems Analysis and Design in a Changing World, Fourth Edition
University of Central Florida COP 3330 Object Oriented Programming
אפיון ועיצוב מערכות מוכוון עצמים
Unified Modeling Language
Copyright 2007 Oxford Consulting, Ltd
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Jerry Gao Ph.D.9/2001 The UML: Object-Oriented Modeling The Unified Modeling Language (UML) Instructor: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001

Jerry Gao Ph.D.9/2001 Object-Oriented Modeling The Unified Modeling Language (UML) Object-Oriented Modeling: - Focus on classes, objects and their relationships in the system - Represent the system using class diagrams and object diagrams - Is an iterative process The major elements of the object-oriented modeling: - classes, objects and their relationships. Purpose of object-oriented modeling: - to describe the system in terms of classes and objects - to provide a complete object-oriented view of the system - to help the understanding of the system through object-oriented analysis and modeling

Jerry Gao Ph.D.9/2001 A Class Diagram and An Object Diagram The Unified Modeling Language (UML) 1..* Author Name:String age: integer Computer Name:String memory: integer Uses 0..1 Class diagram Bob:Author Name:”Bob J.” age: 32 Bob’s Job PC Computer Name:”Dell 466” memory: 64 Object diagram

Jerry Gao Ph.D.9/2001 Object-Oriented Modeling The Unified Modeling Language (UML) How to perform object-oriented modeling? - Step #1: Identify classes and objects in the system. - Find classes in the system - Identify their names and attributes - Identify their operations or functions - Step #2: Find the relationships between classes - Find association relationships between classes - Find aggregation relationships between classes - Find inheritance (generalization) relationship between classes - Define the roles and cardinality of each class in the relationships. - Step #3: Generate object diagrams based class diagrams

Jerry Gao Ph.D.9/2001 Finding Classes The Unified Modeling Language (UML) Finding classes by asking the following questions: - Do we have information that should be stored or analyzed? If so, check information-oriented classes. such as input/output - Do we have external systems? If so, check the interface classes. - Do we use any components, libraries? If so, check component-oriented classes and library-oriented classes. - Do we have any customers or users? If so, check user-oriented classes. - Do we handle any devices? If so, check hardware-oriented interface classes. - Do we have any business structure or organization involved in the system?If so, find organization-oriented classes.

Jerry Gao Ph.D.9/2001 Class Examples The Unified Modeling Language (UML) Student Name:String age: integer SS#: String GPA: float ReadStudent(); UpdateStudent(); CreateStudent(); PrintStudent(); Figure Size: Size position: Position Type: FigureType draw(); setFiguer(); scaleFigure(); returnPosition(); operations attributes

Jerry Gao Ph.D.9/2001 Association Relationship Between Classes The Unified Modeling Language (UML) StudentComputer Owns StudentComputer Owns 1..*0..* Multiplicity: default one-to-one 0..1 zero-to-one 0..* or *zero-to-many 1..* one-to-many

Jerry Gao Ph.D.9/2001 Roles in Association Relationship Between Classes The Unified Modeling Language (UML) Person married to wife husband A husband is married to a wife. Both husband and wife are people. If a person is not married, then he or she cannot play the role of husband or wife, which means the married to association is not applicable. Car Person drives * * company cardriver role A person plays the role of a driver, and a car plays the role of a company car the relationship.

Jerry Gao Ph.D.9/2001 Aggregation Relationship Between Classes The Unified Modeling Language (UML) NavyWarship Contains TeamPerson members * * ** Normal Aggregation Shared Aggregation A team is composed of team members. One person could be a member of many teams.

Jerry Gao Ph.D.9/2001 Aggregation Relationship Between Classes The Unified Modeling Language (UML) Composition Aggregation window listbox text button menu * * * * contains

Jerry Gao Ph.D.9/2001 Generalization Relationship Between Classes The Unified Modeling Language (UML) Normal Generalization -> Inheritance Part-time Student Full-time Student Part-time Student Full-time Student

Jerry Gao Ph.D.9/2001 A Class Diagram for Financial Trading The Unified Modeling Language (UML) CustomerPortfolioTrader Instrument BondStock Option 1 Owns1..*1..* Handles1 0..* Contains

Jerry Gao Ph.D.9/2001 Packages The Unified Modeling Language (UML) Subsystem B Subsystem A Subsystem E Subsystem C Subsystem D dependency

Jerry Gao Ph.D.9/2001 Packages The Unified Modeling Language (UML) Subsystem B Subsystem A Subsystem D Subsystem C Subsystem E

Jerry Gao Ph.D.9/2001 The UML: Dynamic Modeling The Unified Modeling Language (UML) Instructor: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001

Jerry Gao Ph.D.9/2001 Dynamic Modeling The Unified Modeling Language (UML) Dynamic Modeling: - Focus on dynamic behaviors in the system - Use state, sequence, collaboration, and activity diagrams to present the behaviors of the system - Demonstrate how the objects interact dynamically The results of dynamic modeling: - State diagrams: -> describing object states and their changes in terms of events. - Sequence diagrams: -> describing how objects interact and communicate with each other. - Collaboration diagrams: -> describing how objects collaborate together by interactions - Activity diagrams: -> another shows the object interactions for functionality and actors.

Jerry Gao Ph.D.9/2001 The Notation of State Diagram The Unified Modeling Language (UML) State 1State 2 Event State starting point State end point State Name State Vars Activities

Jerry Gao Ph.D.9/2001 A State Diagram for An Elevator The Unified Modeling Language (UML) On first floor Moving up Moving Down Idle Moving to first floor Go up(floor) Active at floor Go up(floor) Arrive at floor Go down(floor) Arrive at first floor Time out

Jerry Gao Ph.D.9/2001 A State Diagram for An Elevator The Unified Modeling Language (UML) On first floor Moving up do/moving to floor Moving down do/moving to floor Idle timer = 0 do/increase timer Moving to first floor Go up(floor) Active at floor Go up(floor) Arrive at floor Go down(floor) Arrive at first floor [Timer = time out] Guard-condition

Dynamic Modeling Instructor: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001

Topic: The Unified Modeling Language Jerry Gao Ph.D.9/2001 Sending Messages between State Diagrams All Rights Reserved OffOn On() Off() Play() Stop() OffOn/Stop On() Off() Off()/Stop() On/Play Play() Stop() CD Player Stop() Play()On() Off() Remote control

Topic: The Unified Modeling Language Jerry Gao Ph.D.9/2001All Rights Reserved An And-Substates Example Low SpeedHigh Speed ForwardBackward Running concurrent substates

Sequence Diagram Instructor: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001

Sequence Diagram Sequence diagrams: - illustrate how objects interact with each other. - focus on interacting message sequences between objects :ObjectName Simple message Synchronous message [Guard-condition] Return Activation lifeline

Sequence Diagram Example :Computer Print(ps-file) Activation lifeline :PrinterServer:Printer Print(ps-file) Object [no queue] Print(ps-file) Guard-condition Synchronous message Return simple message

Sequence Diagram Example :Computer Print(file) :PrinterServer:Printer Print(file) [printer free] Print(file) :Queue [printer busy] Store(file)