• 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!
41
0
0

Teks penuh

(1)

SISTEM PEMODELAN PERANGKAT

LUNAK

(2)

Pemodelan Perangkat Lunak

System models –> Merupakan gambaran abstrak dari sebuah sistem dimana

persyaratan sistem tersebut akan / sedang dianalisa.

dianalisa.

Metode Formal (Formal methods) –> merupakan teknik dan notasi dari

(3)

Tujuan

Menjelaskan mengapa konteks dari sistem harus dimodelkan sebagai bagian dari proses Requirement Engineering

Menggambarkan konsep pemodelan

perilaku, pemodelan data dan pemodelan perilaku, pemodelan data dan pemodelan obyek

Memperkenalkan beberapa notasi yang digunakan pada UML (Unified Modelling Language)

(4)

Requirement Engineering

(Short Review)

Merupakan suatu cara agar perekayasa perangkat lunak memahami permasalahan yang akan dipecahkan

Task yang terlibat yaitu : inception, elicitation, Task yang terlibat yaitu : inception, elicitation,

elaboration, negotiation, specification,

(5)

The Unified Modeling

Language

Disarankan untuk para perekayasa yang menggunakan analisa dan desain

berorientasi obyek dalam metodenya.

Menjadi sebuah standar yang efektif dalam Menjadi sebuah standar yang efektif dalam pemodelan perangkat lunak

(6)
(7)

Pemodelan Perangkat Lunak dan

Modelnya

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. 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

(8)

Model Konteks

Model ini menggambarkan sistem dengan lingkungan diluarnya tetapi tidak

menggambarkan relasi antara sistem luar dalam lingkungan dengan sistem

dalam lingkungan dengan sistem

Lingkungan luar mungkin mengirim data ke sistem, terhubung langsung ke sistem dan membagi datanya ke sistem.

(9)

Model Konteks

Security system

Account Branch

accounting

Arsitektur model sederhana

Auto-teller system

Maintenance system

Account database

Usage database accounting

system

(10)

Model Proses / Aktifitas

Get cost estimates Accept delivery of equipment Check delivered items Validate specification Specify equipment required Equipment spec. Checked spec. Delivery note Delivery note Spec. + supplier +

Procuring equipment case

Choose supplier Place equipment order Install equipment Find suppliers Supplier database Accept delivered equipment Equipment database Order notification Installation instructions Installation acceptance Equipment details Checked and

(11)

Model Perilaku

Ada dua macam

Model aliran data, dimana memodelkan proses data dalam sistem

Model state machine, memodelkan bagaimana Model state machine, memodelkan bagaimana sistem bereaksi terhadap kejadian

(12)

Model Aliran Data

Order Detail

Send to supplier

Completed Signed Signed order form

Checked & signed order

Proses data dari aktifitas place equipment order

Form Complete Order Form Order Detail Blank Form Validate order Record order budget Adjust avail budget

Orders File Budget File

Completed order form Signed order form Order Details

Order amount + acount detail Signed

(13)

Model Perilaku –

Pemrosesan Data

CASE toolset data flow diagram (DFD)

Design Design Design Report

(14)

Model State Machine

(15)

Model Data

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.

sistem.

Pemodelan mencari bentuk logic ini dinamakan

semantic data model

Contoh pemodelan data yang terkenal adalah menggunakan teknik ERA modelling

(16)
(17)

Data dictionary models

Data dictionary merupakan daftar nama yang terlibat dalam model sistem

Berisi deskripsi entitas dan informasi pendukung lainnya

pendukung lainnya Kegunaannya :

Mengelola nama unique

(18)

Data dictionary models

Name Description Type Date

has-labels

1:N relation between entities of type Node or Link and entities of type Label.

Relation 5.10.1998

Label

Holds structured or unstructured information about nodes or links. Labels are represented by an icon

Entity 8.12.1998 Labels are represented by an icon

(which can be a transparent box) and associated text.

Link

A 1:1 relation between design entities represented as nodes. Links are typed and may be named.

Relation 8.12.1998

name (label)

Each label has a name which identifies the type of label. The name must be unique within the set of label types used in a design.

Attribute 8.12.1998

name (node)

Each node has a name which must be unique within a design. The name may be up to 64 characters long.

(19)

Model Obyek

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.

oleh masing – masing obyek.

Model obyek yang berbeda dapat dihasilkan :

(20)

Model Obyek - Model Inheritance

Catalogue number Acquisition date Cost Type Status
(21)

Model Obyek - Model

Aggregasi

Course title Number Year Instructor

Study pack

Videotape Tape ids. Lecture

notes Text OHP slides

Slides Assignment

Credits

Solutions Text Diagrams Exercises

#Problems

(22)

Model Obyek – Model

Interaksi

:Library User

Ecat:

Catalog :Library Item

Lib1: NetServer

Lookup Issue

Display

Issue licence Accept licence

(23)

Sasaran dari metode formal

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 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)

Mengapa menggunakan metode

formal

Metode formal memiliki kemampuan untuk meningkatkan kualitas dan produktifitas

dalam pembangunan perangkat lunak. Diantara kemampuannya :

Diantara kemampuannya :

Untuk meningkatkan pendeteksian error sejak awal

