SlideShare a Scribd company logo
[RPL2] Sequence Diagram
Miles, Russ & Hamilton, Kim,
2006,
Oreilly Publisher ,
Learning UML 2.0
286 Page
1. Penjelasan Umum Sequence Diagram
2. Penjelasan Notasi, Semantic, dan Stereotype
Umum Sequence Diagram
3. Konsep Time
4. Konsep Events, Sinyal, dan Pesan
5. Konsep Activation Bars
6. Konsep Nested Message
7. Hubungan Use Case Diagram, Kelas Diagram,
dan Sequence Diagram
8. Konsep Sequence Fragment
9. Studi Kasus
1. Usecase memungkinkan model Anda untuk
menggambarkan apa yang harus dapat dilakukan oleh
sistem;
2. Kelas memungkinkan model Anda untuk menggambarkan
berbagai jenis bagian yang membentuk struktur sistem.
3. Ada satu bagian besar yang hilang dari hal-hal tersebut.
Dengan use case dan kelas saja, Anda belum bisa
memodelkan bagaimana sistem Anda benar-benar bekerja.
Di sinilah diagram interaksi, dan khususnya sequence
diagram, mengambil peran
1. Diagram interaksi memodelkan interaksi
runtime penting antara bagian-bagian yang
membentuk sistem Anda dan membentuk
bagian dari pandangan logis model
2. Jenis-jenis Diagram interaksi :
1. Communication diagrams
2. Timing Diagram
3. Sequence diagram
3. Sequence diagram adalah diagram yang paling
populer dari tiga tipe diagram interaksi karena
sequence menunjukkan jenis informasi yang
simple & tepat
[RPL2] Sequence Diagram
1. Sequence diagram menggambarkan perilaku objek pada use case dengan
mendeskripsikan waktu hidup objek dan message yang dikirimkan dan
diterima antar objek.
2. Oleh karena itu untuk menggambar diagram sekuen maka harus
diketahui objek-objek yang terlibat dalam sebuah use case beserta
metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.
3. Banyaknya diagram sekuen yang harus digambar adalah sebanyak
pendefinisian use case yang memiliki proses sendiri atau yang penting
semua use case yang telah didefinisikan interaksi jalannya pesan sudah
dicakup pada diagram sekuen
• Sehingga semakin banyak use case yang didefinisikan maka diagram
sekuen yang harus dibuat juga semakin banyak.
[RPL2] Sequence Diagram
Sequence Diagram menunjukkan elemen ketika mereka
berinteraksi dari waktu ke waktu dan mereka diatur sesuai
dengan objek (horizontal) dan waktu (vertikal):
1. Dimensi Objek
• Sumbu horizontal menunjukkan elemen-elemen yang
terlibat dalam interaksi
• Secara konvensional, objek yang terlibat dalam operasi,
terdaftar dari kiri ke kanan sesuai dengan kapan mereka
mengambil bagian dalam urutan pesan. Namun, elemen
pada sumbu horizontal dapat muncul dalam urutan apa
pun
2. Dimensi waktu
• Sumbu vertikal menunjukkan proses waktu (atau progres)
ke bawah halaman.
• Perhatikan bahwa:
Waktu dalam diagram sikuens adalah semua tentang urutan,
bukan durasi. Ruang vertikal dalam diagram interaksi tidak
relevan untuk durasi interaksi.
[RPL2] Sequence Diagram
ENTITY - Garis hidup dengan
elemen entitas mewakili data
sistem. Sebagai contoh, dalam
aplikasi layanan pelanggan,
entitas Pelanggan akan
mengelola semua data yang
terkait dengan pelanggan.
BOUNDARY - Garis hidup dengan
elemen boundary menunjukkan
elemen batasan sistem . misalnya
layar antarmuka pengguna,
gateway basis data atau menu
yang berinteraksi dengan
pengguna, merupakan boundary
CONTROL - mengatur dan
menjadwalkan interaksi antara
boundary dan entitas dan
berfungsi sebagai mediator di
antara mereka.
Bagian atas dan bawah dari persegi
panjang selaras dengan inisiasi dan
waktu penyelesaian masing-masing
[RPL2] Sequence Diagram
[RPL2] Sequence Diagram
Self Message Sebuah pesan mendefinisikan komunikasi tertentu antara
Lifelines dari Interaksi.
Self Message adalah jenis pesan yang mewakili pesan dari
garis hidup yang sama.
Recursive Message Sebuah pesan mendefinisikan komunikasi tertentu antara
Lifelines dari Interaksi.
Pesan rekursif adalah jenis pesan yang mewakili pesan dari
garis hidup yang sama. Targetnya menunjuk ke aktivasi di atas
aktivasi tempat pesan itu berasal.
Duration Message Sebuah pesan mendefinisikan komunikasi tertentu antara
Lifelines dari Interaksi.
Pesan Durasi menunjukkan jarak antara dua instance waktu
untuk pesan yang berhubungan.
Note Catatan (komentar) memberikan kemampuan untuk
melampirkan berbagai komentar ke elemen. Sebuah
komentar tidak memiliki kekuatan semantik, tetapi dapat
berisi informasi yang berguna bagi seorang pemodel
• Event adalah blok pembangun untuk sinyal
dan message.
• Sinyal dan message adalah nama yang sangat
berbeda untuk konsep yang sama:
• Sinyal adalah terminologi yang sering
digunakan oleh perancang sistem, sementara
perancang perangkat lunak sering lebih suka
message.
• Dalam hal sequence diagram, sinyal dan
message bertindak dan terlihat sama, jadi
dalam uml 2.0 akan tetap menggunakan
istilah “message“.
• Message pada sequence diagram ditentukan
menggunakan panah dari partisipan yang
ingin meneruskan message, Pemanggil
message, ke peserta yang menerima
message, Penerima message.
• Message dapat mengalir ke arah mana pun
yang masuk akal untuk interaksi yang
diperlukan dari kiri ke kanan, kanan ke kiri,
atau bahkan kembali ke Pemanggil Message
itu sendiri.
• Pikirkan Message sebagai peristiwa yang
diteruskan dari Pemanggil Message untuk
membuat Penerima Message melakukan
sesuatu.
• Ketika sebuah pesan diteruskan ke partisipan
(peserta/object) yang memicu, atau
memanggil, partisipan penerima melakukan
sesuatu, peserta penerima dikatakan aktif.
Untuk menunjukkan bahwa seorang
partisipan aktif, gunakan activation bars
• Aktivation Bars dapat ditampilkan pada sisi
pengiriman dan penerimaan pesan. Ini
menunjukkan bahwa peserta pengirim sibuk
saat mengirim pesan dan peserta penerima
sibuk setelah pesan diterima
• Ketika pesan dari satu peserta menghasilkan satu atau lebih pesan yang
dikirim oleh peserta penerima, pesan yang dihasilkan dikatakan bersarang di
dalam pesan yang memicu.
• Ada lima jenis panah pesan utama untuk digunakan pada diagram sequence,
dan masing-masing memiliki arti tersendiri
• Pesan ini dipanggil ketika Message Caller menunggu Message Receiver untuk
kembali dari pesan yang diinvoke
• Pesan asinkron dipanggil oleh Pemanggil Pesan pada
Penerima Pesan, tetapi Pemanggil Pesan tidak menunggu
pemanggilan pesan kembali sebelum melanjutkan langkah-
langkah interaksi lainnya. Ini berarti bahwa Pemanggil
Pesan akan meminta pesan pada Penerima Pesan dan
Pemanggil Pesan akan sibuk menunggu pesan lebih lanjut
sebelum pesan asli kembali
• Sementara pesan foo () sedang dikerjakan oleh objek
messageReceiver, objek messageCaller telah melanjutkan
interaksi dengan mengeksekusi pesan sinkron lebih lanjut
pada objek lain
• Return message adalah bagian opsional notasi yang dapat Anda gunakan di
akhir aktivasi bars untuk menunjukkan bahwa aliran kontrol aktivasi
kembali ke peserta yang melewati pesan asli. Dalam kode, panah kembali
mirip dengan statement return
• Anda tidak harus menggunakan return message terkadang mereka benar-
benar dapat membuat diagram urutan Anda terlalu kompleks dan
membingungkan.
• Peserta tidak harus hidup selama seluruh durasi
interaksi diagram urutan. Peserta dapat dibuat dan
dihancurkan sesuai dengan pesan yang sedang
disampaikan
• Untuk menunjukkan bahwa peserta dibuat, Anda
bisa dengan mudah mengirimkan pesan create(..) ke
lifeline peserta atau menggunakan notasi kotak
peserta yang dijatuhkan di tempat yang benar-benar
jelas bahwa peserta tidak ada sebelum panggilan
create dipanggil. Penghapusan peserta ditunjukkan
dengan berakhirnya lifeline peserta dengan cross
deletion
MessageCaller membuat objek MessageReceiver baru hanya
dengan menggunakan kata kunci baru
• UML 2.0 memperkenalkan sequence
fragmen (atau interaksi). Sekuens Fragmen
menjadikan sequence yang complex
menjadi lebih mudah untuk di-create dan
dipelihara yang akurat
• Sebuah fragmen urutan direpresentasikan
sebagai sebuah kotak, yang disebut
fragmen gabungan, yang membungkus
sebagian interaksi dalam diagram urutan
• Operator fragmen (di cornet kiri atas)
menunjukkan jenis fragmen
• Jenis fragmen: ref, assert, loop, break, alt,
opt, neg
fragmen ref mewakili sepotong diagram
urutan yang lebih besar.
Jenis fragmen ref bekerja dengan cara yang
sangat mirip dengan <<include>> usecase.
TYPE PARAMETERS KEGUNAAN
ref None Merupakan interaksi yang didefinisikan di tempat lain dalam model.
Membantu Anda mengelola diagram besar dengan memisahkan, dan
berpotensi menggunakan kembali, kumpulan interaksi. Mirip dengan
penggunaan ulang yang dimodelkan ketika hubungan <INCLUDE>
diterapkan.
assert None Menentukan bahwa interaksi yang terkandung dalam kotak fragmen harus
terjadi persis seperti yang ditunjukkan; jika tidak, fragmen dinyatakan
tidak valid dan pengecualian harus dimunculkan. Bekerja dengan cara
yang mirip dengan pernyataan tegas di Jawa. Berguna saat menentukan
bahwa setiap langkah dalam interaksi harus terjadi dengan sukses, yaitu,
saat memodelkan suatu transaksi.
loop min times,
max times,
[guard_condition]
Loop melalui interaksi yang terkandung dalam fragmen beberapa kali
sampai kondisi penjaga dievaluasi salah. Sangat mirip dengan loop Java
dan C # untuk (..). Berguna ketika Anda mencoba menjalankan serangkaian
interaksi beberapa kali.
break None Jika interaksi yang terkandung dalam fragmen break terjadi, maka setiap
interaksi yang melingkupi, paling umum fragmen loop, harus keluar. Mirip
dengan pernyataan break di Java dan C #.
TYPE PARAMETERS KEGUNAAN
alt [guard_condition1] ...
[guard_condition2] ...
[else]
Bergantung pada kondisi penjaga mana yang mengevaluasi true pertama, subkoleksi
interaksi yang sesuai akan dieksekusi. Membantu Anda menentukan bahwa
serangkaian interaksi hanya akan dijalankan dalam kondisi tertentu. Mirip dengan
pernyataan if (..) else dalam kode.
opt [guard_condition] Interaksi yang terkandung dalam fragmen ini akan dieksekusi hanya jika kondisi
penjaga bernilai true. Mirip dengan pernyataan if (..) sederhana dalam kode tanpa
yang lain sesuai. Sangat berguna saat menunjukkan langkah-langkah yang telah
digunakan kembali dari diagram urutan use case lain, di mana <<extend>> adalah
hubungan use case.
neg None Nyatakan bahwa interaksi di dalam fragmen ini tidak akan pernah dilaksanakan.
Bermanfaat jika Anda hanya mencoba menandai kumpulan interaksi yang tidak
dieksekusi sampai Anda yakin bahwa interaksi itu dapat dihapus. Paling berguna jika
Anda cukup beruntung menggunakan alat UML yang dapat dijalankan di mana
diagram urutan Anda sebenarnya sedang dijalankan. Juga dapat membantu untuk
menunjukkan bahwa sesuatu tidak dapat dilakukan, mis., Ketika Anda ingin
menunjukkan bahwa peserta tidak dapat memanggil read () pada soket setelah tutup
(). Bekerja dengan cara yang mirip dengan mengomentari beberapa panggilan
metode dalam kode.
TYPE PARAMETERS KEGUNAAN
par None Menentukan bahwa interaksi dalam fragmen ini dapat dengan senang hati
dilakukan secara paralel. Ini mirip dengan mengatakan bahwa tidak
diperlukan penguncian aman-thread yang diperlukan dalam rangkaian
interaksi.
region None Interaksi dalam jenis fragmen ini dikatakan sebagai bagian dari wilayah
kritis. Wilayah kritis biasanya merupakan area di mana peserta bersama
diperbarui. Dikombinasikan dengan interaksi paralel, yang ditentukan
menggunakan tipe fragmen par, Anda dapat memodelkan di mana
interaksi tidak diperlukan agar aman thread atau proses (par fragmen) dan
di mana kunci diperlukan untuk mencegah interaksi paralel interleaving
(fragmen wilayah). Memiliki kesamaan blok yang disinkronkan dan kunci
objek di Jawa.
• Dimungkinkan untuk
menggabungkan LOOP &
BRANCE
• Combined fragment
keywords: alt, opt, break,
par, seq, strict, neg, critical,
ignore, consider, assert and
loop.
• Batasan biasanya digunakan
untuk menunjukkan batasan
waktu pada pesan. Mereka
dapat berlaku untuk waktu
satu pesan atau interval
antara pesan.
[RPL2] Sequence Diagram
[RPL2] Sequence Diagram
• Sequence Berfokus pada
Partisipan dan pesan yang
terlibat dalam use case.
• Gambar disamping hanya
menunjukkan interaksi yang
harus terjadi antara aktor
eksternal dan sistem Anda
karena itu adalah tingkat di
mana langkah-langkah
deskripsi use case ditulis.
• Pada diagram sikuens, sistem
Anda direpresentasikan
sebagai peserta tunggal,
ContentManagementSystem;
Namun, Kecuali Jika Anda
Bermaksud Menerapkan
Sistem Manajemen Konten
Anda Sebagai Satu Bagian Kode
Monolitik (Umumnya Bukan
Ide Yang Baik!),
Saatnya Untuk Memecah
Contentmanagementsystem
Untuk Mengekspos Bagian-
bagian Yang Masuk, Seperti
Yang Ditunjukkan Pada Gambar
Disamping
• Diagram sequence hampir sangat dekat dengan tingkat kode
• Diagram sequence yang baik adalah masih sedikit di atas level
kode sebenarnya
• Diagram sequence adalah bahasa netral. (dapat
diimplementasi disemua bahasa)
• Non-coders dapat melakukan diagram sequence
• Lebih mudah untuk melakukan diagram sequence sebagai
sebuah tim
• Dapat digunakan untuk pengujian dan / atau UX Wireframing
[RPL2] Sequence Diagram
[RPL2] Sequence Diagram
[RPL2] Sequence Diagram
[RPL2] Sequence Diagram
[RPL2] Sequence Diagram

