41
Pertemuan 10 Pemodelan analisis 2

Pertemuan 10

Embed Size (px)

DESCRIPTION

Pertemuan 10. Pemodelan analisis 2. Petunjuk menggambar DFD. Semua icon harus diberi nama yang bermakna jelas DFD berkembang dalam beberapa tingkatan Selalu dimulai dengan sebuah context level diagram (level 0) Selalu menunjukkan entitas eksternal pada level 0 - PowerPoint PPT Presentation

Citation preview

Page 1: Pertemuan 10

Pertemuan 10

Pemodelan analisis 2

Page 2: Pertemuan 10

Petunjuk menggambar DFD

Semua icon harus diberi nama yang bermakna jelasDFD berkembang dalam beberapa tingkatanSelalu dimulai dengan sebuah context level diagram (level 0)Selalu menunjukkan entitas eksternal pada level 0Selalu berinama panah aliran dataJangan menampilkan prosedur logika

Page 3: Pertemuan 10

Membangun sebuah DFD—I

Mereview model data untuk mengisolasi objek data dan gunakan parsing gramatikal untuk menentukan “Operasi”Menentukan entitas eksternal (produsen dan konsumen data)Membuat level 0 DFD

Page 4: Pertemuan 10

Contoh Level 0 DFD

useruserprocessing processing

requestrequest

videovideosourcesource NTSCNTSC

video signalvideo signal

digitaldigitalvideovideo

processorprocessor

requestedrequestedvideovideosignalsignal

monitormonitor

Page 5: Pertemuan 10

Membangun DFD—II

Tulis sebuah narasi yang menggambarkan transformasi

Parsing untuk menentukan transformasi tingkat berikutnya

“seimbangkan” aliran untuk menjaga aliran data

Bangun level 1 DFD

Gunakan rasio 1:5 (perkiraan)

Page 6: Pertemuan 10

Hierarki Aliran Datang

PPaa bb

xx yy

p1p1

p2p2

p3p3

p4p4 55

aa

bb

cc

ddee

ff

gg

level 0level 0

level 1level 1

Page 7: Pertemuan 10

Catatan untuk DFD

Setiap lingkaran harus dipecah hingga dia hanya melakukan hanya SATU halRasio ekspansi menurun sesuai dengan jumlah level yang meningkatKebanyakan sistem membutuhkan antara 3 hingga level 7 untuk model aliran yang cukup.Sebuah item aliran data (panah) dapat dikembangkan seiring dengan meningkatnya level (data dictionary menyediakan informasi ini)

Page 8: Pertemuan 10

Spesifikasi Proses (PSPEC)

PSPECPSPEC

naratifnaratif

pseudocode (PDL)pseudocode (PDL)

persamaanpersamaan

tabeltabel

Diagram dan atau grafikDiagram dan atau grafik

LingkaranLingkaran

Page 9: Pertemuan 10

Maps intoMaps into

Setelah DFD?

analysis modelanalysis model

design modeldesign model

Page 10: Pertemuan 10

Control Flow Diagram

Menggambarkan “events” dan proses yang mengelola event

Sebuah “event” adalah kondisi boolean yang dipastikan dengan :

Mendaftar semua sensor yang dibaca oleh software.

Mendaftar semua kondisi interupsi.

Mendaftar semua "switches" yang dipicu oleh sebuah operator.

Mendaftar semua kondisi data.

Memanggil kembali parser kata benda/kerja yang diaplikasikan pada narasi proses, mereview semua “item kendali” sebagai input/output CSPEC.

Page 11: Pertemuan 10

Model Kendali

• control flow diagram berada “di atas” DFD dan menunjukkan event yang mengendalikan proses-proses yang terdapat pada DFD

• Aliran kendali—event dan item kendali– ditandai dengan panah putus-putus

• Sebuah tiang vertikal menggambarkan input menuju atau output dari sebuah control spec (CSPEC) — spesifikasi terpisah yang menggambarkan bagaimana kendali ditangani

Page 12: Pertemuan 10

• Sebuah panah putus-putus memasuki tiang vertikal adalah input menuju CSPEC

• Sebuah panah putus-putus meninggalkan proses menggambarkan kondisi data

• Sebuah panah putus-patas memasuki sebuah proses menggambarkan sebuah kendali input yang dibaca langsung oleh proses

• Aliran kendali tidak secara fisik mengaktifkan/menonaktifkan proses, hal ini dilakukan melalui CSPEC

Page 13: Pertemuan 10

