Selasa, 01 September 2009

Pengenalan tentang "Object-Oriented Systems Analysis and Design Approach"

Pada kesempatan ini, saya akan membahas mengenai salah satu pendekatan dalam melakukan pengembangan Rekayasa Perangkat Lunak (Software Engenering), yaitu pendekatan yang dinamakan "Object-Oriented Systems Analysis and Design" atau disingkat dengan OOSAD.

Mungkin kita sudah sering mendengar tentang metodologi-metodologi untuk melakukan pengembangan rekayasa perangkat lunak, seperti: System Development Life Cycle atau juga disebut dengan metodologi Waterfall; Rapid Appication Development (RAD); dan Agile Development (Extreme Programming).

Tujuan semua metodologi pegembangan sistem di atas adalah sama, yaitu membuat perangkat lunak yang sesuai dengan kebutuhan-kebutuhan (requirements) pengguna. Seiring dengan perkembangan zaman, dunia bisnis saat ini tidak dapat dipisahkan lagi dari kebutuhan TI, khususnya perangkat lunak. TI tidak lagi dipandang hanya sebagai pendukung, akan tetapi TI telah dianggap bagian strategi bisnis, yaitu menjadi garis depan layanan bagi konsumen. Dengan kata lain, kebutuhan pengambangan perangkat lunak sudah semakin kompleks. Oleh karena tuntutan tersebut, diperlukan suatu cara pengembangan sistem informasi untuk mengatasi kompleksitas kebutuhan.

Dari semua metodologi yang sudah saya sebutkan di atas (traditional approaches), saat ini sudah semakin tidak relevan menggunakan semua methodologi tersebut untuk mengatasi kompleksitas sistem. Sehingga dibutuhkan suatu pendekatan baru, maka muncullah suatu pendekatan yang disebut "Analisis dan Desain Sistem Berbasis Object". Perbedaan mencolok antara pendekatan tradisional dengan pendekatan berorientasi object terletak pada saat dilakukannya pendekomposisian permasalahan. Pada pendekatan tradisional, permasalahan didekomposisikan menjadi proses, yaitu process-centric atau data-centric. Pada saat memodelkan real-world system, kenyataanya proses dan data merupakan dua komponen yang sangat berkaitan, sehingga kita akan kesulitan untuk memilih salah satu yang menjadi fokus utama racangan.

OOSAD berusaha menyeimbangkan antara proses dan data dengan cara memfokuskan dekomposisi dari permasalahan-permasalahan menjadi object-object yang di dalamnya terkandung data dan proses-proses. Sehingga diharapkan, kesenjangan keterfokusan antara data atau proses dapat dihindari, dan memudahkan kita untuk memecahkan kompleksitas permasalahan menjadi bagian-bagian yang lebih kecil cakupan permasalahannya.

Menurut Grady Booch, Ivar Jacobson, dan James Rumbaugh, pengambangan sistem informasi dengan menggunakan pendekatan OOSAD harus mengikuti beberapa hal berikut, yaitu:

1. Use-Case Driven
Maksud dari use-case driven adalah, bahwa use cases merupakan alat pemodelan utama untuk mendefinisikan perilaku dari sistem. Use cases digunakan untuk mengidentifikasi dan mengkomunikasikan kebutuhan-kebutuhan sistem dengan semua programmer yang bertugas menulis code program.

2. Architecture Centric
Maksud dari architecture-centric adalah, bahwa pembangunan arsitektur sistem informasi harus didasarkan pada spesifikasi, konstruksi, dan dokumentasi dari sistem. Arsitektur tersebut setidaknya harus mendukung tiga sudut pandang, yaitu:
  • Sudut pandang fungsional: merupakan tingkah laku eksternal dari sistem menurut perspektif pengguna.
  • Sudut pandang statis: merupakan struktur dari sistem yang terdiri dari: atribut, method, kelas, dan relationship.
  • Sudut pandang dinamis: merupakan tingkah laku internal sistem yang berupa lintas pertukaran pesan antar object.
3. Iterative and Incremental
Maksud dari iterative and incremental adalah, bahwa aktifitas analisis dan desain sistem informasi dilakukan secara iterasi (berulang) dan berkesinambungan (sedikit-demi-sedikit). Tujuannya adalah untuk memudahkan development untuk melakukan continuous testing dan perbaikan-perbaikan selama proyek berlangsung.

Mungkin demikian pembahasan saya tentang pengenalan pendekatan OOSAD. Mudah-mudahan penjelasan di atas berguna bagi kita semua.

Tidak ada komentar:

Posting Komentar