Rekayasa Kebutuhan Perangkat Lunak (Requirement Engineering)

Rekayasa Kebutuhan Perangkat Lunak (Requirement Engineering)

Requirement Enginering berfungsi untuk membantu pengembang mengerti masalah yang akan dibuatkan solusinya dalam bentuk perangkat lunak. Tahapan ini adalah bagian dari proses komunikasi yang berlanjut pada pemodelan. 
Rekayasa Kebutuhan merupakan proses membentuk layanan yang dibutuhkan pelanggan dari suatu sistem dan juga batasan sistem yang akan beroperasi dan dikembangkan. Kebutuhan adalah deskripsi dari layanan sistem dan batasan (constraint) sistem yang dihasilkan selama proses rekayasa kebutuhan.

Bentuk pernyataan kebutuhan 

  • Kalimat abstrak yang cenderung terdengar ‘high level’ yang masih di awangawang, tidak rinci 
  • Kalimat yang lengkap dan rinci, tapi mungkin justru tidak memberikan gambaran yang jelas secara keseluruhan 
  • Bentuk fungsi matematika
Pernyataan kebutuhan ini memiliki dua manfaat
  • Dasar untuk membuka/mengikuti tender pekerjaan
    - Pengembang perangkat lunak biasanya mengikuti ‘tender’ untuk mendapatkan suatu pekerjaan
    - Sifat pernyataan untuk kebutuhan ini ‘open to interpretation’ 
  • Dasar untuk pembuatan kontrak pekerjaan
    - Kontrak memiliki kekuatan hukum, pengembang harus mengikuti panduan yang ada di kontrak dan sekaligus merupakan jaminan bagi pelanggan/pengguna untuk mendapatkan perangkat lunak sesuai keinginannya
Jenis Kebutuhan PL 
  • Kebutuhan Pengguna (User Requirement)
    - Menggunakan bahasa seharihari
    - Ungkapan pernyataan dalam bahasa ‘manusia’, kadang bisa disertai dengan gambar.
    - Pernyataan ini bisa berisi harapan apa yang dapat diberikan oleh sistem, juga kadang batasan-batasan operasional
    - Kebutuhan ini akan dituliskan untuk di yakinkan kembali ke pengguna (atau pelanggan).
    Contoh : Pimpinan perpustakaan ingin ada laporan bulanan yang menampilkan data jumlah buku yang dipinjam dan jumlah peminjam
  • Kebutuhan Sistem (System Requirement)
    - Menggunakan bahasa teknis
    – Berisi pernyataan dalam dokumen yang terstruktur yang berisi deskripsi rinci dari fungsi, layanan dan batasan operasional dari suatu sistem
    – Mendefinisikan apa yang harus diimplementasikan, hingga kemungkinan menjadi bagian dari kontrak antara ‘client’ dan kontraktor.
    – Dokumentasi System Requirement
    Contoh : Sistem akan menyiapkan laporan akhir bulan setiap tanggal akhir bulan.
User Requirement sifatnya lebih umum (high level). Sedangkan spesifikasi kebutuhan sistem sifatnya sudah lebih rinci/detil.
Kebutuhan Fungsional dan NonFungsional (NF)

  • Kebutuhan Fungsional
    – Pernyataan tentang layanan yang harus diberikan oleh sistem
    – Bagaimana sistem harus memberikan respon terhadap suatu masukan
    – Kadangkadang termasuk juga “apa yang tidak perlu dilakukan sistem”
  • Kebutuhan NonFungsional (NF)
    Berisi pernyataan tentang batasan (constraint) dari layanan/fungsi yang ditawarkan oleh sistem  Contohnya: Timing constraint, Development constraint, Standard constraint 
Sumber : Materi Kuliah IF2250 Dasar Rekayasa Perangkat Lunak ITB

Post a Comment

1 Comments