UML (Unified Modeling Language) adalah sebuah bahasa untuk
menetukan, visualisasi, kontruksi, dan mendokumentasikan artifact (bagian dari
informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat
lunak. Artifact dapat berupa model, deskripsi atau perangkat lunak) dari system
perangkat lunak, seperti pada pemodelan bisnis dan system non perangkat lunak
lainnya.
UML merupakan suatu kumpulan teknik terbaik yang telah
terbukti sukses dalam memodelkan system yang besar dan kompleks. UML tidak
hanya digunakan dalam proses pemodelan perangkat lunak, namun hampir dalam
semua bidang yang membutuhkan pemodelan.
BAGIAN-BAGIAN UML
Bagian-bagian utama dari UML adalah view, diagram,
model element, dan general mechanism.
a. View
View digunakan untuk melihat sistem yang dimodelkan
dari beberapa aspek yang berbeda. View bukan melihat grafik, tapi
merupakan suatu abstraksi yang berisi sejumlah diagram.
Beberapa jenis view dalam UML antara
lain: use case view, logical view, component view, concurrency
view,dan deployment view.
b. Use case view
Mendeskripsikan fungsionalitas sistem yang seharusnya
dilakukan sesuai yang diinginkan external actors. Actor yang
berinteraksi dengan sistem dapat berupa user atau sistem lainnya.
View ini digambarkan dalam use case diagramsdan
kadang-kadang dengan activity diagrams. Viewini digunakan terutama
untuk pelanggan, perancang (designer), pengembang (developer), dan penguji
sistem (tester).
c. Logical view
Mendeskripsikan bagaimana fungsionalitas dari sistem,
struktur statis (class, object,danrelationship ) dan kolaborasi dinamis
yang terjadi ketika object mengirim pesan ke object lain
dalam suatu fungsi tertentu.
View ini digambarkan dalam class
diagrams untuk struktur statis dan dalam state, sequence,
collaboration, dan activity diagram untuk model
dinamisnya. View ini digunakan untuk perancang (designer) dan
pengembang (developer).
d. Component view
Mendeskripsikan implementasi dan ketergantungan modul.
Komponen yang merupakan tipe lainnya dari code module diperlihatkan
dengan struktur dan ketergantungannya juga alokasi sumber daya komponen dan
informasi administrative lainnya.
View ini digambarkan dalam component view dan
digunakan untuk pengembang (developer).
e. Concurrency view
Membagi sistem ke dalam proses dan prosesor.View ini
digambarkan dalam diagram dinamis (state, sequence, collaboration,
dan activity diagrams) dan diagram implementasi (component dan deployment
diagrams) serta digunakan untuk pengembang (developer), pengintegrasi
(integrator), dan penguji (tester).
f. Deployment view
Mendeskripsikan fisik dari sistem seperti komputer dan
perangkat (nodes) dan bagaimana hubungannya dengan lainnya.
View ini digambarkan dalam deployment diagramsdan
digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji
(tester).
g. Diagram
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. Adapun jenis
diagram antara lain :
1. Use Case Diagram
Use 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
2. Acceleo (http://www.acceleo.org/pages/home/en)
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.
3. ArgoUML (http://argouml.tigris.org/)
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
Tidak ada komentar:
Posting Komentar