Pengenalan Rekayasa Perangkat Lunak (2)

advertisement
PENGENALAN REKAYASA
PERANGKAT LUNAK (2)
CASE Tools
 CASE : Computer Aided Software
Engineering
 Suatu Peralatan baik HW maupun SW
komputer yang digunakan untuk
menyediakan pendukung otomatis dalam
aktivitas pembangunan PL.
 Tujuan : meningkatkan produktivitas dalam
proses pembangunan PL secara signifikan.
CASE Tools (2)
 CASE dikelompokkan dalam 2 kategori :
 Upper-CASE
 Mendukung aktivitas proses pembangunan tahap
awal (Tahap Analisis kebutuhan dan Desain)
 Lower-CASE
 Mendukung aktivitas pembangunan di tahap akhir
(programming, Debugging dan testing)
CASE Tools (3)
 Penggunaan CASE Tools :
 Graphical Editor : Membuat model sistem
 Data Dictionaries : Mengatur unit-unit proyek
 GUI Builders : Mengkonstruksi antarmuka pemakai
 Debugger : Mencari kesalahan yang mungkin terjadi
 Automated Translators : Pembangkitan source code
program otomatis
 Compilator Integrated : membuat antarmuka, coding,
hingga membentuk aplikasi yang bisa dijalankan
 Instalator kit : membuat instalasi/setup
SOFTWARE DEVELOPMENT LIFE CYCLE
 Proses Generik
 Spesifikasi
 Apa yang harus dilakukan oleh PL &
batasan/kendala pengembangannya
 Pengembangan
 Proses memproduksi sistem PL
 Validasi
 Pengujian PL terhadap keinginan pengguna
 Evolusi
 Perubahan PL berdasarkan perubahan keinginan
Proses Rekayasa PL
 Biasanya spesifikasi tidak lengkap
/menyimpang dari biasanya (anomalous)
 Lebih menghilangkan pembedaan sampai
spesifikasi, desain dan manufaktur
 Tidak dalam bentuk fisik untuk menguji
sistem
 Software tidak bisa wear-out.
 Maintenance bukan berarti mengganti komponen
Berbagai Model Proses PL
 Model Waterfall
 Model Prototyping
 Model Evolutionary
 Model spiral
 Reused Based Development
Model Waterfall
DEFINISI
KEBUTUHAN
SISTEM
RANCANG
SISTEM
IMPLEMENTASI
&
UNIT TESTING
INTEGRASI
&
SYSTEM TESTING
OPERASI
&
PERAWATAN
Model Waterfall (2)
 Definisi Kebutuhan Sistem
 Pembentukan kebutuhan
 Rancang Sistem
 Mengubah kebutuhan menjadi bentiuk karakteristik
yang dimengerti PL
 Implementasi dan Unit Testing
 Penulisan Program
 Integrasi dan Sistem Testing
 Memeriksa Program, mencari kesalahan
 Operasi dan Perawatan
 Pemeliharaan sistem, menambahkan fungsi
Problem Model Waterfall
 Jarang sekali proyek yang prosesnya bisa
dilakukan secara sequential
 Sukar bagi customer untuk secara eksplisist
mengemukakan semua kebutuhannya.
 Customer harus sabar
 Developer sering menunda pekerjaan.
Anggota tim harus menunggu anggota
lainnya menyelesaikan tugasya.
Model Prototyping
 Sering terjadi customer menjabarkan objektif
umum mengenai software yang diminta
tetapi tidak bisa mendefinisikan input,proses,
output yang diminta secara detail
 Disisi lain developer menjadi tidak yakin
terhadap efisiensi algoritma, kemampuan
adaptasi terhadap sistem operasi atau bentuk
interaksi mesin dengan orang.
 Untuk mengatasi situasi tersebut, bisa
digunakan pendekatan Prototype Paradigm
Tahapan Prototyping
 Pengumpulan kebutuhan dan Perbaikan





