Uml – Use case

Download Report

Transcript Uml – Use case

TEKNIK – TEKNIK ANALISA DESAIN
MENGGUNAKAN UML
PADA PERANCANGAN PROGRAM
BERBASISKAN OBJECT
How to Do OOAD
How to Do OOAD
OO Technology
OO Prog. Languages
(Smalltalk, C++)
OO Design
Process Perspective
just program!
(Booch)
design then
program
OO Analysis
Analyze (use case) first,
then design,
T
then program
(Rumbaugh, Jacobson)
4
Review Basic Principles of Object Orientation
 Abstraksi




(Abstraction)
Pembungkusan
(Encapsulation)
Pewarisan
(Inheritance)
Banyak Bentuk
(Polymorphism)
Pengiriman Pesan
(Message Sending)
5
Hmmm…
6
Animal
Lounge
Chair
Led
Zepplin
«SitsInA»
«DrinksA»
Dog
«GroovesTo»
Martini
«SmokesA»
Cigar
{WayLoud}
7
UML
Unified Modelling Language
Memvisualisasikan dan mendokumentasikan
hasil analisa dan desain.
 Unified karena …
 Mengkombinasikan metode OO yg sudah ada sebelumnya (Booch
by Grady Booch, OMT by Jim Rumbaugh and OOSE by Ivar
Jacobson)
 Modelling karena…
 Digunakan terutama untuk memodelkan sistem secara visual
 Language karena …
 Berisi sintak yang digunakan untuk memodelkan pengetahuan
What UML can do for you
Help you to:
 Memudahkan berpikir dan mendokumentasikan sistem








sebelum mengimplemntasikannya
“meramalkan” sistem
Menurunkan biaya pembangunan
Merencanakan dan menganalisa logika sistem(perilaku)
Membuat keputusan yang benar sedini mungkin
(sebelum melangkah ke coding)
Men-deploy sistem lebih baik, karena ada perencanaan
penggunaan memori dan prosesor yang efisien.
Lebih mudah memodifikasi/mengelola sistem yang
terdokumentasi dengan baik.
Biaya perawatan yang rendah
Membuat suatu bentuk komunikasi yang standar
ARTIFACT UML
(BAGAN YANG TERDAPAT PADA UML)
Class
Diagram
Use-Case
Diagram
State Diagram
add file
Writing
add file [ numberOffile==MAX ] /
flag OFF
Openning
Use Case 1
close file
Actor A
Actor B
close file
Reading
Use Case 2
Domain
Expert
Closing
<<entity>>
Customer
name
addr
receive()
withdraw()
fetch()
send()
Use Case 3
Deployment
Diagram
UI
Class
MFC
DocumentApp
ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨
- À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ®
- À©µµ¿ì NT: ÀÀ¿ë¼-¹ö
- À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼-¹ö ¹× µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö
- IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö
RogueWave
Repository
DocumentList
Windows95
Window95
Persistence
9: sortByName ( )
Windows95
global
¹®¼-°ü¸®
Ŭ¶óÀ̾ðÆ®.EXE
FileManager
¹®¼-°ü¸® ¾ÖÇø´
mainWnd : MainWnd
1: Doc view request ( )
Windows
NT
L
2: fetchDoc( )
gFile : GrpFile
4: create ( )
8: fillFile ( )
user : »ç¿ëÀÚ
User Interface
Definition
Package
Diagram
Document
Solaris
¹®¼-°ü¸® ¿£Áø.EXE
Alpha
UNIX
ÀÀ¿ë¼-¹ö.EXE
Windows
NT
GraphicFile
fileMgr : FileMgr
3: create ( )
File
IBM
Mainframe
FileList
6: fillDocument ( )
µ¥ÀÌŸº£À̽º¼-¹ö
7: readFile ( )
5: readDoc ( )
document : Document
repository : Repository
Collaboration Diagram
mainWnd
user
ƯÁ¤¹®¼-¿¡ ´ëÇÑ º¸±â¸¦
»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
fileMgr :
FileMgr
document :
Document
gFile repository
1: Doc view request ( )
Forward Engineering(Code Generation)
and
ComponentReverse Engineering
Diagram
Source Code edit, compile, debug, link
2: fetchDoc( )
3: create ( )
4: create ( )
5: readDoc ( )
È-ÀÏ°ü¸®ÀÚ´Â Àоî¿Â
¹®¼-ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
6: fillDocument ( )
7: readFile ( )
8: fillFile ( )
È-¸é °´Ã¼´Â ÀоîµéÀÎ
°´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î
Á¤·ÄÀ» ½ÃÄÑ È-¸é¿¡
º¸¿©ÁØ´Ù.
9: sortByName ( )
Sequence Diagram
Executable System
Use-Cases
 Use case menggambarkan proses system (kebutuhan
system dari sudut pandang user)
 actors mewakili peran orang atau piranti yang dimainkan
ketika sistem berfungsi
 Secara umum use case adalah:
 Pola perilaku system
 Urutan transaksi yang berhubungan yang dilakukan
oleh satu actor
 Use case diagram terdiri dari
 Use case
 Actors
 Relationship
 System boundary boxes (optional)
 Packages (optional)
LAMBANG USE CASE
Aktor
Usecase
Relasi Aktif
Catatan
Relasi Pasif
Generalisasi
<<include>>
Include
<<extend>>
extend
USE CASE
 Use case dibuat berdasar keperluan actor, merupakan “apa” yang





