Engineering
SOFTWARE AND SOFTWARE ENGINEERING
SOFTWARE ENGINEERING
SOFTWARE ENGINEERING
Computer software: ditulis dengan bahasa buatan yang disebut bahasa
pemrograman (programming language)
Mirip dengan novel, artikel, tulisan ilmiah, yang juga disusun dari katakata, namun punya keistimewaan, dapat berinteraksi langsung dengan
dunia luar
Hasil yang ditulis dari bahasa pemrograman disebut program
Beda program dengan software:
Program: deret symbol yang dijalankan oleh computer
Software: seperti pada hardware, sebutan umum untuk program
Dalam bahasa Inggris, software tidak memiliki bentuk plural program ada
SOFTWARE ENGINEERING
Tujuan mata kuliah ini adalah untuk mencari proses, metode, yang
dapat digunakan untuk membangun software yang dapat memenuhi
kebutuhan dunia saat ini
SOFTWARE ENGINEERING
Dari keabstrakannya, dalam keilmuannya (Ilmu Pasti), SE dekat dengan
ilmu komputer atau matematika
Dari sudut pandang bagaimana software itu dibuat menggunakan
bahasa pemrograman , maka SE dekat dengan ilmu sastra
Metode penulisan program mirip dengan cara menulis buku (B.W. Kernighan,
et.al. 1974)
SOFTWARE ENGINEERING
SOFTWARE ENGINEERING
Tasks in Software
Engineering
Sama dengan bidang engineering yang lain, pekerjaan dalam SE mencakup:
Modeling
Apa permasalahannya, sistem seperti apa yang harus dibuat, tidak jelas diberikan
dari awal. Perlu dilakukan analisis terhadap target domain, identifikasi masalah,
menangkap kebutuhan pengguna. Diperlukan teknik pemodelan.
Specification
Dalam engineering, mendeskripsikan spesifikasi dengan benar, merupakan syarat
utama.
Design
Inti dari engineering adalah desain.
Verification
Apakah sistem telah dibuat sesuai spesifikasinya? Perlu verifikasi.
Maintenance
Sistem yang hanya dibuat saja tidak bermanfaat. Pemeliharaan, upaya untuk
menyesuaikan dengan kebutuhan dan perubahan lingkungan juga diperlukan.
Organization
Pada umumnya, sistem tidak dibangun oleh satu orang. Perlu teknik manajemen
untuk membangun dalam organisasi.
SOFTWARE ENGINEERING
SOFTWARE ENGINEERING
Sejarah Software
Engineering
Pembangunan software dimulai sejak ditemukannya komputer
ENIAC (1946), program dibuat dengan menyambung-nyambungkan kabel
SOFTWARE ENGINEERING
Krisis software
Kebutuhan akan software tidak diimbangi dengan teknologi untuk
membuatnya dan juga infrastrukturnya
jadwal pembangunan yang terlambat
kualitas produknya rendah (1960)
SOFTWARE ENGINEERING
10
Perkembangan SE
Software Engineering muncul untuk menyelamatkan krisis
Pertama kali diangkat dalam konferensi NATO, Garmisch (Deutsh), 1968
Tahun 1970an, pemrograman terstruktur, banyak diteliti/dikaji, baik dari
sisi teori maupun aplikasinya
Pada era ini lah, pondasi pemrograman, metodologi perancangan, dan
teknik analisis kebutuhan dibuat
Tahun 1980an, lagi-lagi permintaan/kebutuhan software tidak diimbangi
dengan perkembangan engineering
Muncul bidang ilmu manajemen (spt. quality control, configuration
management), software process di dalam software engineering
Software Process: CMM, ISO9000
SOFTWARE ENGINEERING
11
Keragaman aplikasi
Dibandingkan sebelumnya (tahun 70an), tahun 90an, aplikasi software
makin beragam
menyebarnya PC dan Internet
pembebasan, desentralisasi, miniaturisasi, multimedia
software engineering yang selama ini dikembangkan jadi "ketinggalan"?
SOFTWARE ENGINEERING
12
Cakupan software
engineering
Literatur yang umum:
I. Sommerville, Software Engineering (6th Ed.), Addison-Wesley, 2001
R. Pressman, Software Engineering, A Practioner's Approach (5th Ed.),
McGraw-Hill, 2001
SOFTWARE ENGINEERING
13
Kematangan engineering
dalam software engineering
Mary Shaw, Prospects for an engineering discipline of software, IEEE
Software, 7(6):1524, November 1990:
Teknologi lahir dari industri dan seni/kerajinan tangan. Setelah keduanya
saling terhubung, masuk tahapan komersialisasi. Kemudian jika ilmu
pengetahuan ikut andil juga, maka lahirlah engineering.
Dibandingkan dengan bidang lain, software, baru bagian pemrograman dan
bagian khusus lain saja yang sudah masuk tahapan engineering.
SOFTWARE ENGINEERING
14
SOFTWARE ENGINEERING
15