More Related Content

What's hot (20)

PPTX
Ragam Dialog :: Interaksi Manusia dan Komputer
Auliaa Oktarianii
 
DOCX
Use skenario
Septyy Wulandary
 
PPTX
SLIDE KE:5 NFA
Rahmatdi Black
 
PPTX
Erd rental vcd film
Ridwan Fadillah Roni
 
PDF
Software Engineering 1 (Software Development Process Model)
Adam Mukharil Bachtiar
 
PPT
Algoritma penjadwalan proses
Rakhmi Khalida, M.M.S.I
 
PDF
7. Queue (Struktur Data)
Kelinci Coklat
 
PDF
Materi Data Mining - C4.5
dedidarwis
 
PDF
Makalah Mobile Programming
Vicinthia Veren
 
PDF
4 diagram relasi antar entitas (ERD)
Simon Patabang
 
PPTX
Ancaman-Ancaman pada Keamanan Jaringan Komputer
Fajar Sany
 
PDF
circular linked list
Materi Kuliah Online
 
PPTX
Materi 3 Finite State Automata
ahmad haidaroh
 
ODP
Mata Kuliah Basis Data
Mr. Nugraha
 
PPTX
Pembuatan uml pada toko belanja online
andiseprianto
 
PDF
Software Requirement Specification SRS
Septian Rico Hernawan
 
