object oriented design

11
Object-Oriented Design

Upload: alanakbar

Post on 13-Dec-2015

27 views

Category:

Documents


1 download

DESCRIPTION

Object Oriented Design

TRANSCRIPT

Page 1: Object Oriented Design

Object-Oriented Design

Page 2: Object Oriented Design

PendahuluanPendahuluan

• Desain berorientasi objek (OOD) Desain berorientasi objek (OOD) mentransformasi model analisis yang mentransformasi model analisis yang dibuat dengan menggunakan OOA (Analisa dibuat dengan menggunakan OOA (Analisa Berorientasi Obyek) ke dalam suatu model Berorientasi Obyek) ke dalam suatu model desain yang berfungsi sebagai cetak biru desain yang berfungsi sebagai cetak biru bangunan perangkat lunak.bangunan perangkat lunak.

• Sifat OOD unikSifat OOD unik, yaitu, yaitu adada pada a pada kemampuannya untuk membangun empat kemampuannya untuk membangun empat konsep desain perangkat lunak yang konsep desain perangkat lunak yang penting: abstraksi, penyembunyian penting: abstraksi, penyembunyian informasi, independensi fungsional, dan informasi, independensi fungsional, dan modularitas.modularitas.

Page 3: Object Oriented Design

• Abstraksi;Abstraksi; Cara kita melihat suatu sistem dalam Cara kita melihat suatu sistem dalam bentuk lebih yang sederhana, , yaitu kumpulan bentuk lebih yang sederhana, , yaitu kumpulan (sebagai suatu subsistem object) yang berinteraksi. (sebagai suatu subsistem object) yang berinteraksi. Saling. Exp : kumpulan Mobil adalah sistem Saling. Exp : kumpulan Mobil adalah sistem pengapian, sistemkemudi sistem pengereman.pengapian, sistemkemudi sistem pengereman.

• Encapsulation;Encapsulation; Mekanisme menyembunyikan suatu Mekanisme menyembunyikan suatu proses sistem dalam untuk menghindari interferensi proses sistem dalam untuk menghindari interferensi penggunaan dan menyederhanakan sistem itu sendiri.penggunaan dan menyederhanakan sistem itu sendiri.

• Modular;Modular; Sifat object adalah modular. Object dapat Sifat object adalah modular. Object dapat ditulis dan dimaintain terpisah (independen) dari ditulis dan dimaintain terpisah (independen) dari object lain.object lain.

• Polymorphism;Polymorphism; Suatu object dapat memiliki Suatu object dapat memiliki berbagai bentuk, sebagai object dari classnya sendiri berbagai bentuk, sebagai object dari classnya sendiri atau object dari superclassnyaatau object dari superclassnya

Page 4: Object Oriented Design

Aliran Proses Untuk OODAliran Proses Untuk OOD

Page 5: Object Oriented Design

Masalah-masalah DesainMasalah-masalah DesainDekomposabilitasDekomposabilitas - fasilitas di mana metode desain membantu - fasilitas di mana metode desain membantu desainer melakukan dekomposisi terhadap masalah yang besar ke desainer melakukan dekomposisi terhadap masalah yang besar ke dalam sub-masalah yang lebih mudah untuk dipecahkan;dalam sub-masalah yang lebih mudah untuk dipecahkan;KomposabilitasKomposabilitas - tingkat di mana sebuah metode desain - tingkat di mana sebuah metode desain memastikan bahwa komponen progam (modul), begitu diberikan memastikan bahwa komponen progam (modul), begitu diberikan dan dibangun, dapat diguna kan untuk membuat sistem yang lain dan dibangun, dapat diguna kan untuk membuat sistem yang lain lagi.lagi.PemahamanPemahaman - kemudahan di mana suatu komponen program - kemudahan di mana suatu komponen program dapat dipahami tanpa referensi ke informasi lain atau modul lain.dapat dipahami tanpa referensi ke informasi lain atau modul lain.KontinuitasKontinuitas - kemampuan untuk membuat perubahan-perubahan - kemampuan untuk membuat perubahan-perubahan kecil di dalam sebuah program dan membuat perubahan-kecil di dalam sebuah program dan membuat perubahan-perubahan ini memanifestasi diri mereka sendiri dengan perubahan ini memanifestasi diri mereka sendiri dengan perubahan yang sesuai hanya dalam satu atau beberapa modul perubahan yang sesuai hanya dalam satu atau beberapa modul dan;dan;ProteksiProteksi - karakteristik arsitektur yang akan mengurangi - karakteristik arsitektur yang akan mengurangi penyebab efek samping bila suatu kesalahan benar-benar terjadi penyebab efek samping bila suatu kesalahan benar-benar terjadi dalam modul yang di berikan.dalam modul yang di berikan.

