state-sequence diagram

Analisa dan Perancangan Sistem

Statechart dan
Sequence Diagram

Sequence Diagram

ARTIFACT UML (BAGAN YANG TERDAPAT PADA UML)
Langkah – Langkah UML

Class
Diagram

Use-Case
Diagram

State Diagram
add file

DocumentList


FileMgr

name : int
docid : int
numField : int
get( )
open( )
close( )
read( )
sortFileList( )
create( )
f il lDocument( )

Fil eLis t

Use Case 1

fLis t
add( )
delete( )


Writing

add file [ numberOffile==MAX ] /
flag OFF

read() fill the
code..

Openning

close file

1

Actor B
close file

Closing


Reading
rep

Use Case 2

File

Repository
(from Persistence)

read( )


Customer
name
addr
receive()
withdraw()
fetch()
send()


GrpFile

name : char * = 0

Domain
Expert

Activity diagram

Document
add( )
delete( )

fetchDoc( )
sortByName( )

Actor A

Use Case Diagram


read( )
open( )
create( )
fil File( )

readDoc( )
readFile( )

Use Case 3
UI

Class

MFC

Package Diagram

Deployment
Diagram


Class Diagram

DocumentApp
ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿ ¬°á ¸ðµ¨
- À© µµ¿ì 95 : Ŭ¶óÀ̾ðÆ®
- À© µµ¿ì NT: ÀÀ¿ ë¼¹ö
- À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼ ¹ö ¹× µ¥ÀÌŸ ¼ ¹ö, Åë½Å ¼¹ö
- IB M ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼ ¹ö, Åë½Å ¼ ¹ö

RogueWave

DocumentList

Repository

Persistence

9: s ortByName ( )


Windows 95

Window95

Windows 95

global

mainWnd : MainWnd
1: Doc view request ( )

gFile : GrpFile

4: create ( )
8: fillFile ( )

user : »ç¿ëÀÚ

Package
Diagram


Document

Solaris

¹® ¼ °ü¸® ¿£Áø.EXE

Alpha
UNIX
ÀÀ¿ë¼¹ö.EXE
Windows
NT

GraphicFile

fileMgr : FileMgr
3: create ( )
6: fillDocument ( )

File


FileList

IBM
Mainframe

µ¥ÀÌÅ ¸º£À̽º¼ ¹ö

Collaboration Diagram

7: readFile ( )
5: readDoc ( )

document : Document

repository : Repository

Collaboration Diagram
mainWnd
user


Ư Á¤¹®¼ ¿ ¡ ´ëÇ Ñ º¸±â ¸¦
»ç ¿ëÀ Ú°¡ ¿ä Ã»Ç Ñ´Ù.

StateChart Diagram

¹®¼ °ü¸® ¾ÖÇø´

Windows
NT

L

2: fetchDoc( )

User Interface
Definition

¹®¼ °ü¸®
Ŭ ¶óÀ̾ðÆ®.EXE


FileManager

fileMgr :
FileMgr

document :
Document

gFile repository

Forward Engineering(Code Generation)
ComponentReverseand
Engineering

Diagram

Sequence Diagram

Source Code edit, compile, debug, link

1 : D oc v iew requ est ( )

2 : f e tchD oc( )

3: creat e ( )

4: crea te ( )

5: re adDoc ( )

È ÀÏ ° ü¸®ÀÚ´Â À о î¿Â
¹®¼À Ç Á¤ º¸¸¦ ÇØ´ç ¹®¼
° ´Ã¼ ¿ ¡ ¼ ³Á¤ À» ¿äà »Ç Ñ´Ù.

6: f illD ocum ent ( )

7: rea dFile ( )

8: f i llFile ( )

È ¸é °´Ã ¼ ´Â ÀÐ¾î µéÀ Î
° ´Ã¼ µé¿¡ ´ëÇ Ø ÀÌ ¸§ º°· Î
Á ¤· ÄÀ» ½ à ÄÑ È ¸é¿¡
º¸¿©Á Ø´Ù.

9: sortBy Nam e ( )

Deployment Diagram

Sequence Diagram
Componen Diagram

Executable System
Sequence Diagram

Sequence Diagram

