Day 2 Software System Modelling

Pemodelan Perangkat Lunak

 System

models –> Merupakan
gambaran abstrak dari sebuah
sistem dimana persyaratan sistem
tersebut akan / sedang dianalisa.
 Metode Formal (Formal methods) –>
merupakan teknik dan notasi dari
persyaratan perangkat lunak yang
tidak ambigu.

 Menjelaskan

mengapa konteks dari
sistem harus dimodelkan sebagai
bagian dari proses Requirement
Engineering
 Menggambarkan konsep pemodelan
perilaku, pemodelan data dan

pemodelan obyek
 Memperkenalkan beberapa notasi
yang digunakan pada UML (Unified
Modelling Language)
 Memperkenalkan pendekatan metode
formal dan pemodelan formal

 Merupakan

suatu
cara
agar
perekayasa
perangkat
lunak
memahami permasalahan yang akan
dipecahkan
 Task yang terlibat yaitu : inception,
elicitation, elaboration, negotiation,
specification,

validation
dan
management

 Disarankan

untuk para perekayasa
yang menggunakan analisa dan
desain berorientasi obyek dalam
metodenya.
 Menjadi sebuah standar yang efektif
dalam pemodelan perangkat lunak
 Memiliki 9 notasi yang berbeda

Use Case
Use Case
Diagrams
Sequence
Diagrams
Diagrams


Use Case
Use Case
Diagrams
Use Case
Diagrams
Diagrams

Scenario
Scenario
Diagrams
Collaboration
Diagrams
Diagrams
Scenario
Scenario
Diagrams
Statechart
Diagrams
Diagrams


State
State
Diagrams
Class
Diagrams
Diagrams

Models

State
State
Diagrams
Object
Diagrams
Diagrams
State
State
Diagrams
Component

Diagrams
Diagrams

Component
Component
Diagrams
Deployment
Diagrams

Activity
Diagrams

Diagrams





Pemodelan perangkat lunak membantu para
perekayasa untuk memahami fungsionalitas dari

sistem
Model digunakan untuk berkomunikasi dengan
para stakeholder
Model yang yang berbeda – beda akan
menampilkan suatu sistem dari sudut pandang
yang berbeda pula.
 Sudut pandang luar (eksternal) akan menampilkan

lingkungan atau konteks dari sistem
 Model proses / aktifitas menampilkan proses
pembangunan dari sistem sama halnya dengan
menggambarkan segala aktifitas yang didukung oleh
sistem
 Sudut pandang perilaku memperlihatkan perilaku dari
sistem tersebut
 Sudut pandang struktural memperlihatkan arsitektur
dari sistem atau data.

 Model


ini menggambarkan sistem dengan
lingkungan diluarnya tetapi tidak
menggambarkan relasi antara sistem luar
dalam lingkungan dengan sistem
 Lingkungan luar mungkin mengirim data
ke sistem, terhubung langsung ke sistem
dan membagi datanya ke sistem.
 Untuk itu ada detail proses yang harus
disediakan seperti dalam model proses.

 Arsitektur

model sederhana
Security
system

Branch
accounting
system


Account
database
Auto-teller
system

Branch
counter
system

Usage
database
Maintenance
system

 Procuring
Specify
equipment
requir ed

equipment case


Equipment
spec.

Validate
specification

Equipment
spec.
Supplier
database

Delivery
note

Checked
spec.

Supplier list
Find

suppliers

Accept
delivery of
equipment

Get cost
estimates
Spec. +
supplier +
estima te
Choose
supplier

Order
notification

Order
details +
Blank order

form

Place
equipment
order

Checked and
signed order form

Delivery
note

Check
delivered
items
Installation
instructions

Install
equipment
Installation
acceptance
Accept
delivered
equipment
Equipment
details
Equipment
database

 Ada

dua macam

 Model aliran data, dimana memodelkan

proses data dalam sistem
 Model state machine, memodelkan
bagaimana sistem bereaksi terhadap
kejadian
 Model

- model ini dapat digunakan
secara bersama –sama atau sendiri

 Proses

data dari aktifitas place
equipment order
Completed
order form

Order Detail
Blank Form
Complete
Order
Form

Signed
order form

Signed
order form
Validate
order

Send to
supplier

Checked &
signed order

Record
order
Signed
order form
Order
Details

Orders File

Adjust avail
budget
Order amount +
acount detail

Budget File

 CASE
Input
design

toolset data flow diagram (DFD)
Valid
design

Design
editor
Referenced
designs
Design
database

Checked
design
Design
cross checker

and

Design
analysis
Design
analyser

Checked
design
Code skeleton
generator

User
report
Report
generator

Output
code

Design
database

 Contoh

sederhana pada microwave








Kebanyakan sistem perangkat lunak besar
menggunakan database yang juga cukup besar.
Bagian terpenting dari pemodelan sistem
adalah mencari bentuk logic data yang diproses
dalam sistem.
Pemodelan mencari bentuk logic ini dinamakan
semantic data model
Contoh pemodelan data yang terkenal adalah
menggunakan teknik ERA modelling
Model ini juga kurang detil, sehingga
dibutuhkan deskripsi lebih detil dari masing
entitas, atribut dan relasi. Maka dapat
digunakan data dictionary

