Catatan Kuliah Rekayasa Perangkat Lunak Software Engineering Bagian

  • Slides: 18
Download presentation
Catatan Kuliah Rekayasa Perangkat Lunak (Software Engineering) Bagian 2 copyright © 2006 R. S.

Catatan Kuliah Rekayasa Perangkat Lunak (Software Engineering) Bagian 2 copyright © 2006 R. S. Pressman & Associates, Inc M. Idham Ananta Timur, S. T. , M. Kom. Hanya digunakan di lingkungan Universtias Hanya boleh digandakan untuk mahasiswa di lingkungan universitas yang menggunakan buku Software Engineering: A Practitioner's Approach. Selain itu dilarang keras menggandakan. Presentasi, slide atau hardcopy tidak boleh digunakan untuk short courses, seminar industri, atau kepentingan konsultasi. 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

Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Rekayasa Kebutuhan copyright © 1996, 2001,

Software Engineering: A Practitioner’s Approach, 6/e Chapter 7 Rekayasa Kebutuhan copyright © 1996, 2001, 2005 R. S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited. 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

Rekayasa Kebutuhan I n permulaan—tanya beberapa pertanyaan yang menjelaskan : n n n n

Rekayasa Kebutuhan I n permulaan—tanya beberapa pertanyaan yang menjelaskan : n n n n Pemahaman dasar dari masalah Orang yang membutuhkan solusi Keadaan dari solusi yang diinginkan Efektivitas komunikasi dan kolaborasi awal antara konsumen dengan developer Perolehan—memperoleh kebutuhan dari semua stakeholder Penguraian—membuat model analisis yang mampu melakukan identifikasi kebutuhan data, fungsi dan perilaku Negosiasi—menyepakati sistem penyajian yang realistis bagi konsumen dan developer 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

Rekayasa Kebutuhan-II n Spesifikasi—salah satu dari berikut ini : n n n Validasi—memeriksa mekanisme

Rekayasa Kebutuhan-II n Spesifikasi—salah satu dari berikut ini : n n n Validasi—memeriksa mekanisme yang memuat n n n Dokumen tertulis Sekelompok model Matematika formal Sekumpulan skenario user (use-cases) Prototipe Kesalahan isi atau interpretasi Area dimana klarifikasi dibutuhkan Informasi yang hilang inkonsistensi (masalah utama ketika produk atau sistem besar direkayasa) Kebutuhan yang konflik atau tidak realistis. Manajemen Kebutuhan 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

Permulaan n Kenali stakeholder n n “who else do you think I should talk

Permulaan n Kenali stakeholder n n “who else do you think I should talk to? ” Kenali beberapa sudut pandang Berusahalah menuju kolaborasi Pertanyaan pertama n n Siapa di belakang permintaan atas pekerjaan ini ? Siapa yang akan menggunakan solusi ini? Apa keuntungan ekonomi dari solusi yang sukses ? Apakah ada sumber solusi lain yang anda butuhkan? 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

Memperoleh Kebutuhan These courseware materials are to be used in conjunction with Software Engineering:

Memperoleh Kebutuhan 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

Memperoleh Kebutuhan n n n Pertemuan diadakan dihadiri baik oleh software engineer maupun konsumen

