Beruflich Dokumente
Kultur Dokumente
Notation:
Standard
Process: Tools:
Support
Client-
Standard and
Oriented
Process
UML Notation (Diagrams)
Use-Case
Diagram Statechart
Class Diagram Diagram add f ile
DocumentList
add( )
Actor A Actor B fetchDoc( ) delete( )
name : int
docid : int
sortByName( ) numField : int Writing
add f ile [ numberOf file==MAX ] /
f lag OFF
get( )
open( ) read() fill the
Use Case 2 close( ) code..
Openning
FileList read( )
sortFileList( )
fList create( )
fillDocument( ) close f ile
add( )
delete( )
1
rep
Deployment
File
Repository
read( )
readDoc( )
open( )
readFile( )
Diagram
create( )
fillFile( )
Collaboration 9: sortByName ( )
Repository DocumentList
2: fetchDoc( )
FileManager
Window95
¹®¼°ü¸®
Windows95
Windows95
Document
Ŭ¶óÀ̾ðÆ®.EXE
8: fillFile ( ) Windows
NT
IBM
7: readFile ( ) Mainframe
5: readDoc ( )
document : Document
repository : Repository
µ¥ÀÌŸº£À̽º¼¹ö
mainWnd fileMgr :
FileMgr
document :
Document
gFile repository
Component
Diagram
user
Target
ƯÁ¤¹®¼¿¡ ´ëÇÑ º¸±â¸¦ 1: Doc view request ( )
»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
2: fetchDoc( )
3: create ( )
4: create ( )
System
5: readDoc ( )
7: readFile ( )
Forward and
8: fillFile ( )
Sequence Reverse
Diagram Engineering
UML Tools
Rational Rose
Visual Paradigm
Enterprise Architect
Microsoft Visio
Star UML
Netbeans UML Plugin
UML 2.0
UML version 2.0 has 14 diagrams in 2
major groups:
1. Structure Diagrams
2. Behavior Diagrams
UML 2.0 Diagram
UML Structure Diagrams
Represent the data and static
relationships in an information system
1. Class Diagram
2. Object Diagram
3. Package Diagram
4. Deployment Diagram
5. Component Diagram
6. Composite Structure Diagram
Structure Diagrams
1. Class Diagrams
• Common vocabulary used by analyst and users
• Represent things (employee, paycheck,…)
• Shows the relationships between classes
2. Object Diagrams
• Similar to class diagrams
• Instantiation of a class diagram
• Relationships between objects
3. Package Diagrams
• Group UML elements together to form higher level
constructs
Structure Diagrams
4. Deployment Diagrams
• Shows the physical architecture and software
components of system
• For example, network nodes
5. Component Diagrams
• Physical relationships among software components
• Example – Client/Server (Which machines run which
software)
6. Composite Structure
• Illustrates internal structure of a complex class
UML Behavior Diagrams
Depict the dynamic relationships among the
instances or objects that represent the
business information system
1. Activity Diagram 5. Timing Diagram
2. Sequence Diagram 6. Behavior State
3. Communication Machine
Diagram 7. Protocol State
4. Interaction Overview Machine
Diagram 8. Use Case Diagrams
Behavior Diagrams
1. Activity Diagrams
• Model processes in an information system
• Example: Business workflows, business logic
2. Interaction Diagrams
• Shows interaction among objects
3. Sequence Diagrams – Time
• Time-based ordering of the interaction
4. Communication Diagrams – Messages
• Communication among a set of collaborating objects of
an activity
Behavior Diagrams
4. Interaction Overview Diagrams
• Overview of flow of control of a process
5. Timing Diagrams
• Show how an object changes over time
6. State Machines
• Examines behavior of one class
• Models the different states and state transitions an
object can experience
7. Use-Case Diagrams
• Shows interaction between the system and
environment
• Captures business requirements
UML Problems
UML is modeling notation, it is not a
development process or a methodology
• UML driven development process?
Mulai
Memasukkan Kartu
[ya]
Memasukkan PIN
[ya]
[ya]
Mengeluarkan Kartu
Mengeluarkan Kuitansi
Selesai
Swimlanes
The business process may be broken into
persons of responsibility
Identify this with swimlanes
Activity Diagram (Business Process)
Use Case Diagram
Use Case Diagram
Map a Use Case Diagram to the Business Process Model
to define exactly what functionality you are intending to
provide from the business user perspective
As each Use Case is added, create a traceable link from
the appropriate business processes to the Use Case
This mapping clearly states what functionality the new
system will provide to meet the business requirements
outlined in the process model
Use Case Diagram define what user (Actor) do to the
system (System Functionality
Output:
Use Case Diagram
Use Case
A formal way of representing how a
business interacts with its environment
The discrete activities performed by
the user
Use cases are logical models that
describe the activities of a system
Used to document the As-Is system, or
to develop the To-Be system
How Are Use-Cases Created?
Each Use Case describes one and only
one function
But may have several paths that the
user can take to accomplish that single
function
Types of Use-Cases Overview vs. Detail
Overview
• High level overview of requirements
• Allows users and analysts to agree
on major requirements
• Created early, documents only basic info
Name, ID, primary actor, type, brief description
Detail – Once user & analyst agree
• Documents all information needed for the Use
Case
Types of Use-Cases Essential vs. Real
Essential
• Describes only essential issues needed to
understand the required functionality
• e.g. "make appt"
Real
• Goes further and describes a specific set of
steps
• e.g. "make entry into outlook database
Steps to Create a Use Case
1. Understand the business process
model (UML AD or BPMN)
2. Prepare Use Case Diagrams for each
Use Case
3. Prepare Use Case Descriptions for
each Use Case
Use Case Diagrams
Generalization Relationship
Use Case
A major piece of
system functionality
Can extend other Use Case
Use Cases
Placed inside system boundary
Labeled with descriptive
verb-noun phrase
System Boundary
Includes the name
of the system
inside or on top Boundary
Represents the
scope of the system
Actors are outside the scope of the system
Actor
A person or another
system that interacts
with the current system
A role, not a specific user
Provides input, actor
receives output, or both Actor/Role
Association Relationship
* *
Extends Relationship
Extends Use Case to include Optional
behavior
Arrow points from the extension Use Case
to the base Use Case
extend
include
include Make
Buy Receipts
Payment
Generalization Relationship
A specialized Use Case to a more
generalized Use Case
Arrow points from specialized to
general Use Case
Sistem ATM
Melihat Saldo
Mengambil Uang
Melakukan Logout
Use Case Description
What are Use-Case Descriptions?
Describe basic functions of the system
using words
1. What the user can do
2. How the system responds
Elements of a Use-Case Description
Contains all information needed to explain
Use Case diagrams, and expresses it less
formally
Three basic parts:
1. Overview information
2. Relationships
3. Flow of events
Elements of a Use-Case Description
Brief Description:
Trigger:
Subflows:
Alternate/Exceptional Flows:
Overview Information
Use Case Name
• verb-noun phrase (Make Appt)
Use Case ID Number
• Allows specific reference
Importance level
• Can be fuzzy or based on detailed analysis
Primary Actor
• Normally the trigger
Overview Information
AN ACTOR
AN OBJECT
anObject:aClass
A LIFELINE
A FOCUS OF CONTROL
A MESSAGE
aMessage()
OBJECT DESTRUCTION x
Example Sequence Diagram for
Make Appointment Use Case
BCE Pattern on Sequence Diagram
Pembuatan object pada lifeline di sequence diagram
bisa berbeda-beda (subyektif)
Boundary-Control-Entity (BCE) pattern membantu
standarisasi object pada lifeline:
1. Boundary Class:
- Class yang berinteraksi dengan aktor langsung (user
interface)
- Bisa berbentuk form, input, menu, dsb.
2. Control Class:
- Class yang berhubungan dengan pemrosesan,
penghitungan, kalkulasi, komputasi, query, dsb
3. Entity Class:
- Class yang berhubungan dengan data baik flatfile atau
database
Sequence Diagram: Mengirim Uang
eraction
Pengguna
MenuUtama MenuMengirimUang PemrosesanPengirimanUang Account
memilihMengirimUang()
tampilkaMenuMengirimUang()
memasukkanAccountTujuan()
memasukkanJumlah()
kirimUang(accountTujuan, jumlah)
getAccount(accountTujuan)
getSaldo(id)
isSaldoCukup()
tampilkanHasilPengirimanUang()
Sequence
Interaction
Diagram: Memasukkan Kartu
Pengguna
KotakKartu PemrosesanValidasiKartu MenuLogin
memasukkanKartu()
validasiKartu()
isKartuValid()
tampilkanMenuLogin()
Sequence Diagram: Memasukkan PIN
nteraction
Pengguna
MenuLogin PemrosesanValidasiAccount Account MenuUtama
memasukkanPIN()
validasiAccount()
getAccount(id, PIN)
tampilkanMenuUtama()
Sequence Diagram: Mengirim Uang
eraction
Pengguna
MenuUtama MenuMengirimUang PemrosesanPengirimanUang Account
memilihMengirimUang()
tampilkaMenuMengirimUang()
memasukkanAccountTujuan()
memasukkanJumlah()
kirimUang(accountTujuan, jumlah)
getAccount(accountTujuan)
getSaldo(id)
isSaldoCukup()
tampilkanHasilPengirimanUang()
Sequence Diagram: Melihat Saldo
nteraction
Pengguna
MenuUtama PemrosesanLihatSaldo Account MenuMelihatSaldo
memilihMelihatSaldo()
lihatSaldo(id)
getSaldo(id)
tampilkanHasilMelihatSaldo()
Sequence Diagram: Mengambil Uang
nteraction
Pengguna
MenuUtama MenuMengambilUang PemrosesanPengambilanUang Account KotakUang
memilihMengambilUang()
tampilkanMenuMengambilUang()
memasukkanJumlahUang()
ambilUang(id, jumlah)
getAccount(id)
getSaldo(id)
isSaldoCukup()
keluarkanUang(jumlah)
tampilkanHasilPengambilanUang()
Sequence
nteraction
Diagram: Melakukan Logout
Pengguna
MenuUtama PemrosesanLogout KotakKuitansi KotakKartu
memilihMelakukanLogout()
lakukanLogout()
keluarkanKuitansi()
keluarkanKartu()
Class Diagram
From the object-lifeline of sequence diagram and the
user interface model create the Class Model
This is a precise specification of the objects in the
system, their data or attributes (variables) and their
behavior or operations (methods)
Sequence diagram messages will typically map to class
operations (method)
Class diagrams may be broken into discrete packages
and components (collection of classes)
Output:
Class Diagram
Component (Package) Diagram
Class Diagrams
Static model
Shows
• Classes
• Relationships among classes
• Remains constant over time
Example Class Diagram
More on Attributes
Derived attributes
• /age, for example can be calculated from birth
date and current date
Visibility of attributes
• +Public: not hidden from any object
• #Protected: hidden from all but immediate
subclasses
• –Private: hidden from all other classes
Default is private
More on Operations
Exactly one
Dept 1 Boss
Zero or more
Employee 0..* Child
One or more
Boss 1..* Employee
Zero or one
Employee 0..1 Spouse
Specified
range Employee 2..4 Vacation
Disjoint
Employee 1..3, 5 Committee
ranges
Class Diagram (Sistem ATM)
class Class Model
melakukan
mengakses
ProsesPengirimanUang
KotakKartu MenuKirimUang
mewarisi melakukan
mengakses
mewarisi
melakukan
memiliki Layar
MenuUtama
mewarisi mengakses
memiliki melakukan ProsesPengecekanSaldo
SistemATM
melakukan
melakukan
memiliki
PemrosesanLogout
mewarisi
memiliki
KotakUang ProsesPengambilanUang
KotakKuitansi
MenuPengambilanUang melakukan
ER Diagram
From the entity class pattern of sequence
diagram, begin to construct Entity Relationship
(ER) Diagram
ER diagram (database structure) can be
produced from the entity class of the class
diagrams
Output:
ER Diagram
ER Diagram
Deployment Diagram
The Deployment model defines the physical
architecture of the system
This work can be begun early to capture the
physical deployment characteristics
• What hardware, operating systems, network capabilities,
interfaces and support software will make up the new
system
• Where it will be deployed
• What parameters apply to disaster recovery, reliability,
back-ups and support
Output:
• Deployment Diagram
Deployment Diagram Components
Nodes
• Any piece of hardware in the model
• A computational resource
• Labeled by its name
• Stereotype to label the type of node
Artifacts
• Piece of the information system
Such as software or a database table
Deployment Diagram Components
Communication paths
• Links between nodes of the network
Deployment Diagram Example
Deployment Diagram
Component Diagram
Tugas
Lakukan pengembangan software dengan mengikuti 10 proses
pengembangan software, untuk studi kasus di bawah:
1. Aplikasi Koperasi Simpan-Pinjam 6. Aplikasi Recruitment Karyawan
2. Aplikasi Penerimaan Mhs Baru 7. Aplikasi Pengolahan Nilai
3. Aplikasi Perpustakaan 8. Aplikasi Pemesanan Tiket Kereta
4. Aplikasi Stock Barang ATK 9. Aplikasi Sisfo Skripsi
5. Aplikasi Presensi-Absensi 0. Aplikasi Penjualan Obat di Apotik