2. o Rekayasa perangkat lunak merupakan satu
disiplin ilmu yang bertujuan mengembangkan
sistem perangkat lunak yang dari segi
biaya.
o Perangkat lunak bersifat abstrak dan tidak
nyata. Perangkat lunak tidak terbuat dari
unsure, mengikuti hukum fisika atau proses
manufaktur.
RPL - 01 - PENDAHULUAN 2
3. o Rekayasa perangkat lunak masih merupakan
disiplin yang relative muda.
o Istilah “rekayasa perangkat lunak”
pertama kali diajukan pada tahun 1968 pada
konferensi yang diselenggarakan untuk
membahasa apa yang pada waktu itu disebut
“krisis perangkat lunak”.
RPL - 01 - PENDAHULUAN 3
4. o Krisis perangkat lunak ini merupakan akibat
langsung dari lahirnya perangkat keras
komputer dari generasi ketiga yang canggih
(pada waktu itu). Kecanggihan membuat
aplikasi komputer yang belum terealisasi
pada saat itu menjadi beberapa kali lipat
lebih besar dan lebih kompleks dari sistem
perangkat lunak sebelumya.
RPL - 01 - PENDAHULUAN 4
5. FAQ (FreQuently Asked Question/Pertanyaan
yang paling sering diajukan).
Pendekatan ini umum digunakan di internet
newsgroup untuk memberikan jawaban bagi
pertanyaan-pertanyaan yang paling sering
ditanyakan.
RPL - 01 - PENDAHULUAN 5
6. o Perangkat lunak tidak hanya mencakup program,
tetapi juga semua dokumentasi dan konfigurasi data
yang berhubungan, yang diperlukan untuk membuat
program beroperasi dengan benar.
o Sistem perangkat lunak biasanya terdiri dari
sejumlah program yang terpisah, file-file
konfigurasi yang digunakan untuk membuat program-
program ini, dokumentasi sitem yang
mendeskripsikan struktur sistem dan dokumentasi
user yang menjelaskan bagaimana penggunaan sistem
RPL - 01 - PENDAHULUAN 6
7. o Produk generik yang merupakan sistem stand alone
(berdiri sendiri) standar yang diproduksi oleh
organisasi pengembang dan dijual pada pasar terbuka ke
siapapun yang bias membelinya. Kadangkala perangkat
lunak ini disebut sebagai perangkat lunak shrink-
wrapped (dikecilkan dan dikemas).
o Produk Pesanan (yang disesuaikan). Ini merupakan
sistem-sistem yang dipesan oleh pelanggan tertentu.
Perangkat lunak dikembangkan khusus bagi pelanggan
tersebut oleh kotraktor perangkat lunak.
RPL - 01 - PENDAHULUAN 7
8. Rekayasa perangkat lunak adalah disiplin
ilmu yang membahas semua aspek produksi
perangkat lunak, mulai dari tahap awal
spesifikasi sistem sampai pemeliharaan sistem
setelah digunakan.
RPL - 01 - PENDAHULUAN 8
9. Rekayasa sistem atau lebih tepatnya,
rekayasa sistem berbasis komputer,
berhubungan dengan semua aspek pengembangan
dan evolusi sistem kompleks dimana perangkat
lunak memainkan peran utama.
Rekayasa sistem berkenaan dengan
pengembangan perangkat keras, perancangan
kebijakan dan proses, dan penyebaran sistem.
RPL - 01 - PENDAHULUAN 9
10. Proses perangkat lunak adalah
serangkaian kegiatan dan hasil-hasil
relevannya yang menghasilkan perangkat
lunak. Kegiatan-kegiatan ini sebagian
besar dilakukan oleh perekayasa
perabgkat lunak
RPL - 01 - PENDAHULUAN 10
11. o Spesifikasi Perangkat Lunak. Fungsionalitas
perangkat lunak dan batasan kemampuan operasinya
harus didefinisikan.
o Pengembangan Perangkat Lunak. Perangkat lunak yang
memenuhi spesifikasi tersebut harus diproduksi.
o Validasi Perangkat Lunak. Perangkat lunak harus
divalidasi untuk menjamin bahwa perangkat lunak
melakukan apa yang diinginkan oleh pelanggan.
o Evolusi Perangkat Lunak. Perangkat lunak harus
berkembang untuk memenuhi kebutuhan pelanggan yang
berubah-ubah.
RPL - 01 - PENDAHULUAN 11
12. Model proses perangkat lunak merupakan deskripsi
yang disederhanakan dari proses perangkat lunak yang
dipresentasikan dengan sudut pandang tertentu.
Model, sesuai sifatnya perupakan penyederhanaan
sehingga model proses perangkat lunak merupakan
abstraksi dari proses sebenarnya yang
dideskripsikan. Model proses bisa mencakup kegiatan
yang merupakan bagian dari proses perangkat lunak.
RPL - 01 - PENDAHULUAN 12
13. o Model aliran kerja (workflow). Model ini
menunjukkan urutan kegiatan pada proses bersama
dengan input, output dan ketergantungannya.
o Model aliran data (data flow) atau kegiatan. Model
ini merepresentasikan proses sebagai satu set
kegiatan yang masing-masing melakukan transformasi
data.
o Model peran/aksi. Model ini merepresentasikan
peran orang yang terlibat pada proses perangkat
lunak dan kegiatan yang menjadi tanggung jawab
mereka.
RPL - 01 - PENDAHULUAN 13
14. o Pendekatan Air Terjun (waterfall). Cara ini memakai
kegiatan-kegiatan di atas dan merepresentasikannya sebagai
fase proses yang berbeda seperti spesifikasi persyaratan,
perancangan perangkat lunak, implementasi, pengujian, dan
seterusnya. Tahap “diakhiri” (signed of) dan pengembangan
berlanjut ke tahap berikutnya.
o Pengembangan Evolusioner. Pendekatan ini bertumpang tindih
dengan kegiatan spesifikasi, pengembangn dan validasi.
Sistem awal dengan cepat dikembangkan dari spesifikasi yang
sangat abstrak. Sistem ini kemudian di sempurnakan dengan
masukan dari pelanggan untuk menghasilkan sistem yang
memenuhi kebutuhan pelanggan tersebut.
RPL - 01 - PENDAHULUAN 14
15. o Transformasi Formal. Pendekatan ini menghasilkan suatu
sistem matematis yang formal dan mentransformasikan
spesifikasi ini dengan menggunakan metode matematik
menjadi sebuah program. Transformasi ini bersifat
“mempertahankan kebenaran”.
o Perakitan (Assembling) sistem dari komponen – komponen
yang dapat dipakai ulang. Teknik ini menganggap bahwa
bagian-bagian sistem sudah ada. Proses pengembangan
sistem terfokus pada pengintegrasian bagian-bagian ini
dan bukan pengembangannya dari awal.
RPL - 01 - PENDAHULUAN 15
16. Jika mengambil biaya total pengembangan sistem perangkat
lunak yang kompleks sebesar 100 satuan biaya, maka :
o Distribusi biaya ini berlaku ketika biaya spesifikasi,
perancangan, implementasi dan integrasi diukur secara
terpisah
o biaya kegiatan ini menghabiskan sekitar 40 % dari biaya
pengembangan total, tetapi beberapa sistem kritis mungkin
menghabiskan sekitar 50 % dari biaya sistem total.
Distribusi biaya pengembangan
RPL - 01 - PENDAHULUAN 16
17. Jika perangkat lunak dikembangkan dengan menggunakan
pendekatan evolusione, maka tidak ada batasan yang jelas antara
spesifikasi, perancangan dan pengembangan.
Biaya spesifikasi dikurangi karena hanya spesifikasi
tingkat tinggi yang dihasilkan sebelum pengembangn dengan
pendekatan ini. Spesifikasi, perancangan, inplementasi,
integrasi, dan engujian dilakukan secara parallel dalam
kegiatan pengembangan.
Biaya pengembangan evolusioner
RPL - 01 - PENDAHULUAN 17
18. Diatas biaya pengembangan, juga disediakan biaya
untuk perubahan perangkat lunak setelah digunakan.
Untuk kebanyakan sistem perangkat lunak yang
memiliki waktu hidup yang lama, biaya ini cenderung
melebihi biaya pengembangan, yakni sebesar 3 atau 4
kalinya .
Biaya evolusi
RPL - 01 - PENDAHULUAN 18
19. Untuk produk perangkat lunak yang sebagian besar dijual
PC, profil biaya mungkin berbeda. Produk-produk ini biasanya
dikembangkan berdasarkan spesifikasi garis besar dengan
menggunakan pendekatan pengembangan evolusioner.
Biaya spesifikasi relative rendah, akan tetapi karena
ditujukan untuk kegunaan dengan konfigurasi yang berbeda,
produk ini harus diuji secara ekstensif.
Biaya pengembangan produk
RPL - 01 - PENDAHULUAN 19
20. Metode rekayasa perangkat lunak merupakan
pendekatan terstruktur terhadap pengembangan
perangkat lunak yang bertujuan memfasilitasi
produksi perangkat lunak kualitas tinggi dengan cara
yang efektif dalam hal biaya.
Semua metode didasarkan atas ide pengembangan
model sistem yang dapat direpresentasikan secara
grafis dan menggunakan model ini sebagai spesifikasi
atau perancangan sistem.
RPL - 01 - PENDAHULUAN 20
22. CASE merupakan singkatan dari Computer-
Aided Software Engineering.
CASE mencakup berbagai macam program yang
digunakan untuk mendukung kegiatan perangkat
lunak seperti analisis persyaratan, pemodelan
sistem, debugging, dan pengujian
RPL - 01 - PENDAHULUAN 22
23. o Tantangan warisan (legacy) yaitu tantangan memelihara
dan meng-update perangkat lunak ini sedemikian sehingga
biaya yang berlebihan dapat dihindari dn layanan bisnis
yang penting tetap dilakukan.
o Tantangan heterogenitas yaitu tantangan teknik
pengembangan untuk membangun perangkat lunak yang dapat
diandalkan dan cukup fleksibel untuk menghadapi
heterogenetis ini.
o Tantangan pengiriman yaitu tantangan mempersingkat
waktu kirim sistem besar dan kompleks, tanpa mengurangi
kualitas sistem.
RPL - 01 - PENDAHULUAN 23
24. o Konfidensialitas. Perekayasa umumnya harus menghormati
konfidensialitas atasan atau kliennya walaupun tidak ada
persetujuan konfidensialitas formal yang ditandatangani.
o Kompetensi. Perekayasa tidak boleh menyalahi tingkat
kompetensinya.
o Hak property intelektual. Perekayasa harus menyadari hukum
lokal yang mengatur penggunaan property intelektual seperti
paten, hak cipta, dsb.
o Penyalahgunaan komputer. Perekayasa perangkat lunak tidak
boleh menggunakan keahlian teknis mereka untuk
menyalahgunakan komputer orang lain.
RPL - 01 - PENDAHULUAN 24