Lihat ke Halaman Asli

Systems Development Life Cycle (SDLC)

Diperbarui: 4 April 2017   17:07

Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.

Nature. Sumber ilustrasi: Unsplash

SDLC (Systems Development Life Cycle) dalam rekayasa sistem dan rekayasa perangkat lunak adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. 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. Dibawah ini kami akan mencoba memaparkan beberapa model pengembangan perangkat lunak: 1. Waterfall model Model ini sama seperti linear sequential model. Waterfall model merupakan model pengembangan perangkat lunak yang paling kuno tetapi 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, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap coding harus menunggu tahap design selesai. Secara umum tahapan pada model waterfall dapat dilihat pada gambar berikut : • Software Requirements Analysis. Proses ini mencari dan menganalisis kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. • Design. Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software. • Coding. Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer. • Testing. Dalam tahap ini dalakukan pengujian software yang sudah dibuat. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. • Maintenance. Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya. Kelebihan: • Dituntut bekerja secara disiplin • Dokumen lengkap • Selalu dalam kontrol SQA • Maintenance mudah, karena dokumen lengkap Kekurangan: • Konsumen kesulitan membaca dokumen, komunikasi menjadi sulit • Alur linier, proses lambat • Konsumen tidak dapat melihat hasil hingga akhir tahapan • Personil tidak bekerja optimal, karena ada waktu tunggu sebuah tahapan selesai 2. Spiral model Proses model yang lain, yang cukup populer adalah Spiral Model. Model ini juga cukup baru ditemukan, yaitu pada sekitar tahun 1988 oleh Barry Boehm pada artikel A Spiral Model of Software Development and Enhancement. Spiral model adalah salah satu bentuk evolusi yang menggunakan metode iterasi natural yang dimiliki oleh model prototyping dan digabungkan dengan aspek sistimatis yang dikembangkan dengan model waterfall. Tahap desain umumnya digunakan pada model Waterfall, sedangkan tahap prototyping adalah suatu model dimana software dibuat prototype (incomplete model), “blue-print”-nya, atau contohnya dan ditunjukkan ke user / customer untuk mendapatkan feedback-nya. Jika prototype-nya sudah sesuai dengan keinginan user / customer, maka proses SE dilanjutkan dengan membuat produk sesungguhnya dengan menambah dan memperbaiki kekurangan dari prototype tadi. Model ini juga mengkombinasikan top-down design dengan bottom-up design, dimana top-down design menetapkan sistem global terlebih dahulu, baru diteruskan dengan detail sistemnya, sedangkan bottom-up design berlaku sebaliknya. Top-down design biasanya diaplikasikan pada model waterfall dengan sequential-nya, sedangkan bottom-up design biasanya diaplikasikan pada model prototyping dengan feedback yang diperoleh. Dari 2 kombinasi tersebut, yaitu kombinasi antara desain dan prototyping, serta top-down dan bottom-up, yang juga diaplikasikan pada model waterfall dan prototype, maka spiral model ini dapat dikatakan sebagai model proses hasil kombinasi dari kedua model tersebut. Oleh karena itu, model ini biasanya dipakai untuk pembuatan software dengan skala besar dan kompleks. Spiral model dibagi menjadi beberapa framework aktivitas, yang disebut dengan task regions. Kebanyakan aktivitas2 tersebut dibagi antara 3 sampai 6 aktivitas. Berikut adalah aktivitas-aktivitas yang dilakukan dalam spiral model: • Customer communication. Aktivitas yang dibutuhkan untuk membangun komunikasi yang efektif antara developer dengan user / customer terutama mengenai kebutuhan dari customer. • Planning. Aktivitas perencanaan ini dibutuhkan untuk menentukan sumberdaya, perkiraan waktu pengerjaan, dan informasi lainnya yang dibutuhkan untuk pengembangan software. • Analysis risk. Aktivitas analisis resiko ini dijalankan untuk menganalisis baik resiko secara teknikal maupun secara manajerial. Tahap inilah yang mungkin tidak ada pada model proses yang juga menggunakan metode iterasi, tetapi hanya dilakukan pada spiral model. • Engineering. Aktivitas yang dibutuhkan untuk membangun 1 atau lebih representasi dari aplikasi secara teknikal. • Construction & Release. Aktivitas yang dibutuhkan untuk develop software, testing, instalasi dan penyediaan user / costumer support seperti training penggunaan software serta dokumentasi seperti buku manual penggunaan software. • Customer evaluation. Aktivitas yang dibutuhkan untuk mendapatkan feedback dari user / customer berdasarkan evaluasi mereka selama representasi software pada tahap engineering maupun pada implementasi selama instalasi software pada tahap construction and release. Berikut adalah gambar dari spiral model secara umum : Satu lingkaran dari bentuk spiral pada spiral model dibagi menjadi beberapa daerah yang disebut dengan region. Region tersebut dibagi sesuai dengan jumlah aktivitas yang dilakukan dalam spiral model. Tentunya lingkup tugas untuk project yang kecil dan besar berbeda. Untuk project yang besar, setiap region berisi sejumlah tugas-tugas yang tentunya lebih banyak dan kompleks daripada untuk project yang kecil. SE berjalan dari inti spiral berjalan mengitari sirkuit per sirkuit. Sebagai contoh untuk sirkuit pertama dilakukan untuk pembangunan dari spesifikasi dari software dengan mencari kebutuhan dari customer. Untuk sirkuit pertama harus menjalani semua aktivitas yang didefinisikan. Setelah 1 sirkuit terlewati lanjut ke tugas selanjutnya misalnya membangun prototype. Tugas ini juga harus mengitari 1 sirkuit dan begitu terus selanjutnya sampai project selesai. Tidak seperti model-model konvesional dimana setelah SE selesai, maka model tersebut juga dianggap selesai. Akan tetapi hal ini tidak berlaku untuk spiral model, dimana model ini dapat digunakan kembali sepanjang umur dari software tersebut. Pada umumnya, spiral model digunakan untuk beberapa project seperti Concept Development Project (proyek pengembangan konsep), New Product Development Project (proyek pengembangan produk baru), Product Enhancement Project (proyek peningkatan produk), dan Product Maintenance Project (proyek pemeliharaan proyek). Keempat project tersebut berjalan berurutan mengitari sirkuit dari spiral. Sebagai contoh setelah suatu konsep dikembangkan dengan melalui aktivitas2 dari spiral model, maka dilanjutkan dengan proyek selanjutnya yaitu pengembangan produk baru, peningkatan produk, sampai pemeliharaan proyek. Semuanya melalui sirkuit-sirkuit dari spiral model. Kelebihan: • ditekankan pada pencairan alternatif, dan pemaksaan penggunaan kembali Software yang telah ada • Analisa resiko • Adanya prototype memudahkan komunikasi dengan konsumen Kekurangan: • Biasanya pihak pengembang dan perusahaan berada pada satu pihak yang sama • Tahapan analisa resiko sewaktu-waktu dapat membatalkan proses rekayasa, jika pihak pengembang adalah pihak di luar perusahaan, maka timbulah masalah hukum 3. Incremental model Pada model ini, requirement software dipecah menjadi beberapa fungsi-fungsi atau bagian-bagian. Sebuah daftar kegiatan project akan dibuat dengan maksud mengetahui tiap-tiap fungsi yang harus dilakukan dalam tiap unit. Masing-masing unit fungsional diimplementasikan dalam sebuah penambahan dan produk akhirnya dikembangkan setelah keseluruhan unit fungsional diimplementasikan dalam proses pengembangannya. Masing-masing penambahan pada tiap unit terdiri dari 4 fase: analisis, design, implementasi, dan analisis. Proses pengembangan ini akan terus diulang sampai keseluruhan akitivitas dalam daftar aktivitas diimplementasikan. Untuk lebih jelasnya bisa dilihat dari gambar dibawah ini: Kelebihan: • Personil bekerja optimal • Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah selesai dibangun. COntohnya pemasukan data karyawan • Mengurangi trauma karena perubahan sistem . Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian • Memaksimalkan pengembalian modal investasi konsumen Kekurangan: • kemungkinan tiap bagian tidak dapat diintegrasikan • Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat perubahan selama proses rekayasa berlangsung • Harus Open Architecture Nama Kelompok: Android Kelas                 : PIS 0809 Muh. Auliya Rahman (30108080) Danang Setiadi          (30108081) Moch. Awang Putra    (30108535)




BERI NILAI

Bagaimana reaksi Anda tentang artikel ini?

BERI KOMENTAR

Kirim

Konten Terkait


Video Pilihan

Terpopuler

Nilai Tertinggi

Feature Article

Terbaru

Headline