08 Spesifikasi Software.pdf

26
Arna Fariza PENS Spesifikasi Software Materi Apakah Spesifikasi itu? Spesifikasi Operasional o Data Flow Diagrams, Finite State Machines, Petri Nets, Entity Relationship Diagrams o UML Diagrams (Briefly – Revisit in Total)

Transcript of 08 Spesifikasi Software.pdf

Page 1: 08 Spesifikasi Software.pdf

Arna Fariza

PENS

Spesifikasi Software

Materi

�Apakah Spesifikasi itu?

�Spesifikasi Operasional

o Data Flow Diagrams, Finite State Machines, Petri

Nets, Entity Relationship Diagrams

o UML Diagrams (Briefly – Revisit in Total)

Page 2: 08 Spesifikasi Software.pdf

Apakah Spesifikasi itu?

� Spesifikasi adalah versi yang lebih luas dari

ketentuan definisi

o Digunakan pada tingkat yang berbeda untuk

pengembangan software untuk tujuan yang

berbeda

o Pernyataan persetujuan (kontrak) antara

• Produsen dan konsumen suatu servis

• Implementer dan user

o Semua kualitas yang diperlukan harus ditentukan

Apakah Spesifikasi itu?

� Spesifikasi bisa berbeda untuk stakeholder yang

berbeda (user, desainer, manager, dll)

� Spesifikasi persyaratan:

o Persetujuan antara End User dan Desainer

� Spesifikasi Desain:

o Persetujuan antara Desainer dan Developer

� Spesifikasi Modul:

o Persetujuan antara SE yang menggunakan modul dan SE yang

mengimplementasikan modul termasuk antar muka

� Spesifikasi Berorientasi Obyek

o Pernyataan kemampuan class menggunakan public interface

� Spesifikasi menyatakan “Apa”

� Implementasi menyatakan “Bagaimana”

Page 3: 08 Spesifikasi Software.pdf

Penggunaan Spesifikasi

� Pernyataan apa yang diperlukan user o Pernyataan dari antar muka antara mesin dan lingkungan

terkontrol

� Isu kritis: o persyaratan user mungkin tidak dimengerti oleh Developer

o Perlu adanya verifikasi spesifikasi

� Pernyataan persyaratan implementasi o Hardware, OS, Bahasa pemrograman, DBMS, dll

o Spesifikasi persyaratan • Perilaku eksternal dari sistem

• Perilaku fungsional dan non fungsional

• Verifikasi spesifikasi desain vs spesifikasi persyaratan

o Spesifikasi Desain • Menggambarkan arsitektur software

• Kode harus diverifikasi vs spesifikasi desain

Desain Sistem Informasi Klasik

Page 4: 08 Spesifikasi Software.pdf

Spesifikasi Operasional

� Bagaimana perilaku sistem didefinisikan

� Beberapa Teknik

o Data Flow Diagrams

o UML Diagrams

o Finite State Machines

o Petri Nets

� Spesifikasi operasional menentukan

pengertian sistem model

o Perspektif harus konsisten satu dengan lainnya

o Beberapa teknik targetnya untuk End-

User/Konsumen

Data Flow Diagrams (DFD)

� Merupakan spesifikasi operasional Semi-Formal

� Sistem dipandang sebagai manipulasi data dengan

“fungsi”

� Data bersifat persistent – disimpan dalam repositori

� State input merepresentasikan triger dari aliran data

� State output merepresentasikan hasil aliran data

� Data dapat mengalir dari input ke fungsi ke/dari

repositori ke output

� DFD mempunyai notasi grafis

o Perangkat tersedia secara komersial

Page 5: 08 Spesifikasi Software.pdf

Notasi Grafis untuk DFD

� Bagaimana konstruksi pemodelan utamanya?

o Lingkaran merepresentasikan fungsi

o Panah merupakan aliran data (data flow)

o Kotak terbuka menyatakan penyimpanan persisten

o Kotak tertutup merupakan interaksi I/O

� Catatan: DFD tidak dapat merepresentasikan

langkah sequensial

The function symbol

The data flow symbol

The data store symbol

The input device symbol

The output device symbol

Metodologi Sistem Informasi

......

Input1

Input2

Inputn

Output1

