2. software engineering

31
PENGANTAR RPL (Pert. 2—chapter 1 Pressman) Oleh : Sarwosri, S.Kom, M.T. Umi Laili Yuhana, S.Kom, M.Sc. 1 RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011

Upload: yuliana-eka-purwati-dpl

Post on 26-Jun-2015

283 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 2. Software Engineering

PENGANTAR RPL(Pert. 2—chapter 1 Pressman)

Oleh : Sarwosri, S.Kom, M.T.

Umi Laili Yuhana, S.Kom, M.Sc.

1

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011

Page 2: 2. Software Engineering

Tujuan Perkuliahan

• Memberikan gambaran tentang perangkat lunak, rekayasa perangkat lunak.

• Memberikan gambaran tentang cakupan rekayasa perangkat lunak, pentingnya RPL dan siapa-siapa saja yang terlibat di dalamnya.

2RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011

Page 3: 2. Software Engineering

Agenda• Definisi Software• Macam-macam software• Mitos seputar software• Definisi Software Engineering (RPL)• Mengapa perlu SE• Bagaimana seharusnya diterapkan SE• Kapan diterapkan SE• Siapa yang terlibat SE• Apa atribut perangkat lunak yang baik?

3RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011

Page 4: 2. Software Engineering

Definisi Software (Perangkat Lunak)

• Perangkat lunak adalah sekumpulan item atau objek yang membentuk konfigurasi yangmencakup– Program– Dokumen– Data

4RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011

Page 5: 2. Software Engineering

Definisi Software (Perangkat Lunak)

• Program komputer, prosedur, dankemungkinan terkait dokumentasi dandata yang terkait dengan pengoperasian darisistem komputer(IEEE Standard Glossary of Software Engineering Terminology, 1990)

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 5

Page 6: 2. Software Engineering

Definisi Software (Perangkat Lunak)

• Software dirancang dan dibangun oleh Insinyur perangkat lunak.

• Software digunakan oleh hampir semua orang dalam masyarakat

• Insinyur Perangkat Lunak memiliki kewajiban moral untuk membangun software yang handal sehingga tidak akan merugikan orang lain.

• Pengguna Perangkat Lunak hanya peduli apakahproduk perangkat lunak telah memenuhi harapan mereka danmembuat tugas-tugas mereka lebih mudah untuk diselesaikan.

6RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011

Page 7: 2. Software Engineering

Definisi Software (Perangkat Lunak)

• Software merupakan sebuah produk dan kendaraan untukmemberikan suatu produk (informasi).

• Perangkat lunak direkayasa tidak diproduksi. • Perangkat lunak tidak rusak, tetapi memburuk.

7RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011

Page 8: 2. Software Engineering

Definisi Software (Perangkat Lunak)

• Software merupakan sebuah produk dan kendaraan untukmemberikan suatu produk (informasi).

• Perangkat lunak direkayasa tidak diproduksi. • Perangkat lunak tidak rusak, tetapi memburuk.• Saat ini, sebagian besar perangkat lunak dibangun secara

custom (dikembangkan untuk pelanggan secara individual sesuai spesifikasi mereka)

8RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011

Page 9: 2. Software Engineering

Failure (“Bathtub”) Curve for Failure (“Bathtub”) Curve for HardwareHardware

Time

Failure R

ate

Infantmortality Wear

out

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011

Page 10: 2. Software Engineering

Wear vs. DeteriorationWear vs. Deterioration for SoftWare for SoftWare

idealized curve

change

actual curve

Failurerate

Time

increased failurerate due to side effects

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011

Page 11: 2. Software Engineering

Jenis-Jenis Aplikasi Perangkat Lunak

• System software• Application software• Embedded software• Engineering/Scientific software• Product software• Web Applications• Artificial intelligence software•

11RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011

Page 12: 2. Software Engineering

The Cost of The Cost of ChangeChange

Definition Development After release

1x

1.5-6x

60-100x

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011

Page 13: 2. Software Engineering

