Transcript Obyek

Pertemuan 6
Structural modelling
TIB15 - ANALISIS & DESAIN
BERORIENTASI OBJEK
Materi Yang Dibahas
• Pengenalan Structural Modeling
• Konsep Dasar object-oriented dalam structural modeling.
• Hubungan Class dan obyek dengan blok-blok dari structural
modeling dan unit
– Kategori obyek
• mencari kandidat class dengan menganalisa use cases.
(dibahas secara terpisah pada masing-masing sub
pembahasan)
• memperluas dan mendefinisikan class berdasarkan
spesifikasi dan mengembangkan tugasnya
– hubungan antar class-class
– menggunakan class diagram untuk merepresentasikan
hubungan antar class-class.
Pengenalan Structural Modeling
• Structural Modeling: Memodelkan
bagaimana use case dan actor dapat
disusun menjadi class-class
• Diagram yang digunakan pada structural
modelling adalah Class Diagram.
Konsep Dasar object-oriented
dalam structural modeling
Class/kelas
• Class adalah sebuah kategori yang membungkus informasi
dan perilaku.
• Class mendefinisikan sesuatu yang akan menjadi cetak biru
dari obyek yang akan dibentuknya
• Class adalah building block dari structural modelling.
Obyek
• Obyek adalah segala sesuatu yang ada dilingkungan sistem
• Obyek adalah sesuatu yang membungkus informasi dan
tingkah laku
• Obyek merepresentasikan sesuatu yang nyata, dapat
berupa benda, proses, formula ataupun suatu aktifitas.
• Obyek adalah unit terstruktur dari system aktual
Kategori Obyek
• Obyek Entitas: menangani informasi, dapat
dipetakan menjadi tabel dan field pada basis
data
• Obyek Pembatas: diterapkan menjadi antar
muka atau jendela dari sebuah aplikasi
terhadap pemakai atau aplikasi lainnya
• Obyek Kontrol/pengendali: Obyek optional
yang mengontrol aliran dalam use case.
Mengkoordinasikan obyek-obyek dan
mengatur keseluruhan logika aliran
Mencari class
• Class bisa didapat dari aktor, use case maupun aliran
kejadian pada diagram use case
• Atribut class dapat dianalisa dari kebutuhan
karakteristik obyek yang didefinisikan oleh actibity
diagram
• Message bisa didapatkan dari adanya pertukaran
informasi antar use case. Informasi ini bisa kita
dapatkan dari informasi yang dipertukarkan antar aktor
pada activity diagram
• Operasi bisa didapatkan dari proses-proses yang
terdapat pada activity diagram
• Selain dari activity diagram, jika tersedia class dapat
pula di analisa dari dokumen use case supplement
Notasi Class
• Class digambarkan dengan segi empat.
• Bagian-bagian class:
• Nama pada bagian atas,
• atribut pada bagian tengah
• Operation ada bagian bawah
• Relationships antara object classes (dikenali
sebagai asosiasi) digambarkan dengan garis
penghubung kedua class
Hubungan antar Class-class
•
•
•
•
•
Asosiasi
Dependensi
Agregasi
Generalisasi
Realisasi
Penamaan Relasi
• Relasi boleh diberi nama, boleh juga tidak
• Penamaan Relasi menggunakan Kata
kerja yang menjelaskan mengapa relasi
tersebut diadakan
• Contoh:
Asosiasi
• Hubungan saling terkait antar kelas
• Masing-masing kelas dapat mengirimkan message ke kelas
lain
• Asosiasi memungkinkan sebuah kelas untuk mengetahui
atribut dan operasi yang mempunyai visibilitas public
terhadap kelas lainnya.
• Asosiasi dapat dilakukan secara rekursif
• Asosiasi dapat berupa asosiasi dua arah (bidirectional),
– digambarkan dengan garis tanpa arah panah
• Asosiasi dapat berupa asosiasi searah (unidirectional),
– digambarkan dengan garis dengan satu mata panah.
– Arah mata panah melambangkan arah asosiasi
Relasi Asosiasi
Relasi Dua Arah
Relasi Searah
Asosiasi Rekursif
Dependensi/Instansiasi
• Hubungan ketergantungan antar satu class dengan class
lainnya.
• Dependensi merupakan asosiasi satu arah.
• Dilambangkan dengan garis putus-putus dengan satu mata
panah yang menunjukkan arah dependensi.
• Dependensi didapatkan dengan cara:
– Membuat variable instan bagi kelas lain,
– membaca secara searah data yang tersimpan pada variabel
global kelas lain
– Kelas yang diacu dilewatkan sebagai parameter didalam operasi
kelas yang mengacu
• Relasi dependensi terjadi ketika sebuah kelas diperlukan
untuk menjadi parameter atau nilai balik suatu kelas.
• Relasi dependensi pada use case dijadikan sebagai relasi
dependensi pada class diagram
Contoh Relasi Dependensi /
Instansiasi
Agregasi
• Bentuk relasi dimana keseluruhan kelas
dengan pembentuk-pembentuknya.
• Biasanya pada relasi ini beberapa kelas
diinstansiasi menjadi bagian suatu kelas.
• Dilambangkan dengan garis dengan bangun
lah ketupat (diamond) sebagai ujungnya
pada kelas yang melakukan agregasi
terhadap kelas lainnya
• Agregasi dapat dilakukan secara rekursif
• Relasi agregasi pada use case digambarkan
sebagai agregasi pada class diagram
Relasi Agregasi
Agregasi
Agregasi Rekursif
Contoh Object aggregation
Generalisasi
• Inheritance merujuk kepada generalisasi dan
ditunjukkan sebagai upwards, dari pada downwards
pada sebuah hirarki
• Relasi pewarisan antara dua elemen model (kelas,
aktor, use case dan paket)
• Generalisasi digunakan untuk menunjukkan beberapa
aktor atau use case yang mempunyai kesamaan
• Generalisasi dapat terjadi multi-level
• Dilambangkan dengan mata panah
• Relasi Extend, generalisasi aktor dan generaslisasi
use case pada analisa use case diimplementasikan
dalam bentuk generalisasi.
• Multiple inheritance dimungkinkan pada generalisasi
Relasi Generalisasi
Contoh Library class hierarchy
Library item
Catalo g ue n u mb er
Acq uis ition date
Cos t
Ty pe
Statu s
Number o f cop ies
Acq uire ()
Catalo g ue ()
Disp os e ()
Is su e ()
Return ()
Pub lished item
Recor d ed item
Title
Med iu m
Title
Pub lisher
Boo k
Au tho r
Edition
Pub lication da te
ISBN
Mag azine
Year
Is su e
Film
Directo r
Date of releas e
Distrib u tor
Compu ter
p ro gram
Versio n
Platfo rm
Contoh User class hierarchy
Library u ser
Name
Add res s
Pho ne
Reg is tration #
Reg is ter ()
De-r eg is ter ()
Reader
Borrower
Items o n loan
Max . loan s
Affiliation
Staff
Dep ar tmen t
Dep ar tmen t p ho n e
Stud en t
Majo r sub ject
Home ad d res s
Contoh Multiple inheritance
Boo k
Voice record in g
Au tho r
Edition
Pub lication da te
ISBN
Speak er
Duration
Recor d ing d ate
Talkin g bo ok
# Tap es
Relasi realisasi
• Untuk mengimplementasikan interface,
hubungan antara interface dengan
implementasinya
• Menggambarkan hubungan antara
– Relasi antara kelas dengan interfacenya
– Relasi paket dengan interfacenya
– Komponen dengan interface nya
– Use case dengan use case realization
Relasi Realisasi
Referensi:
• Ian Sommerville, Software Engineering,
7th-ed, 2004, Prentice hall, USA
• N. Ashrafi, Object Oriented systems
Analysis and Design, Pearson
International Edition, 2008, Pearson
Education, USA
• Sholiq, Pemodelan Sistem Informasi
Berorientasi Objek dengan UML, 2006,
Graha Ilmu, Indonesia