Model Proses Pengembangan Perangkat Lunak

Daftar Isi [Tampil]

Model Proses Pengembangan Perangkat Lunak

MODEL WATERFALL

  • Model Waterfall juga disebut siklus hidup klasik (Classic Life Cycle).
  • Merupakan pendekatan sistematis dan berurutan (sequential) pada PL yang dimulai dengan spesifikasi kebutuhan user dan berlanjut melalui beberapa tahapan, dan diakhiri dengan penyerahan sistem/ PL kepada pelanggan.
  • Pada prinsipnya, hasil dari setiap tahap adalah satu atau lebih dokumen yang disetujui (Sign off’). Tahap berikutnya tidak boleh dimulai sampai tahap sebelumnya selesai.

Tahapan Model Waterfall

Requirements Analysis and Definition

Langkah ini merupakan analisa kebutuhan sistem. Berisi layanan-layanan sistem, kendala, dan tujuan yang ditetapkan melalui konsultasi dengan pengguna sistem, kemudian didefinisikan secara rinci yang berfungsi sebagai spesifikasi sistem.
Misalkan untuk aplikasi web:
Maka analisa kebutuhannya ditinjau dari kebutuhan Admin dan User. Jelaskan secara singkat kebutuhan apa yang bisa dilakukan oleh admin dan user.
Contoh untuk web: User dapat melakukan login, user dapat membeli produk, user dapat melakukan konfirmasi pembayaran, dll
Misalkan untuk aplikasi desktop: Pada program penjualan, kebutuhannya adalah kasir

System and Software Design

Proses design mengalokasikan kebutuhan hardware dan software untuk membangun arsitektur sistem secara keseluruhan (struktur data, arsitektur PL, interface, dan detail/algoritma prosedural). Proses design akan menerjemahkan syarat kebutuhan perancangan PL yang dapat diperkirakan sebelum dibuat coding.
Contoh:
Aplikasi web ini dibangun dengan beberapa desain, diantaranya desain database menggunakan ERD dan LRS, desain struktur program menggunakan Struktur Navigasi, dan desain sistem menggunakan UML.

Implementation and Unit Testing

Perancangan PL direalisasikan sebagai satu set program atau unit program (coding). Coding merupakan penerjemahan design dalam bahasa yang bisa dikenali oleh komputer yang dilakukan oleh programmer.
Kemudian dilanjutkan dengan testing terhadap pengujian unit dengan melibatkan verifikasi setiap unit agar memenuhi spesifikasinya.
Contoh:
Pembuatan code program menggunakan software Dreamweaver CS5, pengolahan database dengan MySQL, script untuk penjelajah web menggunakan Javascript, dst…

Integration and System Testing

Program-program diintegrasikan dan diuji sebagai sistem yang lengkap untuk memastikan bahwa kebutuhan/persyaratan PL telah dipenuhi. Setelah pengujian, PL sistem dikirim ke pelanggan.
Contoh:
Setelah tahap pembuatan code program dilakukan pengujian program untuk menemukan kesalahan- kesalahan program. Pengujian program menggunakan black box testing untuk memastikan bahwa seluruh input yang memerlukan verifikasi data sudah benar.

Operation and Maintenance

Operasi dan pemeliharaan adalah siklus hidup terlama.
Sistem ini dipasang dan digunakan oleh user.
Perawatan melibatkan koreksi kesalahan yang tidak ditemukan sebelumnya, meningkatkan implementasi sistem dan meningkatkan layanan sistem saat persyaratan baru ditemukan.
Contoh:
Pemeliharaan sistem akan terus dilakukan dengan korektif terhadap kesalahan yang mungkin terjadi, adaptif dengan peningkatan layanan sistem, dst…

Kelebihan model waterfall:

  1. Memiliki proses yang urut dan bertahap, sehingga kualitas sistem/PL yang dihasilkan akan baik.
  2. Setiap proses memiliiki spesifikasinya sendiri, karena setiap tahap harus terselesaikan dengan lengkap sebelum melanjutkan ke tahap berikutnya.
  3. Setiap proses tidak dapat saling tumpang tindih.
  4. Metode ini akan lebih baik digunakan jika kebutuhan-kebutuhan sudah diketahui.

