UML (Unified Modeling Language) adalah sebuah bahasa
untuk menentukan, 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.
UML mendefinisikan notasi dan syntax/semantik.
Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai
diagram piranti lunak.
Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan
bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi
UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented
Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE
(Object-Oriented Software Engineering)
Abstraksi
konsep dasar UML yang terdiri dari structural classification, dynamic
behavior, dan model management,
Bagian
UML
1. 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.
Use case view
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 diagrams dan kadang-kadang dengan activity
diagrams. View ini digunakan terutama untuk pelanggan, perancang (designer),
pengembang (developer), dan penguji sistem (tester).
Logical view
Logical view
Mendeskripsikan bagaimana fungsionalitas dari sistem,
struktur statis (class, object,dan relationship ) 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).
Component view
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).
Concurrency view
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).
Deployment view
Deployment view
Mendeskripsikan fisik dari sistem seperti komputer dan
perangkat (nodes) dan bagaimana hubungannya dengan lainnya. View ini
digambarkan dalam deployment diagrams dan digunakan untuk pengembang
(developer), pengintegrasi (integrator), dan penguji (tester).
2. 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.
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 case merupakan 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.
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.
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.
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 state yang berbeda.
Sequence Diagram
Sequence Diagram digunakan untuk menggambarkan perilaku
pada sebuah scenario. Kegunaannya untuk menunjukkan rangkaian pesan yang
dikirim antara object juga interaksi antara object, sesuatu yang
terjadi pada titik tertentu dalam eksekusi sistem.
Collaboration Diagram
Menggambarkan kolaborasi dinamis seperti sequence
diagrams. Dalam menunjukkan pertukaran pesan, collaboration diagrams menggambarkan
object dan hubungannya (mengacu ke konteks). Jika penekannya pada waktu
atau urutan gunakan sequencediagrams, tapi jika penekanannya pada
konteks gunakan collaboration diagram.
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 case atau
interaksi.
Tujuan Pengenalan 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).
Demikian sekilas tentang pngenalan UML (Unified Modeling Language), semoga tulisan ini dapat bermanfaat.
Terima Kasih. . .
0 komentar:
Post a Comment