UML (Unified Modeling Language) sebagai bahasa standar pemodelan visual (Visual Modeling) dalam rekayasa perangkat lunak memberikan cara standar untuk menggambar cetak biru (Blue Print) yang dibangun, penggunaan UML berdampak pada peningkatan produktifitas dan kualitas sehingga dapat mengurangi biaya dan waktu. Kerumitan dari segi arsitektural perangkat lunak yang dibangun juga dapat diatasi dengan menggambarkan Blue Print dari perangkat lunak tersebut.
Definisi UML menurut Suhendar A, Gunadi, Hariman (2002) dalam bukunya yang berjudul Visual Modeling Menggunakan UML dan Rational Rose adalah sebagai berikut :
”Unified Modeling Language adalah sebuah bahasa untuk menentukan Visualisasi, konstruksi dan medokumentasikan artifak dari sistem software untuk memodelkan proses bisnis dan sistem non
software lainya”.
“Unified Modeling Language merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam memodelkan sistem yang besar dan kompleks”.
“Artifak adalah sepotong informasi yang besar dan kompleks atau dihasilkan dalam suatu proses rekayasa software. Artifak dapat berupa model deskripsi, atau software”.
UML merupakan salah satu bahasa yang banyak digunakan didunia industri untuk mendefinisikan requirement, membuat analisis dan desain serta menggambarkan arsitektur dalam pemrograman berorientasi objek. UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodelogi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodelogi berorientasi objek.
Tujuan utama UML adalah sebagai berikut :
- Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
- Menyediakan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa.
- Menyatukan praktik-praktik terbaik yang terdapat dalam pemodelan.
Pada UML 2.3 terdiri dari 13 diagram yang dikelompokkan dalam tiga kategori yaitu :
- Structure diagrams Merupakan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan.
- Behavior diagrams Kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.
- Interaction diagrams Kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antar subsistem pada suatu sistem.