• Tidak ada hasil yang ditemukan

Bagian 2 Bagian 2

N/A
N/A
Nguyễn Gia Hào

Academic year: 2023

Membagikan "Bagian 2 Bagian 2"

Copied!
76
0
0

Teks penuh

(1)

Catatan Kuliah Catatan Kuliah

Rekayasa Perangkat Lunak Rekayasa Perangkat Lunak

(Software Engineering) (Software Engineering)

Bagian 2 Bagian 2

copyright © 2006

R.S. Pressman & Associates, Inc M. Idham Ananta Timur, S.T., M.Kom.

Hanya digunakan di lingkungan Universtias

Hanya boleh digandakan untuk mahasiswa di lingkungan universitas yang menggunakan buku Software Engineering: A Practitioner's Approach.

Selain itu dilarang keras menggandakan.

Presentasi, slide atau hardcopy tidak boleh digunakan untuk

short courses, seminar industri, atau kepentingan konsultasi.

(2)

Software Engineering: A Practitioner’s Approach, 6/e Software Engineering: A Practitioner’s Approach, 6/e

Chapter 8 Chapter 8

Pemodelan Analisis Pemodelan Analisis

copyright © 1996, 2001, 2005

R.S. Pressman & Associates, Inc.

M. Idham Ananta Timur, S.T., M.Kom For University Use Only

May be reproduced ONLY for student use at the university level

when used in conjunction with Software Engineering: A Practitioner's Approach.

Any other reproduction or use is expressly prohibited.

(3)

Analisis Kebutuhan Analisis Kebutuhan

 Analisis Kebutuhan Analisis Kebutuhan

 Menentukan karakteristik operasional PL Menentukan karakteristik operasional PL

 Menunjukkan antarmuka PL dengan elemen sistem yang lain Menunjukkan antarmuka PL dengan elemen sistem yang lain

 Membuat batasan yang harus dipenuhi PL Membuat batasan yang harus dipenuhi PL

 Analisis Kebutuhan memungkinkan Software Engineer Analisis Kebutuhan memungkinkan Software Engineer (disebut analis atau modeler) untuk :

(disebut analis atau modeler) untuk :

 Memperinci kebutuhan dasar yang dibuat kapda rekayasa Memperinci kebutuhan dasar yang dibuat kapda rekayasa kebutuhan sebelumnya

kebutuhan sebelumnya

 Membangun model yang dapat menggambarkan skenario user, Membangun model yang dapat menggambarkan skenario user, aktivitas fungsional, class masalah dan relasinya, sistem dan aktivitas fungsional, class masalah dan relasinya, sistem dan

perilaku class, dan aliran data ketika ditransformasikan.

perilaku class, dan aliran data ketika ditransformasikan.

(4)

Sebuah Jembatan Sebuah Jembatan

system description

analysis model

design

model

(5)

Aturan-Aturan Aturan-Aturan

 Model harus fokus pada masalah atau domain bisnis. Model harus fokus pada masalah atau domain bisnis.

Tingkat abstraksinya relatif harus lebih tinggi.

Tingkat abstraksinya relatif harus lebih tinggi.

 Setiap elemen model analisis sebaiknya memberikan Setiap elemen model analisis sebaiknya memberikan

tambahan pada pemahaman keseluruhan kebutuhan PL dan tambahan pada pemahaman keseluruhan kebutuhan PL dan

menyediakan wawasan pada domain informasi, fungsi dan menyediakan wawasan pada domain informasi, fungsi dan

perilaku sistem.

perilaku sistem.

 Tunda semua konsideran infrastruktur dan model non Tunda semua konsideran infrastruktur dan model non fungsional hingga fase desain.

fungsional hingga fase desain.

 Minimalisasi rangkaian melalui sistem. Minimalisasi rangkaian melalui sistem.

 Pastikan model analisis menyediakan nilai untuk semua Pastikan model analisis menyediakan nilai untuk semua stakeholder.

stakeholder.

 Jaga model sesederhana mungkin. Jaga model sesederhana mungkin.

(6)

Analisis Domain Analisis Domain

Analisis domain PL adalah identifikasi, analisis, dan Analisis domain PL adalah identifikasi, analisis, dan spesifikasi kebutuhan umum dari domain aplikasi spesifikasi kebutuhan umum dari domain aplikasi tertentu, yang biasanya digunakan kembali pada tertentu, yang biasanya digunakan kembali pada project lain di dalam domain aplikasi yang sama project lain di dalam domain aplikasi yang sama

[Analisis domain berorientasi objek adalah] identifikasi, [Analisis domain berorientasi objek adalah] identifikasi, analisis dan spesifikasi kemampuan umum,

analisis dan spesifikasi kemampuan umum,

kemampuan digunakan kembali dalam domain kemampuan digunakan kembali dalam domain

tertentu dalam istilah-istilah objek, class, subassemblies tertentu dalam istilah-istilah objek, class, subassemblies dan framework umum

dan framework umum

Donald Firesmith

(7)

Analisis Domain Analisis Domain

 Tentukan domain yang ingin diinvestigasi. Tentukan domain yang ingin diinvestigasi.

 Kumpulkan contoh representatif aplikasi pada Kumpulkan contoh representatif aplikasi pada domain tersebut.

domain tersebut.

 Analisis setiap aplikasi pada contoh. Analisis setiap aplikasi pada contoh.

 Kembangkan model analisis untuk objek. Kembangkan model analisis untuk objek.

(8)

