3. UML Sequence Diagram

download 3. UML Sequence Diagram

of 38

Transcript of 3. UML Sequence Diagram

PEMODELAN PERANGKAT LUNAKSequence Diagram

Sequence Diagram

Merupakan suatu diagram interaksi yang memodelkan suatu skenario tunggal yang dijalankan pada sistem Digunakan untuk memperlihatkan interaksi antar obyek dalam perintah yang berurut. Tujuan utama adalah mendefinisikan urutan kejadian yang dapat menghasilkan output yang diinginkan

Sequence Diagram

Partisipan : obyek atau entitas yang bertindak dalam sequence diagram Message : komunikasi antar obyek partisipan Terdapat 2 tipe garis yaitu vertikal dan horisontal: waktu maju berdasarkan waktu Horisontal : obyek mana yang beraksi Vertikal

Elemen Notasi

Didefinisikan pada UML 2.0 Digambarkan dalam bentuk frame Bersifat optional untuk menggambarkan batas grafis suatu diagram.

Elemen Notasi (cont.)

Diagram sequence memiliki message datang (input) dan keluar (output)

Elemen Notasi (Labeling)DiagramType DiagramName

Spesifikasi UML memiliki nilai text khusus untuk tipe diagram sd

= Sequence Diagram, activity = Activity Diagram, use case = Use Case Diagram

Types of Interaction

Creation

Menunjukkan pesan yang menyebabkan terjadinya pembentukan instan obyek.

Synchronous

Pesan yang dikirim oleh 1 obyek ke obyek lain dan obyek pertama menunggu sampai hasil aksi selesai.

Asynchronous

Pesan yang dikirim oleh 1 obyek ke obyek lain dan obyek pertama tidak menunggu sampai hasil aksi selesai.Menunjukkan nilai kembali dari obyek ke obyek yang megirim pesan

Reply

Sumber : schaum outline

Guideline untuk membuat Diagram Sequence UML1. 2.

3.

4.

5.

6.

Set konteks (i.e. lingkup sistem) Identifikasi objek partisipasi Gambarkan sembarang lifeline untuk setiap kelas Gambarkan durasi objek pada lifeline kelas Insert message objek dari atas ke bawah (top to bottom) diagram (time-based) Cek diagram lagi sampai komplit

Lifelines

Elemen notasi lifeline terletak pada posisi atas diagram Representasi aturan (role) lain atau instance objek yang berpartisipasi dalam sequence dimodelkan Standar penamaan lifeline : Instance

Name : Class Name

Messages

Message pertama pada diagram sequence selalu dimulai dari atas dan tipikalnya diletakkan pada sisi kiri dari diagram untuk mudah. Message Subsequent ditambahkan ke diagram lebih rendah (bawah) dari previous message.

Message (cont.)

Object analyst membuat panggilan ke objek system dimana instance= ReportingSystem class. Object analyst memanggil objek system untuk menjalankan getAvailableReports method. Object system kemudian memanggil getSecurityClearance method dengan argument= userId pada secSystem object, dimana tipe class= SecuritySystem secSystem object mengembalikanreturn userClearance ke system object ketika getSecurityClearance method dipanggil. object system mengembalikan return= availableReports ketika getAvailableReports method dipanggil.

Message (cont.)

object system memanggil determineAvailableReports method.

Message (cont.)

Asynchronous Messages : digunakan pada proses konkurensi

Guards

Ketika memodelkan interaksi objek, akan ada waktu ketika kondisi bertemunya message yang dikirim ke objek.

guard adalah text "[pastDueBalance = 0]." dengan memiliki guard pada message tersebut, addStudent message hanya dikirimkan jika accounts receivable system mengembalikan return past due balance bernilai nol

Combined fragments (alternatives, options, and loops)

combined fragment digunakan untuk mengelompokkan sekumpulan message bersama untuk menggambarkan aliran kondisional pada sequence diagram. Spesifikasi UML 2 identifikasi 11 tipe interaksi untuk combined fragment.

Alternatives

Alternatives digunakan untuk menggambarkan mutually exclusive memilih dua atau lebih message sequence. Alternatives adalah model klasik "if then else". contoh logika : if

saya beli 3 item, then saya dapat 20% discount dari belanjaan; else saya memperoleh 10% discount dari belanjaan

