5. Requirement Engineering Rekayasa Perangkat Lunak Teknik Informatika S1

  Teknik Informatika S1

Rekayasa Perangkat Lunak

  Requirement Engineering Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id

SILABUS MATA KULIAH

  8. Pembahasan UTS + Tugas SKPL

  9. Presentasi SKPL

  10. Design Engineering + Tugas DPPL

  11. Presentasi DPPL

  12. Software Testing + Quiz

  13. Present Tugas Besar

  14. Present Tugas Besar

  1. Pendahuluan

  2. Pengenalan RPL

  3. Software Process (1)

  4. Software Process (2)

  5. Requirement Engineering

  6. Analysis Modeling (1) + Quiz

  7. Analysis Modeling (2)

  Pembahasan Study Kasus – Model Proses

  

Latihan

Latihan

  Chelsea Outlet merupakan outlet yang bergerak di bidang penjualan jersey khusus Chelsea. Seiring perkembangan outlet yang semakin maju diikuti persaingan dengan outlet lain. Pengolahan data penjualan di Chelsea outlet masih kurang efektif karena transaksi belum terkomputerisasi. Chelsea outlet memerlukan sebuah perangkat lunak untuk mengolah data penjualan dan laporannya. Perangkat yang dibuat harus sesuai dengan sarana komputer yang ada di Chelsea outlet.

  

Answer

Answer

?

  

Answer

Answer

Model proses yang akan saya terapkan adalah Model Spiral .

Penelitian ini termasuk jenis development system karena akan meneliti dan

mengembangkan suatu rekayasa perangkat lunak aplikasi penjualan yang

sesuai dengan kebutuhan tempat studi kasus yaitu Chelsea outlet.

  

Model yang digunakan dalam proses pengembangan untuk membangun

sistem aplikasi ini yaitu metode Spiral. Model spiral dibagi menjadi sejumlah

aktiftas kerangka kerja, disebut juga wilayah tugas. Model spiral yang berisi

tujuh wilayah tugas : Komunikasi pelanggan, Perancangan, Analisis Masalah,

Rekayasa, Coding, Pengujian dan Evaluasi Pelanggan akan sangat cocok

apabila diterapkan pada kasus tersebut.

  1. Pengertian Requirement?

  2. Pengertian Requirement Engineering?

  3. Kenapa Requirement Engineering dibutuhkan?

  4. Cara mendapatkan kebutuhan

  5. User dan System Engineering

  6. Requirement Classification

  7. Requirement Engineering Process

  8. Requirement Management

  “The hardest single part of building a software system is deciding precisely what to build”- F. Brooks

  Pengertian Requirement Requirement

  ?

Pengertian Requirement

  All project begin with a statement of requirements

  • Requirements are descriptions of how a software
  • product should perform

  Pengertian Requirement

  “Sesuatu pada produk yang harus dilakukan atau sebuah kualitas yang harus dimiliki produk tersebut”

  (Robertson99) .

  “Sebuah spesifikasi kebutuhan adalah bagaimana tujuan harus sesuai dengan sistem yang diusulkan” (Anton96).

Pengertian Requirement Engineering

  “ Requirement Engineering adalah Proses dimana kebutuhan untuk produk perangkat lunak dikumpulkan, dianalisis, didokumentasikan, dan dikelola di seluruh siklus hidup rekayasa perangkat lunak”.

  

Pengertian Requirement Engineering

Requirement Engineering adalah Proses dimana persyaratan

untuk produk perangkat lunak dikumpulkan, dianalisis,

didokumentasikan, dan dikelola di seluruh siklus hidup rekayasa

perangkat lunak”.

  

Requirement Engineering berkaitan dengan menafsirkan dan

memahami tujuan, kebutuhan, dan keyakinan dari pihak yang

berkepentingan

  

Requirement Engineering

Sebuah proses yang kompleks dengan aktifitas yang berbelit-

belit dan banyak aktor yang terlibat Requirement Engineering Process

Sebuah proses yang kompleks dengan aktifitas yang berbelit-

belit dan banyak aktor yang terlibat

  

Kenapa Requirement Engineering

dibutuhkan?

  • Requirements yang lemah/ tidak lengkap adalah sumber utama dari kegagalan (Standish95) 8000 projects, 350 US companies:

  1/3 dari projek tidak pernah selesai dan 50% berhasil hanya sebagian

  Kenapa Requirement Engineering

