28
Pemodelan Berorientasi Objek Adam Hendra Brata 1 Perancangan Sistem dengan Analisis Dinamis

Pemodelan Berorientasi Objek · Perangkat Lunak Diagram Use Case ... antarmuka pengguna sudah ter-cover dengan ... Sequence diagram yang bagus masih memiliki level yang lebih tinggi

Embed Size (px)

Citation preview

Pemodelan Berorientasi

Objek

Adam Hendra Brata

1

Perancangan Sistem dengan

Analisis Dinamis

2Pemodelan Kebutuhan Sistem

Ruang Lingkup

Masalah

Analisis

Kebutuhan

Pemodelan

Perangkat

Lunak

Diagram Use

Case

Diagram

Sekuensial

Diagram

Aktivitas

Diagram Kelas Diagram State

Materi Pertemuan 6

Perancangan Sistem dengan Analisis Dinamis

Analisis Dinamis

Diagram Sekuensial / Sequence

3

Analisis Dinamis

4

Analisis dinamis umumnya dilakukan setelah

analisis statis dengan tujuan :

Memastikan kelas diagram yang sudah kita

buat “komplit” dan tepat

Memastikan model hasil perancangan kita siap

untuk diimplementasikan

Memastikan semua fungsionalitas sistem dan

antarmuka pengguna sudah ter-cover dengan

baik pada perancangan sistem

5Analisis Dinamis

Analisis dinamis memiliki fokus utama pada

Use Case Realization

1. Menelusuri semua use case dan mencoba

mensimulasikan hubungan tiap objek yang terkait

dengan melihat proses pertukaran pesan antar objek, baik yang mengirim maupun yang

menerima

2. Menentukan spesifikasi sterotype pada kelas atau

objek yang terlibat proses pertukaran pesan untuk

semakin mempermudah pemodelan dan

implementasi

3. Menggambarkan hasil simulasi dalam

communication diagram atau sequence diagram

6Analisis Dinamis

Terdapat 4 class sterotype pada pemodelan UML

Actor

Mewakili aktor dari sistem

Boundary

Mewakili semua antarmuka dari sistem

Controller

Mewakili semua objek di dalam sistem yang memiliki tugas sebagai pengaturproses logika dari sistem

Entity

Mewakili semua objek di dalam sistem yang merepresentasikan konsep bisnisdan penyimpanan data

7Class Sterotype

Diagram Sekuensial

8

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 dari dimensi vertikal

(waktu) dan dimensi horizontal (objek-objek

yang terkait)

9Sequence Diagram

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

Diagram ini secara khusus berasosiasi dengan use case diagram

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

10Sequence Diagram

11Sequence Diagram

12Komponen Sequence

Diagram

Secara umum terdapat 2 bagian utama padasequence diagram, yaitu :

Partisipan / Participant

Mewakili objek atau entitas yang memilikiinteraksi (aksi) pada sequence diagram

Pesan / Message

Mewakili komunikasi antar objek partisipan

Terdapat 2 dimensi pada sequence diagram

Horizontal : menggambarkan partisipan manasaja yang terkait dalam proses interaksi

Vertikal : menggambarkan urutan jalannyawaktu

13Komponen Sequence

Diagram : Partisipan

Objek partisipan dapat digambarkan dengan

2 cara, yaitu menggunakan Class Stereotypes

atau dengan menggunakan Objek (Object)

14Komponen Sequence

Diagram : Pesan

Message atau pesan mewakili proses

pemanggilan method (method call),

digambarkan dengan menggunakan anak

panah horizontal

Tuliskan nama dan argument dari method di

atas tanda panah

15Komponen Sequence

Diagram : Pesan

Beda bentuk tanda panah merepresentasikan

arti yang berbeda

Tanda panah runcing bergaris putus – putus

menggambarkan return message (nilai

kembalian)

Tanda panah runcing setengah bergaris tebal

menggambarkan asynchronous method call

Tanda panah penuh bergaris tebal

menggambarkan synchronous method call

Tanda panah runcing bergaris tebal

menggambarkan flat method call

16Komponen Sequence

Diagram : Pesan

Synchronous (flow interrupt until the message has completed)

Asynchronous (don’t wait for response)Flat (no distinction between sysn/async)

Return (control flow has returned to the caller)

17Komponen Sequence

Diagram : Lifetime Objek

Creation : anak panah

dengan bertuliskan

“new”

Objek yang dibuat

(diinstansiasi) setelah

awal dari skenario,

munculnya lebih rendah

daripada yang lain

Deletion : tanda X di akhir

lifeline sebuah objek

Dalam Java, proses deletion

tidak secara eksplisit

digunakan

18Komponen Sequence

Diagram : Aktivasi

Aktivasi (activation) menggambarkan momen

saat sebuah objek aktif, digambarkan dengan

persegi panjang vertical pada lifeline tiap

objek

Digambarkan saat method dari objek ada

pada stack / tumpukan proses, dapat dipakai

untuk melihat urutan method yang dieksekusi

Gambarkan secara berkalang (nested) untuk

menunjukkan method yang sifatnya rekursif

19Komponen Sequence

Diagram : Aktivasi

Activation

Nesting

20Komponen Sequence

Diagram : Frame

Frame adalah persegi panjang yang berada

“di dalam” sequence diagram untuk

menggambarkan seleksi kondisi maupun

perulangan

If digambarkan dengan frame opt

If else digambarkan dengan frame alt, kondisi

true atau false dibatasi oleh garis putus-putus

Loop digambarkan dengan frame loop

21Komponen Sequence

Diagram : Frame

22Menghubungkan Beberapa

Sequence Diagram

Suatu ketika dalam membuat sequence diagram,

kita akan menemui suatu kejadian seperti ini :

saat diagram kita terlalu besar sehingga tidak cukupuntuk ditampilkan semua

diagram kita ternyata masih berhubungan dengandiagram lain

Maka kita perlu menggambarkannya dengan

cara yang lain

anak panah yang belum selesai dan disertai

keterangan

menggunakan frame ref untuk menunjukkan

referensi dengan diagram lain

23Menghubungkan Beberapa

Sequence Diagram

Verify customer credit

refCustomer Info

Approved?

24Sequence Diagram : Bentuk

Kontrol dari Sistem

Tersentral Terdistribusi

25Sequence Diagram Vs Source

Code

Saat membuat sequence diagram kita akan

sadar ternyata sequence diagram sangat

dekat dengan penulisan kode program

Kemudian mengapa kita

tidak langsung saja membuat

penjabaran algoritmanya saja

daripada harus

menggambarkannya pada

sequence diagram ?

26Sequence Diagram Vs Source

Code

Karena…

Sequence diagram yang bagus masih memiliki level yang lebih tinggi daripada kode program, kodeprogram tidak bisa “menggambarkan” semua yang ada pada diagram

Sequence diagram bersifat language-agnostic(universal untuk semua bahasa pemrograman)

Orang yang tidak mengerti kode program pun dapat membuat sequence diagram

Lebih mudah membuat sequence diagram dalamtim

Dapat digunakan untuk melihat banyak objek/klasbeserta hubungannya dalam 1 halaman yang sama

Buat diagram sequence dengan

menggunakan analisis dinamis dari contoh

diagram use case ini !

Kerjakan sebagai latihan dan siap–siap

pertemuan minggu depan akan ada yang

ditunjuk maju secara acak untuk presentasi ^^

27Latihan

Terimakasih v^^

28