Control Flow Diagram

read operator

input manage copying

reload process

perform problem

diagnosis

create user

displays

empty

jammed

full

display panel enabled

beeper on/off

start

problem light

copies done

Page 14: Pertemuan 10

Control Specification (CSPEC)

CSPEC dapat berupa:CSPEC dapat berupa:

state diagram state diagram (sequential spec)(sequential spec)

state transition tablestate transition table

decision tables decision tables

activation tablesactivation tables

combinatorial speccombinatorial spec

Page 15: Pertemuan 10

Panduan Membangun CSPECLihat semua sensor yang “dibaca” oleh PLLihat semua sensor yang “dibaca” oleh PL

Lihat semua kondisi interupsiLihat semua kondisi interupsi

Lihat semua "switches" yang diaktifkan oleh operatorLihat semua "switches" yang diaktifkan oleh operator

Lihat semua kondisi dataLihat semua kondisi data

Melihat parsing kata benda/kerja yang diterapkan padaMelihat parsing kata benda/kerja yang diterapkan padaStatemen software atau lingkupnya, mereview semua item kendaliStatemen software atau lingkupnya, mereview semua item kendali

Sebagai input/output CSPEC yang mungkinSebagai input/output CSPEC yang mungkin

Menggambarkan perilaku sebuah sistem dengan identifikasi Menggambarkan perilaku sebuah sistem dengan identifikasi Keadaan; menentukan bagaimana setiap keadaan mencapai dan Keadaan; menentukan bagaimana setiap keadaan mencapai dan

Menentukan transisi antar keadaanMenentukan transisi antar keadaan

Fokus pada kemungkinan kehilangan/tidak tercantum... Fokus pada kemungkinan kehilangan/tidak tercantum... Kesalahan umum dalam menentukan kendali, misalnyaKesalahan umum dalam menentukan kendali, misalnya"Is there any other way I "Is there any other way I can get to this state or exit from it?"can get to this state or exit from it?"

Page 16: Pertemuan 10

Pemodelan berbasis Class

Tentukan analisis class dengan memeriksa pernyataan masalah(problem statement)

Gunakan parsing gramatikal untuk memilah class potensial

Kenali atribut tiap class

Kenali operasi yang memanipulasi atribut-atribut tersebut

Page 17: Pertemuan 10

Class AnalisisEntitias external (contoh : sistem lain, piranti, orang) yang menghasilkan atau menggunakan informasi yang digunakan oleh sistem berbasis komputer.Benda (contoh : laporan, display, surat, sinyal) yang merupakan bagian dari domain informasi untuk masalah.Kejadian atau event (contoh : transfer properti atau pelengkapan urutan gerakan robot) yang terjadi di dalam konteks sistem operasi.Peran (contoh : manajer, insinyur, sales) yang diperankan orang yang berinteraksi dengan sistem.Unit Organisasi (contoh : divisi, kelompok, tim) yang relevan terhadap aplikasi.Tempat (contoh : lantai pabrik, pelabuhan muatan) yang membangun konteks masalah dan fungsi keseluruhan sistem.Struktur (contoh : sensor, kendaraan 4WD, komputer) yang terdiri dari beberapa objek class atau objek-objek class yang terkait

Page 18: Pertemuan 10

Kriteria memilih class

Layanan yang dibutuhkanLayanan yang dibutuhkan

Beberapa atributBeberapa atribut

Atribut umumAtribut umum

Operasi umumOperasi umum

Kebutuhan esensialKebutuhan esensial

Menyimpan informasiMenyimpan informasi

Page 19: Pertemuan 10

Class DiagramSystem

program() display() reset() query() modify() call()

systemID verificationPhoneNumber systemStatus delayTime telephoneNumber masterPassword temporaryPassword numberTries

Class name

attributes

operations

Page 20: Pertemuan 10

Class DiagramFloorPlan

determineType () positionFloorplan scale() change color()

type name outsideDimensions

Camera

determineType () translateLocation () displayID() displayView() displayZoom()

type ID location fieldView panAngle ZoomSetting

WallSegment

type startCoordinates stopCoordinates nextWallSement

determineType () draw()

Window

type startCoordinates stopCoordinates nextWindow

determineType () draw()

is placed within

Wall

type wallDimensions

determineType () computeDimensions ()

Door

type startCoordinates stopCoordinates nextDoor

determineType () draw()

is part of

is used to buildis used to build

is used to build

Page 21: Pertemuan 10