dibutuhkan?

  • • Requirements yang lemah/ tidak lengkap adalah sumber utama

    dari kegagalan (Standish95) 8000 projects, 350 US companies:

    1/3 dari projek tidak pernah selesai dan 50% berhasil hanya

    sebagian
  • • Banyaknya masalah yang dirasakan terkait dengan spesifikasi

    kebutuhan (>50%) – (ESI96) 3800 organisasi di 17 negara eropa

  Kenapa Requirement Engineering dibutuhkan?

  • “Kebutuhan yang tidak mencukupi, tidak konsisten, tidak lengkap atau ambigu mempunyai dampak yang kritis terhadap kualitas hasil perangkat lunak tersebut” (Bell&Tayer76)

  Kenapa Requirement Engineering

dibutuhkan?

  • • “Kebutuhan yang tidak mencukupi, tidak konsisten, tidak

    lengkap atau ambigu mempunyai dampak yang kritis terhadap kualitas hasil perangkat lunak tersebut” (Bell&Tayer76)
  • • “Keterlambatan koreksi dari kesalahan meningkatkan biaya

    sampai 200 kali lebih banyak selama proses requirement engineering” (Boehm81)

  

Kenapa Requirement Engineering

dibutuhkan?

  “Jika customer tidak senang dengan perangkat lunak yang dibangun maka software developer membangun perangkat lunak yang salah”.

  

Cara Mendapatkan Kebutuhan

  Berupa komunikasi verbal untuk mendapatkan informasi langsung dari satu atau sekelompok orang.

  2. Kuesioner Berupa alat komunikasi berupa pertanyaan tertulis yang diberikan kepada customer.

  

Cara Mendapatkan Kebutuhan

  3. Observasi

Peninjauan langsung tim requirement engineer ke tempat

customer untuk merasakan atau memperhatikan prosedur

manual secara langsung dalam rangka mendapatkan kebutuhan.

  4. Pencarian Dokumen (Data Sekunder)

Pencarian terhadap dokumen-dokumen manual yang

berhubungan dengan kebutuhan pembangunan perangkat lunak.

  

Teknik dan Pendekatan

cara mendapatkan kebutuhan

  11. Joint Application Development

  18. Goal Based Approach

  17. Prototyping

  16. Apprenticing

  15. Protocol Analysis

  14. Observation

  13. Ethnography

  12. Requirements Workshops

  10. Brainstorming

  1. Interviews

  9. Group Work

  8. Laddering

  7. Card Sorting

  6. Repertory Grids

  5. Introspection

  4. Domain Analysis

  3. Task Analysis

  2. Questionnaires

  19. Scenarios

  

Requirement Engineering

  

Pernyataan dalam bentuk bahasa natural ditambah diagram dari

layanan sistem dan batasannya. Dibuat untuk customer.

  2. System Requirement

Dokumen terstruktur yang mengatur detail deskripsi dari layanan

sistem. Dibuat sebagai kontrak antara customer dan software

developer.

  3. Software Spesification

Deskripsi perangkat lunak yang detail yang menyajikan informasi

untuk perancangan atau implementasi sistem. Dibuat untuk

  Perbedaan User dan System Requirement

PARAMETER USER SYSTEM

PEMBANDING REQUIREMENT REQUIREMENT

  Tidak terlalu detail Lebih detail Kedetailan Informasi

  Pengguna sistem yang Developer (terkadang Target Pengguna tidak mempunyai customer ingin pengetahuan teknik mengetahui) yang detail Bahasa natural dan Model sistem

  Bentuk Informasi diagram sederhana

  Contoh User dan System Requirement User Requirement

Sistem bisa melakukan operasi dasar pengolahan data buku yang ada di

perpustakaan System Requirement

  

1. Sistem bisa melayani proses penambahan data buku yang diinput oleh

pengguna

  

2. Sistem bisa melayani pengeditan data buku yang sudah tersimpan

dalam basis data

  

3. Sistem bisa melayani penghapusan data buku yang tidak sedang

dipinjam atau dikembalikan

  

Requirement Classifiations

Functional versus Non Functional

  Requirement Classifications Functional versus Non Functional 1. Kebutuhan fungsional

   ?

  Requirement Classifications

Functional versus Non Functional

1.

  Kebutuhan fungsional Menunjukkan What the system should do .

  

