pengenalan uml (unified modeling language) · komponen dinotasikan sebagai sebuah kotak segiempat...
TRANSCRIPT
PENGENALAN UML(Unified Modeling Language)
Ciledug, 21 April 2017
Rani Irma Handayani, M.Kom
PEMBAHASAN
1. Pengertian UML & Diagram UML
2. Use Case Diagram
3. Activity Diagram
4. Class Diagram
5. Sequence Diagram
6. Component Digram
7. Deployment Diagram
UML (Unified Modeling Language)?
• UML (Unified Modeling Language) adalah salah satu tool / model untuk
merancang pengembangan software yang berbasis object oriented.
• UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan
grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan
pendokumentasian dari sebuah sistem pengembangan software berbasis OO
(Object -Oriented).
• UML diaplikasikan untuk maksud tertentu, biasanya antara lain untuk :
1. Merancang perangkat lunak
2. Sarana komunikasi antara perangkat lunak dengan proses bisnis
3. Menjabarkan sistem secara rinci untuk analisa dan mencari apa yang diperlukan
sistem
4. Mendokumentasi sistem yang ada, proses-proses dan organisasinya
Artifact UML
Actor A
Use Case 1
Use Case 2
Actor B
user : »ç¿ëÀÚ
mainWnd : MainWnd
fileMgr : FileMgr
repository : Repositorydocument : Document
gFile : GrpFile
9: sortByName ( )
L1: Doc view request ( )
2: fetchDoc( )
5: readDoc ( )
7: readFile ( )
3: create ( )
6: fillDocument ( )
4: create ( )
8: fillFile ( )
UI
MFC
RogueWave
global
DocumentApp
Persistence Window95
¹®¼°ü¸® Ŭ¶óÀ̾ðÆ®.EXE
WindowsNT
¹®¼°ü¸® ¿£Áø.EXE
WindowsNT
Windows95
Solaris
ÀÀ¿ë¼¹ö.EXE
AlphaUNIX
IBM Mainframe
µ¥ÀÌŸº£À̽º¼¹ö
Windows95
¹®¼°ü¸® ¾ÖÇø´
ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨ - À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼¹ö - À ´̄нº ¸Ó½Å: ÀÀ¿ë ¼¹ö ¹× µ¥ÀÌŸ ¼¹ö, Åë½Å ¼¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼¹ö, Åë½Å ¼¹ö
Document
FileManager
GraphicFile
File
Repository DocumentList
FileList
user
mainWnd fileMgr : FileMgr
repositorydocument : Document
gFile
1: Doc view reques t ( )
2: fetchDoc( )
3: c reate ( )
4: c reate ( )
5: readDoc ( )
6: fil lDocument ( )
7: readFile ( )
8: fil lFile ( )
9: sortByName ( )
ƯÁ¤¹®¼¿¡ ´ëÇÑ º¸±â ¦̧ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
ÈÀÏ°ü¸®ÀÚ´Â Àоî¿Â ¹®¼ÀÇ Á¤º ¸ ¦̧ ÇØ´ç ¹®¼ °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
È¸é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È¸é¿¡ º¸¿©ÁØ´Ù.
Customernameaddr
withdraw()fetch()send()
receive()
<<entity>>
Forward Engineering(Code Generation)
and
Reverse Engineering
Executable System
User InterfaceDefinition
DomainExpert
Openning
Writing
ReadingClosing
add file [ numberOffile==MAX ] / flag OFF
add file
close file
close file
Use Case 3
Source Code edit, compile, debug, link
Use-Case
DiagramClass Diagram
Collaboration Diagram
Sequence Diagram
Component
Diagram
State Diagram
Package
Diagram
Deployment
DiagramClass
Activity Diagram
Menggambarkan proses bisnis dan urutan aktivitas
dalam sebuah proses
SIMBOL ACTIVITY DIAGRAM
Simbol Keterangan
Start Point
End Point
Activities
Fork (Percabangan)
Join (Penggabungan)
Decision
Swimlane
Sebuah cara untuk mengelompokkan activity
berdasarkan Actor (mengelompokkan activity dalam sebuah urutan yang sama)
CONTOH PROSES BISNIS
PT. Sejahtera adalah perusahaan yang bergerak dalam bidang penjualan.
Dalam kegiatan penjualannya, diawali ketika bagian layanan konsumen
menerima pesanan barang, kemudian informasi pesanan tersebut akan
diteruskan ke bagian pemenuhan. Bagian layanan konsumen juga akan
mengirimkan invoice kepada bagian keuangan. Transaksi penjualan akan
dianggap selesai jika bagian keuangan telah menerima pembayaran dan
barang telah dikirim.
merge
Use Case • Use case adalah situasi dimana sistem digunakan untuk memenuhi
satu atau lebih kebutuhan pemakai.
• Use case menggambarkan kebutuhan sistem dari sudut pandang di
luar sistem.
• Use case hanya menetapkan apa yang seharusnya dikerjakan oleh
sistem, yaitu kebutuhan fungsional sistem.
• Use case tidak untuk menentukan kebutuhan nonfungsional, misalnya:
sasaran kinerja, bahasa pemrograman, dsb
➢ Actor
Menggambarkan orang, system atau external entitas / stakeholder yang
menyediakan atau menerima informasi dari system.
Simbol actor :
➢ Use case
Situasi dimana sistem kita digunakan untuk memenuhi satu atau lebih kebutuhan pemakai.
Simbol use case :
➢Association
• Associations bukan menggambarkan aliran data/informasi
• Associations digunakan untuk menggambarkan bagaimana actor terlibatdalam use case
• Simbol :
Association antar use case
• <<include>> termasuk didalam use case lain (required / diharuskan). Gunakan
<<include>> jika kita yakin suatu use case harus melibatkan use case lain.
• <<extend>> perluasan dari use case lain jika kondisi atau syarat terpenuhi. Gunakan
<<extend>> jika suatu use case mungkin melibatkan use case lain. Bisa memiliki
kondisi ekstensi opsional
Contoh Use Case (1)
uc Use Case Diagram
Sistem ATM
Melakukan Logout
Mengambil Uang
Mengirim Uang
Melihat Saldo
Memasukkan PINMemasukkan Kartu
Pengguna
«include»
Contoh Use Case (2)
uc Use Case Model
Sistem ATM
Pengguna
Memasukkan Kartu Memasukkan PIN
Melihat Saldo
Mengirim Uang
Mengambil Uang
Melakukan Logout
Melakukan Transaksi
«extend»
«extend»
«extend»
«include»
• Sistem e-commerce adalah sistem penjualan secara online berbasis web dimana penjual
dan pembeli tidak bertatap muka secara langsung. Calon pembeli melakukan pembelian
melalui media browser. Berikut ini spesifikasi kebutuhan (system requirement) dari sistem e-
commerce;
Halaman Front-page:
• A1. User bisa memfilter barang berdasarkan kategori.
• A2. User bisa memilih barang yang akan dibeli dan ditambahkan ke keranjang belanja.
• A3. User melakukan checkout
• A4. User bisa melakukan registrasi
• A5. User dapat login dengan account yang telah dibuat apabila belanja dilain hari.
• A6. User bisa melakukan konfirmasi pembayaran.
Contoh Tahapan Analisis
Halaman Administrasi:
• B1. Admin dapat mengelola data barang.
• B2. Admin dapat mengelola data transaksi penjualan.
• B3. Admin dapat mengelola laporan penjualan.
• B4. Admin dapat mengelola data account.
Contoh Tahapan Analisis (Count)
Package Diagram
Use Case Mengelola Data Barang
Class Diagram
• Class adalah deskripsi dari sekumpulan objek yang berbagi
atribut yang sama, operasi, hubungan, dan semantik.
• Class mengimplementasikan satu atau lebih interface
• Kelas menggabungkan atribut dan operasi menjadi satu kesatuan.
Notasi kotak dengan 3 bagian:
• Nama kelas
• Atribut
• Metode/operation
Atribut
Nama Class
Method()
Class Diagram (count)
Indikasi berapa banyak objek yang bisa mengisi properti
• 1 (pasti 1)
• 0..1 (0 atau 1)
• * (Tidak ada batasan, bisa 0, 1, ..., n)
Biasanya didefinisikan batas bawah dan atas, kecuali
untuk yang pasti bernilai 1.
Mirip dengan konsep one-to-one dan one-to many pada
relational database.
Multiplicity Class Diagram (count)
Class Diagram (count)Aggregration
Agregasi dapat terjadi ketika kelas adalah collection
atau container dari kelas lain, tetapi di mana kelas-kelas
yang ada secara esensial tidak memiliki siklus
ketergantungan yang kuat dalam container. Ditandai
dengan garis dengan diamond terbuka.
Kolam Bebek0..1 1..1
Class Diagram (count)
Composition
• Composition biasanya memiliki siklus ketergantungan
yang kuat antara instance dari kelas container dan
instance dari kelas yang mengandungnya.
• Ditandai dengan garis dengan diamond penuh
Mobil Karburator0..1 1..1
Contoh Class Diagram
Sequence Diagram
• Menggambarkan urutan tindakan yang terjadi dalam suatu sistem
• Manangkap metode objek, dan urutan panggilan
• Merupakan method sistem dinamis yang dipanggil
• Objek horizontal menunjukkan kehidupan objek yang diwakili
• Sumbu vertikal mewakili urutan pemanggilan objek
SIMBOL SEQUENCE DIAGRAM
Sebuah life-line menggambarkan kronologis apa yang
terjadi pada suatu objek
Objek – Sequence Diagram
:Nama_Objek Objek
Life Line
Activation
Synchronous (aliran interupt sampai pesan complete).
Asynchronous (tidak menunggu tanggapan)
Flat : Tidak ada perbedaan antara sysn / async
Return : mengontrol aliran kembali ke pemanggil.
Objek – Jenis Message
Sequence Diagram Pilih Barang
Sequence Diagram Tambah Ke Keranjang Belanja
RANCANGAN LAYAR ENTRY DATA MOBIL
Sequence Diagram Entri Data Mobil
• Use Case : Entry Data Pasien
• Actor : Kasir
• Deskripsi :
• Kasir mengklik menu entry data Pasien
• Kode Pasien akan tampil secara otomatis
• Kode Pasien didapat dari kode Pasien terakhir ditambah satu
• Kasir memasukkan data nama,usia, alamat, nomor telpon
• Setelah data dimasukkan, Kasir mengklik tombol simpan untuk menyimpan data, tombol batal untuk
mambatalkan peng-inputan, dan keluar untuk keluar dari form Pasien
• Cek data, jika data sudah ada bisa dilakukan mengubah data,menghapus data, batal, jika data belum
pernah ada maka data baru disimpan.
Contoh Sequence Diagram Entri Data Pasien
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.
Simbol Component Diagram
1. Component
Sebuah komponen melambangkan sebuah entitas software dalam sebuah sistem. Sebuah
komponen dinotasikan sebagai sebuah kotak segiempat dengan dua kotak kecil tambahan
yang menempel disebelah kirinya.
2. Depedency
Sebuah dependency digunakan untuk menotasikan relasi antara dua komponen. Notasinya
adalah tanda panah putus-putus yang diarahkan kepada komponen tempat
sebuah komponen itu bergantung.
Contoh Component Diagram
Diployment Diagram
Menunjukkan bagaimana komponen dari keseluruhan sistem secara fisik
terhubung (yaitu seperti perangkat keras sistem yang berjalan dan bagaimana
semua dihubungkan).
Node digunakan untuk mengimplementasikan hardware pada sistem. Biasanya node
merepresentasikan :
• Server
• Desktop PC
• Disk drives
1. Node
Node digunakan untuk menggambarkan infrastruktur apa saja yang terdapat pada
sistem. Biasanya node digambarkan sebagai server, pc, dan lain-lain.
2. Component
Komponen digunakan untuk menggambarkan elemen-elemen apa saja yang terdapat
pada suatu node.
3. Link
Link digunakan untuk menghubungkan antar node yang saling berinteraksi.
Simbol Deployment Diagram
Contoh Deployment Diagram
Terima Kasih