Pemodelan CRCClass-class analisis memiliki “tanggung-jawab”

Tanggungjawab adalah atribut-atribut dan operasi-operasi yang terenkapsulasi oleh class

Class-class analisis berkolaborasi satu dengan yang lain

Collaborators adalah class-class yang dibutuhkan untuk menyediakan sebuah class dengan informasi yang dibutuhkan untuk memenuhi tanggung jawabnya.

Secara umum, sebuah kolaborasi berakibat permintaan informasi atau permintaan beberapa aksi/operasi.

Page 22: Pertemuan 10

Pemodelan CRC

Class:

Description:

Responsibility: Collaborator:

Class:

Description:

Responsibility: Collaborator:

Class:

Description:

Responsibility: Collaborator:

Class: FloorPlan

Description:

Responsibility: Collaborator:

incorporates walls, doors and windows

shows position of video cameras

defines floor plan name/type

manages floor plan positioning

scales floor plan for display

scales floor plan for display

Wall

Camera

Page 23: Pertemuan 10

Tipe-tipe ClassClass entitas, sering disebut class model atau bisnis, yang diekstrak langsung dari statemen permasalahan (contoh : Sensor).

Class perbatasan digunakan untuk membuat interface (contoh : layar interaktif, atau laporan cetak) dimana user melihat dan berinteraksi dengannya selama PL digunakan. Class kendali mengelola “unit kerja [UML03] dari awal sampai akhir. Class kendali dapat didesain mengelola :

Pembuatan atau update objek entitas; Inisiasi objek perbatasan sebagaimana mereka mendapatkan informasi dari objek entitas; Komunikasi kompleks antara sekumpulan objek; Validasi data yang dikomunikasikan antara user dan aplikasi.

Page 24: Pertemuan 10

Responsibilities

System intelligence should be distributed across classes to best address the needs of the problemEach responsibility should be stated as generally as possibleInformation and the behavior related to it should reside within the same classInformation about one thing should be localized with a single class, not distributed across multiple classes. Responsibilities should be shared among related classes, when appropriate.

Page 25: Pertemuan 10

Kolaborasi

Class memenuhi tanggung jawabnya dengan satu diantara dua cara :

Sebuah class dapat menggunakan operasinya sendiri untuk memanipulasi atributnya masing-masing atau Sebuah class dapat berkolaborasi dengan class lainnya.

Kolaborasi membuat relasi antara classKolaborasi dapat diidentifikasi dengan menentukan apakah sebuah class dapat memenuhi tanggung jawabnya masing-masingTiga relasi umum yang berbeda antar class [WIR90]:

is-part-of relationship has-knowledge-of relationship depends-upon relationship

Page 26: Pertemuan 10

Composite Aggregate Class

Player

PlayerHead PlayerArms PlayerLegsPlayerBody

Page 27: Pertemuan 10

Review model CRC Semua peserta dalam review (model CRC) diberikan sebuah subset dari kartu index model CRC.

Kartu yang berkolaborasi harus terpisah (tidak boleh ada reviewer yang memiliki dua kartu yang berkolaborasi).

Semua skenario use-case (dan diagram use case terkait) harus diorganisasi dalam kategori-kategori.Pemimpin review membaca use-case secara hati-hati.

Ketika pemimpin review sampai pada objek, dia akan memberi tanda kepada person yang memegang kartu index class yang terkait.

Page 28: Pertemuan 10

Ketika tanda dikirimkan, pemilik kartu class diminta untuk menggambarkan tanggung jawab yang tertulis di kartu tersebut.

Kelompok menentukan satu (atau lebih) tanggung jawab yang memenuhi kebutuhan use-case.

Jika tanggung jawab dan kolaborasi yang tertera pada kartu index tidak dapat mengakomodasi use-case, modifikasi dilakukan pada kartu tersebut.

Hal ini termasuk definisi class baru (dan kartu index CRC) atau spesifikasi baru atau revisi mengenai tanggung jawab, atau kolaborasi kartu yang sudah ada.

Page 29: Pertemuan 10

Asosiasi dan Dependensi

Dua class analisis sering berhubungan satu dengan yang lain dalam beberapa pola

Dalam UML relasi ini sering disebut asosiasi

