MDA - Part 1

Tulisan mengenai MDA ini akan dibagi ke dalam beberapa bagian. Bagian pertama ini adalah pengantar MDA. Tulisan ini adalah bagian dari Tesis Magister penulis di bidang Rekayasa Perangkat Lunak.
Model-Driven Architecture
Model-Driven Architecture (MDA) adalah visi dari OMG (Object Management Group) untuk pembangunan sistem yang menekankan pada integrasi, portabilitas dan guna ulang (reuse). MDA memfokuskan pada pemisahan spesifikasi fungsionalitas sebuah sistem dengan spesifikasi implementasi dari fungsionalitas tersebut pada sebuah platform teknologi tertentu [1]. MDA dan standard-standard yang mendukungnya memungkinkan sebuah model yang menspesifikasikan suatu sistem dapat direalisasikan ke dalam banyak platform.
MDA dapat dipandang sebagai kerangka kerja (framework) dalam proses pembangunan perangkat lunak. Fokus dari MDA adalah pentingnya model dalam proses pembangunan perangkat lunak. Pada MDA, proses pembangunan perangkat lunak disetir (drive) oleh aktivitas pemodelan sistem perangkat lunak [2].
Siklus hidup pembangunan dengan MDA berbeda dengan siklus hidup pembangunan tradisional dalam hal artifak yang dihasilkan selama proses pembangunan. Pada MDA, artifak yang dihasilkan adalah berupa model (Gambar 1 (b)), berbeda dengan yang dihasilkan oleh pembangunan secara tradisional (Gambar 1 (a)). Ada tiga macam model yang dihasilkan dalam proses pembangunan dengan MDA, yaitu:
  1. Platform Independent Model (PIM)
    Model pertama yang didefinisikan oleh MDA adalah sebuah model dengan abstraksi tingkat tinggi yang bebas (independent) terhadap teknologi implementasi. Model ini disebut dengan Platform Independent Model (PIM).
  2. Platform Specific Model (PSM)
    Pada langkat berikutnya, PIM ditransformasikan ke dalam satu atau lebih Platform Specific Model (PSM). Sebuah PSM dibuat untuk menspesifikasikan sistem dalam kaitannya dengan konstruksi implementasi yang tersedia pada sebuah teknologi implementasi tertentu. Sebagai contoh, PSM EJB adalah sebuah model dari sistem dalam lingkup struktur EJB, biasanya terdiri dari home interface, entity bean, session bean dan lain sebagainya.
  3. Kode
    Langkah terakhir dalam pembangunan adalah transformasi masing-masing PSM menjadi kode.

Gambar 1 Siklus Hidup Pembangunan Perangkat Lunak
Perbedaan siklus hidup pembangunan dengan MDA dan tradisional berikutnya adalah dalam hal hubungan antara artifak dengan kode program. Pada siklus hidup pembangunan tradisional, ketika tahapan pengkodean telah dimulai maka hubungan antara kode program dengan dokumen yang dihasilkan di tiga tahap sebelumnya (kebutuhan, analisis dan perancangan) mulai menghilang. Sedangkan pada siklus hidup pembangunan dengan MDA kode program dengan model-model pada tahap sebelumnya tetap memiliki keterkaitan yang erat.
MDA mendefinisikan PIM, PSM, dan kode, dan mendefiniskan juga bagaimana keterkaitannya di antara ketiganya. Sebuah PIM harus dibuat, kemudian ditransformasikan ke dalam satu atau lebih PSM, yang kemudian ditransformasikan menjadi kode. Langkah yang paling rumit dalam proses pembangunan dengan MDA adalah ketika sebuah PIM ditransformasikan ke dalam satu atau lebih PSM [2].
Tiga Langkah Utama dalam Proses Pembangunan Menggunakan MDA
Gambar 2 Tiga Langkah Utama dalam Proses Pembangunan Menggunakan MDA



Referensi:


  1. Model Driven Architecture (MDA), OMG Architecture Board ORMSC, 9 July 2001.
  2. Kleppe, A. et al. (2003), MDA Explained: The Model Driven Architecture™: Practice and Promise, Addison Wesley.

Komentar

Postingan populer dari blog ini

ANUGERAH KEBAIKAN (HARTA) UNTUK KEBAIKAN

Language Theory Humor

WHAT'S LEFT BEHIND?