Software Process
Rekayasa Perangkat Lunak merupakan suatu disiplin Teknik yang berkaitan
dengan semua aspek produksi perangkat lunak dari tahap konsep awal sampai
operasi hingga pemeliharan perangkat lunak. Rekayasa perangkat lunak memiliki
aktivitas mendasar seperti spesifikasi perangkat lunak, pengembangan perangkat
lunak, dan evolusi perangkat lunak.
Software engineering merupakan orang yang mengembangkan
produk perangkat lunak yang dapat dijual ke pelanggan. Terdapat dua macam
produk perangkat lunak :
1. Generic
Produk
Generic
Produk adalah system yang berdiri sendiri yang diproses oleh organisasi
pengembangan dan dijual di pasar umum kepada setiap pelanggan yang ada mampu
membelinya.
2. Custom
Software
Custom
Software adalah system yang ditugaskan oleh dan kebangkan untuk pelanggan
tertentu seperti instansi/organisasi/perorangan. Seorang software engineering
akan meranvang dan mengimplementasikan perangkat lunak tersebut khusus untuk
pelanggan tersebut.
Proses
perangkat lunak adalah serangkaian aktivitas terkait yang mengarah pada
produksi perangkat lunak system. Dalam pemrosesan perangkat lunak tidak ada
proses yang diterapkan secara universal, proses yang digunakan di berbagai
instansi/ogranisasi/perusahaan bergantung pada jenis perangkat lunak yang
dikembangkan, meskipun ada banyak proses perangkat lunak yang berbeda semuanya
harus memiliki empat aktivitas rekayasa perangkat lunak yang mendasar,
diantaranya :
1. Spesifikasi
Perangkat Lunak, fungsionalitas perangkat lunak dan Batasan system harus
ditentukan.
2. Pengembangan
Perangkat Lunak, perangkat lunak untuk memenuhi spesifikasi harus diproduksi.
3. Validasi
Perangkat Lunak, perangkat lunak harus divalidasi untuk memastikan bahwa system
melakukan apa yang diinginkan oleh pelanggan.
4. Evolusi
Perangkat Lunak, perangkat lunak harus dikembangkan untuk memenuhi kebutuhan
pelangganyang terus berubah.
Namun, saat mendeskripsikan proses, penting
juga untuk dijelaskan siapa saja terlibat, apa yang diproduksi, dan kondisi
yang mempengaruhi urutan kegitan dalam perangkat lunak :
1. Produk
adalah hasil dari suatu aktivitas proses. Misalnya, hasil dari aktivitas desain
aristektur dapat berupa model perangkat lunak arsitektur.
2. Peran
mencerminkan tanggung jawab orang-orang yang terlibat dalam proses. Contohnya
peran adalah manajer proyek, manajer konfigurasi, dan programmer.
3. Kondisi
sebelum dan sesudah adalah kondisi yang harus dimiliki sebelum dan sesudah
aktivitas proses diberlakukan atau produk yang diproduksi. Misalnya, sebelum
memulai design arsitektur dimulai, prasyaratnya adalah bahwasanya konsumen
telah menyetujui semua persyaratannya.
Model dalam proses
perangkat lunak kadang-kadang disebut dengan Software Development Life
Circle (SDLC) adalah representasi perangkat lunak yang disederhanakan
prosesnya. Setiap model proses yang merepresentasikan proses dari perspektif
tertentu dengan hanya memberikan Sebagian informasi tentang proses itu, sebagai
contoh model aktivitas proses menunjukan aktivitas dan urutannya tetapi mungkin
tidak menunjukan peran orang-orang yang terlibat dalam aktivitas ini.
Dalam proses perangkat lunak terdapat beberapa model
diantaranya :
·
Model Generik
Model ini adalah mendeskripsikan penjelasan
tingkat tinggi dari suatu proses perangkat lunak yang dapat digunakan untuk
menjelaskan pendekatan yang berbeda untuk pengembangan perangkat lunak. Anda
dapat menganggapnya sebagi kerangka proses yang dapat diperluas dan diadaptasi
untuk membuat proses rekyasa perangkat lunak yang lebih spesifik.
·
Waterfall
Metode ini mengambil aktifitas
proses yang fundamental dari spesifikasi, pengembangan, validasi, dan evolusi
dengan proses terpisah pada setiap fasenya seperti spesifikasi persyaratan,
design perangkat lunak, implementasi dan pengujian.
1. Analisis
dan definisi persyaratan Layanan sistem, batasan, dan tujuan ditetapkan
melalui konsultasi dengan pengguna sistem. Mereka kemudian didefinisikan secara
rinci dan berfungsi sebagai spesifikasi sistem.
2. Desain
sistem dan perangkat lunak Proses desain sistem mengalokasikan persyaratan
untuk sistem perangkat keras atau perangkat lunak. Ini menetapkan arsitektur
sistem secara keseluruhan. Desain perangkat lunak melibatkan pengidentifikasian
dan penggambaran abstraksi sistem perangkat lunak dasar dan hubungannya.
3. Implementasi
dan pengujian unit Selama tahap ini, desain perangkat lunak direalisasikan
sebagai satu set program atau unit program. Pengujian unit melibatkan verifikasi
bahwa setiap unit memenuhi spesifikasinya.
4. Integrasi
dan pengujian sistem Unit program atau program individual diintegrasikan
dan diuji sebagai sistem yang lengkap untuk memastikan bahwa persyaratan
perangkat lunak telah dipenuhi. Setelah pengujian, sistem perangkat lunak
dikirimkankepada pelanggan.
5. Operasi
dan pemeliharaan Biasanya, ini adalah fase siklus hidup terpanjang. Sistem
dipasang dan digunakan secara praktis. Pemeliharaan melibatkan koreksi
kesalahan yang tidak ditemukan pada tahap awal siklus hidup, meningkatkan
implementasi unit sistem, dan meningkatkan layanan sistem sebagai yang baru.persyaratan ditemukan.
·
Incremental development
Pendekatan ini menyisipkan aktivitas
spesifikasi, pengembangan, dan validasi. Sistem ini dikembangkan sebagai
serangkaian versi (increments), dengan setiap versi menambahkan fungsionalitas
ke versi sebelumnya.
Pengembangan perangkat lunak tambahan, yang merupakan bagian mendasar
dari metode pengembangan tangkas (agile development methods), lebih baik
daripada pendekatan air terjun (waterfall) untuk sistem yang persyaratannya
cenderung berubah selama proses pengembangan. Ini adalah kasus untuk sebagian
besar sistem bisnis dan produk perangkat lunak. Perkembangan inkremental
mencerminkan cara kita memecahkan masalah.
Pengembangan inkremental memiliki tiga keunggulan utama dibandingkan
model air terjun:
1. Biaya
penerapan perubahan persyaratan berkurang. Jumlah analisis dan dokumentasi yang
harus diulang secara signifikan lebih sedikit daripada yang dibutuhkan dengan
model air terjun.
2. Lebih
mudah untuk mendapatkan umpan balik pelanggan atas pekerjaan pengembangan yang
telah dilakukan. Pelanggan dapat mengomentari demonstrasi perangkat lunak dan
melihat seberapa banyak yang telah diterapkan. Pelanggan merasa sulit untuk
menilai kemajuan daridokumen desain perangkat lunak.
3. Pengiriman
awal dan penyebaran perangkat lunak yang berguna kepada pelanggan dimungkinkan,
bahkan jika semua fungsi belum disertakan. Pelanggan dapat menggunakan dan
mendapatkan nilai dari perangkat lunak lebih awal dari yang dimungkinkan dengan
proses air terjun.
Posting Komentar