rpl 09 - spesifikasi formal

37
1 SPESIFIKASI FORMAL

Upload: febriyani-syafri

Post on 18-Dec-2014

1.601 views

Category:

Technology


14 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Rpl   09 - spesifikasi  formal

1SPESIFIKASI FORMAL

Page 2: Rpl   09 - spesifikasi  formal

Istilah ‘metode formal’ mencakup sejumlah kegiatan:

• spesifikasi sistem formal,

• analisis dan bukti spesifikasi,

• pengembangan transformasional dan

• verifikasi program.

Seluruh kegiatan ini bertumpuh pada spesifikasi formal

perangkat lunak.

2SPESIFIKASI FORMAL

Page 3: Rpl   09 - spesifikasi  formal

Suatu spesifikasi perangkat lunak

formal merupakan spesifikasi yang

dinyatakan dalam bahasa yang

perbendaharaan kata, sintaks, dan

semantiknya didefinisikan secara formal.

3SPESIFIKASI FORMAL

Page 4: Rpl   09 - spesifikasi  formal

• Rekayasa perangkat lunak yang berhasil. Penggunaan

metode-metode rekayasa perangkat lunak pada proses

perancangan dan pengembangan menghasilkan perbaikan

kualitas perangkat lunak.

• Perubahan pasar. Perangkat lunak harus dikembangkan

dengan cepat dan pelanggang seringkali bersedia menerima

perangkat lunak dengan beberapa kesalahan, asalkan

penyerahan yang cepat dapat dilakukan..

4SPESIFIKASI FORMAL

Page 5: Rpl   09 - spesifikasi  formal

• Lingkup yang terbatas dari metode formal. Pada umumnya

metode formal tidak sesuai untuk menspesifikasi interface

user dan interaksi user.

• Skala metode formal yang terbatas. Skala metode formal

tidak bertambah dengan baik. Masalah ini diperburuk dengan

ketiadaannya dukungan alat bantu untuk teknik-teknik ini.

5SPESIFIKASI FORMAL

Page 6: Rpl   09 - spesifikasi  formal

Terdapat tiga tingkat spesifikasi

perangkat lunak yang dapat

dikembangkan. Tingkat-tingkat ini

adalah persyaratan user, persyaratan

sistem, dan spesifikasi desain perangkat

lunak.

6SPESIFIKASI FORMAL

Page 7: Rpl   09 - spesifikasi  formal

Definisi

persyaratan

user

Spesifikasi

persyaratan

sistem

Desain

arsitektural

Spesifikasi

formal

Desain

tingkat

tingi

Spesifikasi

Desain

Bertambahnya keterlibatan kontraktor

Berkurangnya keterlibatan klien

menunjukkan tahap-tahap spesifikasi perangkat lunak dan interfacenya

dengan proses perancangan

7SPESIFIKASI FORMAL

Page 8: Rpl   09 - spesifikasi  formal

Tahap akhir proses, yang merupakan

pembuatan spesifikasi yang lengkap,

konsisten, dan tepat, pada prinsipnya

ditujukan untuk kontraktor perangkat lunak.

Spesifikasi ini berfungsi sebagai dasar

implementasi sistem. Spesifikasi yang tepat

ini bias merupakan spesifikasi formal.

8SPESIFIKASI FORMAL

Page 9: Rpl   09 - spesifikasi  formal

Spesifikasi

persyaratan sistem

Spesifikasi

formal

Definisi

persyaratan user

Pemodelan

sistem

Desain

arsitektural

Desain tingkat

tinggi

kegiatan spesifikasi dan perancangan dapat dilakukan secara

parallel

9SPESIFIKASI FORMAL

Page 10: Rpl   09 - spesifikasi  formal

Ada hubungan dua arah antara setiap

tahap pada proses. Informasi diberikan dari

spesifikasi ke proses perancangan dan

sebaliknya.

Walaupun spesifikasi telah

dikembangkan dengan rinci, pemahaman

dalam membuat spesifikasi mengenai

spesifikasi itu akan bertambah.

10SPESIFIKASI FORMAL