Output2

Outputm

information

system

1. Mulai dari diagram context

Page 6: 08 Spesifikasi Software.pdf

Metodologi Sistem Informasi

A

A1

A3

A2

A4

A5

A6

A7

B1

B2

B3B4

Ag

IO

I

O

H

K

J

M

N

P Q

R

S

K

T

K1

K2

K3

K4

M

N

2. Proses ditentukan sampai mencapai fungsi elementer

Contoh DFD Perpustakaan

Shelves

List of Authors

List of titles

List of topics

Title and author

of requested book; name

of the user

Get a book

Book

List of books borrowed

Book title;

user name

Topic request

by the user

Search by

topics

Book request

by the user

Book

reception

TopicList of titles

referring to the topic

Book

Author

Title

Display of

the list of titles

Topic

Title

Page 7: 08 Spesifikasi Software.pdf

Detail dari “Get a book”

Shelves

List of Authors

List of titles

Title and author

of requested book; name of the user

Book

List of books borrowed

Book title; user name

Book request

by the user

Book reception

Book

Author

TitleFind book

position

<shelf#, book#>

Get

the book

Sistem Monitoring Pasien

Tujuannya adalah untuk memonitor faktor vital dari pasien - darah,

tekanan, suhu,…-- membacanya dalam waktu tertentu dari perangkat

analog dan menyimpan dalam DB. Jika pembacaan gagal karena

diluar jangkauan untuk pasien atau peralatan gagal maka alarm

harus dikirim ke perawat. Sistem juga menyediakan laporan.

Patient

Nurse

Patient

MonitoringNurse

Persistent data

Report

Alarm

Data

Clinical

ReportRequest

Recent data

Data for report

Page 8: 08 Spesifikasi Software.pdf

DFD Detail

Nurse

Nurse

Patient archive

ReportRequest

Limits for patient

Monitoring

Central

Limits

Update

archive

GenerateReport

Data forReport

RecentData

Formatted data

Alarm

PatientClinicalDataMonitoring

Local

Patient data

Report

Lebih Detail Lagi

Limits

Formatted data alarm

dataPatient

decode

Check

violations limit

Temperature

Pulse

Pressure

Result

Pressure, pulse…

Format

data clockDate

Timeproduce

message

Page 9: 08 Spesifikasi Software.pdf

Evaluasi DFDs

� Mudah dibaca

� Semantik informal

o Bagaimana mendefinisikan fungsi akhir

o Kemenduaan aliran

� Misalnya DFD (fungsi) dibawah ini:

A

C

E

B

F

D

• Apakah output dari A, B, C semua diperlukan sebelum D di-enable?

• Bagaimana jika hanya ada A dan B? • Apakah A, B, dan C diterima dengan urutan khusus?

• Output untuk E dan F dihasilkan pada waktu yang sama?

Finite state machine (FSM)

� Menentukan aspek kontrol flow

� FSM terdiri dari:

o Finite set of states (node), Q;

o Finite set of inputs (label), I;

o Fungsi transisi d : Q x I � Q

� FSM cocok untuk

merepresentasikans sistem

dengan

o Multiple Known States

o Well-Defined Events

untuk perubahan state

a a

b

bc

q

q

q

q

1

20

3

Page 10: 08 Spesifikasi Software.pdf

Contoh FSM Klasik

On Off

Push switch

Push switch

On Off

High-pressure alarm

High-temperature alarm

Restart

FSM dapat Memodelkan Real World

� Detail FSM untuk High Pressure/High

Temperature pada slide sebelumnya Pressure signal Temperature signal

Successful

recovery

Unsuccessful

recovery

OffNormal

Pressure

action

OffNormal

Pressure action

Temperature signalTemperature action

Successful

recoveryUnsuccessful recovery

Pressure signal

Page 11: 08 Spesifikasi Software.pdf

Class FSM

� Deterministic/Nondeterministic

� FSM sebagai Recognizer - Final State

� FSM

o Digunakan untuk analisis Lexical dalam Compiler

o Realisasi Regular Expression dalam Automata

q

q q q q

q q

q

b

e g i

n

e

n

d

0

1 2 3 4

5 6

f

q0 is an initial state qf is a final state

