Kali ini kita akan membahas UML (Unified
Modeling Language). Sebelum masuk ke UML kita harus mengetahui apa itu
Modeling/Permodelan. Blog ini terdiri dari beberapa bagian yaitu modeling/permodelan,
pengertian UML, Sejarah UML, Konsep dasar UML, dan Tools yang mendukung UML. Selamat
membaca
Modeling/ permodelan
Menurut KBBI
model adalah pola (contoh, acuan, ragam, dan
sebagainya) dari sesuatu yang akan dibuat atau dihasilkan. Dapat kita artikan bahwa modeling adalah perancangan atau
gambaran dari sistem yang akan kita buat. Modeling
dilakukan sebelum tahap impelementasi (coding).
Modeling ini akan menghasilkan sebuah
Blueprint. Blueprint ini lah yang
akan digunakan untuk proses selanjutnya yaitu implementasi (coding). Ada beberapa kegunaan modeling, yaitu :
1.
Memberikan
pemodelan visual untuk mengembangkan dan saling tukar menukar model dengan
mudah dan dimengerti secara umum.
2.
Sebagai
panduan untuk mengontrol dan memahami arsitektur sistem yang dikembangkan.
3.
Kemungkinan
penyederhanaan dan re-use.
4.
Mengurangi
resiko.
Kesuksesan suatu pemodelan perangkat lunak (software) ditentukan oleh tiga unsur yang
dikenal dengan the triangle for success, ketiga unsur
ini adalah: Pemodelan (notation), Proses(Process), dan Tools yang digunakan.
Memahami notasi pemodelan(notation) tanpa mengetahui cara pemakaian yang sebenarnya (process) akan membuat proyek gagal. Pemahaman terhadap metode pemodelan dan proses disempurnakan dengan penggunaan tool yang tepat akan menghasilkan permodelan yang baik.
Memahami notasi pemodelan(notation) tanpa mengetahui cara pemakaian yang sebenarnya (process) akan membuat proyek gagal. Pemahaman terhadap metode pemodelan dan proses disempurnakan dengan penggunaan tool yang tepat akan menghasilkan permodelan yang baik.
Pengertian
UML
Unified Modelling Language
(UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri
untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan
sebuah standar untuk merancang model sebuah sistem. UML memberikan standar penulisan sebuah sistem blueprint, yang meliputi
konsep bisnis proses, penulisan kelas-kelas dalam bahasa program
yang spesifik, skema database, dan komponen-komponen yang diperlukan dalam software. Karena UML
juga menggunakan class dan operation dalam konsep dasarnya, maka UML tidak
hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung
dihubungkan ke berbagai bahasa pemograman,seperti JAVA, C++, Visual Basic, atau
bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database.
UML juga dapat digunakan untuk modeling
aplikasi prosedural dalam VB atau C. Begitu juga mengenai pendokumentasian
dapat dilakukan seperti; requirements,
arsitektur,design,source code, project plan,tests, dan prototypes.
Sejarah
UML
Pada Oktober 1994, Dr. James Rumbaugh
bergabung dengan Perusahaan Rational sotware, dimana Grady Booch sudah bekerja
disana sebelumnya. Grady Booch mengembangkan Object Oriented Design (OOD) dan
Dr. James Rumbaugh mengembangkan Object
Modeling Technique (OMT). Duet Mereka pada Oktober 1995 menghasilkan Unified Method versi 0.8. Musim gugur
1995 Dr. Ivar Jacobson ikut pula bergabung dengan duet Rumbaugh-Booch, dengan
memperkenalkan tool use case. Trio
tersebut pada bulan Juni 1996 menghasilkan Unified
Modeling Language (UML) versi 0.9. Sebelumnya Dr. Ivar Jacobson
mengembangkan Object Oriented Software
Engineering (OOSE). Trio ini mengembangkan Ratinal Unified Process (RUP) Banyak perusahaan software merasakan
bagaimana pentingnya UML dalam tujuan strategis mereka, sehingga beberapa
perusahaan membentuk sebuah konsorsium yang terdiri dari perusahaan-perusahaan
seperti :
Microsoft, Oracle, IBM, Hewlett-Packard,
Intellicorp, I-Logix, DEC, Digital Equipment Corp, dan Texas instrument. Dari hasil
proyek tersebut pada bulan Januari 1997 lahirlah UML versi 1.0
Pada bulan September 1997 lahirlah UML
versi 1.1, dengan 8 buah diagram, yaitu
:
·
Use case
diagram
·
Activity
Diagram
·
Sequence
diagram
·
Collaboration
diagram
·
Class diagram
·
Statechart
diagram
·
Component
diagram
·
Deployment
diagram
Pada bulan November 1997 sebuah
organisasi non profit standarisasi Object
Management Group (OMG) mengakui UML sebagai sebuah bahasa pemodelan standar
untuk aplikasi object oriented.
OMG didirikan pada bulan April 1989
oleh sebelas perusahaan software, dengan kantor pusat di Needham, MA, USA.
(www.omg.org) Pada tahun 1999 lahirlah UML versi 1.3, menjadi 9 buah diagram,
dengan penambahan : Business use case
Diagram. Pada May 2001 lahirlah UML versi 1.4, menjadi 10 buah diagram,
dengan penambahan : Object Diagram. Dan
pada tahun 2002 lahirlah UML versi 2.0, menjadi 13 buah diagram, dengan
penambahan dan penggantian yaitu :
·
Use Case
Diagram
·
Activity
Diagram
·
Sequence
Diagram
·
Communication
Diagram (Collaboration diagram in versi 1.x)
·
Class Diagram
·
State Machine
Diagram (Statechart diagram in versi 1.x)
·
Component
Diagram
·
Deployment
Diagram
·
Composite
Structure Diagram
·
Interaction
Overview Diagram
·
Object Diagram
·
Package Diagram
·
Timing Diagram
Konsep
dasar UML
Untuk dapat memahami Diagram UML dengan
baik maka dibutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3
(tiga) elemen utama dari Diagram UML yaitu building
block. Aturan-aturan yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme
umum (common). Tiga macam yang
terdapat dalam building block adalah
:
a.
Benda/Things
Adalah
abstraksi yang pertama dalam sebuah model. Juga merupakan bagian paling statik
dari sebuah model, serta menjelaskan elemen-elemen lainnya dari sebuah konsep
dan atau fisik Benda/ things memiliki
berbagai bentuk, yaitu :
·
Classes: yang
diuraikan sebagai sekelompok dari object yang mempunyai atribute, operasi, hubungan yang semantik. Sebuah kelas
mengimplementasikan 1 atau lebih interfaces.
Sebuah kelas dapat digambarkan sebagai sebuah persegi panjang, yang mempunyai
sebuah nama, atribute, dan metoda pengoperasiannya.
·
Interfaces: merupakan
sebuah antar-muka yang menghubungkan dan melayani antar kelas dan atau elemen.
‘Interface’/ antar-muka
mendefinisikan sebuah set / kelompok dari spesifikasi pengoperasian, umumnya
digambarkan dengan sebuah lingkaran yang disertai dengan namanya. Sebuah
antar-muka berdiri sendiri dan umumnya merupakan pelengkap dari kelas atau
komponen.
·
Collaboration: yang
didefinisikan dengan interaksi dan sebuah kumpulan / kelompok dari
kelas-kelas/elemen-elemen yangbekerja secara bersama-sama. Collaborations mempunyai struktur dan dimensi. Pemberian sebuah
kelas memungkinkan berpartisipasi didalam beberapa collaborations dan digambarkan dengan sebuah ‘elips’ dengan garis
terpotong-potong.
·
Use cases: adalah
rangkaian/uraian sekelompok yang saling terkait dan membentuk sistem secara
teratur yang dilakukan atau diawasi oleh sebuah aktor. ‘use case’ digunakan untuk membentuk tingkah-laku benda/ things
dalam sebuah model serta di realisasikan oleh sebuah collaboration. Umumnya ‘use case’ digambarkan dengan sebuah ‘elips’ dengan garis yang solid,biasanya
mengandung nama.
·
Nodes: merupakan
fisik dari elemen-elemen yang ada pada saat dijalankannya sebuah sistem,
contohnya adalaha sebuahkomputer, umumnya mempunyai sedikitnya memory dan processor. Sekelompok komponen mungkin terletak pada sebuah node
dan juga mungkin akan berpindah dari node satu ke node lainnya. Umumnya node
ini digambarkan seperti kubus serta hanya mengandung namanya.
b.
Hubungan/Relationships
sebagai alat
komunikasi dari benda-benda. Ada 4 macam hubungan didalam penggunaan Diagram
UML, yaitu;
·
Dependency : adalah
hubungan semantik antara dua benda/things
yang mana sebuah benda berubah mengakibatkan benda satunya akan berubah pula.
Umumnya sebuah dependency digambarkan
sebuah panah dengan garis terputus-putus.
·
Association : hubungan
antar benda struktural yang terhubung diantara obyek. Kesatuan obyek yang
terhubung merupakan hubungan khusus, yang menggambarkan sebuah hubungan
struktural diantara seluruh atau sebagian. Umumnya assosiation digambarkan dengan sebuah garis yang dilengkapi dengan
sebuah label, nama, dan status hubungannya.
·
Generalizations : adalah
menggambarkan hubungan khusus dalam obyek anak/child yang menggantikan obyek parent
/ induk .Dalam hal ini, obyek anak memberikan pengaruhnya dalam hal struktur
dan tingkah lakunya kepada obyek induk. Digambarkan dengan garis panah.
·
Realizations : merupakan
hubungan semantik antara pengelompokkan yang menjamin adanya ikatan
diantaranya. Hubungan ini dapat diwujudkan diantara interface dan kelas atau elements, serta antara use cases dan collaborations. Model dari sebuah hubungan realization.
c.
Bagan/Diagrams,
Diagram adalah
yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. Bagan
berfungsi sebagai kumpulan /group
dari benda-benda/things. Diagram UML
mempunyai 9 diagram, yaitu:
·
Use Case Diagram : menggambarkan
sekelompok use cases dan aktor yang
disertai dengan hubungan diantaranya.
·
Class Diagram : Diagram
yang memperlihatkan struktur statis dari kelas actual didalam sistem.
·
Object Diagram : Diagram
yang merupakan varian dari kelas diagram yang memperlihatkan lebih detail
banyaknya obyek yang mengintantiasi (instances)
kelas.
·
State Diagram : Diagram
yang memperliatkan semua keadaan (state)
yang dapat dimiliki oleh kelas dan event
yang dapat merubah keadaan tersebut.
·
Sequence Diagram : Diagram
yang memperlihatkan kolaborasi dinamik antara objek-objek dengan suatu urutan
pesan (a sequence of message) antar
objek tersebut.
·
Collaboration Diagram : Diagram
yang memperlihatkan kolaborasi dinamik antar objek tanpa memperhatikan aspek
waktu.
·
Activity Diagram : Diagram
yang memperlihatkan aliran urutan aktifitas.
·
Component Diagram : Diagram
yang memperlihatkan struktur fisik dari source
code dalam terminology code
components. Komponen berisi informasi tentang logical class dapat berupa komponen source code, komponen biner atau komponen yang dapat dieksekusi.
·
Deployment Diagram : Diagram
yang memperlihatkan arsitektur fisik dari hardware
dan software pada sistem.
Tools
Yang Mendukung UML
Saat ini banyak sekali tool pendesainan
yang mendukung UML, baik itu tool komersial maupun
opensource. Beberapa diantaranya
adalah:
·
Rational Rose (www.rational.com)
·
Together
(www.togethersoft.com)
·
Object Domain
(www.objectdomain.com)
·
Jvision
(www.object-insight.com)
·
Objecteering
(www.objecteering.com)
·
MagicDraw
(www.nomagic.com/magicdrawuml)
·
Visual Object
Modeller (www.visualobject.com)
Sumber :
Komentar
Posting Komentar