Mitos Software• Masih diyakini oleh banyak manajer dan praktisi• Membahayakan karena mereka memiliki

unsur-unsur kebenaran• Setiap praktisi dan manajer harus memahami realitas

bisnis perangkat lunak

13RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011

Page 14: 2. Software Engineering

Mitos Software:Dari sudut pandang Client

MITOS REALITA

Sebuah pernyataan umumdari tujuan cukup untuk mendapatkanselanjutnya. Isian secara rinci dilakukan kemudian.

Definisi yang tidak rinci diawal requirement atau kebutuhan adalah penyebab utama kegagalan dan keterlambatan perangkat lunak.

Kebutuhan Proyek terus berubah, tetapiperubahan dapat dengan mudah diakomodasi karena software fleksibel.

Biaya dari perubahan untukperangkat lunak untuk memperbaiki suatu kesalahan meningkat secara dramatis pada tahap selanjutnya dari kehidupan software.

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 14

Page 15: 2. Software Engineering

Mitos Software:Dari sudut pandang Developer

MITOS REALITASetelah program ditulis danbekerja, pekerjaan pengembang telah selesai.

50% -70% dari usaha pengeluaran program terjadi setelah dikirim ke pelanggan.

Sampai program berjalan, tidak ada cara untuk menilai kualitas.

Review Software dapat lebihefektif dalam menemukan kesalahan daripada pengujian untuk kelas-kelas tertentu yang memiliki kesalahan.

Hanya diserahkan untuk proyek yang sukses adalah program yang jalan.

Suatu konfigurasi perangkat lunakmeliputi dokumentasi, regenerasi file, masukan (input) data uji, dan hasil data uji.

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 15

Page 16: 2. Software Engineering

Mitos Software:Dari sudut pandang Manajemen

MITOS REALITAAda Buku standar sehingga perangkat lunak yang dikembangkan akan memuaskan.

Buku mungkin ada, tetapi merekabiasanya tidak up to date dan tidak digunakan.

Komputer dan kakas (tools) perangkat lunak yang tersedia sudah cukup.

CASE tools diperlukan tetapi biasanya tidak diperoleh atau tidak digunakan.

Kita selalu dapat menambahkan jumlahprogrammer jika proyekterlambat penyelesaiannya

"Menambahkan orang untuk proyek yang terlambat akan membuat penyelesaian perangkat lunak lebih terlambat "-. Brooks

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 16

Page 17: 2. Software Engineering

Apa Software Engineering (Rekayasa Perangkat Lunak)

• Rekayasa Perangkat Lunak adalah pembentukan dan prinsip-prinsip rekayasa yang tepat untuk mendapatkan perangkat lunak yang ekonomis, dapat dipercaya dan bekerja efisien pada mesin sesungguhnya (Fritz Bauer, 1969)

• Rekayasa Perangkat Lunak adalah [1] penerapansecara sistematis, disiplin, pendekatan terukur terhadap pembangunan, operasi, dan pemeliharaanperangkat lunak, dan [2] studi tentang pendekatan seperti pada [1](IEEE, 1993)

17RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011

Page 18: 2. Software Engineering

Mengapa RPL (1)

• Untuk membuat perangkat lunak dengan benar (proses) dan mendapatkan perangkat lunak yang benar (produk)

• Adanya Kompleksitas Perangkat Lunak– Domain problem: Business Rule– Ukuran Data : Digital and Non Digital– Solution: Algorithm– Tempat atau Situs

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 18

Page 19: 2. Software Engineering

Mengapa RPL (2)

• Perangkat Lunak harus benar• Kebenaran perangkat lunak harus bisa

dipelihara

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 19

Page 20: 2. Software Engineering

Bagaimana seharusnya diterapkan RPL

• Cakupan RPL (2 hal)– Produk = Software

• Programs• Documents• Data

– Proses bagaimana membangun perangkat lunak• Management process• Technical process

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 20

Page 21: 2. Software Engineering

Produk RPL

• Produk diperoleh melalui tahapan Pengembangan = Software Development LifeCycle (SDLC)

