KOM 331 3(2-3) – Rekayasa Perangkat Lunak

Post on 25-Feb-2016

55 views 0 download

description

KOM 331 3(2-3) – Rekayasa Perangkat Lunak. Panji Wasmana Sony Hartono Wijaya – sony@ipb.ac.id Departemen Ilmu Komputer IPB 2009. updated : 25 Februari 2009. Pertemuan 1 – Introduction. Panji Wasmana Sony Hartono Wijaya – sony@ipb.ac.id Departemen Ilmu Komputer IPB 2009. - PowerPoint PPT Presentation

Transcript of KOM 331 3(2-3) – Rekayasa Perangkat Lunak

KOM 331 3(2-3) –

Rekayasa Perangkat LunakPanji Wasmana

Sony Hartono Wijaya – sony@ipb.ac.id

Departemen Ilmu Komputer IPB2009

updated : 25 Februari 2009

Pertemuan 1 –

IntroductionPanji Wasmana

Sony Hartono Wijaya – sony@ipb.ac.id

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