• Tidak ada hasil yang ditemukan

Perencanaan Pemeliharaan Perangkat Lunak

Dalam dokumen Rekayasa Perangkat Lunak poltektelkom (Halaman 155-162)

Perencanaan pemeliharaan perangkat lunak sangat erat kaitannya dengan bagaimana memperkirakan perubahan-perubahan sistem yang mungkin terjadi dan bagian-bagian mana dari sistem yang kemungkinan sulit untuk dipelihara. Selain itu, harus memperkirakan biaya pemeliharaan untuk jangka waktu tertentu. Perkiraan-perkiraan berikut sangat terkait satu sama lain:

Apakah perubahan sistem harus diterima tergantung dari maintainabilitas dari komponen sistem yang dipengaruhi oleh perubahan tersebut Mengimplementasikan perubahan sistem akan mendegradasikan struktur sistem dan akan mengurangi nilai maintainabilitas dari sistem

Biaya pemeliharaan tergantung pada jumlah perubahan dan biaya terhadap perubahan sistem bergantung dari maintainabilitas komponen sistem

Memperkirakan jumlah permintaan perubahan membutuhkan pemahaman tentang hubungan antara sistem dengan lingkungan eksternalnya. Beberapa sistem memiliki hubungan yang sangat kompleks dengan lingkungan eksternalnya dan perubahan pada lingkungan tersebut akan menyebabkan perubahan pada sistem. Untuk menentukan hubungan antara sistem dengan lingkungan eksternalnya, ada beberapa faktor yang perlu dinilai antara lain:

Jumlah dan kompleksitas antarmuka. Semakin besar jumlah antarmuka dan semakin kompleks antarmuak tersebut, akan semakin tinggi permintaan perubahan yang muncul

Jumlah kebutuhan sistem yang berubah-ubah. Kebutuhan yang mencerminkan prosedur atau kebijakan organisasional sangat mudah berubah dibandingkan dengan kebutuhan yang berasal dari domain yang karakteristiknya stabil

Proses bisnis dari sistem. Seiring dengan perubahan proses bisnis akan menghasilkan permintaan-permintaan untuk perubahan sistem. Semakin banyak bisnis proses yang menggunakan sistem, semakin banyak permintaan perubahan terhadap sistem

Untuk memperkirakan maintainabilitas sistem, harus dipahami mengenai jumlah dan tipe dari hubungan antar komponen sistem dan juga kompleksitas dari komponen-komponen tersebut. Pengukuran kompleksitas tersebut sangat berguna untuk menentukan komponen program yang sangat sulit untuk dipelihara.

Selain itu untuk menentukan maintainabilitas sistem, dapat menggunakan beberapa metrik berikut:

Jumlah permintaan pemeliharaan korektif. Peningkatan jumlah laporan kerusakan dapat mengindikasikan semakin banyak kesalahan yang muncul pada program dibandingkan dengan yang diperbaiki selama proses pemeliharaan. Ini dapat menunjukkan penurunan nilai maintainabilitas

Rata-rata waktu yang dibutuhkan untuk analisis akibat. Hal ini mencerminkan jumlah komponen program yang terpengaruh oleh permintaan perubahan. Jika waktu ini meningkat, akan mengakibatkan semakin banyak komponen yang terpengaruh perubahan dan nilai maintainabilitas menurun

Rata-rata waktu yang dipakai untuk mengimplementasikan perubahan sistem. Ini adalah waktu yang dibutuhkan untuk memodifikasi sistem dan dokumentasinya setelah menentukan komponen mana saja yang terpengaruh oleh perubahan. Peningkatan waktu yang dibutuhkan untuk mengimplementasikan perubahan sistem mengindikasikan penurunan nilai maintainabilitas

Jumlah permintaan perubahan yang drastis. Peningkatan nilai ini dapat berakibat kepada penurunan nilai maintainabilitas

Perkiraan tentang permintaan-permintaan perubahan sistem dan maintainabilitas sistem dapat digunakan untuk memprediksi biaya pemeliharaan. Model COCOMO 2 menyatakan bahwa perkiraan besar usaha untuk pemeliharaan dapat dilihat dari besar usaha untuk memahami kode program yang ada pada sistem dan besar usaha untuk mengembangkan kode program yang baru.

Rangkuman

Pemeliharan adalah aktivitas keseluruhan yang dilakukan untuk menyediakan dukungan yang murah dan efektif terhadap sistem perangkat lunak

Aktivitas pemeliharaan dapat berupa pre-delivery dan post-delivery Kategori pemeliharaan perangkat lunak:

Pemeliharaan korektif Pemeliharaan adaptif Pemeliharaan perfektif Pemeliharaan emergensi