Alternatives (cont.)

Option

Option combination fragment digunakan untuk model sequence untuk, memberikan kepastian kondisi, akan muncul atau sequence tidak muncul option adalah model sederhana pernyataan "if then" (i.e., if sedikitnya 5 donat pada rak then buat 2 lusi lagi donut).

Option (Cont.)

if a student's past due balance = zero (nol), then addStudent, getCostOfClass, dan chargeForClass messages dikirim. If student's past due balance zero (nol), then sequence skip mengirim beberapa message dalam option combination fragment.

Loops

Occasionally kita membutuhkan model sequence perulangan (repetitive sequence). Pada UML 2, memodelkan repeating sequence dengan loop combination fragment.

Loops (cont.)

Referencing another sequence diagram

Mulai diperkenalkan pada UML 2, "Interaction Occurrence". Interaction occurrences menambah kemampuan diagram sequence lama (primitive) ke dalam diagram sequence lebih kompleks. text "ref" ditempatkan dalam frame namebox, dan nama diagram sequence yang direferensikan ditemaptkan pada sepanjang area isi frame dengan beberapa parameter pada diagram sequence.

Interaction Occurrence

Interaction Occurrence (cont.)

Gates

Gates cara mudah memodelkan informasi yang dilewatkan antara diagram sequence dengan konteks. Gate adalah hanya sebuah message yang mengilustrasikan satu koneksi akhir edge frame diagram sequence dan koneksi akhir lain ke lifeline

Gates (cont.)

Gates (cont.)

Break

hampir identik dengan setiap cara untuk option combined fragment, dengan dua pengecualian.Namebox frame break dengan text "break" bukan "option." Ketika message break combined fragment dieksekusi, message remainder interaksi enclosing tidak berjalan karena sequence dibreak keluar dari interkasi enclosing

break combined fragment adalah seperti kata kunci break dalam bahasa pemrograman seperti C + + atau Java Breaks yang paling umum digunakan untuk penanganan exception model

Parallel

Ketika waktu pemrosesan task yang kompleks membutuhkan porsi komplit yang lama dari yang diinginkan, beberapa sistem menanganinya dengan pemrosesan sebagian dengan pararel parallel combination fragment digambarkan dengan menggunakan frame, dan menuliskan text "par" ke dalam namebox frame Pemecahan bagian isi frame kedalam operand2 dipisahkan secara horizontol oleh garis putusputus Setiap operand dalam frame merepresentasikan eksekusi thread dilakukan dalam parallel.

Parallel (cont.)

A microwave is an example of an object that does two tasks in parallel

Summary

Diagram sequence adalah diagram yang baik untuk dokumen kebutuhan sistem dan menyamakan desain sistem. Alasan sequence diagram sangat berguna karena digambarkan logika interaksi antara objek dalam sistem dalam urutan waktu itu terjadinya interaksi

References

UML 2.0 Superstructure Final Adopted Specification UML 2 Sequence Diagram Overview UML 2 Tutorial

Try this yourselfGambarkan sequence diagram memodelkan

kasus ketika seorang manajer kampanye

iklan mengambil rincian kampanye iklan klien tertentu dan daftar rinci iklan spesifik dari kampanye. sequence diagram juga harus menunjukkan kasus ketika baru dibuat iklan. Hanya pesan panggilan (sinkron) harus digunakan dalam contoh ini dan menggunakan kondisi yang Anda anggap perlu iterasi.Objects to use: CampainManager, Client, Campaign, and Advert

A Solution to Previous Slide:CampaignManager :Client :Campaign :Advert getClientName()

listCampaigns() [For all client's campaigns]*getCampaignDetails()

listAdverts() [For all adverts in campaign]*getAdvertDetails()

addNewAdvert() Advert() new Ad:Advert

Try this tooBuat diagram swquence memodelkan perilaku mesin bir PCB. Mesin akan membuat lubang di PCB dengan dimensi ko-ordinat. Ko-ordinat dibuat berdasarkan list, dimana koordinat paling sedikit satu ko-ordinat. Pemboran akan berhenti ketika semua list dicapai atau proses di interrupt user.

A Solution to Previous SlideloadFile(file) :Computer :drillController :Driller Drill(coord) initSeq()

move(offset)

finalSeq()

[while not EOF]*Drill(coord)

Question