MATA KULIAH:
REKAYASA PERANGKAT LUNAK
MATERI TM 14 Konsep dan Teknik Pemeliharaan Perangkat Lunak Pemeliharaan Pemeliharaan Korektif, Adaptif, Perfektif, Prefentif Prefentif
Di susun oleh: NAMA
: RAHMAT JAENURI
NIM
: 41814120237
Rekayasa Perangkat Lunak
Page 1
MATERI:
Konsep dan Teknik Pemeliharaan Perangkat Lunak Pemeliharaan Korektif, Adaptif, Perfektif, Prefentif
Konsep dasar rekayasa perangkat lunak mempunyai dua hal pokok yaitu perangkat lunak (software) dan komponen perekayasa. Menurut IEEE definisi perangkat lunak (software) merupakan program komputer, prosedur, data dan semua dokumentasi yang berhubungan operasi pada sistem komputer. jadi bisa disimpulkan bahwa software merupakan kumpulan dari object membentuk konfigurasi yang didalamnya termasuk program, dokumen, dan data. Sedangkan Perekayasa software bertugas mengembangkan produk perangkat lunak, yang secara produk dapat dikategorikan menjadi 2 tipe yaitu :
Produk generik : Sistem stand-alone, produk shrink-wrapped
Produk pesanan : Produk custemisasi, terdapat proses interaksi antara pemesan dan pembuat.
Rekayasa perangkat lunak dapat didefinisikan sebagai disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. Rekayasa perangkat lunak tidak hanya berhubungan dengan proses teknis dari pengembangan perangkat lunak tetapi juga mencakup kegiatan manajemen proyek perangkat lunak dan pengembangan alat bantu, metode dan teori untuk mendukung produksi perangkat lunak. Secara umum rekayasa perangkat lunak memakai pendekatan yang sistematis dan terorganisir dengan menggunakan metode tertentu.
Proses dan Metode Perangkat Lunak Proses perangkat lunak merupakan serangkaian kegiatan dan hasil hasil relevannya yang menghasilkan perangkat lunak. Kegiatan ini sebagian besar dilakukan oleh perekayasa perangkat lunak. Terdapat empat kegiatan proses dasar, meliputi : 1. Spesifikasi perangkat lunak. Fungsionalitas
perangkat
lunak
dan
batasan
kemampuan
operasinya
harus
didefinisikan.
Rekayasa Perangkat Lunak
Page 2
2. Pengembangan perangkat lunak. Pengembangan
terhadap
produk
perangkat
lunak
yang
memenuhi
spesifikasi
perangkat lunak. 3. Validasi perangkat lunak. Perangkat lunak harus divalidasi untuk menjamin bahwa perangkau lunak melakukan apa yang diinginkan oleh user. 4. Evolusi rangkat lunak. Perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan yang berubah ubah.
Metode
rekayasa
perangkat
lunak
merupakan
pendekatan
terstruktur
terhadap
pengembangan perangkat lunak yang bertujuan memfasilitasi produksi perangkat lunak kualitas tinggi dengan cara yang efektif dalam hal biaya. Terdapat beberapa metode yang bisa digunakan seperti metode berorientasi fungsi, metode berorientasi objek dan metode pendekatan gabungan yang sekarang lebih dikenal dengan istilah UML (unified modeling language).
PEMELIHARAAN PERANGKAT LUNAK
Rekayasa Perangkat Lunak
Page 3
Istilah pemeliharaan perangkat lunak digunakan untuk menjabarkan aktivitas dari analis sistem (software engineering) yang terjadi pada saat hasil produk perangkat lunak sudah dipergunakan oleh pemakai (user). Biasanya pengembangan produk perangkat lunak memerlukan waktu antara 1 sampai dengan 2 tahun, tetapi pada pase pemeliharaan perangkat lunak menghabiskan 5 sampai dengan 10 tahun. Aktivitas yang terjadi pada pase pemeliharaan antara lain: –
penambahan atau peningkatan atau juga perbaikan untuk produk perangkat lunak
–
adaptasi produk dengan lingkungan mesin yang baru
–
pembetulan permasalahan yang timbul
“ Pemeliharaan sistem berawal begitu sistem baru menjadi operasional dan berakhir masa hidupnya ” Karakteristik perangkat lunak yg mudah dlm pemeliharaan : • Perangkat lunak dikerjakan per modul • Perangkat lunak mempunyai kejelasan • Dokumentasi internal yang baik dan jelas • Dilengkapi dokumen-dokumen pendukung lainnya Seperti:
dokumen spesifikasi kebutuhan perangkat lunak
dokumen rancangan
dokumen rencana pengujian
prinsip pengoperasian
petunjuk pemakaian
Teknik Pemeliharaan perangkat Lunak menurut ISO/IEC 14764 (2006) adalah:
Pemeliharaan Korektif Pemeliharaan perangkat lunak dengan melakukan perbaikan kesalahan yang terjadi pada perangkat lunak
Pemeliharaan Adaptif Pemeliharaan perangkat lunak dengan melakukan penyesuaian fungsi-fungsi yang ada pada perangkat lunak sehingga lebih memudahkan user.
Pemeliharaan Penyempurnaan Pemeliharaan perangkat lunak dengan melakukan pengembangan / peningkatan terhadap perangkat lunak yang telah ada.
Pemeliharaan Preventif Pemeliharaan perangkat lunak dengan perombakan secara total atau melakukan perekayasaan kembali pada perangkat lunak yang ada.
Rekayasa Perangkat Lunak
Page 4
Menurut E. B. Swanson pada bukunya yang terbit pada tahun 1976 kategori pemeliharaan dibagi menjadi corrective, adaptive, dan perfective.
Pemeliharaan tidak dapat dielakkan karena : 1. Kebutuhan sistem biasanya berubah ketika sistem sedang dikembangkan dikarenakan lingkungannya yang berubah. Oleh karena itu sistem yang dikirimkan tidak akan sesuai dengan kebutuhannya. 2. Sistem sangat berhubungan erat dengan lingkungannya. Ketika suatu sistem terpasang pada lingkungan maka sistem tersebut akan mengubah lingkungannya dan karenanya terjadi perubahan kebutuhan sistem. 3. Sistem harus dapat dipelihara jika sistem tetap ingin berguna di lingkungannya.
Alasan kesulitan pemeliharaan perangkat lunak diantaranya adalah: 1. Rendahnya kualitas perangkat lunak yang berjalan (yang sudah ada). 2. Sistem tidak dirancang untuk memperhatikan konsep pemeliharaan. 3. Pemeliharaan bukan merupakan bagian yang dirasakan perlu pada suatu perangkat lunak. Biaya pemeliharaan : 1. Biaya pemeliharaan biasanya lebih besar dari biaya pengembangan yaitu sekitar 2 sampai 100 kali tergantung dari aplikasinya. 2. Dipengaruhi oleh faktor teknikal dan non teknikal. 3. Peningkatan biaya setelah perangkat lunak dipelihara. Kesalahan pada proses pemeliharaan struktur perangkat lunak dapat menyebabkan pemeliharaan kedepan yang lebih sulit. 4. Perangkat lunak yang sudah lama dapat memiliki biaya dukungan yang cukup tinggi (misalnya bahasa pemograman yang lama, compilers dan lain sebagainya).
FAKTOR BIAYA PEMELIHARAAN • Team stability
Biaya pemeliharaan akan berkurang jika yang terlibat dalam proses pemeliharaan adalah staff yang sama dalam beberapa waktu pemeliharaan.
Rekayasa Perangkat Lunak
Page 5
• Contractual responsibility
Pengembang sistem mungkin tidak memiliki tanggung jawab kontrak untuk pemeliharaan sehingga tidak ada keinginan untuk merancang sistem yang nantinya akan dapat berubah. • Staff skills Staff
pemeliharaan sering kali tidak berpengalaman dan memiliki pengetahuan yang terbatas. • Program age and structure
Sesuai dengan usia program, strukturnya akan menua dan akan sulit untuk dimengerti dan diubah.
Siklus Hidup Pemeliharaan Sistem (SMLC) Tahapan SMLC :
Memahami Permintaan Pemeliharaan
Mentransformasi permintaan pemeliharaan menjadi pengubahan
Menspesifikasi perubahan
Mengembangkan perubahan
Menguji perubahan
Melatih pengguna dan melakukan test penerimaan
Pengkonversian dan meluncurkan operasi
Mengupdate Dokumen
Melakukan pemeriksaan Pasca implementasi
Maintainability (Kemampuan pemeliharaan sistem) Prosedur untuk peningkatan maintainability :
Menerapkan SDLC dan SWDLC
Menspesifikasi definisi data standar
Menggunakan bahasa pemrograman standart
Merancang modul-modul yang terstruktur dengan baik
Mempekerjakan modul yang dapat digunakan kembali
Mempersiapkan dokumentasi yang jelas, terbaru dan komprehensif
Menginstall perangkat lunak, dokumentasi dan soal-soal test di dalam sentral repositor sistem CASE atau CMS (change management system)
Rekayasa Perangkat Lunak
Page 6
Tiga pendekatan untuk menyusun Pemeliharaan sistem :
Pendekatan Pemisahan à Pemeliharaan dan Pemeliharaan
Pendekatan Gabungan à Menggabungkan personalia penyusun dan pemelihara menjadi sebuah kelompok utama sistem informasi
Pendekatan Fungsional à Variasi dari pendekatan gabungan dengan memindahkan tenaga profesional sistem dari sistem informasi dan menugasi mereka pada fungsi bisnis untuk penyusunan maupun pemeliharaan.
Ada 5 CASE Tools yang membantu pemeliharaan sistem dari sistem lama dan membantu memecahkan kemacetan timbunan sistem baru yang belum dikerjakan : 1.
Rekayasa Maju (Forward engineering)
2.
Rekayasa Mundur (Reverse engineering)
3.
Rekayasa Ulang (Reengineering)
4.
Restrukturisasi (restrukturing)
5.
Sistem Pakar Pemeliharaan (Maintenance expert system)
Mengelola Pemeliharaan Sistem
Menetapkan Kegiatan Pemeliharaan Sistem
Mengawali dan merekam kegiatan pemeliharaan sistem tidak terjadwal (Form Maintenance Work Order : Pekerjaan yang diperlukan/dilakukan, waktu yang diperkirakan dibandingkan dengan waktu yang sebenarnya, kode pemeliharaan, biaya pemeliharaan)
Menggunakan sistem perangkat lunak helpdesk
Mengevaluasi aktivitas pemeliharaan sistem
Mengoptimalkan program pemeliharaan sistem
Rekayasa Perangkat Lunak
Page 7
Kenapa biaya pemeliharaan lebih tinggi dari pada biaya pengembangan, berikut adalah beberapa
faktor yang menyebabkannya : 1. Biasanya tim pengembang dan tim pemelihara adalah orang yang berbeda karena tim pengembang biasanya sudah lari ke proyek baru sehingga tim pemeliharanya tidak begitu paham atas sistem yang dikembangkan. 2. Tanggung Jawab Kontrak, kontrak bagi pengembang dan pemeliharan kebanyakan terpisah atau diberikan kepada perusahaan yang berbeda dan bahkan bukan pengembang sistem aslinya, akibatnya tidak ada insentif bagi pengembang untuk membuat sistem yang mudah untuk diubah. 3. Keahlian Staff, staff pemelihara kebanyakan tidak berpengalaman dalam hal pemeliharaan software dan staff pemelihara sering diaangap tidak memerlukan keahlian yang mendalam di bidang software. 4. Umur dan Struktur Program, program yang sudah tua biasanya strukturnya sudah terdegradasi oleh perkembangan jaman sehingga sangat sulih dipahami oleh pemelihara. 5. Beberapa permasalahan yang sering muncul dalam pe meliharaan software 6. Kesulitan melakukan pelacakan evolusi software pd versi sebelumnya, 7. Kesulitan pelacakan pada proses pengembangan software, 8. Sulit untuk mengerti program orang lain, 9. Tidak adanya dokumentasi yang baik, 10. Tidak adanya nara sumber, 11. Kebanyakan software dirancang tanpa adanya pemikiran untuk diubah.
Rekayasa Perangkat Lunak
Page 8
Daftar Pustaka 1. Presman, Rouger S, Software Enigineering, 4th Edition, Mc. Graw Hill,1997. 2. Sommerville,Ian, Software Engineering, 7th Edition, Addison Wesley, 2004. 3. Kendall & Kendall, Systems Analysis and Design, 6th Edition, Prentice Hall,2006.
https://fikriearief.wordpress.com/2013/10/25/konsep-dasar-rekayasa-perangkatlunak/
Rekayasa Perangkat Lunak
Page 9