Metode Coad - Yourdon
By: U. Abd. Rohim, MT mailto:
[email protected] blogs:www.abdrohim.my.or.id
1
Latar Belakang Termasuk metode yang muncul saat awal metode berorientasi objek mulai berkembang metode yang masih naif (terlalu sederhana) Pengaruh metode analisis & perancangan tradisional masih kental Sejalan dengan waktu, metode ini terus dikembangkan sehingga mengadopsi konsep-konsep yang muncul belakangan. Coad & Yourdon menyatakan 7 motivasi kunci dan keuntungan analisis & perancangan berorientasi objek dibandingkan metode analisis tradisional: – – – – – – –
Menangani domain persoalan yang makin menantang Meningkatkan interaksi antara analis and ahli pada domain persoalan Meningkatkan konsistensi internal antara analisis, perancangan, dan pemrograman Secara eksplisit menyatakan kesamaan antara kelas & objek Membuat spesifikasi yang lebih tangguh terhadap perubahan Mengguna-ulang hasil OOA, OOD dan OOP Menyediakan representasi yang konsisten antara analisis, perancangan dan pemrograman
2
1
Latarbelakang Menurut Coad & Yourdon hasil utama OOA/OOD: mengurangi kompleksitas persoalan dan tanggung jawab sistem di dalamnya. Metode OOA/OOD didasarkan atas sejumlah prinsip umum mengatasi kompleksitas yang tidak dimiliki oleh metode lain (misalnya: Dekomposisi Fungsional, Data Flow, Information Modelling - basis dari E-R): 1) Abstraksi a) Prosedural b) Data
\2) Enkapsulasi 3) Inheritance/Pewarisan 4) Asosiasi 5) Komunikasi dengan pesan 6) Sebaran cara organisasi a) Objek & Atribut b) Whole & parts
c) Kelas & anggotanya, serta pembedaan di antara mereka 7) Skala 8) Kategori kelakuan a) Penyebab langsung b) Perubahan sejalan waktu c) Kesamaan fungsi
3
Latarbelakang l l
Menurut Coad & Yourdon, ancangan OO didasarkan atas representasi yang seragam antara Kelas & Objek. Implikasinya: –
– –
–
–
Tidak ada perbedaan besar antara notasi analisis & perancangan Tidak ada transisi dari analisis ke perancangan Tidak ada model waterfall yang harus diikuti; model spiral dan incremental juga bisa diterapkan Ada sejumlah keterampilan dan strategi yang diperlukan oleh analis & perancang Adanya keseragaman representasi dari OOA ke OOD ke OOP
4
2
Konsep & Kontruksi l
Konsep: –
–
–
–
Objek: adalah abstraksi dari sebuah entitas nyata/tidak nyata (tangible orintangible) yang informasinya harus diingat/disimpan: nilai-nilai atribut dan layanan-layanan eksklusif dienkapsulasi Kelas: adalah deskripsi dari satu atau lebih objek dengan sejumlah atribut dan layanan yang seragam termasuk deskripsi tentang cara membuat objek dari kelas tersebut Atribut: adalah sejumlah data (informasi keadaan) di mana tiap objek dari suatu kelas mempunyai nilai tersendiri Class-&-Object: adalah suatu istilah yang berarti "suatu kelas dan objek-objek yang ada pada kelas tersebut "
5
Konsep & Konstruksi l
l
l l l l l
Subjek: adalah mekanisme untuk membagi model yang besar dan kompleks. Subjek juga berguna untuk mengatur paket kerja pada projek-projek besar berdasarkan hasil penyelidikan awal dengan OOA. Layanan (Service): adalah kelakuan spesifik yang dilakukan oleh objek yang menjadi tanggung jawab objek tersebut Keadaan/Status (State): Status dari sebuah objek adalah gabungan dari nilai-nilai atribut objek tersebut Transisi (Transition): adalah perubahan status Kondisi (Condition): aksi If-precondition-triggererminate Text Block: Teks Loop: aksi While-Do-Repeat-trigger-terminate
6
3
Konsep & Konstruksi Hubungan antar-objek Struktur Whole-Part Satu objek (yang mewakili Whole) dapat didekomposisi menjadi objek-objek lain (Parts). Ada 3 variasi struktur whole-part: – – –
Assembly-Parts : contoh: sebuah mobil mempunyai roda, mesin, chasis Container-Contents : contoh: sebuah kotak berisi sejumlah paku Collection-Members : contoh: sebuah organisasi mempunyai sejumlah analis, manajer
Hubungan Whole-Part relationships dapat memiliki rentang spesifik, seperti layaknya konsep kardinalitas pada pemodelan E-R Instance connections (Hubungan asosiasi) Yaitu koneksi yang diperlukan oleh sebuah objek dengan objek lain dalam rangka memenuhi tanggung jawabnya. Contoh: Sebuah objek Orang bekerja pada objek Kantor Juga bisa memiliki rentang
7
Konsep & Konstruksi l
Message Connections Memodelkan kebergantungan pemrosesan sebuah objek yang dinyatakan dengan kebutuhan atas layanan-layanan dari objek lain dalam rangka memenuhi tanggung jawabnya (layanan yang disediakan olehnya) sendiri. Contoh: Untuk memenuhi tanggung jawab (layanan) "permohonan cuti", objek Orang perlu layanan "persetujuan cuti" dari objek Manajer
Hubungan antar-kelas l Struktur Generalization-Specialization/Gen-Spec (Hubungan pewarisan) Mendefinisikan hirarki pewarisan untuk kelas-kelas yang merupakan spesialisasi dari kelas lain yang lebih umum (general). Sebuah kelas bisa mewarisi sifat dari sebuah superclass (kelas general) yang disebut dengan pewarisan tunggal (single inheritance) atau dari sejumlah superclass yang disebut dengan pewarisan ganda (multiple inheritance). Contoh: seorang Manajer adalah spesialisasi dari Orang.
8
4
Konsep & Konstruksi l l
Operasi dan komunikasi Jenis layanan yang disediakan pada OOA adalah: – –
Algorithmically simple services seperti Create, Connect, Access and Release Algorithmically complex services: l l
Layanan Menghitung (Calculation) yang menghitung hasil komputasi dari nilai-nilai sebuah objek. Layanan Pemantauan (Monitoring) yang memantau sistem atau piranti eksternal
Pada metode OOA objek berkomunikasi dengan cara mengirim pesan (permintaan layanan). Objek pengirim mengirimkan pesan yang diterima oleh objek penerima untuk kemudian oleh objek penerima tersebut dilakukan sejumlah aksi dan mengembalikan hasil ke objek pengirim pesan. Mekanisme ini pada OOA diagram dinyatakan dengan Message Connections.
9
Persiapan Umum Aktivitas utama analisis berorientasi objek (OOA) adalah: – – – – –
Mencari/menemukan kelas & objek (Finding Class & Objects) Mengidentifikasikan struktur (Identifying Structures) Mengidentifikasikan (Identifying Subjects) Mendefinisikan atribut (Defining Attributes) Mendefinisikan layanan (Defining Services)
Langkah-langkah ini bukan langkah sekuensial Model analisis yang dihasilkan dari aktivitas analsis berorientasi objek metode Coad & Yourdon adalah 5 lapisan: 1. 2. 3. 4. 5.
Lapisan subjek (A Subject layer) Lapisan kelas & objek (A Class & object layer) Lapisan struktur (A Structure layer) Lapisan atribut (An Attribute layer) Lapisan layanan (A Service layer)
10
5
Persiapan Umum Pada saat perancangan berorientasi objek (OOD), kelima lapisan yang dihasilkan oleh analisis berorientasi objek ditambahkan dengan 4 komponen lain yang harus dirancang untuk masing-masing lapisan: 1. 2. 3. 4.
Human Interaction Component (HIC) Problem Domain Component (PDC) Task Management Component (TMC) Data Management Component (DMC)
Keempat komponen ini juga bukan langkah sekuensial Keberadaan keempat komponen ini juga tidak wajib ada
11
Teknik yg Digunakan Hasil dari penerapan OOA/OOD adalah satu OOA diagram yang terdiri dari 5 lapisan: 1) Subject layer sebagai mekanisme partisi 2) Class & Object layer untuk menangkap Kelas dan Objek 3) Structure layer untuk menangkap struktur pewarisan dan whole-part 4) Attribute layer untuk menangkap atribut dan instance connections antara Kelas dan Objek 5) Service layer untuk menangkap metode objek (layanan) dan message connections antara Kelas dan Objek
Kelakuan dinamik dari sebuah kelas ditangkap di Object State Diagrams, yang merupakan bentuk terbatas dari State Transition Diagrams. Algoritma yang diterapkan untuk satu layanan dinyatakan dengan Service Charts, yang merupakan satu jenis flowcharts. Hubungan antara sebuah layanan dari Service Chart dan keadaan/status dari Object State Diagram dinyatakan dengan Service/State Table (satu layanan terdefinisi untuk state tertentu). Catatan: Object State Diagrams, Service Charts dan Service/State Tables tidak dijelaskan dengan baik pada buku OOA/OOD
12
6