Design
1

name
description
C-date
M-date

is-a

has-nodes
n
Node
name
type

1

has-links

1

n

1
has-links

1
2

Link

n
1

links

1

name
type
1

has-labels

has-labels
Label
n

name
text
icon

n

 Data

dictionary merupakan daftar
nama yang terlibat dalam model
sistem
 Berisi deskripsi entitas dan informasi
pendukung lainnya
 Kegunaannya :
 Mengelola nama  unique
 Berfungsi untuk menyimpan infomasi

organisasi

 Model

obyek menggambarkan suatu sistem
dalam kelas - kelas obyek
 Kelas Obyek merupakan abstraksi dari
suatu set obyek dengan atribut dan operasi
yang dimiliki oleh masing – masing obyek.
 Model obyek yang berbeda dapat
dihasilkan :
 Model Inheritance
 Model Aggregasi
 Model Interaksi

Library item
Catalogue number
Acquisition date
Cost
Type
Status
Number of copies
Acquire ()
Catalogue ()
Dispose ()
Issue ()
Return ()

Published item

Recorded item
Title
Medium

Title
Publisher

Book
Author
Edition
Publication date
ISBN

Magazine
Year
Issue

Film
Director
Date of release
Distributor

Computer
program
Version
Platform

Study pack
Course title
Number
Year
Instructor

Assignment

Slides

Credits

Exercises
#Problems
Description

OHP slides

Solutions
Text
Diagrams

Lectur e
notes
Text

Videotape
Tape ids.

Ecat:
Catalog

:Library Item

:Library User
Lookup
Display
Issue
Issue licence
Accept licence
Compress
Deliver

Lib1:
NetServer




Menghindari ambiguitas, konsisten, lengkap dan dapat
dibuktikan kebenarannya
Spesifikasi persyaratan :
 Mengklarifikasi persyaratan kustomer
 Mengungkapkan ambiguitas, ketidakonsistenan dan









ketidaklengkapan

Desain sistem / perangkat lunak
 Spesifikasi struktural dari relasi antar komponen
 Spesifikasi perilaku dari komponen

Verifikasi :

 Apakah kita telah membangun sistem dengan benar?
 Membuktikan bahwa realisasi sesuai dengan spesifikasi

Validasi :

 Apakah sistem yang dibangun sesuai permintaan?
 Test dan debugging

Dokumentasi:

 Komunikasi diantara stakeholder

 Metode

formal memiliki kemampuan untuk
meningkatkan kualitas dan produktifitas
dalam pembangunan perangkat lunak.
Diantara kemampuannya :
 Untuk meningkatkan pendeteksian error sejak

awal
 Untuk membangun sistem perangkat lunak yang
aman, handal dan terjamin
 Untuk memfasilitasi pengujian dari implementasi
 Untuk memungkinkan dilakukannya simulasi,
animasi, pembuktian, eksekusi dan transformasi

Metode formal telah berada pada
ambang
untuk
dijadikan
sebagai
metode yang terbaik dan/atau metode
yang
sangat
dibutuhkan
untuk
membangun sistem perangkat lunak
yang safety-critical dan mission-critical
 Untuk memastikan bahwa sistem telah
memenuhi standar dan peraturan.
 To avoid legal liability repercussions


 Teknologi

baru yang belum pasti hasil

baliknya
 Kurangnya
pengalaman
dan
pembuktian akan keberhasilan.
 Kurangnya dukungan otomasi
 Tool yang ada sekarang tidak user
friendly
 Kurva pembelajaran yang tinggi
 Dibutuhkan kemampuan matematika
dan kesempurnaan yang baik.
 Teknik yang tidak banyak penggunanya
 Teknik tidak dapat diukur




Spesifikasi axiomatic

 Axiomatic = yang sudah jelas kebenarannya.
 Mendefinisikan operasi dengan pernyataan logika

Spesifikasi pergantian keadaan (state-transition)

 Mendefinisikan




transisi

operasi dalam pernyataan state dan

Spesifikasi model abstrak

 Mendefinisikan operasi dengan model matematika

Spesifikasi aljabar

 Mendefinisikan operasi



ekuivalen

dalam kumpulan relasi yang

Spesifikasi logika temporal (waktu)

 Mendefinisikan operasi dengan pernyataan urutan waktu



dan eksekusi (pelaksanaan)

Spesifikasi kebersamaan (concurrent)

 Mendefinisikan operasi dalam pernyataan kejadian yang

berlangsung secara berkesinambungan (simultaneously
occurring events)








Metode formal dapat menjamin kesempurnaan dari
perangkat lunak

 Tetapi apakah bisa memastikan spec yang dibangun sempurna?

Metode formal semuanya berupa pembuktian program
 Metode ini merupakan pemodelan, komunikasi dan demonstrasi

Metode formal hanya berguna pada sistem safetycritical.
 Tidak juga, mungkin juga berguna pada semua sistem