Pemodelan Data Pemodelan Data

 Memeriksa objek data secara Memeriksa objek data secara independen terhadap proses independen terhadap proses

 Fokus perhatikan pada domain data Fokus perhatikan pada domain data

 Membuat sebuah model pada abstraksi Membuat sebuah model pada abstraksi level konsumen

level konsumen

 Mengindikasikan bagaimana objek data Mengindikasikan bagaimana objek data berhubungan satu dengan yang lain

berhubungan satu dengan yang lain

(9)

What is a Data Object?

What is a Data Object?

Object

Object — — something that is described by a set something that is described by a set of attributes (data items) and that will be

of attributes (data items) and that will be manipulated within the software (system) manipulated within the software (system)

each

each instance instance of an object (e.g., a book) of an object (e.g., a book) can be identified uniquely (e.g., ISBN #) can be identified uniquely (e.g., ISBN #) each plays a necessary role in the system each plays a necessary role in the system i.e., the system could not function without i.e., the system could not function without access to instances of the object

access to instances of the object

each is described by attributes that are each is described by attributes that are themselves data items

themselves data items

(10)

Objek-Objek Umum Objek-Objek Umum

Entitas eksternal

Entitas eksternal (printer, user, sensor) (printer, user, sensor) Sesuatu

Sesuatu (laporan, display, sinyal) (laporan, display, sinyal) Kejadian atau event

Kejadian atau event (interupsi, alarm) (interupsi, alarm) orang

orang (manager, engineer, salesperson) (manager, engineer, salesperson) Unit organisasi

Unit organisasi (divisi, tim) (divisi, tim) tempat

tempat (lantai pabrik) (lantai pabrik) struktur

struktur (employee record) (employee record)

(11)

Objek Data dan Atribut Objek Data dan Atribut

Sebuah objek data terdiri dari sekumpulan Sebuah objek data terdiri dari sekumpulan

atribut yang bertindak sebagai aspek, atribut yang bertindak sebagai aspek,

kualitas, karakteristik, atau penjelas objek kualitas, karakteristik, atau penjelas objek

object: automobile object: automobile

attributes:

attributes:

make make model model

body type body type price price

options code options code

(12)

Apakah Relationship?

Apakah Relationship?

Relationship – menandakan kaitan, sebuah fakta Relationship – menandakan kaitan, sebuah fakta

yang harus diingat oleh sistem, tidak yang harus diingat oleh sistem, tidak

dikomputasi atau diturunkan secara mekanis dikomputasi atau diturunkan secara mekanis

 several instances of a relationship can exist several instances of a relationship can exist

 objects can be related in many different ways objects can be related in many different ways

(13)

Notasi ERD Notasi ERD

(0, m) (1, 1)

object

object relationship relationship object object

1 1 2 2

Satu bentuk umum:

Satu bentuk umum:

(0, m) (0, m)

(1, 1) (1, 1)

object

object 1 1 relationship relationship object object 2 2 Bentuk Umum yang lain:

Bentuk Umum yang lain:

attribute

attribute

(14)

Membangun Sebuah ERD Membangun Sebuah ERD

 Level 1—modelkan semua objek data (entitas) dan Level 1—modelkan semua objek data (entitas) dan koneksinya dengan yang lain

koneksinya dengan yang lain

 Level 2—modelkan semua entitas dan relasi Level 2—modelkan semua entitas dan relasi

 Level 3—modelkan semua entitas, relasi, dan Level 3—modelkan semua entitas, relasi, dan atribut yang menyediakan informasi yang lebih atribut yang menyediakan informasi yang lebih

mendalam

mendalam

(15)

ERD: sebuah contoh ERD: sebuah contoh

(1,1)

(1,1) places places (1,m) (1,m) Customer

Customer request request

for service for service

generates

generates (1,n) (1,n) (1,1)

(1,1)

work work order order

work work tasks tasks materials materials

consists consists

of of lists lists

(1,1) (1,1) (1,w)

(1,w) (1,1)

(1,i) (1,i)

selected selected

from from

standard standard task table task table

(1,w) (1,w) (1,1)

(1,1)

(16)

Konsep Object-Oriented Konsep Object-Oriented

 Harus dipahami untuk menerapkan elemen Harus dipahami untuk menerapkan elemen berbasis class pada model analisis

berbasis class pada model analisis

 Konsep-konsep kunci: Konsep-konsep kunci:

 Classes dan objects Classes dan objects

 Attributes dan operations Attributes dan operations

 Encapsulation dan instantiation Encapsulation dan instantiation

 Inheritance Inheritance

(17)

Class Class

• Pemikiran object-oriented dimulai dengan Pemikiran object-oriented dimulai dengan sebuah class, sering didefinisi sebagai :

sebuah class, sering didefinisi sebagai :

– template template

– deskripsi umum deskripsi umum

– “blueprint” ... Menggambarkan sekelompok item “ blueprint” ... Menggambarkan sekelompok item yang mirip

yang mirip

• sebuah metaclass sebuah metaclass (sering disebut (sering disebut superclass

superclass)yang membangun hierarki semua )yang membangun hierarki semua class yang ada

class yang ada

• Sekali sebuah class item ditentukan, instance Sekali sebuah class item ditentukan, instance

spesifik dari class tersebut dapat diidentifikasi

spesifik dari class tersebut dapat diidentifikasi

(18)

Membangun Class Membangun Class

class name attributes:

operations:

attributes:

operations

(19)

Apakah Class?

Apakah Class?

external entities things

occurrences roles

organizational units places

structures

class name attributes:

operations:

(20)

Enkapuslasi/Penyembunyian Enkapuslasi/Penyembunyian

Objek mengenkapsulasi Baik data dan prosedur Logis yang dibutuhkan Untuk manipulasi

data

Achieves “information hiding”

method

# 1

data

method

# 2

method method # 4

# 5 method

# 6

method

# 3

(21)

Hierarki Class Hierarki Class

Chair

Table Desk ”Chable"

instances of Chair

PieceOfFurniture (superclass)

subclasses of the

(22)

Method Method

(Operasi, Layanan) (Operasi, Layanan)

Prosedur yang terenkapsulasi pada sebuah class dan

didesain untuk beroperasi pada satu atau lebih atribut data

yang ditentukan sebagai bagian dari class.

Method dipanggil

melalui pesan

(23)

Model berbasis Scenario Model berbasis Scenario

“[Use-cases] adalah bantuan untuk mendefinisikan apa “ [Use-cases] adalah bantuan untuk mendefinisikan apa yang ada pada sistem (aktor) dan apa yang harus

yang ada pada sistem (aktor) dan apa yang harus dilakukan sistem (use-cases).” Ivar Jacobson

dilakukan sistem (use-cases).” Ivar Jacobson

(1) Apa yang harus ditulis?

(1) Apa yang harus ditulis?

(2) Berapa banyak kita harus menulisnya?

(2) Berapa banyak kita harus menulisnya?

(3) Sedetail apa gambaran kita ? (3) Sedetail apa gambaran kita ?

(4) Bagaimana kita mengatur deskripsi?

(4) Bagaimana kita mengatur deskripsi?

(24)

Use-Cases Use-Cases

 Sebuah skenario yang menggambarkan Sebuah skenario yang menggambarkan rangkaian kegunaan pada sistem

rangkaian kegunaan pada sistem

actors actors mewakili peran orang atau piranti yang mewakili peran orang atau piranti yang dimaikan ketika sistem berfungsi

dimaikan ketika sistem berfungsi

users users dapat berperan sebagai lebih dari satu dapat berperan sebagai lebih dari satu

peran dalam sebuah skenario yang ditentukan

peran dalam sebuah skenario yang ditentukan

(25)

Mengembangkan Use-Case Mengembangkan Use-Case

 Apa tugas atau fungsi utama yang harus dilakukan aktor ? Apa tugas atau fungsi utama yang harus dilakukan aktor ?

 Sistem Informasi seperti apa yang diperlukan, dihasilkan Sistem Informasi seperti apa yang diperlukan, dihasilkan atau diubah oleh aktor ?

atau diubah oleh aktor ?

 Apakah aktor harus menginformasikan sistem tentang Apakah aktor harus menginformasikan sistem tentang perubahan dalam lingkungan eksternal?

perubahan dalam lingkungan eksternal?

 Informasi apa yang diharapkan aktor dari sistem? Informasi apa yang diharapkan aktor dari sistem?

 Apakah aktor menginginkan diberitahu tentang Apakah aktor menginginkan diberitahu tentang perubahan yang tidak tersangka?

perubahan yang tidak tersangka?

(26)

Use-Case Diagram Use-Case Diagram

homeowner

Access camera surveillance via the

Internet

Configure SafeHome system parameters

Set alarm

cameras SafeHome

(27)

Activity Diagram Activity Diagram

Melengkapi use-case dengan menyediakan representasi diagram Melengkapi use-case dengan menyediakan representasi diagram dari aliran prosedural.

dari aliran prosedural.

enter password and user ID

select major function valid passwords/ ID

prompt for reentry invalid passwords/ ID

input tries remain no input

tries remain select surveillance

other f unctions may also be

selected

thumbnail views select a specif ic camera

select camera icon

prompt for another view select specific camera - thumbnails

exit this f unction see another camera view camera output

in labelled window

(28)

Swimlane Diagrams Swimlane Diagrams

Memungkinkan untuk menampilkan aliran aktivitas yang digambarkan oleh use-case, dan Memungkinkan untuk menampilkan aliran aktivitas yang digambarkan oleh use-case, dan di saat yang sama mengindikasikan aktor yang mana, atau class analisis yang mempunyai di saat yang sama mengindikasikan aktor yang mana, atau class analisis yang mempunyai tanggungjawab terhadap tindakan yang digambarkan oleh kotak aktivitas

tanggungjawab terhadap tindakan yang digambarkan oleh kotak aktivitas

enter password and user ID

select major function

valid passwo rds/ ID

prompt for reentry in valid passwo rd s/ ID

in pu t tries remain n o in pu t

tries remain select surveillance

o t her f u n ctio n s may also be

selected

th u mb nail views select a specif ic camera

select camera icon

generate video output select specific

camera - thumbnails

h o m e o wn e r c a m e ra i nt e rf a c e

prompt for view camera output

(29)

Pemodelan berorientasi aliran Pemodelan berorientasi aliran

Menampilkan bagaimana objek data ditransformasi Menampilkan bagaimana objek data ditransformasi ketika mereka bergerak di dalam sistem

ketika mereka bergerak di dalam sistem Sebuah

Sebuah data flow diagram (DFD) data flow diagram (DFD) merupakan bentuk merupakan bentuk diagram yang digunakan

diagram yang digunakan

Walaupun dianggap pendekatan kuno, pemodelan Walaupun dianggap pendekatan kuno, pemodelan berorientasi aliran menyediakan pandangan unik berorientasi aliran menyediakan pandangan unik

terhadap suatu sistem. Dia tetap layak digunakan untuk terhadap suatu sistem. Dia tetap layak digunakan untuk mendukung analisis elemen model lainnya.

mendukung analisis elemen model lainnya.

(30)

Model Aliran Model Aliran

Setiap sistem berbasis komputer Setiap sistem berbasis komputer

Adalah sebuah transformasi informasi Adalah sebuah transformasi informasi

computer computer

based based system system input

input output output

(31)

Notasi Model Aliran Notasi Model Aliran

Entitas Eksternal Entitas Eksternal

proses proses

Aliran data Aliran data

Penyimpanan data

Penyimpanan data

(32)

Entitas Eksternal Entitas Eksternal

Produsen atau konsumen sebuah data Produsen atau konsumen sebuah data Contoh : seseorang, piranti, sensor

Contoh : seseorang, piranti, sensor

Contoh lain : sistem berbasis komputer Contoh lain : sistem berbasis komputer

Data harus selalu berawal dari suatu tempat dan Data harus selalu berawal dari suatu tempat dan

Harus selalu dikirim pada sesuatu

Harus selalu dikirim pada sesuatu

(33)

Proses Proses

Sebuah transformer data Sebuah transformer data

(mengubah input menjadi output) (mengubah input menjadi output)

Contoh: menghitung pajak, menentukan luas, Contoh: menghitung pajak, menentukan luas,

Memformat laporan, menampilkan grafik Memformat laporan, menampilkan grafik

Data harus selalu diproses dalam bentuk tertentu Data harus selalu diproses dalam bentuk tertentu

Untuk menerima fungsi sistem

Untuk menerima fungsi sistem

(34)

Aliran Data Aliran Data

Data mengalir melalui sebuah sistem dimulai Data mengalir melalui sebuah sistem dimulai

Sebagai input dan ditransformasi menjadi Sebagai input dan ditransformasi menjadi

output output

compute compute triangle triangle

area area base base

height height

area area

(35)

Menyimpan Data Menyimpan Data

Data disimpan untuk digunakan lagi.

Data disimpan untuk digunakan lagi.

look-up look-up sensor sensor

data data

sensor # sensor #

report required report required

sensor #, type, sensor #, type, location, age location, age

sensor data sensor data sensor number

sensor number

type, type,

location, age

location, age

(36)

Petunjuk menggambar DFD Petunjuk menggambar DFD

 Semua icon harus diberi nama yang Semua icon harus diberi nama yang bermakna jelas

bermakna jelas

 DFD berkembang dalam beberapa DFD berkembang dalam beberapa tingkatan

tingkatan

 Selalu dimulai dengan sebuah context Selalu dimulai dengan sebuah context level diagram (level 0)

level diagram (level 0)

 Selalu menunjukkan entitas eksternal pada Selalu menunjukkan entitas eksternal pada level 0

level 0

 Selalu berinama panah aliran data Selalu berinama panah aliran data

(37)

Membangun sebuah DFD—I Membangun sebuah DFD—I

 Mereview model data untuk mengisolasi objek Mereview model data untuk mengisolasi objek data dan gunakan parsing gramatikal untuk data dan gunakan parsing gramatikal untuk

menentukan “Operasi”

menentukan “Operasi”

 Menentukan entitas eksternal (produsen dan Menentukan entitas eksternal (produsen dan konsumen data)

konsumen data)

 Membuat level 0 DFD Membuat level 0 DFD

(38)

Contoh Level 0 DFD Contoh Level 0 DFD

user user processing processing request request

video video source

source video signal video signal NTSC NTSC

digital digital video video processor processor

requested requested

video video signal signal

monitor

monitor

(39)

Membangun DFD—II Membangun DFD—II

 Tulis sebuah narasi yang menggambarkan Tulis sebuah narasi yang menggambarkan transformasi

transformasi

 Parsing untuk menentukan transformasi Parsing untuk menentukan transformasi tingkat berikutnya

tingkat berikutnya

 “ “ seimbangkan” aliran untuk menjaga aliran seimbangkan” aliran untuk menjaga aliran data data

 Bangun level 1 DFD Bangun level 1 DFD

 Gunakan rasio 1:5 (perkiraan) Gunakan rasio 1:5 (perkiraan)

(40)

Hierarki Aliran Datang Hierarki Aliran Datang

P P

a a b b

x x y y

p1 p1

p2 p2

p3 p3

p4 p4 5 5

a a

b b c c

d d

e e f f

g g

level 0 level 0

level 1

level 1

(41)

Catatan untuk DFD Catatan untuk DFD

 Setiap lingkaran harus dipecah hingga Setiap lingkaran harus dipecah hingga dia hanya melakukan hanya SATU hal dia hanya melakukan hanya SATU hal

 Rasio ekspansi menurun sesuai dengan Rasio ekspansi menurun sesuai dengan jumlah level yang meningkat

jumlah level yang meningkat

 Kebanyakan sistem membutuhkan antara Kebanyakan sistem membutuhkan antara 3 hingga level 7 untuk model aliran yang 3 hingga level 7 untuk model aliran yang

cukup.

cukup.

 Sebuah item aliran data (panah) dapat Sebuah item aliran data (panah) dapat dikembangkan seiring dengan

dikembangkan seiring dengan

meningkatnya level (data dictionary meningkatnya level (data dictionary

menyediakan informasi ini)

menyediakan informasi ini)

(42)

Spesifikasi Proses (PSPEC) Spesifikasi Proses (PSPEC)

PSPEC PSPEC

naratif naratif

pseudocode (PDL) pseudocode (PDL) persamaan

persamaan tabel

tabel

Diagram dan atau grafik Diagram dan atau grafik

Lingkaran

Lingkaran

(43)

Maps into Maps into

Setelah DFD?

Setelah DFD?

analysis model analysis model

design model

design model

(44)

Control Flow Diagram Control Flow Diagram

 Menggambarkan “ Menggambarkan “ events events ” dan proses yang mengelola ” dan proses yang mengelola event

event

 Sebuah “event” adalah kondisi boolean yang dipastikan Sebuah “event” adalah kondisi boolean yang dipastikan dengan :

dengan :

 Mendaftar semua sensor yang dibaca oleh software. Mendaftar semua sensor yang dibaca oleh software.

 Mendaftar semua kondisi interupsi. Mendaftar semua kondisi interupsi.

 Mendaftar semua "switches" yang dipicu oleh sebuah operator. Mendaftar semua "switches" yang dipicu oleh sebuah operator.

 Mendaftar semua kondisi data. Mendaftar semua kondisi data.

 Memanggil kembali parser kata benda/kerja yang diaplikasikan Memanggil kembali parser kata benda/kerja yang diaplikasikan

pada narasi proses, mereview semua “item kendali” sebagai

pada narasi proses, mereview semua “item kendali” sebagai

(45)

Model Kendali Model Kendali

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

mengendalikan proses-proses yang terdapat pada DFD

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

putus

• Sebuah tiang vertikal menggambarkan input menuju atau output dari Sebuah tiang vertikal menggambarkan input menuju atau output dari

sebuah control spec (CSPEC) — spesifikasi terpisah yang menggambarkan sebuah control spec (CSPEC) — spesifikasi terpisah yang menggambarkan bagaimana kendali ditangani

bagaimana kendali ditangani

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

CSPEC

• Sebuah panah putus-putus meninggalkan proses menggambarkan kondisi Sebuah panah putus-putus meninggalkan proses menggambarkan kondisi data data

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

sebuah kendali input yang dibaca langsung oleh proses

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

ini dilakukan melalui CSPEC

(46)

Control Flow Diagram Control Flow Diagram

read operator

input manage

copying

reload process

perform problem diagnosis

create user displays

empty

full

display panel enabled beeper on/off

start

problem

light

copies done

(47)

Control Specification (CSPEC) Control Specification (CSPEC)

CSPEC dapat berupa:

CSPEC dapat berupa:

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

state transition table state transition table decision tables

decision tables activation tables activation tables

combinatorial spec

combinatorial spec

(48)

Panduan Membangun CSPEC Panduan Membangun CSPEC

Lihat semua sensor yang “dibaca” oleh PL Lihat semua sensor yang “dibaca” oleh PL Lihat semua kondisi interupsi

Lihat semua kondisi interupsi

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

Lihat semua kondisi data Lihat semua kondisi data

Melihat parsing kata benda/kerja yang diterapkan pada Melihat parsing kata benda/kerja yang diterapkan pada

Statemen software atau lingkupnya, mereview semua item kendali Statemen software atau lingkupnya, mereview semua item kendali

Sebagai input/output CSPEC yang mungkin Sebagai 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 keadaan

Menentukan transisi antar keadaan

Fokus pada kemungkinan kehilangan/tidak tercantum...

Fokus pada kemungkinan kehilangan/tidak tercantum...

Kesalahan umum dalam menentukan kendali, misalnya

Kesalahan umum dalam menentukan kendali, misalnya

(49)

Pemodelan berbasis Class Pemodelan berbasis Class

 Tentukan analisis class dengan memeriksa Tentukan analisis class dengan memeriksa pernyataan masalah(problem statement) pernyataan masalah(problem statement)

 Gunakan parsing gramatikal untuk memilah class Gunakan parsing gramatikal untuk memilah class potensial

potensial

 Kenali atribut tiap class Kenali atribut tiap class

 Kenali operasi yang memanipulasi atribut-atribut Kenali operasi yang memanipulasi atribut-atribut tersebut

tersebut

(50)

Class Analisis Class Analisis

Entitias external (contoh : sistem lain, piranti, orang) yang menghasilkan atau Entitias external (contoh : sistem lain, piranti, orang) yang menghasilkan atau menggunakan informasi yang digunakan oleh sistem berbasis komputer.

menggunakan informasi yang digunakan oleh sistem berbasis komputer.

Benda (contoh : laporan, display, surat, sinyal) yang merupakan bagian dari Benda (contoh : laporan, display, surat, sinyal) yang merupakan bagian dari domain informasi untuk masalah.

domain informasi untuk masalah.

Kejadian atau event (contoh : transfer properti atau pelengkapan urutan gerakan Kejadian atau event (contoh : transfer properti atau pelengkapan urutan gerakan robot) yang terjadi di dalam konteks sistem operasi.

robot) yang terjadi di dalam konteks sistem operasi.

Peran Peran (contoh : manajer, insinyur, sales) yang diperankan orang yang (contoh : manajer, insinyur, sales) yang diperankan orang yang berinteraksi dengan sistem.

berinteraksi dengan sistem.

Unit Organisasi (contoh : divisi, kelompok, tim) yang relevan terhadap aplikasi. Unit Organisasi (contoh : divisi, kelompok, tim) yang relevan terhadap aplikasi.

Tempat Tempat (contoh : lantai pabrik, pelabuhan muatan) yang membangun konteks (contoh : lantai pabrik, pelabuhan muatan) yang membangun konteks masalah dan fungsi keseluruhan sistem.

masalah dan fungsi keseluruhan sistem.

Struktur (contoh : sensor, kendaraan 4WD, komputer) yang terdiri dari Struktur (contoh : sensor, kendaraan 4WD, komputer) yang terdiri dari beberapa objek class atau objek-objek class yang terkait

beberapa objek class atau objek-objek class yang terkait

(51)

Kriteria memilih class Kriteria memilih class

Layanan yang dibutuhkan Layanan yang dibutuhkan

Beberapa atribut Beberapa atribut Atribut umum Atribut umum

Operasi umum Operasi umum

Kebutuhan esensial

Kebutuhan esensial

Menyimpan informasi

Menyimpan informasi

(52)

Class Diagram Class Diagram

System

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

verificationPhoneNumber systemStatus

delayTime

telephoneNumber masterPassword temporaryPassword numberTries

Class name

attributes

operations

(53)

Class Diagram Class Diagram

FloorPlan

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

Window

type startCoordinates stopCoordinates nextWindow

is placed within

Wall

type wallDimensions

determineType () computeDimensions ()

Door

type startCoordinates stopCoordinates nextDoor

is part of

is used to build is used to build

is used to build

(54)

Pemodelan CRC Pemodelan CRC

 Class-class analisis memiliki “tanggung-jawab” Class-class analisis memiliki “tanggung-jawab”

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

terenkapsulasi oleh class

 Class-class analisis berkolaborasi satu dengan yang lain Class-class analisis berkolaborasi satu dengan yang lain

Collaborators Collaborators adalah class-class yang dibutuhkan untuk adalah class-class yang dibutuhkan untuk

menyediakan sebuah class dengan informasi yang dibutuhkan menyediakan sebuah class dengan informasi yang dibutuhkan

untuk memenuhi tanggung jawabnya.

untuk memenuhi tanggung jawabnya.

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

informasi atau permintaan beberapa aksi/operasi.

(55)

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

(56)

Tipe-tipe Class Tipe-tipe Class

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

langsung dari statemen permasalahan (contoh : Sensor).

Class perbatasan digunakan untuk membuat interface (contoh : layar Class perbatasan digunakan untuk membuat interface (contoh : layar interaktif, atau laporan cetak) dimana user melihat dan berinteraksi interaktif, atau laporan cetak) dimana user melihat dan berinteraksi dengannya selama PL digunakan

dengannya selama PL digunakan. .

Class kendali mengelola “unit kerja Class kendali mengelola “unit kerja [UML03] dari awal sampai akhir. [UML03] dari awal sampai akhir.

Class kendali dapat didesain mengelola : Class kendali dapat didesain mengelola :

Pembuatan atau update objek entitas; Pembuatan atau update objek entitas;

Inisiasi objek perbatasan sebagaimana mereka mendapatkan Inisiasi objek perbatasan sebagaimana mereka mendapatkan informasi dari objek entitas;

informasi dari objek entitas;

Komunikasi kompleks antara sekumpulan objek; Komunikasi kompleks antara sekumpulan objek;

Validasi data yang dikomunikasikan antara user dan aplikasi. Validasi data yang dikomunikasikan antara user dan aplikasi.

(57)

Responsibilities Responsibilities

 System intelligence should be distributed across classes System intelligence should be distributed across classes to best address the needs of the problem

to best address the needs of the problem

 Each responsibility should be stated as generally as Each responsibility should be stated as generally as possible

possible

 Information and the behavior related to it should reside Information and the behavior related to it should reside within the same class

within the same class

 Information about one thing should be localized with a Information about one thing should be localized with a single class, not distributed across multiple classes.

single class, not distributed across multiple classes.

 Responsibilities should be shared among related classes, Responsibilities should be shared among related classes, when appropriate.

when appropriate.

(58)

Kolaborasi Kolaborasi

 Class memenuhi tanggung jawabnya dengan satu diantara dua cara Class memenuhi tanggung jawabnya dengan satu diantara dua cara : :

 Sebuah class dapat menggunakan operasinya sendiri untuk Sebuah class dapat menggunakan operasinya sendiri untuk memanipulasi atributnya masing-masing atau

memanipulasi atributnya masing-masing atau

 Sebuah class dapat berkolaborasi dengan class lainnya. Sebuah class dapat berkolaborasi dengan class lainnya.

 Kolaborasi membuat relasi antara class Kolaborasi membuat relasi antara class

 Kolaborasi dapat diidentifikasi dengan menentukan apakah sebuah Kolaborasi dapat diidentifikasi dengan menentukan apakah sebuah class dapat memenuhi tanggung jawabnya masing-masing

class dapat memenuhi tanggung jawabnya masing-masing

 Tiga relasi umum yang berbeda antar class [WIR90]: Tiga relasi umum yang berbeda antar class [WIR90]:

is-part-of is-part-of relationship relationship

has-knowledge-of has-knowledge-of relationship relationship

depends-upon depends-upon relationship relationship

(59)

Composite Aggregate Class Composite Aggregate Class

Player

PlayerHead PlayerBody PlayerArms PlayerLegs

(60)

Review model CRC Review model CRC

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

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

berkolaborasi).

