jump to navigation

Requirement Engineering November 14, 2008

Posted by sientta in Uncategorized.
trackback

Requirements engineering saat ini diidentifikasi sebagai salah satu titik lemah dari pengembangan perangkat lunak. Banyak kelemahan dalam meninjau dan mengidentifikasi proyek perangkat lunak pada awal pembangunan. Ini yang menyebabkan kesulitan dalam membangunan integrasi sistem dan perangkat lunak.
Requirements analysis dan rekayasa perangkat lunak, yang meliputi tugas dalam menentukan kebutuhan untuk memenuhi kondisi untuk produk baru /perubahan , yang diambil  dari keterangan dari berbagai pihak yang berkepentingan,kemungkinan bertentangan persyaratan seperti penerima atau pengguna.

process

Sistematis persyaratan analisis juga dikenal sebagai persyaratan rekayasa. Hal ini kadang-kadang disebut dengan nama beruntai seperti mengumpulkan persyaratan, persyaratan ambil, atau persyaratan spesifikasi. Istilah persyaratan analisis juga dapat diterapkan secara khusus untuk analisis yang tepat. Requirements analysis adalah penting untuk keberhasilan suatu proyek pembangunan.Persyaratan harus actionable, terukur, diuji, terkait untuk mengidentifikasi kebutuhan bisnis atau peluang, dan ditetapkan ke tingkat rincian yang memadai untuk sistem desain.
Requiremet Enginering sangat diperlukan dalam rekayasa perangkat lunak karena pada prakteknya dalam pembuatan sistem itu terkadang jarang sekali menemukan kebutuhan klien atau end-user secara lengkap. Untuk mendapatkan klien yang lengkap tidaklah mudah, karena pada kenyataannya kebutuhan klien selalu berubah-ubah di sepanjang kegiatan pembangunan perangkat lunak dan kebutuhan/keinginan yang diutarakan oleh klien tidak selalu sesuai dengan apa yang dimaksud. Terkadang pengembang terjadi kesalah pahaman dalam menanggapi keinginan klien. Misal: kadang ditemukannya persoalan baru, dan keinginan-keinginan itu muncul ditengah-tengah pengerjaan perangkat lunak. Mau tidak mau pengembang menganalisa kembali alur data dan informasi yang akan disajikan. Sehingga akan menambah waktu panjang dan biaya akan semakin mahal. Hal ini tidak disadari bagi seorang klien, terkadang keinginan – keinginan akan muncul karena tidak dilandasi dengan komitmen masing-masing antara klien dan  pengembang. Disini peran rekayasa kebutuhan dalam rekayasa perangkat lunak sangat di perlukan untuk menghindari hal – hal seperti itu.

Rekayasa kebutuhan merupakan proses menetapkan layanan yang dibutuhkan konsumen terhadap sistem dan batasan operasi dan pengembangan. Rekayasa kebutuhan mempunyai fungsi sebagai jembatan menuju design dan pembangunan perangkat lunak dengan menyediakan mekanisme yang tepat untuk memahami apa yang diinginkan klien, menetapkan solusi yang tepat sampai review desain sistem dan persetujuan dari kedua belah pihak antara pengembang dan klien. Sedangkan tujuan dari rekayasa kebutuhan untuk memperkenalkan konsep kebutuhan user dan system, menggambarkan kebutuhan fungsional dan non-fungsional, serta menjelaskan bagaimana kebutuhan perangkat lunak dapat diorganisasikan dalam dokumen kebutuhan.

Rekayasa kebutuhan dalam penerapannya pada rekayasa perangkat lunak mempunyai fungsi yang sangat luas, diantaranya:
1.    Permulaan
Merupakan awal dari terjadinya pembicaraan tentang kebutuhan akan perangkat lunak. Biasanya pengembang dengan klien terjadi pembicaraan yang mengarah pada
-    Masalahnya apa?
-    Sistem apa yang akan dibuat?
-    Solusinya apa?
-    Pertanyaan – pertanyaan yang dasar ditanyakan.
Pandangan kebutuhan dari masing – masing yang terlibat dari permulaan rekayasa kebutuhan. Perbedaan dari masing – masing dicatat dan perbedaan pandangan diluruskan.

