Day 2 Software System Modelling
Pemodelan Perangkat Lunak
SISTEM PEMODELAN PERANGKAT
LUNAK
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.
Tujuan
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
Requirement Engineering
(Short Review)
Merupakan suatu cara agar perekayasa
perangkat lunak memahami permasalahan
yang akan dipecahkan
Task yang terlibat yaitu : inception, elicitation,
elaboration,
negotiation,
specification,
validation dan management
The Unified Modeling
Language
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
The Unified Modeling
Language
Pemodelan Perangkat Lunak dan
Modelnya
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 Konteks
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.
Model Konteks
Arsitektur model sederhana
Security
system
Branch
accounting
system
Account
database
Auto-teller
system
Branch
counter
system
Usage
database
Maintenance
system
Model Proses / Aktifitas
Procuring equipment case
Delivery
note
Specify
equipment
required
Equipment
spec.
Checked
spec.
Validate
specification
Spec. +
supplier +
estimate
Equipment
spec.
Supplier
database
Accept
delivery of
equipment
Get cost
estimates
Supplier list
Find
suppliers
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
Model Perilaku
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
Model Aliran Data
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
Adjust
avail
budget
Order amount +
acount detail
Orders File
Budget File
Model Perilaku –
Pemrosesan Data
CASE toolset data flow diagram (DFD)
Input
design
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
Model State Machine
Contoh sederhana pada microwave
Model Data
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
Semantic data (a.k.a. ER)
models
Design
1
name
description
C-date
M-date
is-a
has-nodes
1
has-links
1
n
n
1
Node
has-links
1
Link
n
name
type
name
type
2
1
links
1
1
has-labels
has-labels
Label
n
name
text
icon
n
Data dictionary models
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
Data dictionary models
Name
Description
1:N relation between entities of type
has-labels
Node or Link and entities of type
Label.
Holds structured or unstructured
Label
information about nodes or links.
Labels are represented by an icon
(which can be a transparent box) and
associated text.
A 1:1 relation between design
Link
entities represented as nodes. Links
are typed and may be named.
Each label has a name which
name (label) identifies the type of label. The name
must be unique within the set of label
types used in a design.
Each node has a name which must be
name (node) unique within a design. The name
may be up to 64 characters long.
Type
Date
Relation
5.10.1998
Entity
8.12.1998
Relation
8.12.1998
Attribute
8.12.1998
Attribute
15.11.1998
Model Obyek
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
Model Obyek - Model Inheritance
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
Model Obyek - Model
Aggregasi
Study pack
Course title
Number
Year
Instructor
Assignment
Credits
Exercises
#Problems
Description
OHP slides
Slides
Solutions
Text
Diagrams
Lecture
notes
Text
Videotape
Tape ids.
Model Obyek – Model
Interaksi
Ecat:
Catalog
:Library Item
:Library User
Lookup
Display
Issue
Issue licence
Accept licence
Compress
Deliver
Lib1:
NetServer
Sasaran dari metode formal
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
Mengapa menggunakan metode
formal
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
Mengapa menggunakan metode
formal?
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
Mengapa tidak menggunakan
metode formal?
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
Tipe Bahasa spesifikasi
formal
Spesifikasi axiomatic
Axiomatic = yang sudah jelas kebenarannya.
Mendefinisikan operasi dengan pernyataan logika
Spesifikasi pergantian keadaan (state-transition)
Mendefinisikan operasi dalam pernyataan state dan transisi
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)
Mitos yang ada pada metode
formal
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 safety-critical.
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
PEMODELAN G.O.M.S UNTUK
ANTARMUKA
Pendahuluan
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)
Deskripsi Model GOMS
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.
Model GOMS
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
Metode Analisa Model Prosedur
GOMS
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
GOMS Procedure Model
Method
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
Example uses NGOMSL
notation
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.
GOMS Procedure Model
Method
User goals - a subset
Example:
• Set the clock VCR Procedures
• 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
(Continue)
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
(Continue)
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.
Contoh Implementasi aksi
game dengan GOMS
Goal
?
Melewati
jurang
Objectif
Methods
Melompati
jurang
Ancang-ancang
Tekuk kaki
!!!
Lompat
Pakai tali
Tali di ikat pada pohon
?
Tali diulur ke bawah
a
Rambati tali
n
Terbang
Cari kesaktian terbang pada jimat
Gunakan jimat terbang
Lompat dan terbang
End Session
Question??
Contoh permasalahan - Jam
Inisialiasi : Wakti tengah malam, bell dalam
keadaan mati dan alarm tidak aktif.
Jika waktu sekarang sama dengan waktu alarm
dan alarm aktif, bell akan memulai berbunyi.
Hanya dalam kondisi ini bell dapat mulai berbunyi
Waktu alarm dapat diatur setiap saat
Hanya ketika alarm aktif saja dapat di non
aktifkan
Jika alarm tidak aktif ketika bell berbunyi, maka
bell akan berhenti berbunyi
Pengaturan kembali jam, mengatifkan atau
nonaktifkan alarm dianggap telah dilakukan
SISTEM PEMODELAN PERANGKAT
LUNAK
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.
Tujuan
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
Requirement Engineering
(Short Review)
Merupakan suatu cara agar perekayasa
perangkat lunak memahami permasalahan
yang akan dipecahkan
Task yang terlibat yaitu : inception, elicitation,
elaboration,
negotiation,
specification,
validation dan management
The Unified Modeling
Language
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
The Unified Modeling
Language
Pemodelan Perangkat Lunak dan
Modelnya
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 Konteks
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.
Model Konteks
Arsitektur model sederhana
Security
system
Branch
accounting
system
Account
database
Auto-teller
system
Branch
counter
system
Usage
database
Maintenance
system
Model Proses / Aktifitas
Procuring equipment case
Delivery
note
Specify
equipment
required
Equipment
spec.
Checked
spec.
Validate
specification
Spec. +
supplier +
estimate
Equipment
spec.
Supplier
database
Accept
delivery of
equipment
Get cost
estimates
Supplier list
Find
suppliers
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
Model Perilaku
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
Model Aliran Data
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
Adjust
avail
budget
Order amount +
acount detail
Orders File
Budget File
Model Perilaku –
Pemrosesan Data
CASE toolset data flow diagram (DFD)
Input
design
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
Model State Machine
Contoh sederhana pada microwave
Model Data
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
Semantic data (a.k.a. ER)
models
Design
1
name
description
C-date
M-date
is-a
has-nodes
1
has-links
1
n
n
1
Node
has-links
1
Link
n
name
type
name
type
2
1
links
1
1
has-labels
has-labels
Label
n
name
text
icon
n
Data dictionary models
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
Data dictionary models
Name
Description
1:N relation between entities of type
has-labels
Node or Link and entities of type
Label.
Holds structured or unstructured
Label
information about nodes or links.
Labels are represented by an icon
(which can be a transparent box) and
associated text.
A 1:1 relation between design
Link
entities represented as nodes. Links
are typed and may be named.
Each label has a name which
name (label) identifies the type of label. The name
must be unique within the set of label
types used in a design.
Each node has a name which must be
name (node) unique within a design. The name
may be up to 64 characters long.
Type
Date
Relation
5.10.1998
Entity
8.12.1998
Relation
8.12.1998
Attribute
8.12.1998
Attribute
15.11.1998
Model Obyek
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
Model Obyek - Model Inheritance
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
Model Obyek - Model
Aggregasi
Study pack
Course title
Number
Year
Instructor
Assignment
Credits
Exercises
#Problems
Description
OHP slides
Slides
Solutions
Text
Diagrams
Lecture
notes
Text
Videotape
Tape ids.
Model Obyek – Model
Interaksi
Ecat:
Catalog
:Library Item
:Library User
Lookup
Display
Issue
Issue licence
Accept licence
Compress
Deliver
Lib1:
NetServer
Sasaran dari metode formal
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
Mengapa menggunakan metode
formal
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
Mengapa menggunakan metode
formal?
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
Mengapa tidak menggunakan
metode formal?
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
Tipe Bahasa spesifikasi
formal
Spesifikasi axiomatic
Axiomatic = yang sudah jelas kebenarannya.
Mendefinisikan operasi dengan pernyataan logika
Spesifikasi pergantian keadaan (state-transition)
Mendefinisikan operasi dalam pernyataan state dan transisi
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)
Mitos yang ada pada metode
formal
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 safety-critical.
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
PEMODELAN G.O.M.S UNTUK
ANTARMUKA
Pendahuluan
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)
Deskripsi Model GOMS
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.
Model GOMS
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
Metode Analisa Model Prosedur
GOMS
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
GOMS Procedure Model
Method
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
Example uses NGOMSL
notation
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.
GOMS Procedure Model
Method
User goals - a subset
Example:
• Set the clock VCR Procedures
• 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
(Continue)
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
(Continue)
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.
Contoh Implementasi aksi
game dengan GOMS
Goal
?
Melewati
jurang
Objectif
Methods
Melompati
jurang
Ancang-ancang
Tekuk kaki
!!!
Lompat
Pakai tali
Tali di ikat pada pohon
?
Tali diulur ke bawah
a
Rambati tali
n
Terbang
Cari kesaktian terbang pada jimat
Gunakan jimat terbang
Lompat dan terbang
End Session
Question??
Contoh permasalahan - Jam
Inisialiasi : Wakti tengah malam, bell dalam
keadaan mati dan alarm tidak aktif.
Jika waktu sekarang sama dengan waktu alarm
dan alarm aktif, bell akan memulai berbunyi.
Hanya dalam kondisi ini bell dapat mulai berbunyi
Waktu alarm dapat diatur setiap saat
Hanya ketika alarm aktif saja dapat di non
aktifkan
Jika alarm tidak aktif ketika bell berbunyi, maka
bell akan berhenti berbunyi
Pengaturan kembali jam, mengatifkan atau
nonaktifkan alarm dianggap telah dilakukan