Rekayasa Perangkat Lunak Evolusi Perangkat Lunak
Pendahuluan Perangkat lunak menjadi penggerak yang membantu pengambilan keputusan didalam dunia bisnis, Perangkat Lunak berfungsi sebagai layanan jasa serta keilmuan modern. Perangkat Lunak telah dicangkokkan kedalam semua aspek-aspek industri dan layanan jasa : Transportasi, Medis, Militer, proses industri dan seterus
Industri Berbasis IT
Perkembangan Peran PL Sebagai Sebuah Produk Misal Word Prosesor, Compiler, Spreadsheet, dll Sebagai Bagian dari Produk lain, dimana tanpa PL produk lain tersebut tidak mungkin dapat berfungsi dengan baik, mis: Pesawat terbang (F16 tidak mungkin dapat terbang tanpa komputer pengendali). PL berfungsi sebagai dsar untuk pengendalian komputer ( sistem operasi), jaringan, dan bagian dari perangkat lunak lainnya (dynamic link Library, Library, dll)
Pengolahan Informasi PL memiliki contoh kegunaan sebagai berikut : PL mengubah data personal sehingga dapat lebih berguna pada konteks lokal PL dimanfaatkan untuk mengelolah informasi bisnis sehingga dapat meningkatkan kamampuan kompetisi PL memungkinkan pertukaran informasi keseluruh dunia, Misalnya Internet PL dapat digunakan untuk mencari infformasi keempat hal diatas
Perubahan Peran PL Perkembangan dramatis pada unjuk kerja PL komputer Perubahan besar dalam arsitektur komputer Pertambahan yang pesat pada memori dan kapasitas penyimpanan Variasi pilihan input dan output
Sejarah Perkembangan: Masa Awal ere komputer: PL merupakan hasil dari sebuah pemikiran, yang lebih dianggap sebagai art(“seat of pants”). PL dianggap tidak bisa dikendalikan sebagai sebuah engineering Gereal Purpose hardware, yang dipasangkan dengan PL yang dibangun untuk aplikasi-aplikasi khusus. Massa inikecenderungan adalah dokumentasi program menjadi masalah.
Era Kedua : Pada saat itu user dapat langsung berkomunikasi dengan komputer Juga diperkenalkan 2 paradigma yaitu multiprogram dan multiuser. Sistem realtime dan sistem online menjadi ekspetasi dari output berlangsung dalam hitungan detik Kemajuan dalam pengolahan data mengakiatkan adanya perkwembangan dalam database. Mulai dikenalnya software house Library terus berkembang Software mainteenance menjadi maslah-> software kritis
Era ketiga: Distributed System Microprosesor mulai sangat populer digunakan pada bermacam-macam alat embeded programming menjadi sangat populer. Pada saat ini komputer menjadi sangat populer dan dapat diakses dalam skala besar
Era Keempat : Semakin terintergrasinya komputer satu dengan lainnya Desktop yang mempunyai kemampuan proses yang sangat tinggi Jaringan Lokal dan Global(WAN) Model client server yang terdesentralisasi Cyberspace, Multimedia super Corridor, Information Superhighway, dll
Masalah yang muncul pada PL Kemampuan PL terus berlanjut melampaui kemampuan untuk membangun PL Kemampuan membuat program tidak cukup cepat untuk memnuhi kebutuhan pasar Kegagalan PL dapat mengakibatkan kerugian ekonomi yang luar biasa Kualitas dan keandalan PL memerlukan usaha yang sangat keras Buruknya rancangan PL dan kurangnya resources yang memadai
Ringkasan
Validasi dan Verifikasi Software Verifikasi: “Are we building the product right “ Software seharusnya sesuai dengan spesifikasinya Validasion:"Are we building the right product”. Software seharusnya melakukan apa yang benar-benar disyaratkan oleh user
Proses Verifikasi dan Validasi Adalahkeseluruhan proses daur hidup V & V harus diterapkan pada setiap tahapan dalam proses software Mempunyai dua obyektif prinsipal - Menemukan kekurangan dalam sebuah sistem; - Memperkirakan apakah sistem berguna dan dapat digunakan atau tidak dalam situasi operasional
Tujuan Verifikasi dan Validasi Verifikasi dan validasi harus memberikan kepastian bahwa software sesuai dengan tujuannya. Hal ini bukan berarti benar-benar bebas dari kekurangan Harus cukup baik untuk tujuan penggunaannya dan tipe dari penggunaan akan menentukan derajat kepastian yang dibutuhkan
Kepastian Verifikasi dan Validasi Tergantung pada tujuan sistem, harapan user dan lingkungan pemasaran – Fungsi Software • Tingkatkepastian tergantung pada bagaimana kritikal software terhadapa sebuah organisasi – Harapan User • User mungkin mempunyai harapan yang rendah terhadap software yang ada – Lingkungan pemasaran • Lebih awal melempar sebuah produk ke pasar lebih penting daripada menemukan kekurangan dalam program
Verifikasi Statik dan Dinamik Software inspection. Berhubungan dengan analisis representasi sistemstatik untuk menemukan masalah (verifikasi statik) – Dapat menjadi tambahan dari tool-based document dan code analysis Software testing. Berhubungan dengan pelaksanaan dan memperhatikan perilaku produk (dinamik verifikasi) – Sistem dijalankan dengan data tes dan perilaku operasionalnya diperhatikan
Lanjutan
Pengujian Program Dapat mengungkapkan keberadaan kesalahan bukan ketidakberadaannya Hanya teknik validasi untuk persyaratan non-functional sebagai sebuah software dapat dijalankan untuk melihat bagaimana perilakunya Harusnya digunakan dalam hubungannya dengan verifikasi statik untuk menyediakan penanganan Verifikasi &Validasi yang menyeluruh
Tipe Pengujian Pengujian Kekurangan – Test dirancang untuk menemukan kekurangan sistem – Uji kekurangan yang berhasil salah satunya adalah menunjukkan keberadaan kekurangan dalam sebuah sistem Pengujian Validasi – Ditujukan untuk memperlihatkan bahwa software sesuai dengan persyaratannya – Tes yang berhasil adalah salahsatu yang menunjukkan bahwa persyaratan telah diterapkan secara tepat
Pengembangan Model Verifikasi
Proses Testing System Testing – Pengujian terhadap integrasi sub-system, yaitu keterhubungan antar sub-system Acceptance Testing – Pengujian terakhir sebelum sistem dipakai oleh user. – Melibatkan pengujian dengan data dari pengguna sistem. – Biasa dikenal sebagai “alpha test” (“beta test” untuk software komersial, dimana pengujian dilakukan oleh potensial customer)
Lanjutan
Lanjutan.. Component testing - Pengujian komponen- komponen program - Biasanya dilakukan oleh component developer (kecuali untuk system kritis) Integration testing - Pengujian kelompok komponen-komponen yang terintegrasi untuk membentuk sub-system ataupun system - Dilakukan oleh tim penguji yang independent - Pengujian berdasarkan spesifikasi sistem
Rencana Pengujian Proses testing - Deskripsi fase-fase utama dalam pengujian Pelacakan Kebutuhan - Semua kebutuhan user diuji secara individu Item yg diuji - Menspesifikasi komponen sistem yang diuji Jadual testing Prosedur Pencatatan Hasil dan Prosedur Kebutuhan akan Hardware dan Software Kendala-kendala - Mis: kekurangan staff, alat, waktu dll.
Soal Latihan Apa manfaat pengujian pada Software? Mengapa dilakukan pengujian Acceptance ? Tahapan apa unit testing cocok dilakukan? Mengapa perlu dilakukan pencatatan pada saat testing? Buatlah suatu Model testing pada software yang dilakukan “Studi Kasus”?