TD-635-05-PSBO

27
SEQUENCE DIAGRAM tinoDWIANTORO 5

Transcript of TD-635-05-PSBO

SEQUENCE DIAGRAM tinoDWIANTORO 5

Sequence Diagram

• Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).

• Diagram ini secara khusus berasosiasi dengan use case diagram

• Mendefinisikan interaksi yang ada di dalam sistem – Mengilustrasikan objek yang berpartisipasi didalam use case

• Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.

• Memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu didalam use case

SIMBOL SEQUENCE DIAGRAM No Nama Simbol Keterangan Simbol

1 Object (Partisipan)

Object atau biasa juga disebut partisipan merupakan instance dari sebuah class dan dituliskan tersusun secara horizontal. Digambarkan sebagai sebuah class (kotak) dengan nama objek didalamnya yang diawali dengan sebuah titik koma atau garis miring

2 Actor Actor juga dapat berkomunikasi dengan object, maka actor juga dapat diurutkan sebagai kolom.

3 Lifeline Lifeline mengindikasikan keberadaan sebuah object dalam basis waktu. Notasi untuk Lifeline adalah garis putus-putus vertikal yang ditarik dari sebuah objek.

/Object1

; Object1

<<actor>>

SIMBOL … Lanjutan

No Nama Simbol Keterangan Simbol

4 Activation Activation mengindikasikan sebuah objek yang akan melakukan sebuah aksi.

5 Boundary Boundary terletak di antara sistem dengan dunia sekelilingnya. Semua form, laporan-laporan, antar muka ke perangkat keras seperti printer atau scanner dan antar muka ke sistem lainnya adalah termasuk dalam kategori.

6 Control Control berhubungan dengan fungsionalitas seperti pemanfaatan sumber daya, pemrosesan terdistribusi, atau penanganan kesalahan.

<<boundary>>

<<contol>>

SIMBOL … Lanjutan

No Nama Simbol Keterangan Simbol

7 Entity Entity digunakan menangani informasi yang mungkin akan disimpan secara permanen. Entity bisa juga merupakan sebuah tabel pada struktur basis data.

8 Message Message, digambarkan dengan anak panah horizontal antara Activation. Message mengindikasikan komunikasi antara object-object.

9 Self-message Self-message atau panggilan mandiri mengindikasikan komunikasi kembali kedalam sebuah objek itu sendiri.

10 Loop Operator loop adalah fragmen yang dapat mengeksekusi berulang kali dan guard menunjukkan dasar iterasi.

<<entity>>

Looping, Syarat dan Like

• Loop dan conditional menggunakan kerangka interaksi (interaction frame), yaitu frame untuk memberi tanda pada sequence diagram (lihat gambar pada slide berikutnya).

• Umumnya frame terdiri dari beberapa region pada sequence diagram, yang dibagi menjadi satu atau lebih fragmen. Setiap frame mempunyai sebuah operator. Sebuah fragmen mungkin mempunyai satu guard.

Looping, Syarat dan Like Operator Keterangan

alt Alternatif dari banyak fragmen. Hanya yang kondisinya true yang akan dijalankan

opt Optional; fragmen akan dijalankan jika kondisi yang mendukungnya true

par Paralel; setiap fragmen dijalankan secara paralel

loop Looping, fragmen mungkin dijalankan berulang kali dan guard menunjukkan basis iterasi

region Critical region; fragmen hanya dapat mempunyai satu thread untuk menjalankannya

neg Negatif; fragmen menunjukkan interaction yang salah

ref Reference; menunjukkan ke sebuah interaction yang didefinisikan pada diagram yang lain

sd Sequence diagram

Simple example of a sequence diagram

:Customer :ATM:Server

1: Insert Card

2: ok=checkCard(cardData)

3:

4:

sd Identify Authorized Person

log()

ok:Boolean

Only 1 interaction Local attribute

Lifelines

Contoh:

Contoh:

TIPS MEMBUAT SEQUENCE DIAGRAM

• Buat Flow of event terlebih dahulu

• Dari flow of event, cari kata benda yang nantinya akan menjadi kandidat objek partisipan

• Aktor terletak dipaling kiri sequence diagram

