System models –> Merupakan
gambaran abstrak dari sebuah
sistem dimana persyaratan sistem
tersebut akan / sedang dianalisa.
Metode Formal (Formal methods) –>
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
Merupakan
suatu
cara
agar
perekayasa
perangkat
lunak
memahami permasalahan yang akan
dipecahkan
Task yang terlibat yaitu :
inception,
elicitation, elaboration, negotiation,
specification,
validation
dan
Disarankan untuk para perekayasa
yang menggunakan analisa dan
desain berorientasi obyek dalam
metodenya.
Menjadi sebuah standar yang efektif
dalam pemodelan perangkat lunak
Use Case DiagramsDiagramsUse CaseUse Case
Diagrams
Scenario
DiagramsCollaborationDiagramsScenario Diagrams
State
DiagramsDiagramsComponentState Diagrams Component DiagramsComponent Diagrams Deployment Diagrams State
DiagramsDiagramsStateObject Diagrams
Scenario
DiagramsDiagramsScenarioStatechart Diagrams Use Case
DiagramsDiagramsUse CaseSequence Diagrams
State
DiagramsDiagramsStateClass Diagrams
Activity 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
 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
Auto-teller system Security
system
Maintenance system
Account database
Usage database Branch
accounting system
Branch counter system
Get cost estimates Accept delivery of equipment Check delivered items Validate specification Specify equipment required Choose supplier Place equipment order Install equipment Find suppliers Supplier database Accept delivered equipment Equipment database Equipment
spec. Checkedspec.
Delivery note Delivery note Order notification Installation instructions Installation acceptance Equipment details Checked and
signed order form Order details + Blank order form Spec. + supplier + estimate Supplier list Equipment spec.
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
Complete Order Form Complete Order Form Order Detail Blank Form Validate order Validate
order Record order
Record order Send to supplier Send to supplier Adjust avail budget Adjust avail budget Orders File
Orders File Budget FileBudget File
Completed
order form order formSigned
Order Details
Order amount + acount detail Signed order form Signed order form Checked & signed order
Proses data dari aktifitas place
CASE toolset data flow diagram (DFD)
Design
editor cross checkerDesign analyserDesign generatorReport
Design
database Code skeletongenerator databaseDesign Input
design designValid Checkeddesign analysisDesign reportUser
and
Referenced designs
Checked
design Output
 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
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
 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 :
Catalogue number Acquisition date Cost
Type Status
Videotape Tape ids. Lecture
notes Text OHP slides
Slides Assignment
Credits
Solutions Text
Diagrams Exercises
#Problems
Description
Course title Number Year Instructor
:Library User
Ecat: Catalog
Lookup
Issue Display
:Library Item Lib1:NetServer
Issue licence
Accept licence
Compress
 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:
 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,
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.
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.
 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
 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
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
 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
Terdapat dua pendekatan dalam
mengevaluasi kualitas prosedur dari
sebuah antarmuka
 Metode Model Tingkat Penekanan
Tombol (Keystroke – Level)
 Operator dan Waktu untuk Model Tingkat
 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
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
 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.
 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
 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
 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.
a
n ?
!!! ?
Goal Objectif Methods
Melewati
jurang Melompati jurang Ancang-ancang
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