Ibrahim’s Blog

12 Mar, 2007

MDA - Part 1

Posted by: Ibrahim In: Articles| Thesis

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.

Siklus Hidup Pembangunan Perangkat Lunak
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.

9 Responses to "MDA - Part 1"

1 | Yunia Raventi INDONESIA Windows XP Mozilla Firefox 2.0.0.8

December 3rd, 2007 at 14:53

Avatar

Selamat Pagi, saya mau tanya , Siklus hidup pembangunan tradisional di sini yang seperti apa ya? kemudian, dimana saya bisa mendapatkan contoh dokumentasi pembangunan aplikasi dengan MDA. Terima kasih.

2 | Ibrahim INDONESIA Windows XP Mozilla Firefox 2.0.0.11

December 3rd, 2007 at 15:17

Avatar

Silakan lihat gambar 1 di atas dan di buku-nya Kleppe, MDA Explained: The Model Driven Architectureâ„¢: Practice and Promise, Addison Wesley.

Contoh dokumentasi pembangunan perangkat lunak dengan MDA tidak berbeda dengan pendekatan lain bahkan tingkat abstraksi-nya lebih tinggi, tidak detail sampai ke impelementasi pada platform teknologi tertentu.

Silakan kunjungi: http://www.omg.org/mda

3 | toni INDONESIA Windows XP Mozilla Firefox 2.0.0.11

January 17th, 2008 at 18:05

Avatar

Sebenarnya yang paling susah dari sebuah alur dalam perangkat lunak adalah proses transisi - maksud saya proses mengaitkan antara kebutuhan pengguna & kemampuan teknis dari programmer.

Sorry komentnya gak nyambung sama topik diatas, soalnya saya lebih senang mempelajari hal praktis dalam pengembangan, semacam konsep “Extreme Programming”, karena menurut saya proses ideal dari alur pembangunan perangkat lunak sendiri kadang kala merupakan proses yang hanya berlaku di 2 lingkungan, lingkungan pendidikan dan para pembuat software besar. Walau tidak dipungkiri keberadaan proses pengembangan PL yang dilakukan sebenarnya akan mempermudah dalam pengembangan sebuah PL menjadi lebih powerfull. Sorry kalo sok tahu :-)

Salam kenal ;-)

4 | Ian INDONESIA Linux Mozilla Firefox 1.5.0.12

September 24th, 2008 at 12:11

Avatar

Selamat [pagi|siang|sore]…

Saya sangat tertarik dengan MDA yang telah dijelaskan oleh anda diatas, kebetulan saya baru mempelajarinya. Ada beberapa hal yang saya ingin tanyakan, seperti :
1. Apakah benar MDA dapat membuat source code tanpa coding?
2. Apakah MDA memerlukan tool lain dalam melakukannya?

thx…
maaf agak sok tau…
mungkin anda punya tutorial tentang AndroMDA?
terima kasih banyak…

5 | Ibrahim INDONESIA Windows XP Mozilla Firefox 3.0.1

September 24th, 2008 at 13:30

Avatar

1. Secara konsep memungkinkan, karena source code bisa dipandang sebagai model juga. Contoh sederhana: membuat source code dari diagram class, membuat script DDL SQL dari ER Diagram, dll.

2. MDA adalah konsepnya, tool adalah hasil dari implementasi konsep. Salah satu tool yang saya buat adalah untuk mentransformasi model. Tool untuk mengubah dari satu model ke model lain, contoh: dari UML ke model Java, UML ke ERD.

Saya tidak punya tutorial AndroMDA, anda bisa langsung ke websitenya, karena saya tidak memakain AndroMDA. Saya membuat tool sendiri untuk transformasi model.

6 | Ian INDONESIA Windows Vista Mozilla Firefox 3.0

September 24th, 2008 at 22:15

Avatar

Terima kasih atas penjelasan anda.

Saya benar2 tertarik dengan tool yang anda buat, jika anda tidak berkeberatan bolehkah saya meminta tool yang anda buat?ato sedikit contoh dari tool yang anda buat dari pertama model hingga menjadi source code?

Oya apakah tool anda memakai cartridge tertentu?

7 | Ian INDONESIA Windows Vista Mozilla Firefox 3.0

September 24th, 2008 at 22:35

Avatar

Maaf sebelumnya, saya memakai 2 email. Keduanya email milik saya dan keduanya masih aktif. thx

8 | Ibrahim INDONESIA Windows XP Mozilla Firefox 3.0.1

September 25th, 2008 at 08:12

Avatar

@Ian
Mohon maaf saya belum membuka (meng-open source-kan) kode sumber tools saya.
Tapi saya dapat memberikan petunjuk bagaimana proses kerja dan referensi untuk membuat tools tersebut.

9 | Ian INDONESIA Windows Vista Mozilla Firefox 3.0

September 25th, 2008 at 09:25

Avatar

Terima kasih banyak atas bantuan anda,,dimohon penjelasan,,

Comment Form


  • anti: eh maaf kayanya saya salah orang. saya kira anda kakak kelas saya. ternyata pas cek di about nya bukan. maaf ya.. ibrahim:
  • anti: kak baimmm interview di INCO ya?? udah di ambil aja. Sorowako itu indah banget.. nget.. nget. Hidup disana tenang damai aman sentosa. Ngga tau si buat
  • Ibrahim: Maksudnya bahasa ASCII? mungkin maksudnya karakter ASCII. Kalau di windows bisa dilihat dengan memakai aplikasi Character Map (charmap.exe). Untuk p

Flickr PhotoStream

  • Kawah Putih
  • Kawah Putih
  • IMG_0456
  • IMG_0463

About

Blog ini adalah sebagai ruang menumpahkan rasa, pikir dan aksi dari seorang yang mencoba melakukan perubahan.

 

March 2007
M T W T F S S
« Feb   May »
 1234
567891011
12131415161718
19202122232425
262728293031  

  • Pages displayed : 4160
  • Unique visitors : 2280
  • Pages displayed in last 24 hours : 73
  • Unique visitors in last 24 hours : 44
FireStats icon Powered by FireStats