UML Past Present and Future Part 2

Models, Views, and Diagrams
A model is a complete
description of a system
from a particular
perspective
Use Case
Use Case
Diagrams
Sequence
Diagrams
Diagrams
Scenario
Scenario
Diagrams
Collaboration
Diagrams
Diagrams
Scenario
Scenario
Diagrams
Statechart
Diagrams
Diagrams
Use Case
Use Case
Diagrams
Use Case
Diagrams
Diagrams
State
State
Diagrams
Class
Diagrams
Diagrams
State
State
Diagrams
Object
Diagrams
Diagrams
State
State
Diagrams
Component
Diagrams
Diagrams
Models
Component
Component
Diagrams
Deployment
Diagrams
Activity
Diagrams
Diagrams
Use Case Diagram
w  Captures system functionality as seen by users
w  Visualize the interaction of the system with the outside
world
Request Course Roster
Professor
Student
Register for Courses
Billing System
Maintain Course Information
Registrar
Use Case Diagram
w  Built in early stages of development
w  Purpose
§  Specify the context of a system
§  Capture the requirements of a system
§  Validate a system’s architecture
§  Drive implementation and generate test cases
w  Developed by analysts and domain experts
Class Diagram
w  Captures the vocabulary of a system
w  Shows the structure of your software
ScheduleAlgorithm
RegistrationForm
0..*
1 RegistrationManager
addStudent(Course, Student)
1
RegistrationUser
name
Student
Course
name
0..* numberCredits
open()
addStudent(StudentInfo)
major
1
3..10
Professor
tenureStatus
1
1..*
4 CourseOffering
location
0..4
open()
addStudent(Student)
The Physical World
w  Component diagrams illustrate the organization and
dependencies among software components
w  They capture the physical structure of the
implementation
Register.exe
Billing.exe
Billing
System
People.dll
User
Course.dll
Course
Deploying the System
w  The deployment diagram visualizes the distribution of
components across the enterprise
w  They capture the topology of a system’s hardware
Registration
Database
Main
Building
Library
Dorm
Sequence Diagram
w  A sequence diagram shows step-by-step what has to
happen to accomplish a piece of functionality provided
by the system
: Student
registration
form
registration
manager
math 101
math 101
section 1
1: fill in info
2: submit
3: add Joe to Math 101
4: add Joe
5: are you open?
6: add Joe
Collaboration Diagram
w  A collaboration diagram displays object interactions
organized around objects and their links to one another
1: set course info
2: process
course form :
CourseForm
3: add course
: Registrar
theManager :
CurriculumManager
aCourse :
Course
4: new course
The State of an Object
w  A state transition diagram shows the lifecycle of a single
class
Add student[ count < 10 ]
Initialization
Add Student /
Set count = 0
do: Initialize course
Open
entry: Register student
exit: Increment count
Cancel
Cancel
[ count = 10 ]
Canceled
do: Notify registered
students
Cancel
Closed
do: Finalize course
Activity Diagram
Create
curriculum
Select courses
to teach
Create
catalog
Place catalog
in bookstore
Mail catalog
to students
Open
registration
[ Registration time period expired ]
Close
registration
Swimlanes
Registrar
Professor
Create
curriculum
Select courses
to teach
Create
catalog
Place catalog
in bookstore
Mail catalog
to students
Open
registration
[ Registration time period expired ]
Close
registration