• Tidak ada hasil yang ditemukan

ARTIFACT UML. Openning. <<entity>> Customer name addr receive() withdraw() fetch() send() Class MFC. RogueWave. global. FileManager.

N/A
N/A
Protected

Academic year: 2021

Membagikan "ARTIFACT UML. Openning. <<entity>> Customer name addr receive() withdraw() fetch() send() Class MFC. RogueWave. global. FileManager."

Copied!
40
0
0

Teks penuh

(1)
(2)

ARTIFACT UML

Actor A Use Case 1 Use Case 2 Actor B us er : »ç¿ëÀÚ mainWnd : MainWnd fileMgr : FileMgr

repository : Repos itory document : Docum ent gFile : GrpFile

9: sortByName ( )

L

1: Doc view request ( ) 2: fetchDoc( ) 5: readDoc ( ) 7: readFile ( ) 3: create ( ) 6: fillDocument ( ) 4: create ( ) 8: fillFile ( ) UI MFC RogueWave global DocumentApp Persistence W indow95 ¹®¼-°ü¸® Ŭ ¶óÀÌ ¾ðÆ®. EXE W indowsNT ¹®¼-°ü¸® ¿ £Áø .EXE W indows NT W indows95 Solaris ÀÀ¿ë¼-¹ö. EXE Alpha UNIX I BM Mainf rame µ¥ÀÌŸº£ÀÌ ½º¼-¹ö W indows95 ¹®¼-°ü¸® ¾Ö Çø´ ºÐ»ê ȯ°æÀÇ ÇÏµå¿ þ¾î¹× ³× Æ®¿÷À¸· ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿ ¬ °á ¸ðµ¨ - À©µµ¿ ì 95 : Ŭ ¶óÀÌ¾ðÆ® - À©µµ¿ ì NT : ÀÀ¿ ë¼-¹ö - À¯´Ð½º ¸Ó ½Å: ÀÀ¿ë ¼-¹ö ¹× µ¥ÀÌ Å¸ ¼-¹ö, Åë½Å ¼-¹ö - I BM ¸ÞÀÎÇÁ· ¹ÀÓ : µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö Document FileManager GraphicFile File Repository DocumentList FileList user mainWnd fileMgr : FileMgr repository document : Document gFile

1: Doc v iew reques t ( ) 2: fetc hD oc( ) 3: create ( ) 4: create ( ) 5: readD oc ( ) 6: fillD oc ument ( ) 7: readFile ( ) 8: fillFile ( ) 9: sortBy N ame ( ) ƯÁ¤¹®¼-¿¡ ´ëÇ Ñ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ ´Ù. È-Àϰü¸®ÀÚ´Â Àоî¿Â ¹®¼-ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼- °´Ã¼¿¡ ¼³Á¤À» ¿äÃ»Ç Ñ ´Ù . È-¸é °´Ã¼´Â ÀÐ ¾îµéÀÎ °´Ã¼µé¿¡ ´ëÇ Ø À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È-¸é¿¡ º¸¿©ÁØ´Ù . Customer name addr 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)

(5)

• 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.Actor biasanya 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

(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

Client Login Client Input username dan password <<include>> Daftar <<extends>>

Isi Form daftar <<include>>

(9)

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

(11)

Generalization/inheritance antara actor

• Gambarkan generalization/inheritance antara actors secara

vertical dengan inheriting actor dibawah base/parent use case

Admin Pengaturan Cara Data Cara Pesan <<include>> Update <<extends>>

(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

(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 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

(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

(18)
(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)

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

(21)
(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)

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.

(24)

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

State Machine Diagram (Statechart diagram in

versi 1.x)

• Untuk memodelkan behavior/methode (lifecycle) sebuah kelas atau object • Memperlihatkan urutan kejadian sesaat (state) yang dilalui sebuah object,

(27)

State Machine Diagram (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” states

is state has transitions into it but none out

– Miracle states

is state has transitions out of it but none into it

Data Kosong

(28)

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

• 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 NamaSubMachine: Nama State machine Masuk Batalkan 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

(29)

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

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 3 State 6 State 4 State 5 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

(30)

State Machine Diagram (Statechart 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)

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

• 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: State 0 State 1 State 4 State 3 State 2 Event 1 [b<0] Event 2 [b<0] [a>7] [a<0] [a=5] • Dimungkinkan transition ke sebuah state yang berisi

beberapa state yang

disebut state list

State1, State2

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

[>5]

A

[<5]

[=5]

[A>5]

[A<5]

[A=5]

atau

NamaSubMachine: Nama State machine

lagi

NamaSubMachine: Nama State machine

batalkan

• 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 (Statechart diagram in versi 1.x)

• 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

(34)
(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

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

(40)

Bobot 30% (design)

Tugas : - 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.

Gambar

Diagram  Class Diagram

Referensi

Dokumen terkait

Dalam studi pengamblesan tanah di daerah perkotaan, metode geometris-sejarah harus digunakan dengan cara gratis dengan teknik pengukuran geodetik lainnya, dan kadang- kadang

Pengaitan istilah tindakan dan penelitian menonjolkan ciri inti metode penelitian tindakan yakni mencobakan gagasan-gagasan baru dalam praktik sebagai alat untuk

Berdasarkan hasil penelitian yang telah didapatkan tentang pengaruh terapi Murottal Al-Qur’an terhadap penurunan intensitas nyeri ibu bersalin kala I fase aktif di

Dalam Penelitian “Strategi China Dalam Memberantas Kejahatan Perompakan Di Perairan Somalia Tahun 2008-2012” penulis fokus pada strategi strategi yang dilancarkan oleh China

Pengukuran kinerja profitabiltas setiap perbankan syariah yang dihitung dengan menggunakan metode Comparative Performance Index (CPI) sedangkan pengukuran kinerja

Puji dan Syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, karena atas rahmat dan karunia-Nya penulis dapat menyelesaikan Laporan Akhir yang berjudul “ Pembuatan Membran

Emisi dari PLTU baik yang telah beroperasi maupun yang direncanakan akan meningkatkan risiko kesehatan pada seluruh penduduk Jabodetabek – termasuk diantaranya 7,8 juta anak-anak

Dilakukan pemeriksaan untuk mendapatkan rumus yang paling cocok digunakan dengan menelaah deviasi antara data terukur dan hasil prediksi, maka rumus dengan deviasi rata-rata