Anda di halaman 1dari 45

UML (Unified Modeling Language)

Versi 1.7 (Nov 06) Yudi Wibisono yudi@upi.edu

Apa UML?
Bahasa pemodelan perangkat lunak notasi untuk mengeskpresikan model Analogi: bahasa pemodelan bidang arsitek, sipil:

Apa UML? (lanj)


Bahasa pemodelan untuk bidang perangkat lunak:

Apa UML?
Latar belakang UML
90-an, terlalu banyak notasi sehingga membingungkan developer Perlu satu bahasa standard: UML 1.0 muncul tahun pada 97. UML 2.0 (2004)

UML bukan metodologi. UML independent terhadap proses, independen terhadap bahasa pemrograman. Analogi dengan bahasa manusia Bahasa dapat
digunakan untuk membuat novel, puisi, berita, prosa dst. Bahasa tidak mendikte bagaimana karangan tersebut di buat.
4

Mengapa menggunakan UML


Analogi: mengapa belajar bahasa Inggris? Standard notasi untuk software development di berbagai perusahaan
nilai tambah saat wawancara kerja!

Tersedia banyak tools Bahasanya lengkap dan ekspresif.

Elemen UML?
13 Diagram (tidak semua harus digunakan!) Structure Diagrams: Class Diagram, Object Diagram, 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.
6

Diagram yang umum digunakan di tahap requirement Use case diagram Activity diagram

Use Case Diagram (UCD)

Overview Use Case Diagram


Diagram yang memperlihatkan relasi antara aktor dan use case di dalam system. Umumnya digunakan pada tahap requirement.

Fungsi UCD
Memperlihatkan aspek fungsional sebuah sistem (apa yang dapat dikerjakan sistem). Memperlihatkan cakupan sistem batasan sistem

10

Elemen UCD: Use Case


Use Case:
Aksi yang bermanfaat bagi actor, yang harus disediakan sistem. Judul use case: kata kerja

11

Elemen UCD (Lanj): Actor


Orang/organisasi/mesin yang berinteraksi dengan sistem Sesama actor tidak saling berinteraksi

Actor

12

Elemen UCD: Relationship


Asosiasi antara actor dan use case. Asosiasi antara dua use case Generalisasi antara dua actor Generalisasi antara dua use case

13

UCD: Relationship (lanj)

Asosiasi Generalisasi Generalisasi

http://www.agilemodeling.com/images/style/useCaseRelationships.gif
14

UCD:Kotak Batasan System


Opsional
Kotak Batasan

15

Use Case: pengunaan


Bukan digunakan untuk menggambar kan urutan! gunakan activity diagram
16

Activity Diagram

17

Overview Activity Diagram


Fokus terhadap aspek keterurutan aksi. Menyerupai flow chart.

18

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)

19

Elemen Activity Diagram


Start point
action Fork paralel

20

Elemen Activity Diagram (2)


Branch percabangan

Merge percabangan selesai End point

Join aktivitas paralel harus selesai semua baru dilanjutkan 21

Activity Diagram: Swimline


actor

Pengelompokan aktivitas yang dilakukan oleh suatu actor

actor

actor
22

State Machine Diagram

http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/state2.jpg

23

Overview State Diagram


Mendeskripsikan tingkah laku sistem. Fokus terhadap state dan transisinya

24

Fungsi State Diagram


Menjelaskan lebih detil tingkah laku sebuah objek. Mirip dengan activity diagram? Perbedaanya?

25

Elemen State Diagram


State: terdiri atas nama state dan aksi Transisi (umumnya dengan kondisi)

26
Gambar: http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/images/state0.jpg

Elemen State Diagram:supersate

Superstate mencakup beberapa state

27

State Diagram vs Activity Diagram


Tujuan
Activity diagram business rule (user friendly) State diagram internal sistem (developer friendly)

State diagram dapat digunakan untuk menggambarkan activity diagram, tapi tidak sebaliknya. State diagram dapat menggambarkan trasisi yang lebih rumit

28

Class Diagram

http://www.agilemodeling.com/images/models/classDiagramInitial.jpg

29

Overview Class Diagram


Elemen terpenting dalam perancangan dan analisis menggunakan OOA dan OOD. Memperlihatkan class (atribut dan method) dan relasinya (inheritance, asosiasi, agregasi)

30

Elemen Class Diagram: Class


Nama kelas

- private + public # protected

atribut

method

31 http://www.agilemodeling.com/images/style/classDiagramAnalysisVsDesign.gif

Elemen Class: Asosiasi


Multiplicity Indicators: 0..1, 1 , 0..*, 1..*, 0..N Contoh:

32

http://www.agilemodeling.com/images/models/classDiagramAssocationNotation.jpg

Elemen Class: Inheritance


Garis dengan segitiga

Inheri tance

33

http://www.agilemodeling.com/images/style/classDiagramPersonAddress.gif

Inheritance: contoh lain

http://www.agilemodeling.com/images/models/classDiagramInheritance.jpg
34

Elemen Class: Agregasi dan Composition dari objek Agregasi: Objek yang terdiri
lainnya. Composition: Lebih ketat dari agregasi
agregasi
STUDENT CLUB

compo sition

35

Object Diagram/Instance Diagram


BUDI: MAHASISWA AHMAD: MAHASISWA

TRANSKRIP BUDI: TRANSKRIP

TRANSKRIP AHMAD: TRANSKRIP

RPL-LANJUT: MATAKULIAH

BASISDATA: MATAKULIAH

36

Overview Object Diagram


Mengambarkan instance dari class (Object) dan interaksinya. Menjelaskan lebih lanjut diagram class

37

Elemen Objek Diagram


Objek: Gunakan underline (garis bawah) pada nama objek. Format: Nama Objek: Nama Class atau Nama Class saja Contoh: BUDI:MAHASISWA atau :MAHASISWA
AHMAD: MAHASISWA :MAHASISWA

38

Sequence Diagram

http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure4.jpg

39

Sequence Diagram
Menggambarkan urutan interaksi antar objek. Menggambarkan aspek dinamis dari sistem (bandingkan dengan class diagram dan objek diagram yang menggambarkan aspek statis)

40

Elemen Sequence Diagram


Dua

elemen utama: Objek dan Message.

41

Elemen Sequence: Message ke dirinya sendiri (lanj)

42

Elemen Sequence Diagram : Guard

http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure7.jpg

43

Elemen Sequence Diagram: Alternative


http://www128.ibm.com/developerworks/rational/library/content/ RationalEdge/feb04/3101_figure8.jpg

44

Elemen Sequence Diagram: Loop

http://www-128.ibm.com/developerworks/rational/library/content/RationalEdge/feb04/3101_figure10_small.jpg

45

Anda mungkin juga menyukai