Spesifikasi Perangkat Lunak

Slides:



Advertisements
Presentasi serupa
REKAYASA PERANGKAT LUNAK
Advertisements

MODEL PROTOTYPE.
Proses-proses Perangkat Lunak
Rekayasa Perangkat Lunak dan Proses Software
Bab 6 PERANCANGAN PERANGKAT LUNAK
ANALISIS SISTEM.
PEMODELAN ANALISIS Kuliah - 5
Proses Software Bab 2.
Sasaran Menjelaskan apa yang dimaksud model proses
PROSES-PROSES PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK (Software Engineering) Eka Ismantohadi
REKAYASA SISTEM.
Desain Sistem By Hendro Joko Prasetyo, M.Kom.
PENGANTAR REKAYASA PERANGKAT LUNAK I
Pengembangan PL Ahmat Adil.
PERENCANAAN PROSES PERANGKAT LUNAK
6 Managing Software Requirement Perancangan
Pengembangan dan Perancangan Perangkat Lunak
Desain Sistem By Hendro Joko Prasetyo, M.Kom.
Prototyping Aplikasi Teknologi Informasi
Analisis Persyaratan Perangkat Lunak dan Spesifikasi
SIKLUS PENGEMBANGAN SISTEM
Perancangan Perangkat Lunak
REKAYASA PERANGKAT LUNAK
Methods for Software Engineering CHAPTER 5 Software Project Planning Software engineering: a practitioner’s approach / Roger S. Pressman.—5th ed.
Diadopsi dari presentasi Ian Sommeriville, Pengantar Rekayasa Perangkat Lunak.
REKAYASA PERANGKAT LUNAK
Rekayasa Perangkat Lunak
PROSES-PROSES PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK
Kelompok 4 Agusta Sigit Dewantoro Almizan Dio Restu Saputra
Pengembangan Siklus Hidup Sistem
PERENCANAAN AKTIVITAS PROYEK
Desain Sistem.
Perangkat Lunak 1.
proses PERANGKAT LUNAK
Rekayasa Perangkat Lunak Model Proses PL
Rekayasa perangkat lunak (rpl)
Pengenalan Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
PERANCANGAN INTERFACE USER
PENGEMBANGAN PERANCANGAN SISTEM
Pendahuluan Muhammad Rachmadi, S.T., M.T.I..
SE3414 RPL: Teknik Berorientasi Objek
Pemeliharaan Perangkat Lunak
RPL.
5. Tahap-Tahap dalam Model Proses Waterfall
Oleh : Dewi Sartika, M.Kom
PROSES REKAYASA PERSYARATAN
Rekayasa Perangkat Lunak Dosen : Citra Noviyasari, S.Si, MT
REKAYASA PERANGKAT LUNAK
RPL.
REKAYASA PERANGKAT LUNAK
Rekayasa Perangkat Lunak Dosen : Citra Noviyasari, S.Si, MT
REKAYASA PERANGKAT LUNAK
Analisa Perancangan Sistem
PERTEMUAN 2 Proses Pengembangan Perangkat Lunak
REKAYASA PERANGKAT LUNAK
Rekayasa Perangkat Lunak
10 Perancangan Arsitektural
REKAYASA PERANGKAT LUNAK
Model Waterfall dan Dokumen SKPL
Rekayasa Perangkat Lunak
PENGANTAR REKAYASA PERANGKAT LUNAK
REKAYASA PERANGKAT LUNAK
Pengembangan Sistem Informasi
Analisis dan Desain Berorientasi Obyek
Desain Sistem.
Pemodelan Sistem PL.
MODEL PROSES PERANGKAT LUNAK
Transcript presentasi:

Spesifikasi Perangkat Lunak

Spesifikasi Perangkat Lunak Tujuan: menetapkan layanan apa yang dituntut dari sistem dan batasan pada operasi serta pengembangan sistem. Merupakan tahap yang sangat kritis dari proses PL karena kesalahan pada tahap ini akan menimbulkan masalah lain pada perancangan dan implementasi sistem.

Spesifikasi Perangkat Lunak Proses rekayasa persyaratan menghasilkan dokumen persyaratan yang merupakan spesifikasi sistem. Persyaratan biasanya direpresentasikan pada dua tingkat perincian di dokumen ini. Pengguna akhir (end user) dan pelanggan memerlukan pernyataan persyaratan tingkatan tinggi, sedangkan pengembang sistem memerlukan sistem yang lebih rinci.

