40
Pemodelan Perangkat Lunak

Sistem Pemodelan Perangkat Lunak

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

Page 1: Sistem Pemodelan Perangkat Lunak

Pemodelan Perangkat Lunak

Page 2: Sistem 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.

Page 3: Sistem Pemodelan Perangkat Lunak

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

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

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

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

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

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

Auto-tellersystem

Securitysystem

Maintenancesystem

Accountdatabase

Usagedatabase

Branchaccounting

system

Branchcountersystem

Arsitektur model sederhana

Page 10: Sistem Pemodelan Perangkat Lunak

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

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

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

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

Contoh sederhana pada microwave

Page 15: Sistem Pemodelan Perangkat Lunak

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

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

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
Page 19: Sistem Pemodelan Perangkat Lunak

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

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

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

:Library User

Ecat:Catalog

Lookup

Issue

Display

:Library Item Lib1:NetServer

Issue licence

Accept licence

Compress

Deliver

Page 23: Sistem Pemodelan Perangkat Lunak

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

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

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

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

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

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

Pemodelan Perangkat Lunak

Page 30: Sistem 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)

Page 31: Sistem Pemodelan Perangkat Lunak

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

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

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

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

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

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

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

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

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

Question??