Asosiasi dapat didapatkan dengan mengenali multiplicity (istilah cardinality digunaikan dalam pemodelan data

Dalam banyak instans, relasi client-server ada diantara dua class analisis.

Dalam kasus ini, class client tergantung pada class server dalam suatu cara dan relasi dependensi terjadi

Page 30: Pertemuan 10

Multiplicity

WallSegment Window Door

Wall

is used to buildis used to build

is used to build1..*

1 1 1

0..* 0..*

Page 31: Pertemuan 10

Dependencies

CameraDisplayWindow

{password}

<<access>>

Page 32: Pertemuan 10

Analisis Paket

Beberapa model analisis (use-case, class analisis) dikategorisasi dalam sebuah pola yang mempaketkan mereka dalam kelompok

Tanda plus di dalam nama class analisis dalam setiap paket menandakan bahwa class-class tersebut mempunyai visibilitas publik dan karena itu dapat diakses dari paket lain.Simbol lain dapat mendahului elemen di dalam paket. Tanda minus menandakan bahwa elemen disembunyikan dari semua paket, dan tanda # menandakan bahwa elemen hanya dapat diakses oleh paket yang berada di dalam paket tersebut.

Page 33: Pertemuan 10

Analysis Packages

Environment

+Tree+Landscape+Road+Wall+Bridge+Building+VisualEffect+Scene

Characters

+Player+Protagonist+Antagonist+SupportingRole

RulesOfTheGame

+RulesOfMovement+ConstraintsOnAction

package name

Page 34: Pertemuan 10

Pemodelan Perilaku

Model perilaku menggambarkan bagaimana PL merespon event atau stimulan eksternal. Untuk model tersebut, analis harus melakukan langkah-langkah berikut :

Evaluasi semua use-case untuk mendapatkan pemahaman menyeluruh tentang urutan interaksi di dalam sistem.Mengenali event yang mengendalikan urutan interaksi dan memahamibagaimana event mempunyai relasi terhadap objek spesifik.

Membuat urutan untuk setiap use-case.

Membangun state diagram untuk sistem.

Review model behavioral untuk memverifikasi akurasi dan konsistensi

Page 35: Pertemuan 10

Representasi Keadaan

Dalam konteks pemodelan perilaku, dua karakter keadaan harus diperhatikan :

Keadaan setiap class ketika sistem menjalankan fungsinya, danKeadaan sistem ketika diobservasi dari luar sebagaimana sistem menjalankan fungsinya.

Keadaan class mengambil baik karakter aktif maupun pasif [CHA93].

Sebuah keadaan pasif adalah status saat ini dari semua atribut objek.Keadaan aktif dari sebuah objek menggambarkan status saat ini pada objek tersebut ketika menjalankan transformasi atau proses.

Page 36: Pertemuan 10

State Diagram for the ControlPanel Class

reading

locked

selecting

password entered

comparing

password = incorrect & numberOfTries < maxTries

password = correct

activation successful

key hit

do: validatePassword

numberOfTries > maxTries

timer < lockedTime

timer > lockedTime

Page 37: Pertemuan 10

Keadaan-Keadaan Sistemstate—sekumpulan keadaan terobservasi yang menggambarkan perilaku sistem pada satu waktustate transition—perubahan dari satu keadaan ke keadaan yang lainevent—sebuah kejadian yang menyebabkan sistem melakukan perilaku yang sudah diprediksi sebelumnyaaction—proses yang terjadi sebagai konsekuensi membuat transisi

Page 38: Pertemuan 10

Pemodelan Perilaku

Membuat daftar keadaan sistem yang berbeda (Bagaimana perilaku sistem ?)Menggambarkan bagaimana sistem membuat transisi dari satu keadaan ke keadaan yang lain.indicate how the system makes a transition from one state to another (Bagaimana sistem mengubah keadaan?)

mengenali eventMengawali action

Menggambar sebuah state diagram atau sequence diagram

Page 39: Pertemuan 10

Sequence Diagram

homeowner control panel sensorssystem sensors

system ready

reading

request lookupcomparing

result

password entered

password = correctrequest activation

activation successful

lockednumberOfTries > maxTries

selecting

timer > lockedTimeA

A

Figure 8.27 Sequence diagram (partial) for SafeHome security function

activation successful

Page 40: Pertemuan 10

Menulis Spesifikasi PL

Setiap orang harus tahu pasti apa yang harus dilakukan hingga seseorang menuliskannya !

Page 41: Pertemuan 10

Tugas

Buatlah sebuah paper yang menjelaskan tentang UML beserta contoh kasusnya, minimal 15 halaman, spasi 1.5, kertas Quarto, sampul mika biru tua.

Kriteria penilaian :Validitas/kebenaran

Kelengkapan

Kompleksitas kasus