Spesifikasi Perangkat Lunak Ada empat fase utama pada proses rekayasa persyaratan: 1. Studi kelayakan Perkiraan apakah user puas menggunakan perangkat lunak dan teknologi perangkat keras yang dipakai pada saat ini. Studi ini akan memutuskan apakah sistem yang diusulkan efektif dalam hal biaya dan apakah sistem dapat dikembangkan dengan keterbatasan anggaran yang tersedia. Hasil dari studi kelayakan: informasi keputusan apakah akan terus dilakukan analisis lebih rinci atau tidak.

Spesifikasi Perangkat Lunak 2. Elisitasi dan analisis persyaratan. Merupakan proses penurunan persyaratan sistem melalui observasi sistem yang ada, diskusi dengan user yang akan memakai, analisis pekerjaan, dll. Proses ini bisa melibatkan pengembangan satu atau lebih model dan prototipe sistem. Hasil fase ini akan membantu analis memahami sistem yang akan dispesifikasi.

Spesifikasi Perangkat Lunak 3. Spesifikasi persyaratan kegiatan menerjemahkan informasi yg dikumpulkan pada kegiatan analisis menjadi dokumen yang mendefinisikan serangkaian persyaratan. Dua jenis persyaratan bisa dicakup pada dokumen ini: Persyaratan user: pernyataan abstrak persyaratan sistem untuk pelanggan dan end user sistem; persyaratan sistem: deskripsi yang lebih rinci mengenai fungsionalitas yang akan diberikan.

Spesifikasi Perangkat Lunak 4. Validasi persyaratan Kegiatan ini memeriksa apakah persyaratan dapat direalisasikan, konsisten, dan lengkap. Pada proses ini kesalahan pada dokumen persyaratan akan ditemukan. Kesalahan ini kemudian dimodifikasi untuk menyelesaikan masalahnya.

Perancangan dan Implementasi Perangkat Lunak Tahap implementasi pengembangan PL: proses pengubahan spesifikasi sistem menjadi sistem yang dapat dijalankan. Tahap ini selalu mencakup proses perancangan dan pemrograman perangkat lunak. Tetapi jika digunakan pengembangan dengan pendekatan evolusioner maka bisa juga melibatkan perbaikan spesifikasi perangkat lunak.

Perancangan dan Implementasi Perangkat Lunak Perancangan PL: deskripsi struktur PL yang akan diimplementasikan, data yang merupakan bagian sistem, interface antara komponen-komponen sistem, dan kadang algoritma yang digunakan. Perancang tidak langsung menghasilkan rancangan akhir tetapi mengembangkan rancangan secara iteratif melalui versi demi versi yang berbeda

Perancangan dan Implementasi Perangkat Lunak Proses perancangan bisa melibatkan pengembangan beberapa model sistem. Sementara suatu rancangan diuraikan, kesalahan dan kekurangan tahap awal akan ditemukan. Penemuan ini dijadikan umpan balik untuk memperbaiki model rancangan awal. Tahap pada proses perancangan bersifat urut (sekuensial). Spesifikasi untuk tahap berikutnya merupakan output dari setiap kegiatan perancangan. Hasil akhir dari perancangan: spesifikasi yang tepat dari algoritma dan struktur data yang akan diimplementasi.

Perancangan dan Implementasi Perangkat Lunak Kegiatan-kegiatan proses perancangan adalah: 1. Perancangan arsitektural. Subsistem-subsistem yang membentuk sistem dan hubungan mereka diidentifikasi dan didokumentasi. 2. Spesifikasi abstrak. Untuk setiap subsistem, spesifikasi abstrak dari layanan dan batas operasinya harus ditentukan. 3. Perancangan interface. Untuk setiap subsistem, interface subsistem dirancang dan didokumentasi. Spesifikasi interface ini harus sudah jelas karena memungkinkan subsistem dipakai tanpa mengetahui operasi subsistem. 4. Perancangan komponen. Layanan dialokasikan pada komponen yang berbeda dan interface komponen-komponen ini dirancang.

Perancangan dan Implementasi Perangkat Lunak 5. Perancangan struktur data. Struktur data yang dipakai pada implementasi sistem dirancang secara rinci dan dispesifikasi. 6. Perancangan algoritma. Algoritma yang digunakan untuk memberikan layanan dirancang secara rinci dan dispesifikasi.

