Object-Oriented Design

advertisement
Object-Oriented
Design
Pendahuluan
• Desain berorientasi objek (OOD)
mentransformasi model analisis yang dibuat
dengan menggunakan OOA (Analisa
Berorientasi Obyek) ke dalam suatu model
desain yang berfungsi sebagai cetak biru
bangunan perangkat lunak.
• Sifat OOD unik, yaitu ada pada
kemampuannya untuk membangun empat
konsep desain perangkat lunak yang penting:
abstraksi, penyembunyian informasi,
independensi fungsional, dan modularitas.
• Abstraksi; Cara kita melihat suatu sistem dalam
bentuk lebih yang sederhana, , yaitu kumpulan
(sebagai suatu subsistem object) yang berinteraksi.
Saling. Exp : kumpulan Mobil adalah sistem pengapian,
sistemkemudi sistem pengereman.
• Encapsulation; Mekanisme menyembunyikan suatu
proses sistem dalam untuk menghindari interferensi
penggunaan dan menyederhanakan sistem itu sendiri.
• Modular; Sifat object adalah modular. Object dapat
ditulis dan dimaintain terpisah (independen) dari object
lain.
• Polymorphism; Suatu object dapat memiliki berbagai
bentuk, sebagai object dari classnya sendiri atau
object dari superclassnya
Aliran Proses Untuk OOD
Masalah-masalah Desain
Dekomposabilitas - fasilitas di mana metode desain membantu
desainer melakukan dekomposisi terhadap masalah yang besar ke
dalam sub-masalah yang lebih mudah untuk dipecahkan;
Komposabilitas - tingkat di mana sebuah metode desain
memastikan bahwa komponen progam (modul), begitu diberikan
dan dibangun, dapat digunakan untuk membuat sistem yang lain
lagi.
Pemahaman - kemudahan di mana suatu komponen program
dapat dipahami tanpa referensi ke informasi lain atau modul lain.
Kontinuitas - kemampuan untuk membuat perubahanperubahan kecil di dalam sebuah program dan membuat
perubahan-perubahan ini memanifestasi diri mereka sendiri
dengan perubahan yang sesuai hanya dalam satu atau beberapa
modul dan;
Proteksi - karakteristik arsitektur yang akan mengurangi
penyebab efek samping bila suatu kesalahan benar-benar terjadi
dalam modul yang diberikan.
Metode OOD (Booch)
Perencanaan Arsitektur:
•
Klusterkan objek yang mirip di dalam partisi arsitektur yang serupa.
•
Lapiskan objek dengan tingkat abstraksi.
•
Identifikasi skenario yang relevan.
•
Validasi prototipe desain dengan mengaplikasikannya ke skenario kegunaan.
Desain Taktis:
Tentukan aturan domain independen (“aturan" yang mengatur penggunaan operasi
dan atribut).
Tentukan aturan domain spesifik bagi pengaturan manajemen, penanganan
kesalahan, dan fungsi infrastruktur yang lain.
Kembangkan skenario yang menggambarkan semantik dari aturan.
Ciptakan prototipe untuk masing-masing aturan.
Saringlah instrumen dan prototipe tersebut.
Kaji masing-masing aturan untuk memastikan bahwa aturan itu "menyiarkan visi
arsitekturnya".
Perencanaan Rilis:
Kumpulkan skenario yang dikembangkan selama OOA sesuai prioritas.
Alokasikan rilis arsitektur yang bersesuaian dengan skenario.
Rancang dan dan bangunlah masing-masing rilis arsitektur.
Sesuaikan tujuan dan jadwal rilis inkremental sesuai kebutuhan.
Transaksi model analisis ke dalam
model desain selama desain objek
Proses Desain Sistem
Partisi model analisis ke dalam subsistem.
Identifikasi konkurensi yang ditentukan oleh
masalah.
Pilih strategi dasar bagi
pengimplementasian manajemen data.
Identifikasi sumber-sumber daya global dan
mekanisme kontrol yang diperlukan untuk
mengaksesnya.
Desain mekanisme kontrol yang sesuai
untuk sistem tersebut.
Kajilah dan pertimbangkan trade-offs.
Proses Desain Objek
Desain sistem OO dapat dipandang sebagai
rencana lantai sebuah rumah. Rencana lantai
menentukan tujuan masing-masing ruangan dan
mekanisme yang menghubungkan ruangan satu
dengan lainnya yang diperlukan umtuk
membangun masing-masing ruangan.
Dalam konteks OOD, desain objek berfokus pada
"ruangan." Kita harus mengembangkan desain
detail mengenai atribut dan operasi yang
membangun masing-masing kelas, dan
spesifikasi pesan yang mendalam yang
menghubungkan kelas dengan kolaboratornya.
Begitu model objek dasar dibuat, optimasi
harus terjadi. Rambaugh dan rekannya
[RAM91] mengusulkan tiga masukan utama
untuk optimasi OOD, yaitu :
– Kajilah model hubungan objek untuk
memastikan bahwa desain yang diimplementasi
membawa kepada utilisasi yang efisien dari
sumber daya dan kemudahan implementasi.
Tambahkan redundancy di mana perlu.
– Revisi struktur data atribut dan algoritma yang
sesuai untuk meningkatkan efisiensi
pemrosesan.
– Buat atribut baru untuk menyimpan informasi
yang ditarik sehingga menghindari komputasi
dua kali.
Kesimpulan
OOD menerjemahkan model OOA dari dunia
nyata ke dalam model implementasi spesifik yang
dapat direalisasikan di dalam perangkat lunak.
Seperti OOA, ada banyak metode OOD yang
masing-masing berbeda.
Selama desain subsistem, disinggung 4
komponen: komponen domain masalah,
komponen interaksi manusia, komponen
manajemen tugas, dan komponen manajemen
data. Komponen domain masalah
mengimplementasi persyaratan pelanggan bagi
aplikasi OO.
Download