dikerjakan system, bukan “bagaimana” system mengerjakannya
Use case diberi nama yang menyatakan apa hal yang dicapai dari hasil
interaksinya dengan actor.
Use case dinotasikan dengan gambar (horizontal ellipse)
Use case biasanya menggunakan kata kerja
Nama use case boleh terdiri dari beberapa kata dan tidak boleh ada 2
use case yang memiliki nama yang sama.
Use case diagram tidak terpengaruh urutan waktu, meskipun demikian
supaya mudah dibaca perlu penyusunan use case
Beli Barang
Konsumen
Bayar
Jual
Barang
Beli Barang
Kasir
Kasir
Terima
Bayaran
Konsumen
Kasir
Bayar
Konsumen
USE CASE DIAGRAM
Buka Rekening
Simpan Uang
Nasabah
Simpan uang
harus diatas Rp.
200.000,-
Ambil Uang
Tutup
Rekening
Tutup
Rekening
Simpan Uang
Buka Rekening
Nasabah
Ambil Uang
ACTOR
 Actor menggambarkan orang, system atau external entitas / stakeholder






yang menyediakan atau menerima informasi dari system
Actor menggambarkan sebuah tugas/peran dan bukannya posisi sebuah
jabatan
Actor memberi input atau menerima informasi dari system
Actor biasanya menggunakan Kata benda
Tidak boleh ada komunikasi langsung antar actor
Indikasi <<system>> untuk sebuah actor yang merupakan sebuah system
Adanya actor bernama “Time” yang mengindikasikan scheduled events
(suatu kejadian yang terjadi secara periodik/bulanan)
Kasir
Konsumen
<<System Keuangan>>
Time
ACTOR-USE CASE DIAGRAM
 Letakkan actor utama anda pada pojok kiri atas dari diagram (in western
culture people read from left to right, top to bottom)
 Actor jangan digambarkan ditengah-tengah use cases (actors are placed to
the outside of the diagram, and not the middle of it)
Buka
Rekening
Buka
Rekening
Nabung
Nasabah
Ambil
Teller
Nasabah
Tutup
Rekening
Nabung
Use-Case Diagram
Saf eHome
Access camera
surveillance via t he
Int ernet
cameras
Conf igure Saf eHome
syst em paramet ers
homeowner
Set alarm
17
Association



Associations bukan menggambarkan aliran data/informasi
Associations digunakan untuk menggambarkan bagaimana
actor terlibat dalam use case
Ada 4 jenis relasi yang bisa timbul pada use case diagram
1.
Association antara actor dan use case
2.
Association antara use case
3.
Generalization/Inheritance antara use case
4.
Generalization/Inheritance antara actors
Association antara actor dan use case
 Ujung panah pada association antara actor dan use
case mengindikasikan siapa/apa yang meminta
interaksi dan bukannya mengindikasikan aliran
data
 Sebaiknya gunakan Garis tanpa panah untuk
Beli Barang
association antara actor dan use case
Konsumen
Kasir
Bayar
 association antara actor dan use case yang
menggunakan panah terbuka untuk
mengindikasikan bila actor berinteraksi secara
pasif dengan system anda
Beli Barang
Konsumen
Bayar
Kasir
Association - Use Case Diagram
<<include>>






termasuk didalam use case lain (required) / (diharuskan)
Pemanggilan use case oleh use case lain
contohnya adalah Pemanggilan sebuah fungsi program
Gambarkan association <<include>> secara horizontal
Tanda panah terbuka harus terarah ke sub use case
Tidak boleh actor dihubungkan pada use case <<include>>
Buka
Rekening
Buka
Rekening
<<include>>
catat
data pribadi
Buka
Rekening
<<include>>
Nasabah
catat
data pribadi
Buka
Rekening
Nasabah
Nasabah
<<include>>
catat
data
pribadi
Buka
Rekening
Nasabah
Nasabah
<<include>>
catat
data
pribadi
<<include>>
catat
data pribadi
Association antara use case (Lanjut)
 <<extend>>
 perluasan dari use case lain jika kondisi atau syarat terpenuhi
 Kurangi penggunaan association Extend ini, terlalu banyak
pemakaian association ini membuat diagram sulit dipahami.
 Tanda panah terbuka harus terarah ke parent/base use case
 Gambarkan association extend secara vertical
 Tidak boleh actor dihubungkan pada use case <<extend>>
Buka
Rekening
Buka
Rekening
<<extend>>
Nasabah
Nasabah
Buka
Deposito
Buka
Rekening
<<extend>>
Buka
Rekening
Buka
Deposito
<<extend>>
Nasabah
Nasabah
Buka
Deposito
<<extend>>
Buka
Deposito
Generalization/inheritance antara use case
 Generalization/inheritance digambarkan dengan sebuah garis
berpanah tertutup pada salah satu ujungnya yang menunjukkan lebih
umum
 Gambarkan generalization/inheritance antara use case secara vertical
dengan inheriting use case dibawah base/parent use case
 Generalization/inheritance dipakai ketika ada sebuah keadaan yang
lain sendiri/perlakuan khusus (single condition)
Buka
Rekening
Nasabah
Buka
Deposito
Generalization/inheritance antara actor
 Gambarkan generalization/inheritance antara actors
secara vertical dengan inheriting actor dibawah
base/parent use case
Use case System boundary boxes
 Digambarkan dengan kotak disekitar use case, untuk
menggambarkan jangkauan system anda (scope of of your
system).
 Biasanya digunakan apabila memberikan beberapa
alternative system yang dapat dijadikan pilihan
 System boundary boxes dalam penggunaannya optional
UCD Case Study (1/3)
Vending Machine
 After client interview the following system
scenarios were identified:



A customer buys a product
The supplier restocks the machine
The supplier collects money from the machine
 On the basis of these scenarios, the following
three actors can be identified:

Customer; Supplier; Collector
UCD Case Study (2/3)
UCD Case Study (3/3)
 Introducing annotations (notes) and constraints.
CONTOH
Now ask me what I think about tools…..
30
31