Unified Modeling Language (
UML) adalah bahasa
spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun
sistem
perangkat lunak.
Diagram berbentuk grafik yang menunjukkan simbol elemen model yang
disusun untuk mengilustrasikan bagian atau aspek tertentu dari sistem. Sebuah
diagram merupakan bagian dari suatu view tertentu dan ketika
digambarkan biasanya dialokasikan untuk view tertentu. UML menyediakan 10 macam diagram untuk
memodelkan aplikasi berorientasi objek, yaitu:
- Use Case Diagram untuk memodelkan proses bisnis.
- Conceptual Diagram untuk memodelkan konsep-konsep
yang ada di dalam aplikasi.
- Sequence Diagram untuk memodelkan pengiriman
pesan (message) antar objects.
- Collaboration Diagram untuk memodelkan interaksi antar
objects.
- State Diagram untuk memodelkan perilaku objects
di dalam sistem.
- Activity Diagram untuk memodelkan perilaku Use
Cases dan objects di dalam system.
- Class
Diagram untuk
memodelkan struktur kelas.
- Object Diagram untuk memodelkan struktur object.
- Component Diagram untuk memodelkan komponen object.
- Deployment Diagram untuk memodelkan distribusi
aplikasi.
1. Use Case
Diagram
case adalah abstraksi dari
interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan
tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui
sebuah cerita bagaimana sebuah system dipakai. Use casemerupakan konstruksi
untuk mendeskripsikan bagaimana system akan terlihat di mata user. Sedangkan
use case diagram memfasilitasi komunikasi diantara analis dan pengguna serta
antara analis dan client.
2. Class Diagram
Class adalah dekripsi kelompok
obyek-obyek dengan property, perilaku (operasi) dan relasi yang sama. Sehingga
dengan adanya class diagram dapat memberikan pandangan global atas sebuah
system. Hal tersebut tercermin dari class- class yang ada dan relasinya satu
dengan yang lainnya. Sebuah sistem biasanya mempunyai beberapa class
diagram. Class diagram sangat membantu dalam visualisasi struktur kelas
dari suatu system.
3. Component
Diagram
Component software merupakan
bagian fisik dari sebuah system, karena menetap di komputer tidak berada di
benak para analis. Komponent merupakan implementasi software dari sebuah atau
lebih class. Komponent dapat berupa source code, komponent biner,
atau executable component. Sebuah komponent berisi informasi tentang logic
class atau class yang diimplementasikan sehingga membuat pemetaan
dari logical view ke component view.Sehingga component diagram
merepresentasikan dunia riil yaitu component software yang mengandung
component, interface dan relationship.
4. Deployment
Diagram
Menggambarkan tata letak sebuah
system secara fisik, menampakkan bagian-bagian software yang berjalan pada
bagian-bagian hardware, menunjukkan hubungan komputer dengan perangkat (nodes)
satu sama lain dan jenis hubungannya. Di dalam nodes,executeable
component dan object yang dialokasikan untuk memperlihatkan unit
perangkat lunak yang dieksekusi oleh node tertentu dan ketergantungan
komponen.
5.
State Diagram
Menggambarkan
semua state (kondisi) yang dimiliki oleh suatu object dari
suatu class dan keadaan yang menyebabkan state berubah.
Kejadian dapat berupa object lain yang mengirim pesan. State
class tidak digambarkan untuk semua class, hanya yang mempunyai
sejumlah state yang terdefinisi dengan baik dan
kondisi class berubah oleh stateyang berbeda.
6. Sequence
Diagram
Sequence Diagram digunakan
untuk menggambarkan perilaku pada sebuah scenario. Kegunaannya untuk
menunjukkan rangkaian pesan yang dikirim antara object juga interaksi
antaraobject, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem.
7.
Collaboration Diagram
Menggambarkan kolaborasi dinamis
sepertisequence diagrams. Dalam menunjukkan pertukaran
pesan, collaboration diagrams menggambarkan objectdan
hubungannya (mengacu ke konteks). Jika penekannya pada waktu atau urutan
gunakansequencediagrams, tapi jika penekanannya pada konteks
gunakan collaboration diagram.
8. Activity
Diagram
Menggambarkan rangkaian aliran
dari aktivitas, digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam
suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya
seperti use caseatau interaksi.
Tujuan Penggunaan UML
- Memberikan
bahasa pemodelan yang bebas dari berbagai bahas pemrograman dan proses
rekayasa.
- Menyatukan
praktek-praktek terbaik yang terdapat dalam pemodelan.
- Memberikan
model yang siap pakai, bahsa pemodelan visual yang ekspresif untuk
mengembangkan dan saling menukar model dengan mudah dan dimengerti secara
umum.
- UML bisa
juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat
lengkap dan detail. Dengan cetak biru ini maka akan bias diketahui
informasi secara detail tentang coding program atau bahkan membaca program
dan menginterpretasikan kembali ke dalam bentuk diagram (reserve
enginering).
Perangkat
lunak yang mendukung pembuatan diagaram UML
- StarUML (http://staruml.sourceforge.net/en/)
StarUML
adalah sebuah proyek open source untuk mengembangkan cepat, fleksibel,
extensible, featureful, dan bebas-tersedia UML / platform MDA berjalan pada
platform Win32.Tujuan dari proyek StarUML adalah untuk membangun sebuah alat
pemodelan perangkat lunak dan juga platform yang menarik adalah pengganti alat
UML komersial seperti Rational Rose, Bersama dan sebagainya
Acceleo
adalah generator kode yang mengubah model menjadi kode. Acceleo mudah
digunakan dan menyediakan “dari rak” generator (Jee,. Bersih, Php …) dan
template editor untuk Eclipse.
ArgoUML
adalah open source UML modeling tool terkemuka dan termasuk dukungan untuk
semua diagram UML standar 1,4. Ini berjalan pada setiap platform Java dan
tersedia dalam bahasa sepuluh. ArgoUML ditulis seluruhnya di Jawa dan
menggunakan Java Kelas Foundation.Hal ini memungkinkan ArgoUML untuk berjalan
di hampir semua platform.
http://ariefikhwan.web.ugm.ac.id/?tag=pengertian-uml