Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan...

43
Spesifikasi Formal REKAYASA PERANGKAT LUNAK

Transcript of Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan...

Page 1: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

Spesifikasi Formal

REKAYASA PERANGKAT

LUNAK

Page 2: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

MUHLIS TAHIR 092904033 PTIK A 2009

Page 3: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

TUJUAN :

Untuk menjelaskan mengapa teknik spesifikasi formal membantu

menemukan masalah dalam persyaratan sistem

Untuk menggambarkan penggunaan teknik aljabar untuk

spesifikasi antarmuka

Untuk menggambarkan penggunaan teknik berbasis model untuk

spesifikasi perilaku

Page 4: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

TOPIK YANG DIBAHAS : • Spesifikasi formal dalam proses perangkat

lunak

• Sub-sistem spesifikasi interface

• Perilaku spesifikasi

Page 5: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

METODE FORMAL Spesifikasi formal merupakan bagian dari koleksi yang lebih umum

teknik yang dikenal sebagai 'metode formal'.

Ini semua didasarkan pada representasi matematis dan analisis

perangkat lunak.

Metode formal termasuk

Spesifikasi formal;

Spesifikasi analisis dan bukti;

Transformasional pembangunan;

Program verifikasi.

Page 6: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

PENERIMAAN METODE FORMAL

Metode formal belum menjadi mainstream teknik pengembangan perangkat

lunak seperti yang pernah diperkirakan

Perangkat lunak lain rekayasa teknik telah berhasil meningkatkan kualitas

sistem. Karena itu membutuhkan metode formal telah berkurang;

Perubahan pasar telah membuat waktu-ke-pasar bukan perangkat lunak

dengan kesalahan rendah menghitung faktor kunci. Metode formal tidak

mengurangi waktu ke pasar;

Ruang lingkup metode formal terbatas. Mereka tidak cocok untuk

menentukan dan menganalisis user interface dan interaksi pengguna;

Metode formal masih sulit untuk skala sampai dengan sistem yang besar.

Page 7: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

PENGGUNAAN METODE FORMAL

Manfaat utama dari metode formal dalam mengurangi jumlah kesalahan

pada sistem.

Akibatnya, daerah utama mereka diterapkan dalam rekayasa sistem

kritis. Ada beberapa proyek yang berhasil di mana metode formal telah

digunakan di daerah ini.

Di daerah ini, penggunaan metode formal yang paling mungkin untuk

biaya-biaya sistem efektif karena kegagalan yang tinggi harus dihindari.

Page 8: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

SPESIFIKASI DALAM PROSES PERANGKAT LUNAK

• Spesifikasi dan desain erat bercampur.

• Desain arsitektur sangat penting untuk struktur spesifikasi

dan proses spesifikasi.

• Spesifikasi formal dinyatakan dalam notasi matematika

dengan tepat didefinisikan, sintaks dan semantik kosakata.

Page 9: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

SPESIFIKASI DAN DESAIN

Page 10: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

SPESIFIKASI DALAM PROSES PERANGKAT LUNAK

Page 11: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

PENGGUNAAN SPESIFIKASI FORMAL Spesifikasi formal melibatkan investasi lebih banyak upaya dalam

fase awal pengembangan perangkat lunak.

Hal ini mengurangi kesalahan persyaratan sebagai memaksa analisis

rinci tentang persyaratan.

Ketidaklengkapan dan inkonsistensi dapat ditemukan dan

diselesaikan.

Oleh karena itu, tabungan yang dibuat sebagai jumlah pengerjaan

ulang karena masalah persyaratan berkurang.

Page 12: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

BIAYA PROFIL

Penggunaan spesifikasi formal berarti bahwa profil biaya sebuah

perubahan proyek

Ada biaya depan lebih besar sebagai lebih banyak waktu dan

usaha yang dihabiskan mengembangkan spesifikasi;

Namun, pelaksanaan dan validasi biaya harus dikurangi sebagai

proses spesifikasi mengurangi kesalahan dan ambiguitas dalam

persyaratan.

Page 13: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

BIAYA PENGEMBANGAN DENGAN SPESIFIKASI FORMAL

Page 14: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

SPESIFIKASI TEKNIK

Spesifikasi aljabar

Sistem ini ditetapkan dalam hal operasi dan hubungan mereka.

Model berbasis spesifikasi

Sistem ini ditetapkan dalam hal model negara yang dibangun

menggunakan konstruksi matematika seperti set dan urutan.

Operasi didefinisikan oleh modifikasi negara sistem.

Page 15: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

FORMAL SPESIFIKASI BAHASA

Page 16: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

SPESIFIKASI INTERFACE

