• Tidak ada hasil yang ditemukan

PERTEMUAN 4

N/A
N/A
Protected

Academic year: 2023

Membagikan "PERTEMUAN 4"

Copied!
45
0
0

Teks penuh

(1)

Pertemuan 4

(2)

ARTIFACT UML

Actor A

Use Case 1

Use Case 2

Actor B

user : »ç¿ëÀÚ

mainWnd : MainWnd

fileMgr : FileMgr

repository : Repository document : Document gFile : GrpFile

9: sortByName ( )

L1: Doc view request ( )

2: fetchDoc( )

5: readDoc ( ) 7: readFile ( )

3: create ( ) 6: fillDocument ( ) 4: create ( ) 8: fillFile ( )

GrpFile

read( ) open( ) create( ) fillFile( ) rep

Repository

name : char * = 0 readDoc( ) readFile( ) (from Persistence)

FileMgr

fetchDoc( ) sortByName( )

DocumentList

add( ) delete( )

Document name : int docid : int numField : int get( ) open( ) close( ) read( ) sortFileList( ) create( ) fillDocument( ) fList

1 FileList

add( )

delete( ) 1

File

read( )

read() fill the code..

UI

MFC

RogueWave

global DocumentApp

Persistence Window95

¹®¼­°ü¸®

Ŭ¶óÀ̾ðÆ®.EXE Windows

NT

¹®¼­°ü¸® ¿£Áø.EXE

WindowsNT Windows95

Solaris

ÀÀ¿ë¼­¹ö.EXE AlphaUNIX

IBM Mainframe

µ¥ÀÌŸº£À̽º¼­¹ö Windows95

¹®¼­°ü¸® ¾ÖÇø´

ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨

­ À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ®

­ À©µµ¿ì NT: ÀÀ¿ë¼­¹ö ­ À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼­¹ö ¹× µ¥ÀÌŸ ¼­¹ö, Åë½Å ¼­¹ö ­ IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼­¹ö, Åë½Å ¼­¹ö

Document FileManager

GraphicFile File

Repository DocumentList

FileList

user mainWnd fileMgr :

FileMgr

repository document : Document gFile

1: Doc view request ( )

2: fetchDoc( )

3: create ( )

4: create ( )

5: readDoc ( )

6: fillDocument ( )

7: readFile ( )

8: fillFile ( )

9: sortByName ( ) ƯÁ¤¹®¼­¿¡ ´ëÇÑ º¸±â¸¦

»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.

È­ÀÏ°ü¸®ÀÚ´Â Àоî¿Â

¹®¼­ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼­

°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.

È­¸é °´Ã¼´Â ÀоîµéÀÎ

°´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È­¸é¿¡

º¸¿©ÁØ´Ù.

Customer nameaddr withdraw()

fetch() send() receive()

<<entity>>

Forward Engineering(Code Generation) and

Reverse Engineering

Executable System User Interface

Definition Domain Expert

Openning

Writing

Reading Closing

add file [ numberOffile==MAX ] / flag OFF

add file

close file

close file

Use Case 3

Source Code edit, compile, debug, link Use-Case

Diagram Class Diagram

Collaboration Diagram

Sequence Diagram

Component Diagram

State Diagram

Package Diagram

Deployment Diagram Class

(3)

DIAGRAM-DIAGRAM DI UML

Deployment Diagram Use Case

DiagramsUse Case DiagramsUse Case

Diagrams

Scenario DiagramsScenario

DiagramsSequence Diagrams

State DiagramsState

DiagramsState Diagrams

Component DiagramsComponent

Diagrams

Component Diagrams Model

State DiagramsState

DiagramsObject Diagrams

Scenario DiagramsScenario

Diagrams Collaboration

Diagrams Use Case

DiagramsUse Case DiagramsActivity

Diagrams

State DiagramsState

DiagramsClass Diagrams

(4)

USE CASE DIAGRAM

• Menggambarkan fungsionalitas yang diharapkan dari sebuah sistem.

• Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”.

• Menggambarkan kebutuhan sistem dari sudut pandang user

• Mengfokuskan pada proses komputerisasi (automated processes)

• Menggambarkan hubungan antara use case dan actor

(5)

USE CASE DIAGRAM(1)

• Use case menggambarkan proses system (kebutuhan sistem dari sudut pandang user)

• Secara umum use case adalah:

