SDLC (Software Development Life Cycle) berarti sebuah siklus hidup pemngembangan perangkat lunak yang terdiri dari beberapa tahapan-tahapan yang sangat penting dalam keberadaan perangkat lunak yang dilihat dari segi pengembangannya.
Tahapan SDLC
SDLC terdiri dari beberapa tahapan-tahapan berdasarkan analisa kebutuhan yang ada . Dimulai dari analisa kebutuhan perangkat lunak akan dibuat terlebih dahulu desain dari kebutuhan tersebut untuk mempermudah dalam pengerjaannya. Kemudian segala kebutuhan tersebut di implementasikan dengan dua tahap yaitu tahap analisa dan tahap evaluasi (User Acceptance Test). Setelah melakukan implementasi, maka proses tersebut akan dikembalikan kembali ke dalam tahap desain untuk pengembangan kembali perangkat lunak ke versi yang terbaru.
Proses Tahapan SDLC yang paling sering digunakan adalah :
1. Perencanaan:
Mempelajari konsep sistem dan permasalahan yang hendak diselesaikan. apakah sistem baru tersebut realistis dalam masalah pembiayaan, waktu, serta perbedaan dengan sistem yang ada sekarang.
2. Analisis Sistem:
Menganalisis konsep sistem, permasalahan dan keperluan yang hendak dibuat.
Desain :
Mendesain sistem teknologi baru untuk permasalahan yang sama.
4 Konstruksi :
Perbaikan terhadap produk yang memiliki kesalahan/kerusakan
5 Implementasi
software yang telah diuji dan siap diimplementasikan kedalam sistem pengguna/ sudah siap diterapkan.
6 Maintenance:
sistem yang telah diimplemantasikan serta dapat mengikuti perkembangan dan perubahan apapun yang terjadi guna meraih tujuan penggunaannya
Kegunaan SDLC
Adapun kegunaan utama dari SDLC adalah mengakomodasi beberapa kebutuhan. Kebutuhan-kebutuhan itu biasanya berasal dari kebutuhan pengguna akhir dan juga pengadaan perbaikan sejumlah masalah yang terkait dengan pengembangan perangkat lunak. Kesemua itu dirangkum pada proses SDLC yang dapat berupa penambahan fitur baru (baca : kemampuan penggunaan) baik itu secara modular (baca : instalasi parsial atau update dan upgrade perangkat lunak) maupun dengan proses instalasi baru (baca : penggantian perangkat lunak menyeluruh atau software replacement). Dari proses SDLC juga berapa lama umur sebuah perangkat lunak dapat diperkirakan untuk dipergunakan yang dapat diukur atau disesuaikan dengan kebijakan dukungan (baca : software support) dari pengembang perangkat lunak terkait.
Implementasi SDLC
Secara sederhana proses implementasi SDLC dapat dilihat dari penamaan sebuah perangkat lunak - sebagai contoh berikut :
Sebuah aplikasi contoh “ABCDE” versi 1.0 {alpha|beta|STABLE|i386|x64}, dapat diartikan bahwa aplikasi contoh “ABCDE” tersebut dipublikasikan dalam tahap awal yang ditandai dengan label versi 1.0 atau biasanya disingkat dengan huruf v1.0. Bila dikemudian waktu label versi menjadi versi 1.2 atau v1.2 maka hal tersebut menandakan bahwa perangkat lunak tersebut telah mengalami revisi (baca : perbaikan) dari versi sebelumnya.
Penambahan akhiran {alpha|beta|STABLE} menunjukkan status pengembangan perangkat lunak tersebut - dimana yang berakhiran alpha menandakan bahwa perangkat lunak tersebut masih dalam pengembangan dalam tahap yang paling awal sehingga kemungkinan akan adanya kesalahan operasional dari perangkat lunak tersebut (baca : software error) masih akan sering dirasakan, dan masih layak di-uji-coba secara terbatas dalam laboratorium. Yang berakhiran beta menandakan bahwa sebuah perangkat lunak tersebut telah siap dipublikasikan dalam lingkup percobaan pada pengguna akhir sembari pengembang menerima masukan evaluasi dari pengguna secara langsung. Penandaan STABLE menunjukkan bahwa sebuah perangkat lunak telah lulus uji coba laboratorium secara baik dan layak untuk dipergunakan di-lingkungan produksi atau pengguna umum.
Penambahan akhiran {i386|x64|smp|sparc|ppc} menunjukkan dalam lingkungan komputasi berbasis prosesor apa sebuah perangkat lunak di-kembangkan dan untuk di-operasikan (baca : di-install). i386 menunjukkan bahwa sebuah perangkat lunak dikembangkan dan di-operasikan untuk lingkungan komputasi berbasis prosesor sekelas Intel 32-bit. x64 berarti dikembangkan untuk kelas prosesor Intel 64-bit. smp berarti perangkat lunak tersebut dapat digunakan untuk oleh komputer CPU berprosesor dua atau lebih. sparc menunjukkan bahwa perangkat lunak dikembangkan khusus untuk komputer berbasis prosesor SUN SPARC, ppc khusus untuk komputer berbasis CPU PowerPC atau PPC.
Kebutuhan SDLC
Penerapan SDLC yang baik dan benar pada prinsipnya juga membutuhkan biaya baik itu finansial dan non-finansial, baik itu teknis maupun non-teknis yang tidak sedikit. Kesemua hal tersebut wajib diperhitungkan secara cermat agar proses pengembangan perangkat lunak itu sendiri (yang menjadi inti utama dari SDLC) tidak terhambat atau bahkan terbengkalai.
Limitasi SDLC
Kadangkala, perkembangan dan penggunaan teknologi antara perangkat keras dan perangkat lunak, dan sesama perangkat lunak tidak sejalan (baca : lebih cepat atau lebih lambat antara satu dengan lainnya, antara mendukung dan tidak mendukung satu dengan lainnya) - sehingga terkadang hasil proses SDLC yang membutuhkan aplikasi pendukung lainnya (baca : software dependencies) maupun perangkat keras (baca : hardware) yang benar-benar mendukung (baca : perangkat keras baru) agak kesulitan dalam proses penyesuaian (baca : serapan) sehingga dapat menyebabkan proses implementasi SDLC “terkesan” stagnan.
SDLC adalah metodologi umum dalam siklus pengembangan sistem, dan merupakan penyusunan suatu sistem yang baru untuk menggantikan sistem yang lama dengan atau memperbaiki sistem yang sudah ada.
SDLC meliputi fase-fase sebagai berikut :
1. Identifikasi dan seleksi proyek
2. Perencanaan Proyek
3. Analisis
4. Desain
5. Implementasi
6. Pemeliharaan
Dalam perkembangannya SDLC dilengkapi oleh berbagai teknik pengembangan
sistem, yaitu:
Prototyping
prototyping adalah proses pembuatan model sederhana untuk software final yang mengijinkan pengguna memiliki gambaran dasar tentang program serta melakukan pengujian awal. Jenis-jenis teknik prototyping adalah:
(a) Trowaway Prototyping.
(b) Evolutionary Prototyping.
(c) Incremental Prototyping.
- Keuntungan menggunakan teknik prototyping:
(a) Mengurangi waktu dan biaya.
(b) Meningkatkan keterlibatan pengguna.
(c) Mengurangi kesalahpahaman dan kesalahan interpretasi dengan pengguna.
- Kelemahan menggunakan teknik prototyping:
(a) Analisis kurang.
(b) Biaya untuk membuat prototyping cukup tinggi.
Waterfall
- Keuntungan menggunakan teknik waterfall:
(a) Proses menjadi teratur
(b) Estimasi proses menjadi lebih baik
(c) Jadwal menjadi lebih menentu
- Kelemahan menggunakan teknik waterfall:
(a) Sifatnya kaku, sehingga susah melakukan perubahan di tengah proses
(b) Membutuhkan daftar kebutuhan yang lengkap di awal, tapi jarang konsumen
bisa memberikan kebutuhan secara lengkap diawal
Spiral
Teknik spiral mencoba menggabungkan model prototyping dan waterfall. Biasa digunakan untuk proyek besar yang mahal dan rumit. Digunakan oleh militer Amerika untuk mengembangkan program Future Combat Systems.
- Keuntungan menggunakan teknik spiral:
(a) Pengguna dan developer bisa memahami dengan baik software yang
dibangun karena progress dapat diamati dengan baik.
(b) Estimasi menjadi lebih realistik seiring berjalannya proyek karena masalah
ditemukan sesegera mungkin.
(c) Lebih mampu menangani perubahan yang sering terjadi pada software
development.
(d) Software engineers bisa bekerja lebih cepat pada proyek.
- Kelemahan menggunakan teknik spiral:
(a) Membutuhkan waktu yang lama.
(b) Membutuhkan dana yang besar.
(c) Membutuhkan planning jangka panjang yang baik agar program bisa selesai
dengan baik.
V Model
Teknik V model sering disebut sebagai pengembangan dari teknik waterfall. V untuk verifikasi dan validasi dan merupakan model standar yang banyak dipakai di negara-negara Eropa seperti standar untuk proyek pertahanan dan administrasi federal di Jerman.
-Keuntungan menggunakan teknik V model:
(a) Merupakan model pengembangan terstruktur.
(b) Setiap fase dapat diimplementasikan dengan dokumentasi yang detail dari fase
sebelumnya.
(c) Aktivitas pengujian dapat dimulai di awal proyek, sehingga mengurangi waktu
proyek.
-Kelemahan menggunakan teknik V model adalah dokumentasi harus cukup detail
agar fase selanjutnya dapat berjalan dengan baik.
Formal Method
Teknik formal method adalah teknik yang mengandalkan perhitungan matematika dalam setiap prosesnya. Hanya digunakan pada sistem yang sangat memperhatikan keamanan atau keselamatan dari pengguna. Contoh penggunaan teknik ini adalah aerospace engineering.
- Keuntungan menggunakan teknik formal method adalah meminimalkan resiko dengan adanya perhitungan komputasi.
- Sedangkan kerugiannya adalah:
(a) Biaya Tinggi.
(b) Kompleks
(c) Tidak Umum untuk Proyek Software pada umumnya
Extreme Programming
Merupakan bagian dari metode agile software development.
- Keuntungan menggunakan teknik extreme programming.
(a) Menjalin Komunikasi yang Baik dengan Klien.
(b) Meningkatkan Komunikasi dan Sifat Saling Menghargai antar Developer.
- Kelemahan menggunakan teknik extreme programming:
(a) Developer harus selalu siap dengan perubahan karena perubahan selalu
diterima.
(b) Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga
anjuran untuk melakukan apa yang diperlukan hari itu juga). (McLeod &
Schell, 2004; Willy Sudiarto Raharjo; Martin, 1991)
0 komentar:
Posting Komentar