DESIGN SYSTEM WITH UML
Defri Kurniawan M.Kom
Content
UML Process (EA Sparx)
System Analysis and Design with UML
Class Diagram
Deployment Diagram
UML Process (EA Sparx)
1.
Use Cases
Diagram
2.
Activity
Diagram
3.
Sequence
Diagram
4.
Class
Diagram
System Analysis and Design with UML
1. System Analysis
1. Business Process Identification
Use Case Diagram
2. Business Process Modeling
Activity Diagram
3. Business Process Realization
Sequence Diagram
2. System Design
1. Program Design
1. Class Diagram
2. Package Diagram (Gabungan class yang sesuai)
3. Deployment Diagram (arsitektur software dari sistem yang dibangun)
2. User Interface Design (Buat UI design)
Class Diagram
Class diagram mendeskripsikan jenis-jenis objek
dalam sistem dan berbagai macam hubungan statis
yang terdapat di antara mereka
Class diagram juga menunjukkan property dan
operasi sebuah Class dan batasan-batasan yang
terdapat dalam hubungan-hubungan dengan obyek tersebut
Class Diagram
Class diagram membantu pengembang
mendapatkan struktur sistem dan menghasilkan rancangan (design) sistem yang baik
Class Diagram
Perbedaan Class dan Object
Class seperti cetakan kue, dimana kue yg dihasilkan
dari cetakan kue itu adalah object
Warna kue bisa bermacam-macam meskipun berasal
Class Diagram
variable
kecepatan
gir
tampilkan kecepatan
ubah gir
method
Class
Sepeda
Class Diagram
instance
variable
kecepatan = 10km/jam gir = 3 tampilkan kecepatan () kecepatan = 10 km/jam ubah gir (2) gir = 5instance
method
Object
Sepedaku
Class Diagram = property + operasi
Property:
Topi, Baju, Jaket, Tas Punggung,
Tangan, Kaki, Mata
Operasi:
Cara Jalan ke Depan
Cara Jalan Mundur
Cara Belok ke Kiri
Properti dapat dinyatakan dengan dua notasi yang
berbeda:
Atribut
Asosiasi
Namun dua hal tersebut memperlihatkan hal yang
sama = properti
Properti mewakili fitur-fitur struktural dari sebuah
class
Properti - Susunan Atribut & Asosiasi
Name, age, dan weight adalah atribute (variabel) dari
class Person
Variable digunakan untuk menyimpan nilai yang
nantinya akan digunakan pada program
Variable memiliki jenis (tipe), nama dan nilai
Properti - Attribute
Attribute:
Ban, Stir, Pedal Rem, Pedal Gas, Warna, Tahun Produksi
Behavior:
Cara Menghidupkan Mesin Cara Manjalankan Mobil Cara Memundurkan Mobil
Attribute Variable(Member) Behavior Method(Fungsi)
Properti - Asosiasi
Cara lain menotasikan properti adalah asosiasi
Asosiasi merupakan garis solid antara dua class,
ditarik dari class sumber ke class target
Tujuan akhir sebuah asosiasi menghubungkan
Properti - Pertanyaan
Dengan adanya dua notasi untuk hal yang sama,
mengapa harus menggunakan salah satu di antara mereka?
[Martin Fowler]
“Saya cenderung menggunakan atribut untuk hal-hal
kecil, seperti date atau bolean, type nilai dan
asosiasi untuk class yang lebih significan, seperti
pelanggan & pesanan.
Saya juga cenderung untuk menggunakan
kotak-kotak class untuk class yang tidak signifikan di diagram”
Relasi
Class diagram mendeskripsikan jenis-jenis objek
dalam sistem dan berbagai macam hubungan statis
yang terdapat di antara mereka
Secara umum hubungan/relasi antar class, meliputi:
Association / Asosiasi
Dependency / Dependensi Generalization / Generalisasi Aggregation / Aggregasi
Relasi - Asosiasi
Asosiasi memungkinkan suatu kelas untuk
menggunakan atau mengetahui atribut atau operasi yang dimiliki oleh kelas lain
Asosiasi juga menggambarkan interaksi yang
mungkin terjadi antara satu kelas dengan kelas yang lain.
Asosiasi ada beberapa jenis, antara lain:
Directional Association / Asosiasi 1 arah Bidirectional Association / Asosiasi 2 arah
Directional Association / Asosiasi 1 arah
Asosiasi ini menggambar bahwa pesan atau urutan
kejadian terjadi hanya dari salah satu kelas
sedangkan kelas yang lain pasif (dari kelas sumber ke kelas tujuan)
Bidirectional Association / Asosiasi 2 arah
Asosiasi ini terjadi ketika salah satu kelas
mengirimkan pesan kepada kelas yang lain kemudian kelas yang lain mengirimkan pesan kepada kelas yang mengirimnya pesan
Orang Mobil
Asosiasi Bidireksional Pemilik
Dependency / Depedensi
Relasi jenis ini menunjukkan bahwa sebuah kelas
mengacu kepada kelas lainnya.
Class TargetMarketing tergantung pada KebijakanPerusahaan
Generalization / Generalisasi
Relasi jenis ini menunjukkan bahwa sebuah kelas
mengacu kepada kelas lainnya.
MountainBike dan RacingBike merupakan kelas turunan dari kelas
Bicycle
Parent/Induk
Agregation / Agregasi
Aggregasi dapat diartikan bahwa suatu kelas
merupakan bagian dari kelas yang lain namun bersifat tidak wajib
Contohnya sebuah buku memiliki pengarang, daftar
pustaka,namun bisa saja suatu buku tidak memiliki daftar pustaka. Namun tetap sebagai buku.
Composition / Komposisi
Komposisi diartikan bahwa suatu kelas merupakan
bagian yang wajib dari kelas yang lain. Eksistensi (keberadaan) kelas tersebut, mempengaruhi
keberadaan kelas yang lain
Contoh kasus yaitu pada sebuah buku, sudah pasti
Multiplicity
Pada relasi terdapat suatu penanda yang disebut
multiplicity.
Multiplicity ini akan mengindikasikan berapa banyak
obyek dari suatu kelas terelasi ke obyek lain
Multiplicity memiliki batas bawah dan batas atas
Jika batas bawah dan batas atas bernilai sama yaitu 1..1,
maka hanya ditulis 1
Sedangkan * merupakan kependekan dari 0..*
Dan 0 merupakan kependekan dari 0..0
Multiplicity
Multiplicity Arti
* = 0..* Banyak/tak terhingga
0 = 0..0 Nol
1 = 1..1 Tepat Satu, bisa ditulis bisa tidak (default)
1..* Antara Satu sampai Banyak
0..1 Nol atau Satu
Multiplicity - Contoh
Method adalah
urutan instruksi
yang
mengakses data dari object
Method melakukan:
1. Manipulasi data
2. Perhitungan matematika
3. Memonitor kejadian dari suatu event
Class Diagram – Study Case ATM System
Account Balance KotakKartu KotakKuitansi KotakUang Login MenuLogout MenuMengambilUang MenuMengecekSaldo MenuMentransferUang MenuPIN MenuUtama ProsesLogout ProsesMengambilUang + m_Account: Account + m_Bal ance: Balance + m_T ransaksi: T ransaksiProsesMengecekSaldo
+ lihatSaldo() : void
ProsesMentransferUang
+ m_Account: Account + m_Bal ance: Balance + m_T ransaksi: T ransaksi + ProsesMentransferUang() + transferUang() : void ProsesValidasiAccount ProsesValidasiKartu Transaksi SistemATM menampil kan mel akukan memili ki memili ki mel akukan mewarisi mewarisi melakukan mewarisi mel akukan mewarisi memil iki memil iki mengakses melakukan mengakses melakukan
Deployment Diagram
Deployment Diagram menunjukkan susunan fisik
sebuah sistem, menunjukkan bagian perangkat lunak mana yang berjalan pada perangkat keras mana.
Hal utama dalam diagram tersebut adalah
Deployment Diagram – ATM System
«device» Sistem ATM (Client)
Kotak Kartu Kotak Kuitansi Kotak Uang «device» Database Serv er «interface» Database Serv er::
Account Layar