Unified Modeling
Language (UML)
Iim Abdurrohim, S.Kom., M.T
Sejarah Singkat UML
Pada Oktober 1994, Dr. James Rumbaugh bergabung dengan Perusahaan Rational
software, dimana Grady Booch sudah bekerja disana sebelumnya.
Grady Booch mengembangkan Object Oriented Design (OOD) dan Dr. James
Rumbaugh dari General Electric 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 Rational 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
Texas instrument
Dari konsorsium tersebut pada bulan Januari 1997 lahirlah UML versi 1.0
Pada bulan September 1997 lahirlah UML versi 1.1,
dengan 8 buah diagram, yaitu:
1. Use case diagram
2. Activity diagram
3. Sequence diagram
4. Collaboration diagram
5. Class diagram
6. Statechart diagram
7. Component diagram
8. 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
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).
Pada tahun 2002 lahirlah UML versi 2.0, menjadi 13 buah
diagram, dengan penambahan dan penggantian yaitu:
1. Use Case Diagram
2. Activity Diagram
3. Sequence Diagram
4. Communication Diagram (Collaboration diagram in versi 1.x)
5. Class Diagram
6. State Machine Diagram (Statechart diagram in versi 1.x)
7. Component Diagram
8. Deployment Diagram
9. Composite Structure Diagram
10.Interaction Overview Diagram
11.Object Diagram
12.Package Diagram
13.Timing Diagram
Pemodelan (Modeling)
Pemodelan (Modeling) adalah gambaran dari realita yang simpel dan dituangkan
dalam bentuk pemetaan dengan aturan tertentu. Pemodelan digunakan untuk
menggambarkan desain sistem.
Model piranti lunak dapat dianalogikan seperti pembuatan blueprint pada
pembangunan gedung. Membuat model dari sebuah sistem yang kompleks
sangatlah penting karena kita tidak dapat memahami sistem semacam itu secara
menyeluruh. Semakin komplek sebuah sistem, semakin penting pula
penggunaan teknik pemodelan yang baik.
Dengan menggunakan model, diharapkan pengembangan piranti lunak dapat
memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk
faktor-faktor seperti scalability, robustness, security, dan sebagainya
Unified Modeling Language (UML)
Pada perkembangan teknik pemrograman berorientasi objek, muncullah sebuah
standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang
dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu
Unified Modeling Language (UML).
UML muncul karena adanya kebutuhan pemodelan visual untuk
menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem
perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan
komunikasi mengenai sebuah sistem dengan menggunakan diagram.
UML terdiri dari bermacam-macam diagram yg digunakan untuk permodelan
pada saat pengembangan sistem mulai dari tahap analisis sampai implementasi.
Pada saat melakukan desain sistem, tidak harus semua diagram pada UML
diimplementasikan akan tetapiUML merupakan diagram yang saling terkait
oleh karena itu perlu adanya kekonsistenan rancangan diagram yang satu
dengan lainnya.
Diagram dalam UML dikelompokan menjadi 2:
1. Diagram Struktur /statis diagram .
2. Diagram prilaku sistem/ behaviour diagram.
Diagram didalam UML
Diagram
Structure Behaviour
Diagram Diagram
Composite
Component Deployment Interaction Use Case State Machine
Profile Diagram Class Diagram Structure Object Diagram Package Diagram Activity Diagram
Diagram Diagram Diagram Diagram Diagram
Diagram
Interaction
Sequence Communication
Overview Timing Diagram
Diagram Diagram
Diagram
Penjelasan Singkat Diagram tersebut, antara lain:
Nama Diagram Digunakan Untuk Digunakan pada tahapan
Diagram Class Menggambarkan hubungan antara Analysis, Design
model class dlm system.
Diagram Status Diagram status menjelaskan aliran Analysis, Design
kontrol dari satu status ke status lain.
Status didefenisikan sebagai suatu
kondisi dari suatu obyek yang ada
dan perubahan yang terjadi sekiranya
ada event yang terpicu..
Diagram Aktivitas Menggambarkan hubungan aliran Analysis, Design
kerja business terlepas dari classes,
aliran activitas dlm sebuah use case,
atau detail design dari method.
Diagram Use Case Mendapatkan
persyaratan/kebutuhan system dan
Analysis
menggambarkan hubungan antara
system dgn lingkungan.
Diagram Sequence Memodelkan prilaku objects dlm
sebuah use case.
Analysis, Design
Focus pd urutan berdasar waktu
dari sebuah activity.
Gambar berikut dibawah ini menggambarkan diagram diagram tsb dan
memperlihatkan bagaimana diagram yang satu membantu membentuk
diagram yang lainnya.
Case (Computer-aided software engineering) Tools
Case tool adalah sejenis software untuk membuat secara otomatis/wizard
sebagian atau keseluruan proses depelopment sistem.
Untuk membuat berbagai diagram UML baik pada tahap analisis maupun
design digunakan Case To0ls diataranya adalah ArgoUML, StartUML dan
Astah Community. Selain itu anda juga bisa menggunakan Ms Visio.
Tampilan Salah Satu Case Tool yaitu StarUML
Astah Community
Diagram Use Case
Diagram use case merupakan pemodelan untuk menggambarkan kelakuan
(behavior) sistem secara keseluran yang akan dibuat.
Diagram use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor
dengan sistem yang akan dibuat.
Dengan pengertian yang cepat, diagram use case digunakan untuk mengetahui
fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak
menggunakan fungsi-fungsi tersebut.
Diagram Kelas
Diagram kelas atau class diagram menggambarkan struktur sistem dari segi
pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem.
Diagram Sequence
Diagram sekuen menggambarkan kelakuan/perilaku objek pada use case
dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan
diterima antar objek.
Oleh karena itu untuk menggambar diagram sekuen
maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta
metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.
Diagram Aktivitas
Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja)
atau aktivitas dari sebuah sistem atau proses bisnis.
Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan
aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat
dilakukan oleh sistem.
Evaluasi
1. Jelaskan tentang Pemodelan (Modeling)?
2. Apa singkatan dari UML?
3. Diagram UML dikelompokkan menjadi 2, sebutkan!
4. Use Case Diagram termasuk pada kategori kelompok diagram yang mana?
5. Class Diagram termasuk pada kategori kelompok diagram yang mana?
6. Diagram Use Case digunakan untuk apa?
7. Diagram Use Case digunakan pada tahapan apa?
8. Diagram Class digunakan untuk apa? Untuk tahapan apa digunakan?
9. Diagram Aktivitas digunakan untuk apa? Untuk tahapan apa digunakan?
10. Diagram Sequence digunakan untuk apa? Untuk tahapan apa digunakan?
Tugas
Siapkan case tools StarUML di komputer Anda!
Minggu depan sudah terinstall di komputer Anda
Identifikasi Kelas dan Objek
Mengidentifikasi kelas-kelas dan objek-objek yang ada dalam lingkup aplikasi:
eksplisit pada pernyataan masalah
implisit pada lingkup aplikasi atau pengetahuan atas lingkup aplikasi
Kelas dan objek dapat diidentifikasi dari:
entitas eksternal yang memproduksi dan memakai informasi yang akan digunakan oleh
sistem berbasis komputer
sesuatu yang merupakan bagian dari wilayah informasi dari permasalahan
kejadian, misalnya prosedur operasional, yang muncul dalam lingkup operasional
sistem
peran yang dimainkan oleh orang-orang yang berinteraksi dengan sistem
unit organisasi yang relevan dengan aplikasi
tempat yang menentukan ruang lingkup masalah dan seluruh fungsi dari sitem
struktur yang mendefinisikan kelas dari objek atau yang menghubungkan kelas-kelas
objek.
Identifikasi Kelas dan Objek
Abaikan kelas dan objek yang tidak tepat karena:
redunden
tidak relevan
lebih tepat berupa atribut
lebih tepat berupa operasi
lebih tepat berupa peran
lebih merupakan konstruksi implementasi.
Identifikasi Atribut dan Layanan
Mengidentifikasi atribut dan layanan yang terkait untuk setiap atribut tersebut.
Atribut diidentifikasi dari elemen-elemen data yang dapat menggambarkan (mencirikan) sebuah objek
secara utuh.
Layanan diidentifikasi dari perilaku spesifik yang dapat menunjukkan peran dan tanggung jawab suatu
objek.
Abaikan atribut yang tidak tepat karena:
berupa objek
berupa qualifier
berupa nama
berupa identifier pada implementasi
menyatakan status internal objek
merupakan atribut yang sangat kecil (minor)
bertentangan dengan atribut lain
Definisi Struktur dan Hirarki
Mendefinisikan struktur dan hirarki dari objek yang akan
mengorganisasikan kelas objek.
Mengatur dan menyederhanakan objek-objek menjadi
kelas-kelas objek melalui konsep agregasi dan pewarisan.
Struktur dan hirarki yang mungkin didefinisikan:
Struktur generalization- Struktur whole-part atau a-
specification part-of
Buat Model Hubungan Objek
Mendefinisikan hubungan (asosiasi atau koneksi) antar kelas, yaitu
ketergantungan antar satu kelas atau lebih dengan kelas lainnya.
Asosiasi dapat berbentuk:
lokasi fisik atau penempatan (next, to, part, of contained in)
aksi terarah (drive)
komunikasi (transmit to, acquires from)
kepemilikan (incorporated by, is composed of)
pemenuhan kondisi (manages, coordinates, controls)
Jenis-jenis asosiasi:
Asosiasi 1 1 (one-to-one association)
Asosiasi 1 n (one-to-many association)
Asosiasi n n (many-to-many association)
Ternary Association
Kualifikasi: Hubungan asosiatif berkualifikasi antara 2 kelas objek
Ordering: Hubungan berdasarkan urutan kejadian.
Nama hubungan dan garis atau anak panah digunakan untuk menyatakan hubungan antar kelas-kelas tersebut.
Abaikan asosiasi yang tidak tepat karena:
asosiasi antara kelas yang diabaikan
asosiasi implementatif atau tidak relevan
asosiasi yang berupa aksi
asosiasi ternary
asosiasi turunan
Buat Model Perilaku Objek
Menyatakan bagaimana sistem berorientasi objek akan menanggapi kejadian atau
stimuli eksternal (memunculkan sifat dinamis objek).
Tahap-tahap untuk membuat model perilaku objek:
evaluasi semua use-case untuk memahami urutan interaksi yang ada dalam sistem
identifikasi kejadian yang menggerakkan urutan interaksi, dan pahami bagaimana
kejadian-kejadian tersebut berhubungan dengan objek tertentu
buat penelusuran kejadian untuk setiap use-case
buat diagram transisi keadaan untuk sistem
tinjau ulang model perilaku objek untuk verifikasi keakuratan dan konsistensi