REKAYASA PERANGKAT LUNAK LANJUT DESIGN SYSTEM WITH UML Defri Kurniawan M.Kom
Content UML Process (EA Sparx) System Analysis and Design with UML Class Diagram Deployment Diagram User Interface Design
UML Process (EA Sparx) 1. Use Cases Diagram 2. Activity Diagram 3. Sequence Diagram 4. Class Diagram 5. Deployment Diagrams
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) 3. Entity-Relationship Model (Buat ER diagram)
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 dari cetakan yang sama
Class Diagram Class Sepeda gir kecepatan variable tampilkan kecepatan ubah gir method Class = Method + Variable
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
Class Diagram - Contoh
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
Property 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 Properti yang ditunjukkan oleh cara yang berbeda
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
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 dengan class yang merupakan jenis properti
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
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 Composition / Komposisi
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) Asosiasi 1 arah
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
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. Parent/Induk Child/Anak MountainBike dan RacingBike merupakan kelas turunan dari kelas Bicycle
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 terdapat halaman isi sekurang-kurangnya satu
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 Default nilai multiplicity relasi class diagram adalah 1
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
Multiplicity - Contoh Person 0..1 own * Car
Method 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 KotakUang KotakKuitansi ProsesValidasiAccount mengakses Login memiliki SistemATM memiliki memiliki MenuPIN mengakses melakukan ProsesMengecekSaldo MenuMengecekSaldo melakukan + lihatsaldo() : void Account memiliki menampilkan mewarisi MenuMentransferUang ProsesMentransferUang Balance KotakKartu MenuUtama mewarisi mewarisi MenuMengambilUang melakukan + m_account: Account + m_balance: Balance + m_t ransaksi: Transaksi + ProsesMentransferUang() + transferuang() : void Transaksi melakukan mewarisi melakukan ProsesValidasiKartu MenuLogout melakukan ProsesLogout ProsesMengambilUang + m_account: Account + m_balance: Balance + m_t ransaksi: Transaksi + ambiluang() : void + ProsesMengambilUang()
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 pusatpusat yang dihubungkan oleh jalur komunikasi.
Deployment Diagram ATM System «device» Sistem ATM (Client) Kotak Kartu Layar «device» Database Serv er «TCP/IP» «interface» Database Serv er:: Account Kotak Uang Kotak Kuitansi
User Interface Design ATM System
User Interface Design with Netbeans