Dokumen tersebut membahas proses rekayasa perangkat lunak yang terdiri dari pendefinisian kebutuhan, pengembangan, validasi, dan pemeliharaan. Disebutkan pula metode pengembangan perangkat lunak seperti model sekuensial linier, prototipe, RAD, dan spiral.
1. Proses Rekayasa Perangkat Lunak
Kelompok 2 :
Abdul Chofur (01)
Davy Arya Atmaja (06)
Khairul Rahmawan (17)
Yazid Muzzaky (31)
Yoga Yuniantoro (32)
2. Proses perangkat lunak adalah serangkaian kegiatan dan hasil-hasil
relevannya yang menghasilkan perangkat lunak (sebagian besar
dilakukan oleh perekayasa perangkat lunak).
Dalam rekayasa perangkat lunak tahap awalnya adalah
pendefinisian tentang rekayasa system apa yang akan dibuat. Sehingga
diperlukan proses perencanaan dan analisis kebutuhan. Setelah
pendefinisian tahap selanjutnya adalah pengembangan, dalam tahap ini
adalah bagaimana produk yang telah didefinisikan dengan jelas kemudian
akan mulai diimplementasikan. Maka pada proses pengembangan ini
akan dilakukan design software atau mendesain software, kemudian
mengenerate koding-koding pembangun program, hingga program siap
dites kebenarannya.
Proses rekayasa perangkat lunak adalah proses yang terus
berulang, karena karakteristik perangkat lunak yang membutuhkan
pemeliharaan dan continue development agar perangkat lunak tidak
kadaluarsa. Dalam proses pemelihataan kita melakukan koreksi
kesalahan, adaptasi kebutuhan, peningkatan kemampuan atau fungsi dan
bentuk pencegahan lainnya agar perangkat lunak tersebut tidak
kadaluarsa.
3. Ada 4 macam kegiatan/aktivitas pada proses
perangkat lunak :
ā¢ 1. Spesifikasi Perangkat Lunak : Fungsionalitas
perangkat lunak dan batasan kemampuan operasinya
harus didefinisikan.
ā¢ 2. Pengembangan Perangkat Lunak : Perangkat lunak
yang memenuhi spesifikasi harus diproduksi.
ā¢ 3. Validasi Perangkat Lunak : Perangkat lunak harus
divalidasi untuk menjamin bahwa perangkat lunak
melakukan apa yang diinginkan oleh pelanggan.
ā¢ 4. Evolusi Perangkat Lunak : Perangkat lunak harus
berkembang untuk memenuhi kebutuhan pelanggan.
4. Penyebab kegagalan rekayasa perangkat lunak
adalah :
ā¢ Perencanaan yang tidak realistik, terlalu optimis
dalam perhitungan.
ā¢ sistem pemantauan kerja yang tidak berjalan dengan
seharusnya.
ā¢ Perubahan kebutuhan.
ā¢ Resiko-resiko lainnya
5. Pengembangan sistem dapat berarti menyusun suatu
sistem yang baru untuk menggantikan sistem yang lama secara
keseluruhan/memperbaiki sistem yang telah ada. Sistem yang
lama perlu diperbaiki/diganti disebabkan karena beberapa hal,
yaitu :
ā¢ Adanya permasalahan-permasalahan (problems) yang timbul
di sistem yang lama.
ā¢ Untuk meraih kesempatan-kesempatan (opportunities).
ā¢ Adanya instruksi-instruksi (directives).
6. METODE PENGEMBANGAN
PERANGKAT LUNAK
ā¢ Adapun metode pengembangan perangkat
lunak yaitu :
ā¢ Model Sekuensial Linier / Waterfall Method
ā¢ Model Prototipe
ā¢ Model RAD (Rapid Application Development)
ā¢ Model Spiral
7. 1. Model Sekuensial Linier /
Waterfall Method
Model Sekuensial Linier sering disebut Model Air Terjun merupakan
paradigma rekayasa perangkat lunak yang paling tua dan paling banyak dipakai.
Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang
sistematik dan sekunsial yang dimulai pada tingkat dan kemajuan sistem pada
seluruh analisis, desain , kode, pengujian, dan pemeliharaan.
Tahapan dalam Model Sekuensial Linier :
ā¢ Rekayasa dan Pemodelan Sistem/Informasi
Karena perangkat lunak merupakan bagian dari suatu sistem maka
langkah pertama dimulai dengan membangun syarat semua elemen
sistem dan mengalokasikan ke perangkat lunak dengan
memeperhatikan hubungannya dengan manusia, perangkat keras
dan database.
ā¢ Analisis Kebutuhan Perangkat Lunak
Proses menganalisis dan pengumpulan kebutuhan sistem yang sesuai
dengan domain informasi tingkah laku, unjuk kerja, dan antar muka (interface)
yang diperlukan. Kebutuhan-kebutuhan tersebut didokumentasikan dan
dilihat lagi dengan pelanggan.
8. ā¢ Desain
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.
ā¢ Pengkodeaan (Coding)
Pengkodean merupakan prses menerjemahkan desain ke dalam suatu bahasa
yang bisa dimengerti oleh komputer.
ā¢ Pengujian.
Proses pengujian dilakukan pada logika internal untuk memastikan semua
pernyataan sudah diuji. Pengujian eksternal fungsional untuk menemukan
kesalahan-kesalahan dan memastikan bahwa input akan memberikan hasil
yang aktual sesuai yang dibutuhkan
ā¢ 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 atau unjuk kerja.
9. 2. Model Prototipe
Sebuah prototipe adalah bagian dari produk yang mengekspresikan logika
maupun fisik antarmuka eksternal yang ditampilkan. Konsumen potensial menggunakan
prototipe dan menyediakan masukan untuk tim pengembang sebelum pengembangan
skal besar dimulai. Melihat dan mempercayai menjadi hal yang diharapkan untuk dicapai
dalam prototipe. Dengan menggunakan pendekatan ini, konsumen dan tim pengembang
dapat mengklarifikasi kebutuhan dan interpretasi mereka.
Tahapan-tahapan dalam Prototyping adalah sebagai berikut:
1. Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh
perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan
dibuat.
2. Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang
berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format
output).
3. Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun
sudah sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan
diambil. Jika tidak prototyping direvisi dengan mengulang langkah 1, 2 , dan 3.
10. 4. Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati
diterjemahkan ke dalam bahasa pemrograman yang sesuai.
5. 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.
6. Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah
sesuai dengan yang diharapkan . Jika ya, langkah 7 dilakukan; jika tidak,
ulangi langkah 4 dan
7. Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap
untuk digunakan.
11. 3. Model RAD
Rapid Aplication Development (RAD) adalah sebuah model proses
perkembanganperangkat lunak sekuensial linier yang menekankan siklus
perkembangan yang sangat pendek (kira-kira 60 sampai 90 hari). Model RAD ini
merupakan sebuah adaptasi ākecepatan tinggiā dari model sekuensial linier dimana
perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis
komponen.
Tahapan-tahapan dalam RAD
1. Bussiness Modeling.
ā¢ Fase ini untuk mencari aliran informasi yang dapat menjawab pertanyaan berikut:
ā¢ Informasi apa yang menegndalikan proses bisnis?
ā¢ Informasi apa yang dimunculkan?
ā¢ Di mana informasi digunakan ?
ā¢ Siapa yang memprosenya ?
2. Data Modeling.
Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness
modeling disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang
bisnis tersebut. Karakteristik (atribut) masing-masing objek diidentifikasi dan hubungan
antar objek-objek tersebut didefinisikan.
12. 3. Proses Modeling.
Aliran informasi yang didefinisikan di dalam fase data modeling
ditransformasikan untuk mencapai aliran informasi yang perlu bagi
implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk
menambah, memodifikasi, menghapus, atau mendapatkan kembali sebuah
objek data.
4. Aplication Generation.
Selain menggunakan bahasa pemrograman generasi ketiga, RAD juga
memakai komponen program yang telah ada atau menciptakan komponen
yang bisa dipakai lagi. Ala-alat bantu bisa dipakai untuk memfasilitasi
konstruksi perangkat lunak.
5. Testing dan Turnover.
Karena proses RAD menekankan pada pemakaian kembali, banyak
komponen program telah diuji. Hal ini mengurangi keseluruhan waktu
pengujian. Tetapi komponen baru harus diuji dan semua interface harus
dilatih secara penuh.
13. 3. Model Spiral
Model spiral pada awalnya diusulkan oleh Boehm, adalah model
proses perangkat lunak evolusioner yang merangkai sifat iteratif dari
prototype dengan cara kontrol dan aspek sistematis model sequensial linier.
Model iteratif ditandai dengan tingkah laku yang memungkinkan
pengembang mengembangkan versi perangkat lunak yang lebih lengkap
secara bertahap. Perangkat lunak dikembangkan dalam deretan
pertambahan. Selama awal iterasi, rilis inkremantal bisa berupa
model/prototype kertas, kemudian sedikit demi sedikit dihasilkan versi sistem
yang lebih lengkap.
14. Tahapan-Tahapan Model Spiral
Model spiral dibagi menjadi enam wilayah tugas yaitu:
ā¢ Komunikasi pelanggan
Yaitu tugas-tugas untuk membangun komunikasi antara pelanggan
dan kebutuhan ā kebutuhan yang diinginkan oleh pelanggan
ā¢ Perencanaan
Yaitu tugas-tugas untuk mendefinisikan sumber daya, ketepatan waktu,
dan proyek informasi lain yg berhubungan.
ā¢ Analisis Resiko
Yaitu tugas-tugas yang dibutuhkan untuk menaksir resikomanajemen
dan teknis.
ā¢ Perekayasaan
Yaitu tugas yang dibutuhkan untuk membangun satu atau lebih
representasi dari apikasi tersebut.
ā¢ Konstruksi dan peluncuran
Yaitu tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji,
memasang , dan memberi pelayanan kepada pemakai.
ā¢ Evaluasi Pelanggan
Yaitu tugas-tugas untuk mendapatkan umpan balik dari pelanggan.