REKAYASA PERANGKAT LUNAK LANJUT
DESIGN SYSTEM WITH UML Defri Kurniawan M.Kom email
Fasilkom|| 10/7/2013
Content
email
UML Process (EA Sparx) System Analysis and Design with UML Class Diagram Deployment Diagram User Interface Design
Fasilkom|| 10/7/2013
UML Process (EA Sparx) 1. 2. 3. 4. 5.
email
Use Cases Diagram Activity Diagram Sequence Diagram Class Diagram Deployment Diagrams
Fasilkom|| 10/7/2013
System Analysis and Design with UML System Analysis
1.
1.
Business Process Identification
2.
Business Process Modeling
3.
Activity Diagram
Business Process Realization
Sequence Diagram
System Design
2.
1.
Program Design 1. 2. 3.
2. 3. email
Use Case Diagram
Class Diagram Package Diagram (Gabungan class yang sesuai) Deployment Diagram (arsitektur software dari sistem yang dibangun)
User Interface Design (Buat UI design) Entity-Relationship Model (Buat ER diagram) Fasilkom|| 10/7/2013
Class Diagram
email
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
Fasilkom|| 10/7/2013
Class Diagram
email
Class diagram membantu pengembang mendapatkan struktur sistem dan menghasilkan rancangan (design) sistem yang baik
Fasilkom|| 10/7/2013
Class Diagram Perbedaan Class dan Object
email
Class seperti cetakan kue, dimana kue yg dihasilkan dari cetakan kue itu adalah object Warna kue bisa bermacam-macam meskipun berasal dari cetakan yang sama
Fasilkom|| 10/7/2013
Class Diagram
Class Sepeda
gir
kecepatan
variable
tampilkan kecepatan ubah gir
method
Class = Method + Variable email
Fasilkom|| 10/7/2013
Class Diagram Object Sepedaku
gir = 3
kecepatan = 10km/jam
tampilkan kecepatan () kecepatan = 10 km/jam ubah gir (2) gir = 5
instance variable
instance method
Object = Method + Variable yg Memiliki Nilai email
Fasilkom|| 10/7/2013
Class Diagram - Contoh
email
Fasilkom|| 10/7/2013
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 Cara Memanjat
email
Fasilkom|| 10/7/2013
Property
Properti dapat dinyatakan dengan dua notasi yang berbeda:
email
Atribut Asosiasi
Namun dua hal tersebut memperlihatkan hal yang sama = properti
Properti mewakili fitur-fitur struktural dari sebuah class Fasilkom|| 10/7/2013
Properti - Susunan Atribut & Asosiasi
Properti yang ditunjukkan oleh cara yang berbeda email
Fasilkom|| 10/7/2013
Properti - Attribute
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
email
Fasilkom|| 10/7/2013
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) email
Fasilkom|| 10/7/2013
Properti - Asosiasi
email
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 dengan class yang merupakan jenis properti
Fasilkom|| 10/7/2013
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 kotakkotak class untuk class yang tidak signifikan di diagram”
email
Fasilkom|| 10/7/2013
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:
email
Association / Asosiasi Dependency / Dependensi Generalization / Generalisasi Aggregation / Aggregasi Composition / Komposisi
Fasilkom|| 10/7/2013
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:
email
Directional Association / Asosiasi 1 arah Bidirectional Association / Asosiasi 2 arah
Fasilkom|| 10/7/2013
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)
Asosiasi 1 arah email
Fasilkom|| 10/7/2013
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
Pemilik
Mobil
Asosiasi Bidireksional email
Fasilkom|| 10/7/2013
Dependency / Depedensi
Relasi jenis ini menunjukkan bahwa sebuah kelas mengacu kepada kelas lainnya.
Class TargetMarketing tergantung pada KebijakanPerusahaan
email
Fasilkom|| 10/7/2013
Generalization / Generalisasi
Relasi jenis ini menunjukkan bahwa sebuah kelas mengacu kepada kelas lainnya. Parent/Induk
Child/Anak MountainBike dan RacingBike merupakan kelas turunan dari kelas Bicycle email
Fasilkom|| 10/7/2013
Agregation / Agregasi
email
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.
Fasilkom|| 10/7/2013
Composition / Komposisi
email
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 terdapat halaman isi sekurang-kurangnya satu
Fasilkom|| 10/7/2013
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
email
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
Default nilai multiplicity relasi class diagram adalah 1 Fasilkom|| 10/7/2013
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 Notasi UML Class Diagram untuk Multiplicity
email
Fasilkom|| 10/7/2013
Multiplicity - Contoh
Person
email
0..1
own
*
Car
Fasilkom|| 10/7/2013
Method
Method adalah urutan instruksi yang mengakses data dari object
Method melakukan: 1. 2. 3.
email
Manipulasi data Perhitungan matematika Memonitor kejadian dari suatu event
Fasilkom|| 10/7/2013
Class Diagram – Study Case ATM System ProsesValidasiAccount KotakUang
Login mengakses
KotakKuitansi
mengakses memili ki
melakukan
memili ki
ProsesMengecekSaldo MenuMengecekSaldo
mel akukan
MenuPIN
SistemATM
+
Account
lihatSaldo() : void
memil iki
mewarisi menampil kan
Balance
MenuMentransferUang
ProsesMentransferUang
memil iki mewarisi
melakukan+ + +
mewarisi
+ +
MenuUtama
m_Account: Account m_Bal ance: Balance m_T ransaksi: Transaksi
KotakKartu MenuMengambilUang
mel akukan
ProsesMentransferUang() transferUang() : void
Transaksi
mewarisi melakukan
ProsesValidasiKartu
ProsesMengambilUang
MenuLogout mel akukan
email
ProsesLogout
+ + +
m_Account: Account m_Bal ance: Balance m_T ransaksi: Transaksi
+ +
ambilUang() : voi d ProsesMengambi lUang()
Fasilkom|| 10/7/2013
Deployment Diagram
email
Deployment Diagram menunjukkan susunan fisik sebuah sistem, menunjukkan bagian perangkat lunak mana yang berjalan pada perangkat keras mana. Hal utama dalam diagram tersebut adalah pusatpusat yang dihubungkan oleh jalur komunikasi.
Fasilkom|| 10/7/2013
Deployment Diagram – ATM System «device» Sistem ATM (Client)
Kotak Kartu
«device» Database Serv er Layar
«TCP/IP»
Kotak Uang
email
«interface» Database Serv er:: Account
Kotak Kuitansi
Fasilkom|| 10/7/2013
User Interface Design – ATM System
email
Fasilkom|| 10/7/2013
User Interface Design with Netbeans
email
Fasilkom|| 10/7/2013
email
Fasilkom|| 10/7/2013