Kekurangan model waterfall:

  1. Proses yang dilakukan cenderung panjang dan lama, karena proses pengembangan tidak dapat dilakukan berulang sebelum menghasilkan produk.
  2. Kesalahan kecil pada satu tahapan akan menimbulkan masalah besar jika tidak diketahui sejak awal pengembangan, berakibat pada tahapan selanjutnya
  3. Biaya penggunaan metode yang cenderung mahal
  4. Membutuhkan banyak riset dan penelitian pendukung untuk mengembangkan sistem sehingga pelanggan harus sabar karena pembuatan PL baru dimulai pada tahap perancangan. Kenyataannya sulit untuk mengikuti aturan sequential, karena iterasi sulit dilakukan dan menyebabkan masalah baru.

MODEL PROTOTYPE

  • Prototype adalah pendefinisian sejumlah sasaran PL berdasarkan kebutuhan dan pemahaman secara umum, tetapi tidak bisa mengidentifikasi kebutuhan secara rinci untuk beberapa fungsi dan fitur-fitur.
  • Tujuannya adalah untuk membantu dalam tahap analisis dan desain yang memungkinkan pengguna untuk melihat lebih awal apa yang akan dilakukan sistem, yaitu untuk memfasilitasi validasi.
  • Prototype dapat digunakan sebagai model proses yang berdiri sendiri.Pembuatan prototipe biasanya digunakan sebagai teknik yang dapat diimplementasikan di dalam konteks setiap model proses PL, sehingga membantu stakeholder untuk lebih memahami apa yang akan dikembangkan ketika spesifikasi kebutuhan belum jelas.

Tahapan dalam Model Prototype

  1. Dimulai dengan dilakukannya komunikasi antara tim pengembang PL dengan pelanggan.
  2. Tim pengembang bertemu dengan stakeholder untuk mendefinisikan sasaran keseluruhan PL, mengidentifikasi spesifikasi kebutuhan yang diketahui, dan menggambar- kan definisi lebih jauh pada iterasi selanjutnya.
  3. Pembuatan prototipe direncanakan dengan cepat, dan pemodelan dilakukan
  4. Prototipe diserahkan kepada stakeholder untuk dievaluasi, dan memberikan umpan balik yang digunakan untuk persyaratan lebih lanjut
  5. Iterasi akan terjadi saat prototipe diperbaiki

Tujuan Pengembangan Model Prototype:

  1. Membuat antarmuka pengguna yang dapat diterima
  2. Membuat sistem yang dapat berfungsi, meskipun terbatas, tetapi tersedia dengan cepat untuk menunjukkan kelayakan dan kegunaan dari aplikasi
  3. Dapat digunakan untuk melatih pengguna sebelum sistem yang lengkap dikirim ke pelanggan
  4. Untuk menjelaskan bahwa beberapa teknologi baru akan menyediakan fasilitas yang dibutuhkan

Manfaat Model Prototype

Model prototype dikembangkan dan didemonstrasikan pada awal proses pembangunan PL, sehingga dapat bermanfaat untuk:
  1. Menghindari kesalahpahaman antara pengembang PL dan pengguna
  2. Beberapa fasilitas yang hilang mungkin dapat terungkap
  3. Fasilitas yang sulit digunakan/membingungkan dapat diidentifikasi dan disempurnakan
  4. Pengembang PL mungkin menemukan persyaratan yang tidak lengkap atau tidak konsisten.

Masalah pada Model Prototype

  1. Stakeholder hanya melihat tampilan PL yang akan dipakai tanpa mempedulikan bagaimana kerja sistem, dan pemeliharaan jangka panjang.
  2. Perubahan yang dibuat selama pengembangan PL mungkin akan mengubah struktur arsitektur. Oleh karena itu mungkin sulit dan mahal untuk pemeliharaannya.
  3. Karakteristik sistem yang penting seperti kinerja, keamanan dan keandalan, mungkin akan diabaikan selama pengembangan PL.
  4. Selama tahap pengembangan, prototype akan diubah untuk memenuhi kebutuhan pengguna. kemungkinan perubahan yang dibuat akan tidak terkontrol dan tidak didokumentasikan dengan baik.

