bab 2 rekayasa perangkat lunak 5
DESCRIPTION
TRANSCRIPT
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1
Rekayasa Perangkat Rekayasa Perangkat LunakLunak
(Software (Software Engineering)Engineering)
Bagian 2Bagian 2copyright © 2006
R.S. Pressman & Associates, Inc
Materi ini dapat didownload di :DimaraKusumaHakim.BlogSpot.com
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 2
Software Engineering: A Practitioner’s Software Engineering: A Practitioner’s Approach, 6/eApproach, 6/e
Bab 5Bab 5Praktek : Sebuah Pandangan Praktek : Sebuah Pandangan
UmumUmum
copyright © 1996, 2001, 2005, 2006
R.S. Pressman & Associates, Inc.M. Idham Ananta Timur, S.T., M.Kom
Hanya digunakan di lingkungan UniverstiasHanya boleh digandakan untuk mahasiswa di lingkungan universitas
yang menggunakan buku Software Engineering: A Practitioner's Approach.Selain itu dilarang keras menggandakan
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 3
Apakah “Praktek”?Apakah “Praktek”?
Praktek adalah sejumlah konsep, prinsip, metode Praktek adalah sejumlah konsep, prinsip, metode dan tools dan tools that yang harus dimiliki ketika software that yang harus dimiliki ketika software direncanakan dan dikembangkan.direncanakan dan dikembangkan.
Dia menunjukkan detail Dia menunjukkan detail —Konsideran teknis dan —Konsideran teknis dan praktis, yang berada di dalam proses perangkat praktis, yang berada di dalam proses perangkat lunak, sesuatu yang dibutuhkan untuk lunak, sesuatu yang dibutuhkan untuk membangun perangkat lunak komputer membangun perangkat lunak komputer berkualitas tinggi.berkualitas tinggi.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 4
Esensi PraktekEsensi Praktek
George Polya, di dalam buku yang ditulis di George Polya, di dalam buku yang ditulis di tahun 1945 menggambarkan esensi dari praktek tahun 1945 menggambarkan esensi dari praktek RPL …RPL …
Memahami permasalahanMemahami permasalahan (komunikasi dan analisis). (komunikasi dan analisis). Merencanakan solusiMerencanakan solusi (pemodelan dan desain PL). (pemodelan dan desain PL). Melaksanakan rencanaMelaksanakan rencana (pembuatan kode). (pembuatan kode). Memeriksa akurasi hasilMemeriksa akurasi hasil (menguji dan QA). (menguji dan QA).
Pada prinsipnya praktek yang baik adalah Pada prinsipnya praktek yang baik adalah pemecahan masalah yang umumpemecahan masalah yang umum
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 5
Prinsip Inti RPLPrinsip Inti RPL
Menyediakan nilai pada konsumen Menyediakan nilai pada konsumen dan penggunadan pengguna
KIS—keep it simple!KIS—keep it simple! Mengelola produk dan visi projectMengelola produk dan visi project Apa yang anda hasilkan, yang lain Apa yang anda hasilkan, yang lain
akan memanfaatkanakan memanfaatkan Terbukalah pada masa depanTerbukalah pada masa depan Rencaana ke depan untuk Rencaana ke depan untuk
menggunakan kembalimenggunakan kembali Berpikir!Berpikir!
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 6
Praktek-Praktek RPLPraktek-Praktek RPL
Memahami bingkai kerja proses umum : Memahami bingkai kerja proses umum : komunikasikomunikasi perencanaanperencanaan pemodelanpemodelan konstruksikonstruksi deploymentdeployment
Di sini kita akan mengidentifikasi : Di sini kita akan mengidentifikasi : Prinsip-prinsipPrinsip-prinsip Bagaimana memulai praktekBagaimana memulai praktek Sekelompok tugas yang bisa diperpendekSekelompok tugas yang bisa diperpendek
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 7
Praktek KomunikasiPraktek Komunikasi Prinsip-prinsipPrinsip-prinsip
Mendengar Mendengar Persiapkan sebelum komunikasiPersiapkan sebelum komunikasi Fasilitasi komunikasiFasilitasi komunikasi Tatap muka adalah yang terbaikTatap muka adalah yang terbaik Buat keputusan dan catatan tertulisBuat keputusan dan catatan tertulis Kolaborasi dengan konsumenKolaborasi dengan konsumen Tetap fokusTetap fokus Buat gambar ketika ada sesuatu yang tidak Buat gambar ketika ada sesuatu yang tidak
jelasjelas Terus bergerakTerus bergerak Negosiasi sukses ketika dua belah pihak Negosiasi sukses ketika dua belah pihak
menang.menang.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 8
Communication PracticesCommunication Practices InisiasiInisiasi
Pihak terkait harus dekat satu dengan yang lainPihak terkait harus dekat satu dengan yang lain Pastikan komunikasi interaktifPastikan komunikasi interaktif Ciptakan ekosistem tim yang solidCiptakan ekosistem tim yang solid Gunakan struktur tim yang tepatGunakan struktur tim yang tepat
Sekelompok tugas yang dapat diperpendekSekelompok tugas yang dapat diperpendek Kenali siapa yang perlu diajak bicaraKenali siapa yang perlu diajak bicara Tentukan mekanisme terbaik untuk komunikasiTentukan mekanisme terbaik untuk komunikasi Buat tujuan keseluruhan dan tentukan ruang lingkupBuat tujuan keseluruhan dan tentukan ruang lingkup Buat lebih detailBuat lebih detail
Stakeholder harus mendefinisikan skenario penggunaanStakeholder harus mendefinisikan skenario penggunaan Ambil fungsi-fungsi utamanyaAmbil fungsi-fungsi utamanya
Review hasilnya dengan semua stakeholderReview hasilnya dengan semua stakeholder
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 9
Praktek Praktek PerencanaanPerencanaan
Prinsip-prinsip :Prinsip-prinsip : Pahami ruang lingkup proyekPahami ruang lingkup proyek Libatkan konsumen (dan stakeholder yang lain)Libatkan konsumen (dan stakeholder yang lain) Kenali bahwa perencanaan adalah iteratifKenali bahwa perencanaan adalah iteratif Lakukan estimasi berdasar apa yang anda ketahuiLakukan estimasi berdasar apa yang anda ketahui Sadari resikoSadari resiko RealistisRealistis Sesuaikan hal-hal kecil yang berserakan ketika anda Sesuaikan hal-hal kecil yang berserakan ketika anda
merencanakanmerencanakan Tentukan bagaimana kualitas dapat digapaiTentukan bagaimana kualitas dapat digapai Tentukan bagaimana anda dapat mengakomodasi Tentukan bagaimana anda dapat mengakomodasi
perubahanperubahan Lacak apa yang telah anda rencanakanLacak apa yang telah anda rencanakan
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 10
Praktek Praktek PerencanaanPerencanaan
InisiasiInisiasi Berikan pertanyaan-pertanyaan Boehm :Berikan pertanyaan-pertanyaan Boehm :
Mengapa sistem mulai dikembangkan ?Mengapa sistem mulai dikembangkan ? Apa yang akan dikerjakan ?Apa yang akan dikerjakan ? Kapan itu akan selesai?Kapan itu akan selesai? Siapa yang akan bertanggung jawab?Siapa yang akan bertanggung jawab? Dimana mereka ditempatkan (secara organisatoris)?Dimana mereka ditempatkan (secara organisatoris)? Bagaimana tugas diselesaikan, baik secara teknis maupun Bagaimana tugas diselesaikan, baik secara teknis maupun
manajerial ?manajerial ? Berapa banyak untuk masing-masing sumberdayanya ?Berapa banyak untuk masing-masing sumberdayanya ?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 11
Praktek Praktek PerencanaanPerencanaan
Sekelompok tugas yang bisa diperpendekSekelompok tugas yang bisa diperpendek Periksa kembali ruang lingkup projectPeriksa kembali ruang lingkup project Periksa resikoPeriksa resiko Evaluasi fungsi/fiturEvaluasi fungsi/fitur Pahami fungsi/fitur infrastrukturPahami fungsi/fitur infrastruktur Buat rencana bertahap :Buat rencana bertahap :
Jumlah tahapan PLJumlah tahapan PL Jadwal keseluruhanJadwal keseluruhan Tanggal penyajian untuk setiap tahapanTanggal penyajian untuk setiap tahapan
Buat rencana awal yang baik untuk tahapan Buat rencana awal yang baik untuk tahapan pertamapertama
Periksa kemajuanPeriksa kemajuan
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 12
Praktek PemodelanPraktek Pemodelan
Kita membuat model untuk mendapatkan Kita membuat model untuk mendapatkan pemahaman yang lebih baik terhadap entitias pemahaman yang lebih baik terhadap entitias aktual yang akan dibangunaktual yang akan dibangun
Model AnalisisModel Analisis menampilkan kebutuhan konsumen menampilkan kebutuhan konsumen dengan melukiskan PL dalam tiga domain yang dengan melukiskan PL dalam tiga domain yang berbeda : domain informasi, domain fungsi, dan berbeda : domain informasi, domain fungsi, dan domain perilaku. domain perilaku.
Model DesainModel Desain menampilkan karakteristik PL yang menampilkan karakteristik PL yang membatu praktisi untuk mengkonstruksinya secara membatu praktisi untuk mengkonstruksinya secara efektif : arsitektur, antarmuka, detail level efektif : arsitektur, antarmuka, detail level komponen.komponen.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 13
Praktek Pemodelan AnalisisPraktek Pemodelan Analisis Prinsip-prinsip pemodelan analisisPrinsip-prinsip pemodelan analisis
Menampilkan domain informasiMenampilkan domain informasi Menampilkan fungsi PLMenampilkan fungsi PL Menampikan perilaku PLMenampikan perilaku PL Partisi dari tiga representasi iniPartisi dari tiga representasi ini Bergerak dari esensi menuju implementasiBergerak dari esensi menuju implementasi
Elemen-elemen model analisis (Bab 8)Elemen-elemen model analisis (Bab 8) Data modelData model Flow modelFlow model Class modelClass model Behavior modelBehavior model
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 14
Praktek Pemodelan DesainPraktek Pemodelan Desain Prinsip-prinsip :Prinsip-prinsip :
Desain harus dapat dilacak dari model analisisDesain harus dapat dilacak dari model analisis Senantiasa memahami arsitekturSenantiasa memahami arsitektur Fokus pada desain dataFokus pada desain data Antarmuka (pengguna maupun internal) harus didesainAntarmuka (pengguna maupun internal) harus didesain Komponen harus menunjukkan independensi fungsionalKomponen harus menunjukkan independensi fungsional Komponen-komponen harus “loosely coupled”Komponen-komponen harus “loosely coupled” Representasi desain harus mudah dipahamiRepresentasi desain harus mudah dipahami Model desain harus dikembangkan secara iteratifModel desain harus dikembangkan secara iteratif
Elemen-elemen model desainElemen-elemen model desain Data designData design Architectural designArchitectural design Component designComponent design Interface designInterface design
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 15
Praktek KonstruksiPraktek Konstruksi
Prinsip Persiapan : Sebelum anda menulis satu Prinsip Persiapan : Sebelum anda menulis satu baris kode, pastikan bahwa anda :baris kode, pastikan bahwa anda :
Memahami permasalahan yang anda coba selesaikan (lihat Memahami permasalahan yang anda coba selesaikan (lihat komunikasikomunikasi dan dan pemodelanpemodelan))
Memahami prinsip dan konsep desain dasar.Memahami prinsip dan konsep desain dasar. Mengambil bahasa pemrograman yang memenuhi Mengambil bahasa pemrograman yang memenuhi
kebutuhan PL untuk dibangun dan lingkungan dimana dia kebutuhan PL untuk dibangun dan lingkungan dimana dia beroperasi.beroperasi.
Pilih lingkungan pemrograman yang menyediakan tool Pilih lingkungan pemrograman yang menyediakan tool untuk memudahkan perkerjaan anda.untuk memudahkan perkerjaan anda.
Buat sejumlah tes unit yang akan dilakukan ketika kode Buat sejumlah tes unit yang akan dilakukan ketika kode komponen sudah lengkapkomponen sudah lengkap.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 16
Praktek KonstruksiPraktek Konstruksi
Prinsip-prinsip coding: Prinsip-prinsip coding: ketika mulai menulis program, ketika mulai menulis program, pastikan anda :pastikan anda :
Batasi algoritma anda dengan mengikuti ketentuan pemrograman Batasi algoritma anda dengan mengikuti ketentuan pemrograman terstruktur.terstruktur.
Pilih struktur data yang memenuhi kebutuhan desain.Pilih struktur data yang memenuhi kebutuhan desain. Pahami arsitektur PL dan buat antarmuka yang konsisten Pahami arsitektur PL dan buat antarmuka yang konsisten
dengannya.dengannya. Jaga logika kondisional sesederhana mungkin.Jaga logika kondisional sesederhana mungkin. Buat perulangan bersarang dg cara yang membuatnya mudah untuk Buat perulangan bersarang dg cara yang membuatnya mudah untuk
diuji.diuji. Pilih nama-nama variabel yang bermakna, dan ikuti standar lokal Pilih nama-nama variabel yang bermakna, dan ikuti standar lokal
yang lain.yang lain. Tulislah kode yang self-documenting.Tulislah kode yang self-documenting. Buatlah layout visual (indent, baris kosong) yang mempengaruhi Buatlah layout visual (indent, baris kosong) yang mempengaruhi
pemahaman.pemahaman.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 17
Praktek KonstruksiPraktek Konstruksi
Prinsip-prinsip validasi : Prinsip-prinsip validasi : Setelah anda Setelah anda melengkapi kode pertama anda, pastikan anda :melengkapi kode pertama anda, pastikan anda :
Melakukan pelacakan kode ketika dimungkinkan.Melakukan pelacakan kode ketika dimungkinkan. Melakukan tes unit dan memperbaiki kesalahan yang anda Melakukan tes unit dan memperbaiki kesalahan yang anda
temukan.temukan. Refactor kode program. Refactor kode program.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 18
Praktek KonstruksiPraktek Konstruksi
Prinsip-prinsip PengujianPrinsip-prinsip Pengujian Semua tes harus bisa dilacak dari requirementSemua tes harus bisa dilacak dari requirement Pengujian harus bisa direncanakanPengujian harus bisa direncanakan Menggunakan prinsip paretoMenggunakan prinsip pareto Pengujian mulai dari “kecil” dan bergerak ke “besar”Pengujian mulai dari “kecil” dan bergerak ke “besar” Pengujian yang melelahkan tidak mungkinPengujian yang melelahkan tidak mungkin
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 19
Praktek DeploymentPraktek Deployment
Prinsip-prinsip :Prinsip-prinsip : Kelola harapan pengguna pada setiap tahapKelola harapan pengguna pada setiap tahap Paket penyajian lengkap harus disusun terpadu dan Paket penyajian lengkap harus disusun terpadu dan
terujiteruji Tim pendukung harus disediakanTim pendukung harus disediakan Materi pelatihan harus disediakan pada pengguna akhirMateri pelatihan harus disediakan pada pengguna akhir PL yang buggy, diperbaiki dulu, baru disajikanPL yang buggy, diperbaiki dulu, baru disajikan