• Pola perilaku sistem

• Urutan transaksi yang berhubungan yang dilakukan oleh satu actor

• Use case diagram terdiri dari a. Use case

b. Actors

c. Relationship

d. System boundary boxes (optional)

e. Packages (optional)

(6)

Use case

Use case dibuat berdasar keperluan actor, merupakan “apa” yang dikerjakan system, bukan “bagaimana” system mengerjakannya Use 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.Actorbiasanya menggunakan Kata benda

Assosiation Garis tanpa panah

Ujung panah pada association antara actor dan use case mengindikasikan siapa/apa yang meminta interaksi dan bukannya mengindikasikan aliran data Sebaiknya gunakan Garis tanpa panah untuk association antara actor dan use case

Assosiation Panah

Teerbuka

association antara actor dan use case yang menggunakan panah terbuka untuk mengindikasikan bila actor berinteraksi secara pasif dengan system anda

USE CASE DIAGRAM(2)

(7)

Association

Associations bukan menggambarkan aliran data/informasi

Associations digunakan untuk menggambarkan bagaimana actor terlibat 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

(8)

Association antara use case

• <<include>> termasuk didalam use case lain (required) / (diharuskan)

• Pemanggilan use case oleh use case lain, contohnya adalah pemanggilan sebuah fungsi program

• Tanda panah terbuka harus terarah ke sub use case

• Gambarkan association include secara horizontal

(9)

Association antara use case (Lanjut)

• <<extend>> perluasan dari use case lain jika kondisi atau syarat terpenuhi

• Kurangi penggunaan association Extend ini, terlalu banyak pemakaian association ini membuat diagram sulit dipahami.

• Tanda panah terbuka harus terarah ke parent/base use case

• Gambarkan association extend secara vertical

(10)

Generalization/inheritance antara use case

• Generalization/inheritance digambarkan dengan sebuah garis berpanah tertutup pada salah satu ujungnya yang menunjukkan lebih umum

• Gambarkan generalization/inheritance antara use case secara vertical dengan inheriting use case dibawah base/parent use case

• Generalization/inheritance dipakai ketika ada sebuah keadaan yang lain sendiri/perlakuan khusus (single condition)

Buka Rekening

Nasabah Buka

Deposito

(11)

Generalization/inheritance antara actor

• Gambarkan generalization/inheritance antara actors secara

vertical dengan inheriting actor dibawah base/parent use case

(12)

Use case System boundary boxes

• Digambarkan dengan kotak disekitar use case, untuk menggambarkan jangkauan system anda (scope of of your system).

• Biasanya digunakan apabila memberikan beberapa alternative system yang dapat dijadikan pilihan

• System boundary boxes dalam penggunaannya optional

(13)
(14)

CLASS DIAGRAM

Adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek.

Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).

Class diagram menggambarkan struktur dan deskripsi class, package

dan objek beserta hubungan satu sama lain seperti containment,

pewarisan, asosiasi, dan lain-lain.

(15)

CLASS DIAGRAM(1)

Class memiliki tiga area pokok :

1. Nama, merupakan nama dari sebuah kelas

2. Atribut, merupakan peroperti dari sebuah kelas. Atribut melambangkan batas nilai yang mungkin ada pada obyek dari class

3. Operasi, adalah sesuatu yang bisa dilakukan oleh

sebuah class atau yang dapat dilakukan oleh class lain

terhadap sebuah class

(16)

CLASS DIAGRAM (LANJUTAN)

• Atribut dan metoda dapat memiliki salah satu sifat berikut :

Private

Protected

Public

Package

Nama Class Atribut

Metode/operasi

(17)

HUBUNGAN ANTAR CLASS

1. Asosiasi, yaitu hubungan statis antar class.

2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).

3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru.

4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-

passing dari satu class kepada class lain.

(18)

CONTOH CLASS DIAGRAM

(19)

MULTIPLICITY

• Unspecified

• Exactly one

• Zero or more (many, unlimited)

• One or more

• Zero or one (optional scalar role)

• Specified range

• Multiple, disjoint ranges

2..4 0..1 1..*

0..*

1

*

2, 4..6

(20)

Class Diagram diperoleh berdasarkan dari database

Contoh Kasus

(Acknowledgments Evi Lutfi Muktar)

(21)

C ontoh Kasus (Acknowledgments Toeko triyanto)

