09 Desember 2011

Pengantar Unified Modelling Language (UML)

Unified Modelling Language (UML) adalah sebuah “bahasa” yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax /semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). Sejarah UML sendiri cukup panjang. Sampai era tahun 1990 seperti kita ketahui puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch [1], metodologi coad [2], metodologi OOSE [3], metodologi OMT [4], metodologi shlaer-mellor [5], metodologi wirfs-brock [6], dsb. Masa itu terkenal dengan masa perang metodologi ( method war ) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan group/perusahaan lain yang menggunakan metodologi yang berlainan.

Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG – http://www.omg.org). Tahun 1997 UML versi 1.1 muncul, dan saat ini versi terbaru adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh dan Jacobson menyusun tiga buku serial tentang UML pada tahun 1999 [7] [8] [9]. Sejak saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi berorientasi objek.
Mengapa UML Penting ?

UML adalah hasil kerja dari konsorsium berbagai organisasi yang berhasil dijadikan sebagai standar baku dalam OOAD (Object Oriented Analysis & Design). 

UML memiliki tiga karakter penting yaitu sketsa, blue print, dan bahasa pemrograman.
  •       Sketsa, UML berfungsi sebagai jembatan dalam mengkomunikasikan beberapa aspek dari sistem, sehingga semua anggota memiliki gambaran yang sama tentang sistem yang dibuat.
  •        Blue Print, akan dapat diketahui informasi detail tentang coding program (forward engineering) dan menginterpretasikannya kembali ke dalam diagram (reverse engineering).
  •         Bahasa Pemrograman, UML dapat menterjemahkan diagram yang ada di UML menjadi code program yang siap untuk dijalankan.

UML dibangun atas model 4+1 view, yang didasarkan pada fakta bahwa struktur sebuah sistem dideskripsikan dalam 5 view.
       1.     Use Case View, mendefinisikan perilaku eksternal sistem. Use Case view menjadi pusat peran dan sering dikatakan yang mengatur proses pengembangan perangkat lunak.
       2.     Design View, mendeskripsikan struktur logika yang mendukung fungsi-fungsi yang dibutuhkan di use case. Berisi komponen program, class-class utama dan spesifikasi data, perilaku dan interaksinya.
       3.     Implementation View, menjelaskan komponen-komponen fisik dari sistem yang akan dibangun. Termasuk di dalamnya adalah file exe, library dan database
       4.     Process View, berhubungan dengan hal-hal yang berkaitan dengan concurency di dalam sistem
        5.     Deployment View, menjelaskan bagaimana komponen-komponen fisik didistribusikan ke lingkungan fisik seperti jaringan komputer dimana sistem akan dijalankan.

Tidak ada komentar:

Posting Komentar