kom 331 3(2-3) – rekayasa perangkat lunak
DESCRIPTION
KOM 331 3(2-3) – Rekayasa Perangkat Lunak. Panji Wasmana Sony Hartono Wijaya – [email protected] Departemen Ilmu Komputer IPB 2009. updated : 25 Februari 2009. Pertemuan 1 – Introduction. Panji Wasmana Sony Hartono Wijaya – [email protected] Departemen Ilmu Komputer IPB 2009. - PowerPoint PPT PresentationTRANSCRIPT
KOM 331 3(2-3) –
Rekayasa Perangkat LunakPanji Wasmana
Sony Hartono Wijaya – [email protected]
Departemen Ilmu Komputer IPB2009
updated : 25 Februari 2009
Pertemuan 1 –
IntroductionPanji Wasmana
Sony Hartono Wijaya – [email protected]
Departemen Ilmu Komputer IPB2009
updated : 25 Februari 2009
KENAPA PERLU REKAYASA PERANGKAT LUNAK ?DEFINISI REKAYASA PERANGKAT LUNAK
PRODUK PERANGKAT LUNAK
PROSES PERANGKAT LUNAK MATERI KULIAH
KENAPA PERLU REKAYASA PERANGKAT LUNAK ?DEFINISI REKAYASA PERANGKAT LUNAKPRODUK PERANGKAT LUNAKPROSES PERANGKAT LUNAK
MATERI KULIAH
Materi Kuliah
Pendahuluan
Analisis
Perancangan
Metode Berorientasi Obyek
Implementasi dan Pengujian
Maintenance
Menguasai algoritma pemrograman dan perancangan basis data
Mengembangkan perangkat lunak secara sistematis dan
terukur dengan mengimplementasikan
metode-metode pengembangan perangkat lunak yang klasik maupun
terkini
Tujuan kuliah
ReferensiSommerville I. 2004 & 2006. Software Engineering .7th or 8th Edition, Addison-Wesley, Harlow, Essex,UK
Pressman RS. 2005. Software Engineering. 6th Edition. McGraw-Hill
Pilone D. & Miller R. 2008. Head First Software Development. O’Reilly
ReferensiBennett S. et al. 2002.Object Oriented System Analysis and Design Using UML. McGraw-Hill
Materi Kuliah dan Diskusi• www.ilkom.fmipa.ipb.ac.id/
kulon
• Enrollment key : rpl0809
• Username dan First Name diisi dengan nomor NRP. – Mahasiswa yang tidak
memenuhi ketentuan tersebut tidak akan diterima menjadi anggota kuliah online RPL
Penilaian dan Kontrak Perkuliahan• Semester Ganjil 2009/2010
– Kuliah : Selasa, 19.00 – 20.40 – KOM Baranangsiang– Praktikum :
Rabu dan Kamis, 19.00 – 21.00 - Lab.
• Penilaian :– UTS : 30%– UAS : 30%– Project, Praktikum dan Tugas: 40% (Progress 10%, Presentasi 20%)
• Ujian perbaikan menyusul , maksimal 1 minggu setelah jadwal ujian yang telah ditetapkan
• Toleransi keterlambatan maksimal 15 menit
KENAPA PERLU REKAYASA PERANGKAT LUNAK ?DEFINISI REKAYASA PERANGKAT LUNAKPRODUK PERANGKAT LUNAKPROSES PERANGKAT LUNAK MATERI KULIAH
Pengembangan Perangkat Lunak
memerlukan effort yang tinggi !
Membedakan sistem sederhana dan
sistem kompleks
Problem pada umumnya kompleks
Kenapa perlu RPL ?
Ukuran Perangkat Lunak yang besar
UNIX mengandung 4 juta baris kodeWindows 2000
mengandung 108 baris kode
Menghindari error yang disebabkan perangkat lunak
Kenapa perlu RPL ?
Hilangnya pesawat ruang angkasa Voyager
Banyak orang terbunuh karena
radiasi mesin
Beberapa pesawat penumpang (umum)
tertembak saat perang teluk
Kejadian yang disebabkan error perangkat lunak
Software bug - Famous computer bugsSoftware bug - Space exploration• NASA Mariner 1 went off-course during launch, due to a
missing 'bar' in its FORTRAN software (July 22, 1962).[6]• NASA Apollo 11 landing problem (July 20, 1969).• NASA Voyager 2 (January 25, 1986).• Phobos 1 lost (September 10, 1988).• ESA Ariane 5 Flight 501 self-destruction 40 seconds after
takeoff (June 4, 1996).• NASA Mars Climate Orbiter destroyed due to incorrect
orbit insertion (September 23, 1999).• Mars Polar Lander lost (December 3, 1999).• NASA Mars Rover freezes due to too many open files in
flash memory (January 21, 2004).
Software bug - Medical• The Therac-25 accidents (1985-1987), quite possibly the
most serious computer-related failure ever in terms of human life lost.
Software bug - Telecommunications• AT&T long distance network crash (January 15, 1990).
Software bug - Computing• Pentium FDIV bug, resulting in inaccuracies in certain
floating point division (FDIV) operations.• Pentium F0 bug, causing the processor to stop under
certain instructions.• The year 2000 problem, popularly known as the "Y2K
bug", spawned fears of worldwide economic collapse and an industry of consultants providing last-minute fixes.
Software bug - Military• The MIM-104 Patriot bug, which resulted in the
deaths of 28 Americans in Dharan, Saudi Arabia (February 25, 1991).
• Chinook crash on Mull of Kintyre
Software bug - Video games• The Missingno. and Glitch City bugs, found in the
Pokémon series• The Minus world in NES version of Super Mario
Brothers
http://www.experiencefestival.com/a/Software_bug_-_Famous_computer_bugs/id/4880583
KENAPA PERLU REKAYASA PERANGKAT LUNAKDEFINISIREKAYASA PERANGKAT LUNAK
PRODUKPERANGKAT LUNAK
PROSES PERANGKAT LUNAKMATERI KULIAH
Definisi Rekayasa Perangkat Lunak
• Disiplin ilmu rekayasa yang berhubungan dengan semua aspek yang terkait dengan pembuatan perangkat lunak
• Harus melakukan pendekatan yang sistematis dan terorganisasi dalam menyelesaikan pembuatan perangkat lunak
• Harus menggunakan alat bantu dan teknik yang sesuai bergantung dengan problem yang akan dipecahkan dan ketersediaan sumber daya
Software Engineer
Rekayasa Perangkat
Lunak (Software
Engineering)
Perbedaan Rekayasa Perangkat Lunak dan Rekayasa Sistem ?
• Rekayasa Perangkat Lunak adalah bagian dari Rekayasa Sistem
• Rekayasa Sistem (mis: Sistem Informasi) terkait dengan semua aspek pengembangan sistem berbasis komputer yang meliputi :– Perangkat keras (Hardware),– Jaringan (Netware) – Perangkat lunak (Software)– Data (dataware)– Manusia (brainware)
• System engineers melibatkan kegiatanSpesifikasi sistem, perancangan arsitektur, integrasi dan deployment
KENAPA PERLU REKAYASA PERANGKAT LUNAKDEFINISI REKAYASA PERANGKAT LUNAK
PRODUK PERANGKAT LUNAK
PROSES PERANGKAT LUNAKMATERI KULIAH
Apakah Perangkat Lunak itu ?• Perangkat Lunak adalah suatu kumpulan objek-objek
yang membentuk sebuah konfigurasi yang terdiri dari: – program – dokumen– data ...
What is Software?
• Software is engineered, tidak direkayasa dengan metode klasik (1 design to all)
• Software doesn’t wear out, tidak akan lekang dimakan waktu, kecuali spesifikasi kebutuhan berubah.
• Software is complex, multidisiplin, multi aspek.
Waktu penggunaan vs. Tingkat kegagalan
idealized curve
change
actual curve
Failurerate
Time
increased failurerate due to side effects
Biaya perubahan
Definition Development After release
1x
1.5-6x
60-100x
Aplikasi Perangkat Lunak q Perangkat Lunak Sistemq Perangkat Lunak Real timeq Perangkat Lunak Bisnisq Perangkat Lunak Teknik atau Sainsq Embedded Softwareq Perangkat Lunak PCq Perangkat Lunak AIq Aplikasi Web
Perangkat Lunak Sistem
q Sistem Operasiq Kompilatorq Perangkat Lunak Utilitasq Anti Virus
Perangkat Lunak Real Time
q Perangkat Lunak Pengendali Reaktor Kimiaq Perangkat Lunak Pengendali Pesawat Terbangq Perangkat Lunak untuk Vehicle Tracking Systemq dll
Perangkat Lunak Bisnis
q Cash Registerq Sistem Inventoryq Sistem Informasi Akuntansiq Sistem Informasi Eksekutifq dll
Embedded Software
q Smart Cardq Microwaveq dll
Perangkat Lunak PC
q Pengolah Kataq Pengolah Dataq Presentasiq dll
Perangkat Lunak AI
q Sistem Pakarq Optimasiq Gameq Robot
SE in plain text• Serangkaian metode yang diterapkan untuk
menghasilkan Software yang berkualitas.
• Disiplin Ilmu yang mendasari arsitektur sebuah aplikasi
• Berkualitas memiliki kedekatan arti dengan pemuasan konsumen
Studi Kasus
Tom the adventure Guys…
Siapakah Tom?• Seorang cowo macho!!• Memiliki pekerjaan sebagai trail guide• Aktif dalam berbagai perkumpulan• Pengguna aktif Internet
Komponen dalam project SE
• Pendanaan• Waktu
• Complexity dan kualitas
Apa yang biasanya terjadi?
Pelajaran dari studi kasus• Mind reader?• Tidak ada metode dalam rekayasa?• Team?• Optimasi kerja?• Komunikasi dengan customer?
Diskusi dan Pertanyaan?
Tantangan Proses PengembanganPerangkat Lunak
q Bagaimana kita bisa menjamin kualitas perangkat lunak yang kita bangun ?
q Bagaimana kita tetap dapat memenuhi permintaan yang meningkat tapi tetap mampu mengontrol budget ?
q Bagaimana dapat menghindari keterlambatan waktu pengembangan ?
q Bagaimana kita dapat dengan sukses memperkenalkan teknologi baru ?
Jawabannya ???
P R O S E S !
Terima Kasih
Minggu Depan :• Process
•Go deep with Tom