Team-Based
Development
Modeling
Process
Language
What Is the UML?
• The Unified Modeling Language (UML) is a
language for
• Specifying
• Visualizing
• Constructing
• Documenting
the artifacts of a software-intensive system
UML History
Inputs to UML
Booch
Rumbaugh Jacobson
Fusion
Meyer
Operation descriptions,
Before and after
Message numbering
conditions
Embley
Harel
Singleton classes,
State charts High-level view
Gamma, et.al
Wirfs-Brock
Frameworks, patterns,
Responsibilities
notes Shlaer - Mellor Odell
Scenario State
Scenario
Diagrams State
Diagrams
Sequence
Diagrams State
Diagrams
Diagrams Model Diagrams
Scenario Component
Scenario
Diagrams
Component
Diagrams
Component
Collaboration
Diagrams Deployment Diagrams
Diagrams Diagram Diagrams
A Sample UML Diagram: Use Cases
A University Course Registration System
Login
Student
Register for Courses Maintain Student Information
Course Catalog
Close Registration Billing System
Select Courses to Teach
Professor
Submit Grades
A Sample UML Diagram: Classes
<<boundary>>
<<boundary>> MaintainScheduleForm
MainForm
1 0..1
// select maintain schedule() + // open()
+ // select 4 primary and 2 alternate offerings()
1
<<boundary>> <<control>>
1 0..*
CourseCatalogSystem RegistrationController
<<entity>>
Schedule
add( )
name : int
fetchDoc( ) delete( ) docid : int
sortByName( ) numField : int
Writing
add file [ numberOffile==MAX ] /
get( ) flag OFF
open( ) read() fill the
close( ) code..
FileList read( )
sortFileList( ) Openning
Actor A Actor B
close file
Closing
Reading
rep
Use Case 2 File
<<entity>>
Repository
Customer
(from Persistence) GrpFile
read( )
name
name : char * = 0
Domain
read( )
readDoc( )
addr
open( )
Deployment
readFile( )
create( )
fillFile( )
receive()
withdraw()
Expert
Use Case 3
fetch()
send()
Diagram
UI
MFC Class
DocumentApp
DocumentList
RogueWave
Persistence
Repository Window95 Windows95
9: sortByName ( ) Windows95
global
¹®¼-°ü¸®
FileManager Ŭ¶óÀ̾ðÆ®.EXE
¹®¼-°ü¸® ¾ÖÇø´
Package
1: Doc view request ( ) L
Document Solaris
2: fetchDoc( )
¹®¼-°ü¸® ¿£Áø.EXE
3: create ( )
File FileList
6: fillDocument ( )
Definition
µ¥ÀÌŸº£À̽º¼-¹ö
7: readFile ( )
5: readDoc ( )
document : Document
repository : Repository
2: fetchDoc()
3: create ( )
4: create ( )
5: readDoc ( )
7: readFile ( )
8: fillFile ( )
Sequence Diagram
Executable System
What Is a Process?
A process defines Who is doing What, When
and How to reach a certain goal. In software
engineering the goal is to build a software
product or to enhance an existing one
Manage Requirements
Use
Develop Model Verify
Visually Component
Iteratively Quality Architectures
Control Changes
Rational Unified Process Is Use-Case
Driven
An actor is
someone or
Check Balance
Client something
outside the
system that
interacts with
Withdraw Money the system
A use case is a
Use Cases for a Cash Machine sequence of
actions a system
performs that
yields an
observable
Use Cases Include a Flow of Events
Logical Implementation
View View
Analysts/
End-user Programmers
Designers
Structure Functionality Software management
Use-Case
View
Process Deployment
View View
System Integrators System Engineering
Performance System topology
Scalability Delivery, installation
Throughput communication
Benefits of an Architecture-
Centric Process
• Architecture lets you gain and retain intellectual control over a
project, to manage its complexity, and to maintain system
integrity
• Architecture provides an effective basis for large-scale reuse
• Architecture provides a basis for project management
• Architecture facilitates component-based development
– A component fulfills a clear function in the context of a
well-defined architecture
– A component conforms to and provides the physical
realization of a set of interfaces
– Components exist relative to a given architecture
Process Architecture –
Lifecycle Phases
Inception Elaboration Construction Transition
time
time
Requirements realized by
Use-Case
Model
Analysis &
Design implemented by
Design
Model
Implementation verified by
Implementation
Model
Test
Test
Model
Bringing It All Together: The Iterative Model
In an
Phases iteration, you
Process Workflows Inception Elaboration Construction Transition
walk through
Business Modeling all
workflows
Requirements
Analysis & Design
Implementation
Test
Deployment
Supporting
Workflows
Configuration Mgmt
Management
Workflows Environment
group Preliminary Iter. Iter. Iter. Iter. Iter. Iter. Iter.
Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1
activities
logically Iterations
Summary: Rational Unified Process
• The Unified Modeling Language (UML) is a language
for specifying, visualizing, constructing, and
documenting the artifacts of a software-intensive
system
• A software development process defines Who is doing
What, When and How in building a software product
• The Rational Unified Process has four phases:
Inception, Elaboration, Construction and Transition
• Each phase ends at a major milestone and contains
one or more iterations
• An iteration is a distinct sequence of activities with an
established plan and evaluation criteria, resulting in an
executable release