Metode Perancangan Pendekatan metodis thd perancangan PL adalah “metode terstruktur” yang merupakan serangkaian notasi dan panduan untuk perancangan PL. Penggunaan metode terstuktur biasanya melibatkan produksi model sistem grafis dan menghasilkan dokumentasi perancangan dalam jumlah besar. CASE tools telah dikembangkan untuk mendukung metode-metode tertentu. Metode terstruktur telah diterapkan pada banyak proyek besar. Metode ini dapat menghasilkan pemangkasan biaya krn menggunakan notasi yg standar dan menjamin dihasilkannya dokumentasi desain standar.

Metode Perancangan Metode terstruktur mencakup: model proses perancangan, notasi untuk merepresentasikan desain tersebut, format laporan, aturan dan panduan perancangan. Metode terstruktur bisa mendukung beberapa atau semua model sistem berikut: 1. Model aliran data, dimana sistem dimodelkan dengan menggunakan transformasi data yang terjadi pada saat pemrosesannya. 2. Model relasi entitas, yang dipakai untuk mendeskripsikan entitas-entitas dasar pada perancangan dan hubungan diantaranya. Model relasi entitas merupakan teknik normal yang dipakai untuk mendeskripsikan basis data.

Metode Perancangan 3. Model struktural, dimana komponen-komponen sistem dan interaksinya didokumentasikan. 4. Model berorientasi objek, mencakup model pewarisan (inheritance) sistem, model hubungan statis dan dinamis diantara objek, dan model bagaimana objek berinteraksi satu sama lain ketika sistem sedang dijalankan.

Pemrograman dan Debug Pengembangan program untuk implementasi sistem merupakan lanjutan dari proses perancangan sistem. CASE tool dapat dipakai untuk membangkitkan program kerangka dari rancangan.

Pemrograman dan Debug Programmer akan melakukan pengujian terhadap kode yang telah dikembangkan. Kegiatan ini menunjukkan error program yang harus dihilangkan. Kegiatan ini disebut debugging. Pengujian error dan debug merupakan proses yang berbeda. Pengujian menentukan adanya error. Debug berhubungan dengan pencarian lokasi dan pembetulan error ini.

Pemrograman dan Debug Error pada kode harus dilokalisasi dan program dimodifikasi untuk memenuhi persyaratan. Pengujian kemudian dilakukan untuk menjamin bahwa perubahan telah dilakukan dengan benar. Proses debug merupakan bagian dari pengembangan perangkat lunak dan pengujian perangkat lunak. Proses debug: Cari lokasi error Rancang perbaikan error Perbaiki error Uji ulang program

Validasi Perangkat Lunak Validasi perangkat lunak, atau verifikasi dan validasi (V&V) ditujukan untuk menunjukkan bahwa sistem sesuai dengan spesifikasinya dan bahwa sistem memenuhi harapan pelanggan. Validasi melibatkan proses pemeriksaan pada setiap tahap proses perangkat lunak dari definisi persyaratan user sampai pengembangan program. Namun demikian mayoritas biaya validasi disediakan setelah implementasi dan sistem operasional diuji.

Validasi Perangkat Lunak Tahap-tahap pengujian: 1. Pengujian unit. Komponen individual diuji untuk menjamin operasi yang benar. Setiap komponen diuji secara independen. 2. Pengujian modul. Modul merupakan sekumpulan komponen yg berhubungan seperti kelas, objek, tipe data abstrak, atau sekumpulan prosedur. Sebuah modul dapat diuji tanpa modul sistem yang lain. 3. Pengujian sub sistem. Fase ini melibatkan pengujian sekumpulan modul yg telah diintegrasikan menjadi sub sistem. 4. Pengujian sistem. Penemuan kesalahan akibat dari interaksi yg tidak diharapkan antara sub sistem dan masalah interface sub sistem. Proses ini berhubungan dengan validasi bahwa sistem telah memenuhi persyaratan fungsional dan non fungsionalnya. 5. Pengujian penerimaan. Sistem diuji dengan data yang dipasok oleh pelanggan sistem dan bukan data uii simulasi.

Evolusi Perangkat Lunak Pengembangan perangkat lunak merupakan kegiatan kreatif dimana sistem perangkat lunak dikembangkan dari konsep awal menjadi sistem yang dapat berjalan. Pemeliharaan perangkat lunak merupakan proses perubahan sistem tersebut setelah digunakan. Rekayasa perangkat lunak dianggap sebagai proses evolusioner dimana perangkat lunak terus diubah selama waktu hidupnya sebagai jawaban atas perubahan lingkungan dan kebutuhan pelanggan.

