3. Proses perangkat lunak merupakan serangkaian kegiatan dan hasil
yang berhubungan dengannya, yang menuju pada dihasilkannya
produk perangkat lunak.
Proses perangkat lunak sangat rumit dan, seperti semua proses
intelektual, bergantung pada penilaian manusia. Karena dibutuhkan
penilaian dan kreatifitas, keberhasilan usaha untuk mengotomasi
proses perangkat lunak menjadi terbatas.
Dhawarahmah 3
4. Satu alasan mengapa otomasi proses memiliki cakupan yang
terbatas adalah adanya keragaman proses perangkat lunak. Tidak ada
proses yang ideal & organisasi berbeda yang mengembangkan
pendekatan yang benar-benar berbeda dalam pengembangan
perangkat lunak.
Dhawarahmah 4
5. Penspesifikasian perangkat lunak. Fungsionalitas perangkat
lunak dan batasan operasinya harus didefenisikan.
Perancangan dan implementasi perangkat lunak. Perangkat
lunak yang memenuhi persyaratan harus dibuat.
Dhawarahmah 5
6. Penvalidasian perangkat lunak. Perangkat lunak tersebut
harus divasilidasi untuk menjamin bahwa perangkat lunak
bekerja sesuai dengan apa yang diinginkan pelanggan.
Pengevolusian perangkat lunak. Perangkat lunak harus
dapat berkembang untuk mengahadapi kebutuhan
pelanggan yang berubah.
Dhawarahmah 6
7. Walaupun tidak ada proses perangkat lunak yang ideal, ada banyak
cakupan untuk memperbaiki proses perangkat lunak di banyak
organisasi.
Proses bisa mencakup teknik yang sudah lama, atau bisa juga
mengambil keuntungan dari praktek terbaik rekayasa perangkat lunak
industri.
Perbaikan proses perangkat lunak dapat diimplementasikan dengan
sejumlah cara. Hal ini bisa dilakukan melalui standarisasi proses
dimana keragaman proses perangkat lunak pada suatu organisasi
diperkecil. Hal ini digunakan guna memperoleh komunikasi yang lebih
baik.
Dhawarahmah 7
8. Model proses perangkat lunak merupakan representasi abstrak dari
proses perangkat lunak. Setiap model proses merepresentasikan
suatu proses dari sudut pandang tertentu sehingga hanya
memberikan informasi parsial mengenai proses tersebut.
Model-model generik bukan merupakan deskripsi definitif dari proses
perangkat lunak. Model ini biasanya merupakan abstraksi yang dapat
digunakan untuk menjelaskan pendekatan-pendekatan terhadap
pengembangan perangkat lunak.
Dhawarahmah 8
9. Model air terjun (waterfall). Model ini mengambil kegiatan proses
dasar seperti spesifikasi, pembangunan, validasi, dan evolusi, dan
mereprentasikannya sebagai fase-fase proses yang berbeda sepeti
spesifikasi persyaratan, perancangan perangkat
lunak, implementasi, pengujian, dan seterusnya.
Pengembangan evolusioner. Pendekatan ini berhimpitan dengan
kegitan spesifikasi, pengembangan, dan validasi. Suatu sistem awal
dikembangkan dengan cepat dari spesifikasi abstrak.
Dhawarahmah 9
10. Pengembangan sistem formal. Pendekatan ini didasarkan pada
pembuatan spesifikasi sistem matematis dan pentransformasian
spesifikasi ini, dengan memakai metode matematis, untuk
membangun program.
Pengembangan berdasarkan pemakain ulang. Pendekatan ini
didasarkan atas adanya komponen yang dapat dipakai ulang dalam
jumlah signifikan.
Dhawarahmah 10
11. Proses tidak bisa dilihat. Manajer memerlukan hasil reguler untuk
mengukur kemajuan.
Sistem seringkali memiliki struktur yang buruk. Perubahan yang terus-
menerus cenderung merusak struktur perangkat lunak.penyesuaian
perubahan perangkat lunak kian menjadi sulit dan mahal.
Mungkin diperlukan alat bantu & teknik khusus. Ini memungkinkan
pengembangan yang cepat tetapi mungkin tidak kompatibel dengan alat
bantu atau teknik lain.
Dhawarahmah 11
12. Untuk sistem kecil ( kurang dari 100.000 baris kode) atau sistem
berukuran menengah ( sampai 500.000 baris kode) dengan waktu
hidup yang pendek, pendekatan evolusioner baik digunakan untuk
pengembangan.
Akan tetapi untuk sistem yang besar yang memiliki waktu hidup yang
lama masalah dengan pengembanngan evolusioner akan
menimbulkan masalah.
Dhawarahmah 12
13. Semua model sebelumnya memiliki kelebihan & kekurangan.
Untuk kebanyakan sistem besar, perlu digunakan berbagai pendekatan
untuk berbagai bagian sistem, sehingga harus digunakan model hibrid.
Lebih jauh lagi perlu ada dukungan bagi iterasi proses dimana bagian
proses diulang, sementara persyaratan sistem berubah.
Dhawarahmah 13
14. Pengembangan inkremental, dimana spesifikasi, perancangan, dan
implementasi perangkat luank dibagi menjadi serangkaian inkremen
yang dikembangkan secara begantian.
Pengembangan spiral, di mana pengembangan sistem seolah beralur
membentuk spiral ke luar dari garis awal sampai sistem
pengembangan akhir.
Dhawarahmah 14
15. Inti proses iteratif adalah bahwa spesifikasi dikembangkan dalam
hubungannya dengan perangkat lunak. Akan tetapi, hal ini merupakan
konflik dengan model pengadaan pada banyak organisasi, dimana
spesifikasi sistem yang lengkap merupakan bagian dari kontrak
pengembangan sistem.
Dhawarahmah 15
16. Rekayasa persyaratan merupakan tahap yang sangat kritis dari
proses perangkat lunak karena kesalahan pada tahap ini pada
akhirnya menimbulkan masalah lain pada perancangan dan
implementasi sistem. Proses ini diteruskan dengan dihasilkannya
dokumen persyaratan yang merupakan spesifikasi sistem.
Dhawarahmah 16
17. Studi kelayakan. Dibuat perkiraan mengenai apakah user yang
diidentifikasi puas menggunakan perangkat lunak dan teknologi
perangkat keras yang dipakai pada saat ini.
Elisitasi dan analisis persyaratan. Ini merupakan proses penurunan
persyaratan sistem melalui observasi sistem yang ada, diskusi dengan
user yang akan memakai dan mengadakan, analisis pekerjaan, dll.
Dhawarahmah 17
18. Spesifikasi persyaratan. Spesifikasi persyaratan adalah kegiatan
menerjemahkan informasi yang dikumpulkan pada kegiatan analisis
menjadi dokumen yang mendefinisikan serangkaian persyratan.
Validasi persyaratan. Kegiatan ini memeriksa apakah persyaratan
dapat direalisasikan, konsisten, dan lengkap.pada proses ini,
kesalahan pada dokumen persyaratan pada akhirnya akan
ditemukan.
Dhawarahmah 18
19. Tahap implementasi pengembangan perangkat lunak
merupakan proses perubahan spesifikasi sistem menjadi sistem yang
dapat dijalankan.
Perancangan perangkat lunak merupakan deskripsi struktur
perangkat lunak yang akan diinplementasikan, data yang
merupakan bagian sistem, interface antara komponen-komponen
sistem dan kadang-kadang, algoritma yang digunakan.
Proses perancangan bisa melibatkan pengembangan beberapa
model sistem pada tingkat abstraksi yang berbeda. Sementara
suatu perancangan diuraiakan, kesalahan dan kekurangan pada
tahap awal ditemukan
Dhawarahmah 19
20. Perancangan arsitektural. Subsistem-subsistem yang membentuk
sistem dan hubungan mereka diidentifikasi dan didokumentasi.
Spesifikasi abstrak. Untuk setiap subsistem, spesifikasi abstrak dari
layanan dan batas operasinya harus ditentukan.
Perancangan interface. Untuk setiap subsistem, interface dengan
subsistem dirancang dan didokumentasi.
Dhawarahmah 20
21. Perancangan komponen. Layanan diolokasikan pada
komponen yang berbeda dan interface komponen- komponen ini
dirancang.
Perancangan struktur data. Struktur data yang dipakai pada
implementasi sistem dirancang secara rinci dan dispesifikasi.
Perancangan algoritma. Algoritma yang digunakan untuk
memberikan layanan dirancang secara rinci dan dispesifikasi.
Dhawarahmah 21
22. Validasi perangkat lunak atau, lebih umum, verifikasi dan
validasi (V & V) ditujukan untuk menunjukkan bahwa sistem sesuai
dengan spesifikasinya dan bahwa sistem memenuhi harapan pelanggan
yang membelinya. Validasi melibatkan proses pemeriksaan.
Dhawarahmah 22
23. Fleksibilitas sistem perangkat lunak merupakan salah satu
alasan utama mengapa makin banyak perangkat lunak yang
digunakan pada sistem besar dan kompleks.
Secara historis, selalu ada pembatasan antara proses dan
pengembangan perangkat lunak dan proses evolusi perangkat
lunak.
Pembatasan ini menjadi semakin tidak relevan. Hanya sedikit
sistem yang sepenuhnya baru, dan masuk akal jika
pengembangan dan pemeliharaan dipandang sebagai kegiatan
yang berurutan.
Dhawarahmah 23
24. o Computer-Aided Software engineering (CASE) adalah nama yang
diberikan pada perangkat lunak yang dipakai untuk mendukung
kegiatan proses perangkat lunak seperti rekayasa persyaratan,
perancangan, pengembangan program, dan pengujian.
o Dengan demikian CASE tool mencakup editor perancangan, kamus
data, compiler, debugger, alat bantu pembuatan sistem, dll.
o Teknologi CASE menyediakan dukungan proses perangkat lunak
yang mengotomasi beberapa kegiatan proses dan menyediakan
informasi mengenai perangkat lunak yang sedang dikembangkan.
Dhawarahmah 24
25. Pengembangan model sistem grafis sebagai bagian spesifikasi
persyaratan atau perancangan perangkat lunak.
Pemahaman rancangan menggunakan kamus data yang
menyimpan informasi mengenai entitas dan hubungan pada
rancangan.
Pembuatan interface user dari deskripsi interface grafis yang
dibuat secara interaktif dengan user.
Debug program dengan menyediakan informasi mengenai
program yang sedang berjalan.
Penejemahan program yang terotomasi dari bahasa
pemrograman versi lama, seperti COBOL, menjadi versi yang
telah baru.
Dhawarahmah 25