• Contoh siklus hidup (SDLC):– Waterfall model– V model– Spiral model– Fountain model– Prototyping

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 21

Page 22: 2. Software Engineering

Proses RPL

• Management Process meliputi:– Project management– Configuration management– Quality Assurance management

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 22

Page 23: 2. Software Engineering

Proses RPL

• Technical Process, digambarkan sebagai metode yang akan diterapkan dalam tahap tertentu dari SDLC – Analysis methods– Design methods– Programming methods– Testing methods

• Metode teknis ini yang memunculkan paradigma seperti berorientasi terstruktur, objek, aspek, dll

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 23

Page 24: 2. Software Engineering

Kapan diterapkan RPL

• Pre-project• Project Initiation• Project Realisation• Software Delivery & Maintenance

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 24

Page 25: 2. Software Engineering

Siapa yang terlibat RPL

• Manager– Project Manager– Configuration Manager– Quality Assurance Manager

• Software Developer:– Analyst– Designer– Programmer

• Support– Administration– Technical Support for Customer (help desk, customer care)– Welfare (Kesejahteraan)

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 25

Page 26: 2. Software Engineering

CASE(Computer-Aided Software Engineering)

• Perangkat lunak sistem yang dimaksudkan untuk memberikandukungan otomatis untuk kegiatan proses perangkat lunak.

• CASE sistem sering digunakan untuk mendukung metode.– Upper-CASE

• Tools (Alat/Kakas) untuk mendukung proses kegiatan awal penggalian kebutuhan, analisis dan desain

– Lower-CASE• Alat untuk mendukung kegiatan berikutnya seperti

pemrograman, debugging dan pengujian.

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 26

Page 27: 2. Software Engineering

Apa atribut perangkat lunak yang baik

• Perangkat lunak ini harus memberikan fungsi yang diperlukan dan kinerja bagi pengguna dan harus dipertahankan, diandalkan dan dapat diterima.– Maintainability (mudah dipelihara/dirawat)

• Software harus berevolusi untuk memenuhi perubahan kebutuhan– Dependability (dapat diandalkan)

• Software harus dapat dipercaya– Efficiency (Daya Guna)

• Efisien dalam penggunaan sumber daya sistem (memori, hardware, listrik, dll)

– Acceptability (Dapat diterima)• Perangkat Lunak harus diterima oleh pengguna seperti yang pernah

dirancang. Ini berarti harus bisa dimengerti, digunakan dan kompatibel dengan sistem lainnya.

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 27

Page 28: 2. Software Engineering

Apa saja tantangan utama yang dihadapiRPL?

• Heterogeneity (keberagaman)– Mengembangkan teknik untuk membangun perangkat lunak yang

dapat mengatasi perbedaan platform dan lingkungan eksekusi.

• Delivery (pengiriman)– Mengembangkan teknik yang mengakibatkan pengiriman

perangkat lunak lebih cepat.

• Trust (kepercayaan)– Mengembangkan teknik yang menunjukkan bahwa perangkat lunak

dapat dipercaya oleh para penggunanya.

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 28

Page 29: 2. Software Engineering

DISKUSI

• Apakah Ada Kode Etik untuk seorang insinyur perangkat lunak• Sebutkan apa saja kode etiknya.

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 29

Page 30: 2. Software Engineering

Agenda Kuliah M-3

• Mempelajari Macam-macam SDLC• Tugas dikerjakan dikelas, studi kasus: mhs diminta menentukan

SDLC yang cocok dan alasannya. (Nilai 5%)• Diterangkan oleh DOSEN

30RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011

Page 31: 2. Software Engineering

Pustaka

• Pressman, R. S., Software Engineering: A Practitioner's Approach, 8th Edition, McGraw-Hill, 2008, chapter 1

• Sommerville, I., Software Engineering 8th edition, Addison-Wesley, 2007, chapter 1

RPL JURUSAN TEKNIK INFORMATIKA - ITS GASAL 2010/2011 31