Pengembangan Perangkat Lunak
Pengembangan perangkat lunak (Software Development) merupakan salah satu dari tahap rancangan system rinci/detail dari Siklus Hidup Pengembangan Sistem (System Development Life Cycle).
SWDLC (Software Development Life Cycle) :
1. Desaign
2. Coding
3. Testing
Definisi Test Case
Test case merupakan suatu tes yang dilakukan berdasarkan pada suatu inisialisasi, masukan, kondisi atupun hasil yang telah ditentukan sebelumnya.
Kegunaan dari test case adalah :
1. Untuk melakukan testing kesesuaian suatu komponen terhadap spesifikasi (Black Box Testing).
2. Untuk melakukan testing kesesuaian suatu komponen terhadap desain (White Box Testing).
Testing/Pengujian
Proses menguji coba suatu produk untuk
melihat apakah ada kesalahan yang terjadi.
Proses eksekusi suatu program dengan
maksud menemukan kesalahan.
Level Testing berhubungan dengan fase
SDLC . Aktivitas Testing berjalan seiring
fase SDLC
Pengujian Perangkat Lunak
Elemen kritis dari jaminan kualitas
perangkat lunak dan merepresentasikan
kajian pokok dari spesifikasi, desain dan
pengkodean.
Unit Testing
Komponen-komponen diuji secara
individual.
Pengujian terhadap kode program dan
algoritma.
Sub-System Testing
Pengujian modul yang diintegrasikan
kedalam satu sub-sistem.
Fokus ada pada pengujian antar-muka.
System Testing
Pengujian terhadap integrasi sub-system
yaitu keterhubungan antara sub-system.
Pengujian sistem secara keseluruhan.
Pengujian terhadap adanya bagian yang
urgent.
Acceptance Testing
Pengujian terakhir sebelum sistem dipakai
oleh user.
Pengujian penerimaan pengguna terhadap
perangkat lunak tersebut.
Validasi terhadap kebutuhan pengguna.
White Box Testing
Disebut juga glass box testing atau clear box testing adalah suatu metode desain test case yang menggunakan struktur kendali dari desain prosedural.
Pengujian digunakan untuk mengetahui carakerja suatu perangkat lunak secara internal.
Pengujian dilakukan untuk menjamin operasi-operasi internal sesuai dengan spesifikasiyang telah ditetapkan dengan menggunakanstruktur kendali dari prosedur yang dirancang.
Black Box Testing
Pengujian digunakan untuk menguji fungsi-fungsi khusus dari perangkat lunak yang dirancang.
Kebenaran perangkat lunak yang diuji hanyadilihat berdasarkan keluaran yang dihasilkandari data atau kondisi masukan yang diberikan untuk fungsi yang ada tanpamelihat bagaimana proses untukmendapatkan keluaran tersebut.
Dari keluaran yang dihasilkan, kemampuanprogram dalam memenuhi kebutuhanpemakai dapat diukur sekaligus dapatdiiketahui kesalahan-kesalahannya.
Implementasi Sistem
Tahap akhir dalam siklus pengembangan
sistem.
Melibatkan pengintegrasian semua
komponen rancangan sistem, termasuk
perangkat lunak, pengkonversian sistem
total ke operasi.
Proses implementasi adalah :
1. Perencanaan
2. Pengeksekusian
Team Implementasi
Profesional sistem yang merancang sistem
Para manajer dan beberapa staff
Perwakilan Vendor
Pemakai Primer
Pengcode
Teknisi
Implementasi Sistem-Instalasi
Mengkonversi sistem baru adalah proses pengubahan dari sistem lama ke sistem baru.
Instalansi dijalankan setelah dilakukan pengembangan aplikasi dan di uji coba, maka sistem akan dioperasikan.
Metode :
1. Konversi/Instalasi Langsung
2. Konversi/Instalasi Paralel/Bersamaan
3. Konversi/Instalasi Phase-in/Bertahap
4. Konversi/Instalasi Pilot
Konversi/Instalasi Langsung
Sistem baru tidak mengganti sistem lama.
Sistem lama sepenuhnya tidak bernilai.
Sistem baru bersifat kecil/sederhana.
Rancangan sistem baru sangat berbeda
dari sistem lama.
Konversi/Instalasi Paralel/Bersamaan
Memberikan derajat proteksi yang tinggi
dari kegagalan sistem baru.
Biaya yang dibutuhkan cukup besar.
Konversi/Instalasi Phase-in/Bertahap
Sistem baru diimplementasi beberapa kali,
sedikit demi sedikit untuk menggantikan sistem
yang lama.
Perlu biaya tambahan untuk mengembangkan
interface temporer dengan sistem lama.
Daya terapnya terbatas, proses implementasi
membutuhkan waktu yang panjang.
Konversi/Instalasi Pilot
Resiko lebih rendah dibandingkan metode
konversi langsung.
Biaya lebih rendah dibandingkan metode
konversi paralel.
Cocok digunakan apabila adanya
perubahan prosedure, hardware dan
software.
Implementasi Sistem-Dokumentasi
Dokumentasi adalah materi tertulis/video/audio yang menjabarkan cara beroperasinya sebuah sistem (termasuk pokok bahasan yang harus dikuasai oleh pemakai).
Tujuan dokumentasi :
1. Pelatihan
2. Penginstruksian
3. Pengkomunikasian
4. Penetapan standart kinerja
5. Pemeliharaan sistem
6. Referensi historis
Implementasi Sistem-Dokumentasi
Empat area utama dokumentasi adalah :
1. Dokumentasi Pemakai/User
2. Dokumentasi Sistem
3. Dokumentasi Perangkat Lunak
4. Dokumentasi Operasi
Dokumentasi User
Mendeskripsikan bagaimana cara berinteraksi dan memelihara sistem.
Digunakan oleh end user dan operator sistem.
Mengklasifikasikan pemakai, merancang dokumentasi online untuk pemakai seperti tutorial, manual referensi online, shortcut.
Dokumentasi Sistem
Gambaran mengenai fungsi sistem, arsitektur dan detail konstruksi sistem.
Digunakan oleh personel untuk maintenance dan developer pengembangan sistem yang akan datang.
Dibuat sebagai produk pengembangan sistem◦ Mencakup source code
◦ Mencakup analisa dan perancangan model
Kesalahan dalam membuat dokumentasi sistem akan bermasalah ke nilai dari sistem itu sendiri.
Dokumentasi Perangkat Lunak
Dokumentasi Internal
Dokumentasi yang digabungkan ke dalam
coding.
Dokumentasi Eksternal
Dokumentasi dalam bentuk manual,
menggunakan form yang berbasis kertas
dan diisikan secara manual.
Dokumentasi Operasi
Dokumentasi yang dibuat dalam bentuk Run Manual, seperti informasi tentang :
1. Instruksi khusus yang dihentikan secara abnormal oleh program.
2. Pengontrolan.
3. Pesan program dan tindakan operator yang diperlukan.
4. Waktu pemerosesan yang diharapkan.
5. Instruksi yang digunakan untuk menyesuaikan form pada printer.
6. Perangkat hardware yang diperlukan.
Pengertian Pemeliharaan Sistem
Pemeliharaan sistem digunakan untuk
menjabarkan aktivitas dari analis sistem
(software engineering) yang terjadi pada
saat hasil produk perangkat lunak sudah
dipergunakan oleh pemakai (user).
Pengertian Pemeliharaan Sistem
Pemeliharaan sistem berawal begitu
sistem baru menjadi operasional dan
berakhir masa hidupnya.
Jenis pemeliharaan sistem :
1. Pemeliharaan Korektif
2. Pemeliharaan Adaptif
3. Pemeliharaan Penyempurnaan/Perfektif
4. Pemeliharaan Preventif
Alasan Pemeliharaan Sistem
Adanya kesalahan yang dulunya mungkin belum terdeteksi, sehingga perlu perbaikan pada kesalahan-kesalahan pada sistem tersebut.
Adanya perubahan dari sistem, karena permintaan pengguna.
Adanya perubahan proses bisnis (pengaruh luar).
Sistem yang digunakan perlu ditingkatkan perfomanya.
Pemeliharaan Korektif Pemeliharaan perangkat lunak dengan melakukan
perbaikan kesalahan yang terjadi pada perangkat
lunak.
Bagian dari pemeliharaan sistem yang nilainya tidak
terlalu tinggi serta lebih memberatkan, dikarenakan
pemeriksaan korektif ini mengkoreksi kesalahan
yang telah ditemukan pada saat sistem berjalan.
Bisanya pemeliharaan ini melingkupi kondisi
penting/bahaya yang memerlukan penanganan
secepatnya.
Dilakukan untuk memperbaiki dan meningkatkan
kondisi fasilitas/peralatan sehingga mencapai standar
yang dapat diterima.
Pemeliharaan Adaptif
Pemeliharaan perangkat lunak dengan melakukan penyesuaian fungsi-fungsi yang ada pada perangkat lunak sehingga lebih memudahkan user.
Cara penyesuaian diri sistem karena perubahan dalam lingkungan data/pemrosesan serta untuk memenuhi persyaratan pemakai baru.
Misalnya : Sebuah undang - undang perpajakan yang baru mungkin memerlukan suatu perubahan dalam perhitungan pembayarannya.
Pemeliharaan
Penyempurnaan/Prefektif Pemeliharaan perangkat lunak dengan melakukan
pengembangan/peningkatan terhadap perangkat lunak yang telah ada.
Meninggikan kinerja/maintainability sistem (kemampuan) untuk dipelihara.
Pada pemeliharaan ini Memungkinkan sebuah sistem untuk melakukan pemenuhan persyaratan pemakai yang sebelumnya tidak di kenali.
Contoh : kegiatan menyusun ulang software, penulisan ulang dokumen, perubahan format laporan.
Pemeliharaan Preventif
Pemeliharaan perangkat lunak dengan perombakan secara total atau melakukan perekayasaan kembali pada perangkat lunak yang ada.
Dikarenakan penemuan kesalahan yang potenial (bukan kesalahan fatal) sehingga bila tidak diantisipasi akan berakibat buruk pada sistem tersebut.
Metode pemeliharaan untuk melakukan perbaikan dan penggantian part secara berkala berdasarkan waktu atau penggunaan.
Metode ini digunakan pada kasus dimana siklus perawatan pencegahan mudah ditentukan dan tidak banyak bervariasi, serta kasus dimana lebih menguntungkan jika penggantian part dilakukan secara berkala tanpa melakukan inspeksi.
Siklus Hidup Pemeliharaan Sistem
(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 pemerikasaan pasca implementasi.
Prosedure Pemeliharaan Sistem
System maintainability (kemampuan
pemeliharaan system) adalah kapasitas personil
pemeliharaan untuk melakukan pemeliharaan
korektif, adaptif, prefektif, dan preventif.
Maintainabilitas (maintainability) system
bertambah jika sistemnya dirancang agar mudah
diubah.
Prosedure Peningkatan
Maintanability 1. Menerapkan SDLC (system development life cycle)
dan SWDLC (software development life cycle).
2. Menspesifikasi definisi data standar.
3. Menggunakan bahasa pemrograman standar.
4. Merancangan modul-modul yang terstruktur dengan baik (Rancangan moduler).
5. Mempekerjakan modul yang dapat digunakan kembali.
6. Mempersiapkan dokumentasi standar yang jelas, terbaru dan komprehensif.
7. Menginstall perangkat lunak, dokumentasi dan soal-soal test di dalam sentral repositor sistem CASE atau CMS (Control sentral).
Alat Pemeliharaan Sistem
CASE Tools yang digunakan untuk membantu pemeliharaan sistem dari sistem lama ke dalam sistem baru adalah :
1. Rekayasa Maju (Forward Engineering)
2. Rekayasa Mundur (Reverse Engineering)
3. Rekayasa Ulang (Reengineering)
4. Restrukturisasi (Restrukturing)
5. Sistem Pakar Pemeliharaan (Maintenace Expert System)
Rekayasa Maju (Forward
Engineering) Proses tradisional perpindahan dari logika
dan abstraksi tingkat tinggi, perancangan
implementasi yang independen untuk
implementasi fisik dari sistem.
Foward engineering mengikuti urutan
kebutuhan melalui perancangan
implementasinya.
Rekayasa Mundur (Reverse
Engineering) Proses menganalisa suatu sistem untuk
mengidentifikasi elemen-elemen sistem dan antar hubungannya berdasarkan sistem yang ada, serta untuk menciptakan dokumentasi dalam tingkat abstraksi yang lebih tinggi dari sekarang.
Untuk mendapatkan gambaran proses pengembangan sistem dari awalnya. Tidak mengubah fungsionalitas sistem yang ada.
Diterapkan untuk sistem yang tidak ada dokumentasinya.
Rekayasa Mundur (Reverse
Engineering)
Sury adi M.T
Fase
Perencanaan
Fase
Analisis
Fase
Disain
Fase
Implementasi
Rekayasa Ulang (Reengineering)
Analisis yang bersifat menyeluruh & lengkap dari proses bisnis dan sistem informasi guna mencapai peningkatan kinerja secara dramatis.
Rekayasa ulang merupakan proses revolusioner yang berupaya melonggarkan praktek-praktek tradisional yang terlalu kaku.
Rancang ulang lengkap suatu sistem dengan tujuan mengubah fungsionalitasnya berdasarkan sistem yang ada.
Rekayasa Ulang (Reengineering) Pengetahuan mengenai sistem yang sedang
berjalan tidak diabaikan sama sekali
(proses rekayasa mundur).
Sistem baru dikembangkan secara normal
(proses rekayasa maju).Sury adi M.T
Fase
Perencanaan
Fase
Analisis
Fase
Disain
Fase
Implementasi
Restrukturisasi (Restrukturing)
Transformasi suatu sistem menjadi sistem
baru/bentuk lain tanpa mengubah
fungsionalitasnya.
Sistem/program tidak terstruktur menjadi
terstruktur. Sury adi M.T
Fase
Perencanaan
Fase
Analisis
Fase
Disain
Fase
Implementasi