UML (Unified Modeling Language) adalah metode pemodelan secara visual sebagai sarana untuk merancang dan atau membuat software berorientasi objek. Karena UML ini merupakan bahasa visual untuk pemodelan bahasa berorientasi objek, maka semua elemen dan diagram berbasis pada paradigma object oriented.
UML adalah salah satu tool / model untuk merancang pengembangan software yang berbasis object oriented.
UML adalah sebuah bahasa standar untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software.
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.
Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML, seperti building block, aturan-aturan yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common).
Building blocks
Tiga macam yang terdapat dalam building block adalah :
- Benda/Things
Adalah abstraksi yang pertama dalam sebuah model
- Hubungan/Relationships
Sebagai alat komunikasi dari benda-benda
- Bagan/Diagrams
Sebagai kumpulan / group dari benda-benda/things
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