Penggunaan dan Keterbatasan FSM

� FSM sederhana dan digunakan secara luas

o Sistem kontrol, kompilasi

o Pattern Matching, Hardware Design

� Hampir semua aplikasi software dapat

dimodelkan dengan FSM

Page 12: 08 Spesifikasi Software.pdf

Petri Net

� Petri Net adalah bentuk grafis lain untuk

spesifikasi sistem terdiri dari:

o Finite Set of Places (Circles – Pi’s)

o Finite set of Transitions (Horizontal Lines – tj’s)

o Finite Set of Arrows Connecting Places to

Transitions and Transitions to Places

o Tokens (Dots)

P

P

P

t

tP

t

1

3

1

3

4

6

5

P

P

P

2

5

7

t

t

t

2

4

6

(a)

Pemodelan dengan Petri net

� Place merepresentasikan State terdistribusi

� Transisi merepresentasikan aksi atau event yang

mungkin terjadi jika sistem berada pada state

tertentu

� Dapat terjadi kondisi saat ini berada pada state

� Pemodelan fork dan join#

o Fork: transisi dari 1 input ke N output

o Join: transisi dari N Input ke 1 output P

P

P

t

tP

t

1

3

1

3

4

6

5

P

P

P

2

5

7

t

t

t

2

4

6

(a)

Page 13: 08 Spesifikasi Software.pdf

places

transitions flows

marking

3 weight

P

P

P

t

t

P

t

1

3

1

3

4

6

5

P

P

P

2

5

7

t

t

t

2

4

6

Representasi Grafis dari PN

Keterbatasan Petri Net

� Petri Net terbatas pada kapabilitas pemodelan

o Non-Deterministic

� Terdapat beberapa kapabilitas yang mungkin

sangat berguna untuk memodelkan perilaku

sistem

o Penambahan predikat dan fungsi yang digunakan

untuk evaluasi kondisi dimana terjadi transisi dan

hasilnya

Page 14: 08 Spesifikasi Software.pdf

Diagram Entity Relationship

� Konsep ER Model

o Entiti dan atribut

o Tipe entiti, himpunan nilai dan atribut key

o Relasi dan tipe relasi

o Tipe weak entity

o Aturan dan atribut dan tipe relasi

� Relasi dari tingkat lebih tingg

� Notasi berdasarkan :

o R. Elmasri and S.B. Navathe, “ Fundamentals of

Database Systems,” Ed. 3., Addison Wesley, 2000,

Chapters 3 and 4.

Notasi Diagram ER Arti

TIPE ENTITI

TIPE WEAK ENTITY

TIPE RELASI

IDENTIFIKASI TIPE RELASI

ATTRIBUT

ATTRIBUT KEY

ATRIBUT MULTIVALUE

ATRIBUT KOMPOSIT

ATRIBUT DERIVED

TOTAL PARTICIPASI DARI E2 DALAM R

CARDINALITY RATIO 1:N UNTUK E1:E2 DALAM R

STRUCTURAL CONSTRAINT (min, max) ON PARTICIPATION

OF E IN R

Symbol

E1 R E2

E1 R N

E2

R (min,max)

E

N

Page 15: 08 Spesifikasi Software.pdf

Diagram ER untuk Database Company

Diagram E-R

EMPLOYEE PROJECT

Responsibility

Duration

Budget

Project Name

Project No Employee No Employee Name

Salary Title

WORKS ON

Address

City Apt. #

Street #

NoEmp

Location

Page 16: 08 Spesifikasi Software.pdf

e1 ����

e2 ����

e3 ����

e4 ����

e5 ����

e6 ����

e7 ����

EMPLOYEE

r1

r2

r3

r4

r5

r6

r7

WORKS_FOR

���� d1

���� d2

���� d3

DEPARTMENT

One-to-many(1:N) or Many-to-one (N:1)

e1 ����

e2 ����

e3 ����

e4 ����

e5 ����

e6 ����

e7 ����

r1

r2

r3

r4

r5

r6

r7

���� d1

���� d2

���� d3

r8

r9

MANY-TO-MANY(M:N)

Page 17: 08 Spesifikasi Software.pdf

EMPLOYEE PROJECT

Responsibility

Duration

Budget