Page 11: Rpl   09 - spesifikasi  formal

• Pembuatan spesifikasi formal memaksakan

terjadinya analisis sistem rinci yang biasanya

menggunakan error dan ketidak konsistenan pada

spesifikasi persyaratan informal.

• Deteksi error ini merupakan argumen yang paling

ampuh untuk mengembangkan spesifikasi formal (

Hall, 1990).

• Masalah persyaratan yang tetap tidak terdeteksi

samapai tahap tahap berikutnya pada proses

perangkat lunak biasanya mahal untuk diperbaiki.

11SPESIFIKASI FORMAL

Page 12: Rpl   09 - spesifikasi  formal

biaya proses perangkat lunak dipengaruhi oleh penggunaan

spesifikasi formal12SPESIFIKASI FORMAL

Page 13: Rpl   09 - spesifikasi  formal

Dengan spesifikasi formal, biaya spesifikasi dan

implementasi dapat dibandingkan dan biaya validasi

sistem berkurang secara signifikan.

Pekerjaan pengembangan spesifikasi formal

mampu mengatasi masalah persyaratan, pekerjaan

ulang untuk membetulkan masalah ini setelah system

dirancang akan terhindari.

13SPESIFIKASI FORMAL

Page 14: Rpl   09 - spesifikasi  formal

• Pendekatan aljabar, d mana system dikembangkan

dalam hal operasi dan hubungannya

• Pendekatan berbasis model, di mana model

system dibangun dengan menggunakan konstruksi

matematik seperti himpunan dan deret, dan operasi

system didefinisikan dengan bagaimana operasi

tersebut mengubah status system.

14SPESIFIKASI FORMAL

Page 15: Rpl   09 - spesifikasi  formal

Sekuensial Konkuren

