• Tidak ada hasil yang ditemukan

Think Different Materi APS: UML-Use Case Uml Use case

N/A
N/A
Protected

Academic year: 2017

Membagikan "Think Different Materi APS: UML-Use Case Uml Use case"

Copied!
31
0
0

Teks penuh

(1)
(2)
(3)
(4)

4

How to Do OOAD

OO Prog. Languages

(Smalltalk, C++) just program!

OO Design

(Booch) design then

program

OO Analysis

(Rumbaugh, Jacobson)

Process Perspective OO Technology

(5)

5

Review Basic Principles of Object

Orientation

Abstraksi

(Abstraction)

Pembungkusan

(Encapsulation)

Pewarisan

(Inheritance)

Banyak Bentuk

(Polymorphism)

Pengiriman

(6)
(7)
(8)

UML

Unified Modelling Language

Memvisualisasikan dan

mendokumentasikan hasil analisa dan

desain.

Unified karena …

 Mengkombinasikan metode OO yg sudah ada sebelumnya

(Booch by Grady Booch, OMT by Jim Rumbaugh and OOSE by Ivar Jacobson)

Modelling karena…

 Digunakan terutama untuk memodelkan sistem secara visual

Language karena …

 Berisi sintak yang digunakan untuk memodelkan

(9)

What UML can do for you

Help you to:

Memudahkan berpikir dan mendokumentasikan

sistem sebelum mengimplemntasikannya

“meramalkan” sistem

Menurunkan biaya pembangunan

Merencanakan dan menganalisa logika

sistem(perilaku)

Membuat keputusan yang benar sedini mungkin

(sebelum melangkah ke coding)

Men-deploy sistem lebih baik, karena ada

perencanaan penggunaan memori dan prosesor

yang efisien.

Lebih mudah memodifikasi/mengelola sistem yang

terdokumentasi dengan baik.

Biaya perawatan yang rendah

(10)

ARTIFACT UML

(BAGAN YANG TERDAPAT PADA UML)

Actor A

Use Case 1 Use Case 2

Actor B

user : »ç¿ëÀÚ mainWnd : MainWnd

fileMgr : FileMgr

repository : Repository document : Document gFile : GrpFile 9: sortByName ( )

L

1: 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 Windows

NT Windows95

Solaris ÀÀ¿ë¼ ¹ö .EXE

Alpha UNIX IBM M ainframe µ¥ÀÌŸº£À̽º¼ ¹ö Windows95 ¹®¼ °ü¸® ¾ÖÇø´ ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨ - À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼ ¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼ ¹ö ¹× µ¥ÀÌŸ ¼ ¹ö, Åë½Å ¼ ¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼ ¹ö, Åë½ Å ¼ ¹ö

Document FileManager GraphicFile File Repository DocumentList FileList user mainWndfileMgr :

FileMgr document : DocumentgFilerepository

1: D oc vi ew reque st ( ) 2: fetchD oc( )

3: cr eate ( ) 4: cr eate ( )

5: readDoc ( ) 6: fill Document ( )

7 : readFile ( ) 8: fillFile ( ) 9: sortByNam e ( ) ƯÁ¤¹®¼ ¿¡ ´ëÇ Ñ º¸±â¸¦ »ç¿ëÀ Ú°¡ ¿äûÇÑ ´Ù . È ÀÏ°ü¸ ®ÀÚ´Â Àо î¿Â ¹ ®¼ ÀÇ Á¤º¸¸¦ ÇØ´ç ¹® ¼ °´Ã ¼¿ ¡ ¼³Á¤À» ¿äûÇÑ ´Ù . È ¸é °´Ã ¼´Â ÀÐ ¾îµéÀÎ °´ üµé¿¡ ´ëÇØ À̸§º°·Î Á¤·Ä À» ½ÃÄÑ È ¸ é¿¡ º¸¿©ÁØ´Ù . 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

(11)

Use case menggambarkan proses system

(kebutuhan system dari sudut pandang user)

actors

actors

mewakili peran orang atau piranti yang

dimainkan ketika sistem berfungsi

Secara umum use case adalah:

Pola perilaku system

Urutan transaksi yang berhubungan yang

dilakukan oleh satu actor

Use case diagram terdiri dari

Use case

Actors

Relationship

System boundary boxes (optional)

Packages (optional)

(12)

LAMBANG

USE

CASE

Aktor Usecase

Catatan Relasi Aktif

<<include>> Include <<extend>> extend

(13)

USE CASE

Use case dibuat berdasar keperluan actor, merupakan “apa”

yang dikerjakan system, bukan “bagaimana” system mengerjakannya

Use case diberi nama yang menyatakan apa hal yang

dicapai dari hasil interaksinya dengan actor.

Use case dinotasikan dengan gambar (horizontal ellipse)

Use case biasanya menggunakan kata kerja

Nama use case boleh terdiri dari beberapa kata dan tidak

boleh ada 2 use case yang memiliki nama yang sama.

Use case diagram tidak terpengaruh urutan waktu,

(14)

USE

CASE

DIAGRAM

B u k a R e k e n in g

S im p a n U a n g

A m b il U a n g T u t u p R e k e n in g N a s a b a h

S im p a n u a n g h a r u s d ia t a s R p .

2 0 0 . 0 0 0 ,

-B u k a R e k e n i n g S i m p a n U a n g

A m b i l U a n g T u t u p R e k e n i n g

(15)

ACTOR

Actor menggambarkan orang, system atau external entitas /

stakeholder yang menyediakan atau menerima informasi dari system

Actor menggambarkan sebuah tugas/peran dan bukannya

posisi sebuah jabatan

Actor memberi input atau menerima informasi dari system

Actor biasanya menggunakan Kata benda

Tidak boleh ada komunikasi langsung antar actor

Indikasi <<system>> untuk sebuah actor yang merupakan

sebuah system

Adanya actor bernama “Time” yang mengindikasikan

(16)

ACTOR-USE CASE DIAGRAM

Letakkan actor utama anda pada pojok kiri atas dari diagram (in

western culture people read from left to right, top to bottom)

Actor jangan digambarkan ditengah-tengah use cases (actors are

(17)

17

Use-Case Diagram

homeowner

Access camera surveillance via the

Internet

Configure SafeHome system parameters

Set alarm

cameras

(18)

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

(19)

Association antara actor dan use

case

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

association antara actor dan use case yang

menggunakan

panah terbuka

untuk

mengindikasikan bila actor berinteraksi

(20)

Association

- Use Case Diagram

<<include>>

termasuk didalam use case lain (required) / (diharuskan) Pemanggilan use case oleh use case lain

contohnya adalah Pemanggilan sebuah fungsi program

Gambarkan association <<include>> secara horizontal

Tanda panah terbuka harus terarah ke sub use case

Tidak boleh actor dihubungkan pada use case <<include>>

B u k a R e k e n i n g

< < i n c l u d e > > c a t a t

d a t a p r i b a d i N a s a b a h

B u k a R e k e n in g

< < in c l u d e > > c a t a t d a t a p r ib a d i N a s a b a h

B u k a R e k e n i n g

(21)

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

Tidak boleh actor dihubungkan pada use case <<extend>>

Association antara use case

(Lanjut)

B u k a R e k e n i n g

N a s a b a h

< < e x t e n d > > B u k a D e p o s i t o

B u k a R e k e n i n g

< < e x t e n d > > B u k a

D e p o s i t o N a s a b a h

<<extend>>

(22)
(23)

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) B u k a

R e k e n i n g

(24)

Generalization/inheritance

antara actor

Gambarkan generalization/inheritance antara actors secara

(25)

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

(26)

UCD Case Study (1/3)

Vending Machine

After client interview the following

system scenarios were identified:

 A customer buys a product

 The supplier restocks the machine

 The supplier collects money from the machine

On the basis of these scenarios, the

following three actors can be identified:

(27)
(28)

UCD Case Study (3/3)

(29)
(30)

30

(31)

Referensi

Dokumen terkait

The popularity of the first edition of this book, Pharmaceutical Preformulation and Formulation: A Practical Guide from Candidate Drug Selection to Commercial Formulation , confirms

Tes positif menunjukan orang tersebut terinfeksi atau berpotensi terinfeksi dan memiliki risiko tinggi untuk berkembang menjadi menderita penyakit simptomatik dalam beberapa

Pendekatan yang lebih membantu adalah dengan mengasumsikan bahwa user akan membutuhkan bantuan pada suatu waktu dan merancang bantuan (help) ini ke dalam system. • Ada empat

Tujuan penelitian ini adalah (1) untuk mendeskripsikan pelaksanaan penerapan pembelajaran kooperatif tipe STAD dengan media kartu muatan yang dapat

Dikarenakan pengaruh normative social influence di dalam anggota kelompok yang biasanya sebagian besar adalah perokok, maka seseorang akan memberikan konformitas pula

Berdasarkan hasil penelitian yang telah dilakukan, maka saran yang dapat diberikan adalah peneliti mencoba mene- liti lebih lanjut dengan subjek penelitian yang berbeda

[r]

Tabel di bawah adalah kata ganti atau Pronouns yang bisa teman-teman terapkan, saya akan memberikan contoh pada orang pertama atau “I”, berikut contohnya.. I spend my night in