Upload
vodat
View
212
Download
0
Embed Size (px)
Citation preview
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: f illDocument ( )
4: create ( )
8: f illFile ( )
UI
MFC
RogueWave
global
DocumentApp
Persistence Window 95
¹®¼°ü¸® Ŭ¶óÀ̾ðÆ®.EXE
Window sNT
¹®¼°ü¸® ¿£Áø.EXE
Window sNT
Window s95
Solaris
ÀÀ¿ë¼¹ö.EXE
AlphaUNIX
IBM Mainframe
µ¥ÀÌŸº£À̽º¼¹ö
Window s95
¹®¼°ü¸® ¾ÖÇø´
ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨ - À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼¹ö ¹× µ¥ÀÌŸ ¼¹ö, Åë½Å ¼¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼¹ö, Åë½Å ¼¹ö
Document
FileManager
GraphicFile
File
Repository DocumentList
FileList
user
mainWnd fileMgr : FileMgr
repositorydocument : Document
gFile
1: Doc v iew request ( )
2: f etchDoc( )
3: create ( )
4: create ( )
5: readDoc ( )
6: f illDocument ( )
7: readFile ( )
8: f illFile ( )
9: sortBy Name ( )
ƯÁ¤¹®¼¿¡ ´ëÇÑ º¸±â ¦̧ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
ÈÀÏ°ü¸®ÀÚ´Â Àоî¿Â ¹®¼ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼ °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.
È¸é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È¸é¿¡ º¸¿©ÁØ´Ù.
Customernameaddr
withdraw()fetch()send()
receive()
<<entity>>
Forward Engineering(Code Generation)
and
Reverse Engineering
Executable System
User InterfaceDefinition
Domain Expert
Openning
Writing
ReadingClosing
add f ile [ numberOff ile==MAX ] / f lag OFF
add f ile
close f ile
close f ile
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
DIAGRAM-DIAGRAM DI UML
DeploymentDiagram
Use CaseDiagramsUse Case
DiagramsUse CaseDiagrams
ScenarioDiagramsScenario
DiagramsSequenceDiagrams
StateDiagramsState
DiagramsStateDiagrams
ComponentDiagramsComponent
DiagramsComponentDiagrams
Model
StateDiagramsState
DiagramsObjectDiagrams
ScenarioDiagramsScenario
DiagramsCollaborationDiagrams
Use CaseDiagramsUse Case
DiagramsActivityDiagrams
StateDiagramsState
DiagramsClassDiagrams
USE CASE DIAGRAM
• Menggambarkan fungsionalitas yang diharapkan dari sebuahsistem.
• Yang ditekankan adalah “apa” yang diperbuat sistem, danbukan “bagaimana”.
• Menggambarkan kebutuhan sistem dari sudut pandang user
• Mengfokuskan pada proses komputerisasi (automatedprocesses)
• Menggambarkan hubungan antara use case dan actor
USE CASE DIAGRAM(1)
• Use case menggambarkan proses system (kebutuhan sistemdari sudut pandang user)
• Secara umum use case adalah:
– Pola perilaku sistem
– Urutan transaksi yang berhubungan yang dilakukan olehsatu actor
• Use case diagram terdiri dari
a. Use case
b. Actors
c. Relationship
d. System boundary boxes (optional)
e. Packages (optional)
Use
case
Use case dibuat berdasar keperluan actor,merupakan “apa” yang dikerjakan system,bukan “bagaimana” system mengerjakannyaUse case biasanya menggunakan kata kerja
Actor Tidak boleh ada komunikasi langsung antar actor .
Actor menggambarkan sebuah tugas/peran dan
bukannya posisi sebuah jabatan
Actor memberi input atau menerima informasi dari
system.Actor biasanya menggunakan Kata benda
Assosiation
Garis tanpa
panah
Ujung panah pada association antara actor dan usecase mengindikasikan siapa/apa yang memintainteraksi dan bukannya mengindikasikan aliran data
Sebaiknya gunakan Garis tanpa panah untukassociation antara actor dan use case
Assosiation
Panah
Teerbuka
association antara actor dan use case yangmenggunakan panah terbuka untuk mengindikasikanbila actor berinteraksi secara pasif dengan systemanda
USE CASE DIAGRAM(2)
Association
• Associations bukan menggambarkan aliran data/informasi
• Associations digunakan untuk menggambarkan bagaimana actorterlibat 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 use case• <<include>> termasuk didalam use case lain (required)
/ (diharuskan)
– Pemanggilan use case oleh use case lain, contohnya adalahpemanggilan sebuah fungsi program
– Tanda panah terbuka harus terarah ke sub use case
– Gambarkan association include secara horizontal
Client Login
Client
Input
username dan
password
<<include>>
Daftar
<<extends>>
Isi Form daftar<<include>>
Association antara use case (Lanjut)
• <<extend>> perluasan dari use case lain jika kondisi atausyarat terpenuhi
– Kurangi penggunaan association Extend ini, terlalu banyakpemakaian association ini membuat diagram sulitdipahami.
– Tanda panah terbuka harus terarah ke parent/base usecase
– Gambarkan association extend secara vertical
Generalization/inheritance antara use case
• Generalization/inheritance digambarkan dengan sebuah garis berpanahtertutup pada salah satu ujungnya yang menunjukkan lebih umum
• Gambarkan generalization/inheritance antara use case secara verticaldengan inheriting use case dibawah base/parent use case
• Generalization/inheritance dipakai ketika ada sebuah keadaan yang lainsendiri/perlakuan khusus (single condition)
Buka
Rekening
Nasabah Buka
Deposito
Generalization/inheritance antara actor
• Gambarkan generalization/inheritance antara actors secaravertical dengan inheriting actor dibawah base/parent usecase
Admin
Pengaturan
Cara
Data Cara
Pesan<<include>>
Update
<<extends>>
Use case System boundary boxes
• Digambarkan dengan kotak disekitar use case, untukmenggambarkan jangkauan system anda (scope of of yoursystem).
• Biasanya digunakan apabila memberikan beberapa alternativesystem yang dapat dijadikan pilihan
• System boundary boxes dalam penggunaannya optional
CLASS DIAGRAM
• Adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkansebuah objek dan merupakan inti dari pengembangan dan desainberorientasi objek.
• Class menggambarkan keadaan (atribut/properti) suatu sistem,sekaligus menawarkan layanan untuk memanipulasi keadaantersebut (metoda/fungsi).
• Class diagram menggambarkan struktur dan deskripsi class,package dan objek beserta hubungan satu sama lain seperticontainment, pewarisan, asosiasi, dan lain-lain.
CLASS DIAGRAM(1)
• Class memiliki tiga area pokok :
1. Nama, merupakan nama dari sebuah kelas
2. Atribut, merupakan peroperti dari sebuah kelas. Atributmelambangkan batas nilai yang mungkin ada pada obyekdari class
3. Operasi, adalah sesuatu yang bisa dilakukan oleh sebuahclass atau yang dapat dilakukan oleh class lain terhadapsebuah class
CLASS DIAGRAM (LANJUTAN)
• Atribut dan metoda dapat memiliki salah satu sifat berikut :
– Private
– Protected
– Public
– Package
Nama Class
Atribut
Metode/operasi
HUBUNGAN ANTAR CLASS
1. Asosiasi, yaitu hubungan statis antar class.
2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiriatas..”).
3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapatditurunkan dari class lain dan mewarisi semua atribut danmetoda class asalnya dan menambahkan fungsionalitas baru.
4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain.
MULTIPLICITY
2..4
0..1
1..*
0..*
1
*
• Unspecified
• Exactly one
• Zero or more (many, unlimited)
• One or more
• Zero or one (optional scalar role)
• Specified range
• Multiple, disjoint ranges 2, 4..6
Class Diagram diperoleh berdasarkan dari database
Contoh Kasus (Acknowledgments Evi Lutfi Muktar)
Absensi Keluar
nip : text
nama : text
masuk : date/time
pulangt : date/time
tanggal : date/time
hari : int
- Cari
- Absen
- Masuk
- Keluar
- Pulang
Pegawai
nip : text
nama : text
jns_klm : text
tempat : text
tgl_lahir : text
agama : text
status : text
alamat : text
Gaji
nip : text
pks : currency
insentif : currency
tanspot : currency
fungsional : currency
gapok : currency
to_gaji : currency
nama_p : text
pot_sim_kop : currency
pot_sim_sk : currency
angs_pjm_kop : currency
asuransi : currency
gj_terima : currency
- Tambah
- Edit
- Hapus
- Cancel
- Simpan
- Keluar
Pendidikan
nip : text
nama : text
pendk : text
univ : text
jurusan : text
thn_lulus : text
- Tambah
- Edit
- Hapus
- Cancel
- Simpan
- Cari
- Keluar
Keluarga
nip : text
nama_peg : text
nama_istri_suami : text
status : text
kelamin : text
tempat : text
tgl_lahir : text
agama : text
nama_anak1 : text
jns_klmn : text
tmpt : text
tgl_lhr : text
nam_anak2 : text
jns_klm : text
tmpat : text
tgl_lhir : text
- Tambah
- Edit
- Hapus
- Cancel
- Simpan
- Cari
- Keluar
- Cetak
- Cari
- Keluar
1..1 1..1 1..~ 1..1
1..1
1..~1..~
Absensi Masuk
nip : text
nama : text
masuk : date/time
pulangt : date/time
tanggal : date/time
hari : int
- Cari
- Absen
- Masuk
- Keluar
- Pulang
1..~ 1..1
Statechart Diagram
Statechart diagram/ state diagram
digunakan untuk mendokumentasikanberagam kondisi/keadaan yang bisa terjaditerhadap sebuah class dan kegiatan apasaja yang dapat merubah kondisi/keadaantersebut.
Simbol simbol statechart diagram
State Notasi State menggambarkan kondisi
sebuahentitas, dan digambarkan dengan
segiempat yang pinggirnya tumpul
dengan nama state didalamnya State1
TransitionSebuah Transition menggambarkan sebuah
perubahan kondisi objek yang disebabkan oleh
sebuah event. Transition digambarkan dengan
sebuah anak panah dengan nama event yang
ditulis diatasnya, dibawahnya atau sepanjang
anak panah tersebut.
Transition
Initial Statesebuah kondisi awal sebuah
object sebelum ada perubahan keadaan. Initial
State digambarkan dengan sebuah lingkaran
solid. Hanya satu Initial State yang diizinkan
dalam sebuah diagram
Final Statemenggambarkan ketika objek berhenti
memberi respon terhadap sebuah event. Final
State digambarkan dengan lingkaran solid
didalam sebuah lingkaran kosong.
State1
Statechart Diagram• Statechart diagram menggambarkan transisi dan perubahan keadaan
(dari satu state ke state lainnya)
• Pada umumnya statechart diagram menggambarkan class tertentu(satu class dapat memiliki lebih dari satu statechart diagram).
• State digambarkan berbentuk segiempat dengan sudut membulat danmemiliki nama sesuai kondisinya
• Transisi antar state umumnya memiliki kondisi guard yang merupakansyarat terjadinya transisi yang bersangkutan, dituliskan dalam kurungsiku.
• Action yang dilakukan sebagai akibat dari event tertentu dituliskandengan diawali garis miring.
• Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuhdan berwarna setengah.
• Untuk memodelkan behavior/methode (lifecycle) sebuah kelas atau object
• Memperlihatkan urutan kejadian sesaat (state) yang dilalui sebuah object,transisi dari sebuah state ke state lainnya
Statechart diagram in versi 1.x
Sebuah state machine diagram mempunyai :• state (kejadian sesaat) are represented by the values of attributes of an
object
– State digambarkan dengan bentukData Kosong
atau
– “Black Hole” statesis state has transitions into it but none out
– Miracle statesis state has transitions out of it but none into it
Statechart diagram in versi 1.x
Data Kosong
Data Kosong
• Submachine State– Sejenis composite state
yang isinya didefinisikan oleh state machine lain
– State Machine yang berisi submachine state disebut “Containing state machine”
– Sebuah state yang dihubungkan ke state machine lainnya
– Dihubungkan ke satu/lebih entry point dan satu/lebih exit point
State 2
State 1
State 3
State 2
State 1
State 3
State 4
State 5
Statemachine Diagram in versi 1.x
NamaSubMachine:
Nama State machine
MasukBatalkan
State 0 : state
• Composite State– Kumpulan dari
beberapa states yang setidaknya dalam sebuah region
– Orthogonal State, jenis composite state lebih dari 1 region
– Digunakan untuk mendukung konsep encapsulation
– Sebuah state tidak boleh mempunyai region dan submachine secara bersamaan
– Nama state mempunyai sintaks : nama submachine state : referenced state machine
Sub States• Sebuah state yang ada dalam sebuah region
– Direct Substate, Sub state yang tidak berisi state lain
– Indirect Substate, Sub state yang berisi state lain
Region (kelompok state)• Dipisahkan dengan garis terputus, yang setiap
region boleh mempunyai nama sebagai optional• Sebuah state tidak boleh mempunyai region dan
submachine secara bersamaan
State terpisah menjadi 3 bagian yaitu• Activity label bisa berupa Entry, Exit atau do• Dimana Activity expression adalah penggunaan
atribut
State 2
State 1
State 3State 6
State 4
State 5
Statemachine Diagram in versi 1.x
NIP Kosong
Entry/isi NIP
Exit/
Help/Tekan F1
Klik
Double klik
Nama State
Internal Activity, kegiatan yang dilakukan dalam state
sintaks : Activity label/activity expression
Internal transition
Statemachine Diagram in versi 1.x• label on transition is in the format
event [guard][/methode list()]• event biasa dituliskan dengan past tense• event menyebabkan sebuah object berpindah dari satu state ke state lain• Guard, condition that must be true for the transition to be triggered
• Guard harus konsisten dan tidak overlapContoh: X<0, X=0 dan X>0 konsisten
X<=0 dan X>=0 tidak konsisten• Guards harus lengkap logikanya• Contoh: X<0 dan X>0 , bagaimana jika X=0 ?
• Methode dijalankan– ketika object memasuki state diindkasikan dengan methode bernama entry( )– ketika object keluar state diindikasikan dengan methode bernama exit( )
• Methode menyebabkan perubahan di sebuah state bisa juga tidak
• Join, menggabungkanbeberapa transition menjadisebuah transition
• Fork, memecah sebuahtransition menjadi beberapatransition yang berkondisiAND (transition harusdilewati semuanya).
• Junction, Menggabungkansebuah/beberapa transitiondan memecahnya menjadisebuah/beberapa transitionyang berkondisi AND(transition harus dilewatisemuanya).Digunakan tanda lingkaranhitam kecilContoh:
State 0 State 1
State 4State 3State 2
Event 1 [b<0] Event 2 [b<0]
[a>7][a<0][a=5]
• Dimungkinkan transition kesebuah state yang berisibeberapa state yangdisebut state list
State1, State2
State Machine Diagram (Statechart
diagram in versi 1.x)
• Choice, Mengkondisikan sebuah transition menjadi sebuah/beberapa transition, yang hanya dipilih salah satu transition(choice).– Digunakan lambang diamond – Operand dapat diletakkan didalam diamond atau pada transition
Contoh:
[>5]A
[<5][=5]
[A>5]
[A<5][A=5]
atau
NamaSubMachine:
Nama State machine
lagi
NamaSubMachine:
Nama State machine
batalkan
• Entry pointDilambangkan sebuah lingkarankecil yang ditaruh pada pinggiranstate(bisa juga didalam ataudiluar), dan berguna sebagaisubmachine state
• Exit pointDilambangkan sebuah lingkarankecil bersilang yang ditaruh padapinggiran state (bisa juga didalamatau diluar), dan berguna sebagaisubmachine state
State Machine Diagram (Statechart diagram in versi 1.x)
(LANJUTAN)
• State Machine Diagram ada 2 jenis– Behavioral State Machines– Protocol State Machines
• Tidak adanya internal activity seperti entry,exit,do• Transition pada Protocol State Machines harus
menggunakan Protocol Transition
• Protocol Transition– Sintaks : [pre condition] event / [post condition]– precondition atau postcondition adalah guard (Guard is
condition that must be true for the transition to be triggered)
– Precondition, kondisi sebelum transition– Postcondition, kondisi setelah transition
Door {protocol}
State Machine Diagram (Statechart diagram in versi 1.x)
(LANJUTAN)
Deployment Diagram
• Deployment/physical diagram menggambarkan detail bagaimanakomponen di-deploy dalam infrastruktur sistem, di manakomponen akan terletak (pada mesin, server atau piranti kerasapa), bagaimana kemampuan jaringan pada lokasi tersebut,spesifikasi server, dan hal-hal lain yang bersifat fisikal
• Node adalah server, workstation, atau piranti keras lain yangdigunakan untuk men-deploy komponen dalam lingkungansebenarnya. Hubungan antar node (misalnya TCP/IP) danrequirement dapat juga didefinisikan dalam diagram ini.
Component Diagram
• Component diagram menggambarkan struktur dan hubungan antarkomponen piranti lunak, termasuk ketergantungan (dependency) diantaranya.
• Komponen piranti lunak adalah modul berisi code, baik berisi sourcecode maupun binary code, baik library maupun executable, baik yangmuncul pada compile time, link time, maupun run time.
• Pada umumnya komponen terbentuk dari beberapa class dan/ataupackage, tapi dapat juga dari komponen-komponen yang lebih kecil.
• Komponen dapat juga berupa interface, yaitu kumpulan layanan yangdisediakan sebuah komponen untuk komponen lain.
Contoh kasus (Acknowledgments Toeko triyanto)
pengisian
data
isi ulang
simpan
kirim
data masukan
state chart diagram pendaftaran
pengisian
data
isi ulang
simpan
kirim
data masukan
statechart diagram pengisian data kwitansi.
TUGAS
Bobot 30% (design)
-Berdasarkkan tugas pada pertemuan sebelumnya
(Pengembangan dari program yang pernah
dibuat)Buatlah design UML dari sistem usulan
dengan apakah itu berupa program desktop,
web, animasi atau sistem pakar (pilih salah satu
)
(untuk pertemuan 4, 5 dan 6) buatlah rancangannya
dengan mengunakan Tools, misalnya : Enterprise
Architect , Rational Rose, Argo UML, Visual Paradigm dan
lain-lain, sesuai dengan Diagram yang telah dipelajari
diatas.
-Dikumpulkan berupa laporan