Requirements Engineering

10/07/2009 09:15

Requirements Engineering merupakan tahapan awal dari proses rekayasa perangkat lunak, setiap fase dalam proses rekayasa perangkat lunak tidak dapat dikerjakan sekaligus dalam satu waktu yang bersamaan, terdapat fase – fase yang berurutan mulai dari Requirement Engineering, Design, Implementasi, Test dan Maintenance. Pada fase Requirements Engineering kita biasanya mencari tahu kebutuhan (software requirements) dari user.

Menurut Pamela Zave dalam bukunya yang berjudul Classification of Research Efforts in Requirements Engineering, definisi Requiement Engineering  adalah cabang dari software engineering yang mengurusi masalah yang berhubungan dengan: tujuan (dunia nyata), fungsi, dan batasan-batasan pada sistem software. Termasuk hubungan faktor-faktor tersebut dalam menetapkan spesifikasi yang tepat dari suatu software, proses evolusinya baik berhubungan dengan masalah waktu maupun dengan software lain (dalam satu famili).  

Fase ini sangat penting karena, sebagaimana disepakati oleh para pakar software engineering, Fakta membuktikan bahwa kebanyakan kegagalan pengembangan software disebabkan karena adaya ketidak konsistenan (inconsistent), ketidak lengkapan (incomplete), maupun ketidak benaran (incorrect) dari spesifikasi kebutuhan user. Dengan kata lain bahwa Requirements Engineering merupakan prasyarat yang sangat kritikal dalam proses rekayasa perangkat lunak.

            Lalu bagaimana melakukan proses Requirements Engineering? Didalam Requirements Engineering itu sendiri terdapat lagi fase – fase yang biasanya dilakukan. Berikut ini adalah tahapan dalam Requirements Engineering  yang bisa kita lakukan menurut (T. Bieser et al : 2006) yaitu:

  1. Phase of Requirements Elicitation, kegiatan ditujukan untuk mempelajari, menggali dan menemukan kebutuhan user dan potensi stakeholder lainnya. Teknik yang digunakan dalam tahap ini, wawancara,
    skenario, prototipe atau observasi.
  2. Phase of Requirements Modeling, Digunakan untuk membuat dan menganalisis model kebutuhan.
  3. Phase of Requirements Triage, fase ini menentukan prioritas kebutuhan, estimasi sumber daya dan kebutuhan pilihan.
  4. Phase of Requirements Specification, fase ini meliputi dokumentasi dari kehendak pelaku sistem eksternal, fokus lebih kepada komunikasi dengan sistem designer.
  5. Phase of requirements validation/verification,  fase penentuan dari konsistensinya, kelengkapan, kesesuaian, dan kekurangan dalam satu set persyaratan.

Tahapan tersebut berfungsi sebagai kerangka umum untuk rekayasa dari kebutuhan,
dimana Requirement Engineering sebagai bagian dari Software Engineering harus menghadapi beberapa tantangan. Pada bagian tertentu, ada kebutuhan perusahaan untuk merespon dengan cepat untuk peluang dan tantangan baru. Dengan demikian, paradigma Requirement Engineering dan metodenya dipengaruhi oleh beberapa perubahan (Sommerville:2005):

  • Membutuhkan pengiriman cepat untuk perangkat lunak
  • Meningkatkan tingkat perubahan dari persyaratan
  • Perlu untuk meningkatkan ROI pada perangkat lunak
  • Pendekatan baru untuk pengembangan sistem

Sedangkan tahapan Requirements Engineering menurut (Sommerville:2005) adalah:

1.     Requirements Elicitation, cukup-meminta pelanggan atau user apa yang menjadi
tujuan sistem atau produk, apa yang akan dicapai, kesesuaian sistem  atau ke dalam produk dalam kebutuhan bisnis, dan terakhir, bagaimana sistem atau  produk yang akan digunakan. Walaupun hal ini dirasa mudah tetapi ternyata tidak semudah yang dibayangkan. Menurut Christel and Kang, ada beberapa masalah yang membuat tahapan ini menjadi sulit:

·         Problems of scope, batasan yang ditetapkan oleh user mungkin tidak detail dan spesifik sehingga tidak menggambarkan sistem secara keseluruhan

·         Problems of understanding, pelanggan tidak sepenuhnya yakin akan apa yang mereka butuhkan, sedikitnya pemahaman mereka tentang komputerisasi dan ketidakmampuan berkomunikasi dengan sistem engineer.

·         Problems of volatility, persyaratan atau requirement yang selalu berubah setiap waktu

2.     Requirements analysis and negotiation, Menganalisa persyaratan, menjelajah setiap kebutuhan dalam hubungan kepada orang lain; memeriksa persyaratan untuk konsistensi, kelalaian, dan persyaratan peringkat berdasarkan kebutuhan pelanggan / pengguna.

3.          Requirements specification, spesifikasi dapat berupa dokumen tertulis, grafis
model, model matematis formal, kumpulan penggunaan skenario, sebuah prototipe, atau kombinasi dari hal tersebut.

4.     System Modeling, bagaimana memodelkan kebutuhan dari user, hasilnya berupa blueprint

5.     Requirements Validation, Persyaratan validasi memeriksa spesifikasi untuk memastikan bahwa semua persyaratan sistem telah dinyatakan tidak membingungkan, dimana inkonsistensi, kelalaian, dan kesalahan telah terdeteksi dan dikoreksi, dan bahwa kerja produk sesuai dengan standar yang ditetapkan untuk proses, proyek, dan produk.

6.          Requirements Managemen, Persyaratan manajemen adalah serangkaian kegiatan yang dapat membantu tim proyek untuk mengidentifikasi, kontrol, dan melacak perubahan persyaratan dan persyaratan untuk setiap saat
proyek berlangsung

Back

Search site

© 2008 All rights reserved.