pelanggan_reg no int(5) nomor_pelanggan varchar(12) nama_lengkap varchar(20) username varchar(13) password varchar(13) email varchar(30) cari() simpan() batal()

i_01 nomor_agenda int(5) tgl_agenda varchar(15) nomor_pelanggan varchar(12) nama pelanggan varchar(20) alamat_pelanggan varchar (30) no_ktp varchar(19) no_telpon varchar(13) tarif_lama varchar(2) daya_lama varchar(6) tarif_baru varchar(2) daya_baru varchar(6) peruntukan varchar(20) gardu varchar(20) status varchar(1) simpan() batal() 1 11 1

user id_user varchar(50) password varchar(50) nama_lengkap varchar(100) email varchar(100) bagian varchar(100) referensi varchar(100) level varchar(50)

n 11

n

master_tarif nomor int(5) peruntukan varchar(10) tarif varchar(2) daya varchar(10) bp int(10) ujl int(10) materai int(10)

kwitansi nomor_kwitansi int(5) tgl_kwitansi varchar(15) nomor_agenda int(5) nomor_pelanggan varchar(12) bp int(10) ujl int(10) materai int(10) total int(10) status int(1) userid varchar(10) simpan() batal() tambahkwitansi() cari() 1 nn 1

n

n n

n

perintah_kerja nomor_pk int(5) tgl_pk varhcar(15) no_kwitansi int(5) tgl_kwitansi varchar(15) status int(1) cari()

1 1 1 1

mutasi nomor_mutasi int(5) tgl_mutasi varchar(15) nomor_pk int(5) tgl_pk varchar(15) status int(1) cari()

1 1 1 1

master_status nomor_status int(1) keterangan varchar(15)

1 1 1 1 keluhan_pelanggan

id int(5) nomor_pelanggan varchar(12) nama_pelanggan varchar(20) email varchar(100) keluhan text kode_security varchar(6) simpan() batal()

tunggakan nomor_pelanggan varchar(20) tanggal_rekening varchar(15) rupiah_ptl int(15) tagihan_lain_lain int(15) ppn int(12) ppj int(15) materai int(7) total_tagihan int(15) tanggal_bayar varchar(15)

modul id_modul int(5) nama_modul varchar(50) link varchar(100) static_content text gambar varchar(100) publish enum('Y','N') status enum('user','admin','umum') aktif enum('Y','N') urutan int(5) simpan() batal()

master_pelanggan nomor_pelanggan varchar(12) nama_pelanggan varchar(20) penunjukan_alamat varchar (2) alamat_pelanggan varchar(18) nomor_bangunan varchar(3) nomor_rt int(3) nomor_rw int(2) golongan_tarif varchar(3) daya int(6) nomor_meter varchar(6) nomor_ktp varchar(20) telpon varchar(13) gardu varchar(20)

1 1

1 1

n

1 n

1

n 1

n 1

n

n

n

n

(22)

Statechart Diagram

Statechart diagram/ state diagram

digunakan untuk mendokumentasikan

beragam kondisi/keadaan yang bisa

terjadi terhadap sebuah class dan

kegiatan apa saja yang dapat merubah

kondisi/keadaan tersebut.

(23)

Simbol simbol statechart diagram State

Notasi State menggambarkan kondisi

sebuahentitas, dan digambarkan dengan segiempat yang pinggirnya tumpul

dengan nama state didalamnya

State1 Transition

Sebuah 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 State

sebuah 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 State

menggambarkan ketika objek berhenti

memberi respon terhadap sebuah event. Final State digambarkan dengan lingkaran solid didalam sebuah lingkaran kosong.

State1

(24)

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 dan memiliki nama sesuai kondisinya

Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku.

Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring.

Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.

(25)

Contoh statechart diagram

(26)

• 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

(27)

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” states

is state has transitions into it but none out

– Miracle states

is state has transitions out of it but none into it

Statechart diagram in versi 1.x

Data Kosong

(28)

• 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

Statemachine Diagram in versi 1.x

• 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

(29)

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

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

(30)

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 overlap

Contoh: 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

(31)

• Join, menggabungkan beberapa transition menjadi sebuah transition

• Fork, memecah sebuah transition menjadi beberapa transition yang berkondisi AND (transition harus dilewati semuanya).

