40
Pertemuan 4

PERTEMUAN 4 - nurrohmansite.files.wordpress.com · ARTIFACT UML Actor A Use Case 1 Use Case 2 Actor B Ú d r y t e)) L UI C e l p e Window95 ¹®¼°ü¸® Ŭ¶óÀ̾ðÆ®.EXE

  • Upload
    vodat

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Pertemuan 4

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.

Rohman
Textbox
Hubungan dinamis dapt digambarkan dengan squence diagram

CONTOH CLASS DIAGRAM

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

Contoh Kasus (Acknowledgments

Toeko triyanto)

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.

Contoh statechart diagram

• 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)

Contoh State Diagram

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 : Component Diagram

applet1.class

Demo.html applet2.class

logo.gif

applet1.java

applet2.java

Contoh : Component & Deployment Diagram

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