o Sistem yang besar dipecah menjadi subsistem dengan antarmuka

yang terdefinisi dengan baik antara subsistem.

o Spesifikasi antarmuka subsistem memungkinkan pengembangan

independen dari subsistem yang berbeda.

o Interface dapat didefinisikan sebagai tipe data abstrak atau kelas

objek.

o Pendekatan aljabar untuk spesifikasi formal sangat cocok untuk

antarmuka spesifikasi seperti yang difokuskan pada operasi

didefinisikan dalam suatu objek.

Page 17: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

SUB-SISTEM ANTARMUKA

Page 18: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

STRUKTUR SPESIFIKASI ALJABAR

Page 19: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

SPESIFIKASI KOMPONEN Pengantar

Mendefinisikan jenis (nama jenis) dan menyatakan spesifikasi lainnya

yang digunakan.

Deskripsi

Informal menjelaskan operasi pada jenis.

Tanda tangan

Mendefinisikan sintaks dari operasi dalam antarmuka dan parameter

mereka.

Aksioma

Mendefinisikan semantik operasi dengan mendefinisikan aksioma yang

mencirikan perilaku.

Page 20: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

SISTEMATIS ALJABAR SPESIFIKASI

Spesifikasi aljabar suatu sistem dapat dikembangkan secara

sistematis

Spesifikasi penataan;

Spesifikasi penamaan;

Operasi seleksi;

Informal operasi spesifikasi;

Sintaks definisi;

Definisi aksioma.

Page 21: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

SPESIFIKASI OPERASI

Pembuat operasi. Operasi yang menciptakan entitas dari jenis

yang ditentukan.

Inspeksi operasi. Operasi yang mengevaluasi entitas dari jenis

yang ditentukan.

Untuk menetapkan perilaku, menentukan inspektur operasi untuk

setiap operasi konstruktor.

Page 22: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

OPERASI PADA DAFTAR ADT Pembuat operasi yang mengevaluasi untuk mengurutkan Daftar

Membuat, Kontra dan Tail.

Pemeriksaan operasi yang mengambil daftar semacam sebagai

parameter dan pengembalian semacam lainnya

Kepala dan Panjang.

Ekor dapat didefinisikan dengan menggunakan konstruktor yang

sederhana? Membuat dan Cons. Tidak perlu mendefinisikan Kepala

dan Panjang dengan Tail.

Page 23: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

DAFTAR SPESIFIKASI

Page 24: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

REKURSI DALAM SPESIFIKASI Operasi sering ditentukan secara rekursif.

Ekor (Cons (L, v)) = jika L = Buat kemudian Buat? lain Cons (Tail (L), v).

Kontra ([5, 7], 9) = [5, 7, 9]

Ekor ([5, 7, 9]) = Tail (Cons ([5, 7], 9)) =

Kontra (Tail ([5, 7]), 9) = Cons (Tail (Kekurangan ([5], 7)), 9) =

Kontra (Cons (Ekor ([5]), 7), 9) =

Kontra (Cons (Ekor (Kekurangan ([], 5)), 7), 9) =

Kontra (Cons ([Buat], 7), 9) = Cons ([7], 9) = [7, 9]

Page 25: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

INTERFACE SPESIFIKASI SISTEM KRITIS Pertimbangkan sebuah sistem kontrol lalu lintas udara di mana

pesawat terbang melalui sektor dikelola wilayah udara.

Setiap sektor dapat mencakup sejumlah pesawat tetapi, untuk alasan

keamanan, ini harus dipisahkan.

Dalam contoh ini, pemisahan vertikal sederhana 300m diusulkan.

Sistem tersebut harus memperingatkan controller jika pesawat

diinstruksikan untuk bergerak sehingga pemisahan aturan dilanggar.

Page 26: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

SEBUAH OBJEK SEKTOR

operasi Kritis pada objek yang mewakili sektor yang dikendalikan

Enter. Tambahkan pesawat udara ke wilayah udara yang

dikendalikan;

Tinggalkan. Hapus pesawat terbang dari wilayah udara yang

dikendalikan;

Pindah. Memindahkan pesawat dari satu ketinggian ke yang lain;

Lookup. Mengingat pesawat identifier, kembali tinggi saat ini;

Page 27: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

PRIMITIF OPERASI Hal ini kadang diperlukan untuk memperkenalkan operasi tambahan untuk

menyederhanakan spesifikasi.

Operasi lain maka dapat didefinisikan menggunakan operasi yang lebih

primitif.

Primitif operasi

Buat. Bawa sebuah instance dari suatu sektor menjadi ada;

