REQUIREMENT ENGINEERING
Previous Chapter Poor Quality software? Not meet customer requirements Too complicated Not solve the problem Beyond expectation
Requirement engineering is very important!
Requirements engineering The process of finding out, analysing, documenting and checking the services that a customer requires from a system and the constraints under which it operates and is developed. Requirement may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification.
Types of requirement User requirement (high level abstract requirements) Statements in natural language plus diagrams of the services the system provides and its operational constraints. Written for customers. System requirement (description of what system should do) A structured document setting out detailed descriptions of the system s functions, services and operational constraints. Defines what should be implemented so may be part of a contract between client and contractor.
Definitions and Specifications User Requirement Definition Sistem Perpustakaan ITERA harus dapat mencatat buku-buku atau dokumen yang dipinjam oleh pengguna. System Requirement Definition Sistem Perpustakaan ITERA harus memiliki tingkat ketersediaan 99%. Data peminjaman buku harus dapat disimpan dalam sistem setidaknya selama 5 tahun. Besarnya ukuran Program Sistem Perpustakaan ITERA dibatasi maksimal 50 Mbytes.
System requirement System requirements are classified as: Functional requirement Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations(and sometimes what it should NOT do). Non-functional requirement constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc. Apply to the system as whole.
Example Sistem Perpustakaan ITERA Sistem Perpustakaan menyediakan antarmuka untuk mengakses buku-buku dan artikel-artikel dalam database perpustakaan yang berbeda-beda Pengguna dapat mencari, membaca, dan meminjam buku atau artikel yang ditampilkan
Example of functional requirements Pengguna dapat mencari buku atau artikel dari seluruh database atau mencari di sebagian database yang tersedia. Sistem harus menyediakan program yang memungkinkan penggunanya membaca kilasan artikel atau buku yang tersedia di perpustakaan.
Non Functional Requirement Category
Safety Umumnya diasumsikan sebagai seluruh kebutuhan yang terkait dengan keamanan sistem Contoh kebutuhan safety : Sistem hanya boleh di operasikan pada suhu ruangan maksimal 16 derajat celcius. Petugas yang melakukan perawatan sistem harus menggunakan gelang anti-statik selama berada di dalam ruangan.
Security Kebutuhan akan keamanan disertakan dalam sistem untuk menjamin integritas sistem dari kesalahan penggunaan. Contoh : Data hanya dapat diubah oleh administrator sistem. Komunikasi antara client dan server harus dienkripsi.
Usability Terkait dengan kemudahan penggunaan sistem atau perangkat lunak oleh pengguna Contohnya : Penggunaan antarmuka sistem yang konsisten.
Reliability Kebutuhan terkait kehandalan sistem pada saat beroperasi Contoh : Availability ketersediaan sistem dalam memberikan layanan ketika diperlukan oleh pengguna Tingkat kegagalan seberapa sering sistem gagal untuk dapat memberikan layanan yang diharapkan oleh pengguna
Performance Memberikan batasan mengenai kecepatan operasional sebuah sistem Kebutuhan akan respon Kebutuhan throughput (keluaran)
Requirements engineering Seven distinct requirements engineering functions Inception Elicitation, Elaboration, Negotiation Specification Validation Requirements management
Inception Inception ask a set of questions that establish basic understanding of the problem the people who want a solution
Elicitation Define Scope of project Define the requirements Understand what stakeholder want
Elaboration Elaboration create an analysis model that identifies data, function and behavioral requirements Create scenario that describe how end user will interact with system
Negotiation Negotiation agree on a deliverable system that is realistic for developers and customers Discuss priority of the requirements Assess their cost & risk Eliminate or combined requirements
Specification Create a document for documented all information & scenario from all step before Usually using a standard template
Specification Document
SRS Document Structure Pendahuluan Pengantar Daftar Istilah Daftar Revisi Deskripsi Umum Penjelasan sistem secara umum Spesifikasi kebutuhan Arsitektur sistem Spesifikasi kebutuhan sistem Functional requirements Non-functional requirement Model sistem Lampiran Index
Guidance for writing requirements Gunakan bahasa yang konsisten dan tidak membingungkan atau ambigu. Gunakan kata harus pada kondisi kebutuhan yang memang harus dipenuhi oleh sistem, dan gunakan kata seharusnya/sebaiknya untuk menuliskan kondisi kebutuhan yang diinginkan. Hindari penggunaan bahasa yang terlalu bersifat teknis dalam penulisan requirements.
Validation Assesses requirement engineering from specification step Make a prototyping (if necessary) Do technical review
Requirement management Manage all activities from requirement using SCM (Software Configuration Management) techniques
Build Analysis Model Object oriented Analysis & Design Scenario Based Element Use Case Diagram Class Based Element Class Diagram Behavioral Element Activity Diagram Interaction : Sequence Diagram
Use Case Diagram
Class Diagram
Sequence Diagram