Statechart Diagram
• Istilah lain: state diagram, state machines, atau state transition
diagram
• Statechart diagram menggambarkan transisi dan perubahan
keadaan (dari satu state ke state lainnya) suatu objek pada
sistem sebagai akibat dari stimuli yang diterima.
• Diagram State adalah diagram untuk menggambarkan
behavior, yaitu perubahan state di suatu class berdasarkan
event dan message yang dikirimkan dan diterima oleh class
tersebut
• Setiap diagram state hanya boleh memiliki satu start state
(initial state) dan boleh memiliki satu atau lebih dari satu stop
states (final state)
Sequence Diagram

Diagram State : How to Draw

Sequence Diagram

Notasi

Sequence Diagram

Status
 State
Abstraksi dari nilai-nilai atribut dan asosiasi dari
sebuah objek
Representasi kondisi/state dari sebuah objek
pada periode waktu tertentu
 Berhubungan dengan suatu interval waktu
antara dua event
 Respon terhadap event dapat tergantung
kepada state suatu objek
Sequence Diagram

Detail Status
• Aksi yang menyertai transisi untuk masuk ke suatu state
dapat ditempatkan sebagai entry action dalam state
• Aksi yang menyertai transisi yang keluar dari suatu state
dapat ditempatkan sebagai exit action dalam state
• Perilaku yang terjadi dalam status disebut activity yang
dimulai saat masuk hingga saat selesai atau terinterupsi
dengan transisi yang meninggalkan
• Perilaku tsb dapat berupa aksi yang sederhana atau
merupakan event yang dikirimkan ke object lain
Sequence Diagram

Notasi Detail Status
• Detail Status: dituliskan di dalam status di
bawah nama status terpisahkan garis
horisontal
– Entry diawali dengan entry/
– Exit diawali dengan exit/
– Aksi di awali dengan do/
– Target class dan event
dituliskan ^ClassName.event
Sequence Diagram

Transisi
• Menyatakan perubahan dari suatu status semula ke status
berikutnya (kedua status bisa saja sama)
• Dua transisi: Otomatis dan nonotomatis
• Otomatis: terjadi setelah aktifitas dalam status semula selesai
(tidak ada event terasosiasi dengan transisi)
• Nonotomatis: terjadi oleh suatu event (bisa dari object lain atau
dari luar sistem)
• Transisi: garis dengan mata panah mengarah dari status
sebelumnya ke status berikutnya

Sequence Diagram

State Transitions


Transisi – Hubungan antara dua state yang
mengindikasikan bahwa suatu objek telah selesai
melakukan suatu aksi dan akan berpindah pada aksi
berikutnya

Sequence Diagram

Detail Transisi
• Transisi bisa memiliki suatu aksi dan/atau guard condition yang
terkait dengannya dan dapat pula mentriger suatu event
• Aksi: perilaku yang terjadi ketika suatu transisi terjadi
• Guard condition: adalah ekspresi boolean dari hargaharga
atribut yang mana transisi tsb bisa terjadi hanya jika kondisi
tersebut true.
• Kedua hal tsb perilaku dari object dan umumnya menjadi
operasi dalam class diagram
• Detail dituliskan di dekat garis transisi (misalnya di atas jika
horisontal, di samping jika garis vertikal)
• Aksi dituliskan sebagai frase
• guard condition dituliskan di dalam kurung siku.

Sequence Diagram

Notasi Detail Transisi
• Pada transisi dapat dispesifikasikan
– event
– action
– guard condition
– send event
• Dengan format
event [guard condition]/ action ^ClassSendTarget.event
• Jika event memiliki argumen maka argumen dituliskan di
dalam tanda kurung

Sequence Diagram

Event




Event – spesifikasi dari sebuah kejadian tertentu
Segala sesuatu yang terjadi dapat dimodelkan
sebagai event
Sebuah state menunjukkan transuisi antar status
(state) yang dipicu oleh stimulus tertentu (event)
event

Idle

OffHook / dropConnection()

Active
Sequence Diagram

Event




Event dapat dikategorikan ke dalam
internal atau external event
Internal event berasal dari dan menuju
ke objek pada sistem aplikasi
External event adalah event yang
berasal dari aktor ke sistem atau
sebaliknya
Ev
en
t

System

Ev

t
n
e

Sequence Diagram

Contoh

Sequence Diagram

Sequence Diagram

Hubungan Dengan Use Case Diagram
• Diagram statechart meliputi seluruh message yang dapat
dikirimkan/diterima object ybs
• Scenario merepresentasikan suatu path di dalam state
diagram
• Interval antara dua message yang dikirim suatu object
umumnya merepresentasikan suatu state

Sequence Diagram

