SISTEM PEMODELAN PERANGKAT
LUNAK
Pemodelan Perangkat Lunak
System models –> Merupakan gambaran abstrak dari sebuah sistem dimana
persyaratan sistem tersebut akan / sedang dianalisa.
dianalisa.
Metode Formal (Formal methods) –> merupakan teknik dan notasi dari
Tujuan
Menjelaskan mengapa konteks dari sistem harus dimodelkan sebagai bagian dari proses Requirement Engineering
Menggambarkan konsep pemodelan
perilaku, pemodelan data dan pemodelan perilaku, pemodelan data dan pemodelan obyek
Memperkenalkan beberapa notasi yang digunakan pada UML (Unified Modelling Language)
Requirement Engineering
(Short Review)
Merupakan suatu cara agar perekayasa perangkat lunak memahami permasalahan yang akan dipecahkan
Task yang terlibat yaitu : inception, elicitation, Task yang terlibat yaitu : inception, elicitation,
elaboration, negotiation, specification,
The Unified Modeling
Language
Disarankan untuk para perekayasa yang menggunakan analisa dan desain
berorientasi obyek dalam metodenya.
Menjadi sebuah standar yang efektif dalam Menjadi sebuah standar yang efektif dalam pemodelan perangkat lunak
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. 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
Model Konteks
Model ini menggambarkan sistem dengan lingkungan diluarnya tetapi tidak
menggambarkan relasi antara sistem luar dalam lingkungan dengan sistem
dalam lingkungan dengan sistem
Lingkungan luar mungkin mengirim data ke sistem, terhubung langsung ke sistem dan membagi datanya ke sistem.
Model Konteks
Security system
Account Branch
accounting
Arsitektur model sederhana
Auto-teller system
Maintenance system
Account database
Usage database accounting
system
Model Proses / Aktifitas
Get cost estimates Accept delivery of equipment Check delivered items Validate specification Specify equipment required Equipment spec. Checked spec. Delivery note Delivery note Spec. + supplier +Procuring equipment case
Choose supplier Place equipment order Install equipment Find suppliers Supplier database Accept delivered equipment Equipment database Order notification Installation instructions Installation acceptance Equipment details Checked and
Model Perilaku
Ada dua macam
Model aliran data, dimana memodelkan proses data dalam sistem
Model state machine, memodelkan bagaimana Model state machine, memodelkan bagaimana sistem bereaksi terhadap kejadian
Model Aliran Data
Order Detail
Send to supplier
Completed Signed Signed order form
Checked & signed order
Proses data dari aktifitas place equipment order
Form Complete Order Form Order Detail Blank Form Validate order Record order budget Adjust avail budget
Orders File Budget File
Completed order form Signed order form Order Details
Order amount + acount detail Signed
Model Perilaku –
Pemrosesan Data
CASE toolset data flow diagram (DFD)
Design Design Design Report
Model State Machine
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.
sistem.
Pemodelan mencari bentuk logic ini dinamakan
semantic data model
Contoh pemodelan data yang terkenal adalah menggunakan teknik ERA modelling
Data dictionary models
Data dictionary merupakan daftar nama yang terlibat dalam model sistem
Berisi deskripsi entitas dan informasi pendukung lainnya
pendukung lainnya Kegunaannya :
Mengelola nama unique
Data dictionary models
Name Description Type Date
has-labels
1:N relation between entities of type Node or Link and entities of type Label.
Relation 5.10.1998
Label
Holds structured or unstructured information about nodes or links. Labels are represented by an icon
Entity 8.12.1998 Labels are represented by an icon
(which can be a transparent box) and associated text.
Link
A 1:1 relation between design entities represented as nodes. Links are typed and may be named.
Relation 8.12.1998
name (label)
Each label has a name which identifies the type of label. The name must be unique within the set of label types used in a design.
Attribute 8.12.1998
name (node)
Each node has a name which must be unique within a design. The name may be up to 64 characters long.
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.
oleh masing – masing obyek.
Model obyek yang berbeda dapat dihasilkan :
Model Obyek - Model Inheritance
Catalogue number Acquisition date Cost Type StatusModel Obyek - Model
Aggregasi
Course title Number Year Instructor
Study pack
Videotape Tape ids. Lecture
notes Text OHP slides
Slides Assignment
Credits
Solutions Text Diagrams Exercises
#Problems
Model Obyek – Model
Interaksi
:Library User
Ecat:
Catalog :Library Item
Lib1: NetServer
Lookup Issue
Display
Issue licence Accept licence
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 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:
Mengapa menggunakan metode
formal
Metode formal memiliki kemampuan untuk meningkatkan kualitas dan produktifitas
dalam pembangunan perangkat lunak. Diantara kemampuannya :
Diantara kemampuannya :
Untuk meningkatkan pendeteksian error sejak awal
Untuk membangun sistem perangkat lunak yang aman, handal dan terjamin
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 untuk membangun sistem perangkat lunak yang safety-critical dan mission-critical
Untuk memastikan bahwa sistem telah memenuhi standar dan peraturan.
Mengapa tidak menggunakan
metode formal?
Teknologi baru yang belum pasti hasil baliknya
Kurangnya pengalaman dan pembuktian akan keberhasilan.
Kurangnya dukungan otomasi Kurangnya dukungan otomasi
Tool yang ada sekarang tidak user friendly Kurva pembelajaran yang tinggi
Dibutuhkan kemampuan matematika dan kesempurnaan yang baik.
Tipe Bahasa spesifikasi
formal
Spesifikasi axiomaticAxiomatic = yang sudah jelas kebenarannya.
Mendefinisikan operasi dengan pernyataan logika
Spesifikasi pergantian keadaan (state-transition)
Mendefinisikan operasi dalam pernyataan state dan transisi
Spesifikasi model abstrak 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)
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 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
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 Merupakan pendekatan untuk menggambarkan pengetahuan dari suatu prosedur yang harus
Deskripsi Model GOMS
Goals (tujuan)
Apa tujuan yang harus dicapai oleh user pada sistem
Operators
Apa perlakuan dasar yang dapat dilakukan oleh user 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
Model GOMS
Terdapat dua pendekatan dalam
mengevaluasi kualitas prosedur dari sebuah antarmuka
Metode Model Tingkat Penekanan Tombol Metode Model Tingkat Penekanan Tombol (Keystroke – Level)
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 Dapat menggunakan notasi tertentu seperti NGOMSL
Perkirakan pembelajaran dan implikasi pelaksanaan dari prosedur
Informal : Kompleksitas yang tidak perlu, lambat dan langkah yang sulit
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. Assessing consistency and ease of learning.
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 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.
GOMS Procedure Model
Method
Example: VCR Procedures
User goals - a subset• Set the clock• Record a program
• Stop current recording
• Cancel previously programmed recording • Cancel previously programmed recording
Assumptions
• A cassette is loaded • Power is on
• Desired channel is already selected
(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 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
(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 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.
Contoh Implementasi aksi
game dengan GOMS
?
Goal Objectif Methods
Melewati jurang
Melompati
jurang Ancang-ancang
Tekuk kaki
a n ?
!!!
Lompat
Pakai tali Tali di ikat pada pohon
Tali diulur ke bawah Rambati tali
Terbang Cari kesaktian terbang pada jimat
End Session
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 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