PPTX
Analisis Kebutuhan Sistem Informasi
Universitas Teknokrat Indonesia
 
DOCX
Latihan soal struktur data
Bina Sarana Informatika
 
PPT
Sistem pakar
Universitas Kuningan
 
DOCX
Laporan analisis sistem informasi
POLITEKNIK GORONTALO
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Auliaa Oktarianii
 
Use skenario
Septyy Wulandary
 
SLIDE KE:5 NFA
Rahmatdi Black
 
Erd rental vcd film
Ridwan Fadillah Roni
 
Software Engineering 1 (Software Development Process Model)
Adam Mukharil Bachtiar
 
Algoritma penjadwalan proses
Rakhmi Khalida, M.M.S.I
 
7. Queue (Struktur Data)
Kelinci Coklat
 
Materi Data Mining - C4.5
dedidarwis
 
Makalah Mobile Programming
Vicinthia Veren
 
4 diagram relasi antar entitas (ERD)
Simon Patabang
 
Ancaman-Ancaman pada Keamanan Jaringan Komputer
Fajar Sany
 
circular linked list
Materi Kuliah Online
 
Materi 3 Finite State Automata
ahmad haidaroh
 
Mata Kuliah Basis Data
Mr. Nugraha
 
Pembuatan uml pada toko belanja online
andiseprianto
 
