METODE PERANGKAT LUNAK
Dalam rekayasa perangkat lunak, diperlukan
tahapan-tahapan kerja yang harus dilalui. Rekayasa perangkat lunak tidak hanya
membutuhkan kemampuan komputasi seperti algoritma, pemrograman, dan basis data
yang kuat, namun juga perlu penentuan tujuan yang baik, identifikasi cara
penyelesaian, metode pengembangan, urutan aktifitas, identifikasi kebutuhan
sumberdaya, dan faktor-faktor lain. Hal-hal seperti ini terkait dengan apa
yang disebut dengan metode rekayasa perangkat lunak.
Model Proses Rekayasa Perangkat Lunak
Banyak model yang telah dikembangkan dalam rekayasa
perangkat lunak yang digunakan untuk membantu proses pengembangan
perangkat lunak. Model-model ini pada umumnya mengacu pada model proses
pengembangan sistem yang disebut System Development Life Cycle (SDLC).
Metodologi Rekayasa Perangkat Lunak
Terdapat beberapa metodologi dalam rekayasa perangkat
lunak, antara lain:
1.
System Development Methodologies
o
Metodologi yang mengacu pada pendekatan
implementasi SDLC.
o
Metodologi akan berubah-ubah tergantung
pada kepentingan dan kegunaan software itu sendiri.
2.
Process-centered Methodologies
o
Fokus pada penentuan aktifitas yang
berhubungan dengan sistem.
o
Menyajikan konsep sistem sebagai
serangkaian proses yang mengalir masuk dan keluar.
3.
Data-centered Methodologies
o
Fokus pada penentuan isi dari data
penyimpanan dan bagaimana mereka terorganisasi.
o
Data-centered methodologies menggunakan
data models sebagai inti dari konsep sistem.
4.
Object-oriented Methodologies
o
Metodologi ini berhasil menyeimbangkan
fokus antara proses dan data.
o
The Unified Modeling Language (UML)
digunakan untuk mendeskripsikan konsep sistem sebagai koleksi dari object melengkapi
data dan proses.
Metodologi Perkembangan Perangkat Lunak
1. The waterfall model
Disebut waterfall (berarti air terjun) karena memang diagram tahapan prosesnya mirip dengan air terjun yang bertingkat.
Disebut waterfall (berarti air terjun) karena memang diagram tahapan prosesnya mirip dengan air terjun yang bertingkat.
Tahapan :
- Tahap Investigasi dilakukan untuk menentukan apakah terjadi
suatu masalah atau adakah peluang suatu sistem informasi
dikembangkan.Pada tahapan ini studi kelayakan perlu dilakukan untuk
menentukan apakah sistem informasi yang akan dikembangkan merupakan solusi
yang layak
- Tahap analisis bertujuan untuk mencari kebutuhan pengguna dan
organisasi serta menganalisa kondisi yang ada.
- Tahap disain bertujuan menentukan spesifikasi detil dari
komponen-komponen sistem informasi dan merancang produk-produk
informasi yang sesuai dengan hasil tahap analisis.
- Tahap implementasi merupakan tahapan untuk mendapatkan
atau mengembangkan hardware dan software (pengkodean program).
- Tahapan perawatan (maintenance) dilakukan ketika sistem informasi
sudah dioperasikan. Pada tahapan ini dilakukan monitoring proses,
evaluasi dan perubahan (perbaikan) bila diperlukan.
Kelebihan:
- Pengaplikasian dalam pengembangan software mudah.
- Semua kebutuhan system dapat didefiniskan di awal system secara
eksplisit dan benar di awal project.
- Perubahan di tengah – tengah proses pengembangan software sangat
sedikit yang dikarenakan telah dikonsep dengan baik di awal proses.
Kekurangan :
- Tahap – tahap dilakukan secara urut maka akan memerlukan waktu yang
lama dalam setiap tahapnya.
- Apabila telah selesai suatu tahap maka sumber daya dalam tahap itu
tidak dapat dipakai lagi, akan terjadi boros sumber daya.
- Tidak fleksibel dalam mengalami perubahan.
- Apabila suatu tahap menghadapi suatu kendala atau hambatan akan sulit
dalam pengembangan lebih lanjut dan sangat boros waktu dan tenaga.
2. Prototyping model
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).
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).
Tahapan:
- Identifikasi kandidat prototyping. Kandidat dalam kasus ini meliputi
user
interface (menu, dialog, input dan output), file-file transaksi utama, dan
fungsi-fungsi pemrosesan sederhana. - Rancang bangun prototype dengan bantuan software seperti word
processor, spreadsheet, database, pengolah grafik, dan software CASE
(Computer-Aided System Engineering). - Uji prototype untuk memastikan prototype dapat dengan mudah dijalankan
untuk tujuan demonstrasi. - Siapkan prototype USD (User’s System Diagram) untuk mengidentifikasi
bagian-bagian dari perangkat lunak yang di-prototype-kan. - Evaluasi dengan pengguna untuk mengevaluasi prototype dan melakukan
perubahan jika diperlukan. - Transformasikan prototype menjadi perangkat lunak yang beroperasi
penuh
dengan melakukan penghilangan kode-kode yang tidak dibutuhkan,
penambahan program-program yang memang dibutuhkan dan perbaikan
dan pengujian perangkat lunak secara berulang.
Kelebihan :
- Memberikan gambaran yang jelas kepada Costumer
- Mempercepat kerja karena telah memiliki prototypenya
- Menyamakan gambaran apabila software tersebut dikerjakan secara
kelompok
Kekurangan :
- Menghabiskan biaya yang banyak untuk pembentukan prototype
- Apabila dalam pengembangan prototypenya system tidak sesuai dengan
keinginan costumer maka akan di bentuk ulang sehingga memakan waktu
3. Incremental Model
Model ini mengadopsi model sekuensial linier dan model
prototipe. Fungsi dasar sama, tapi ada tambahan aksesoris. Fungsi tambahan
ditambahkan terus untuk membuat sistem menjadi lebih baik. Pada increment
pertama Perangkat Lunak yang jadi, mengakomodasi kebutuhan inti. Baru pada
tahap berikutnya ditambahkan kemampuan baru atau fitur baru yang dapat
menyempurnakan Perangkat Lunak tersebut.
4. RAD (Rapid Application Development)
Dalam system ini proses analisis hingga proses itu
selesai di lakukan secara berulang, sehingga system yang pertama terbentuk
menjadi sangat penting dalam pengembangan system selanjutnya.
Kelebihan :
- Pengembangan suatu Software dilakukan dengan waktu yang cepat
- Biaya yang keluar sedikit
- Software lebih cepat jadi daripada metode yang lain
Kekurangan :
- Akan melakukan banyak perbaikan karena proses yang berulang – ulang
- Software selalu berubah – ubah sehingga dapat menyulitkan user atau
costumer.
0 comments:
Post a Comment