Semua skenario use-case (dan diagram use case terkait) harus diorganisasi dalam kategori- Semua skenario use-case (dan diagram use case terkait) harus diorganisasi dalam kategori- kategori

kategori. .

Pemimpin review membaca use-case secara hati-hati. Pemimpin review membaca use-case secara hati-hati .

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

memegang kartu index class yang terkait.

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

jawab yang tertulis di kartu tersebut.

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

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

mengakomodasi use-case, modifikasi dilakukan pada kartu tersebut. .

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

mengenai tanggung jawab, atau kolaborasi kartu yang sudah ada.

(61)

Asosiasi dan Dependensi Asosiasi dan Dependensi

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

lain dalam beberapa pola

 Dalam UML relasi ini sering disebut Dalam UML relasi ini sering disebut asosiasi asosiasi

 Asosiasi dapat didapatkan dengan mengenali Asosiasi dapat didapatkan dengan mengenali multiplicity multiplicity (istilah (istilah cardinality

cardinality digunaikan dalam pemodelan data digunaikan dalam pemodelan data

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

dua class analisis.

 Dalam kasus ini, class client tergantung pada class server dalam Dalam kasus ini, class client tergantung pada class server dalam suatu cara dan

suatu cara dan relasi dependensi relasi dependensi terjadi terjadi

(62)

Multiplicity Multiplicity

WallSegment Window Door

Wall

is used to build is used to build

is used to build 1..*

1 1 1

0..* 0..*

(63)

Dependencies Dependencies

Camera DisplayWindow

{password}

<<access>>

(64)

Analisis Paket Analisis Paket

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

 Tanda plus di dalam nama class analisis dalam setiap paket Tanda plus di dalam nama class analisis dalam setiap paket menandakan bahwa class-class tersebut mempunyai visibilitas menandakan bahwa class-class tersebut mempunyai visibilitas publik dan karena itu dapat diakses dari paket lain.

publik dan karena itu dapat diakses dari paket lain.

 Simbol lain dapat mendahului elemen di dalam paket. Tanda minus Simbol lain dapat mendahului elemen di dalam paket. Tanda minus menandakan bahwa elemen disembunyikan dari semua paket, dan menandakan bahwa elemen disembunyikan dari semua paket, dan tanda # menandakan bahwa elemen hanya dapat diakses oleh paket tanda # menandakan bahwa elemen hanya dapat diakses oleh paket yang berada di dalam paket tersebut.

yang berada di dalam paket tersebut.

(65)

Analysis Packages Analysis Packages

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

Characters +Player +Protagonist +Antagonist +SupportingRole

RulesOfTheGame +RulesOfMovement +ConstraintsOnAction

package name

(66)

Pemodelan Perilaku Pemodelan Perilaku

 Model perilaku menggambarkan bagaimana PL merespon event Model perilaku menggambarkan bagaimana PL merespon event atau stimulan eksternal. Untuk model tersebut, analis harus

atau stimulan eksternal. Untuk model tersebut, analis harus melakukan langkah-langkah berikut :

melakukan langkah-langkah berikut :

Evaluasi semua use-case untuk mendapatkan pemahaman menyeluruh Evaluasi semua use-case untuk mendapatkan pemahaman menyeluruh tentang urutan interaksi di dalam sistem.

tentang urutan interaksi di dalam sistem.

Mengenali event yang mengendalikan urutan interaksi dan Mengenali event yang mengendalikan urutan interaksi dan

memahamibagaimana event mempunyai relasi terhadap objek spesifik.

memahamibagaimana event mempunyai relasi terhadap objek spesifik.

Membuat urutan untuk setiap use-case. Membuat urutan untuk setiap use-case.

Membangun state diagram untuk sistem. Membangun state diagram untuk sistem.

Review model behavioral untuk memverifikasi akurasi dan konsistensi Review model behavioral untuk memverifikasi akurasi dan konsistensi

(67)

Representasi Keadaan Representasi Keadaan

 Dalam konteks pemodelan perilaku, dua karakter Dalam konteks pemodelan perilaku, dua karakter keadaan harus diperhatikan :

keadaan harus diperhatikan :

 Keadaan setiap class ketika sistem menjalankan fungsinya, dan Keadaan setiap class ketika sistem menjalankan fungsinya, dan

 Keadaan sistem ketika diobservasi dari luar sebagaimana sistem Keadaan sistem ketika diobservasi dari luar sebagaimana sistem menjalankan fungsinya.

menjalankan fungsinya.

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

pasif [CHA93].

 Sebuah Sebuah keadaan pasif keadaan pasif adalah status saat ini dari semua atribut adalah status saat ini dari semua atribut objek.

objek.

Keadaan aktif Keadaan aktif dari sebuah objek menggambarkan status saat ini dari sebuah objek menggambarkan status saat ini pada objek tersebut ketika menjalankan transformasi atau

pada objek tersebut ketika menjalankan transformasi atau proses.

proses.

(68)

State Diagram for the ControlPanel Class 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

(69)

Keadaan-Keadaan Sistem Keadaan-Keadaan Sistem

 state state —sekumpulan keadaan terobservasi —sekumpulan keadaan terobservasi yang menggambarkan perilaku sistem yang menggambarkan perilaku sistem

pada satu waktu pada satu waktu

 state transition state transition —perubahan dari satu —perubahan dari satu keadaan ke keadaan yang lain

keadaan ke keadaan yang lain

 event event —sebuah kejadian yang —sebuah kejadian yang

menyebabkan sistem melakukan perilaku menyebabkan sistem melakukan perilaku

yang sudah diprediksi sebelumnya yang sudah diprediksi sebelumnya

 action action —proses yang terjadi sebagai —proses yang terjadi sebagai konsekuensi membuat transisi

konsekuensi membuat transisi

(70)

Pemodelan Perilaku Pemodelan Perilaku

 Membuat daftar keadaan sistem yang Membuat daftar keadaan sistem yang berbeda (Bagaimana perilaku sistem ?) berbeda (Bagaimana perilaku sistem ?)

 Menggambarkan bagaimana sistem Menggambarkan bagaimana sistem membuat transisi dari satu keadaan ke membuat transisi dari satu keadaan ke

keadaan yang lain.indicate how the system keadaan yang lain.indicate how the system makes a transition from one state to another makes a transition from one state to another (Bagaimana sistem mengubah keadaan?)

(Bagaimana sistem mengubah keadaan?)

 mengenali event mengenali event

 Mengawali action Mengawali action

 Menggambar sebuah Menggambar sebuah state diagram atau state diagram atau

(71)

Sequence Diagram Sequence Diagram

homeowner control panel system sensorssensors

system ready

reading

request lookup comparing

result password entered

password = correct

request activation

activation successful locked

numberOfTries > maxTries

selecting timer > lockedTime

A A

Figure 8.27 Sequence diagram (partial) for SafeHome security function activation successful

(72)

Menulis Spesifikasi PL Menulis Spesifikasi PL

Setiap orang harus tahu pasti apa yang harus dilakukan hingga seseorang

menuliskannya !

(73)

Tugas Tugas

 Buatlah sebuah paper yang menjelaskan tentang UML Buatlah sebuah paper yang menjelaskan tentang UML beserta contoh kasusnya, minimal 15 halaman, spasi 1.5, beserta contoh kasusnya, minimal 15 halaman, spasi 1.5,

kertas Quarto, sampul mika biru tua.

kertas Quarto, sampul mika biru tua.

 Kriteria penilaian : Kriteria penilaian :

 Validitas/kebenaran Validitas/kebenaran

 Kelengkapan Kelengkapan

 Kompleksitas kasus Kompleksitas kasus

(74)

Panduan Spesifikasi Panduan Spesifikasi

use a layered format that provides increasing detail as the "layers" deepen

use consistent graphical notation and apply textual terms consistently (stay away from aliases)

be sure to define all acronyms

be sure to include a table of contents; ideally, include an index and/or a glossary

write in a simple, unambiguous style (see "editing suggestions" on the following pages)

always put yourself in the reader's position, "Would

I be able to understand this if I wasn't intimately

(75)

Panduan Spesifikasi Panduan Spesifikasi

Be on the lookout for persuasive connectors, ask why?

keys: certainly, therefore, clearly, obviously, it follows that ...

Watch out for vague terms

keys: some, sometimes, often, usually,ordinarily, most, mostly ...

When lists are given, but not completed, be sure all items are understood keys: etc., and so forth, and so on, such as

Be sure stated ranges don't contain unstated assumptions

e.g., Valid codes range from 10 to 100. Integer? Real? Hex?

Beware of vague verbs such as handled, rejected, processed, ...

Beware "passive voice" statements

e.g., The parameters are initialized. By what?

Beware "dangling" pronouns

e.g., The I/O module communicated with the data validation module and

its contol flag is set. Whose control flag?

(76)

Panduan Spesifikasi Panduan Spesifikasi

When a term is explicitly defined in one place, try

substituting the definition forother occurrences of the term When a structure is described in words, draw a picture When a structure is described with a picture, try to redraw the picture to emphasize different elements of the structure When symbolic equations are used, try expressing their meaning in words

When a calculation is specified, work at least two examples

Look for statements that imply certainty, then ask for proof keys; always, every, all, none, never

Search behind certainty statements—be sure restrictions

Gambar

Table Desk ”Chable&#34;
Diagram dan atau grafikDiagram dan atau grafik
Figure 8.27  Sequence diagram (partial) for  SafeHome security functionactivation successful

Referensi

Dokumen terkait

Tersedianya peraturan zonasi yang operasional dan sesuai dengan karakteristik BWP Sedayu untuk mengendalikan kegiatan pemanfaatan ruang dan alih fungsi lahan di BWP

Berdasarkan hasil analisis yang dilakukan, penelitian ini menunjukkan bahwa Biaya Operasional terhadap Pendapatan Operasional (BOPO), Equity to Total Assets Ratio (EAR

Oleh karena itu proses PL yang efektif harus menentukan sekumpulan task set, masing-masing dirancang untuk memenuhi kebutuhan-kebutuhan tipe proyek yang berbeda....

Berdasarkan hasil uji analisis jalur menunjukkan bahwa faktor-faktor yang mempengaruhi tingkat pemenuhan kebutuhan penyuluh agama adalah ; usia mewakili karakteristik pribadi

Namun, ada beberapa indikator yang kurang di kuasai terhadap kinerja guru seperti menentukan media pembelajaran yang sesuai dengan karakteristik dan kebutuhan peserta didik,

MEMAHAMI PENGEMBANGAN KURIKULUM OPERASIONAL SATUAN PENDIDIKAN DALAM KURIKULUM MERDEKA Panduan Pengembangan Kurikulum Operasional Satuan Pendidikan • Analisis karakteristik satuan

MEMAHAMI PENGEMBANGAN KURIKULUM OPERASIONAL SATUAN PENDIDIKAN DALAM KURIKULUM MERDEKA Panduan Pengembangan Kurikulum Operasional Satuan Pendidikan • Analisis karakteristik satuan

Keterampilan Khusus: Mampu merancang dan mengembangkan program Bimbingan dan Konseling secara konseptual maupun operasional yang didasarkan hasil analisis kebutuhan yang bersumber