Software Requirement Specification SRS
Septian Rico Hernawan
 
Analisis Kebutuhan Sistem Informasi
Universitas Teknokrat Indonesia
 
Latihan soal struktur data
Bina Sarana Informatika
 
Sistem pakar
Universitas Kuningan
 
Laporan analisis sistem informasi
POLITEKNIK GORONTALO
 

Similar to [RPL2] Sequence Diagram (20)

PPTX
Diagram Sequence.pptx
SitiZulaikha485485
 
PPTX
pertemuan-ketigabelas13#Sequence Diagram.pptx
AgusYuwono7
 
PDF
TD-635-05-PSBO
Tino Dwiantoro
 
PDF
Otomatisasi sistem perparkiran
Doni Andriansyah
 
PDF
RPL-5.OOAD UML(2).pdf
Erlangga22
 
PPTX
Diagram Class dan Diagram Object presentasi
ssusera72af9
 
PDF
[RPL2] Activity Diagram
rizki adam kurniawan
 
PPT
12655598.ppt
NovalAkbar6
 
DOCX
Uml
Kadri Yusuf
 
PDF
Modul 3 ankis
Fitria Nur Utami Ningsih II
 
PPT
Uml
Mrirfan
 
PDF
04 class diagram-uml-netbeans
Samir Nasir
 