Put. Tambahkan pesawat tanpa pemeriksaan keamanan;

Dalam-ruang. Menentukan apakah sebuah pesawat yang diberikan dalam

sektor ini;

Pendudukan. Mengingat ketinggian, menentukan apakah ada pesawat

dalam ketinggian 300m itu.

Page 28: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

SEKTOR SPESIFIKASI (1)

Page 29: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

SEKTOR SPESIFIKASI (2)

Page 30: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

SPESIFIKASI KOMENTAR Gunakan konstruktor dasar Buat dan Pasang untuk menentukan

operasi lainnya.

Tentukan Pendudukan dan In-ruang angkasa yang menggunakan

Membuat dan Pasang dan gunakan mereka untuk membuat cek

dalam definisi operasi lain.

Semua operasi yang mengakibatkan perubahan sektor ini harus

memeriksa bahwa kriteria keselamatan berlaku.

Page 31: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

PERILAKU SPESIFIKASI

Aljabar spesifikasi bisa rumit ketika operasi objek tidak

independen dari negara objek.

Spesifikasi Model berbasis memperlihatkan keadaan sistem dan

mendefinisikan operasi dalam hal perubahan ke negara itu.

Notasi Z adalah teknik matang untuk spesifikasi model yang

berbasis. Ini menggabungkan deskripsi formal dan informal dan

menggunakan grafis menyoroti saat menyajikan spesifikasi.

Page 32: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

STRUKTUR DARI SEBUAH SKEMA Z

Page 33: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

PEMODELAN POMPA INSULIN Skema Z untuk pompa insulin menyatakan sejumlah variabel negara

termasuk:

Input variabel seperti switch? (saklar perangkat),

InsulinReservoir? (jumlah saat ini insulin dalam reservoir) dan

Membaca? (pembacaan dari sensor);

Output variabel seperti alarm! (alarm system), display1,

display2! (menampilkan pada pompa) dan dosis! (dosis insulin

akan dikirimkan).

Page 34: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

SKEMA INVARIAN • Setiap skema Z memiliki bagian invarian yang mendefinisikan kondisi

yang selalu benar.

• Untuk skema pompa insulin itu selalu benar bahwa

Dosis harus kurang dari atau sama dengan kapasitas reservoir

insulin;

Tidak ada dosis tunggal bisa lebih dari 4 unit insulin dan total dosis

disampaikan dalam jangka waktu tidak boleh melebihi 25 unit

insulin. Ini adalah kendala keamanan;

Display2! menunjukkan jumlah insulin akan dikirimkan.

Page 35: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

POMPA INSULIN SKEMA

Page 36: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

NEGARA INVARIANTS

Page 37: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

PERHITUNGAN DOSIS Pompa insulin menghitung jumlah insulin yang diperlukan dengan

membandingkan saat ini dengan membaca dua bacaan sebelumnya.

Jika ini menunjukkan bahwa glukosa darah meningkat maka insulin

disampaikan.

Informasi tentang dosis total dikirimkan dipertahankan untuk

memungkinkan invariant pengecekan keamanan yang akan

diterapkan.

Perhatikan bahwa invarian ini selalu berlaku - tidak perlu mengulang

dalam perhitungan dosis.

Page 38: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

LARI SKEMA (1)

Page 39: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

LARI SKEMA (2)

Page 40: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

GULA OK SKEMA

Page 41: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

HAL-HAL PENTING

Spesifikasi sistem formal melengkapi spesifikasi teknik informal.

Spesifikasi formal tepat dan jelas. Mereka menghapus bidang

keraguan dalam spesifikasi.

Spesifikasi formal kekuatan analisis kebutuhan sistem pada tahap

awal. Mengoreksi kesalahan pada tahap ini lebih murah daripada

memodifikasi sistem disampaikan.

Spesifikasi teknik formal yang paling diterapkan dalam

pengembangan sistem kritis dan standar.

Page 42: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

HAL-HAL PENTING

Teknik aljabar cocok untuk antarmuka spesifikasi antarmuka mana

didefinisikan sebagai satu set kelas objek.

Model-model teknik berdasarkan sistem dengan menggunakan set

dan fungsi. Ini menyederhanakan beberapa jenis spesifikasi

perilaku.

Operasi didefinisikan dalam model berbasis spec. dengan

mendefinisikan kondisi sebelum dan sesudah pada keadaan sistem.

Page 43: Spesifikasi Formal - · PDF fileMendefinisikan sintaks dari operasi dalam antarmuka dan parameter mereka. Aksioma ... keadaan sistem dan ... Model-model teknik berdasarkan sistem

SEKIAN DAN TERIMA KASIH