Upload
ieta-key
View
215
Download
0
Embed Size (px)
Citation preview
7/31/2019 uml-100826083710-phpapp02_2
1/45
1
UML
(Unified Modeling Language)Versi 1.7 (Nov 06)
Yudi Wibisono
7/31/2019 uml-100826083710-phpapp02_2
2/45
2
Apa UML?
Bahasa pemodelan perangkat lunak notasi untuk mengeskpresikan model
Analogi: bahasa pemodelan bidang
arsitek, sipil:
7/31/2019 uml-100826083710-phpapp02_2
3/45
3
Apa UML? (lanj)
Bahasa pemodelan untuk bidang
perangkat lunak:
7/31/2019 uml-100826083710-phpapp02_2
4/45
4
Apa UML?
Latar belakang UML 90-an, terlalu banyak notasi sehingga
membingungkan developer
Perlu satu bahasa standard: UML 1.0 muncul tahunpada 97. UML 2.0 (2004)
UML bukan metodologi.
UML independent terhadap proses, independenterhadap bahasa pemrograman.
Analogi dengan bahasa manusia Bahasa dapatdigunakan untuk membuat novel, puisi, berita, prosa dst. Bahasatidak mendikte bagaimana karangan tersebut di buat.
7/31/2019 uml-100826083710-phpapp02_2
5/45
5
Mengapa menggunakan UML
Analogi: mengapa belajar bahasa Inggris?
Standard notasi untuk software
development di berbagai perusahaannilai tambah saat wawancara kerja!
Tersedia banyak tools
Bahasanya lengkap dan ekspresif.
7/31/2019 uml-100826083710-phpapp02_2
6/45
6
Elemen UML?
13 Diagram (tidak semua harus digunakan!)
Structure Diagrams: Class Diagram, ObjectDiagram, Component Diagram, Composite
Structure Diagram, Package Diagram,Deployment Diagram.
Behavior Diagrams:Use Case Diagram,Activity Diagram, dan State Machine Diagram.
Interaction Diagrams:Sequence Diagram,Communication Diagram, Timing Diagram,Interaction Overview Diagram.
7/31/2019 uml-100826083710-phpapp02_2
7/45
7
Diagram yang umum digunakan di
tahap requirement
Use case diagram
Activity diagram
7/31/2019 uml-100826083710-phpapp02_2
8/45
8
Use Case Diagram (UCD)
7/31/2019 uml-100826083710-phpapp02_2
9/45
9
Overview Use Case Diagram
Diagram yang memperlihatkan relasi
antara aktor dan use case di dalam
system.
Umumnya digunakan pada tahap
requirement.
7/31/2019 uml-100826083710-phpapp02_2
10/45
10
Fungsi UCD
Memperlihatkan aspek fungsional sebuah
sistem (apa yang dapat dikerjakan
sistem).
Memperlihatkan cakupan sistem
batasan sistem
7/31/2019 uml-100826083710-phpapp02_2
11/45
11
Elemen UCD: Use Case
Use Case:
Aksi yang bermanfaat bagi actor, yang harus
disediakan sistem.
Judul use case: kata kerja
7/31/2019 uml-100826083710-phpapp02_2
12/45
12
Elemen UCD (Lanj): Actor
Orang/organisasi/mesin yang berinteraksi
dengan sistem
Sesama actor tidak saling berinteraksi
Actor
7/31/2019 uml-100826083710-phpapp02_2
13/45
13
Elemen UCD: Relationship
Asosiasi antara actor dan use case.
Asosiasi antara dua use case
Generalisasi antara dua actor Generalisasi antara dua use case
7/31/2019 uml-100826083710-phpapp02_2
14/45
14
UCD: Relationship (lanj)
http://www.agilemodeling.com/images/style/useCaseRelationships.gif
Asosiasi
GeneralisasiGenera-
lisasi
7/31/2019 uml-100826083710-phpapp02_2
15/45
15
UCD:Kotak Batasan System
OpsionalKotak
Batasan
7/31/2019 uml-100826083710-phpapp02_2
16/45
16
Use Case:
pengunaan
Bukandigunakan
untuk
menggambarkan urutan!
gunakan
activitydiagram
7/31/2019 uml-100826083710-phpapp02_2
17/45
17
Activity Diagram
7/31/2019 uml-100826083710-phpapp02_2
18/45
18
Overview
Activity Diagram
Fokus terhadap
aspek keterurutan
aksi.
Menyerupai flow
chart.
7/31/2019 uml-100826083710-phpapp02_2
19/45
19
Fungsi Activity Diagram
Menjelaskan lebih detil use case.
Menjelaskan bisnis rule yang kompleks.
Menjelaskan algoritma yang kompleks. Pengganti flow chart dan data flow
diagram (DFD)
7/31/2019 uml-100826083710-phpapp02_2
20/45
20
Elemen Activity Diagram
action
Start point
Fork
paralel
7/31/2019 uml-100826083710-phpapp02_2
21/45
21
Elemen Activity Diagram (2)
Branch
percabangan
Merge
percabangan
selesaiJoin aktivitas
paralel harus selesai
semua baru
dilanjutkan
End point
7/31/2019 uml-100826083710-phpapp02_2
22/45
22
Activity Diagram: Swimline
Pengelompokan aktivitas yangdilakukan oleh suatu actoractor
actor
actor
7/31/2019 uml-100826083710-phpapp02_2
23/45
23
State Machine Diagram
http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/state2.jpg
7/31/2019 uml-100826083710-phpapp02_2
24/45
24
Overview State Diagram
Mendeskripsikan tingkah laku sistem.
Fokus terhadap state dan transisinya
7/31/2019 uml-100826083710-phpapp02_2
25/45
25
Fungsi State Diagram
Menjelaskan lebih detil tingkah laku
sebuah objek.
Mirip dengan activity diagram?
Perbedaanya?
7/31/2019 uml-100826083710-phpapp02_2
26/45
26
Elemen State Diagram
State: terdiri atas nama
state dan aksi
Transisi (umumnya
dengan kondisi)
Gambar: http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/state0.jpg
7/31/2019 uml-100826083710-phpapp02_2
27/45
27
Elemen State Diagram:supersate
Superstate
mencakupbeberapa
state
7/31/2019 uml-100826083710-phpapp02_2
28/45
28
State Diagram vs Activity Diagram
Tujuan
Activity diagram business rule (user friendly)
State diagram internal sistem (developer friendly)
State diagram dapat digunakan untukmenggambarkan activity diagram, tapi tidak
sebaliknya.
State diagram dapat menggambarkan trasisi
yang lebih rumit
7/31/2019 uml-100826083710-phpapp02_2
29/45
29
Class Diagram
http://www.agilemodeling.com/images/models/classDiagramInitial.jpg
7/31/2019 uml-100826083710-phpapp02_2
30/45
30
Overview Class Diagram
Elemen terpenting dalam perancangan
dan analisis menggunakan OOA dan
OOD.
Memperlihatkan class (atribut dan method)
dan relasinya (inheritance, asosiasi,
agregasi)
7/31/2019 uml-100826083710-phpapp02_2
31/45
31
Elemen Class Diagram: Class
http://www.agilemodeling.com/images/style/classDiagramAnalysisVsDesign.gif
Namakelas
atributmethod
- private
+ public
# protected
7/31/2019 uml-100826083710-phpapp02_2
32/45
32
Elemen Class: Asosiasi
Multiplicity Indicators:
0..1, 1 , 0..*, 1..*, 0..N
Contoh:
http://www.agilemodeling.com/images/models/classDiagramAssocationNotation.jpg
7/31/2019 uml-100826083710-phpapp02_2
33/45
33
Elemen Class: Inheritance
Garis dengan segitiga
Inheri
tance
http://www.agilemodeling.com/images/style/classDiagramPersonAddress.gif
7/31/2019 uml-100826083710-phpapp02_2
34/45
34
Inheritance: contoh lain
http://www.agilemodeling.com/images/models/classDiagramInheritance.jpg
7/31/2019 uml-100826083710-phpapp02_2
35/45
35
Elemen Class: Agregasi dan
Composition Agregasi: Objek yang terdiri dari objek
lainnya.
Composition: Lebih ketat dari agregasiagregasi
compo
sition
STUDENTCLUB
7/31/2019 uml-100826083710-phpapp02_2
36/45
36
Object Diagram/Instance
DiagramBUDI:
MAHASISWA
AHMAD:
MAHASISWA
RPL-LANJUT:
MATAKULIAH
TRANSKRIP BUDI:
TRANSKRIP
TRANSKRIP AHMAD:
TRANSKRIP
BASISDATA:
MATAKULIAH
7/31/2019 uml-100826083710-phpapp02_2
37/45
37
Overview Object Diagram
Mengambarkan instance dari class
(Object) dan interaksinya.
Menjelaskan lebih lanjut diagram class
7/31/2019 uml-100826083710-phpapp02_2
38/45
38
Elemen Objek Diagram
Objek: Gunakan underline (garis bawah)
pada nama objek.
Format: Nama Objek: Nama ClassatauNamaClasssaja Contoh:BUDI:MAHASISWA atau :MAHASISWA
AHMAD: MAHASISWA :MAHASISWA
7/31/2019 uml-100826083710-phpapp02_2
39/45
39
Sequence Diagram
http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure4.jpg
7/31/2019 uml-100826083710-phpapp02_2
40/45
40
Sequence Diagram
Menggambarkan urutan interaksi antarobjek.
Menggambarkan aspek dinamis dari
sistem (bandingkan dengan class diagram
dan objek diagram yang menggambarkan
aspek statis)
7/31/2019 uml-100826083710-phpapp02_2
41/45
41
Elemen Sequence Diagram
Dua elemen utama: Objek dan Message.
7/31/2019 uml-100826083710-phpapp02_2
42/45
42
Elemen Sequence: Message ke
dirinya sendiri (lanj)
El S Di
7/31/2019 uml-100826083710-phpapp02_2
43/45
43
Elemen Sequence Diagram :
Guard
http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure7.jpg
7/31/2019 uml-100826083710-phpapp02_2
44/45
44
Elemen
Sequence
Diagram:
Alternative
http://www-
128.ibm.com/developerworks/rational/library/content/
RationalEdge/feb04/3101_figure8.jpg
7/31/2019 uml-100826083710-phpapp02_2
45/45
45
Elemen Sequence Diagram: Loop
http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure10_small.jpg