Pemeliharaan perangkat lunak merupakan kegiatan yang membutuhkan biaya tinggi karena beberapa faktor antara lain stabilitas sistem, tanggung jawab kontraktual, keahlian staf, serta usia dan struktur program

Tiga model pemeliharaan perangkat lunak yakni Quick-Fix Model, Iterative Enhancement Model, dan Full-Reuse Model

Proses Pemeliharaan Versi IEEE-1219 dibagi menjadi tujuh fase, yakni:

1. Identifikasi, klasifikasi, dan penentuan prioritas modifikasi 2. Analisis 3. Perancangan 4. Implementasi 5. Regression/system testing 6. Acceptance testing 7. Delivery

Proses Pemeliharaan Versi ISO-1220 membagi aktivitas pemeliharaan ini menjadi beberapa aktivitas yakni:

1. Implementasi Proses

2. Analisis Masalah dan Modifikasi 3. Implementasi Modifikasi

4. Penerimaan/Pengkajian Pemeliharaan 5. Migrasi

Tiga tipe struktur organisasi pemeliharaan perangkat lunak yaitu model fungsional, model proyek, dan model matriks

Merencanakan pemeliharaan perangkat lunak membutuhkan perkiraan akan jumlah permintaan perubahan sistem dan juga perkiraan nilai maintainabilitas yang dapat digunakan untuk memperkirakan besar biaya pemeliharaan

Latihan

1. Jelaskan definisi dari pemeliharaan perangkat lunak versi Pigoski! 2. Sebutkan dan jelaskan aktivitas pemeliharaan yang bersifat pre-

delivery dan post-delivery!

3. Sebutkan dan jelaskan kategori pemeliharaan perangkat lunak versi IEEE!

4. Sebutkan dan jelaskan faktor-faktor yang menyebabkan proses pemeliharaan perangkat lunak menjadi sangat mahal!

5. Jelaskan persamaan dan perbedaan antara model pemeliharaan Iterative-Enhancement dan Full-Reuse!

6. Jelaskan perbedaan antara model organisasi pemeliharaan fungsional dan proyek!

9 Object Oriented Concepts and Priciples

Overview

Saat ini piranti lunak semakin luas dan besar lingkupnya, sehingga tidak bisa lagi dibuat asal-asalan. Piranti lunak saat ini seharusnya dirancang dengan memperhatikan hal-hal seperti scalability, security, dan eksekusi yang robust walaupun dalam kondisi yang sulit. Selain itu arsitekturnya harus didefinisikan dengan jelas, agar bug mudah ditemukan dan diperbaiki, bahkan oleh orang lain selain programmer aslinya. Keuntungan lain dari perencanaan arsitektur yang matang adalah dimungkinkannya penggunaan kembali modul atau komponen untuk aplikasi piranti lunak lain yang membutuhkan fungsionalitas yang sama.

Pemodelan (modeling) adalah proses merancang piranti lunak sebelum melakukan pengkodean (coding). Model piranti lunak dapat dianalogikan seperti pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah sistem yang kompleks sangatlah penting karena kita tidak dapat memahami sistem semacam itu secara menyeluruh. Semakin komplek sebuah sistem, semakin penting pula penggunaan teknik pemodelan yang baik. Dengan menggunakan model, diharapkan pengembangan piranti lunak dapat memenuhi semua kebutuhan pengguna dengan lengkap dan tepat, termasuk faktor-faktor seperti scalability, robustness, security, dan sebagainya.

Kesuksesan suatu pemodelan piranti lunak ditentukan oleh tiga unsur, yang kemudian terkenal dengan sebuan segitiga sukses (the triangle for success). Ketiga unsur tersebut adalah metode pemodelan (notation), proses (process) dan tool yang digunakan.

Tujuan

1. Siswa memiliki pemahaman yang baik mengenai segala sesuatu yang berkenaan dengan paradigma rekayasa perangkat lunak

berorientasi object termasuk didalamnya konsep pembungkusan (encapsulation), pewarisan (inheritance), dan sebagainya.

2. Siswa mengetahui penggunaan paradigma rekayasa perangkat lunak berorientasi objek dalam tahapan analisis dan perancangan

perangkat lunak.

3. Membedakan perancangan perangkat lunak berdasarkan rekayasa perangkat lunak prosedural dengan perancangan berdasarkan rekayasa perangkat lunak objek.

4. Siswa mengenal keunggulan paradigma rekayasa perangkatlunak berorientasi objek.

5. Siswa mengenal metodologi dalam rekayasa perangkat lunak berorientasi objek.

Dalam dokumen Rekayasa Perangkat Lunak poltektelkom (Halaman 155-162)

Dokumen terkait