Untuk membangun sistem perangkat lunak yang aman, handal dan terjamin

(25)

Mengapa menggunakan metode

formal?

Metode formal telah berada pada ambang untuk dijadikan sebagai metode yang terbaik dan/atau metode yang sangat dibutuhkan untuk membangun sistem perangkat lunak untuk membangun sistem perangkat lunak yang safety-critical dan mission-critical

Untuk memastikan bahwa sistem telah memenuhi standar dan peraturan.

(26)

Mengapa tidak menggunakan

metode formal?

Teknologi baru yang belum pasti hasil baliknya

Kurangnya pengalaman dan pembuktian akan keberhasilan.

Kurangnya dukungan otomasi Kurangnya dukungan otomasi

Tool yang ada sekarang tidak user friendly Kurva pembelajaran yang tinggi

Dibutuhkan kemampuan matematika dan kesempurnaan yang baik.

(27)

Tipe Bahasa spesifikasi

formal

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 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)

(28)

Mitos yang ada pada metode

formal

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

(29)

PEMODELAN G.O.M.S UNTUK

ANTARMUKA

(30)

Pendahuluan

G.O.M.S

Merupakan pendekatan untuk menganalisa kualitas prosedur dari sebuah antar muka

Merupakan pendekatan untuk menggambarkan Merupakan pendekatan untuk menggambarkan pengetahuan dari suatu prosedur yang harus

(31)

Deskripsi Model GOMS

Goals (tujuan)

Apa tujuan yang harus dicapai oleh user pada sistem

Operators

Apa perlakuan dasar yang dapat dilakukan oleh user 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

(32)

Model GOMS

Terdapat dua pendekatan dalam

mengevaluasi kualitas prosedur dari sebuah antarmuka

Metode Model Tingkat Penekanan Tombol Metode Model Tingkat Penekanan Tombol (Keystroke – Level)

(33)

Metode Analisa Model Prosedur

GOMS

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 Dapat menggunakan notasi tertentu seperti NGOMSL

Perkirakan pembelajaran dan implikasi pelaksanaan dari prosedur

Informal : Kompleksitas yang tidak perlu, lambat dan langkah yang sulit

(34)

GOMS Procedure Model

Method

Choose the design with the best combination of learning and execution times.

Especially useful for:

Assessing consistency and ease of learning. Assessing consistency and ease of learning.

(35)

Example uses NGOMSL

notation

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 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)

GOMS Procedure Model

Method

Example: VCR Procedures

User goals - a subset• Set the clock

• Record a program

• Stop current recording

• Cancel previously programmed recording • Cancel previously programmed recording

Assumptions

• A cassette is loaded • Power is on

• Desired channel is already selected

(37)

(Continue)

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 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)

(Continue)

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 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)

Contoh Implementasi aksi

game dengan GOMS

?

Goal Objectif Methods

Melewati jurang

Melompati

jurang Ancang-ancang

Tekuk kaki

a n ?

!!!

Lompat

Pakai tali Tali di ikat pada pohon

Tali diulur ke bawah Rambati tali

Terbang Cari kesaktian terbang pada jimat

(40)

End Session

(41)

Contoh permasalahan - Jam

Inisialiasi : Wakti tengah malam, bell dalam keadaan mati dan alarm tidak aktif.

Jika waktu sekarang sama dengan waktu alarm dan alarm aktif, bell akan memulai berbunyi.

Hanya dalam kondisi ini bell dapat mulai berbunyi Hanya dalam kondisi ini bell dapat mulai berbunyi

Waktu alarm dapat diatur setiap saat

Hanya ketika alarm aktif saja dapat di non aktifkan

Jika alarm tidak aktif ketika bell berbunyi, maka bell akan berhenti berbunyi

Referensi

Dokumen terkait

2) Menu kuis : menu ini berisi latihan soal operasi bilangan yang terdiri dari 12 soal secara acak. 3) Menu permainan : menu ini memiliki 2 pilihan permainan, yaitu

Hasil penelitian menunjukkan: (1) validitas isi Rencana Pelaksanaan Pembelajaran, Buku Ajar Siswa, Lembar Kegiatan Siswa, instrumen tes pemahaman konsep, dan

Kebocoran udara pulmonal spontan terjadi pada 8 (21,6%) pasien yang tidak memiliki riwayat mendapatkan resusitasi VTP dan kelainan paru lain yang mendasarinya.. Spektrum

keberhasilan menyusui sehingga bayi dapat menyusu dengan baik dan benar.. disebut Manajemen

Namun apabila kita menyadari bahwa faktor keluarga adalah salah satu pilar penting dalam membangun integritas dalam melaksanakan sumpah jabatan tersebut hendaknya

Investor akan memiliki harapan apabila mereka membeli obligasi yang mempunyai yield yang tinggi, karena obligasi tersebut akan memberikan keuntungan yang besar dengan

memberi kesempatan mempe-lajari pekerjaannya sampai puas, memberi tanggung jawab akan pekerjaannya masing-masing, memberi kesempatan mengembang-kan diri sesuai bakat

Dalam berbagai dataran dialog dari apa yang telah dijelaskan diatas, saya menganalisis bahwa bentuk aplikasi dari dialog antar umat beragama dalam Masjid Baitul