Memperoleh Kebutuhan n n n Pertemuan diadakan dihadiri baik oleh software engineer maupun konsumen Aturan persiapan dan partisipasi dibuat Agenda ditawarkan Seorang fasilitator (bisa konsumen, developer atau orang luar) mengendalikan pertemuan Mekanisme definisi digunakan (bisa berupa kertas kerja, grafik, bulletin board elektronik, forum virtual dsb Tujuannya adalah n n Menemukan permasalahan Mengajukan elemen-elemen solusi Negosiasi pendekatan yang berbeda Menentukan sekelompok kebutuhan solusi awal 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

Penyebaran Fungsi Kualitas n n Penyebaran fungsi menemukan “nilai” (dalam persepsi konsumen) dalam setiap

Penyebaran Fungsi Kualitas n n Penyebaran fungsi menemukan “nilai” (dalam persepsi konsumen) dalam setiap fungsi yang diperlukan sistem Penyebaran Informasi menentukan event dan objek data Penyebaran Tugas memeriksa perilaku sistem Analisis Nilai menentukan prioritas relatif dari kebutuhan 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

Mendapatkan Produk-Produk Kerja n n n n Sebuah pernyataan kebutuhan dan kemungkinan dikerjakan. Pernyataan

Mendapatkan Produk-Produk Kerja n n n n Sebuah pernyataan kebutuhan dan kemungkinan dikerjakan. Pernyataan terbatas tentang lingkup sistem atau produk. Daftar konsumen, pengguna dan stakeholder lain yang berpartisipasi dalam pengumpulan kebutuhan Deskripsi lingkungan teknis sistem. Daftar kebutuhan (disarankan dikelompokkan berdasar fungsi) dan batasan domain yang diterapkan pada masing kebutuhan. Sekelompok skenario penggunaan yang menyediakan wawasan pada penggunaan sistem atau produk dalam kondisi operasi yang berbeda. Beberapa prototype yang dikembangkan untuk definisi kebutuhan yang lebih baik 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

Use-Cases n n n Sekelompok skenario pengguna yang menggambarkan alur penggunaan sistem Setiap skenario

Use-Cases n n n Sekelompok skenario pengguna yang menggambarkan alur penggunaan sistem Setiap skenario digambarkan dari sudut pandang “aktor”, seseorang atau piranti yang berinteraksi dengan PL dalam berbagai cara Setiap skenario menjawab pertanyaan-pertanyaan berikut : : n n n n n Siapa aktor primer dan sekunder ? Apa tujuan aktor ? Prekondisi apa yang harus ada sebelum cerita dimulai? Apa tugas atau fungsi utama yang dilakukan oleh aktor ? Ekstensi apa yang harus diperhatikan ketika cerita digambarkan? Variasi apa yang mungkin pada interaksi aktor? Sistem informasi apa yang dibutuhkan, diproduksi atau diubah aktor ? Apakah aktor harus menginformasikan kepada sistem tentang perubahan di lingkungan luar ? Informasi apa yang diharapkan aktor dari sistem ? Apakah aktor berharap diinformasikan tentang perubahan yang tidak terduga ? 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

Use-Case Diagram These courseware materials are to be used in conjunction with Software Engineering:

Use-Case Diagram 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

Membangun Model Analisis n Elemen-elemen model analisis n Elemen-elemen berbasis skenario n n n

Membangun Model Analisis n Elemen-elemen model analisis n Elemen-elemen berbasis skenario n n n Elemen-elemen berbasis Class n n Dipengaruhi oleh skenario Elemen-elemen Perilaku/Behavioral n n Fungsional—memproses narasi untuk fungsi PL Use-case—gambaran interaksi antara aktor dan sistem State diagram Elemen-elemen berorientasi aliran n Data flow diagram 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

Class Diagram From the Safe. Home system … These courseware materials are to be

Class Diagram From the Safe. Home system … 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

State Diagram These courseware materials are to be used in conjunction with Software Engineering:

State Diagram 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

Pola-Pola Analisis Nama Pola: sebutan yang mengungkap esensi pola. Maksud: Menggambarkan apa yang dilakukan

Pola-Pola Analisis Nama Pola: sebutan yang mengungkap esensi pola. Maksud: Menggambarkan apa yang dilakukan atau direpresentasikan pola Motivasi: Sebuah skenario yang menggambarkan bagaimana pola dapat digunakan untuk menyelesaikan masalah. Pengaruh dan Konteks: deskripsi isu eksternal yang dapat mempengaruhi bagaimana pola digunakan, dan isu eskternal yang akan diselesaikan ketika pola diterapkan. Solusi: Deskripsi tentang bagaimana pola diterapkan untuk menyelesaikan masalah dengan tekanan pada isu struktural dan perilaku. Konsekuensi: menunjukkan apa yang terjadi apabila pola diterapkan dan apa kerugian yang ada selama aplikasi tersebut dijalankan. Desain: Membahas bagaimana pola analisis dapat diterima melalui penggunakan pola desain (design patterns) yang sudah dikenal. Penggunaan yang sudah dikenal: Contoh penggunaan di dalam sistem aktual. Pola terkait: Satu atau lebih pola analisis yang terkait dengan nama pola yang ada karena (1)secara umum digunakan dengan nama pola; (2)secara struktur mirip dengan nama pola; (3)variasi dari nama pola. 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

Negosiasi Kebutuhan n Mengenali stakeholder kunci n n Menentukan “kondisi menang” setiap stakeholder n

Negosiasi Kebutuhan n Mengenali stakeholder kunci n n Menentukan “kondisi menang” setiap stakeholder n n Orang-orang ini yang akan dilibatkan negosiasi Kondisi kemenangan tidak selalu jelas Negosiasi n Bekerja menuju sekumpulan kebutuhan yang merupakan winwin solution 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

Validasi Kebutuhan-I n n n Apakah setiap kebutuhan konsisten dengan tujuan keseluruhan sistem/produk? Apakah

Validasi Kebutuhan-I n n n Apakah setiap kebutuhan konsisten dengan tujuan keseluruhan sistem/produk? Apakah semua kebutuhan telah dispesifikasikan pada tingkat abstraksi yang tepat ? Apakah beberapa kebutuhan pada tingkatakan detail teknis tidak tepat pada level ini ? Apakah kebutuhan benar-benar diperlukan ataukan dia hanya merupakan fitur tambahan yang tidak esensial bagi tujuan sistem ? Apakah setiap kebutuhan terbatasi dengan baik dan tidak ambigu ? Apakah setiap kebutuhan mempunyai atribut ? Apakah sebuah sumber tercatat untuk setiap kebutuhan ? Apakah setiap kebutuhan konflik dengan kebutuhan lain ? 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

Validasi Kebutuhan--II n n n Apakah setiap kebutuhan dapat diterima dalam lingkungan teknik yang

Validasi Kebutuhan--II n n n Apakah setiap kebutuhan dapat diterima dalam lingkungan teknik yang menjadi rumah bagi sistem/produk? Apakah setiap kebutuhan dapat diuji, setelah diimplementasi ? Apakah model kebutuhan mencerminkan informasi, fungsi, dan perilaku sistem yang dibangun dengan baik. Apakah model kebutuhan telah dipartisi sedemikian sehingga menampilkan secara progresif informasi yang lebih detail tentang sistem ? Apakah pola kebutuhan telah digunakan untuk mempermudan model kebutuhan ? Apakah semua pola telah divalidasi? Apakah pola konsisten dengan kebutuhan konsumen ? 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