• Junction, Menggabungkan sebuah/beberapa transition dan memecahnya menjadi sebuah/beberapa transition yang berkondisi AND (transition harus dilewati semuanya).

Digunakan tanda lingkaran hitam kecil

Contoh:

• Dimungkinkan transition ke sebuah state yang berisi beberapa state yang disebut state list

State1, State2

State Machine Diagram (Statechart diagram in

versi 1.x)

(32)

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

State Machine Diagram (Statechart diagram in versi 1.x) (LANJUTAN)

• Entry point

Dilambangkan sebuah lingkaran kecil yang ditaruh pada pinggiran state(bisa juga didalam atau diluar), dan berguna sebagai submachine state

• Exit point

Dilambangkan sebuah lingkaran kecil bersilang yang ditaruh pada pinggiran state (bisa juga didalam atau diluar), dan berguna sebagai submachine state

(33)

• 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

State Machine Diagram (Statechart diagram in versi 1.x) (LANJUTAN)

(34)

Contoh State Diagram

(35)

Deployment Diagram

Deployment/physical diagram

menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal- hal lain yang bersifat fisikal

Node

adalah server, workstation, atau piranti keras lain yang

digunakan untuk men-deploy komponen dalam lingkungan

sebenarnya. Hubungan antar node (misalnya TCP/IP) dan

requirement dapat juga didefinisikan dalam diagram ini.

(36)

Component Diagram

Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya.

Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time.

Pada umumnya komponen terbentuk dari beberapa class dan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil.

Komponen dapat juga berupa interface, yaitu kumpulan layanan yang

disediakan sebuah komponen untuk komponen lain.

(37)

Contoh : Component Diagram

applet1.class

Demo.html applet2.class

logo.gif

applet1.java

applet2.java

(38)

Contoh : Component & Deployment Diagram

(39)

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.

(40)

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

(41)

Latihan Soal

1. Diagram yang termasuk dalam artifact UML kecuali..

a. Use case Diagram d. Package Diagram

b. Class Diagram e. Deployment Diagram c. Development Digram

2. Konsumen menerima struk pembayaran actor use case diatas adalah

a. struk d. menerima

b. pembayaran e. data flow

c. konsumen

(42)

2. Konsumen menerima struk pembayaran actor use case diatas adalah

a. struk d. menerima

b. pembayaran e. data flow c. konsumen

3. Mendefinisikan perilaku objek termasuk kedalam salah satu jenis state machine diagram, yaitu

a. behavioral state machien d. use case diagram b. protocol state machine e. package diagram c. class state machine

Latihan Soal

(43)

4. Association menggambarkan..

a. aliran data

b. bagaimana actor terlibat dalam use case c. aliran informasi

d. aliran komunikasi

e. bagaimana actor terlibat dengan data

3. Mendefinisikan perilaku objek termasuk kedalam salah satu jenis state machine diagram, yaitu

a. behavioral state machien d. use case diagram b. protocol state machine e. package diagram c. class state machine

Latihan Soal

(44)

4. Association menggambarkan..

a. aliran data

b. bagaimana actor terlibat dalam use case c. aliran informasi

d. aliran komunikasi

e. bagaimana actor terlibat dengan data

5. Tiga area pokok dalam class diagram, yaitu a. aliran data, informasi dan komunikasi

b. nama, aliran data, operasi

c. aliran informasi, nama, atribut d. aliran komunikasi,operasi, nama e. nama, atribut, opersi

Latihan Soal

(45)

5. Tiga area pokok dalam class diagram, yaitu a. aliran data, informasi dan komunikasi

b. nama, aliran data, operasi

c. aliran informasi, nama, atribut d. aliran komunikasi,operasi, nama e. nama, atribut, opersi

1. Diagram yang termasuk dalam artifact UML kecuali..

a. Use case Diagram d. Package Diagram

b. Class Diagram e. Deployment Diagram c. Development Digram

Latihan Soal

Gambar

Diagram Class Diagram
1. Diagram yang termasuk dalam artifact UML kecuali..
1. Diagram yang termasuk dalam artifact UML kecuali..

Referensi

Dokumen terkait

Table 2 Interpretation of Levels Mean Score Interpretation of Levels 4.21 - 5.00 Very Good 3.41 - 4.20 Good 2.61 - 3.40 Enough 1.81 - 2.60 Less 1.00 - 1.80 Not Good