Object
Oriented Analisys and Design (OOAD)
OOAD
adalah metode analisis yang memerikasa requirements dari sudut pandang kelas
kelas dan objek yang ditemui dalam ruang lingkup permasalahan yang mengarahkan
arsitektur software yang didasarkan pada manipulasi objek-objek system atau
subsistem.OOAD merupakan cara baru dalam memikirkan
suatu masalah dengan menggunakan model yang dibuat menurut konsep sekitar dunia
nyata. Dasar pembuatan adalah objek,yang merupakan kombinasi antara struktur
data dan perilaku dalam satu entitas.
Metodologi dalam OOAD
Metodologi
adalah cara systematis untuk mengerjakan analisys and design. Dengan
metodologi, pihak yang membangun system software dapat merencanakan dan
mengulangi pekerjaan dilain waktu. Metodologi juga menghilangkan perbedaan
notasi untuk suatu hal yang sama karena setiap oarng akan berbicara dalam
bahasa yang sama. Metodologi yang paling banyak dalam OOAD, yaitu : Object
Modeling Technique (OMT) dari Rumbaugh, Object Oriented Booch,
Responsibility-Driven Design/ Class Responsibility Calloboration (RDD/CRC) dari
Wirf-Broock, Metodologi Coad/ Yourdan dan Jacobson Object Oriented Software
Enginering (OOSE).
Konsep
OOAD
OOAD
mencakup analisis dan desain sebuah sistem dengan pendekatan objek, yaiut
analisis berorientasi objek (OOA) dan desain berorientasi objek (OOD). OOA
adalah metode analisis yang memerika requirement (syarat/keperluan) yang harus
dipenuhi sebuah sistem) dari sudut pandang kelas-kelas dan objek-objek yang
ditemui dalam ruang lingkup perusahaan. Sedangkan OOD adalah metode untuk
mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek
sistem atau subsistem.
Terdapat
beberapa konsep dalam OOAD, yaitu :
-
Objek (object)
- Objek adalah benda secara fisik dan konseptual yang ada di sekitar kita. Sebuah objek memiliki keadaan sesaat yang disebut state.
- State dari sebuah objek adalah kondisi dari objek atau himpunan keadaan yang menggambarkan objek tersebut. State dinyatakan dengan nilai dari atribut objeknya.
- Atribut adalah nilai internal suatu objek yang mencerminkan karakteristik objek, kondisi sesaat, koneksi dengan objek lain dan identitas.
- Behaviour (perilaku objek) mendefinisikan bagaimana sebuah objek bertindak dan memberi reaksi. Behaviour ditentukan oleh himpunan semua atau beberapa operasi yang dapat dilakukan oleh objek tersebut, yang dicerminkan oleh interface, service, dan method dari objek tersebut.
- Interface adalah pintu untuk mengakses service dari objek
- Service adalah fungsi yang dapat dikerjakan oleh sebuah objek
- Method adalah mekanisme internal objek yang mencerminkan perilaku objek tersebut
-
Kelas (class)
Class
adalah himpunan objek yang sejenis yaitu mempunyai
sifat (atribut), perilaku umum (operasi), relasi umum dengan objek lain dan
semantik umum. Class adalah abstraksi dari objek dalam dunia nyata. Class
menetapkan spesifikasi perilaku dan atribut dari objek tersebut.
-
Kotak Hitam (black boxes)
Sebuah
objek adalah kotak hitam. Konsep ini menjadi dasar implementasi objek. Dalam
operasi OO hanya developer yang dapat memahami detail proses yang ada didalam
kotak tersebut, sedangkan user tidak perlu mengetahui apa yang dilakukan yang
penting mereka dapat menggunakan objek untuk memproses kebutuhan mereka. Kotak
hitam berisi kode dan data.
- Encapsulation, yaitu proses menyembunyikan detail implementasi sebuah objek. Untuk mengakses data objek tersebut adalah melalui interface. Untuk berkomunikasi dengan objek digunakan message.
- Message adalah permintaan agar objek menerima untuk membawa metode yang ditunjukkan oleh perilaku dan mengembalikan result dari aksi tersebut kepada objek pengirim (sender)
-
Asosiasi dan Agregasi
- Asosiasi adalah hubungan yang mempunyai makna antara sejumlah objek. Asosiasi digambarkan dengan sebuah garis penghubung diantara objeknya. Contohnya : Asosiasi karyawan dengan unit kerja. Setiap karyawan bekerja di satu unit kerja, sedangkan unit kerja dapat memiliki beberapa karyawan.
- Agregasi adalah bentuk khusus sebuah asosiasi yang menggambarkan seluruh bagian pada suatu objek merupakan bagian dari objek yang lain. Contohnya : Kopling dan piston adalah bagian dari mesin, sedangkan mesin, roda, body merupakan bagian dari sebuah mobil.
OOA
(Object Oriented Analysis)
OOA mempelajari permasalahan dengan menspesifikasikannya atau
mengobservasi permasalahn tersebut dengan menggunakan metode berorientasi
objek. Biasanya analisa sistem dimulai dengan adanya dokumen permintaan (requirement)
yang diperoleh dari semua pihak yang berkepentingan. (Mis: klien,developer,
pakar, dll)
Dokumen permintaan memiliki 2 fungsi yaitu : memformulasikan
kebutuhan klien dan membuat suatu daftar tugas
Analisis berorientasi obyek (OOA) melihat pada domain masalah, dengan tujuan untuk
memproduksi sebuah model konseptual informasi yang ada di daerah yang sedang
dianalisis. Model analisis tidak mempertimbangkan kendala-kendala pelaksanaan
apapun yang mungkin ada, seperti konkurensi, distribusi, ketekunan, atau bagaimana sistem
harus dibangun. Kendala pelaksanaan ditangani selama desain berorientasi objek
(OOD). Analisis dilakukan sebelum Design
Sumber-sumber untuk analisis dapat persyaratan tertulis
pernyataan, dokumen visi yang formal, wawancara dengan stakeholder atau pihak
yang berkepentingan lainnya. Sebuah sistem dapat dibagi menjadi beberapa
domain, yang mewakili bisnis yang berbeda, teknologi, atau bidang yang
diminati, masing-masing dianalisis secara terpisah.
Hasil analisis berorientasi objek adalah deskripsi dari apa
sistem secara fungsional diperlukan untuk melakukan, dalam bentuk sebuah model
konseptual. Itu biasanya akan disajikan sebagai seperangkat menggunakan kasus, satu atau lebih UML diagram kelas, dan sejumlah diagram interaksi. Tujuan dari analisis
berorientasi objek adalah untuk mengembangkan model yang menggambarkan
perangkat lunak komputer karena bekerja untuk memenuhi seperangkat persyaratan
yang ditentukan pelanggan.
UML (Unified
Modeling Language) adalah sebuah bahasa yang berdasarkan grafik/gambar
untuk memvisualisasi, menspesifikasikan, membangun, dan pendokumentasian dari
sebuah sistem pengembangan software berbasis OO (Object-Oriented). UML
sendiri juga memberikan standar penulisan sebuah sistem blue print, yang
meliputi konsep bisnis proses, penulisan kelas-kelas dalam bahasa program yang
spesifik, skema database, dan komponen-komponen yang diperlukan dalam sistem
software. Unified Model Language (UML) adalah bahasa
universal untuk :
- memvisualisasikan grafis model yang tepat
- menetapkan model yang tepat, lengkap , dan tidak ambigu untuk mengampil semua keputusan penting dalam analisis, desain dan implementasi
- membangun model yang dapat dihubungkan langsung dengan bahasa pemrograman
- mendokumentasikan semua informasi yang dikumpulkan oleh tim sehinngga memungkinkan untuk berbagi informasi
Object Oriented Analisis
- Menganalisis masalah domain
- Jelaskan sistem proses
- Identifikasi obyek
- Tentukan atribut
- Mendefinisikan operasi
- Komunikasi antar-obyek
OOD (Object Oriented Design)
OOD mengubah model konseptual yang dihasilkan dalam analisis
berorientasi objek memperhitungkan kendala yang dipaksakan oleh arsitektur yang
dipilih dan setiap non-fungsional – teknologi atau lingkungan – kendala,
seperti transaksi throughput, response time, run – waktu platform, lingkungan
pengembangan, atau bahasa pemrograman.
Teknik
Pemodelan dalam OOAD
Model Objek :
- Model objek Menggambarkan struktur statis dari suatu objek dalam sistem dan relasinya
- Model objek berisi diagram objek. Diagram objek adalah graph dimana nodenya adalah kelas yang mempunyai relasi antar kelas.
Model Dinamik
- Model dinamik menggambarkan aspek dari sistem yang berubah setiap saat.
- Model dinamik dipergunakan untuk menyatakan aspek kontrol dari sistem.
- Model dinamik berisi state diagram. State diagram adalah graph dimana nodenya adalah state dan arc adalah tarnsisi antara state yang disebabkan oleh event.
Model Fungsional
- Model fungsional menggambrakan transformasi nilai data di dalam sistem.
- Model fungsional berisi data flow diagram. DFD adalah suatu graph dimana nodenya menyatakan proses dan arcnya adalah aliran data.
Referensi
: