• Tidak ada hasil yang ditemukan

TEKNIK TEKNIK ANALISA DESAIN MENGGUNAKAN UML PADA PERANCANGAN PROGRAM BERBASISKAN OBJECT

N/A
N/A
Protected

Academic year: 2021

Membagikan "TEKNIK TEKNIK ANALISA DESAIN MENGGUNAKAN UML PADA PERANCANGAN PROGRAM BERBASISKAN OBJECT"

Copied!
30
0
0

Teks penuh

(1)

TEKNIK – TEKNIK ANALISA DESAIN

MENGGUNAKAN UML

PADA PERANCANGAN PROGRAM

BERBASISKAN OBJECT

(2)
(3)

3

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

Analyze (use case) first, then design,

(4)

4

Review Basic Principles of Object Orientation

Abstraksi

(Abstraction)

Pembungkusan

(Encapsulation)

Pewarisan

(Inheritance)

Banyak Bentuk

(Polymorphism)

Pengiriman Pesan

(Message Sending)

(5)

5

(6)

6 Animal Dog Martini Cigar Lounge Chair Led Zepplin «SitsInA» «DrinksA» «GroovesTo» «SmokesA» {WayLoud}

(7)

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 …

(8)

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

(9)

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 ( ) UI MFC RogueWave global DocumentApp Persistence W indow95 ¹®¼-°ü¸® Ŭ ¶óÀ̾ðÆ®.EXE W indows NT ¹®¼-°ü¸® ¿£Áø.EXE Windows NT Windows95 Solaris ÀÀ¿ë¼-¹ö.EXE Alpha UNIX IBM Mainframe µ¥ÀÌŸº£À̽º¼-¹ö Windows95 ¹®¼-°ü¸® ¾ÖÇø´ ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³× Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬ °á ¸ðµ¨ - À©µµ¿ì 95 : Ŭ ¶óÀÌ¾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼-¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼-¹ö ¹× µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö Document FileManager GraphicFile File Repository DocumentList FileList user mainWndfileMgr : 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 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

(10)

Use case menggambarkan proses system (kebutuhan

system dari sudut pandang user)

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)

(11)

LAMBANG USE CASE

Aktor Usecase

Catatan

Relasi Aktif

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

Relasi Pasif Generalisasi

(12)

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, meskipun demikian

supaya mudah dibaca perlu penyusunan use case

Beli Barang

Konsumen Bayar Kasir

Beli Barang Konsumen Bayar Kasir Jual Barang Konsumen Terima Bayaran Kasir

(13)

USE CASE DIAGRAM

Buka Rekening Simpan Uang Ambil Uang Tutup Rekening Nasabah Simpan uang harus diatas Rp. 200.000,-Buka Rekening Simpan Uang Ambil Uang Tutup Rekening Nasabah

(14)

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

(suatu kejadian yang terjadi secara periodik/bulanan)

Konsumen

Kasir <<System Keuangan>>

(15)

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 placed to the outside of the diagram, and not the middle of it)

Nasabah Buka Rekening Nabung Ambil Tutup Rekening Teller Buka Rekening Nabung Nasabah

(16)

16

Use-Case Diagram

homeowner Access camera surveillance via t he Int ernet

Conf igure Saf eHome syst em paramet ers

Set alarm

cameras

(17)

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

(18)

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 secara

pasif dengan system anda

Beli Barang

Konsumen Bayar Kasir

Beli Barang

Konsumen

(19)

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

Buka Rekening <<include>> catat data pribadi Nasabah Buka Rekening <<include>> catat data pribadi Nasabah Buka Rekening <<include>> catat data pribadi Nasabah Buka Rekening <<include>> catat data pribadi Nasabah Buka Rekening <<include>> catat data pribadi Nasabah

(20)

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

Buka Rekening Nasabah <<extend>> Buka Deposito Buka Rekening <<extend>> Buka Deposito Nasabah Nasabah Buka Rekening <<extend>> Buka Rekening <<extend>> Buka Deposito Nasabah Buka Deposito

(21)
(22)

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

(23)

Generalization/inheritance antara actor

Gambarkan generalization/inheritance antara actors

secara vertical dengan inheriting actor dibawah

(24)

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

(25)

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:

(26)
(27)

UCD Case Study (3/3)

(28)
(29)

29

(30)

Referensi

Dokumen terkait

 Potong roti sesuai soal yang ada lalu gambarlah dan beri arsiran pada gambar kalian sesuai dengan jawaban hasil dari diskusi kelompok pada kolom

Penelitian ini bertujuan untuk memperoleh data dan fakta yang valid tentang pengaruh motivasi dan disiplin terhadap kinerja guru sekolah menengah kejuruan negeri pada

Sub Unit Organisasi UPTD Dinas Pendidikan Kecamatan Buleleng. Asal usul Tahun Cetak / Pem- belian

Asumsi dasar yang dibangun pada paradigma ini adalah bahwa dalam memahami kompleksitas fenomena kehidupan yang dihadapi dan dijalani manusia, setiap bangunan

cara mengecek data yang telah diperoleh melalui beberapa sumber.. Triangulasi teknik untuk menguji kredibilitas data dilakukan dengan. cara mengecek data kepada sumber yang

skripsi/karya ilmiah saya, dengan judul : Perbandingan Sintesis antara Senyawa 2’ -nitrokhalkon dan 2,4-dimetoksi- 2’ -nitrokhalkon dengan Bantuan Iradiasi Gelombang

Tabel Kontingensi merupakan tabel yang menunjukkan atau memuat banyaknya observasi atau frekuensi yang lebih dari satu variabel.

Jika dilihat dari target audiens yaitu semua umur dan semua kalangan, penyebaran video infografis ini diharapkan mampu menyampaikan informasi mengenai penyebaran dan