Diagram UML - Google Groups

advertisement
REKAYASA PERANGKAT LUNAK
Pemodelan dan UML
9
Muhammad Taufik Syastra
Pokok Bahasan
1.
Kompleksitas pengembangan perangkat lunak
2.
Pemodelan
3.
Pengenalan UML
4.
Sejarah UML
5.
Diagram UML
6.
Class Diagram
7.
Object Diagram
8.
Component Diagram
9.
Composite Structure Diagram
10. Package Diagram
11. Deployment Diagram
Muhammad Taufik Syastra
Kompetensi
Mahasiswa mampu mengetahui dan menggambarkan arsitektur
dalam pemrograman berorientasi objek dengan menggunakan
pendekatan UML (Unified Modelling Language)
Muhammad Taufik Syastra
1 – Kompleksitas Pengembangan Perangkat Lunak
Secara umum, perangkat lunak perlu dikembangkan dengan
alasan-alasan sebagai berikut :
1. Adanya permasalahan yang dijumpai pada sistem/perangkat
lunak lama
2. Pertumbuhan organisasi
3. Untuk meraih kesempatan-kesempatan
4. Menyesuaikan diri dengan visi, misi, strategi organisasi yang
baru
Muhammad Taufik Syastra
1 – Kompleksitas Pengembangan Perangkat Lunak
Menurut pendapat anda, apa kendala yang sering
dialami dalam mengembangkan (membangun)
perangkat lunak (software) ??
Muhammad Taufik Syastra
1 – Kompleksitas Pengembangan Perangkat Lunak
Kompleksitas perangkat lunak dapat dilihat dari hal-hal berikut :
1. Kompleksitas domain atau permasalahan perangkat lunak
2. Kesulitan mengelola proses pengembangan perangkat lunak
3. Kemungkinan fleksibilitas perubahan perangkat lunak
4. Permasalahan karakteristik bagian-bagian perangkat lunak
secara diskrit
Muhammad Taufik Syastra
1 – Kompleksitas Pengembangan Perangkat Lunak
Karena berbagai masalah dan
resiko yang mungkin timbul
didalam pengembangan perangkat
lunak,
maka
perlu
adanya
perencanaan dan pemodelan
perangkat lunak
Muhammad Taufik Syastra
2 – Pemodelan
Pemodelan
Gambaran dari realita yang simpel dan dituangkan dalam
bentuk pemetaan dengan aturan tertentu.
Pemodelan dapat menggunakan bentuk
yang sama dengan realitas, misalnya
seorang arsitek ingin memodelkan
sebuah gedung yang akan dibangun,
maka dia akan memodelkannya dengan
membuat sebuah maket (tiruan)
arsitektur gedung tersebut.
Muhammad Taufik Syastra
2 – Pemodelan
Pada dunia pengembangan perangkat sistem informasi juga
diperlukan pemodelan. Pemodelan perangkat lunak digunakan
untuk mempermudah langkah berikutnya dari pengembangan
sebuah sistem informasi sehingga lebih terencana.
Muhammad Taufik Syastra
2 – Pemodelan
Pemodelan perangkat lunak memiliki beberapa abstraksi,
misalnya sebagai berikut :
1. Petunjuk yang terfokus pada proses yang dimiliki oleh sistem
2. Spesifikasi struktur secara abstrak dari sebuah sistem (belum
detail)
3. Spesifikasi lengkap dari sebuah sistem yang sudah final
4. Spesifikasi umum atau khusus sistem
5. Bagian penuh atau parsial dari sebuah sistem
Muhammad Taufik Syastra
2 – Pemodelan
Perangkat pemodelan adalah suatu model yang digunakan untuk
menguraikan sistem menjadi bagian-bagian yang dapat diatur dan
mengkomunikasikan ciri konseptual dan fungsional kepada pengamat.
Peran perangkat pemodelan :
1. Komunikasi, perangkat pemodelan dapat digunakan sebagai alat
komunikasi antara pemakai dengan analis sistem maupun
developer dalam pengembangan sistem
2. Eksperimen, pengembangan sistem yang bersifat “trial and error”
3. Prediksi, model meramalkan bagaimana suatu sistem akan bekerja
Muhammad Taufik Syastra
3 – Pengenalan UML
UML muncul karena adanya kebutuhan pemodelan visual untuk
menspesifikasikan,
menggambarkan,
membangun,
dan
dokumentasi dari sistem perangkat lunak.
UML (Unified Modelling Language) Bahasa Pemodelan
Muhammad Taufik Syastra
3 – Pengenalan UML
Tujuan UML diantaranya untuk :
1. Memberikan model yang siap pakai, bahasa pemodelan visual
yang ekspresif untuk mengembangkan dan saling menukar
model dengan mudah dan dimengerti secara umum
2. Memberikan bahasa pemodelan yang bebas dari berbagai
bahasa pemrograman dan proses rekayasa
3. Menyatukan praktek-praktek terbaik (best practice) dalam
pemodelan
Muhammad Taufik Syastra
4 – Sejarah UML
Berawal pada bahasa pemograman berorientasi objek yang pertama
dikembangkan dikenal dengan nama Simula-67 yang dikembangkan
pada tahun 1967. Bahasa pemrograman ini kurang berkembang dan
dikembangkan lebih lanjut, namun dengan kemunculannya telah
memberikan sumbangan yang besar pada developer pengembang
bahasa pemrograman berorientasi objek selanjutnya.
Pada akhirnya, tahun 1996 Object Management Group (OMG)
mengajukan proposal adanya standarisasi pemodelan berorientasi
objek dan pada bulan spetember 1997 UML diakomodasi OMG
sehinggan sampai saat ini UML telah memberikan kontribusi cukup
besar dalam metodologi berorientasi objek.
Muhammad Taufik Syastra
5 – Diagram UML
Pada UML versi 2.3 terdiri dari
13 macam diagram yang
dikelompokkan dalam 3
kategori, berikut gambar
diagram UML :
UML 2.3
Diagram
Structure
Diagram
Behaviour
Diagram
Interaction
Diagram
Class Diagram
Use Case
Diagram
Sequence
Diagram
Object
Diagram
Activity
Diagram
Communication
Diagram
Component
Diagram
State Machine
Diagram
Timing Diagram
Composite
Structure
Diagram
Interaction
Overview
Diagram
Package
Diagram
Deployment
Diagram
Muhammad Taufik Syastra
5 – Diagram UML
Berikut ini penjelasan singkat dari pembagian kategori berikut :
1. Structure Diagrams yaitu kumpulan diagram yang
digunakan untuk menggambarkan suatu struktur statis dari
sistem yang dimodelkan.
2. Behaviour Diagrams yaitu kumpulan diagram yang
digunakan untuk menggambarkan kelakuan sistem atau
rangkaian perubahan yang terjadi pada sebuah sistem.
3. Interaction Diagrams yaitu kumpulan diagram yang
digunakan untuk menggambarkan interaksi sistem dengan
sistem lain maupun interaksi antar subsistem pada suatu
sistem.
Muhammad Taufik Syastra
6 – Class Diagram
Diagram kelas atau class diagram menggambarkan struktur sistem dari segi
pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem.
Kelas memiliki apa yang disebut atribut dan metode atau operasi.
Berikut adalah simbol-simbol yang ada pada diagram kelas :
Simbol
Kelas
Nama_kelas
Deskripsi
Kelas pada struktur sistem
+atribut
+operasi()
Antarmuka / interface
Sama dengan konsep interface dalam
pemrograman berorientasi objek
Nama_interface
Muhammad Taufik Syastra
6 – Class Diagram
Diagram kelas : (lanjutan)
Simbol
Deskripsi
Asosiasi / association
Relasi antar kelas dengan makna umum,
asosiasi biasanya juga disertai dengan
multiplicity
Asosiai berarah / directed association
Relasi antar kelas dengan makna kelas
yang satu digunakan oleh kelas yang lain,
asosiasi biasanya juga disertai dengan
multiplicity
Generalisasi
Relasi antar kelas dengan makna
generalisasi-spesifikasi (umum khusus)
Muhammad Taufik Syastra
6 – Class Diagram
Diagram kelas : (lanjutan)
Simbol
Deskripsi
Kebergantungan / dependency
Relasi antar kelas dengan makna
kebergantungan antar kelas
Agregasi / aggregation
Relasi antar kelas dengan makna semua
bagian (whole-part)
Muhammad Taufik Syastra
7 – Object Diagram
Diagram objek menggambarkan struktur sistem dari segi penanaman objek
dan jalannya objek pada sistem. Pada diagram objek harus dipastikan semua
kelas yang sudah didefinisikan pada diagram kelas harus dipakai objeknya,
karena jikda tidak, pendefinisian kelas itu tidak dapat dipertanggung
jawabkan.
Berikut adalah simbol-simbol yang ada pada diagram objek :
Simbol
Objek
Nama_objek :
nama_kelas
Deskripsi
Objek dari kelas yang berjalan saat
sistem dijalankan
Atribut = nilai
Link
Relasi antar objek
Muhammad Taufik Syastra
8 – Component Diagram
Diagram komponen atau component diagram dibuat untuk
menunjukkan organisasi dan ketergantungan diantara kumpulan
komponen dalam sebuah sistem. Diagram komponen fokus pada
komponen sistem yang dibutuhkan dan ada di dalam sistem.
Diagram komponen juga dapat digunakan untuk memodelkan halhal berikut :
1. Source code program perangkat lunak
2. Komponen executable yang dilepas ke user
3. Basis data secara fisik
4. Sistem yang harus beradaptasi dengan sistem lain
5. Framework sistem
Muhammad Taufik Syastra
8 – Component Diagram
Komponen dasar yang biasanya ada dalam suatu sistem adalah
sebagai berikut :
1. Komponen user interface yang menangani tampilan
2. Komponen bussines processing yang menangani tampilan
3. Komponen data yang menangani fungsi-fungsi proses bisnis
4. Komponen security yang menangani keamanan sistem
Komponen lebih terfokus pada penggolongan secara umum
fungsi-fungsi yang diperlukan
Muhammad Taufik Syastra
8 – Component Diagram
Berikut simbol-simbol yang ada pada diagram komponen :
Simbol
Deskripsi
Package
Package merupakan sebuah bungkusan
dari satu atau lebih komponen
Komponen
Komponen sistem
Kebergantungan / dependency
Kebergantungan antar komponen, arah
panah mengarah pada komponen yang
dipakai
Muhammad Taufik Syastra
8 – Component Diagram
Diagram komponen : (lanjutan)
Simbol
Antarmuka / interface
Deskripsi
Nama_interface
Sama dengan konsep interface pada
pemrograman berorientasi objek, yaitu
sebagai antarmuka komponen agar tidak
mengakses langsung komponen
Link
Relasi antar komponen
Muhammad Taufik Syastra
9 – Composite Structure Diagram
Diagram ini digunakan untuk menggambarkan struktur dari
bagian-bagian yang saling terhubung maupun mendeskripsikan
struktur pada saat berjalan (runtime) dari instance yang saling
terhubung.
Contoh : Menggambarkan deskripsi dari setiap bagian mesin
yang saling terkait untuk menjalankan fungsi mesin tersebut,
menggambarkan aliran router pada jaringan komputer.
Muhammad Taufik Syastra
9 – Composite Structure Diagram
Composite structure diagram :
Simbol
Property
Rolename : typename
Connector
Deskripsi
Property adalah satu set dari suatu
instance
Rolename : peran/nama/identitas dari
property (opsional)
Typename : tipe kelas dari property
(harus ada)
Connector adalah cara komunikasi dari 2
buah instance
Connname : nama connector (opsional)
Conntype : tipe connector (opsional)
Connname:conntype
Muhammad Taufik Syastra
9 – Composite Structure Diagram
Composite structure diagram : (lanjutan)
Simbol
Port
Deskripsi
Port adalah cara yang digunakan dalam
diagram composite structure tanpa
menampilkan detail internal dari suatu
sistem.
Port digambarkan dalam bentuk kotak
kecil yang menempel property jika fungsi
tersebut dapat diakses public.
Sedangkan port digambarkan di dalam
suatu property jika fungsi tersebut
bersifat protected
Muhammad Taufik Syastra
10 – Package Diagram
Package diagram menyediakan cara mengumpulkan elemenelemen yang saling terkait dalam diagram UML. Hampir semua
diagram dalam UML dapat dikelompokkan menggunakan
package diagram.
Simbol
Package
Deskripsi
Package merupakan sebuah bungkusan
dari satu atau lebih kelas atau elemen
diagram UML lainnya
Muhammad Taufik Syastra
10 – Package Diagram
Package diagram : (lanjutan)
Simbol
Deskripsi
Elemen dalam package digambarkan di
dalam package
Elemen dalam
package
digambarkan
di luar package
Muhammad Taufik Syastra
11 – Deployment Diagram
Diagram deployment menunjukkan konfigurasi komponen dalam proses
eksekusi aplikasi. Diagram deployment juga digunakan untuk memodelkan halhal berikut :
1.
Sistem tambahan (embedded system) yang menggambarkan rancangan
device, node dan hardware
2.
Sistem client/server misalnya seperti gambar berikut
3.
Sistem terdistribusi murni
4.
Rekayasa ulang aplikasi
Muhammad Taufik Syastra
11 – Deployment Diagram
Simbol deployment diagram :
Simbol
Deskripsi
Package
Package merupakan sebuah bungkusan dari
satu atau lebih node
Node
Biasanya mengacu pada perangkat keras
(hardware), perangkat lunak yang tidak dibuat
sendiri (software), jika di dalam note disertakan
komponen untuk mengkonsistenkan rancangan
maka, komponen yang diikutsertakan harus
sesuai dengan komponen yang telah
didefinisikan sebelumnya pada diagram
komponen
Muhammad Taufik Syastra
11 – Deployment Diagram
Simbol deployment diagram : (lanjutan)
Simbol
Deskripsi
Kebergantungan / dependency
Kebergantungan antar komponen, arah
panah mengarah pada komponen yang
dipakai
Link
Relasi antar komponen
Muhammad Taufik Syastra
SEKIAN
TERIMA KASIH
Muhammad Taufik Syastra
Daftar Pustaka
Buku :
Gunadi, Hariman dan A. Suhendar. 2002. Visual Modelling Menggunakan UML dan
Rational Rose. Bandung : Penerbit Informatika.
Nugroho, Adi. 2010. Rekayasa Perangkat Lunak Berorientasi Objek dengan Metode
USDP. Yogyakarta : Penerbit Andi.
Shalahuddin, Muhammad dan Rosa Ariani S.. 2011. Modul Pembelajaran Rekayasa
Perangkat Lunak (Terstruktur dan Berorientasi Objek). Bandung : Penerbit
Modula.
Muhammad Taufik Syastra
Download