Page 6: Object Oriented Design

Metode OOD (Booch)Metode OOD (Booch)Perencanaan Arsitektur:Perencanaan Arsitektur:• • Klusterkan objek yang mirip di dalam partisi arsitektur yang serupa.Klusterkan objek yang mirip di dalam partisi arsitektur yang serupa.• • Lapiskan objek dengan tingkat abstraksi.Lapiskan objek dengan tingkat abstraksi.• • Identifikasi skenario yang relevan.Identifikasi skenario yang relevan.• • Validasi prototipe desain dengan mengaplikasikannya ke skenario kegunaan.Validasi prototipe desain dengan mengaplikasikannya ke skenario kegunaan.Desain Taktis:Desain Taktis:

Tentukan aturan domain independen (“aturan" yang mengatur penggunaan operasi Tentukan aturan domain independen (“aturan" yang mengatur penggunaan operasi dan atribut).dan atribut).Tentukan aturan domain spesifik bagi pengaturan manajemen, penanganan Tentukan aturan domain spesifik bagi pengaturan manajemen, penanganan kesalahan, dan fungsi infrastruktur yang lain.kesalahan, dan fungsi infrastruktur yang lain.Kembangkan skenario yang menggambarkan semantik dari aturan.Kembangkan skenario yang menggambarkan semantik dari aturan.Ciptakan prototipe untuk masing-masing aturan.Ciptakan prototipe untuk masing-masing aturan.Saringlah instrumen dan prototipe tersebut.Saringlah instrumen dan prototipe tersebut.Kaji masing-masing aturan untuk memastikan bahwa aturan itu "menyiarkan visi Kaji masing-masing aturan untuk memastikan bahwa aturan itu "menyiarkan visi arsitekturnya".arsitekturnya".

Perencanaan Rilis:Perencanaan Rilis:Kumpulkan skenario yang dikembangkan selama OOA sesuai prioritas.Kumpulkan skenario yang dikembangkan selama OOA sesuai prioritas.Alokasikan rilis arsitektur yang bersesuaian dengan skenario.Alokasikan rilis arsitektur yang bersesuaian dengan skenario.Rancang dan dan bangunlah masing-masing rilis arsitektur.Rancang dan dan bangunlah masing-masing rilis arsitektur. Sesuaikan tujuan dan jadwal rilis inkremental sesuai kebutuhan.Sesuaikan tujuan dan jadwal rilis inkremental sesuai kebutuhan.

Page 7: Object Oriented Design

Transaksi model analisis ke dalam Transaksi model analisis ke dalam model desain selama desain objekmodel desain selama desain objek

Page 8: Object Oriented Design

Proses Desain SistemProses Desain Sistem Partisi model analisis ke dalam subsistem.Partisi model analisis ke dalam subsistem.Identifikasi konkurensi yang ditentukan Identifikasi konkurensi yang ditentukan oleh masalah.oleh masalah.Pilih strategi dasar bagi Pilih strategi dasar bagi pengimplementasian manajemen data.pengimplementasian manajemen data.Identifikasi sumber-sumber daya global dan Identifikasi sumber-sumber daya global dan mekanisme kontrol yang diperlukan untuk mekanisme kontrol yang diperlukan untuk mengaksesnya.mengaksesnya.Desain mekanisme kontrol yang sesuai Desain mekanisme kontrol yang sesuai untuk sistem tersebut.untuk sistem tersebut.Kajilah dan pertimbangkan trade-offs.Kajilah dan pertimbangkan trade-offs.

