rpl 09 - spesifikasi formal
DESCRIPTION
TRANSCRIPT
1SPESIFIKASI 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
Suatu spesifikasi perangkat lunak
formal merupakan spesifikasi yang
dinyatakan dalam bahasa yang
perbendaharaan kata, sintaks, dan
semantiknya didefinisikan secara formal.
3SPESIFIKASI 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
• 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
Terdapat tiga tingkat spesifikasi
perangkat lunak yang dapat
dikembangkan. Tingkat-tingkat ini
adalah persyaratan user, persyaratan
sistem, dan spesifikasi desain perangkat
lunak.
6SPESIFIKASI 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
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
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
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
• 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
biaya proses perangkat lunak dipengaruhi oleh penggunaan
spesifikasi formal12SPESIFIKASI 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
• 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
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
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
Subsistem
A
Subsistem
B
data dan operasi yang dapat diakses
melalui interface subsistem
17SPESIFIKASI FORMAL
18SPESIFIKASI 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
• 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
• 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
Spesifikasi list sederhana22SPESIFIKASI 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
• 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
• 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
• 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
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
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
29SPESIFIKASI 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
• 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
32SPESIFIKASI 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
34SPESIFIKASI 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
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
37SPESIFIKASI FORMAL