(Awal)
Quick Design
Pembentukan Prototype
Evaluasi Pelanggan
Perbaikan Prototype
Produk SW (Akhir)
Iterasi
( Pengulangan)
 Prototype Paradigm dimulai dengan
mengumpulkan kebutuhan-kebutuhan customer.
 Developer dan customer bertemu dan
mendefinisikan obyektif software secara
menyeluruh, mengidentifikasi kebutuhankebutuhan yang diketahui dari area pekerjaan.
 Setelah itu dibuat Quick Design.
 Quick Design difokuskan pada representasi aspek
software yang bisa dilihat customer/user (misal:
format input dan output).
 Quick Design cenderung ke pembuatan prototipe.
Prototipe dievaluasi customer/user dan
digunakan untuk menyempurnakan kebutuhan
software yang akan dikembangkan.
Macam Model Prototyping
EVOLUTIONARY
DIMULAI DARI MODEL
DIKEMBANGKAN
AKHIRNYA DIMANFAATKAN
THROWAWAY
HANYA DIBUAT SEBAGAI MODEL
UNTUK MENCARI BENTUK YANG
DIINGINKAN (CETAK BIRU)
 MACAM
EVOLUTIONARY
PROTOTYPE
TENTUKAN
KEBUTUHAN
BUAT
PROTOTIPE
EVALUASI
SESUAI
GUNAKAN
PROTOTIPE
TIDAK SESUAI
THROWAWAY
PROTOTYPE
PROGRAM
SISTEM
TENTUKAN
KEBUTUHAN
UJI
SISTEM
BUAT
PROTOTIPE
EVALUASI
TIDAK
SESUAI
SESUAI
TIDAK
SESUAI
EVALUASI
SESUAI
GUNAKAN
SISTEM
Problems Prototyping Model
 Customer melihat prototipe tersebut sebagai versi dari software.
Pada saat produk tersebut harus dibangun ulang supaya level
kualitas bisa terjamin,
Customer akan mengeluh dan meminta sedikit perubahan saja
supaya prototipe tersebut bisa berjalan.
 Development membuat implemetasi yang kompromitas dengan
tujuan untuk memperoleh prototipe pekerjaan secara cepat.
Dampaknya adalah sistem operasi atau bahasa pemrograman
yang dipergunakan tidak tepat, algoritma tidak efisien.
Evolutionary Model
Evolutionary Model (2)
Evolutionary Model (3)
Component Assembly
Reuse Based
Software Re-engineering
Apakah itu?
- Restrukturisasi atau menulis ulang sebagian atau keseluruhan dari sistem yang telah ada
tanpa merubah fungsionalitasnya.
Kapan?
- Ketika sebagian tetapi tidak semua sub sistem yg besar membutuhkan perawatan yg
sering
- Ketika HW dan SW sudah lama hampir tak berfungsi
Bagaimana?
- Sistem bisa di restrukturisasi dan didokumentasi ulang untuk membuat menjadi mudah
dalam perawatan
Mengapa?
- Mengurangi resiko
SW yang baru dibangun membawa resiko yg tinggi
- Mengurangi biaya
Biaya untuk re-engineering sering lebih kecil dibanding membangun SW baru.
Reverse engineering
 Analisis SW kembali dalam tahap
pemahaman dalam desain dan spesifikasinya
 Bisa sebagian proses re-engineering atau
sebagian sistem diimplementasi ulang
 Membangun database dan bangkitkan
program informasi dari proses ini
Reverse Engineering (2)
 Mengapa ?
 Kode aslinya telah dalam keterbatasan dimana
sudah terlalu lama misal kebutuhan memori,
kinerja, dll
 Perawatan terbentur pada struktur dan program
yang rusak sehingga membutuhkan kerja yang
sangat keras.
 Program secara otomatis distrukturisasi ulang
untuk menghilangkan beberapa bagian yang
tidak beres dalam kondisi yang sangat kompleks.
TAMAT
Download