Upload
isabella-webb
View
220
Download
22
Embed Size (px)
DESCRIPTION
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. - PowerPoint PPT Presentation
Citation preview
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 CaseDiagramsUse Case
DiagramsUse CaseDiagrams
ScenarioDiagramsScenario
DiagramsCollaborationDiagrams
StateDiagramsState
DiagramsComponentDiagrams
ComponentDiagramsComponent
DiagramsDeploymentDiagrams
StateDiagramsState
DiagramsObjectDiagrams
ScenarioDiagramsScenario
DiagramsStatechartDiagrams
Use CaseDiagramsUse Case
DiagramsSequenceDiagrams
StateDiagramsState
DiagramsClassDiagrams
ActivityDiagrams
Models
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.
Auto-tellersystem
Securitysystem
Maintenancesystem
Accountdatabase
Usagedatabase
Branchaccounting
system
Branchcountersystem
Arsitektur model sederhana
Get costestimates
Acceptdelivery ofequipment
Checkdelivered
items
Validatespecification
Specifyequipmentrequired
Choosesupplier
Placeequipment
order
Installequipment
Findsuppliers
Supplierdatabase
Acceptdelivered
equipment
Equipmentdatabase
Equipmentspec.
Checkedspec.
Deliverynote
Deliverynote
Ordernotification
Installationinstructions
Installationacceptance
Equipmentdetails
Checked andsigned order form
Orderdetails +
Blank orderform
Spec. +supplier +estimate
Supplier listEquipment
spec.
Procuring equipment case
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
Complete Order Form
Complete Order Form
Order Detail Blank Form
Validate order
Validate order
Record order
Record order
Send to supplierSend to supplier
Adjust avail
budget
Adjust avail
budget
Orders FileOrders File Budget FileBudget File
Completed order form
Signed order form
Order Details
Order amount + acount detail
Signed order form
Signed order form
Checked & signed order
Proses data dari aktifitas place equipment order
CASE toolset data flow diagram (DFD)
Designeditor
Designcross checker
Designanalyser
Reportgenerator
Designdatabase
Code skeletongenerator
Designdatabase
Inputdesign
Validdesign
Checkeddesign
Designanalysis
Userreport
and
Referenceddesigns
Checkeddesign Output
code
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
namedescriptionC-dateM-date
Link
nametype
Node
nametype
links
has-links
12
1 n
Label
nametexticon
has-labelshas-labels
1
n
1
n
has-linkshas-nodes is-a
1
n
1
n1
1
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
Catalogue numberAcquisition dateCostTypeStatusNumber of copies
Library item
Acquire ()Catalogue ()Dispose ()Issue ()Return ()
AuthorEditionPublication dateISBN
Book
YearIssue
MagazineDirectorDate of releaseDistributor
Film
VersionPlatform
Computerprogram
TitlePublisher
Published item
TitleMedium
Recorded item
Videotape
Tape ids.
Lecturenotes
Text
OHP slides
Slides
Assignment
Credits
Solutions
TextDiagrams
Exercises
#Problems Description
Course titleNumberYearInstructor
Study pack
:Library User
Ecat:Catalog
Lookup
Issue
Display
:Library Item Lib1:NetServer
Issue licence
Accept licence
Compress
Deliver
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 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)
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
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.
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
Lompat dan terbang
Question??