pti453 02 rekayasa perangkat lunak
DESCRIPTION
Pengantar Rekayasa Perangkat Lunak (RPL)TRANSCRIPT
Didik Dwi - Teknik Elektro UM
Subbahasan
Perangkat Lunak
Evolusi & Karakteristik PL
Rekayasa Perangkat Lunak
Krisis PL
Mitos-Mitos Perangkat Lunak
2
Didik Dwi - Teknik Elektro UM
What is Software?
Software = Program?
Software = Aplikasi?
3
Didik Dwi - Teknik Elektro UM
Software is …
1. instructions (computer programs) that when executed provide desired function and performance,
2. data structures that enable the programs to adequately manipulate information, and
3. documents that describe the operation and use of the programs
4
Didik Dwi - Teknik Elektro UM
[IEEE definition] Software is …
Software is the collection of computer programs, procedure rules and associated documentation and data.
5
Didik Dwi - Teknik Elektro UM
[the conclusion] Software is …
6
PL adalahsekelompok item atau objekyang membentuk“konfigurasi” di manadi dalamnyatermasuk :
• program • dokumen• data ...
programs
docs
data
SW
Didik Dwi - Teknik Elektro UM
Peran Ganda PL
PL adalah sebuah produk Memberikan potensi komputasi
Menghasilkan, mengelola, memperoleh, modifikasi, menampilkan atau mengirimkan informasi
PL adalah alat untuk menyajikan sebuahproduk Mendukung atau menyediakan langsung
fungsionalitas sistem
Mengendalikan program lain (e.g., sistem operasi)
Membantu membangun PL lain (e.g., PL kakas)
7
Didik Dwi - Teknik Elektro UM
Perangkat Lunak
Evolusi & Karakteristik PL
Rekayasa Perangkat Lunak
Krisis PL
Mitos-Mitos Perangkat Lunak
8
Didik Dwi - Teknik Elektro UM
Evolusi PL
9
Didik Dwi - Teknik Elektro UM
Evolusi PL (2)
Tahun-tahun awal (1950 - 1965)
Orientasi batch → update data pada periode tertentu
Distribusi terbatas
Dibuat menurut pesanan
Era Kedua (1965 - 1975)
Multiuser → pembagian hak akses
Real-time → update data langsung
Database → pengolahan data lebih efisien
10
Didik Dwi - Teknik Elektro UM
Evolusi PL (3)
Era Ketiga (1975 - 1987)
Sistem terditribusi
Embedded Intelligence
Low cost hardware
Era Keempat (1987 - 2000)
Object Oriented Technologies
Expert Systems
AI, neural networks
Parallel computing
11
Didik Dwi - Teknik Elektro UM
Karakteristik PL
PL adalah elemen sistem yang lojik (bukan fisik seperti elemen bangunan atau komputer)
PL dibangun atau dikembangkan (engineered, not manufactured)
PL tidak pernah usang atau aus (wear out), namun dapat memburuk (deteriorate)
Sampai saat ini kebanyakan PL masih dibuat menurut pesanan (custom built)
12
Didik Dwi - Teknik Elektro UM
Karakteristik PL (2)
PL lebih kompleks (dibanding perangkat keras)
Rancangan yang buruk berakibat pada biaya pemeliharaan PL.
Kegagalan pada PL disebabkan oleh kesalahan saat rancangan dan implementasi, BUKANkarena susut atau aus.
13
Didik Dwi - Teknik Elektro UM
Types of Software
System software. This software includes theoperating system and all utilities that enablethe computer to function
Application software. These consist of programs that do real work for users.
14
Didik Dwi - Teknik Elektro UM
Abstract View
15
Didik Dwi - Teknik Elektro UM
Example
16
System Software Application Software
Operating System
Debuggers
Compilers
Utilities
Image editor
Word processors
Spreadsheets
Databases
Games
Communication
software
etc
Didik Dwi - Teknik Elektro UM
Pengelompokkan Lain
system software
application software
engineering/scientific software
embedded software
product-line software
WebApps (Web applications)
AI software
17
Didik Dwi - Teknik Elektro UM
Perangkat Lunak
Evolusi & Karakteristik PL
Rekayasa Perangkat Lunak
Krisis Perangkat Lunak
Mitos-Mitos Perangkat Lunak
18
Didik Dwi - Teknik Elektro UM
Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak (RPL) / Software Engineering (SE)
Teknologi yang harus digunakan oleh setiap orang yang akan membangun PL, dengan melalui serangkaian proses, menggunakan sekumpulan metode dan alat bantu (Pressman, 1997)
19
Didik Dwi - Teknik Elektro UM
Rekayasa Perangkat Lunak (2)
RPL: (1) Penerapan secara sistematis, disiplin, pendekatan terukur padapengembangan, pengoperasian, dan pemeliharaan PL. (2) Studi terhadap (1) (IEEE, 1993)
20
Didik Dwi - Teknik Elektro UM
Rekayasa Perangkat Lunak (3)
Menurut Sommerville:
Disiplin Rekayasa (Metodologi)
Kegiatan Produksi Perangkat Lunak
Mulai tahap spesifikasi s/d pemeliharaan sistem
21
Didik Dwi - Teknik Elektro UM
Disiplin Rekayasa
Menjamin bahwa produk dapat bekerja dengan baik
Menggunakan teori, metode dan tool bantu yang sesuai (selektif) untuk menyelesaikan masalah.
22
Didik Dwi - Teknik Elektro UM
Disiplin Rekayasa (2)
Bekerja secara tim dan dana yang terukur
Mampu beradaptasi (melakukan perubahan jika diperlukan) untuk menyesuaikan dengan batasan yang ada
Tidak selalu harus “best solution” namun “appropriate solution” (dalam lingkup constraint)
23
Didik Dwi - Teknik Elektro UM
Bagaimana RPL diaplikasikan?
Dua elemen penting RPL:
Product = Software
Programs
Documents
Data
Process of how the software is build
Management process
Technical process
24
Didik Dwi - Teknik Elektro UM
Kapan RPL diaplikasikan?
Pre-project
Project initiation
Project realisation
Software delivery and maintenance
25
Didik Dwi - Teknik Elektro UM
Siapa yang Terlibat?
Manager
Project manager
Configuration manager
Quality assurance manager
Software Developer
Analyst
Designer
Programmer
Support
26
Didik Dwi - Teknik Elektro UM
Perangkat Lunak
Evolusi & Karakteristik PL
Krisis Perangkat Lunak
Mitos-Mitos Perangkat Lunak
27
Didik Dwi - Teknik Elektro UM
Software Crisis
Krisis PL: masalah-masalah terkait pengembangan PL.
Banyak proyek pengembangan PL mengalami kegagalan.
Kasus kegagalan:
Melebihi anggaran/waktu
Tidak efisien
Kualitas rendah
Mengakibatkan kerusakan fisik hingga kematian
28
Didik Dwi - Teknik Elektro UM
Kasus Krisis PL
False alarm incident (Gulf War 1983)
Nuclear war (PD III??)
Sistem peringatan dini Soviet
Bug sinar matahari
29
Didik Dwi - Teknik Elektro UM
Kasus Krisis PL
AT&T (1990)
Mode reset pada sentral switching
Sebaris kode menyebabkan kesalahan(perintah “Break”)
Macet 9 jam, 75 juta panggilan dan ratusan ribu reservasi pesawat hilang
30
Didik Dwi - Teknik Elektro UM
Tantangan RPL
31
Didik Dwi - Teknik Elektro UM
Perangkat Lunak
Evolusi & Karakteristik PL
Krisis Perangkat Lunak
Mitos-Mitos Perangkat Lunak
32
Didik Dwi - Teknik Elektro UM
Mitos dan Realita PL
Mitos : Staf saya punya alat bantu pengembangan yang canggih. Bahkan dibelikan komputer generasi terbaru.
Realita : Perlu lebih dari sekadar komputer terbaru untuk mengembangkan perangkat lunak berkualitas. CASE tools lebih penting daripada perangkat keras untuk mengejar kualitas dan produktivitas.
33
Didik Dwi - Teknik Elektro UM
Mitos dan Realita PL (2)
Mitos : Jika kita terlambat, kita dapat menambahorang lebih banyak dan mengejar keterlambatan.
Realita : Pengembangan PL bukan prosesmekanis seperti manufaktur. Jika kita menambah orang pada proyek yang terlambat, itu justru akan lebih terlambat.
34
Didik Dwi - Teknik Elektro UM
Mitos dan Realita PL (3)
Mitos : Sebuah kalimat umum yang menyatakan objektivitas sudah cukup untuk memulai menulis program. Detailnya nanti saja.
Realita : Definisi awal yang buruk merupakansebab utama gagalnya kerja PL. Deskripsi yang detail dan formal tentang domain informasi, fungsi, unjuk kerja, performa, interface, batasandesain, dan kriteria validasi merupakan halmendasar. Karakteristik ini dapat ditentukanhanya melalui komunikasi antara pelanggandengan developer.
35
Didik Dwi - Teknik Elektro UM
Mitos dan Realita PL (4)
Mitos : Produk yang perlu diberikan untuk proyek yang sukses adalah programnya saja.
Realita : Program hanyalah salah satu komponen perangkat lunak.
Dokumentasi sangat penting sebagai dasar pengembangan yang sukses serta sebagai petunjuk untuk pemeliharaan PL.
36
Didik Dwi - Teknik Elektro UM
Conclusion
PL adalah sekelompok item/objek yang membentuk “konfigurasi” di mana di dalamnya termasuk: program, dokumen, dandata.
RPL merupakan teknologi yang harusdigunakan oleh setiap orang yang akanmembangun PL.
melalui serangkaian proses,
menggunakan sekumpulan metode dan alat bantu
37
Didik Dwi - Teknik Elektro UM
Referensi
Pressman, R. 2004. Software engineering: a practitioner’s approach, 6th Edition. McGrawHill. USA
Sommerville, I. 2009. Software Engineering, 8th Edition. Addison Wesley PublishingCompany
38
Didik Dwi - Teknik Elektro UM
NEXT…
Software Process…
39