2.    Pengungkapan
Biasa pengungkapan dilakukan dalam bentuk pertemuan antara klien dengan pengembang, dimana pengembang diundang diminta untuk mempresentasikan atau membuat daftar kebutuhan perangkat lunak yang disertai penjelasan tentang keunggulan dan kelemahan dari suatu kebutuhan atau detail dari kemampuan masing – masing kebutuhan.
Pada pengungkapan mulai dirasakan akan titik temu permasalahan yang dihadapi, pandangan – pandangan mengenai sistem yang akan dibangun mulai kelihatan, karena klien mengungkapkan kebutuhan yang akan dikembangkan. Tetapi, masalahnya akan mulai muncul keinginan – keinginan dari klien dari pandangan dan solusi yang diberikan oleh pengembang. Terkadang batasan mengenai system yang akan dibangun tidak jelas, keinginan klien mulai bermacam – macam. Klien tidak cukup paham apa yang dibutuhkan dan kebutuhan sering berubah – ubah.

3.    Penjelasan
Pemaparan mengenai rekayasa kebutuhan pada proses permulaan dipresentasikan sejelas – jelasnya kepada klien. Disini klien akan mengungkapkan panjang lebar mengenai kebutuhan yang diinginkan.

4.Negosiasi
Negosiasi biasanya dilakukan apabila terjadi konflik – konflik atau tidak kesesuaian kebutuhan antara pandangan pengembang yang tidak sesuai dengan klien. Negosiasi diperlukan untuk membuat prioritas kebutuhan mengevaluasi setiap kebutuhan untuk mengurangi atau mengubah sesuai dengan keinginan yang dimaksud.

5.Spesifikasi
Tugas ini bertujuan untuk menggali dan menganalisa kebutuhan system dan infrastruktur sesuai dengan fungsi dan tujuan kebutuhan klien. Seperti mengumpulkan, menganalisa data selengkap – lengkapnya, spesifikasi dapat berupa dokumen, daftar table atau formulir keluaran, daftar gambar, daftar grafik, model algoritma, storyboard atau prototype sebagai spesifikasi dari hasil identifikasi kebutuhan melalui aktifitas – aktifitas dalam menganalisa kebutuhan berupa data dan informasi yang didapat selama kegiatan survey dan pengumpulan data. Spesifikasi menggambarkan fungsi dan kinerja dari perangkat lunak dan batasan – batasan yang telah ditentukan.
Beberapa langkah yang digambarkan dalam tugas ini dapat dilakukan ketika melakukan pendataan kebutuhan proses:
a.Komunikasi yang baik
Salah satu hal yang diperlukan adalah membangun hubungan yang baik dengan klien/pemberi kerja. Hubungan social yang baik dengan klien akan menjadi komunikasi yang terbuka dan lancer. Dan ini sudah mengurangi banyak masalah, ketika berada dalam proses mendapatkan informasi dari klien.

b.Mengetahui “APA”
Langkah ini perlu diketahui dari klien adalah tentang apa yang dikerjakannya, data yang akan dimasukan, apa yang dihasilkan. Mengumpulkan dokumen, data, materi yang selama ini digunakan oleh klien.

c.Gunakan istilah yang sederhana
Menggunakan istilah yang mudah dimengerti oleh kedua belah pihak dalam koordinasi sebuah keputusan, baik system atau keluaran yang nanatinya untuk memudahkan dalam proses kegiatan pembuatan perangkat lunak.

d.Terbuka dengan langkah yang dilakukan
Bersikap terbuka tentang apa yang dilakukan selama proses pembutan perangkat lunak, langkah ini cukup membantu dalam mengumpulkan rekayasa kebutuhan. Untuk sebuah pilihan yang dimiliki oleh klien, kita dapat juga memberitahukan konsekuensinya, ini akan membantu kedua belah pihak dalam memperoleh sebuah keputusan jika ada berbagai pilihan. Sehingga nantinya tidak akan menghambat pada saat pengerjaan perangkat lunak sudah berjalan.

6.Validasi
Tugas ini menguji kualitas kebutuhan dari spesifikasi untuk memastikan kebutuhan yang lebih nyata dan dapat diterima oleh klien, konsisten, lengkap dan bebas dari kesalahan. Minimal untuk mengurangi permintaan kebutuhan dalam proses pengerjaan perangkat lunak. Dalam tugas ini dapat dilakukan cek dan review dari design perangkat lunak yang diajukan pengembang ke klien.

7.Manajemen
Tugas ini mengelola kebutuhan dengan identifikasi, control danmengikuti perkembangan kebutuhan perangkat lunak yang dikerjakan selama proyek dan perubahan – perubahan yang terjadi.

Daftar Pustaka:

  1. http://en.wikipedia.org/
  2. http://romisatriawahono.net/2006/04/29/menyegarkan-kembali-pemahaman-tentang-requirement-engineering/
  3. http://www.esa.int/TEC/Software_engineering_and_standardisation/
  4. http://indrakharisma.blog.unair.ac.id/2008/10/15/bagaimana-membuat-requirement-dengan-benar/

Comments»

No comments yet — be the first.