Bahasa pemodelan perangkat lunak atau UML, diperkenalkan pertama kali pada tahun 1997, saat ini telah berkembang menjadi sebuah bahasa pemodelan yang baku di dalam sebuah pengembangan perangkat lunak yang menggunakan pendekatan berorientasi objek. Intensitas penggunaan UML yang tinggi didukung dengan semakin matangnya konsep pemodel yang dirumuskan dalam setiap rilis spesifikasi UML yang dikembangkan oleh Object Mangement Group (OMG). Ssampai pada tahun ini, OMG telah merilis 11 versi spesifikasi UML, yang terakhir adalah versi 2.5.1 yang termasuk dalam revisi UML 2.0. di sisi lain, pengembangan alat bantu untuk pemodelan dengan UML berkembang cukup pesat dan sebagiannya tergolong sebagai free software sehingga tersedia banyak pilihan bagi pengembang perangkat lunak untuk menggunakannya, antara lain : Star UML, Argo UML, UML Designer.

UML menyediakan banyak diagram yang diperlukan untuk menjelaskan sistem yang sedang dikembangkan, baik dari aspek statis maupun dinamisnya. Salah satu diagram penting yang digunakan untuk mengilustrasikan kebutuhan dari sistem adalah use case diagram, yang menjelaskan secara visual konteks dari interaksi antara aktor dengan sistem. Setiap use case menyatakan spesifikasi perilaku dari sistem yang sedang dijelaskan yang memang dibutuhkan oleh aktor untuk memenuhi tujuannya. Namun demikian, penjelasan detil dari interaksi yang terjadi antara aktor dan sitem, berkaitan dengan sebuah use case tertentu, harus dijelaskan secara deskriptif dalam sebuah use case scenario. Oleh karena itu, use case scenario dan use case diagram, yang dibutuhkan dalam pemodelan UC dari sebuah sistem, harus mampu menjelaskan fungsionalitas sistem secara lengkap dan valid.

Kelebihan UML dibandingkan dengan bahasa pemodelan yang lain, antara lain :

  1. Menyediakan bahasa pemodelan visual yang ekspresif dan siap pakai untuk mengembangkan dan pertukaran model-model yang berarti.
  2. Menyediakan mekanisme perluasan dan spesialisasi untuk memperluas konsep-konsep inti.
  3. Mendukung spesifikasi independen bahasa pemrograman dan proses pengnembangan tertentu.
  4. Menyediakan basis formal untuk bahasa pemodelan.
  5. Memadukan praktek-praktek terbaik di industri perangkat lunak menjadi terminologi dan notasi yang diterima luas.
  6. Menyediakan kemampuan merepresentasikan semua konsep yang relevan untuk sistem perangkat lunak.
  7. Menyediakan fleksibilitas yang diperlukan bagi konsep-konsep perangkat lunak yang baru.

Kamu merasa artikel ini menarik dan bermanfaat? Bagikan ke temanmu sekarang yuk!