UML (Unified Modeling Language )
UML
(Unified Modeling Language )
A.
UML adalah sekumpulan alat yang
digunakan untuk melakukan abstraksi terhadap sebuah sistem atau perangkat lunak
berbasis objek. UML merupakan singkatan dari Unified Modeling Language. UML
juga menjadi salah satu cara untuk mempermudah pengembangan aplikasi yang
berkelanjutan. Aplikasi atau sistem yang tidak terdokumentasi biasanya dapat
menghambat pengembangan karena developer harus melakukan penelusuran dan
mempelajari kode program. UML juga dapat menjadi alat bantu untuk transfer ilmu
tentang sistem atau aplikasi yang akan dikembangkan dari satu developer ke
developer lainya. Tidak hanya antar developer terhadap orang bisnis dan
siapapun dapat memahami sebuah sistem dengan adanya UML.
UML diciptakan oleh
Object Management Group yang diawali dengan versi 1.0 pada Januari 1997. Dalam
pengembangan berorientasi objek ada beberapa prinsip yang harus dikenal:
·
Object
·
Class
·
Abstraction
·
Encapsulation
·
Inheritance
·
Polymorphism
Dalam UML sendiri terdapat beberapa diagram yang wajib
dikuasai yaitu:
Structural
Diagram
Class Diagram, diagram
ini terdiri dari class, interface, association, dan collaboration. Diagram ini
menggambarkan objek - objek yang ada di sistem.
Object Diagram, diagram
ini menggambarkan hasil instansi dari class diagram. Diagram ini digunakan
untuk membuat prototype
Component Diagram,
diagram ini menggambarkan kumpulan komponen dan hubungan antar komponen.
Komponen terdiri dari class, interface, atau collaboration
Deployment Diagram,
diagram ini menggambarkan kumpulan node dan hubungan antar node. Node adalah
entitas fisik dimana komponen di-deploy. Entitas fisik ini dapat berupa server
atau perangkat keras lainnya.
Behavioral
Diagram
Use case Diagram, diagram
ini menggambarkan kumpulan use case, aktor, dan hubungan mereka. Use case
adalah hubungan antara fungsionalitas sistem dengan aktor internal/eksternal
dari sistem.
Sequence Diagram, diagram
ini menggambarkan interaksi yang menjelaskan bagaimana pesan mengalir dari
objek ke objek lainnya.
Collaboration Diagram,
diagram ini merupakan bentuk lain dari sequence diagram. Diagram ini
menggambarkan struktur organisasi dari sistem dengan pesan yang diterima dan
dikirim.
Statechart Diagram,
diagram ini menggambarkan bagaimana sistem dapat bereaksi terhadap suatu
kejadian dari dalam atau luar. Kejadian (event) ini bertanggung jawab terhadap
perubahan keadaan sistem.
Activity Diagram,
menggambarkan aliran kontrol sistem. Diagram ini digunakan untuk melihat
bagaimana sistem bekerja ketika dieksekusi.
UML umum digunakan di
dunia kerja dan dunia pendidikan. Dunia kerja menggunakan UML untuk
menggambarkan sistem dan aplikasi berbasis objek yang sudah ada sebelumnya atau
merancang sistem dan aplikasi di awal pengembangan sebelum memasuki tahap
coding. Beberapa posisi pekerjaan yang sering bersinggungan dengan UML antara
lain system analyst, software architect, dan technical writer. System analyst
selain perlu memiliki kemampuan coding, sudah tentu wajib menguasai UML, jika
akan mengembangkan aplikasi atau sistem berbasis objek agar dapat menjadi acuan
formal bagi para developer yang bekerja sama dengannya. Tidak hanya itu system
analyst pun terkadang dituntut untuk menguasai pembuatan diagram lain seperti
data flow diagram, flowchart, entity relationship diagram, dan lainnya.
Sedangkan UML menjadi kemampuan wajib bagi seorang technical writer. Pekerjaan
di posisi ini cukup banyak dibutuhkan oleh beberapa perusahaan yang kesulitan
dalam membuat dokumentasi sistem atau aplikasi yang mereka kembangkan. Selain
membuat user guide, technical writer diperlukan untuk membangun keseluruhan
dokumentasi dalam UML dari aplikasi atau sistem, sehingga keberadaannya dapat
menambah nilai aplikasi menjadi lebih tinggi.
UML pun digunakan sebagai
alat dalam beberapa mata kuliah di perguruan tinggi yang membuka jurusan ilmu
komputer, teknik informatika, sistem informasi, manajemen informatika, dan
komputerisasi akuntansi. Mata kuliah yang biasa diberikan bernama Metodologi
Berorientasi Objek dan Pemrograman Berorientasi Objek. Bahasa pemrograman yang
digunakan umumnya Java, C#, dan PHP, kemudian mahasiswa akan mempelajari juga
bagaimana merancang sebuah sistem atau aplikasi menggunakan UML terhadap suatu
kasus dan membuat aplikasinya ketika memasuki tahap coding. Tidak hanya sebatas
kuliah, beberapa perguruan tinggi yang mempunyai jurusan informatika, kadang
mewajibkan penggunaan UML untuk digunakan sebagai alat bantu di skripsi, tesis,
dan disertasi. Karena tidak semua akademisi dapat membaca semua kode program
yang datang dari berbagai bahasa pemrograman, maka UML menjadi sarana untuk memahami
aplikasi dan sistem yang dikembangkan akademisi lainnya.
Berikut ini adalah
beberapa alat yang membantu kita untuk menggunakan UML disebut dengan CASE
(computer aided software engineering). Ada beberapa CASE yang umum digunakan
oleh para profesional yang menggunakan UML, diantaranya:
·
Sybase Power Designer
·
Rational Rose
·
Microsoft Visio
·
Enterprise Architect
Ada juga beberapa CASE
yang open source dan dapat digunakan secara bebas tanpa terbentur dengan
masalah pembayaran lisensi seperti berikut:
·
StarUML
·
DIA Diagram Editor
·
Umbrello
·
ArgoUML
·
Software Ideas Modeller
Eclipse
UML2
Beberapa alat yang
berbayar mempunyai kemampuan untuk melakukan forward engineering dan reverse
engineering. Forward engineering adalah sebuah fitur dari suatu CASE dimana UML
yang telah dirancang dapat menghasilkan kode program yang akan menjadi pijakan
dan panduan untuk mengawali pengembangan aplikasi. Sehingga koherensi antara
aplikasi dan UML dapat terjaga. Reverse engineering adalah fitur dimana suatu
CASE dapat membaca kode program dan menghasilkan UML dari kode program yang
telah ada atau sedang dibuat.
0 coment�rios