Metode Coad -Yourdon By: U. Abd. Rohim, MT mailto:abdrohim@yahoo.com 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, metodeini 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 metodelain (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) Perubahansejalanwaktu c) Kesamaan fungsi 3 Latarbelakang Menurut Coad & Yourdon, ancangan OO didasarkan atas representasi yang seragamantara 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 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 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 denganooa. 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 rangkamemenuhi tanggungjawabnya. Contoh: Sebuah objek Orang bekerja pada objek Kantor Juga bisamemiliki rentang 7 Konsep & Konstruksi 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 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 Operasi dan komunikasi Jenis layanan yang disediakan pada OOA adalah: Algorithmically simple services seperti Create, Connect, Access and Release Algorithmically complex services: 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 bukanlangkah sekuensial Model analisis yang dihasilkan dari aktivitas analsis berorientasi objek metode Coad & Yourdon adalah 5 lapisan: 1. Lapisan subjek (A Subject layer) 2. Lapisan kelas & objek (A Class & object layer) 3. Lapisan struktur (A Structure layer) 4. Lapisan atribut (An Attribute layer) 5. 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. Human Interaction Component (HIC) 2. Problem Domain Component (PDC) 3. Task Management Component (TMC) 4. 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 satuooa 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 satulayanan dinyatakan dengan Service Charts, yang merupakan satujenis 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 bukuooa/ood 12 6