• Tidak ada hasil yang ditemukan

Day 2 Software System Modelling

N/A
N/A
Protected

Academic year: 2017

Membagikan "Day 2 Software System Modelling"

Copied!
40
0
0

Teks penuh

(1)
(2)

System models –> Merupakan

gambaran abstrak dari sebuah

sistem dimana persyaratan sistem

tersebut akan / sedang dianalisa.

Metode Formal (Formal methods) –>

(3)

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

(4)

Merupakan

suatu

cara

agar

perekayasa

perangkat

lunak

memahami permasalahan yang akan

dipecahkan

Task yang terlibat yaitu :

inception,

elicitation, elaboration, negotiation,

specification,

validation

dan

(5)

Disarankan untuk para perekayasa

yang menggunakan analisa dan

desain berorientasi obyek dalam

metodenya.

Menjadi sebuah standar yang efektif

dalam pemodelan perangkat lunak

(6)

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

(7)

 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

(8)

 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

(9)

Auto-teller system Security

system

Maintenance system

Account database

Usage database Branch

accounting system

Branch counter system

(10)

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.

(11)

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

(12)

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

(13)

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

(14)
(15)

 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

(16)
(17)

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

(18)
(19)

 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 :

(20)

Catalogue number Acquisition date Cost

Type Status

(21)

Videotape Tape ids. Lecture

notes Text OHP slides

Slides Assignment

Credits

Solutions Text

Diagrams Exercises

#Problems

Description

Course title Number Year Instructor

(22)

:Library User

Ecat: Catalog

Lookup

Issue Display

:Library Item Lib1:NetServer

Issue licence

Accept licence

Compress

(23)

 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:

(24)

 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,

(25)

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.

(26)

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.

(27)

 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

(28)

 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

(29)
(30)

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

(31)

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

(32)

Terdapat dua pendekatan dalam

mengevaluasi kualitas prosedur dari

sebuah antarmuka

 Metode Model Tingkat Penekanan

Tombol (Keystroke – Level)

 Operator dan Waktu untuk Model Tingkat

(33)

 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

(34)

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

(35)

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.

(36)

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

(37)

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

(38)

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.

(39)

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  

(40)

Referensi

Dokumen terkait

2.1.2.b Dokumen produksi kayu (LHP) M Bahwa pada periode audit sertifikasi bulan Desember 2019 s/d bulan November 2020, PT Anugerah Energitama tidak terdapat membuat/menerbitkan

Jalghūm mencoba menemukan keselarasan urutan surat dan jumlah surat misalnya dengan: 1) menderet semua bilangan dari 1 sampai dengan 114, mengelompokkannya menjadi dua

• Penalaran causal disebut juga penalaran mendalam (deep reasoning), karena pemahaman yang mendalam diperoleh Penalaran causal disebut juga penalaran mendalam (deep

Ayat ini merupakan pengingkaran Allah terhadap orang yang mengaku beriman dengan apa yang diturunkan-Nya kepada Rasul-Nya (Nabi Muhammad) dan rasul yang

Hal ini menunjukan bahwa cosine similarity berdasarkan pemodelan topik dapat digunakan untuk menunjukan kualitas jawaban dimana jawaban dengan nilai cosine similarity yang kecil

deskripsikan jenis-jenis usaha/penghasilan baru yang dimasukkan sebagai objek zakat; (2) Social Justice, pelaksanaan zakat membangkitkan keadilan sosial di

Sapriya.(2007).Perspektif Pemikiran Pakar Tentang Pendidikan Kewarganegaraan Dalam Pembangunan Karakter Bangsa (Kajian Konseptual-Filosofis Pendidikan Kewarganegaraan

• Proses  inovasi  yang  dilakukan  di  Rumah  Sakit  Mata  Cicendo  masih  dipersepsikan  oleh  sebagian  besar  responden  sebagai  rata‐rata,  seperti