Menunjukkan fasilitas apa yang dibutuhkan serta

aktivitas apa saja yang terjadi dalam sistem baru.

  Requirement Classifications

Functional versus Non Functional 1. Kebutuhan fungsional

  • Fungsi deskripsi kebutuhan
  • Laporan baik hardcopy maupun softcopy
  • Updating dan query online
  • * Penyimpanan data, pencarian kembali dan transfer data

  Requirement Classifications Functional versus Non Functional 1. Kebutuhan fungsional

  Contoh: ?

  Requirement Classifiations

Functional versus Non Functional 1. Kebutuhan fungsional

  Contoh: dalam sistem informasi akademik Mahasiswa dapat melakukan input KRS

  Requirement Classifications Functional versus Non Functional 1. Kebutuhan Non fungsional

  ?

  Requirement Classifications

Functional versus Non Functional 1 . Kebutuhan Non fungsional

  • Waktu respon
  • Rata-rata waktu untuk kegagalan
  • Kebutuhan keamanan
  • Akses untuk pengguna yang tidak punya hak

  Requirement Classifiations Functional versus Non Functional 1. Kebutuhan Non fungsional

  Contoh: ?

  Requirement Classifications

Functional versus Non Functional

1.

Kebutuhan Non fungsional

  Contoh:

  Website harus easy to access, easy to use, easy to understand dan menjamin keamanan data member dari orang yang tidak bertanggungjawab.

  

Requirement Classifications

Functional versus Non Functional

   Functional Requirements What the system should do

  

Non functional Requirements Constraints on the types of

  solutions that will meet the functional requirements e.g. Accuracy, Performance, Security, and Modifiability

  

Requirement Engineering Process

  Requirements engineering melibatkan semua siklus hiduo aktivitas yang berhubungan dengan kebutuhan.

  Meliputi:

   Gathering Mengumpulkan data kebutuhan Documenting  Dokumentasi

  

Managing requirements Mengatur/ memanage

  kebutuhan yang sudah dikumpulkan

  Pengukuran Kebutuhan Kecepatan PROPERTI 2. Waktu respon pengguna 1. Transaksi yang diproses per detik UKURAN Ukuran 1. Kbytes

  3. Waktu refresh layar Kemudahan Penggunaan

  2. Jumlah RAM 1. Waktu Pelatihan Reliabilitas 1. Rata-rata waktu kegagalan

  2. Jumlah help yang disediakan 3. Jumlah kegagalan yang terjadi

  2. Kemungkinan untuk tidak bisa diakses Robustness 3. Kemungkinan data hilang ketika terjadi kegagalan 2. Presentase dari kegagalan 1. Waktu restart ketika terjadi kegagalan Portability 1. Persentase dari statement yang berhasil dieksekusi

  Kapan kita memodelkan kebutuhan?

  

Kapan kita memodelkan kebutuhan?

Traditionally : Fase awal dari siklus pembuatan perangkat lunak Requirements Analysis Design Implementation Inception/ Permulaan

  

Elaboration/

Perluasan Construction/ Pembangunan Transition/ Peralihan RUP , ( Jacobson98 )

  

Dokumen Kebutuhan

Definisi

  “Pernyataan resmi dari apa yang dibutuhkan oleh developer sistem untuk membangun sistem dan berisi penggabungan antara definisidan spesifikasi kebutuhan”

  

Petunjuk Penulisan Dokumen Kebutuhan

1. Menggunakan format standar untuk semua kebutuhan.

  2. Menggunakan bahasa yang konsisten

  3. Bagian-bagian penting dari seluruh kebutuhan harus ditandai.

  4. Jangan menggunakan bahasa jargon.

  5. Complete but not Complicated

  Pengguna Dokumen Kebutuhan Cutomer PENGGUNA KEGUNAAN DOKUMEN 1. Sarana untuk menspesifkasikankebutuhan sistem dan kebutuhan. pengecekan apakah sistem yang dibangun sesuai 2. Sarana penyampaian perubahan kebutuhan.

  Manajer Proyek 2.Dasar perencanaan untuk pembangunansistem 1.Dasar perhitungan penawaran biaya sistem.

  System Engineer Sarana untuk memahami sistem seperti apa yang akan dibangun

System Maintenance Sarana untuk memahami sistem dan hubungannya antar

System Test Engineer Dasar untuk melakukanvalidation test pada sistem Engineer bagian-bagiannya