AljabarLarch (guttag et al., 1985, 1993

OBJ (Futatsugi et al., 1985)

Lotos (Bolognesi dan

Brinksma, 1987

Berbasis Model

Z (Spivey, 1992)

VDM (Jones, 1980)

B (Wordsworth, 1996)

CSP (Hoare, 1985)

Petri Nets (Peterson,

1981)

contoh bahasa pada masing-masing kelas

15SPESIFIKASI FORMAL

Page 16: Rpl   09 - spesifikasi  formal

Spesifikasi interface subsistem yang tepat

penting karena pengembang subsistem harus

menulis kode yang memakai layanan

subsistem lain sebelum implementasi.

Spesifikasi interface memberikan

informasi untuk pengembang subsistem

sehingga mereka tahu layanan apa yang akan

tersedia pada subsistem lain dan bagaimana

aksesnya.

16SPESIFIKASI FORMAL

Page 17: Rpl   09 - spesifikasi  formal

Subsistem

A

Subsistem

B

data dan operasi yang dapat diakses

melalui interface subsistem

17SPESIFIKASI FORMAL

Page 18: Rpl   09 - spesifikasi  formal

18SPESIFIKASI FORMAL

Page 19: Rpl   09 - spesifikasi  formal

• Pendahuluan yang mendeklarasikan sort (nama

tipe) entitas yang dispesifikasi. Sort merupakan

himpunan objek. Sort biasanya diimplementasikan

sebagai tipe.

• Bagian deskripsi di mana operasi dideskripsikan

secara informal.

• Bagian signature mendefinisikan sintaks interface

ke kelas objek atau tipe data abstrak.

• Bagian aksioma yang mendefinisikan semantic

operasi dengan mendefiniskan satu set aksioma

yang mencirika perilaku tipe data abstrak.

19SPESIFIKASI FORMAL

Page 20: Rpl   09 - spesifikasi  formal

• Penstrukturan spesifikasi. Organisasikan

spesifikasi interface informal menjadi satu set tipe

data abstrak atau kelas objek.

• Penamaan spesifikasi. Tetapkan nama untuk

setiap spesifikasi tipe abstrak, putuskan apakah

spesifikasi tersebut membutuhkan parameter

generic dan tentukan nama untuk sort yang

teridentifikasi.

• Pemilihan operasi. Pilih satu set operasi untuk

setiap spesifikasi berdasarkan fungsionalitas

interface yang teridentifikasi.

20SPESIFIKASI FORMAL

Page 21: Rpl   09 - spesifikasi  formal

• Spesifikasi operasi informal. Tuliskan

spesifikasi informal setiap operasi.

• Definisi sintaks. Definisikan sintaks operasi

dan parameter bagi setiap operasi. Ini

merupakan bagian signature dari spesifikasi

formal.

• Definisi aksioma. Definisikan semantic

operasi dengan mendeskripsikan kondisi

apa yang selalu true (benar) untuk berbagai

kombinasi operasi.21SPESIFIKASI FORMAL

Page 22: Rpl   09 - spesifikasi  formal

Spesifikasi list sederhana22SPESIFIKASI FORMAL

Page 23: Rpl   09 - spesifikasi  formal

• Operasi konstruktor yang membuat atau

memodifikasi entitas dari sort yang didefinisikan

pada spesifikasi. Biasanya, ini merupakan nama

yng diberikan seperti create, Update, Add atau,

dalam kasus ini, Cons yang berarti konstruksi.

• Operasi inspeksi (pemeriksaan) yang

mengevaluasi atribut sort yang didefinisikan pada

spesifikasi. Biasanya, ini merupakan nama yang

diberikan yang berhubungan dengan nama atribut

atau nama seperti Eval, Get, dsb.

23SPESIFIKASI FORMAL

Page 24: Rpl   09 - spesifikasi  formal

• Enter. Operasi ini menambahkan sebuah pesawat

(direpresentasikan oleh identifier) pada ruang udara dengan

ketinggian tertentu. Tidak boleh pesawat lain pada ketinggian

tersebut atau dalam jarak 300 meter darinya.

• Leave. Operasi ini mengeluarkan pesawat yang bersangkutan

dari sector yang dikontrol. Operasi ini dipakai ketika pesawat

berpindah ke sector berikutnya.

• Move. Operasi ini memindahkan pesawat dari satu ketinggian

ke yang lainnya.

• Lookup. Jika diketahui identitas pesawat, operasi-operasi

interface pesawat pada sector tersebut.

24SPESIFIKASI FORMAL

Page 25: Rpl   09 - spesifikasi  formal

• Create. Ini merupakan operasi standar untuk tipe data

abstrak. Operasi ini menyebabkan dibuatnya instance kosong

dari tipe tersebut.

• Put. Ini merupakan versi yang lebih sederhana dari operasi

enter. Operasi ini hanya menambahkan pesawat ke sector

tanpa pemeriksaan batasan.

• In-space. Jika diketahui sinyal panggil (call sign) pesawat,

operasi Boolean ini me-return true pesawat ada di sector

yang dikontrol, dan false jika tidak.

• Occupied. Jika diketahui ketinggian, operasi Boolean ini me-

return true jika ada pesawat dalam jarak 300 meter dengan

ketinggian tersebut, dan false jika tidak.

25SPESIFIKASI FORMAL

Page 26: Rpl   09 - spesifikasi  formal

• Spesifikasi Occupied menyatakan bahwa pada

ruang udara yang kosong (create), suatu

ketinggian selalu kosong.

• Spesifikasi Move menyatakan bahwa, jika operasi

move diterapkan pada ruang udara yang kosong

(Create), ruang tersebut tidak berubah dan

dibangkitkanlah eksepsi untuk menunjukkan bahwa

pesawat yang dispesifikasi tidak ada pada ruang

udara tersebut.

26SPESIFIKASI FORMAL

Page 27: Rpl   09 - spesifikasi  formal

Pendekatan alternatif bagi spesifikasi formal

yang telah banyak digunakan pada proyek industri

adalah spesifikasi berbasis model.

Spesifikasi berbasis model merupakan

pendekatan terhadap spesifikasi formal di mana

spesifikasi sistem dinyatakan sebagai model status

sistem.

Operasi sistem dispesifikasi dengan

mendefenisikan bagaimana operasi tersebut

mempengaruhi status model sistem. Dengan

demikian, perilaku sistem dapat didefinisikan.

27SPESIFIKASI FORMAL

Page 28: Rpl   09 - spesifikasi  formal

Deskripsi formal dimasukkan sebagai sebagai

bagian-bagian kecil dan mudah dibaca (disebut

skema) yang di bedakan dari test yang berhubungan

dengan menggunakan highlight grafis. Skema

digunakan untuk mengenalkan variabel status dan

mendefenisikan batasan dan operasi pada status.

28SPESIFIKASI FORMAL

Page 29: Rpl   09 - spesifikasi  formal

29SPESIFIKASI FORMAL

Page 30: Rpl   09 - spesifikasi  formal

• Rakitan jarum. Dihubungkan ke pompa. Komponen ini

digunakan untuk memasukkan insulin ke dalam tubuh

penderita diabetes

• Sensor. Mengukur tingkat glukosa darah user. Input dari

sensor direpresentasikan oleh reading pada spesifiksi formal.

• Pompa. memompa insulin dari reserfoir ke rakitan jarum. Nilai

yang menunjukkan jumlah bagian insulin yang harus

diberikan direpresentasikan oleh dosen pada spesifiksi formal

• Kontroler. Mengontrol seluruh titik. Kontroler ini memiliki

saklar on/off ditambah tombol overide (mengesampingkan),

ditambah tombol ntuk menentukan jumlah yang akan

diberikan.

30SPESIFIKASI FORMAL

Page 31: Rpl   09 - spesifikasi  formal

• Alarm. Berbunyi jika ada masalah. Nilai yang

dikirim ke alarm direfresentasikan oleh alarm !

pada spesifikasi berikut ini.

• Displai. Ada dua displai. Yang satu menunjukkan

pembacaan gula darah yang terakhir diukur, yang

lainnya menampilkan massage.

• Jam. Menginformasikan waktu saat itu untuk

kontoler

31SPESIFIKASI FORMAL

Page 32: Rpl   09 - spesifikasi  formal

32SPESIFIKASI FORMAL

Page 33: Rpl   09 - spesifikasi  formal

• reading? Ini merupakan bilangan asli (yaitu, bilangan bulat

non-negatif ) yang merepresentasikan pembacaan dari

sensor glukosa darah . ini merupakan nilai input .

• Dose, cumulative _dose ini juga merupakan bilangan asli

yang mempresrentasikan dosis insulin yang akan diberikan

dan dosis komulatif yang telah diberikan selama periode

waktu tertentu.

• R0, R1,R2, ini mereplesentasikan tiga pembacaan terakhir

dan dipakai untuk menghitung kecepatan perubahan glokusa

darah.

• Capacity bilangan asli yang merepresentasikan kapasitas

resevoir insulin pada pompa .

33SPESIFIKASI FORMAL

Page 34: Rpl   09 - spesifikasi  formal

34SPESIFIKASI FORMAL

Page 35: Rpl   09 - spesifikasi  formal

• Alarm! Output ini merepresentasikan alarm pada mesin yang

memberi sinyal kondisi epsepsi

• Punp! Ini merupakan bilangan asli yang mereplesentasikan

sinyal kontrol yang dikirimkan kerakitan pompa fisik. Ini

merupakan nilai output.

• Display1! Display2! Nilai-nilai output dengan tipe string ini

merepresentasikan dua display test pada pompa insulin. Satu

display ( display 1) dipakai untuk menampilkn pesan test,

yang lainnya(display 2) dipakai untuk menunjukkan dosis

insulin yang diberikan

35SPESIFIKASI FORMAL

Page 36: Rpl   09 - spesifikasi  formal

Penekanan masalah yang harus

diselesaikan merupakan suatu

keuntungan utama dari peggunaan

spesifikasi formal. Dengan spesifikasi

informal, konflik ini lebih mudah

terlewatkan dan harus ditangani pada

tahap berikutnya dari proses

pengembangan.

36SPESIFIKASI FORMAL

Page 37: Rpl   09 - spesifikasi  formal

37SPESIFIKASI FORMAL