Oleh STMIK RAHARJA
DOSEN : META AMALYA DEWI, M.KOM
Teknik Perancangan Berorientasi Obyek
Memahami teknik Object Oriented Design
DOSEN : META AMALYA DEWI, M.KOM
Teknik Perancangan Berorientasi Obyek
Memahami teknik Object Oriented Design
- Konsep dan Prinsip Dasar Berorientasi Obyek
- Analisis dan modelling
- Metodologi desain
- Class dan object
- Operasi dan Penggunaan Ulang Perangkat Lunak
- Komponen program dan interface
- Unified Modelling Language (UML)
- Dapat menjelaskan dan menerapkan metode Object-Oriented pada Perancangan Perangkat Lunak
Pentingnya Perancangan
Dua Teknik Perancangan Perangkat Lunak
Perancangan Berorientasi pada Fungsi
Sistem di dekomposisi menjadi sejumlah fungsi (prosedur, logika) dengan sistem tersentralisasi dimana data dapat dibagi dan digunakan secara bersama.
Perancangan Berorientasi pada Obyek
Sistem dianggap sebagai kumpulan obyek (konsep, benda) dalam dunia nyata yang melaksanakan sejumlah pelayanan secara terdesentralisasi.
Setiap obyek membungkus (encapsulate) sejumlah prosedur dan data yang berinteraksi dengan obyek lainnya melalui suatu pesan (message).
Object Oriented Design (OOD)
Mengapa menggunakan OOD
- Karena lebih dekat pada tingkat abstraksi di dunia nyata (mengunakan obyek-obyek untuk konsep penstrukturan perangkat lunak).
- Interaksi menjadi lebih mudah dalam suatu komputer.
- Pengembangan dan Perawatannya dapat dilakukan secara mudah, iteratif dan terpadu
-Encapsulation: menggabungkan data dan fungsi/program secara bersama-sama
-Reuse: tidak perlu ada penulisan kembali kode.
Reuseable Assets
Reuse of all models, that is of everything
- architecture -- most important but just a fraction of what is reusable
- use cases, analysis, design, implementation and test
- user interface models, business models, etc.
Reuse of technology
- process with tools
- projects
- guidelines
Pertanyaan
Jelaskan perbedaan antara perangkat lunak fungsional dengan perangkat lunak berorientasi obyek ?
Perangkat Lunak Fungsional terfokus pada:
- Fungsi dalam struktur terhirarki
- Proses dan Prosedur
Perangkat Lunak berorientasi-obyek terfokus pada:
- Obyek-obyek dalam dunia nyata yang bekerja sama (tidak terhirarki).
- Model dari obyek-obyek di dunia nyata tersebut (skenario).
- Peranan obyek-obyek ini dalam penggambaran sistem perangkat lunak (task).
Object-oriented System Development Cycle
- Object-oriented Analysis (OOA)
- Object-oriented Design (OOD)
- Object-oriented Implementation
1. Object-Oriented Analysis
- Definisikan kebutuhan-kebutuhan sistem melalui skenario atau penggunaan kasus-kasus.
- Kemudian, buat suatu model obyek dengan kemampuan memuaskan kebutuhan-kebutuhan.
- Output: Model kebutuhan-kebutuhan
- Biasanya menggunakan CRC Cards.
Object-Oriented AnalysisMemberikan gambaran rinci dari suatu sistem.
Mengidentifikasi “WHAT” kebutuhan fungsional (Use Cases)
- Identifikasi: objects, classes, operations
- Identifikasi: object relationships, object interations
Bangun model-model di dunia nyata menggunakan tampilan OO
Tujuan dari OOA
- Untuk memahami domain masalah
- Meningkatkan ketelitian, konsistensi, kelengkapan
Object-Oriented Design
- Model kebutuhan-kebutuhan yang dibuat pada fase analisis diperkaya dalan fase perancangan.
- Kadang-kadang ditambahkan lebih banyak lagi atribut dan pelayanan.
- Ditambahkan antarmuka obyek-obyek.
Object-Oriented Implementation
- Dikembangkan penggunaan sistem.
- Menggunakan bahasa pemrograman yang berorientasi obyek.
- Jika dibutuhkan, memberikan kaitan pada suatu sistem manajemen basisdata yang terpisah.
Object-Oriented Design
Memberikan blueprint untuk implementasi
- Menspesifikasi “HOW”
- Menspesifikasi: class definitions, class categories
- Menspesifikasi: subsystems, system architectures
OOA + Rincian Implementasi
Tujuan dari OO Design
- Mengoptimalkan maintainability, reusability, enhancebility dan reliability
- Orientasi obyek cocok untuk proses evolusioner dengan pendekatan penggunaan kembali komponen-komponen sistem.
- Rekayasa perangkat lunak OO menekankan penggunaan ulang kelas-kelas dalam pustaka.
- Bila suatu kelas tidak ada pada pustaka, maka perekayasa perangkat lunak meangaplikasikan analisis berorientasi obyek (OOA), perancangan berorientasi obyek (OOD), pemrograman berorientasi obyek (OOP) dan pengujian berorientasi obyek (OOT).
CIRI-CIRI DARI PERANCANGAN BERORIENTASI OBYEK
- Karena komunikasi antara obyek dilakukan melalui pegerakan pesan maka data yang digunakan bersama oleh beberapa obyek akan kecil sehingga mengurangi ketergantungan (minimum coupling).
- Obyek adalah terpadu (cohesive) dan tak tembus dari luar, sehingga seluruh informasi dalam obyek terlindungi terhadap akses dari luar obyek yang tidak dikehendaki.
- Obyek dapat dimodifikasi tanpa mempengaruhi operasi dari obyek-obyek yang lain, sehingga dapat meningkatkan kemampuan pemeliharaan sistem.
Pertanyaan
Mengapa walaupun sudah ada Perancangan Berorientasi Object (OOD), Perancangan Fungsional masih tetap digunakan ?
Perancangan Fungsional tetap digunakan karena:
- Beberapa domain permasalahan lebih baik digambarkan dalam bentuk fungsional dari pada obyek.
- Sudah banyak metoda dan standard yang dikembangkan untuk mendukung perancangan berorientasi kepada fungsi ini.
- Sudah banyak pengalaman yang dilakukan dengan perancangan berorientasi fungsi.
- Perancangan berorientasi fungsi menjadi komplemen (pelengkap) dari perancangan berorientasi obyek.
Pertanyaan
Bagaimana keunggulan dari perancangan berorietasi-obyek dalam memecahkan masalah perancangan perangkat lunak ?
Kelebihan OOD
Penggunaan kembali Obyek-obyek
- Obyek-obyek yang dirancang baik dapat digunakan dan ditambahkan ke proyek-proyek lain.
- Obyek dapat ditambah dengan inheritance.
Keluwesan dan Reliabilitas
- Penggunaan obyek-obyek yang sudah teruji.
- Encapsulation mencegah kesalahan penggunaan data oleh modul yang lain dan membantu melokalisasi kesalahan (bugs) yang terjadi.
Pengembangan dan Standarisasi
- Obyek-obyek dapat digunakan kembali dengan karakteristik standar.
Produktivitas
- Meningkatkan kecepatan pengembangan perangkat lunak.
- Pengalaman: OOD meningkatkan kecepatan pengembangan sekitar faktor 10 kali.
Jumlah 0 komentar
Silahkan Berkomentar Dengan Selalu Mengikuti Peraturan. Kunjungi http://bit.ly/KomentarWU untuk mengetahui Kebijakan Komentar WowUniknya.net