Title: Sistem Pemodelan Perangkat Lunak
1Sistem Pemodelan Perangkat Lunak
- Pemodelan Perangkat Lunak
2Pemodelan Perangkat Lunak
- System models gt Merupakan gambaran abstrak dari
sebuah sistem dimana persyaratan sistem tersebut
akan / sedang dianalisa. - Metode Formal (Formal methods) gt merupakan
teknik dan notasi dari persyaratan perangkat
lunak yang tidak ambigu.
3Tujuan
- 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
4Requirement 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
5The 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
6The Unified Modeling Language
7Pemodelan 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.
8Model 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.
9Model Konteks
- Arsitektur model sederhana
10Model Proses / Aktifitas
11Model 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
12Model Aliran Data
- Proses data dari aktifitas place equipment order
Send to supplier
Checked signed order
Signed order form
Completed order form
Signed order form
Order Detail Blank Form
Complete Order Form
Validate order
Record order
Adjust avail budget
Signed order form
Order Details
Order amount acount detail
Orders File
Budget File
13Model Perilaku Pemrosesan Data
- CASE toolset data flow diagram (DFD)
14Model State Machine
- Contoh sederhana pada microwave
15Model 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
16Semantic data (a.k.a. ER) models
17Data 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
18Data dictionary models
19Model 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
20Model Obyek - Model Inheritance
Hirarki kelas library
21Model Obyek - Model Aggregasi
Aggregate object repr. A course
22Model Obyek Model Interaksi
Interaksi antar obyek dlm issue of electronic
item pada Sistem Perpustakaan
23Sasaran 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
24Mengapa 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
25Mengapa 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
26Mengapa 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
27Tipe 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 dalam kumpulan relasi
yang ekuivalen - 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)
28Mitos 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
29Pemodelan G.O.M.S untuk antarmuka
- Pemodelan Perangkat Lunak
30Pendahuluan
- 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)
31Deskripsi 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.
32Model 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
33Metode 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
34GOMS 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
35Example 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.
36GOMS Procedure Model MethodExample VCR
Procedures
- 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
37(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
38(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.
39Contoh Implementasi aksi game dengan GOMS
Goal Objectif Methods Â
Melewati jurang Melompati jurang Ancang-ancang Â
Melewati jurang Melompati jurang Tekuk kaki Â
  Lompat Â
 Pakai tali Tali di ikat pada pohon Â
  Tali diulur ke bawah Â
  Rambati tali Â
 Terbang Cari kesaktian terbang pada jimat Â
  Gunakan jimat terbang Â
  Lompat dan terbang Â
40End Session
41Contoh 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