Rabu, 12 Juli 2017

System Development Life Cycle


System Development Life Cycle



System Development Life Cycle





System Development Life Cycle (SDLC) adalah pendekatan bertahap untuk melakukan analisa dan membangun rancangan sistem dengan menggunakan siklus yang spesifik terhadap kegiatan pengguna System Development Life Cycle (SDLC) juga merupakan pusat pengembangan sistem informasi yang efisien. SDLC terdiri dari 4 (empat) langkah kunci yaitu, perencanaan dan seleksi, analisis, desain, implementasi dan operasional (Valacich, George, & Hoffer, 2012). Menurut Dennis, Wixom, & Tegarden, 2005 System Development Life Cycle (SDLC) adalah sebuah proses memahami bagaimana Sistem Informasi dapat mendukung kebutuhan bisnis, merancang system, membangun sistem, dan memberikannya kepada pengguna.

SDLC dapat disimpulkan sebagai sebuah siklus untuk membangun sistem dan memberikannya kepada pengguna melalui tahapan perencanaan, analisa, perancangan dan implementasi dengan cara memahami dan menyeleksi keadaan dan proses yang dilakukan pengguna untuk dapat mendukung kebutuhan pengguna. Untuk menggunakan SDLC maka dibutuhkan sumber data awal dari pengguna yang dijadikan acuan dalam perencanaan, analisa, perancangan dan implementasi. Penggunaan acuan ini dimaksudkan agar sistem yang dibangun bisa menjembatani kebutuhan pengguna dari permasalahan yang dihadapinya.

Berikut ini adalah penjelasan proses tahapan SDLC, yaitu :
A.      Perencanaan Sistem (Systems Planning)
Lebih menekankan pada aspek studi kelayakan pengembangan sistem (feasibility study). Aktivitas-aktivitas yang ada meliputi :
• Pembentukan dan konsolidasi tim pengembang.
• Mendefinisikan tujuan dan ruang lingkup pengembangan.
• Mengidentifikasi apakah masalah-masalah yang ada bisa diselesaikan melalui pengembangan sistem.
• Menentukan dan evaluasi strategi yang akan digunakan dalam pengembangan sistem.
• Penentuan prioritas teknologi dan pemilihan aplikasi.

B.      Analisis Sistem (Systems Analysis)
Analisa sistem adalah tahap di mana dilakukan beberapa aktivitas berikut:
• Melakukan studi literatur untuk menemukan suatu kasus yang bisa ditangani oleh sistem.
• Brainstorming dalam tim pengembang mengenai kasus mana yang paling tepat dimodelkan dengan sistem.
• Mengklasifikasikan masalah, peluang, dan solusi yang mungkin diterapkan untuk kasus tersebut.
• Analisa kebutuhan pada sistem dan membuat batasan sistem.
• Mendefinisikan kebutuhan sistem.

C.       Perancangan Sistem (Systems Design)
Pada tahap ini, features dan operasi-operasi pada sistem dideskripsikan secara detail. Aktivitas-aktivitas yang dilakukan adalah:
• Menganalisa interaksi obyek dan fungsi pada sistem.
• Menganalisa data dan membuat skema database.
• Merancang user interface.

D.     Implementasi Sistem (Systems Implementation)
Tahap berikutnya adalah implementasi yaitu mengimplementasikan rancangan dari tahap-tahap sebelumnya dan melakukan uji coba.
Dalam implementasi, dilakukan aktivitas-aktivitas sebagai berikut:
  • Pembuatan database sesuai skema rancangan.
  • Pembuatan aplikasi berdasarkan desain sistem.
  • Pengujian dan perbaikan aplikasi (debugging).


E.       Pemeliharaan Sistem (Systems Maintenance)
Dilakukan oleh admin yang ditunjuk untuk menjaga sistem tetap mampu beroperasi secara benar melalui kemampuan sistem dalam mengadaptasikan diri sesuai dengan kebutuhan.
alam pengembangan system menggunakan SDLC ada beberapa cara untuk mengimplementasinya dengan metodologi yaitu waterfall model, prototype model, RAD(Rapid Application Development) model, ASD(Agile Software Development) model. aterfall, dan prototype adalah model yang paling sering digunakan dalam pengembangan system.

1.      Waterfall Model
Merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Roger S. Pressman memecah model ini menjadi 6 tahapan, yaitu :

1. Sistem modeling                                                              4. Coding
2. Analisis kebutuhan software                                           5. Testing
3. Desain                                                                             6.  Maintenance

Keuntungan menggunakan teknik waterfall:

- Proses menjadi teratur
- Jadwal menjadi lebih menentu

Kelemahan menggunakan teknik waterfall:

- Membutuhkan daftar kebutuhan yang lengkap di awal, tapi jarang konsumen bisa memberikan kebutuhan secara lengkap diawal

2.      Prototyping adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara langsung mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen-komponen perangkat lunak akan bekerja dalam lingkungannya sebelum tahapan konstruksi aktual dilakukan (Howard, 1997). Beberapa model prototype adalah sebagai berikut :

  1. Reusable prototype : Prototype yang akan ditransformasikan menjadi produk final.
  2. Throwaway prototype : Prototype yang akan dibuang begitu selesai menjalankan maksudnya.
  3. input/output prototype : Prototype yang terbatas pada antar muka pengguna (user interface).
  4. Processing prototype : Prototype yang meliputi perawatan file dasar dan proses-proses transaksi
  5. System prototype : Prototype yang berupa model lengkap dari perangkat lunak.


Proses pada model prototyping adalah sebagai berikut :
  •  Pengumpulan kebutuhan
  •  Perancangan
  •  Evaluasi prototype


Keuntungan menggunakan prototype model, yaitu :
  1. Prototyping adalah model aktif, tidak pasif, sehingga end user dapat melihat, merasakan, dan mengalaminya.
  2.  Kesalahan yang terjadi dalam prototyping dapat dideteksi lebih dini.

Kekurangan menggunakan prototype model, yaitu :
  1. Prototyping tidak menolak kebutuhan dari fase analisis sistem. 
  2. Prototype hanya dapat memecahkan masalah yang salah dan memberi kesempatan sebagai sistem pengembangan konvensional.
  3.  Prototyping dapat mengurangi kreatifitas perancangan.


3.      RAD (Rapid Application Development)
Rapid application development (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user. RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat dicapai dengan menerapkan component based construction.

4.      Agile Software Development
Agile merupakan adalah jenis pegembangan sistem jangka pendek yang memerlukan adaptasi cepat dan pengembang terhadap perubahan dalam bentuk apapun. Dalam Agile Software Development interaksi dan personel lebih penting dari pada proses dan alat, software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada mengikuti rencana. Agile juga dapat diartikan sebagai sekelompok metodologi pengembangan software yang didasarkan pada prinsip-prinsip yang sama atau pengembangan system jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun.

Tidak ada komentar:

Posting Komentar