Page 9: Object Oriented Design

Proses Desain ObjekProses Desain ObjekDDesain sistem OO dapat dipandang sebagai esain sistem OO dapat dipandang sebagai rencana lantai sebuah rumah. Rencana lantai rencana lantai sebuah rumah. Rencana lantai menentukan tujuan masing-masing ruangan dan menentukan tujuan masing-masing ruangan dan mekanisme yang menghubungkan ruangan satu mekanisme yang menghubungkan ruangan satu dengan lainnya yang diperlukan umtuk dengan lainnya yang diperlukan umtuk membangun masing-masing ruangan.membangun masing-masing ruangan.Dalam konteks OOD, desain objek berfokus pada Dalam konteks OOD, desain objek berfokus pada "ruangan." Kita harus mengembangkan desain "ruangan." Kita harus mengembangkan desain detail mengenai atribut dan operasi yang detail mengenai atribut dan operasi yang membangun masing-masing kelas, dan spesifikasi membangun masing-masing kelas, dan spesifikasi pesan yang mendalam yang menghubungkan pesan yang mendalam yang menghubungkan kelas dengan kolaboratornya.kelas dengan kolaboratornya.

Page 10: Object Oriented Design

Begitu model objek dasar dibuat, optimasi Begitu model objek dasar dibuat, optimasi harus terjadi. Rambaugh dan rekannya harus terjadi. Rambaugh dan rekannya [RAM91] mengusulkan tiga masukan utama [RAM91] mengusulkan tiga masukan utama untuk optimasi OOD, yaitu :untuk optimasi OOD, yaitu :

– Kajilah model hubungan objek untuk Kajilah model hubungan objek untuk memastikan bahwa desain yang memastikan bahwa desain yang diimplementasi membawa kepada utilisasi yang diimplementasi membawa kepada utilisasi yang efisien dari sumber daya dan kemudahan efisien dari sumber daya dan kemudahan implementasi. Tambahkan redundancy di mana implementasi. Tambahkan redundancy di mana perlu.perlu.

– Revisi struktur data atribut dan algoritma yang Revisi struktur data atribut dan algoritma yang sesuai untuk meningkatkan efisiensi sesuai untuk meningkatkan efisiensi pemrosesan.pemrosesan.

– Buat atribut baru untuk menyimpan informasi Buat atribut baru untuk menyimpan informasi yang ditarik sehingga menghindari komputasi yang ditarik sehingga menghindari komputasi dua kali.dua kali.

Page 11: Object Oriented Design

KesimpulanKesimpulanOOD menerjemahkan model OOA dari dunia OOD menerjemahkan model OOA dari dunia nyata ke dalam model implementasi spesifik yang nyata ke dalam model implementasi spesifik yang dapat direalisasikan di dalam perangkat lunak.dapat direalisasikan di dalam perangkat lunak. Seperti OOA, ada banyak metode OOD yang Seperti OOA, ada banyak metode OOD yang masing-masing berbeda.masing-masing berbeda. Selama desain subsistem, disinggung 4 Selama desain subsistem, disinggung 4 komponen: komponen domain masalah, komponen: komponen domain masalah, komponen interaksi manusia, komponen komponen interaksi manusia, komponen manajemen tugas, dan kom ponen manajemen manajemen tugas, dan kom ponen manajemen data. Komponen domain masalah data. Komponen domain masalah mengimplementasi persyaratan pelanggan bagi mengimplementasi persyaratan pelanggan bagi aplikasi OO.aplikasi OO.