MODEL SPIRAL

  • Model Spiral merupakan suatu model proses PL evolusioner yang menggabungkan pendekatan prototyping yang bersifat iteratif dengan aspek yang terkontrol dan sistematis pada model waterfall.
  • Model pengembangan spiral adalah model proses PL yang dikendalikan risiko yang digunakan untuk memandu para stakeholder untuk secara bersamaan merekayasa sistem yang bernuansa PL.
  • MODEL SPIRAL (Lanjutan)
  • Model spiral menggunakan prototipe sebagai mekanisme pengurangan risiko.
  • Model spiral menggunakan pendekatan langkah demi langkah (waterfall) yang sistematis tetapi menggabungkannya ke dalam kerangka iteratif yang lebih realistis mencerminkan dunia nyata.
  • Model spiral adalah pendekatan realistis untuk pengembangan sistem berskala besar.

Keuntungan Model Spriral

  1. Pendekatan yang dikendalikan risiko menghindari banyak kesulitan.
  2. Mengakomodasi persiapan untuk evolusioner siklus hidup, pertumbuhan, dan perubahan pada produk PL.
  3. Menyediakan mekanisme untuk tujuan kualitas dan PL gabungan ke pengembangan produk PL
  4. Mempunyai fokus untuk mengeliminasi kesalahan (error)
  5. Menyediakan pendekatan terpisah untuk pengembangan dan pemasangan PL
  6. Menyediakan keranga kerja aktif untuk pengembangan sistem hardware dan software yang terintegrasi.

Kerugian Model Spriral

  1. Memerlukan penyesuaian dengan PL yang menitik beratkan pada kontrol dan titik permasalahan yang merupakan keunggulan model waterfall.
  2. Berdasarkan keahlian manajemen risiko yang memerlukan penaksiran risiko yang masuk akal, akan menimbulkan masalah yang lebih besar jika risiko mayor tidak ditemukan
  3. Memerlukan kebutuhan untuk penelitian lebih lanjut terhadap langkah-langkah spiral khususnya untuk area analisis risiko.

MODEL Rapid Application Development (RAD)

  • RAD adalah teknik berbasis tim yang mempercepat pengembangan SI dan menghasilkan fungsi-fungsi SI.
  • RAD menggunakan pendekatan kelompok
  • Produk akhir RAD adalah sistem informasi baru.
  • RAD adalah metodologi yang lengkap, dengan 4 fase siklus hidup yang sejajar dengan fase SDLC tradisional.
  • Penggunaan RAD untuk mengurangi biaya dan waktu pengembangan, dan meningkatkan probabilitas keberhasilan
  • RAD sangat bergantung pada prototipe dan keterlibatan pengguna.
  • Berdasarkan input pengguna, prototipe dimodifikasi dan proses interaktif berlanjut sampai sistem benar-benar dikembangkan dan pengguna puas.
  • Interaksi berkelanjutan antara fase desain dan konstruksi pengguna
  • Tim proyek menggunakan CASE tools untuk membangun prototipe dan membuat aliran dokumentasi yang berkelanjutan.

REQUIREMENTS PLANNING

  • Fase ini menggabungkan elemen-elemen
  • perencanaan sistem dan fase analisis SDLC.
  • Pengguna, manajer, dan anggota staf IT mendiskusikan dan menyetujui kebutuhan bisnis, ruang lingkup proyek, kendala, dan persyaratan sistem.
  • Fase ini berakhir ketika tim menyetujui masalah- masalah utama dan mendapatkan izin manajemen untuk melanjutkan.

USER DESIGN

  • Selama fase ini, pengguna berinteraksi dengan sistem analis kemudian mengembangkan model dan prototipe yang mewakili semua input, proses, output.
  • Tim/subkelompok RAD biasanya menggunakan kombinasi teknik JAD (Joint Application Development) dan CASE tools untuk menerjemahkan kebutuhan pengguna ke dalam model.
  • Desain pengguna adalah kontinyu, proses interaktif memungkinkan pengguna untuk memahami, memodifikasi, dan akhirnya menyetujui model kerja sistem yang memenuhi kebutuhan mereka.

