sistem pemodelan perangkat lunak
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 PresentationTRANSCRIPT
![Page 1: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/1.jpg)
Pemodelan Perangkat Lunak
![Page 2: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/2.jpg)
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.
![Page 3: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/3.jpg)
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
![Page 4: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/4.jpg)
Merupakan suatu cara agar perekayasa perangkat lunak memahami permasalahan yang akan dipecahkan
Task yang terlibat yaitu : inception, elicitation, elaboration, negotiation, specification, validation dan management
![Page 5: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/5.jpg)
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
![Page 6: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/6.jpg)
Use CaseDiagramsUse Case
DiagramsUse CaseDiagrams
ScenarioDiagramsScenario
DiagramsCollaborationDiagrams
StateDiagramsState
DiagramsComponentDiagrams
ComponentDiagramsComponent
DiagramsDeploymentDiagrams
StateDiagramsState
DiagramsObjectDiagrams
ScenarioDiagramsScenario
DiagramsStatechartDiagrams
Use CaseDiagramsUse Case
DiagramsSequenceDiagrams
StateDiagramsState
DiagramsClassDiagrams
ActivityDiagrams
Models
![Page 7: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/7.jpg)
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.
![Page 8: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/8.jpg)
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.
![Page 9: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/9.jpg)
Auto-tellersystem
Securitysystem
Maintenancesystem
Accountdatabase
Usagedatabase
Branchaccounting
system
Branchcountersystem
Arsitektur model sederhana
![Page 10: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/10.jpg)
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
![Page 11: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/11.jpg)
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
![Page 12: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/12.jpg)
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
![Page 13: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/13.jpg)
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
![Page 14: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/14.jpg)
Contoh sederhana pada microwave
![Page 15: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/15.jpg)
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
![Page 16: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/16.jpg)
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
![Page 17: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/17.jpg)
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
![Page 18: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/18.jpg)
![Page 19: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/19.jpg)
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
![Page 20: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/20.jpg)
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
![Page 21: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/21.jpg)
Videotape
Tape ids.
Lecturenotes
Text
OHP slides
Slides
Assignment
Credits
Solutions
TextDiagrams
Exercises
#Problems Description
Course titleNumberYearInstructor
Study pack
![Page 22: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/22.jpg)
:Library User
Ecat:Catalog
Lookup
Issue
Display
:Library Item Lib1:NetServer
Issue licence
Accept licence
Compress
Deliver
![Page 23: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/23.jpg)
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
![Page 24: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/24.jpg)
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
![Page 25: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/25.jpg)
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
![Page 26: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/26.jpg)
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
![Page 27: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/27.jpg)
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)
![Page 28: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/28.jpg)
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
![Page 29: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/29.jpg)
Pemodelan Perangkat Lunak
![Page 30: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/30.jpg)
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)
![Page 31: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/31.jpg)
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.
![Page 32: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/32.jpg)
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
![Page 33: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/33.jpg)
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
![Page 34: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/34.jpg)
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
![Page 35: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/35.jpg)
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.
![Page 36: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/36.jpg)
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
![Page 37: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/37.jpg)
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
![Page 38: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/38.jpg)
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.
![Page 39: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/39.jpg)
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
![Page 40: Sistem Pemodelan Perangkat Lunak](https://reader036.vdocuments.site/reader036/viewer/2022081416/56812faf550346895d953591/html5/thumbnails/40.jpg)
Question??