Professional Documents
Culture Documents
Kelebihan
- Mudah diaplikasikan.
- Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan
pemeliharaan.
Kekurangan
- Jarang sekali proyek riil mengikuti aliran sekuensial yang dianjurkan model karena
model ini bisa melakukan itersi tidak langsung.
- Pelanggan sulit untuk menyatakan kebutuhan secara eksplisit sehingga sulit untuk
megakomodasi ketidakpastian pada saat awal proyek.
- Pelanggan harus bersikap sabar karena harus menunggu sampai akhir proyrk dilalui.
Sebuah kesalahan jika tidak diketahui dari awal akan menjadi masalah besar karena harus
mengulang dari awal.
- Pengembang sering malakukan penundaan yang tidak perlu karena anggota tim proyek
harus menunggu tim lain untuk melengkapi tugas karena memiliki ketergantungan hal ini
menyebabkan penggunaan waktu tidak efesien.
-
Waterfall
waterfall adalah pengerjaan dari suatu sistem dilakukan secara berurutan atau secara linear. Jadi
jika langkah satu belum dikerjakan maka tidak akan bisa melakukan pengerjaan langkah 2, 3 dan
seterusnya. Secara otomatis tahapan ke-3 akan bisa dilakukan jika tahap ke-1 dan ke-2 sudah
dilakukan.
Secara garis besar metode waterfall mempunyai langkah-langkah sebagai berikut : Analisa,
Design, Code dan Testing, Penerapan dan Pemeliharaan.
1. Analisa
Langkah ini merupakan analisa terhadap kebutuhan sistem. Pengumpulan data dalam tahap ini
bisa malakukan sebuah penelitian, wawancara atau study literature.Tahapan ini akan
menghasilkan dokumen user requirment atau bisa dikatakan sebagai data yang berhubungan
dengan keinginan user dalam pembuatan sistem. Dokumen ini lah yang akan menjadi acuan
sistem analis untuk menterjemahkan ke dalam bahasa pemprogram.
2. Design
Proses desain akan menerjemahkan syarat kebutuhan ke sebuah perancangan perangkat lunak
yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada : struktur data,
arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural. Tahapan ini
akan menghasilkan dokumen yang disebut software requirment. Dokumen inilah yang akan
digunakan proggrammer untuk melakukan aktivitas pembuatan sistemnya.
3. Coding & Testing
Coding merupan penerjemahan design dalam bahasa yang bisa dikenali oleh komputer.
Dilakukan oleh programmer yang akan meterjemahkan transaksi yang diminta oleh user. Tujuan
testing adalah menemukan kesalahan-kesalahan terhadap sistem tersebut dan kemudian bisa
diperbaiki.
4. Penerapan
Tahapan ini bisa dikatakan final dalam pembuatan sebuah sistem. Setelah melakukan analisa,
design dan pengkodean maka sistem yang sudah jadi akan digunakan oleh user.
5. Pemeliharaan
Perangkat lunak yang sudah disampaikan kepada pelanggan pasti akan mengalami perubahan.
Perubahan tersebut bisa karena mengalami kesalahan karena perangkat lunak harus
menyesuaikan dengan lingkungan (periperal atau sistem operasi baru) baru, atau karena
pelanggan membutuhkan perkembangan fungsional.
Model Prototyping
Prototyping adalah proses iterative dalam pengembangan sistem dimana requirement diubah
ke dalam sistem yang bekerja (working system) yang secara terus menerus diperbaiki melalui
kerjasama antara user dan analis. Prototype juga bisa dibangun melalui beberapa tool
pengembangan untuk menyederhanakan proses.
Pengumpulan Kebutuhan
Membangun Prototyping
Menggunakan Sistem
Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai
dengan keinginann pelanggan.
Mengkodekan Sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa
pemrograman yang sesuai.
Menguji Sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu
sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path,
pengujian arsitektur dan lain-lain.
Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang
diharapkan.
Evaluasi Protoptyping
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.
Kelebihan
Kekurangan
adalah sekelompok metodologi pengembangan perangkat lunak yang didasarkan pada prinsip-
prinsip yang sama atau pengembangan sistem jangka pendek yang memerlukan adaptasi cepat
dari pengembang terhadap perubahan dalam bentuk apapun. Agile development
methods merupakan salah satu dari Metodologi pengembangan perangkat lunak yang digunakan
dalam pengembangan perangkat lunak. Agile memiliki pengertian bersifat cepat, ringan, bebas
bergerak, dan waspada.[ Sehingga saat membuat perangkat lunak dengan menggunakan agile
development methods diperlukan inovasi dan responsibiliti yang baik antara tim pengembang dan
klien agar kualitas dari perangkat lunak yang dihasilkan bagus dan kelincahan dari tim seimbang.
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
Tidak cocok dalam skala tim yang besar (>20 orang).
Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.
Scrum
Scrum adalah iteratif dan pengembangan perangkat lunak kerangka kerja tambahan
tangkas untuk proyek-proyek perangkat lunak dan mengelola produk atau pengembangan
aplikasi. Fokusnya adalah pada "strategi, pengembangan produk fleksibel holistik di
mana tim pengembangan bekerja sebagai sebuah unit untuk mencapai tujuan bersama"
sebagai lawan dari "pendekatan tradisional, berurutan".
karakteristik
ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan
satu sama lain
proses dapat beradaptasi terhadap perubahan teknis dan bisnis
proses menghasilkan beberapa software increment
pembangunan dan orang yang membangun dibagi dalam tim yang kecil
dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
2). Sprints
Aktifitas Sprints merupakanunit pekerjaan yang diperlukan untuk memenuhi kebutuhan yang
ditetapkan dalam backlog sesuai dengan waktu yang ditetapkan dalam time-box (biasanya
30hari). Selama proses ini berlangsung backlog tidak ada penambahan.
4). Demo
Aktifitas Demo adalah penyerahan software increment ke klien didemonstrasikan dan
dievaluasi oleh klien.
Kelebihan
Keperluan berubah dengan cepat
Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan
memberdayakan satu sama lain
Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
Kekurangan
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.