Pendukung Proses Terotomatisasi Computer-Aided Software Engineering (CASE): perangkat lunak yang dipakai untuk mendukung kegiatan proses rekayasa perangkat lunak seperti rekayasa persyaratan, perancangan, pengembangan program, dan pengujian. CASE tool mencakup editor perancangan, kamus data, compiler, debugger, alat bantu pembuatan sistem, dll. Teknologi CASE menyediakan dukungan proses PL yang mengotomasi beberapa kegiatan dan menyediakan informasi mengenai PL yang sedang dikembangkan

Pendukung Proses Terotomatisasi Contoh kegiatan yg dapat diotomasi menggunakan CASE: 1. Pengembangan model sistem grafis sebagai bagian spesifikasi persyaratan atau perancangan perangkat lunak; 2. Pemahaman rancangan menggunakan kamus data yang menyimpan informasi entitas dan hubungan pada rancangan; 3. Pembuatan interface user dari deskripsi interface grafis yang dibuat secara interaktif dengan user; 4. Debug program dengan menyediakan informasi mengenai program yang sedang berjalan; 5. Penerjemahan program yg terotomasi dari bahasa pemrograman versi lama (seperti COBOL), menjadi versi lebih baru.

Pendukung Proses Terotomatisasi Teknologi CASE telah menghasilkan beberapa perbaikan kualitas dan produktivitas PL walaupun kuantitasnya masih kurang dari yg diharapkan. Menurut Huff (1992) perbaikan yg dicapai sebesar 40%. CASE tidak melakukan revolusi terhadap rekayasa PL. Perbaikan dari penggunaan CASE dibatasi oleh dua faktor: Rekayasa PL adalah kegiatan perancangan yg berdasarkan pada pemikiran kreatif. Sistem CASE yg ada mengotomasi kegiatan rutin, tetapi penggunakan teknologi intelejensia buatan yg memberikan dukungan bagi perancangan belum berhasil. Pada sebagian besar organisasi, rekayasa PL merupakan kegiatan tim dan perekayasa PL menghabiskan waktu cukup banyak untuk berinteraksi dengan anggota tim yg lain. Teknologi CASE tidak banyak memberikan dukungan untuk ini.

Pendukung Proses Terotomatisasi Klasifikasi CASE tools Ada berbagai klasifikasi CASE tool, masing-masing memberikan pandangan yg berbeda. CASE tool dapat dibagi dalam tiga sudut pandang, yaitu: Sudut pandang fungsional, dimana CASE tool diklasifikasikan menurut fungsi khususnya. Sudut pandang proses, dimana CASE tool diklasifikasikan menurut kegiatan proses yang didukungnya. Sudut pandang integrasi, dimana CASE tool diklasifikasikan menurut bagaimana mereka diorganisasikan ke dalam unit-unit yang terintegrasi, yang memberikan dukungan bagi satu kegiatan proses atau lebih.

Pendukung Proses Terotomatisasi Klasifikasi CASE tools Berikut adalah klasifikasi CASE tool berdasarkan fungsinya:

Pendukung Proses Terotomatisasi Klasifikasi CASE tools Fugetta (1993) mengusulkan klasifikasi sistem CASE dalam tiga kategori: Tool (alat bantu) mendukung pekerjaan proses individual seperti memeriksa konsistensi perancangan, kompilasi program, membandingkan hasil pengujian, dll. Tool bisa berupa bersifat umum (general purpose), stand alone(berdiri sendiri), misalnya pengolah kata. Workbench mendukung fase atau kegiatan proses seperti spesifikasi, perancangan, dsb. Workbench biasanya terdiri dari serangkaian tool dengan derajat integrasi yg lebih besar atau lebih kecil. Lingkungan mendukung semua atau paling tidak bagian penting dari proses perangkat lunak. Lingkungan biasanya mencakup beberapa workbench yang terintegrasi dengan suatu cara.

Pendukung Proses Terotomatisasi Klasifikasi CASE tools Pada prakteknya, batas antara kelas-kelas tsb kabur. Tool bisa jadi dijual sebagai satu produk tetapi bisa mencakup dukungan untuk berbagai kegiatan. Sebagai contoh: sebagian pengolah kata sekarang menyediakan editor diagram yang sudah menjadi satu. Workbench CASE untuk perancangan terus menambah dukungan untuk pemrograman dan pengujian sehingga lebih dekat dengan lingkungan dari workbench khusus.