• Control object, biasanya diletakkan setelah aktor

• Satu usecase satu sequence diagram

• Satu object bisa digunakan pada lebih dari satu sequence diagram

Belajar Membuat Sequence Diagram

• Misalnya ada seorang pelanggan ingin makan nasi goreng. Maka pelanggan akan menemui waiter.

• Waiter mencatat pesanan pelanggan. Karena waiter tidak bisa memasak nasi goreng,maka dia meminta bantuan pada TukangNasiGoreng.

• Jika bahan nasi goreng habis, maka TukangNasiGoreng akan meminta TukangBahanBaku, untuk menyediakan bahan baku.

• Jika bahan baku habis,maka TukangBahanBaku akan meminta supplier mengirimkan bahan baku.

Belajar Membuat Sequence Diagram … Lanjutan

• Terlihat bahwa suatu pernyataan yang membutuhkan kelas sangat dipentingkan disini. Yang bisa membuat nasi goreng adalah tukang nasi goreng,maka waiter mengirimkan pesan buatNasiGoreng yang arahnya menuju kelas TukangNasiGoreng.

• Begitu juga jika bahannya berasal dari kelas lain, makakelasTukangNasiGoreng mengirimkan pesan ke kelas yang tepat, yaitu kelas TukangBahanBaku.

• Jika TukangBahanBaku perlu bahan baku,maka ia akan meminta kelas yang punya metode kirimkan bahan baku untuk bekerja.

Belajar Membuat Sequence Diagram … Lanjutan

• Contoh diatas berasumsi bahwa TukangNasiGoreng, TukangBahanBaku dan Supplier adalah sesuatu yang akan dikoding. Walaupun dalam kenyataanya mereka sebenarnya tidak bisa dikoding, contoh ini hanya untuk memudahkan pemahaman konsep saja.

Jika dibuatkan Sequence Diagram-nya, maka akan jadi seperi ini ..

Belajar Membuat Sequence Diagram … Lanjutan

Note: Gambar dibuat dengan menggunakan software ArgoUML

MULAI MEMBUAT

SEQUENCE DIAGRAM

STUDI KASUS: EDIT PROFIL

• Berikut adalah contoh basic flow dari use case: Edit Profile

Aktor Sistem

1. Memilih menu edit

2. Menampilkan field untuk mengganti profile

3. Mengganti profile yang diinginkan

4. Mengganti profile dan menyimpan ke dalam database

CARA LAIN MENGGAMBAR PARTISIPAN

• Boundary

Mengambarkan interaksi antara satu atau lebih actor dengan sistem, memodelkan bagian darisistem yang bergantung pada pihak lain disekitarnya dan merupakan pembatas sistem dengan dunia luar.

• Control

Menggambarkan “perilaku mengatur”, mengkoordinasikan perilaku sistem dan dinamika dari suatu sistem, menangani tugas utama dan mengontrol alur kerja suatu sistem

• Entity

Menggambarkan informasi yang harus disimpan oleh sistem (struktur data dari sebuah sistem)

Contoh

STUDI KASUS

-- PENYEWAAN MOBIL--

<<lihat slide studi kasus>>

LATIHAN

1. Setiap objek / participant terhubung dengan garis titik-titik yang

disebut:

A. Message D. Sequence

B. Lifeline E. Time

C. Recursive

2. Diagram yang menunjukkan sejumlah contoh objek dan message

yang diletakkan diantara objek-objek didalam use case disebut:

A. Class diagram D. Package

B. Sequence Diagram E. Use Case

C. Statechart Diagram

3. Waktu dalam sequence diagram ditunjukkan dengan:

A. Garis Vertikal D. Tanda panah tertutup

B. Garis Horisontal E. Kotak

C. Tanda panah

4. Operator dalam sebuah frame yang berarti bahwa fragmen

mungkin dijalankan berulang kali dan guard menunjukkan basis

iterasi

A. alt D. loop

B. opt E. region

C. par

5. Sebuah objek yang mempunyai sebuah operation kepada dirinya

sendiri disebut:

A. Sequence D. Loop

B. Message E. Recursive

C. Participant

TERIMA KASIH