PENGERTIAN
SDLC (System Development Life Cycle) atau Siklus Hidup Pengembangan Sistem dalam rekayasa perangkat lunak adalah tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan programmer dalam membangun sistem informasi. tahapan yang digunakan adalah :
1. Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi
2. Mempelajari dan menganalisis sistem informasi yang sedang berjalan
3. Menentukan permintaan pemakai sistem informasi
4. Memilih solusi atau pemecahan masalah yang paling baik
5. Menentukan perangkat keras (hardware) dan perangkat lunak (software)
6. Merancang sistem informasi baru
7. Membangun sistem informasi baru
8. Mengkomunikasikan dan mengimplementasikan sistem informasi baru
9. Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukan
Ada beberapa model pada 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 langkah dan pada sistem yang besar, masing-masing langkah dikerjakan oleh tim yang berbeda. Dalam sebuah siklus SDLC, terdapat enam langkah. Jumlah langkah SDLC pada referensi lain mungkin berbeda, namun secara umum sama. Langkah tersebut adalah :
1. Analisis sistem, yaitu membuat analisis aliran kerja manajemen yang sedang berjalan
2. Spesifikasi kebutuhan sistem, yaitu melakukan perincian mengenai apa saja yang dibutuhkan dalam pengembangan sistem dan membuat perencanaan yang berkaitan dengan proyek sistem
3. Perancangan sistem, yaitu membuat desain aliran kerja manajemen dan desain pemrograman yang diperlukan untuk pengembangan sistem informasi
4. Pengembangan sistem, yaitu tahap pengembangan sistem informasi dengan menulis program yang diperlukan
5. Pengujian sistem, yaitu melakukan pengujian terhadap sistem yang telah dibuat
6. Implementasi dan pemeliharaan sistem, yaitu menerapkan dan memelihara sistem yang telah dibuat
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.
Model - Model SDLC
A. Model Waterfall
![]() |
Gambar 1. Model Waterfall |
1. Requirement Gathering and analysis
Mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.
2. Design
Dalam tahap ini pengembang akan menghasilkan sebuah sistem secara keseluruhan dan menentukan alur perangkat lunak hingga algoritma yang detail.
3. Implementation
Adalah Tahapan dimana seluruh desain diubah menjadi kode kode progam . Kode progam yang dihasilkan masih berupa modul-modul yang akan diintregasikan menjadi sistem yang lengkap.
4. Verification
Adalah client/user menguji apakah sistem tersebut telah sesuai dengan yang disetujui.
5. Maintenance
Yaitu instalasi dan proses perbaikan sistem sesuai yang disetujui.
![]() | |||||
Gambar 2. Model Prototype |
C. Model Rapid Application Development (RAD)
![]() |
Gambar 3. Model RAD |
D. Model Agile
![]() | ||||||||||
Gambar 4. Model Agile |
1. eXtreme Programming (XP)
![]() |
Gambar 5. XP |
XP Adalah sebuah pendekatan atau model pengembangan perangkat lunak yang mencoba menyederhanakan berbagai tahapan dalam proses pengembangan tersebut sehingga menjadi lebih adaptif dan fleksibel. XP bukan hanya berfokus pada coding tetapi meliputi seluruh area pengembangan perangkat lunak. XP mengambil pendekatan ‘ekstrim’ dalam iterative development.
2. Scrum Methodology
![]() | |
Gambar 6. Scrum |
3. Crystal Family
![]() |
Gambar 7. Crystal Family |
4. Dynamic Systems Development Method (DSDM)
![]() |
Gambar 8. DSDM |
5. Adaptive Software Development (ASD)
![]() |
Gambar 9. ASD |
6. Feature Driven Development (FDD)
![]() |
Gambar 10. FDD |
Feature Driven Development adalah proses pengembangan perangkat lunak yang iterative dan incremental. Kerangka kerja ini termasuk termasuk dalam metode Agile yang digunakan untuk mengembangkan perangkat lunak. FDD memadukan sejumlah praktik terbaik yang diakui industri menjadi satu kesatuan yang utuh. Praktik-praktik ini didorong dari perspektif fungsionalitas (fitur) yang dihargai klien. Tujuan utamanya adalah untuk memberikan perangkat lunak yang nyata dan berfungsi berulang kali secara tepat waktu sesuai dengan prinsip di balik Agile Manifesto.
Jika kita lihat dari beberapa metodologi diatas, Agile bisa berarti tangkas, cepat, atau ringan. Agility merupakan metode yang ringan dan cepat dalam pengembangan perangkat lunak. Agile Alliance mendefinisikan 12 prinsip untuk mencapai proses yang termasuk dalam agility:
- Prioritas tertinggi adalah memuaskan pelanggan melalui penyerahan awal dan perangat lunak yang bernilai.
- Menerima perubahan requirements meskipun perubahan tersebut diminta pada akhir pengembangan.
- Memberikan perankat lunak yang sedangdikerjakan dengan sering,beberapa min ggu atau bulan, dengan pilihan waktu yang paling singkat.
- Pihak bisnis dan penggembangan harus berkerja sama setiap hari selam penggembangan berjalan.
- Bangun proyek dengan individu-individu yang bermotivasi tinggi dengan memberikan lingkungan dan dukungan yang diperlukan, dan mempercyai mereka sepenuhnya untuk menyelesaikan pekerjaannya.
- Metode yang paling efektif dan efisien dalam menyampaikan informasi kepada tim pengembangan adalah dengan komunikasi langsung face to face.
- Perangkat lunak yang dikerjakan merupakan pengukur utama kemajuan.
- Proses agile memberikan proses pengembangan yang bias ditopang.Sponsor,pengembangan, dan user garus bias menjaga ke-konstanan langkah yang tidak pasti.
- Perhatian yang harus terus mennerus terhadap rangcangan dan teknik yang baik meningkatkan agility.
- Keserdahanaan seni untuk meminimalkan jumlah pekerjaan adalah penting
- Arsitektur,requirements, dan rancangan terbaik muncul dari tim yang mengatur sendiri.
- Pada interval reguler tertentu,tim merefleksikan bagaimana menjadi lebih efektif, kemudian menyesuaikannya.
Kebutuhan Sistem
Untuk mempermudah menganalisis sebuah sistem dibutuhkan dua jenis kebutuhan. Kebutuhan fungsional dan kebutuhan nonfungsional. Kebutuhan fungsional adalah kebutuhan yang berisi proses-proses apa saja yang nantinya dilakukan oleh sistem. Sedangkan kebutuhan nonfungsional adalah kebutuhan yang mengarah pada perilaku yang dimiliki oleh sistem.
- Sekian Terimakasih :) -
Tidak ada komentar:
Posting Komentar