Apa itu Unified Modeling Language (UML)?

Unified Modeling Language (UML) adalah sebuah notasi standar yang digunakan untuk memodelkan objek dunia nyata sebagai langkah awal dalam merancang sistem berorientasi objek. Notasi ini merupakan hasil gabungan dari tiga metodologi desain dan analisis berorientasi objek, yaitu:

  • Grady Booch dengan pendekatan pemodelan objek dan relasinya.
  • James Rumbaugh dengan teknik object-modeling untuk perancangan perangkat lunak.
  • Ivar Jacobson dengan pendekatan rekayasa perangkat lunak berorientasi objek yang berfokus pada use case.

Pada tahun 1994, ketiganya bergabung dalam proyek UML di bawah sponsor Rational Software. Mereka mengintegrasikan metodologi masing-masing serta ide dari sumber lain.

Pada tahun 1997, Object Management Group (OMG) mengadopsi UML sebagai standar resmi dan merilis versi 1.1 di bulan Desember tahun yang sama. OMG juga menaungi standar lain seperti Business Process Management Plus, CORBA, MetaObject Facility, dan Information Exchange Framework.

UML kemudian diakui oleh ISO pada tahun 2005 sebagai standar resmi internasional. Versi terbaru saat ini adalah 2.5.1 yang dirilis pada Desember 2017.

Diagram UML

UML menyediakan cara atau metode untuk membuat diagram yang merepresentasikan berbagai aspek dari desain sebuah sistem. Diagram ini membantu tim proyek untuk berdiskusi, berbagi ide, dan mendesain perangkat lunak secara kolaboratif.

Secara umum, UML memiliki 14 jenis diagram yang dibagi menjadi dua kategori utama: structural dan behavioral. Salah satu subset dari behavioral adalah interaction diagrams. Gambar di bawah ini menunjukkan bagaimana kategori diagram UML dibagi.

Ilustrasi kategori diagram UML
Gambar 1. Diagram ini memperlihatkan bagaimana UML mengelompokkan tipe diagram ke dalam grupnya masing-masing.

Diagram Struktur (Structural)

Diagram struktur menjelaskan bagaimana bentuk statis dari sebuah sistem, termasuk hubungan antar entitas. Berikut 7 jenis diagram struktural UML:

  1. Class. Menunjukkan struktur sistem melalui kelas, atribut, method, dan relasi antar kelas.
  2. Component. Menampilkan komponen sistem (misalnya library atau executable) dan relasinya.
  3. Object. Snapshot dari struktur kelas pada waktu tertentu, menunjukkan instance dan struktur datanya.
  4. Profile. Memperlihatkan bagaimana sistem bisa diperluas menggunakan stereotype, tagged values, dan constraints.
  5. Composite structure. Menjelaskan struktur internal dari suatu kelas dan cara berinteraksinya, baik internal maupun eksternal.
  6. Deployment. Menjelaskan bagaimana artefak perangkat lunak disebarkan ke dalam perangkat keras fisik.
  7. Package. Menampilkan package atau kumpulan elemen UML serta dependensi antar package.

Diagram Perilaku (Behavioral)

Diagram ini lebih fokus ke aspek dinamis sistem: bagaimana elemen sistem berubah dari waktu ke waktu dan berinteraksi saat menjalankan suatu aksi.

  1. Activity. Menjelaskan workflow atau alur kerja dalam sistem menggunakan diagram alur.
  2. Use case. Memperlihatkan fungsionalitas sistem dan bagaimana aktor (pengguna) berinteraksi melalui skenario tertentu.
  3. State machine. Menggambarkan perubahan status sebuah elemen sepanjang siklus hidupnya.

Diagram Interaksi

Merupakan subset dari diagram perilaku, diagram interaksi fokus pada komunikasi antar objek.

  1. Sequence. Menggambarkan urutan pesan yang dikirim antar objek dalam suatu aktivitas.
  2. Communication. Mirip dengan sequence diagram, namun lebih menekankan pada relasi/interaksi daripada urutannya.
  3. Interaction overview. Menunjukkan alur kontrol dari interaksi antar entitas sistem secara garis besar.
  4. Timing. Memperlihatkan urutan serta waktu dari sebuah kejadian dalam kurun waktu tertentu berdasarkan perilaku objek.

UML tidak mengatur bagaimana diagram tersebut harus dibuat. UML hanya menyediakan sintaks dan struktur yang seragam. Jadi, kamu bebas membuatnya dengan cara apa pun — bisa dengan menggambar di papan tulis, menggunakan kertas, software seperti Microsoft Visio, atau pakai tool online seperti Gliffy.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *