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

PDF
[RPL2] Pertemuan 2 - Validasi Ide
PDF
[RPL2] Design Sprint
PDF
[RPL2] Package Diagram
PPTX
PROGRAM KERJA WAKIL KEPALA SEKOLAH URUSAN SARPRAS.pptx
PDF
[RPL2] Deployment Diagram
PDF
[PBO] Pertemuan 6 - Interface
PDF
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
PDF
Kebutuhan Data Warehouse
[RPL2] Pertemuan 2 - Validasi Ide
[RPL2] Design Sprint
[RPL2] Package Diagram
PROGRAM KERJA WAKIL KEPALA SEKOLAH URUSAN SARPRAS.pptx
[RPL2] Deployment Diagram
[PBO] Pertemuan 6 - Interface
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Kebutuhan Data Warehouse

What's hot (20)

PDF
[RPL2] Bisnis Model & Market Analysis
PDF
[RPL2] Class Diagram dan Relasinya (2)
PDF
[RPL2] Activity Diagram
PDF
[RPL2] Class Diagram dan Konsep Object Oriented (1)
PPT
MATERI UML(Unified Modelling Language)
DOCX
Use skenario
PDF
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
PDF
Analisis Kebutuhan
PDF
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
PDF
[PBO] Pertemuan 5 - Polymorphism
PPTX
Pemodelan berorientasi objek
PDF
Software Requirement Specification SRS
PDF
Data Management (Enhanced ERD and Mapping ERD)
PDF
Perancangan Data Warehouse (Logical dan Physical)
DOCX
System Request
PPTX
Pembuatan uml pada toko belanja online
DOCX
Perancangan (diagram softekz, dfd level 0,1,2)
PPT
Software Requirements
PDF
Data Management (Relational Database)
DOCX
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]
[RPL2] Bisnis Model & Market Analysis
[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Activity Diagram
[RPL2] Class Diagram dan Konsep Object Oriented (1)
MATERI UML(Unified Modelling Language)
Use skenario
[RPL2] Pertemuan 3 - UML dan USECASE VIEW
Analisis Kebutuhan
7. ta 2021-07-visualisasi-modul-ariw-2021-07-17-v2
[PBO] Pertemuan 5 - Polymorphism
Pemodelan berorientasi objek
Software Requirement Specification SRS
Data Management (Enhanced ERD and Mapping ERD)
Perancangan Data Warehouse (Logical dan Physical)
System Request
Pembuatan uml pada toko belanja online
Perancangan (diagram softekz, dfd level 0,1,2)
Software Requirements
Data Management (Relational Database)
Use case specification dan activity diagram [INTERNAL EDUCATIONAL PURPOSED]
Ad

Similar to [RPL2] Sequence Diagram (20)

PPTX
Diagram Sequence.pptx
PPTX
pertemuan-ketigabelas13#Sequence Diagram.pptx
PDF
TD-635-05-PSBO
PDF
Otomatisasi sistem perparkiran
PDF
RPL-5.OOAD UML(2).pdf
PPTX
Diagram Class dan Diagram Object presentasi
PPT
12655598.ppt
DOCX
PDF
PPT
Uml
PDF
04 class diagram-uml-netbeans
PDF
TD-635-11-PSBO
PPTX
UML (Unified Modeling Language) - Rekayasa Perangkat Lunak
PPTX
DOCX
UML untuk Pengembangan Aplikasi Web.docx
PPT
Sequence Diagram.ppt
PPT
Sequence Diagram.ppt
PDF
Tukang gypsum 081381278719
PPTX
Tugas 3 rekayasa web
PPTX
PPT Schematics BST 2024 Advanced Day 2.pptx
Diagram Sequence.pptx
pertemuan-ketigabelas13#Sequence Diagram.pptx
TD-635-05-PSBO
Otomatisasi sistem perparkiran
RPL-5.OOAD UML(2).pdf
Diagram Class dan Diagram Object presentasi
12655598.ppt
Uml
04 class diagram-uml-netbeans
TD-635-11-PSBO
UML (Unified Modeling Language) - Rekayasa Perangkat Lunak
UML untuk Pengembangan Aplikasi Web.docx
Sequence Diagram.ppt
Sequence Diagram.ppt
Tukang gypsum 081381278719
Tugas 3 rekayasa web
PPT Schematics BST 2024 Advanced Day 2.pptx
Ad

More from rizki adam kurniawan (19)

PDF
[MPPL] Managemen Sumber Daya Manusia
PDF
[RPL2] Pengujian Perangkat Lunak
PDF
[RPL2] Growth Hacking
PDF
[PBO] Pertemuan 10 - Exception & Error Handling
PDF
[PBO] Pertemuan 10 - Generic Programming & Collection
PDF
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
PDF
[PBO] Pertemuan 12 - Pemrograman Android
PDF
[PBO] Pertemuan 11 - GUI Java Desktop
PDF
[PBO] Pertemuan 10 - Pemrograman Database (2)
PDF
[PBO] Pertemuan 10 - Pemrograman Database (1)
PDF
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
PDF
[PBO] Pertemuan 6 - Abstrak
PDF
[PBO] Pertemuan 5 - Inheritance
PDF
[PBO] Pertemuan 4 - Kontruktor Destruktor
PDF
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
PDF
[PBO] Pertemuan 4 - Getter Setter
PDF
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
PDF
[PBO] Pertemuan 3 - Pengenalan Pemrograman Berbasis Objek
PDF
[PBO] Pertemuan 2 - Method, String & array
[MPPL] Managemen Sumber Daya Manusia
[RPL2] Pengujian Perangkat Lunak
[RPL2] Growth Hacking
[PBO] Pertemuan 10 - Exception & Error Handling
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 12 - Pemrograman Android
[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 10 - Pemrograman Database (2)
[PBO] Pertemuan 10 - Pemrograman Database (1)
[PBO] CARA BIKIN SOFTWARE (Kumpulan Referensi Java)
[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 5 - Inheritance
[PBO] Pertemuan 4 - Kontruktor Destruktor
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
[PBO] Pertemuan 4 - Getter Setter
[PBO] Pertemuan 3 - Package, enkapsulasi & instansiasi objek
[PBO] Pertemuan 3 - Pengenalan Pemrograman Berbasis Objek
[PBO] Pertemuan 2 - Method, String & array

Recently uploaded (8)

DOCX
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
DOCX
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
PPTX
Implementasi Microservices pada Manufaktur
PPTX
PEMAHAMAN MAPEL KODING DAN KECERDASAN ARTIFICIAL
PPTX
PERANCANGAN DAN PENGEMBANGAN VIDEO GAME SEBAGAI MEDIA TERAPI DEPRESI
PPTX
Materi_Array_Karakter_String untuk kelas XI sma.pptx
PPTX
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
PPT
pengantar-sistem-informasi manajemen.ppt
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
Implementasi Microservices pada Manufaktur
PEMAHAMAN MAPEL KODING DAN KECERDASAN ARTIFICIAL
PERANCANGAN DAN PENGEMBANGAN VIDEO GAME SEBAGAI MEDIA TERAPI DEPRESI
Materi_Array_Karakter_String untuk kelas XI sma.pptx
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
pengantar-sistem-informasi manajemen.ppt

[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