CONSTRUCTION

  • Fase konstruksi berfokus pada tugas pengembangan program dan aplikasi yang mirip dengan SDLC.
  • Pengguna terus berpartisipasi dan masih dapat menyarankan perubahan atau peningkatan saat tampilan atau laporan aktual dikembangkan.

CUTOVER

  • Merupakan fase peralihan, termasuk konversi data, pengujian, pergantian ke sistem baru, dan pelatihan pengguna.
  • Dibandingkan dengan metode tradisional, seluruh proses dikompresi. Akibatnya, sistem baru dibangun, dikirim, dan ditempatkan dalam operasi yang lebih cepat (agile).

Tujuan RAD

  1. Mengurangi waktu dan biaya pengembangan dengan melibatkan pengguna dalam setiap fase pengembangan sistem.
  2. Membuat modifikasi yang diperlukan dengan cepat, seiring dengan perkembangan desain.
  3. Membatasi biaya perubahan yang biasanya terjadi dalam jadwal pengembangan yang berlarut-larut.
  4. Membutuhkan sistem informasi untuk mendukung fungsi bisnis baru, karena digerakkan oleh pengguna.
  5. Dengan input pengguna, membantu tim pengembangan merancang sistem yang membutuhkan antarmuka pengguna yang interaktif atau kompleks.

Keuntungan utama:

  • Sistem dapat dikembangkan lebih cepat dengan penghematan biaya yang signifikan

Kerugian:

  • Menekankan mekanisme sistem itu sendiri dan tidak menekankan kebutuhan strategis bisnis perusahaan.
  • Baik untuk jangka pendek.
  • Memungkinkan lebih sedikit waktu untuk mengembangkan kualitas, konsistensi, & standar desain.
  • RAD dapat menjadi alternatif yang menarik, jika suatu organisasi memahami risiko yang mungkin terjadi

MODEL SCRUM

  • Scrum adalah sebuah proses yang agile untuk menangani produk yang kompleks.
  • Scrum digunakan untuk memandu kegiatan pengembangan dalam suatu proses yang mencakup kerangka kerja seperti: kebutuhan, analisis, desain, evolusi, dan pengiriman.
  • Scrum menekankan penggunaan seperangkat pola proses PL yang telah terbukti efektif untuk proyek dengan jadwal yang ketat, perubahan kebutuhan, dan kekritisan bisnis

Tahapan kegiatan pengembangan Scrum

1. Backlog

  • Daftar prioritas kebutuhan proyek/fitur yang menyediakan nilai bisnis bagi pelanggan.
  • Item dapat ditambahkan ke backlog kapan saja (diperkenalkan adanya perubahan).

2. Sprints

  • Unit kerja diperlukan untuk mencapai kebutuhan yang didefinisikan dalam backlog yang harus sesuai dengan time box yang telah didefinisikan sebelumnya (biasanya 30 hari).
  • Time box adalah waktu yang telah dialokasikan untuk menyelesaikan beberapa tugas
  • Tidak diperkenankan adanya perubahan, sehingga anggota tim bekerja dalam lingkungan jangka pendek tetapi stabil.

3. Scrum Meetings

Waktunya pendek (biasanya 15 menit) tiap pertemuan yang diadakan setiap hari.
Pertemuan ini membantu tim untuk mengungkap potensi masalah sedini mungkin.

4. Demo

Memberikan peningkatan PL untuk pelanggan sehingga fungsionalitas yang telah diterapkan dapat didemonstrasikan dan dievaluasi oleh pelanggan.
  1. Produk dipecah menjadi beberapa sub produk sehingga dapat dikelola dan dimengerti.
  2. Persyaratan yang tidak stabil tidak menghambat kemajuan.
  3. Seluruh tim memiliki visibilitas sehingga dapat meningkatkan komunikasi tim.
  4. Pelanggan melihat pengiriman tepat waktu dan mendapatkan umpan balik tentang bagaimana produk tersebut bekerja.
  5. Kepercayaan antara pelanggan dan pengembang akan terjalin dimana semua orang mengharapkan proyek untuk berhasil.
LihatTutupKomentar