Hubungan Dengan Diagram diagram Lain
• Dengan Sequence Diagram
– State diagram dapat membantu untuk
merepresentasikan message-message yang diterima
object tsb
• Dengan Activity Diagram
– Activity diagram memberikan gambaran lebih detail
mengenai transisi dari state diagram

Sequence Diagram

Guidelines
• Tidak seluruh class perlu dibuatkan diagramnya cukup yang
dipandang signiffikan saja
• Perhatian tetap pada kerangka analisis menjawab WHAT dari
problemnya bukannya HOW dari solusinya

Sequence Diagram

The Fox, then Chicken, and Grain
Imagine you are a farmer trying to get home with your pet fox,
your chicken, and a bag of grain. You come upon a river you
need to cross and there is a small boat just big enough for you
and ONE other item. However, if you were to ever leave the fox
with the chicken the fox would gobble up the chicken, if you left
the chicken and grain together the chicken would get into the
grain. So how do you use this boat to cross the river? Draw the
Sequence Diagram
state diagram ......

Sequence Diagram
• Menunjukkan interaksi object-object dalam scenario yang
dipandang dari dimensi waktu.
• Menggambarkan rentetan pertukaran message antara
object-object tsb

Sequence Diagram

Elemen Sequence Diagram
1. Seorang elemen aktor digunakan untuk menghadirkan
pemakai yang memulai alur peristiwa / kejadian.
2. Elemen – elemen objek.
3. masing-masing elemen yang dihubungkan garis – garis
batang disebut suatu lifeline, di mana jika unsur itu
berpotensi mengambil bagian dalam interaksi itu.

Sequence Diagram

Sequence Diagram

A Sequence Diagram

member:
LibraryMember

book:Book

:Book
Copy

borrow(book)
ok = mayBorrow()

[ok] borrow(member)

setTaken(member)

Sequence Diagrams

Sequence Diagram

A Sequence Diagram
X-Axis (objects)
member:
LibraryMember

:Book
Copy

book:Book

borrow(book)

Y-Axis (time)

ok = mayBorrow()

message
[ok] borrow(member)

Object

Life
Line
setTaken(member)

Activation
box

condition
Sequence Diagrams

Sequence Diagram

Notasi Object
• Object digambarkan sebagai segiempat berisikan :
– Nama object saja, dituliskan
– Nama object dan nama class, dituliskan

– Nama class saja, dituliskan

Sequence Diagram

Kelas dalam Model Analisis

Sequence Diagram

Notasi Timeline
• Garis waktu setiap object digambarkan sebagai garis terputusputus di bawah masing-masing object
myBirthdy
:Date

Sequence Diagram

Notasi Message
• Aliran message digambarkan sebagai garis berpanah dari
satu titik di timeline object pengirim ke titik di timeline object
penerima
– Nama message dan argumen dituliskan di atas garis
message tsb
• Jenis-jenis message
– Simple, Procedure call, Return, Synchronous,
Asynchronous, Balking, Timeout
• Frekuensi message
– Periodic, Aperiodic

Sequence Diagram

Messages
• Simple
– merupakan transfer kontrol dari object
pengirim ke penerima
• Procedure Call
– Pengirim menunggu hingga seluruh nested sequence
selesai
• Return
– Digunakan sebagai return dari suatu procedure call
• Synchronous
– object pengirim menunggu hingga penerima beraksi
terhadap message (menyatakan menerima pesan)
• Asynchronous
– object pengirim tidak menunggu
Sequence Diagram

Messages
• Balking
– Jika setelah pengiriman penerima tidak segera ready untuk
menerima message, maka pengirim mengabaikan pesan tsb
• Timeout
– Jika setelah suatu batas waktu tertentu sejak pengiriman
penerima belum ready maka pengirim mengabaikan pesan tsb
• Periodic
– Message dikirim secara reguler (setelah selang waktu
tertentu)
• Aperiodic
– Message dikirim tidak secara reguler (mungkin hanya
sekali atau pada titik waktu yang tidak tertentu)

Sequence Diagram

Notasi Message
• Jenis-jenis dibedakan dalam penggabarannya
– Simple
– Procedure call
– Return
– Synchronous
– Asynchronous
– balking
– Timeout
• Frekuensi tidak berbeda dalam penggambarannya
Sequence Diagram

Sequence Diagram

Hubungan dengan realisasi
usecase
• Sequence diagram dapat berasosiasi dengan realisasi
usecase
– Digunakan untuk menunjukkan flow dari
fungsionalitas di dalam suatu use case.

Sequence Diagram