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