Kajian tentang Requirement Engineering.

Untuk memudahkan pemahaman kita tentang Requirement Engineering, dalam bidang Software Engineering, hal pertama yang harus di pahami adalah pengertian dari Requirement Engineering itu sendiri, kemudian mengapa Requirement Engineering itu dibutuhkan, dilanjutkan dengan bagaimana melakukannya , hal-hal apa saja yang dibutuhkan, sehingga tujuan akhir dari proses Requirement Engineering itu terpenuhi.

• Menurut Mr. Ralph R. Young ( The Requirments Engineering Handbook) mengatakan bahwa “A Requirment is a necessary attribute in a system , a statement that identifies a capability, characteristic, or quality factor of s system ini order for it to have value and utility to a customer or user”
• Dalam situs http://www.ilmukomputer .com disebutkan bahwa “ Requirments Engineering adalah fase terdepan dari proses rekayasa perangkat lunak (software engineering), di mana software reguirments (kebutuhan ) dari user (pengguna) dan customer (pelanggan) dikumpulkan, dipahami dan ditetapkan”.
Melihat dari pengertian yang dikemukakan di atas, maka dapat dikatakan bahwa requirements engineering memegang peranan yang sangat penting dan haruas dilakukan dengan konsep yang jelas. Karena telah banyak dan sering terjadi kegagalan dalam pengembangan software akibat dari tidak terpenuhinya unsur-unsur requirements seperti perubahan yang tidak ada batasannya, efeknya tidak konsisten(inconsisten), adanya bagian yang hilang tidak lengkap(incomplete), atau data yang diberikan palsu (incorrect). Dengan demikian maka untuk menghasilkan perangkat lunak yang tepat dan berdaya guna, harus melalui proses yang benar dan Emphiris, termasuk proses mengidentifikasi kebutuhan(requirement) yang merupakan awal dari proses Software Engineering.
Untuk dapat memahami tentang kebutuhan (requirement) dari system yang akan dibangun, dibutuhkan kemampuan untuk menemukan hal-hal yang layak atau menemukan mana yang menjadi prioritas utama mana yang hanya sebagai asesoris. Karena pada posisi User/Customer yang mereka inginkan sesuai dengan apa yang ada dalam pikiran mereka, dan tidak mau tahu bagaimana prosesnya, bagaimana codingnya, bagaimana modelnya, yang terpenting bagi User\Customer adalah saya membutuhkan system seperti ini. Sehingga sering terjadi misscumunication, di sinilah dibutuhkan suatu kerjasama dan komunikasi antara pihak user/customer dengan pengembang perangkat lunak tersebut.
Ada empat hal yang menjadi persoalan dalam proses requirments yaitu:
1. Tujuan akhir dari pengembangan software yang berkualitas adalah tepat waktu, sesuai anggaran dan yang terpenting dapat memenuhi kebutuhan customer.
2. Kesuksesan suatu proyek sangat ditentukan oleh seberapa baik kebutuhan-kebutuhan itu dikelola atau bagaimana tata kelolanya.
3. Kesalahan akan mengakibatkan kurugian dan proses pengembangan akan terhambat.
4. Keahlian sangat membantu dalam mengurangi kesalahan requirement dan menghasilkan software yang berkualitas.
Strategi dalam proses requirements engineering.
• Catatlah semua kebutuhan untuk pengembangan software yang direncanakan.
• Gambarkan semua kebutuhan proyek.
• Ciptakan hubungan yang efektif dalam system life cycle.
• Manfaatkan secara tepat kebutuhan akan pelatihan, teknik, metode, alat-alat bantu yang dibutuhkan dalam proses requirements system.
The requirements plan
Proses perencanaan kebutuhan dikembangkan melalui analisa kebutuhan , dengan tujuan untuk menentukan hubungan aktifitas dalam system life cycle. Berikut hal yang disarankan dalam perencanaan kebutuhan dari system.
• Tujuan\maksud harus sudah terdefinisikan terlebih dahulu.
• Adanya orang-orang yang bertanggung jawab atau memiliki ketertarikan terhadap system yang akan dibuat.
• Harus ada evaluasi terhadap mekanisme kesepakatan antara konsemen dan pengguna dari system yang akan dibangun.
• Harus ada aturan dan pimpinan yang bertanggungjawab terhadap aktifitas proyek yang sedang dibangun.
• Pendefinisian yang jelas terhadap kebutuhan-kebutuhan yang utama atau disesuaikan dengan skala prioritas.
• Dipergunakan mekanisme, metode, teknik, dan alat-alat yang dapat mempercepat penyelesaian hal-hal yang sifatnya khusus.
• Kerjasama telah terbukti efektif dalam membangun sebuah perangkat lunak.
Lebih rinci tentang kebutuhan dalam membangun sebuah sitem khususnya dalam rekayasa perangkat lunak meliputi :
Software requirements terdiri dari proses-proses berikut ini:
• Software requirements fundamental
o Definition of software requirements
o Product and proses requirements
o Functional and non-functional requirements
o Emergent properties
o Quantitiable requirements
o System requirements and software requirments
• Requirements proses
o Process models
o Process actors
o Process support and management
o Process quality and inprovements
• Requirements elicitation
o Requirements sources
o Elicitations techniques
• Requirements analysis
o Requirements classifications
o Conceptual modeling
o Architectural desing and requirements allocation
o Requirements negotiation
• Requirements specification
o System definition document
o System requirements specification
o Software requirements specification
• Requirements Validation
o Requirements reviews
o Prototyping
o Model validation
o Acceptance tests
• Practical considerations
o Iterative nature of requirements process
o Change management
o Requirements attributes
o Requirements tracing
o Measuring requirements

Refrensi :
• SWEBOK, Software engineering body of knowledge 2004.
• The requirements engineering handbook, Ralph R. Young

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s