• Tidak ada hasil yang ditemukan

REKAYASA PERANGKAT LUNAK. Spesifikasi Formal

N/A
N/A
Protected

Academic year: 2021

Membagikan "REKAYASA PERANGKAT LUNAK. Spesifikasi Formal"

Copied!
43
0
0

Teks penuh

(1)

Spesifikasi Formal

REKAYASA PERANGKAT

LUNAK

(2)

MUHLIS TAHIR 092904033

PTIK A 2009

(3)

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

(4)

TOPIK YANG DIBAHAS :

Spesifikasi formal dalam proses perangkat lunak

Sub-sistem spesifikasi interface

Perilaku spesifikasi

(5)

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.

(6)

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.

(7)

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.

(8)

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.

(9)

SPESIFIKASI DAN DESAIN

(10)

SPESIFIKASI DALAM PROSES

PERANGKAT LUNAK

(11)

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.

(12)

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.

(13)

BIAYA PENGEMBANGAN DENGAN

SPESIFIKASI FORMAL

(14)

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.

(15)

FORMAL SPESIFIKASI BAHASA

(16)

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.

(17)

SUB-SISTEM ANTARMUKA

(18)

STRUKTUR SPESIFIKASI

ALJABAR

(19)

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.

(20)

SISTEMATIS ALJABAR SPESIFIKASI

Spesifikasi aljabar suatu sistem dapat dikembangkan secara sistematis

Spesifikasi penataan;

Spesifikasi penamaan;

Operasi seleksi;

Informal operasi spesifikasi;

Sintaks definisi;

Definisi aksioma.

(21)

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.

(22)

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.

(23)

DAFTAR SPESIFIKASI

(24)

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]

(25)

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.

(26)

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;

(27)

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.

(28)

SEKTOR SPESIFIKASI (1)

(29)

SEKTOR SPESIFIKASI (2)

(30)

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.

(31)

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.

(32)

STRUKTUR DARI SEBUAH SKEMA

Z

(33)

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

(34)

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.

(35)

POMPA INSULIN SKEMA

(36)

NEGARA INVARIANTS

(37)

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.

(38)

LARI SKEMA (1)

(39)

LARI SKEMA (2)

(40)

GULA OK SKEMA

(41)

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.

(42)

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.

(43)

SEKIAN DAN TERIMA KASIH

Referensi

Dokumen terkait

Menentukan ingkaran suatu pernyataan Ingkaran dari pernyataan “ Jika Samy mendapat nilai 10, maka ia diberi hadiah” adalah ..... Jika Samy tidak mendapat nilai 10, maka ia

Penelitian ini bertujuan untuk mengetahui peningkatan hasil belajar lompat jauh gaya jongkok melalui pembelajaran dengan media rintangan pada siswa SMA Negeri 1 Kota

• Dengan mengetahui kesetimbangan dari suatu game, pemodel dapat mengetahui tindakan/strategi apa yang dipilih oleh para pemain yang terlibat, dan juga outcome dari game

Hal ini kerap kali kita jumpai pada ruang publik yang memberi makna pada interaksi sosial yang terjadi disana.. Pendekatan fungsionalis dalam

Adapun Chaer (2002: 103) memaparkan dua prinsip dalam membedakan homonimi dan polisemi, yaitu: a) homonimi bukanlah sebuah kata, melainkan dua buah kata atau lebih yang

Data Supervisi Klinis Pada Kelompok Eksperimen Pertemuan I.. HASIL PELAKSANAAN SUPERVISI KLINIS

Mesej-mesej yang membawa kesedaran Islam kepada pengguna interaksi WhatsApp adalah mesej dakwah yang sampai kepada golongan sasaran dan dapat menyentuh hati mereka.. Ini kerana,

Dukungan sosial yang dipersepsikan bentuknya kurang tepat, jumlahnya kurang atau berlebihan dari sumber dukungan sosial bisa memberikan dampak yang negatif bagi