Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Systems Analysis and Design 8th Edition
UML: Unified Modeling Language
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
SE-565 Software System Requirements More UML Diagrams.
Unified Modeling Language
Introduction to UML CS A401. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Unified Modeling Language
Class, Sequence and UML Model.  Has actors and use cases.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
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.
Unified Modeling Language, Version 2.0
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Other UML Diagramming Techniques CS 124. UML Diagramming Techniques Class Diagrams Use Case Diagrams Interaction Diagrams Sequence diagrams Collaboration.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Systems Analysis & Design 7 th Edition Chapter 5.
To navigate the slide presentation, use the navigation bar on the left OR use your right and left arrow keys. Move your mouse over the key terms throughout.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
Unit 1 INTRODUCTION TO MODELING AND CLASS MODEL Ref : L7-UML.PDF.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
An Introduction to the Unified Modeling Language
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Design Jon Walker. More UML ● What is UML again?
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Interaction Diagram An interaction diagram is a graphical representation of interactions between objects. Sequence diagram: shows the sequence in which.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Chapter 3: Introducing the UML
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Basic Characteristics of Object-Oriented Systems
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
CHAPTER 6 OBJECT ANALYSIS.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
UML (Unified Modeling Language)
UML CSE 470 : Software Engineering. Unified Modeling Language UML is a modeling language to express and design documents, software –Particularly useful.
UML CSE 470 : Software Engineering. Unified Modeling Language UML is a modeling language to express and design documents, software –Particularly useful.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Introduction to UML.
Business Process and Functional Modeling
Introduction to UML.
UML Diagrams By Daniel Damaris Novarianto S..
Evolution of UML.
Introduction to UML.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language—UML A Very Brief Introduction
Unified Modeling Language
UML Diagrams Jung Woo.
Business System Development
IELM 511: Information System design
Software Engineering Lecture #11.
Unified Modeling Language
Systems Analysis and Design With UML 2
Other UML Diagramming Techniques
Chapter 5.
Presentation transcript:

Introduction to UML CS A470

What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson UML is a modeling language to express and design documents, software –Particularly useful for OO design –Not a process –Independent of implementation language

Why use UML Standardized graphical notation for –Specifying, visualizing, constructing, and documenting software systems Language can be used from general initial design to very specific detailed design Increase understanding/communication of product to customers and developers Support for UML in many software packages today (e.g. Rational)

Brief History Inundated with methodologies in early 90’s –Booch, Jacobson, Yourden, Rumbaugh Booch, Jacobson merged methods 1994 Rumbaugh joined UML 1.1 from OMG includes input from others, e.g. Yourden UML v2.0 in RFP

Initial Modeling Use Cases –capture requirements Domain Model –capture process, key classes Design Model –capture details and behaviors of use cases and domain objects –Add classes that do the work and define the architecture

UML Baseline Use Case Diagrams Class Diagrams Package Diagrams Activity Diagrams State Transition Diagrams Interaction Diagrams Deployment Diagrams

Use Case Diagrams Scenario –Users’s view of using the system to perform a particular task –E.g. student registers for course Use Cases –Summary of scenarios for a single task Notation –Actors are stick figures –Use cases are ovals –Lines are communication

Use Case Diagram

Use Cases are useful to… Determining requirements –New use cases often generate new requirements as the system is analyzed and the design takes shape. Communicating with clients –Their notational simplicity makes use case diagrams a good way for developers to communicate with clients. Generating test cases –The collection of scenarios for a use case may suggest a suite of test cases for those scenarios.

Class Diagrams Gives an overview of a system by showing its classes and the relationships among them. –Class diagrams are static –they display what interacts but not what happens when they do interact Also shows attributes and operations of each class Good way to describe the overall architecture of system components

UML Class Notation A class is a rectangle divided into three parts –Class name –Class attributes (i.e. data members, variables) –Class operations (i.e. methods) Lines between classes indicate relationships –Association A relationship between instances of two classes, where one class must know about the other to do its work, e.g. client communicates to server indicated by a straight line –Aggregation An association where one class belongs to a collection, e.g. instructor part of Faculty Indicated by an diamond pointing to the collection –Generalization An inheritance link indicating one class a superclass relationship, e.g. bird is part of mammal Indicated by triangle pointing to superclass

UML Multiplicities MultiplicitiesMeaning 0..1 zero or one instance. The notation n.. m indicates n to m instances. 0..* or * no limit on the number of instances (including none). 1exactly one instance 1..*at least one instance Links on associations to specify more details about the relationship

UML Example

Object Diagrams Show instances of Class Diagrams Format is –Instance name : Class name –Example:

Package Diagrams To organize complex class diagrams, you can group classes into packages. A package is a collection of logically related UML elements Notation –Packages appear as rectangles with small tabs at the top. –The package name is on the tab or inside the rectangle. –The dotted arrows are dependencies. One package depends on another if changes in the other could possibly force changes in the first.

Package Example

Activity Diagrams Fancy flowchart –Displays the flow of activities involved in a single process –Swim lanes Indicates which object is responsible for what activity –Branch Transition that branch Indicated by a diamond –Fork Transition forking into parallel activities Indicated by solid bars

Activity Diagram Example

State Transition Diagrams Shows the possible states of the object and the transitions that cause a change in state Notation –States are rounded rectangles –Transitions are arrows from one state to another. Events or conditions that trigger transitions are written beside the arrows. –The initial state (black circle) is a dummy to start the action. –Final states are also dummy states that terminate the action.

State Transition Example

Interaction Diagrams Class and object diagrams are static model views Interaction diagrams are dynamic -- they describe how objects collaborate. –Indicates what messages are sent and when –Time progress from top to bottom –Objects involved are listed left to right –Messages are send left to right between objects in sequence

Interaction Diagram Example Hotel Reservation

Deployment Diagrams Shows the physical architecture of the hardware and software of the deployed system Components typically represent modules from a package diagram Notation –Components are shown as rectangles with two tabs at the upper left

Component Example

Summary and Tools UML is a modeling language that can be used independent of development Adopted by OMG and notation of choice for visual modeling – Creating and modifying UML diagrams can be labor and time intensive. Lots of tools exist to help –Tools help keep diagrams, code in sync –Repository for a complete software development project –Examples here created with TogetherSoft ControlCenter –Other tools: Rational, Cetus, Embarcadero