SDLC (Systems Development Life Cycle ) merupakan siklus hidup pengembangan system. Dalam rekayasa system dan rekayasa perangkat lunak, SDLC berupa suatu proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Dalam rekayasa perangkat lunak, konsep SDLC mendasari berbagai jenis metodologi pengembangan perangkat lunak. Metodologi-metodologi ini membentuk suatu kerangka kerja untuk perencanaan dan pengendalian pembuatan sistem informasi, yaitu proses pengembangan perangkat lunak. Pengembangan SDLC adalah proses yang digunakan oleh analis system untuk mengembangkan sistem informasi, termasuk persyaratan, validasi, pelatihan, dan pengguna (stakeholder) kepemilikan. Setiap SDLC harus menghasilkan sistem berkualitas tinggi yang memenuhi atau melampaui harapan pelanggan, mencapai penyelesaian dalam waktu dan perkiraan biaya, bekerja secara efektif dan efisien di saat ini dan direncanakanTeknologi Informasi infrastruktur, dan murah untuk mempertahankan dan biaya efektif.
Fungsi SDLC
Untuk menggambarkan tahapan-tahapan utama dan langkah-langkah dari setiap tahapan yang secara garis besar terbagi dalam fase fase utama dalam SDLC, yaitu :
Perencanaan : Mengapa Mengembangkan Sistem?
Analisis : Siapa, apa, kapan dan dimana sistem diterapkan?
Perancangan : Bagaimana kerja sistem?
Implementasi : Bagaimana Sistem Dipasang/diinstall?
System Development Lyfe Cycle (SDLC) adalah keseluruhan proses dalam membangun sistem melalui beberapa langkah. Ada beberapa model SDLC. Model yang cukup populer dan banyak digunakan adalah waterfall. Beberapa model lain SDLC misalnya fountain, spiral, rapid, prototyping, incremental, build & fix, dan synchronize & stabilize. Dengan siklus SDLC, proses membangun sistem dibagi menjadi beberapa fase atau langkah dan pada sistem yang besar, masing-masing langkah dikerjakan oleh tim yang berbeda. Dalam sebuah siklus SDLC, terdapat enam fase atau langkah. Jumlah fase SDLC pada referensi lain mungkin berbeda, namun secara umum adalah sama. Fase-fase tersebut adalah:
System/Information Engineering and Modeling
Pengembangan sistem informasi dimulai dengan mengadakan penelitian terhadap elemen-elemen kebutuhan sistem bersangkutan dan mendefinisikan kebutuhan-kebutuhan tersebut dan menjabarkannya kedalam panduan bagi pengembangan sistem ditahap berikutnya. Aspek-aspek yang berkaitan berupa elemen-elemen yang berkaitan dengan sistem baik itu sumber daya manusia, peraturan perundang-undangan, perangkat keras (hardware), prosedur kerja organisasi maupun beragam aspek lainnya, baik yang terkait secara langsung maupun tidak dengan sistem komputerisasi yang akan dibangun. Fase ini merupakan fase yang sangat penting (essential) untuk mendapatkan gambaran utuh sistem guna pengembangan sistem bersangkutan kedalam bentuk penerapan sistem yang berbasis komputerisasi.
Software Requirements Analysis
Tahapan ini juga dikenal sebagai proses feasibility study. Dalam tahapan ini, tim pengembang sistem melakukan investigasi kebutuhan-kebutuhan sistem guna menentukan solusi piranti lunak (software) yang akan digunakan sebagai tulang punggung proses automatisasi /komputerisasi bagi sistem. Hasil investigasi berupa rekomendasi kepada pengembang sistem dalam hal spesifikasi teknis proses pengembangan sistem untuk tahap berikutnya yang berisikan hal-hal berkaitan dengan kebutuhan personal (personnel assignments), biaya (costs), jadwal pelaksanaan (project schedule), and batasan waktu penyelesaian pekerjaan (target dates). Disamping itu juga direkomendasikan beragam aspek teknis pengembangan software baik berupa fungsi-fungsi yang dibutuhkan (required function), karakteristik sistem (behavior), performansi sistem (performance) and antar muka aplikasi (interfacing).
Systems Analysis and Design
Pada tahapan ini, tim pengembangan sistem mendefinisikan proses-proses dan kebutuhan-kebutuhan sistem yang berkaitan dengan pengembangan aplikasi (software development process). Dalam fase ini ditentukan pemilihan teknologi yang akan diterapkan baik berupa client/server technology, rancangan database, maupun beragam aspek lainnya yang berkaitan dengan kegiatan analisis dan perancangan ini.
Code Generation
Pada tahapan ini hasil dari fase-fase sebelumnya dituangkan kedalam penulisan kode-kode dengan menggunakan bahasa pemrograman komputer yang telah ditentukan dalam tahap sebelumnya. Untuk melakukan pemrograman ini dibutuhkan perangkat-perangkat pemrograman seperti Code Editor, Compiler, Interpreter dan aneka perangkat lunak berkaitan lainnya sesuai dengan kebutuhan pemrograman bersangkutan.
- Testing
Setelah proses penulisan kode pemrograman langkah berikutnya berupa proses pengujian terhadap hasil pemrograman tersebut . Pengujian mencakup beragam aspek yang berkaitan dengan System & Performance dari fase Code Generation. Pengujian-pengujian tersebut berupa Pengujian Database, Pengujian Validitas Data, Pengujian Logic Aplikasi, Pengujian Antar Muka Aplikasi (General User Interface/GUI), Pengujian User Administration. Hasil pengujian ini merupakan Umpan balik perbaikan System & Performance yang akan digunakan dalam proses perbaikan sistem hingga mencapai hasil yang diharapkan dan telah ditentukan sebelumnya.
Maintenance
Fase ini merupakan fase perawatan terhadap sistem yang telah dikembangkan dan diimplementasikan. Cakupan fase ini berupa proses perawatan terhadap sistem yang berkaitan dengan perawatan berkala dari sistem maupun proses terhadap perbaikan sistem manakala sistem menghadapi kendala dalam operasionalnya akibat masalah teknis dan non teknis yang tidak terindikasi dalam proses pengembangan sistem. Proses Maintenance ini juga meliputi upaya-upaya pengembangan terhadap sistem yang telah dikembangkan sebelumnya dalam menghadapi mengantisipasi perkembangan maupun perubahan sistem bersangkutan.
Siklus SDLC dijalankan secara berurutan, mulai dari langkah pertama hingga langkah keenam. Setiap langkah yang telah selesai harus dikaji ulang, kadang-kadang bersama expert user, terutama dalam langkah spesifikasi kebutuhan dan perancangan sistem untuk memastikan bahwa langkah telah dikerjakan dengan benar dan sesuai harapan. Jika tidak maka langkah tersebut perlu diulangi lagi atau kembali ke langkah sebelumnya.
Kaji ulang yang dimaksud adalah pengujian yang sifatnya quality control, sedangkan pengujian di langkah kelima bersifat quality assurance. Quality control dilakukan oleh personal internal tim untuk membangun kualitas, sedangkan quality assurance dilakukan oleh orang di luar tim untuk menguji kualitas sistem. Semua langkah dalam siklus harus terdokumentasi. Dokumentasi yang baik akan mempermudah pemeliharaan dan peningkatan fungsi sistem.
Siklus SDLC dijalankan secara berurutan, mulai dari langkah pertama hingga langkah keenam. Setiap langkah yang telah selesai harus dikaji ulang, kadang-kadang bersama expert user, terutama dalam langkah spesifikasi kebutuhan dan perancangan sistem untuk memastikan bahwa langkah telah dikerjakan dengan benar dan sesuai harapan. Jika tidak maka langkah tersebut perlu diulangi lagi atau kembali ke langkah sebelumnya.
Kaji ulang yang dimaksud adalah pengujian yang sifatnya quality control, sedangkan pengujian di langkah kelima bersifat quality assurance. Quality control dilakukan oleh personal internal tim untuk membangun kualitas, sedangkan quality assurance dilakukan oleh orang di luar tim untuk menguji kualitas sistem. Semua langkah dalam siklus harus terdokumentasi. Dokumentasi yang baik akan mempermudah pemeliharaan dan peningkatan fungsi sistem.
Dalam SDLC, dijabarkan menjadi 7 langkah (aktifitas utama):
Planning, Analysis, Design, Development, Testing, Implementation dan Maintenance. Karena langkah-langkah ini bersifat urut (skuensial) dengan maksud, langkah ke 4 hanya bisa dilakukan jika langkah ke 3 sudah dilakukan, maka gambar urutan mirip seperti ‘Air Terjun’, sehingga beberapa buku menyebutnya juga sebagai ‘Waterfall Methodology‘.
Secara literatur, banyak sekali aktifitas yang terjadi pada setiap langkah pada SDLC. Contohnya saja: menentukan budget, mengumpulkan kebutuhan bisnis, disain model, menulis detil dan dokumentasi, manajemen proyek, dan sebagainya. Semua aktifitas yang muncul sudah tentu bergantung pada kasus pengembangan yang akan dilakukan.
Sumber : ilhamajji.blogspot-com
dhozkiii24.wordpress-com