PDF
TD-635-11-PSBO
Tino Dwiantoro
 
PPTX
UML (Unified Modeling Language) - Rekayasa Perangkat Lunak
raissazivana
 
PPTX
BPMN
ciwiryanti
 
DOCX
UML untuk Pengembangan Aplikasi Web.docx
Fajar Baskoro
 
PPT
Sequence Diagram.ppt
AliAkbar650585
 
PPT
Sequence Diagram.ppt
hudriyah1
 
PDF
Tukang gypsum 081381278719
tukang_gypsum
 
PPTX
Tugas 3 rekayasa web
Ummi khairani
 
Diagram Sequence.pptx
SitiZulaikha485485
 
pertemuan-ketigabelas13#Sequence Diagram.pptx
AgusYuwono7
 
TD-635-05-PSBO
Tino Dwiantoro
 
Otomatisasi sistem perparkiran
Doni Andriansyah
 
RPL-5.OOAD UML(2).pdf
Erlangga22
 
Diagram Class dan Diagram Object presentasi
ssusera72af9
 
[RPL2] Activity Diagram
rizki adam kurniawan
 
12655598.ppt
NovalAkbar6
 
Uml
Mrirfan
 
04 class diagram-uml-netbeans
Samir Nasir
 
TD-635-11-PSBO
Tino Dwiantoro
 
UML (Unified Modeling Language) - Rekayasa Perangkat Lunak
raissazivana
 
UML untuk Pengembangan Aplikasi Web.docx
Fajar Baskoro
 
Sequence Diagram.ppt
AliAkbar650585
 
Sequence Diagram.ppt
hudriyah1
 
Tukang gypsum 081381278719
tukang_gypsum
 
Tugas 3 rekayasa web
Ummi khairani
 
Ad

More from rizki adam kurniawan (20)

PDF
[MPPL] Managemen Sumber Daya Manusia
rizki adam kurniawan
 
PDF
[RPL2] Pengujian Perangkat Lunak
rizki adam kurniawan
 
PDF
[RPL2] Growth Hacking
rizki adam kurniawan
 
PDF
[RPL2] Bisnis Model & Market Analysis
rizki adam kurniawan
 
PDF
[RPL2] Deployment Diagram
rizki adam kurniawan
 
PDF
[RPL2] Class Diagram dan Relasinya (2)
rizki adam kurniawan
 
PDF
[PBO] Pertemuan 10 - Exception & Error Handling
rizki adam kurniawan
 
PDF
[PBO] Pertemuan 10 - Generic Programming & Collection
rizki adam kurniawan
 
PDF
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
rizki adam kurniawan
 
PDF
[PBO] Pertemuan 12 - Pemrograman Android
rizki adam kurniawan
 
PDF
[PBO] Pertemuan 10 - Pemrograman Database (2)
rizki adam kurniawan
 
PDF
[RPL2] Design Sprint
rizki adam kurniawan
 
PDF
[PBO] Pertemuan 10 - Pemrograman Database (1)
rizki adam kurniawan
 
PDF
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
rizki adam kurniawan
 
PDF
[PBO] Pertemuan 6 - Abstrak
rizki adam kurniawan
 
PDF
[PBO] Pertemuan 5 - Polymorphism
rizki adam kurniawan
 
PDF
[PBO] Pertemuan 5 - Inheritance
rizki adam kurniawan
 
PDF
[PBO] Pertemuan 4 - Kontruktor Destruktor
rizki adam kurniawan
 
PDF
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
rizki adam kurniawan
 
PDF
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
rizki adam kurniawan
 
[MPPL] Managemen Sumber Daya Manusia
rizki adam kurniawan
 
[RPL2] Pengujian Perangkat Lunak
rizki adam kurniawan
 
[RPL2] Growth Hacking
rizki adam kurniawan
 
[RPL2] Bisnis Model & Market Analysis
rizki adam kurniawan
 
[RPL2] Deployment Diagram
rizki adam kurniawan
 
[RPL2] Class Diagram dan Relasinya (2)
rizki adam kurniawan
 
[PBO] Pertemuan 10 - Exception & Error Handling
rizki adam kurniawan
 
[PBO] Pertemuan 10 - Generic Programming & Collection
rizki adam kurniawan
 
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
rizki adam kurniawan
 
[PBO] Pertemuan 12 - Pemrograman Android
rizki adam kurniawan
 
[PBO] Pertemuan 10 - Pemrograman Database (2)
rizki adam kurniawan
 
[RPL2] Design Sprint
rizki adam kurniawan
 
[PBO] Pertemuan 10 - Pemrograman Database (1)
rizki adam kurniawan
 
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
rizki adam kurniawan
 
[PBO] Pertemuan 6 - Abstrak
rizki adam kurniawan
 
