Download presentation
Presentation is loading. Please wait.
1
UML: Unified Modeling Language
Story: What UML is for Some of the main diagrams are and what you use them for Class diagrams and class forms Use Case Diagrams Sequence (Event) Diagram State Diagrams An example
2
UML: Unified Modeling Language
Developed by the “Three Amigos”: Grady Booch, Jim Rumbaugh, Ivar Jacobson Each had their own development methodology More or less emphasis on notation and process UML is a notation and a process Diagrams and notation from UML 1.3 Definition (
3
Diagrams Class diagrams: Represents static structure
Use case diagrams: Sequence of actions a system performs to yield an observable result to an actor Sequence diagrams:Shows how groups of objects interact in some behavior State diagrams: Describes behavior of system by describing states of an object
4
Class Diagrams Better name: “Static structure diagram”
Doesn’t describe temporal aspects Doesn’t describe individual objects: Only the overall structure of the system There are “object diagrams” where the boxes represent instances But rarely used—other diagrams serve the role of describing object interaction better When used, object diagrams describe static structure, like a data structure
5
Different Levels of Specifying Classes
6
Notation in Class Boxes
Abstract classes (and operations) in italics + is public, - is private, # is protected Can also specify stereotypes or compartments “constructors” or “query” “controller”
7
Other variations in Class specifications
Use of templates, interfaces, and types Can even specify body of methods
8
Components of Class Diagrams
Multiplicities How many of each? Labels to indicate how reference is viewed Role and Association classes
9
Navigability and Aggregations
Who owns/contains/has who? Arrows not strictly required Aggregation: Open diamond “Part-of” relationship, but disagreement Composition: closed diamond Part can only belong to whole
10
Qualifiers Serves to describe an instance variable that partitions the relationship.
11
Use Case Diagrams Means of capturing requirements
Document interactions between user(s) and the system User (actor) is not part of the system itself But an actor can be another system An individual use case represents a task to be done with support from the system (thus it is a ‘coherent unit of functionality’)
12
Simple Use Case Diagram
Reserve book Borrow book Return book
13
Use Case Diagram with Multiple Actors
14
Use Cases Are actually defined as text, including descriptions of all of the normal and exception behavior expected Do not reveal the structure of the system Collectively define the boundaries of the system to be implemented Provide the basis for defining development iterations
15
Example Use Case Diagram (Advanced Features)
16
Sequence (Event) Diagrams
Shows individual objects and how they interact Describes Lifelines of objects Who sends what messages when Can also describe sending messages to self ("self-delegation") Can describe guards, notes, etc.
17
Example Sequence Diagram
18
State Diagrams Describe all the possible states a particular object can get into, and the events that lead to those changes Also called a "statechart"
19
Example State Diagram
20
Other Kinds of UML Diagrams
Collaboration Diagrams An alternative to sequence diagrams for describing the flow of messages between objects
21
Other kinds of UML Diagrams
Activity Diagrams Alternative to statecharts
22
Other kinds of UML Diagrams
Implementation Diagrams Down at the detail level What piece of code goes where? How are they connected?
23
UML in Real Practice You don't typically use all the diagrams
You'll choose between them based on preference and particular situation You typically use many diagrams A single use case may not capture all scenarios If you are going to use statecharts, there are probably lots of objects with states Each sequence/collaboration diagram only shows one interaction
24
Example: Student Registration System
Not going to do all the diagrams Not all types, not even all that completely specify the system But this is an application you know, so the examples may help make sense
25
Student Registration Class Diagram
Transcript courseGrades gradeForCourse: takenCourse: 1 1 transcript * 1 major sections Registrar courses getSectionsFor: enrollInSection: dropFromSection: schedule Section registrar 1 * * 1 course enrollInClass: daysAndTime gradeInCourse: roster takenCourse: * 1 addStudent removeStudent * 1 * * * * CourseGrade 1 1 1 course * * 1 Department courses requiredCourses 1 * grade Course name number department creditHours prerequisites 1..3 * termEnrolled * * * * prereqs 0..3 0..3 0..3 0..3 prereqs
26
Partial Use Case Diagram
Apply for Admission Admissions Enroll in the University Student Enroll in a Course Withdraw from a Course
27
States of a Student Enrolled Registered
Apply [ Must be accepted first ] Enrolled EnrollInClass ( Add a Transcript ) Registered Withdraw AddCourse Graduate [ All courses must be completed ]
28
Sequence Diagram: Registering for Course
aStudent theRegistrar aSection theTranscript getSectionsFor: return sections enrollInSection: takenCourse: prerequisite takenCourse: prerequisite state of prereq have prereq addStudent: enrolled enrolled
29
Process to Representations
OOA CRC Cards (but they’re not officially UML) Use Cases OOD Just about all of the rest But variations—some detail is later OOP Can actually go UML->code with some tools!
30
UML v1.3 Copyright Notice Copyright © 1997, 1998, 1999 Object Management Group, Inc. Copyright © 1997, 1998, 1999 Hewlett-Packard Company Copyright © 1997, 1998, 1999 IBM Corporation Copyright © 1997, 1998, 1999 ICON Computing Copyright © 1997, 1998, 1999 i-Logix Copyright © 1997, 1998, 1999 IntelliCorp Copyright © 1997, 1998, 1999 Electronic Data Services Corporation Copyright © 1997, 1998, 1999 Microsoft Corporation Copyright © 1997, 1998, 1999 ObjecTime Limited Copyright © 1997, 1998, 1999 Oracle Corporation Copyright © 1997, 1998, 1999 Platinum Technology, Inc. Copyright © 1997, 1998, 1999 Ptech Inc. Copyright © 1997, 1998, 1999 Rational Software Corporation Copyright © 1997, 1998, 1999 Reich Technologies Copyright © 1997, 1998, 1999 Softeam Copyright © 1997, 1998, 1999 Sterling Software Copyright © 1997, 1998, 1999 Taskon A/S Copyright © 1997, 1998, 1999 Unisys Corporation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.