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.Dengan
menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti
lunak,dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem
operasi dan jaringan apapun, sertaditulis dalam bahasa pemrograman apapun.
Tetapi karena UML juga menggunakan class dan operation dalam
konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa
berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML
tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.
Seperti bahasa-bahasa lainnya, 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.
1.
Use Case Diagram
Use case diagram menggambarkan
fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa”
yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan
sistem. Use case merupakan
sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan
sebagainya. Contoh use case diagram :
2.
Class Diagram
Class adalah sebuah
spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan
inti dari pengembangan dan desain berorientasi objek. Class menggambarkan
keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk
memanipulasi keadaan tersebut (metoda/fungsi).Class memiliki tiga area
pokok :
1. Nama (dan
stereotype)
2. Atribut
3. Metoda
Contoh class
diagram :
3.
Statechart Diagram
Statechart diagram menggambarkan transisi dan perubahan keadaan (dari
satu state ke state lainnya) suatu objek pada
sistem sebagai akibat dari stimuli yang
diterima. Pada umumnya statechart
diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram). Dalam UML, state
digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama
sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang
bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan
diawali garis miring. Contoh statechart
diagram:
4.
Activity Diagram
Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang
sedang dirancang,bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat
menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana
sebagian besar state adalah action dan sebagian besar transisi
di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu
activity diagram tidak
menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem)
secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur
aktivitasdari level atas secara umum. Contoh activity diagram:
5.
Sequence Diagram
Sequence diagram menggambarkan
interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap
waktu. Sequence diagram terdiri atar dimensi vertikal
(waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan
untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan
sebagai respons dari sebuah event untuk
menghasilkan output tertentu.
Diawali dari apa yang men-trigger aktivitas
tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Contoh
gambar sequence diagram:
6.
Collaboration Diagram
Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih
menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message. Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki
nomor 1. Contoh gambar Collaboration diagram:
7.
Component Diagram
Component diagram menggambarkan struktur dan hubungan antar komponen
piranti lunak,termasuk ketergantungan (dependency)
di antaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time. Umumnya komponen terbentuk
dari beberapa class dan/atau package, tapi dapat juga dari komponen-komponen
yang lebih kecil. Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah
komponen untuk komponen lain. Contoh
component diagram:
8.
Deployment Diagram
Deployment/physical diagram
menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di
mana komponen akan terletak (pada mesin, server atau piranti keras apa),
bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan
hal-hal lain yang bersifat fisikal Sebuah node adalah server, workstation,
atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Contoh deployment diagram :
9.
Object
Diagram
Diagram
objek ialah merupakan suatu diagram yang mengambarkan objek-objek dalamsuatu
system. Bila pada kelas diagram terdapat banyak relasi antar kelas, namun pada
diagramobjek, hanya terdapat satu relasi antar kelas, yaitu asosiasi. Tidak
hanya itu, pada diagram objekyang didefinisikan hanya nama objek dalam suatu
kelas beserta atributnya saja, tanpa operasiyang dilakukan oleh objek
tersebut.Contoh gambar diagram objek:
10.
Package
Diagram
Memperlihatkan bagaimana elemen model diorganisasikan/dikelompokkan ke
dalampackagesBiasanya
dipakai pada use case diagram Atau class
diagram Packages digambarkan
sebagai sebuah direktori (file folders) yang berisi model-mode lelemen Packages
dapat diterapkan pada sembarang diagram UML Walaupun package secara resmi
bukanlah diagram UML, namun kegunaannya cukup signifikan Penjelasan package
diagram pada masing-masing diagram UMLPackages dibuat untuk :
Menggambarkan
high level overview kebutuhan system
Menggambarkan
high level overview design
Memecah sebuah
diagram yang mempunyai banyak bubbles
Mengorganisasikan
source code programmin
Contoh gambar package diagram:
11. Profile diagram
Diagram Profil
adalah jenis diagram baru yang diperkenalkan di UML 2. Ini adalah jenis
diagram yang sangat
jarang digunakan dalam spesifikasi
apapun. Untuk informasi teknis
lebih rinci tentang jenis diagram cek link ini. Contoh gambar
profile diagram :
12. Timming diagram
Timing
diagram
sangat mirip dengan diagram urutan.
Mereka mewakili perilaku objek dalam kerangka waktu
tertentu. Jika hanya satu obyeknya
diagram adalah lurus ke depan tetapi jika lebih dari satu obyek terlibat mereka
dapat digunakan untuk menunjukkan
interaksi benda selama jangka
waktu juga. Contoh gambar timming diagram:
13. Interaction overview
diagram
Interaksi diagram
gambaran yang sangat mirip dengan diagram aktivitas. Sementara diagram
aktivitas menunjukkan urutan diagram gambaran proses Interaksi menunjukkan urutan
diagram interaksi. Dalam istilah sederhana mereka bisa disebut koleksi diagram interaksi
dan urutan mereka terjadi. Seperti disebutkan sebelumnya ada tujuh jenis diagram
interaksi, sehingga salah satu dari mereka dapat menjadi node dalam sebuah diagram
gambaran interaksi. Contoh gambar interaction overview diagram :
A.
Waterfall
Nama
model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut
dengan “classic life cycle” atau model waterfall. Model ini adalah model yang
muncul pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno,
tetapi merupakan model yang paling banyak dipakai didalam Software Engineering
(SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari
level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing /
verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap
yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.
Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu
tahap requirement. Secara umum tahapan pada model waterfall dapat dilihat pada
gambar berikut :
Gambar
di atas adalah tahapan umum dari model proses ini. Akan tetapi Roger S.
Pressman memecah model ini menjadi 6 tahapan meskipun secara garis besar sama
dengan tahapan-tahapan model waterfall pada umumnya. Berikut adalah penjelasan
dari tahap-tahap yang dilakukan di dalam model ini menurut Pressman:
·
System
/ Information Engineering and Modeling. Permodelan ini diawali dengan mencari kebutuhan dari
keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini
sangat penting, mengingat software harus dapat berinteraksi dengan
elemen-elemen yang lain seperti hardware, database, dsb. Tahap ini sering
disebut dengan Project Definition.
·
Software
Requirements Analysis.
Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk
mengetahui sifat dari program yang akan dibuat, maka para software engineer
harus mengerti tentang domain informasi dari software, misalnya fungsi yang
dibutuhkan, user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan
sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan.
·
Design. Proses ini digunakan untuk mengubah
kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint”
software sebelum coding dimulai. Desain harus dapat mengimplementasikan
kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas
sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi
dari software.
·
Coding. Untuk dapat dimengerti oleh mesin,
dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi
bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman
melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang
secara teknis nantinya dikerjakan oleh programmer.
·
Testing
/ Verification.
Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua
fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan
hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan
sebelumnya.
·
Maintenance. Pemeliharaan suatu software
diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang
dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih
ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan
fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan
ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian
sistem operasi, atau perangkat lainnya.











Tidak ada komentar:
Posting Komentar