Lecture Classdiagram Id
Lecture Classdiagram Id
CSE 403
Desain dan Pembacaan Diagram Kelas
UML:
UML Distilled Ch. 3, oleh M. Fowler
Slide kuliah ini merupakan hak cipta (C) Marty Stepp, 2007. Slide ini tidak boleh disebarkan
ulang, dijual, atau dimodifikasi tanpa izin tertulis dari penulis. Semua hak
cipta dilindungi undang-undang.
1
Pertanyaan besar
◼ Apa itu UML?
◼ Mengapa saya harus repot-repot? Apakah orang-
orang benar-benar menggunakan UML?
3
Bagaimana kita merancang
◼
kelas?/ persyaratan proyek
identifikasi kelas dari spesifikasi
◼ kata benda adalah kelas potensial, objek, bidang
◼ kata kerja adalah metode atau tanggung jawab potensial dari
sebuah kelas
◼ Diagram UML
◼ diagram kelas (hari ini)
◼ diagram urutan
◼ ...
4
Pengantar ke UML
◼ UML: gambar-gambar sistem OO
◼ bahasa pemrograman tidak cukup abstrak untuk desain OO
◼ UML adalah standar terbuka; banyak perusahaan yang
menggunakannya
7
Diagram satu kelas
◼ nama kelas di bagian atas kotak
◼ tulis <<interface>> di atas nama antarmuka
◼ gunakan huruf miring untuk nama kelas abstrak
◼ atribut (opsional)
◼ harus menyertakan semua bidang objek
8
Atribut kelas
◼ atribut (bidang, variabel contoh)
◼ nama visibilitas : tipe [count] = nilai_default
◼ visibilitas: + publik
# dilindungi
- pribadi
~ paket (default)
/ berasal
◼ menggarisbawahi atribut statis
◼ contoh atribut:
- keseimbangan: ganda = 0,00
9
Operasi / metode kelas
◼ operasi / metode
◼ nama visibilitas (parameter) : return_type
◼ visibilitas: + publik
# dilindungi
- pribadi
~ paket (default)
◼ menggarisbawahi metode statis
◼ tipe parameter yang terdaftar sebagai (nama: tipe)
◼ hilangkan return_type pada
konstruktor dan ketika tipe return
adalah void
◼ contoh metode:
+ jarak (p1: Titik, p2: Titik): ganda
10
Komentar
◼ direpresentasikan sebagai catatan terlipat,
dilampirkan pada kelas/metode/dll yang sesuai
dengan garis putus-putus
11
Hubungan btwn. kelas
◼ generalisasi: hubungan pewarisan
◼ pewarisan antar kelas
◼ implementasi antarmuka
12
Hubungan generalisasi
◼ hubungan generalisasi (pewarisan)
◼ Hirarki yang digambar dari atas ke bawah dengan anak panah
menunjuk ke atas ke induk
◼ Gaya garis/panah berbeda, berdasarkan
apakah induknya adalah a(n):
◼ kelas:
14
Banyaknya asosiasi
◼ satu-ke-satu
◼ setiap siswa harus membawa tepat satu kartu
identitas
◼ satu-ke-banyak
◼ satu daftar persegi panjang dapat berisi banyak persegi
panjang
15
i a
Jenis asosiasi m
p
n
l i
e n
◼ agregasi: "merupakan bagian dari" m t
◼ dilambangkan dengan berlian putih e r
bersih n i
t n
a s
◼ komposisi: "seluruhnya terbuat s i
dari" i k
,
◼ versi agregasi yang lebih kuat d
◼ bagian-bagiannya hidup dan mati b a
bersama keseluruhannya u r
◼ dilambangkan dengan berlian hitam k i
a
n s
◼ ketergantungan: "menggunakan t
b a
untuk sementara waktu" a t
◼ dilambangkan dengan garis putus-putus g u
◼ sering kali merupakan detail i s
objek tersebut Mobil
1
agregasi
1
Mesin
Buku
komposisi
1
*
Halama
n
ketergantun
gan
16
Contoh diagram kelas 1
17
Contoh diagram kelas 2
Banyaknya
Pelanggan
1 Sederhana
Kelas Agregasi
Kelas Faktur
Abstra Penyewaan
k
Barang Sewa 1..*
1 0..1
Komposisi Asosiasi
Generalisasi
Sederhana
Layar
Film DVD Film VHS Video Game
Pembayaran
18
Contoh diagram kelas 3
StudentBody Mahasi
1 100
swa: String
- nama_pertama
+ main (args : String[]) - Nama belakang : String
- rumahAlamat : Alamat
- sekolahAlamat : Alamat
+ toString() : String
Alamat
- alamat_jalan : String
- kota: String
- status: String
- zipCode : panjang
+ toString() : String
19
Alat untuk membuat diagram
◼
UML.
Violet (gratis)
◼ http://horstmann.com/violet/
◼ Rasional Rose
◼ http://www.rational.com/
◼ Kelas-kelas apa saja yang ada dalam sistem ini? Apa saja
tanggung jawab? Kelas mana yang berkolaborasi?
◼ Gambarkan diagram kelas untuk sistem ini. Sertakan hubungan
antar kelas (generalisasi dan asosiasi). 21