bab 2 rekayasa perangkat lunak 5

19
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 Lunak Rekayasa Perangkat Lunak (Software Engineering) (Software Engineering) Bagian 2 Bagian 2 copyright © 2006 R.S. Pressman & Associates, Inc Materi ini dapat didownload di : DimaraKusumaHakim.BlogSpot.com

Upload: dimara-hakim

Post on 28-Dec-2014

3.948 views

Category:

Technology


8 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Bab 2   Rekayasa Perangkat Lunak  5

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

Page 2: Bab 2   Rekayasa Perangkat Lunak  5

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

Page 3: Bab 2   Rekayasa Perangkat Lunak  5

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.

Page 4: Bab 2   Rekayasa Perangkat Lunak  5

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

Page 5: Bab 2   Rekayasa Perangkat Lunak  5

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!

Page 6: Bab 2   Rekayasa Perangkat Lunak  5

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

Page 7: Bab 2   Rekayasa Perangkat Lunak  5

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.

Page 8: Bab 2   Rekayasa Perangkat Lunak  5

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

Page 9: Bab 2   Rekayasa Perangkat Lunak  5

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

Page 10: Bab 2   Rekayasa Perangkat Lunak  5

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 ?

Page 11: Bab 2   Rekayasa Perangkat Lunak  5

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

Page 12: Bab 2   Rekayasa Perangkat Lunak  5

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.

Page 13: Bab 2   Rekayasa Perangkat Lunak  5

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

Page 14: Bab 2   Rekayasa Perangkat Lunak  5

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

Page 15: Bab 2   Rekayasa Perangkat Lunak  5

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.

Page 16: Bab 2   Rekayasa Perangkat Lunak  5

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.

Page 17: Bab 2   Rekayasa Perangkat Lunak  5

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.

Page 18: Bab 2   Rekayasa Perangkat Lunak  5

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

Page 19: Bab 2   Rekayasa Perangkat Lunak  5

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