uml-100826083710-phpapp02_2

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

    [email protected]

  • 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