Metode formal sangat membutuhkan matematikawan
terlatih
 metode ini melibatkan tidak lebih dari satu set teori dan logika saja

Metode formal meningkatkan biaya pembangunan
 Justru lebih sering kebalikannya

Metode formal tidak dapat diterima oleh user

 Justru user akan mendapatkan bahwa metode itu sangat membantu



jika dipresentasikan dengan baik

Metode formal tidak digunakan pada perangkat lunak
skala besar
 Justru metode ini digunakan setiap hari pada banyak cabang dalam

industri

Pemodelan Perangkat Lunak

 G.O.M.S
 Merupakan pendekatan untuk

menganalisa kualitas prosedur dari
sebuah antar muka
 Merupakan pendekatan untuk
menggambarkan pengetahuan dari
suatu prosedur yang harus dimiliki oleh
user untuk menjalankan suatu sistem
 Proposed by Card, Moran, & Newell
(1983)



Goals (tujuan)
 Apa tujuan yang harus dicapai oleh user pada

sistem



Operators
 Apa perlakuan dasar yang dapat dilakukan oleh

user



Methods
 Apa saja urut-urutan dari operator (prosedur) yang

harus diikuti oleh user untuk mencapai tujuan



Selection Rules

 Ada beberapa metode yang bisa user lakukan

untuk mencapai tujuan pada situasi tertentu yang
diberikan.

 Terdapat

dua pendekatan dalam
mengevaluasi kualitas prosedur dari
sebuah antarmuka
 Metode Model Tingkat Penekanan

Tombol (Keystroke – Level)
 Operator dan Waktu untuk Model Tingkat
Penekanan Tombol

 Pilih satu set level teratas dari tujuan user
 Pilih desain antarmuka tertentu
 Tulis prosedur umum yang harus user

pelajari dan lakukan untuk mencapai
tujuan

 Dapat menggunakan notasi tertentu seperti

NGOMSL

 Perkirakan

pembelajaran dan implikasi
pelaksanaan dari prosedur
 Informal : Kompleksitas yang tidak perlu,

lambat dan langkah yang sulit
 Formal : Hitung waktu perkiraan pembelajaran
dan pelaksanaan

 Choose

the design with the best
combination of learning and
execution times.
 Especially useful for:
 Assessing consistency and ease of

learning.
 Predicting execution time for a large
variety of situations



Methods for Setting the Clock
 Method for goal: set the clock
▪ Step 1. Press CLOCK button
▪ Step 2. Accomplish goal: set a day and time with the current
day and time
▪ Step 3. Press CLOCK button
▪ Step 4. Return with goal accomplished
 Method for goal: set a day and time
▪ Step 1. Accomplish goal: set day value to the desired value
▪ Step 2. Press SELECT
▪ Step 3. Accomplish goal: set hour value to the desired value
▪ Step 4. Press SELECT
▪ Step 5. Accomplish goal: set minute value to the desired value
▪ Step 6. Return with goal accomplished
 Method for goal: set a value to a desired value
▪ Step 1. Verify that display shows current value is flashing
▪ Step 2. Decide: If display shows value same as desired, then
return with goal accomplished.
▪ Step 3. Decide: If display shows value smaller than desired,
then press UP button. else press DOWN button.
▪ Step 4. Go to Step 2.

User goals - a subset
• Set the clock
• Record a program
• Stop current recording
• Cancel previously programmed
recording
 Assumptions
• A cassette is loaded
• Power is on
• Desired channel is already selected
 Methods and Selection Rules are
somewhat simplified




Methods for Recording a Program
 Selection rule set for goal: record a program
 If you are present when the program starts and
you will be present when the program ends then
accomplish goal: record a program manually
 If you are present when the program starts and
you will not be present when the program ends
and you know how long the program lasts and the
VCR clock is set then accomplish goal: record a
program with One-Touch Recording
 If you will not be present when the program starts
and you know when the program will start and you
know how long the program lasts and the VCR
clock is set then accomplish goal: record a
program with Timer Recording
 Return with goal accomplished





Method for goal: record a program manually
 Step 1. Wait for program to start.
 Step 2. Hold down REC button.
 Step 3. Press PLAY button.
 Step 4. Release both buttons.
 Step 5. Verify that display shows "REC" and arrow is moving
 Step 6. Wait for program to end
 Step 7. Press STOP button.
 Step 8. Return with goal accomplished.
Method for goal: record a program with One-Touch
Recording
 Step 1. Wait for program to start
 Step 2. Press OTR button.
 Step 3. Press OTR button.
 Step 4. Decide: If time shown in display is less than length
of program, go to Step 3.
 Step 5. Return with goal accomplished.

Goal
?

Melewati
jurang

Objectif

Methods

 

Melompati
jurang

Ancang-ancang

 

Tekuk kaki

 

Lompat

 

Tali di ikat pada pohon

 

Tali diulur ke bawah

 

Rambati tali

 

Cari kesaktian terbang pada jimat

 

Gunakan jimat terbang

 

Lompat dan terbang

 

!!!

Pakai tali
?

a
n

Terbang

 

 

 Question??