Kelas : B
KELOMPOK 1
Dosen Pengampu
FEBRUARI 2024
Sumber : Roger S. Pressman – Software Engineering :A Practitioner’s Approach 8th Edition,
2005
Jawaban :
1. Hukum konsekuensi tak terduga dapat dilihat dalam berbagai aspek perangkat
lunak komputer, seperti:
a) Kebutuhan untuk pembaruan dan pemeliharaan konstan yang
menyebabkan peningkatan konsumsi sumber daya dan biaya.
b) Kerentanan keamanan yang tidak terduga muncul dari sistem perangkat
lunak yang kompleks.
c) Masalah kompatibilitas dengan perangkat keras atau sistem operasi baru,
memerlukan rekayasa ulang yang ekstensif.
d) Dampak negatif tak terduga pada privasi pengguna atau keamanan data
akibat fitur perangkat lunak yang berkembang.
e) Dampak lingkungan yang tidak terduga dari pembuangan perangkat lunak
dan perangkat keras usang.
2. Dampak positif dan negatif perangkat lunak pada masyarakat :
a) Dampak positif meliputi peningkatan konektivitas dan komunikasi, akses
yang lebih baik ke informasi dan layanan, serta peningkatan produktivitas
dan efisiensi di berbagai industri.
b) Dampak negatif mungkin meliputi kekhawatiran privasi, pelanggaran data,
penggusuran pekerjaan akibat otomatisasi, dan kesenjangan digital, di
mana beberapa populasi kekurangan akses ke teknologi dan sumber daya
digital.
3. Pertanyaan yang diajukan di awal Bagian 1.1 dapat dijawab sebagai berikut:
a. Waktu yang diperlukan untuk menyelesaikan pengembangan perangkat
lunak dipengaruhi oleh kompleksitas proyek, kebutuhan akan pengujian
yang cermat, dan sifat iteratif desain perangkat lunak.
b. Biaya pengembangan yang tinggi dapat diatribusikan kepada kebutuhan
akan keterampilan khusus, pengujian yang ekstensif, dan permintaan
untuk langkah-langkah keamanan yang kuat.
c. Mengidentifikasi semua kesalahan sebelum memberikan perangkat lunak
kepada pelanggan adalah tantangan karena kompleksitas sistem perangkat
lunak modern dan potensi interaksi yang tidak terduga antara komponen.
d. Pemeliharaan perangkat lunak membutuhkan waktu karena perlunya
pembaruan terus-menerus, perbaikan bug, dan patch keamanan untuk
memastikan perangkat lunak tetap berfungsi dan aman.
e. Kesulitan dalam mengukur kemajuan selama pengembangan dan
pemeliharaan perangkat lunak dapat berasal dari perubahan persyaratan,
teknologi yang berkembang, dan sifat iteratif desain perangkat lunak.
4. Untuk mengurangi potensi kerusakan dari perubahan dalam aplikasi modern,
perangkat lunak dapat dibangun dengan strategi berikut:
a. Menerapkan arsitektur modular dan fleksibel untuk mengakomodasi
perubahan di masa depan tanpa mengganggu keseluruhan sistem.
b. Memanfaatkan pengujian otomatis dan integrasi kontinu untuk mendeteksi
dan menangani masalah secara dini dalam proses pengembangan.
c. Mengadopsi metodologi pengembangan agile untuk memfasilitasi adaptasi
cepat terhadap perubahan persyaratan dan umpan balik pengguna.
d. Prioritaskan dokumentasi dan kontrol versi untuk melacak perubahan dan
memfasilitasi transisi yang mulus antara versi perangkat lunak.
e. Memeluk praktik DevOps untuk menyederhanakan implementasi dan
pemeliharaan perangkat lunak, memungkinkan pembaruan cepat dan
perbaikan bug.
5. Meskipun prinsip-prinsip dasar rekayasa perangkat lunak berlaku di berbagai kategori
perangkat lunak, implementasi dan pertimbangan spesifik dapat bervariasi. Misalnya:
a. Perangkat lunak sistem dapat memerlukan fokus pada optimisasi tingkat
rendah dan interaksi perangkat keras, sementara perangkat lunak aplikasi
dapat memprioritaskan pengalaman pengguna dan fungsionalitas.
b. Perangkat lunak tertanam dapat menekankan kinerja real-time dan batasan
sumber daya, sedangkan aplikasi web dapat memprioritaskan skalabilitas
dan keamanan.
c. Prinsip-prinsip inti rekayasa perangkat lunak berlaku secara universal,
aplikasi spesifik dan adaptasi prinsip-prinsip ini dapat berbeda
berdasarkan persyaratan dan kendala unik dari setiap kategori perangkat
lunak.
[1] J. McDermid, Book review: Software Engineering: a Practitioner’s Approach, vol. 10, no.
6. 1995.
[2] R. S. . author Pressman, “Software engineering : a practitioner’s approach,” 2015.
[3] “Software engineering : a practitioner’s approach.” [Online]. Available:
https://lib.ui.ac.id/detail?id=20419072&lokasi=lokal. [Accessed: 01-Mar-2024].
[4] R. H. Sukarna and A. M. Januariana, “Rekayasa Perangkat Lunak Pelayanan Surat Dan
Pengolahan Data Kependudukan Berbasis Database,” J. Pengabdi. Din., vol. 8, pp. 79–83,
2021.
[5] A. Kurniawan, “Rekayasa Perangkat Lunak Aplikasi Penjualan Pada Toko Story Time
Factory Outlet Menggunakan Pemrograman Java,” Univ. Andalas, pp. 1–10, 2014.