Langsung ke konten utama

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

USWAH HASANAH

...
.

لَّقَدْ كَانَ لَكُمْ فِى رَسُولِ ٱللَّهِ أُسْوَةٌ حَسَنَةٌۭ لِّمَن كَانَ يَرْجُوا۟ ٱللَّهَ وَٱلْيَوْمَ ٱلْءَاخِرَ وَذَكَرَ ٱللَّهَ كَثِيرًۭا


Sesungguhnya telah ada pada (diri) Rasulullah itu suri teladan yang baik bagimu (yaitu) bagi orang yang mengharap (rahmat) Allah dan (kedatangan) hari kiamat dan dia banyak menyebut Allah.(QS. Al-Ahzab [33]:21)


Ya Allah jadikan kami umat Rasul-Mu Muhammad SAW yang senantiasa meneladani beliau. Meneladani jalan kehidupan, jalan dakwah, dan jalan perjuangan Rasulullah SAW.
Dan jadikan apa-apa yang hamba dan keluarga hamba tinggalkan hanyalah kebaikan dan menjadi uswah kebaikan bagi yang akan datang.
..

Oracle Package untuk fungsi ‘terbilang’ (repost)

Contoh penggunaan:
SELECT PKG_DIGIT_SPELLER.ENGRupiah('12345') FROM DUALSELECT PKG_DIGIT_SPELLER.ENGRupiah('12345.56') FROM DUAL Hasil:
TWELVE THOUSAND THREE HUNDRED AND FOURTY-FIVE RUPIAHSTWELVE THOUSAND THREE HUNDRED AND FOURTY-FIVE RUPIAHS FIFTY-SIXCREATE OR REPLACE PACKAGE PKG_DIGIT_SPELLER IS /******************************************************************************* Nama Package : PKG_DIGIT_SPELLER Oleh : Ibrahim F Burhan (ibrahim@burhan.biz) Deskripsi : Menghasilkan ucapan bilangan dalam bahasa Indonesia dan Inggris Hak Cipta Oleh Ibrahim F Burhan (ibrahim@burhan.biz) 2000 Siapa saja diperkenankan untuk memakai, mengubah ataupun mengembangkan source code ini, dengan syarat tetap mencantumkan keterangan ini. Reposted from my archive (Mar 16, 2001) *******************************************************************************/ TYPE typeSpellString IS VARRAY(100) OF VARCHAR2(20); arrSpellString typeSpellStrin…

i-Zakat Privacy Policy

Privacy Policy built the i-Zakat app as a Free app. This SERVICE is provided by at no cost and is intended for use as is. This page is used to inform visitors regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service. If you choose to use my Service, then you agree to the collection and use of information in relation to this policy. The Personal Information that I collect is used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy. The terms used in this Privacy Policy have the same meanings as in our Terms and Conditions, which is accessible at i-Zakat unless otherwise defined in this Privacy Policy. Information Collection and Use For a better experience, while using our Service, I may require you to provide us with certain personally identifiable information. The information that I request will be retained on your device and is not col…