PEMODELAN PERANGKAT LUNAK

Sequence 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) .

 activity = Activity Diagram.Elemen Notasi (Labeling) DiagramType DiagramName  Spesifikasi UML memiliki nilai text khusus untuk tipe diagram  sd = Sequence Diagram.  use case = Use Case Diagram .

Menunjukkan nilai kembali dari obyek ke obyek yang megirim pesan  Reply ● Sumber : schaum outline .  Asynchronous ● Pesan yang dikirim oleh 1 obyek ke obyek lain dan obyek pertama tidak menunggu sampai hasil aksi selesai.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.

3.Guideline untuk membuat Diagram Sequence UML 1. 6. Set konteks (i. 4.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 . 2. 5.

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 .

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

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

Message (cont.)  object system memanggil determineAvailableReports method. .

Message (cont.)  Asynchronous Messages : digunakan pada proses konkurensi .

addStudent message hanya dikirimkan jika accounts receivable system mengembalikan return past due balance bernilai “nol” ." dengan memiliki guard pada message tersebut.  guard adalah text "[pastDueBalance = 0].Guards  Ketika memodelkan interaksi objek. akan ada waktu ketika kondisi bertemunya message yang dikirim ke objek.

.Combined fragments (alternatives. 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. options.

contoh logika :  if saya beli 3 item. then saya dapat 20% discount dari belanjaan. Alternatives adalah model klasik "if then else".Alternatives   Alternatives digunakan untuk menggambarkan mutually exclusive memilih dua atau lebih message sequence. else saya memperoleh 10% discount dari belanjaan .

Alternatives (cont.) .

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

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

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

) .Loops (cont.

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

Interaction Occurrence .

) .Interaction Occurrence (cont.

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

) .Gates (cont.

) .Gates (cont.

Break  hampir identik dengan setiap cara untuk option combined fragment. dengan dua pengecualian. 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 . Namebox frame break dengan text "break" bukan "option."  Ketika message break combined fragment dieksekusi.

.

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     Ketika waktu pemrosesan task yang kompleks membutuhkan porsi komplit yang lama dari yang diinginkan. .

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 .

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

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 too… Buat diagram swquence memodelkan perilaku mesin bir PCB. Mesin akan membuat lubang di PCB dengan dimensi ko-ordinat. dimana koordinat paling sedikit satu ko-ordinat. Pemboran akan berhenti ketika semua list dicapai atau proses di interrupt user. Ko-ordinat dibuat berdasarkan list. .

A Solution to Previous Slide loadFile(file) :Computer :drillController :Driller Drill(coord) initSeq() move(offset) finalSeq() [while not EOF]*Drill(coord) .

Question .

Sign up to vote on this title
UsefulNot useful