Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
-
date post
20-Dec-2015 -
Category
Documents
-
view
215 -
download
0
Transcript of Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
Uml and Use Cases
CS 414, Software Engineering IMark Ardis
Rose-Hulman InstituteJanuary 9, 2003
2
Outline
UML Use cases Sequence diagrams Activity diagrams How to write use cases
3
Note About Slides
Some of these slides are from a course by Rational Software Corp.
Some of these slides are from Alastair Cockburn
Please respect their copyrights
4
What Is the UML?
The Unified Modeling Language (UML) is a language for
Specifying Visualizing Constructing Documenting
the artifacts of a software-intensive system
5
UML History
Inputs to UML
Fusion
Operation descriptions,Message numbering
Meyer
Before and after conditions
Harel
State charts
Wirfs-Brock
Responsibilities
Embley
Singleton classes, High-level view
Odell
Classification
Shlaer - Mellor
Object Lifecycles
Gamma, et.al
Frameworks, patterns,notes
Booch
JacobsonRumbaugh
7
The UML Provides Standardized Diagrams
DeploymentDiagram
DeploymentDiagram
Use CaseDiagrams
Use CaseDiagramsUse Case
Diagrams
Use CaseDiagramsUse Case
Diagrams
Use CaseDiagrams
ScenarioDiagrams
ScenarioDiagramsScenario
Diagrams
ScenarioDiagramsSequence
Diagrams
SequenceDiagrams
StateDiagrams
StateDiagramsState
Diagrams
StateDiagramsState
Diagrams
StateDiagrams
ComponentDiagrams
ComponentDiagramsComponent
Diagrams
ComponentDiagramsComponentDiagrams
ComponentDiagrams
Model
StateDiagrams
StateDiagramsState
Diagrams
StateDiagramsObject
Diagrams
ObjectDiagrams
ScenarioDiagrams
ScenarioDiagramsScenario
Diagrams
ScenarioDiagramsCollaboration
Diagrams
CollaborationDiagrams
Use CaseDiagrams
Use CaseDiagramsUse Case
Diagrams
Use CaseDiagramsActivity
Diagrams
ActivityDiagrams
StateDiagrams
StateDiagramsState
Diagrams
StateDiagramsClass
Diagrams
ClassDiagrams
8
UML Diagrams Are Key System Artifacts
Actor A
Use Case 1
Use Case 2
Actor B
user : »ç¿ëÀÚ
mainWnd : MainWnd
fileMgr : FileMgr
repository : Repositorydocument : Document
gFile : GrpFile
9: sortByName ( )
L1: Doc view request ( )
2: fetchDoc( )
5: readDoc ( )
7: readFile ( )
3: create ( )
6: fillDocument ( )
4: create ( )
8: fillFile ( )
GrpFile
read( )open( )create( )fillFile( )
rep
Repository
name : char * = 0
readDoc( )readFile( )
(from Persistence)
FileMgr
fetchDoc( )sortByName( )
DocumentList
add( )delete( )
Document
name : intdocid : intnumField : int
get( )open( )close( )read( )sortFileList( )create( )fillDocument( )
fList
1
FileList
add( )delete( )
1
File
read( )
read() fill the code..
UI
MFC
RogueWave
global
DocumentApp
Persistence Window95
¹®¼ °ü¸® Ŭ¶óÀ̾ðÆ®.EXE
WindowsNT
¹®¼ °ü¸® ¿£Áø.EXE
WindowsNT
Windows95
Solaris
ÀÀ¿ë¼ ¹ö.EXE
AlphaUNIX
IBM Mainframe
µ¥ÀÌŸº£À̽º¼ ¹ö
Windows95
¹®¼ °ü¸® ¾ÖÇø´
ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨ - À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼ ¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼ ¹ö ¹× µ¥ÀÌŸ ¼ ¹ö, Åë½Å ¼ ¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼ ¹ö, Åë½Å ¼ ¹ö
Document
FileManager
GraphicFileFile
Repository DocumentList
FileList
user
mainWnd fileMgr : FileMgr
repositorydocument : Document
gFile
1: Doc view request ( )
2: fetchDoc( )
3: create ( )
4: create ( )
5: readDoc ( )
6: fillDocument ( )
7: readFile ( )
8: fillFile ( )
9: sortByName ( )
ƯÁ¤¹®¼ ¿¡ ´ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
È ÀÏ°ü¸®ÀÚ´Â Àоî¿Â ¹®¼ ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼ °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
È ̧é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È ̧é¿¡ º¸¿©ÁØ´Ù.
Customernameaddr
withdraw()fetch()send()
receive()
<<entity>>
Forward Engineering(Code Generation)and
Reverse Engineering
Executable System
User InterfaceDefinition
Domain Expert
Openning
Writing
ReadingClosing
add file [ numberOffile==MAX ] / flag OFF
add file
close file
close file
Use Case 3
Source Code edit, compile, debug, link
Use-Case Diagram
Class Diagram
Collaboration Diagram
Sequence Diagram
Component Diagram
State Diagram
Package Diagram
Deployment DiagramClass
9
Rational Unified Process (RUP)
Management
Environment
Business Modeling
Implementation
Test
Analysis & Design
Preliminary Iteration(s)
Iter.#1
PhasesProcess Workflows
Iterations
Supporting Workflows
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Deployment
Configuration Mgmt
Requirements
Elaboration TransitionInception Construction
10
Business Modeling Workflow
Find Business Actorsand Use CasesBusiness-Process
Analyst
S tructure the Business Use-Case
M odel
Capture a Com m on
Vocabulary Business M odelReviewer
Review the Business
Use-Case M odel
Detail a Business Use Case
Business Designer
Review the Business
O bject M odelDetail a Business Entity
F ind Business W orkers and Entities
Detail a Business W orker
11
Requirements Workflow
U se-C ase Specifier
R equirem entsR eview er
U ser-In terfaceD esigner
C apture a C om m on
Vocabulary
F ind Actors and U se C ases
R eviewR equirem ents
S tructure the U se-C ase M odel
U ser-In terfacePrototyp ing
D eta il a U se C ase
E lic it S takeholder N eeds
M anage D ependencies
Arch itectP rioritize
U se C ases
D evelopVision
U ser-In terfaceM odeling
12
Analysis & Design Workflow
Architect
D esigner
A rchitectura lAnalysis
A rchitectureR eview er
R eview theD esign
R eview theArchitecture
U se-C aseAnalysis
A rchitectura lD esign
D escribeC oncurrency
D escribeD istribution
D atabaseD esigner
C lassD esign
Subsystem D esign
U se-C ase D esign
D atabaseD esign
D esignR eview er
13
Outline
UML Use cases Sequence diagrams Activity diagrams How to write use cases
14
Use-Case
Name Brief description Flows of Events Relationships Activity and State
diagrams Use-Case diagrams Special requirements Preconditions Postconditions Other diagrams
Use-Case Reports
...
Use Case Model
Actors
Use Cases
Example Use-Case Diagram
Submit Grades
Professor
View Report Card
Select Courses to Teach
Student
Course Catalog
Register for Courses Maintain Student Information
Maintain Professor InformationRegistrar
Billing SystemClose Registration
Login
16
Use-Case Flows of Events
Has one normal, basic flow ("Happy Path" or "Sunny Day Scenario")
Several alternative flows Regular variants Odd cases Exceptional flows handling error
situations
“Happy Path”
What Are Scenarios ?
A scenario is an instance of a use case
18
Checkpoints: Actors
Have all the actors been identified? Is each actor involved with at least one use
case? Is each actor really a role? Should any be
merged or split? Do two actors play the same role in relation to
a use case? Do the actors have intuitive and descriptive
names? Can both users and customers understand the names?
19
Checkpoints: Use-Cases
Is each use case involved with at least one actor?
Is each use case independent of the others? Do any use cases have very similar behaviors
or flows of events? Do the use cases have unique, intuitive, and
explanatory names so that they cannot be mixed up at a later stage?
Do customers and users alike understand the names and descriptions of the use cases?
A First Step Towards Executables
Use Cases AnalysisClasses
SourceCode
ExecDesignClasses
21
Use Case Realization
Use Case Use Case Realization
<<realizes>>
Class Diagrams
Sequence Diagrams Collaboration Diagrams
Use Case Realization
Documentation
Use Case Model Design Model
22
Outline
UML Use cases Sequence diagrams Activity diagrams How to write use cases
23
Example: Sequence Diagram
: Student : MaintainScheduleForm
: RegistrationController
: Schedule : MainForm : CourseCatalogSystem
5: // select 4 primary and 2 alternate offerings( )
6: // add courses to schedule( )
7: // create with offerings( )
1: // select maintain schedule( )
2: // open schedule form( )
3: // get course offerings( )
4: // get course offerings( )
24
AF3
One Interaction Diagram Not Good Enough
Alternate Flow 4 Alternate Flow 5 Alternate Flow n
Alternate Flow 1 Alternate Flow 2 Alternate Flow 3
AF1
AF2
Basic Flow
25
Outline
UML Use cases Sequence diagrams Activity diagrams How to write use cases
26
Select Course
CheckSchedule
CheckPre-requisites
Assign toCourse
ResolveConflict
UpdateSchedule
[checks completed] [checks failed]
[student addedto course]
Example: Activity Diagram
27
Outline
UML Use cases Sequence diagrams Activity diagrams How to write use cases
28
Cartoon of the Day
29
Switch to other talk...