Pengertian
Menurut
Wikipedia : Satu
bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk
pembuatan, pemeliharaan, manajemen organisasi pengembangan perangkat lunak dan
manajemen kualitas.
Menurut
IEEE Computer Society : Sebagai
penerapan suatu pendekatan yang sistematis,
disiplin dan terkuantifikasi atas pengembangan, pengguna-
an dan pemeliharaan perangkat lunak, serta studi atas
pendekatan-pendekatan ini, yaitu penerapan pendekatan
engineering atas perangkat lunak.
disiplin dan terkuantifikasi atas pengembangan, pengguna-
an dan pemeliharaan perangkat lunak, serta studi atas
pendekatan-pendekatan ini, yaitu penerapan pendekatan
engineering atas perangkat lunak.
Kesimpulan
: Pengubahan perangkat lunak itu
sendiri guna mengembangkan, memelihara dan membangun kembali dengan menggunakan
prinsip rekayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih
efisien dan efektif untuk pengguna.
Tujuan Rekayasa Perangkat Lunak
Tujuan
rekayasa perangkat lunak yaitu :
1.
Memperoleh biaya produksi perangkat
lunak yang rendah.
2.
Menghasilkan perangkat lunak yang
kinerjanya tinggi, andal dan tepat waktu.
3.
Menghasilkan perangkat lunak yang dapat
bekerja pada berbagai jenis platform.
4.
Menghasilkan perangkat lunak yang biaya
perawatannya rendah.
Kriteria dalam Merekayasa Perangkat
Lunak
1.
Maintainability : Dapat terus dirawat dan dipelihara.
2.
Dependability : Dapat mengikuti perkembangan teknologi.
3.
Robust : Dapat
mengikuti keinginan pengguna.
4.
Usability : Dapat memenuhi kebutuhan yang diinginkan.
5.
Efektif dan efisien dalam menggunakan
energi dan penggunaannya.
Ruang Lingkup Rekayasa Perangkat
Lunak
1.
Software
requirements berhubungan dengan spesifikasi
kebutuhan dan persyaratan perangkat lunak.
2.
Software
desain mencakup proses penampilan aristektur, komponen,
antarmuka, dan karakteristik lain dari perangkat lunak.
3.
Software
construction berhubungan dengan detail pengembangan
perangkat lunak, termasuk algoritma, pengkodean, pengujian dan pencarian
kesalahan.
4.
Software
testing meliputi pengujian pada keseluruhan perilaku
perangkat lunak.
5.
Software
maintenance mencakup upaya-upaya perawatan ketika
perangkat lunak telah dioperasikan.
6.
Software
configuration management berhubungan dengan usaha
perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu.
7.
Software
engineering management berkaitan dengan pengelolaan
dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak.
8.
Software
engineering tools and methods mencakup kajian
teoritis tentang alat bantu dan metode RPL.
Materi Rekayasa Perangkat Lunak :
Secara garis besar ada
6 materi, yaitu :
1.
Pengenalan
rekayasa perangkat lunak :
Di dalam materi pengenalan rekayasa perangkat lunak yang pertama dipelajari adalah materi secara umum yaitu pengertian berdasarkan kesepakatan serta beberapa tokoh, definisi secara umum, sejarah, perkembangan, tokoh-tokohnya. Di dalam materi ini juga di jelaskan tentang perangkat lunak secara umum, mulai dari karakteristik suatu perangkat lunak, tujuan pembuatan dari beberapa sisi baik itu dari sisi pengguna, dari sisi sponsor atau pihak yang mendanai ataupun dari sisi pengembang.
Di dalam materi pengenalan rekayasa perangkat lunak yang pertama dipelajari adalah materi secara umum yaitu pengertian berdasarkan kesepakatan serta beberapa tokoh, definisi secara umum, sejarah, perkembangan, tokoh-tokohnya. Di dalam materi ini juga di jelaskan tentang perangkat lunak secara umum, mulai dari karakteristik suatu perangkat lunak, tujuan pembuatan dari beberapa sisi baik itu dari sisi pengguna, dari sisi sponsor atau pihak yang mendanai ataupun dari sisi pengembang.
2.
Konsep dasar rekayasa perangkat lunak :
Konsep Dasar Rekayasa Perangkat Lunak. Didalam
materi ini di jelaskan tentang konsep-konsep dasar dalam mengembangkan suatu perangkat
lunak. Dijelaskan juga tentang rekayasa perangkat
lunak di dalam dunia
praktis atau lapangan. Di dalam materi ini juga di jelaskan tentang siklus
suatu rekayasa perangkat lunak mulai dari pra produksi, pengembangan,
pasca produksi hingga rekayasa atau yang biasa kita lakukan dalam software
adalah patch (menutupi kekurangan). Di sini juga dijelaskan mengenai
tingkatan perangkat lunak, jenis-jenis perangkat lunak dan perkembangan perusahaan perangkat
lunak.
3.
Metode pengembangan perangkat lunak :
Metodologi pengembangan perangkat
lunak atau disebut juga
model proses atau paradigma rekayasa perangkat lunak adalah
suatu strategi pengembangan yang memadukan proses, metode, dan perangkat
(tools). Didalam materi ini di jelaskan mengenai metode-metode pengembangan perangkat
lunak yang pernah di pakai
dan sering di pergunakan di dalam mengembangkan software diantaranya metode
sekuensial linier, prototype, RAD, Fouth Generation Techniques (4GT) , spiral,
metode Proses Perangkat Lunak Evolusioner (pertambahan, spiral,
konkruen), dan metode formal.
4.
Analisi
resiko :
Di dalam materi ini di
jelaskan mengenai resiko-resiko yang akan di hadapi dalam pengembangan suatu perangkat
lunak. Di sini dijelaskan semua mengenai jenis-jenis resiko kemudian
bagaimana menanganinya atau memanagement suatu resiko. Dan Bagaimana suatu
resiko itu dapat di manfaatkan sebagai referensi di dalam pengembangan perangkat
lunak dan selanjutnya.
5.
Persiapan project perangkat lunak :
Persiapan Project Perangkat
Lunak, di dalam materi ini menjelaskan apa saja yang perlu di siapkan di
dalam mengembangkan suatu project perangkat lunak. materi ini
menjelaskan tentang manajemen proyek suatu pengembangan perangkat
lunak berdasarkan
tahap-tahap pengembangan yang baik, mulai dari Initiating(proyek sedang dalam
proses untuk dipilih/disetujui, disponsori, didanai, dan diluncurkan. Planning
(perencanaan adalah proses yang berulang dan menggambarkan proses bagaimana
proyek akan dilaksanakan hingga selesai), Executing (setelah proyek
direncanakan, tim proyek memulai pekerjaannya), Controlling (selama tim proyek
mengerjakan tugasnya, project manager mengontrolnya) dan yang terakhir adalah
Closing (setelah proyek diselesaikan project manager akan menutup proyek
software).
6.
Analisis desain :
Di dalam materi ini di jelaskan tentang
sistem informasi, fase-fase analisis desain, maintenance sistem, case tools,
metodologi alternatif.
7.
Testing dan implementasi :
Di jelaskan secara umum karakterisk strategi
pengujian perangkat lunak, tahapan-tahapan proses pengujian, dijelaskan
pula faktor-faktor apa saja yang di perlukan didalam pengujian suatu perangkat
lunak. Kemudian pengimplementasian kepada user seperti apa dan bagaimana
suatu rekayasa dianggap berhasil atau gagal.
Macam-macam Perangkat Lunak
Macam-macam perangkat lunak, antara lain :
1.
Perangkat Lunak Sistem :
Software yang mengelola perangkat keras dan
perangkat lunak yang digunakan komputer.
Ex : DOS, Macintosh, Windows, dll.
Ex : DOS, Macintosh, Windows, dll.
2.
Perangkat Lunak Bahasa Pemrogaman :
Software yang berfungsi untuk membantu
melakukan pembuatan program aplikasi komputer.
Ex : Visual basic, C++, dll.
Ex : Visual basic, C++, dll.
3.
Perangkat Lunak Aplikasi :
Software yang berfungsi untuk membantu
melakukan berbagai tugas perkantoran/ aktivitas sehari-hari.
Ex : Pengolah kata, Pengolah gambar, Lembar
sebar, dll.
Contoh Perangkat Lunak
Model air terjun (
waterfall ) :
Biasa juga disebut
siklus hidup perangkat lunak. Mengambil kegiatan dasar seperti spesifikasi,
pengembangan, validasi, dan evolusi serta mempresentasikannya sebagai fase-fase
proses yang berbeda seperti spesifikasi persyaratan, perancangan peraangkat
lunak, implementasi, pengujian dan seterusnya.
Masalah dengan model waterfall :
Masalah dengan model waterfall :
1.
Terjadinya pembagian proyek menjadi
tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap
awal proses.
2.
Hal ini mengakibatkan sulitnya untuk
merespon perubahan kebutuhan pengguna ( user ).
3.
Model air terjun harus digunakan hanya
ketika persyaratan dipahami dengan baik.
Kekurangan model
waterfall :
1.
Pengguna hanya mendapatkan deskripsi
yang panjang, rinci dan “agak membosankan” untuk dibaca.
2.
Alur linier, proses lambat
3.
Pengguna baru melihat produk setelah akhir
tahapan.
4.
Personil tidak bekerja optimal, karena
ada waktu tunggu sebuah tahapan selelsai.
Kelebihan model waterfall
:
1.
Lebih disiplin.
2.
Dorongan bahwa dokumentasi selalu
tersedia untuk tiap tahapan ( dokumen lengkap ).
3.
Dorongan bahwa setiap produk yang
dihasilkan selalu dicek, maintenance mudah karena dokumen lengkap.
sumber :