1 Software Engineering: A Practitioner’s Approach, 6/e Software Engineering: A Practitioner’s Approach, 6/e Perangkat Lunak dan Perangkat Lunak dan Rekayasanya Rekayasanya Oleh : DIDIK TRISTIANTO, S.Kom., M.Kom. [email protected]
Jan 31, 2016
1
Software Engineering: A Practitioner’s Software Engineering: A Practitioner’s Approach, 6/eApproach, 6/e
Perangkat Lunak dan Perangkat Lunak dan RekayasanyaRekayasanya
Oleh :
DIDIK TRISTIANTO, S.Kom., [email protected]
SEKILAS BIODATA
Didik Tristianto, S.Kom., M.KomDidik Tristianto, S.Kom., M.Kom
Rumah : 1. Perum Kertosari Indah K-16 Ponorogo (Asal)Rumah : 1. Perum Kertosari Indah K-16 Ponorogo (Asal)
2. Klampis Ngasem Gang 4 No. 15 dan Gang 6 No. 8 2. Klampis Ngasem Gang 4 No. 15 dan Gang 6 No. 8 Sukolilo Sukolilo
Telp : 031 777 19 352 dan 082132312897Telp : 031 777 19 352 dan 082132312897 e mail :[email protected] Web : narotama.ac.ide mail :[email protected] Web : narotama.ac.id
Pendidikan : S - 1 Ilmu Komputer UGM Yogyakarta Lulus Peb Pendidikan : S - 1 Ilmu Komputer UGM Yogyakarta Lulus Peb 19941994 S - 2 Ilmu Komputer UGM Yogyakarta Lulus April S - 2 Ilmu Komputer UGM Yogyakarta Lulus April 20052005
Pustaka Wajib
1. Pressman, R. S., Software Engineering: A Practitioner’s Approach, 8th Edition, McGraw-Hill, 2008
2. Sommerville, I., Software Engineering 8th Edition, Addison-Wesley, 2007.
3. Stephen R. Schach: Object-Oriented and Classical Software Engineering, 7th Edition, Prentice Hall, 2001
4
Peran Ganda Perangkat Peran Ganda Perangkat Lunak (PL)Lunak (PL)
PL adalah sebuah produkPL adalah sebuah produk Menyajikan potensi komputasiMenyajikan potensi komputasi Menghasilkan, mengelola, memperoleh, modifikasi, Menghasilkan, mengelola, memperoleh, modifikasi,
menampilkan atau mengirimkan informasimenampilkan atau mengirimkan informasi PL adalah alat untuk menyajikan sebuah produkPL adalah alat untuk menyajikan sebuah produk
Mendukung atau menyediakan langsung fungsi sistemMendukung atau menyediakan langsung fungsi sistem Mengendalikan program lain (mis : sistem operasi)Mengendalikan program lain (mis : sistem operasi) Mempengaruhi komunikasi (mis : PL jaringan)Mempengaruhi komunikasi (mis : PL jaringan) Membantu membangun PL lain (mis : tool PL)Membantu membangun PL lain (mis : tool PL)
5
Apakah RPL Apakah RPL ??
RPL adalah sekelompok item atau objek Yang membentuk “konfigurasi” dimana di dalamnya termasuk : • program • dokumen • data ...
Pengertian secara Umum
Rekayasa Perangkat Lunak suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisis kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, desain, pengkodean, Implementasi, pengujian sampai pemeliharaan sistem setelah digunakan.
Rekayasa Perangkat Lunak ≠ Program
Rekayasa Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi.
Rekayasa Perangkat lunak dapat berupa program atau prosedur.
Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan
prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi (O’Brien, 1999).
TUJUAN RPL1. Memperoleh biaya
produksi perangkat lunak yang rendah.
2. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu.
3. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform.
4. Menghasilkan perangkat lunak yang biaya perawatannya rendah.
9
Apakah PL ? Apakah PL ? Sebuah perbandingan dengan Sebuah perbandingan dengan
HardwareHardware PL ‘dirakit’PL ‘dirakit’ PL tidak kadaluwarsa/ter updatePL tidak kadaluwarsa/ter update PL lebih kompleksPL lebih kompleks
RUANG LINGKUP
RPL Bagian dari Disiplin Ilmu Komputer
POSISI RPL
SEJARAH RPL
TIPE MASALAH
SIKLUS SOLUSI RPL
18
Aplikasi Aplikasi PLPL system softwaresystem software
application softwareapplication software engineering/scientific engineering/scientific
software software embedded software embedded software product-line softwareproduct-line software WebApps (Web applications)WebApps (Web applications) AI softwareAI software
19
Kategori Baru PLKategori Baru PL Obiquitous computing Obiquitous computing — jaringan nirkabel— jaringan nirkabel NetsourcingNetsourcing—Web sebagai mesin komputasi—Web sebagai mesin komputasi Open sourceOpen source—kode program dibuka gratis —kode program dibuka gratis
kepada komunitas komputasi)kepada komunitas komputasi) Juga …Juga …
Data miningData mining Grid computingGrid computing Cognitive machinesCognitive machines Software for nanotechnologiesSoftware for nanotechnologies
20
Perubahan PLPerubahan PL
PL harus ber-PL harus ber-adaptasiadaptasi untuk memenuhi untuk memenuhi kebutuhan lingkungan komputasi atau kebutuhan lingkungan komputasi atau teknologi baru.teknologi baru.
PL harus di-PL harus di-perbaikiperbaiki untuk untuk mengimplementasi kebutuhan bisnis baru.mengimplementasi kebutuhan bisnis baru.
PL harus PL harus diperluasdiperluas untuk membuatnya untuk membuatnya dapat berdapat berinteroperasiinteroperasi dengan sistem dan dengan sistem dan database modern yang lain.database modern yang lain.
PL harus PL harus di-arsitek ulangdi-arsitek ulang untuk untuk membuatnya ‘hidup’ di tengah-tengah membuatnya ‘hidup’ di tengah-tengah lingkungan jaringanlingkungan jaringan.
Kenapa harus berubah ?
21
Mitos PLMitos PL
Mempengaruhi manajer, pelanggan (dan Mempengaruhi manajer, pelanggan (dan stakeholder non teknis lainnya) serta para stakeholder non teknis lainnya) serta para praktisipraktisi
Dipercaya karena mereka sering mempunyai Dipercaya karena mereka sering mempunyai bagian-bagian kebenaran., bagian-bagian kebenaran.,
namun…namun… Sering menuju ke keputusan yang salah, Sering menuju ke keputusan yang salah,
Oleh karena itu …Oleh karena itu … Tetaplah pada realita seiring dengan jalan Tetaplah pada realita seiring dengan jalan
rekayasa perangkat lunakrekayasa perangkat lunak