[PBO] Pertemuan 5 - Polymorphism
rizki adam kurniawan
 
[PBO] Pertemuan 5 - Inheritance
rizki adam kurniawan
 
[PBO] Pertemuan 4 - Kontruktor Destruktor
rizki adam kurniawan
 
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
rizki adam kurniawan
 
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
rizki adam kurniawan
 
Ad

[RPL2] Sequence Diagram

  • 2. Miles, Russ & Hamilton, Kim, 2006, Oreilly Publisher , Learning UML 2.0 286 Page
  • 3. 1. Penjelasan Umum Sequence Diagram 2. Penjelasan Notasi, Semantic, dan Stereotype Umum Sequence Diagram 3. Konsep Time 4. Konsep Events, Sinyal, dan Pesan 5. Konsep Activation Bars 6. Konsep Nested Message 7. Hubungan Use Case Diagram, Kelas Diagram, dan Sequence Diagram 8. Konsep Sequence Fragment 9. Studi Kasus
  • 4. 1. Usecase memungkinkan model Anda untuk menggambarkan apa yang harus dapat dilakukan oleh sistem; 2. Kelas memungkinkan model Anda untuk menggambarkan berbagai jenis bagian yang membentuk struktur sistem. 3. Ada satu bagian besar yang hilang dari hal-hal tersebut. Dengan use case dan kelas saja, Anda belum bisa memodelkan bagaimana sistem Anda benar-benar bekerja. Di sinilah diagram interaksi, dan khususnya sequence diagram, mengambil peran
  • 5. 1. Diagram interaksi memodelkan interaksi runtime penting antara bagian-bagian yang membentuk sistem Anda dan membentuk bagian dari pandangan logis model 2. Jenis-jenis Diagram interaksi : 1. Communication diagrams 2. Timing Diagram 3. Sequence diagram 3. Sequence diagram adalah diagram yang paling populer dari tiga tipe diagram interaksi karena sequence menunjukkan jenis informasi yang simple & tepat
  • 7. 1. Sequence diagram menggambarkan perilaku objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. 2. Oleh karena itu untuk menggambar diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. 3. Banyaknya diagram sekuen yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sekuen • Sehingga semakin banyak use case yang didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak.
  • 9. Sequence Diagram menunjukkan elemen ketika mereka berinteraksi dari waktu ke waktu dan mereka diatur sesuai dengan objek (horizontal) dan waktu (vertikal): 1. Dimensi Objek • Sumbu horizontal menunjukkan elemen-elemen yang terlibat dalam interaksi • Secara konvensional, objek yang terlibat dalam operasi, terdaftar dari kiri ke kanan sesuai dengan kapan mereka mengambil bagian dalam urutan pesan. Namun, elemen pada sumbu horizontal dapat muncul dalam urutan apa pun 2. Dimensi waktu • Sumbu vertikal menunjukkan proses waktu (atau progres) ke bawah halaman. • Perhatikan bahwa: Waktu dalam diagram sikuens adalah semua tentang urutan, bukan durasi. Ruang vertikal dalam diagram interaksi tidak relevan untuk durasi interaksi.
  • 11. ENTITY - Garis hidup dengan elemen entitas mewakili data sistem. Sebagai contoh, dalam aplikasi layanan pelanggan, entitas Pelanggan akan mengelola semua data yang terkait dengan pelanggan. BOUNDARY - Garis hidup dengan elemen boundary menunjukkan elemen batasan sistem . misalnya layar antarmuka pengguna, gateway basis data atau menu yang berinteraksi dengan pengguna, merupakan boundary CONTROL - mengatur dan menjadwalkan interaksi antara boundary dan entitas dan berfungsi sebagai mediator di antara mereka.
  • 12. Bagian atas dan bawah dari persegi panjang selaras dengan inisiasi dan waktu penyelesaian masing-masing
  • 15. Self Message Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines dari Interaksi. Self Message adalah jenis pesan yang mewakili pesan dari garis hidup yang sama. Recursive Message Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines dari Interaksi. Pesan rekursif adalah jenis pesan yang mewakili pesan dari garis hidup yang sama. Targetnya menunjuk ke aktivasi di atas aktivasi tempat pesan itu berasal. Duration Message Sebuah pesan mendefinisikan komunikasi tertentu antara Lifelines dari Interaksi. Pesan Durasi menunjukkan jarak antara dua instance waktu untuk pesan yang berhubungan. Note Catatan (komentar) memberikan kemampuan untuk melampirkan berbagai komentar ke elemen. Sebuah komentar tidak memiliki kekuatan semantik, tetapi dapat berisi informasi yang berguna bagi seorang pemodel
  • 16. • Event adalah blok pembangun untuk sinyal dan message. • Sinyal dan message adalah nama yang sangat berbeda untuk konsep yang sama: • Sinyal adalah terminologi yang sering digunakan oleh perancang sistem, sementara perancang perangkat lunak sering lebih suka message. • Dalam hal sequence diagram, sinyal dan message bertindak dan terlihat sama, jadi dalam uml 2.0 akan tetap menggunakan istilah “message“.
  • 17. • Message pada sequence diagram ditentukan menggunakan panah dari partisipan yang ingin meneruskan message, Pemanggil message, ke peserta yang menerima message, Penerima message. • Message dapat mengalir ke arah mana pun yang masuk akal untuk interaksi yang diperlukan dari kiri ke kanan, kanan ke kiri, atau bahkan kembali ke Pemanggil Message itu sendiri. • Pikirkan Message sebagai peristiwa yang diteruskan dari Pemanggil Message untuk membuat Penerima Message melakukan sesuatu.
  • 18. • Ketika sebuah pesan diteruskan ke partisipan (peserta/object) yang memicu, atau memanggil, partisipan penerima melakukan sesuatu, peserta penerima dikatakan aktif. Untuk menunjukkan bahwa seorang partisipan aktif, gunakan activation bars • Aktivation Bars dapat ditampilkan pada sisi pengiriman dan penerimaan pesan. Ini menunjukkan bahwa peserta pengirim sibuk saat mengirim pesan dan peserta penerima sibuk setelah pesan diterima
  • 19. • Ketika pesan dari satu peserta menghasilkan satu atau lebih pesan yang dikirim oleh peserta penerima, pesan yang dihasilkan dikatakan bersarang di dalam pesan yang memicu.
  • 20. • Ada lima jenis panah pesan utama untuk digunakan pada diagram sequence, dan masing-masing memiliki arti tersendiri
  • 21. • Pesan ini dipanggil ketika Message Caller menunggu Message Receiver untuk kembali dari pesan yang diinvoke
  • 22. • Pesan asinkron dipanggil oleh Pemanggil Pesan pada Penerima Pesan, tetapi Pemanggil Pesan tidak menunggu pemanggilan pesan kembali sebelum melanjutkan langkah- langkah interaksi lainnya. Ini berarti bahwa Pemanggil Pesan akan meminta pesan pada Penerima Pesan dan Pemanggil Pesan akan sibuk menunggu pesan lebih lanjut sebelum pesan asli kembali • Sementara pesan foo () sedang dikerjakan oleh objek messageReceiver, objek messageCaller telah melanjutkan interaksi dengan mengeksekusi pesan sinkron lebih lanjut pada objek lain
  • 23. • Return message adalah bagian opsional notasi yang dapat Anda gunakan di akhir aktivasi bars untuk menunjukkan bahwa aliran kontrol aktivasi kembali ke peserta yang melewati pesan asli. Dalam kode, panah kembali mirip dengan statement return • Anda tidak harus menggunakan return message terkadang mereka benar- benar dapat membuat diagram urutan Anda terlalu kompleks dan membingungkan.
  • 24. • Peserta tidak harus hidup selama seluruh durasi interaksi diagram urutan. Peserta dapat dibuat dan dihancurkan sesuai dengan pesan yang sedang disampaikan • Untuk menunjukkan bahwa peserta dibuat, Anda bisa dengan mudah mengirimkan pesan create(..) ke lifeline peserta atau menggunakan notasi kotak peserta yang dijatuhkan di tempat yang benar-benar jelas bahwa peserta tidak ada sebelum panggilan create dipanggil. Penghapusan peserta ditunjukkan dengan berakhirnya lifeline peserta dengan cross deletion
  • 25. MessageCaller membuat objek MessageReceiver baru hanya dengan menggunakan kata kunci baru
  • 26. • UML 2.0 memperkenalkan sequence fragmen (atau interaksi). Sekuens Fragmen menjadikan sequence yang complex menjadi lebih mudah untuk di-create dan dipelihara yang akurat • Sebuah fragmen urutan direpresentasikan sebagai sebuah kotak, yang disebut fragmen gabungan, yang membungkus sebagian interaksi dalam diagram urutan • Operator fragmen (di cornet kiri atas) menunjukkan jenis fragmen • Jenis fragmen: ref, assert, loop, break, alt, opt, neg
  • 27. fragmen ref mewakili sepotong diagram urutan yang lebih besar. Jenis fragmen ref bekerja dengan cara yang sangat mirip dengan <<include>> usecase.
  • 28. TYPE PARAMETERS KEGUNAAN ref None Merupakan interaksi yang didefinisikan di tempat lain dalam model. Membantu Anda mengelola diagram besar dengan memisahkan, dan berpotensi menggunakan kembali, kumpulan interaksi. Mirip dengan penggunaan ulang yang dimodelkan ketika hubungan <INCLUDE> diterapkan. assert None Menentukan bahwa interaksi yang terkandung dalam kotak fragmen harus terjadi persis seperti yang ditunjukkan; jika tidak, fragmen dinyatakan tidak valid dan pengecualian harus dimunculkan. Bekerja dengan cara yang mirip dengan pernyataan tegas di Jawa. Berguna saat menentukan bahwa setiap langkah dalam interaksi harus terjadi dengan sukses, yaitu, saat memodelkan suatu transaksi. loop min times, max times, [guard_condition] Loop melalui interaksi yang terkandung dalam fragmen beberapa kali sampai kondisi penjaga dievaluasi salah. Sangat mirip dengan loop Java dan C # untuk (..). Berguna ketika Anda mencoba menjalankan serangkaian interaksi beberapa kali. break None Jika interaksi yang terkandung dalam fragmen break terjadi, maka setiap interaksi yang melingkupi, paling umum fragmen loop, harus keluar. Mirip dengan pernyataan break di Java dan C #.
  • 29. TYPE PARAMETERS KEGUNAAN alt [guard_condition1] ... [guard_condition2] ... [else] Bergantung pada kondisi penjaga mana yang mengevaluasi true pertama, subkoleksi interaksi yang sesuai akan dieksekusi. Membantu Anda menentukan bahwa serangkaian interaksi hanya akan dijalankan dalam kondisi tertentu. Mirip dengan pernyataan if (..) else dalam kode. opt [guard_condition] Interaksi yang terkandung dalam fragmen ini akan dieksekusi hanya jika kondisi penjaga bernilai true. Mirip dengan pernyataan if (..) sederhana dalam kode tanpa yang lain sesuai. Sangat berguna saat menunjukkan langkah-langkah yang telah digunakan kembali dari diagram urutan use case lain, di mana <<extend>> adalah hubungan use case. neg None Nyatakan bahwa interaksi di dalam fragmen ini tidak akan pernah dilaksanakan. Bermanfaat jika Anda hanya mencoba menandai kumpulan interaksi yang tidak dieksekusi sampai Anda yakin bahwa interaksi itu dapat dihapus. Paling berguna jika Anda cukup beruntung menggunakan alat UML yang dapat dijalankan di mana diagram urutan Anda sebenarnya sedang dijalankan. Juga dapat membantu untuk menunjukkan bahwa sesuatu tidak dapat dilakukan, mis., Ketika Anda ingin menunjukkan bahwa peserta tidak dapat memanggil read () pada soket setelah tutup (). Bekerja dengan cara yang mirip dengan mengomentari beberapa panggilan metode dalam kode.
  • 30. TYPE PARAMETERS KEGUNAAN par None Menentukan bahwa interaksi dalam fragmen ini dapat dengan senang hati dilakukan secara paralel. Ini mirip dengan mengatakan bahwa tidak diperlukan penguncian aman-thread yang diperlukan dalam rangkaian interaksi. region None Interaksi dalam jenis fragmen ini dikatakan sebagai bagian dari wilayah kritis. Wilayah kritis biasanya merupakan area di mana peserta bersama diperbarui. Dikombinasikan dengan interaksi paralel, yang ditentukan menggunakan tipe fragmen par, Anda dapat memodelkan di mana interaksi tidak diperlukan agar aman thread atau proses (par fragmen) dan di mana kunci diperlukan untuk mencegah interaksi paralel interleaving (fragmen wilayah). Memiliki kesamaan blok yang disinkronkan dan kunci objek di Jawa.
  • 31. • Dimungkinkan untuk menggabungkan LOOP & BRANCE • Combined fragment keywords: alt, opt, break, par, seq, strict, neg, critical, ignore, consider, assert and loop. • Batasan biasanya digunakan untuk menunjukkan batasan waktu pada pesan. Mereka dapat berlaku untuk waktu satu pesan atau interval antara pesan.
  • 34. • Sequence Berfokus pada Partisipan dan pesan yang terlibat dalam use case. • Gambar disamping hanya menunjukkan interaksi yang harus terjadi antara aktor eksternal dan sistem Anda karena itu adalah tingkat di mana langkah-langkah deskripsi use case ditulis. • Pada diagram sikuens, sistem Anda direpresentasikan sebagai peserta tunggal, ContentManagementSystem;
  • 35. Namun, Kecuali Jika Anda Bermaksud Menerapkan Sistem Manajemen Konten Anda Sebagai Satu Bagian Kode Monolitik (Umumnya Bukan Ide Yang Baik!), Saatnya Untuk Memecah Contentmanagementsystem Untuk Mengekspos Bagian- bagian Yang Masuk, Seperti Yang Ditunjukkan Pada Gambar Disamping
  • 36. • Diagram sequence hampir sangat dekat dengan tingkat kode • Diagram sequence yang baik adalah masih sedikit di atas level kode sebenarnya • Diagram sequence adalah bahasa netral. (dapat diimplementasi disemua bahasa) • Non-coders dapat melakukan diagram sequence • Lebih mudah untuk melakukan diagram sequence sebagai sebuah tim • Dapat digunakan untuk pengujian dan / atau UX Wireframing