Project Name

Project No Employee No Employee Name

Salary Title

WORKS ON 1 1

Relasi One-to-One

� Setiap anggota class entiti E1 dapat dihubungjan

tepat satu anggota class entiti E2 dan sebaliknya.

� Contoh:

o Setiap Employee dapat bekerja tepat satu project dan setiap

project mempekerjakan tepat satu Employee

Relasi One-to-One WORKS_ON

WORKS_ON Relationship

Instances

EMPLOYEE Set PROJECT Set

Page 18: 08 Spesifikasi Software.pdf

EMPLOYEE PROJECT

Responsibility

Duration

Budget

Project Name

Project No Employee No Employee Name

Salary Title

WORKS ON 1 N

Relasi Many-to-One

� Setiap anggota dari class entiti E1 dapat dihubungkan

dengan nol atau lebih anggota class entiti E2, tetapi

setiap anggota dari E2 dapat dihubungkan dengan

paling banyak 1 anggota E1

� Example :

o Setiap Employee dapat bekerja tepat satu Project setiap

Project dapat mempekerjakan beberapa Engineers

Relasi One-to-Many WORKS_ON

Page 19: 08 Spesifikasi Software.pdf

EMPLOYEE PROJECT

Responsibility

Duration

Budget

Project Name

Project No Employee No Employee Name

Salary Title

WORKS ON N M

Relasi Many-to-Many � Setiap anggota satu class entiti dapat dihubungkan

dengan beberapa anggota dari class entiti lain dan

sebaliknya

� Contoh:

o Setiap Employee dapat bekerja pada beberapa project

setiap project dapat mempekerjakan beberapa Employees

Relasi Many-to-Many WORKS_ON

Page 20: 08 Spesifikasi Software.pdf

Relasi Tingkat Lebih Tinggi

� Tipe relasi tingkat 2 disebut Binary

� Tipe relasi tingkat 3 disebut Ternary

o Terdapat anggota relasi yang terlibat pada ketiga

tipe entiti

� Tipe relasi tingkat N disebut N-ary

� Secara umum, relasi N-ari tidak ekuivalen ke

relasi binary N

Relasi Ternary

Page 21: 08 Spesifikasi Software.pdf

Relasi Ternary

Relasi Ternary vs. Binary

Page 22: 08 Spesifikasi Software.pdf

s1 �

s2 �

SUPPLIER

p1 �

p2 �

p3 �

PART

r1

r2

r3

r4

r5

r6

r7

SUPPLY

� j1

� j2

� j3

PROJECT

Relasi Ternary - Keanggotaan

Diagram UML

� UML adalah bahasa untuk Spesifikasi,

Visualisasi, Konstruksi dan Dokumentasi Alat

Software

� UML diformalisasikan dari teknik sebelumnya

(DFD, ER, FSM, PN, dll.) ke dalam lingkungan

yang seragam (unified)

� UML mempunyai 13 diagram yang berbeda

(2.0)

Page 23: 08 Spesifikasi Software.pdf

UML Diagram Use-Case

� Mendefinisikan fungsi berbasis aktor dan aksi

borrow book

return book

library update

libraria

n

customer

UML Diagram Sequence � Menggambarkan interaksi obyek dengan pertukaran

pesan

Librarian Catalogue

member card +

book request membership

OK

book request

book available

book borrowed

Customer

Page 24: 08 Spesifikasi Software.pdf

UML Diagram Sequence

� Describe Object Interactions by Exchanging

Messages

UML Diagram Collaboration

� Interaksi obyek dan urutannya

Customer Librarian Catalogue

1: member card +

book request

2: membership OK

3: book request

4: book available 5: book borrowed

Page 25: 08 Spesifikasi Software.pdf

UML Diagram Statechart

� Menyerupai Finite State Machine

Diagram Activity

� Menyerupai Petri Net

Page 26: 08 Spesifikasi Software.pdf

Spesifikasi Berbasis Matematika

� Model Queueing dan Simulation

o Prediksi dan simulasi perilaku sistem

o CSE221

� Spesifikasi deklaratif:

o Spesifikasi logika

o Spesifikasi algebra

o CSE237

� Bahasa untuk Spesifikasi Modular

o Statechart dan Z