CAK2AAB3 Analisis dan Perancangan PL
PERTEMUAN 3 :
Requirement Engineering
(Rekayasa Kebutuhan)
Outline
• Definition of Requirement, Software
Requirement , Requirement Engineering
• Types of SW Requirement
• Requirement Engineering
[CAK2AAB3-ANALISIS DAN PERANCANGAN PL / PRODI S1 INFORMATIKA
What is Requirement….
A thing that is needed or
wanted
A thing that is compulsory, a
necessary condition
IEEE std 729 the Definition of Software Requirement
• A condition or capability needed by a user to solve a
problem or achieve an objective
• A condition or capability that must be met or possessed
by a software or software component to satisfy a
contract, standard, specification or other formally
imposed documents
• A documented representation of a condition or capability
as in 1 and 2.
Importance of Requirements
1. Discovering what the stakeholders want the system to do
2. Failure in defining Requirement will cause project failure
3. Lack of user involvement will cause project failure (this is a MAJOR cause
of project failure )
4. Requirement should drive the rest of system development
Defining SW Requirement
1. Specification of “what” should be implemented , not “how”
2. Functional and Non- functional requirement
3. It is easier to include some “how”, but it must be mostly “what”
4. Produce SRS ( Software Requirements Specification )
document
4 types of Software requirements
1. Functional requirements
2. Non-functional
requirements
3. Constrains requirements
1. Functional Requirement these are the requirements that
the end user specifically demands as basic facilities that the
system should offer
2. Non Functional Requirement these are basically the quality
constraints that the system must satisfy according to the
project contract. Also called QUALITY requirements.
3. Contraints Requirement that limits the solution space
beyond what is necessary for meet the given functional
requirements and quality requirements.
Example Functional Requirements for
ATM software
✓ The ATM system shall check the validity of the inserted
ATM card
✓ The ATM system shall validate the PIN number entered by
the customer.
✓ The ATM system shall dispense no more than $250
against any ATM card in 24-hour period.
Example Non Functional Requirements for
ATM
✓ The ATM system shall be written in C++.
✓Example: ATMshall communicate with the bank using
The ATM system
256-bit encryption.
SW
✓Requirements
The ATM system shall validate and ATM card in three
seconds or less
.
✓ The ATM system shall validate a PIN number in three
seconds or less
Constraint Requirement
Requirements of this type can constrain :
1. The system itself.
Example: The system shall be implemented using web services
2. The development process.
Example: The system shall be available on the market no later
than the second quarter of 2012.
.
Functional Requirements
Functional
Description Examples
Requirement
PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd Edition
Copyright 2006 © John Wiley & Sons, Inc. All rights reserved.
Nonfunctional Requirements
Nonfunctional
Description Examples
Requirement
PowerPoint Presentation for Dennis, Wixom, & Roth Systems Analysis and Design, 3rd Edition
Copyright 2006 © John Wiley & Sons, Inc. All rights reserved.
Sample
Requirements
Definition
Leveling Software Requirement
Relationship among 3 level requirements
Problems on Requirements
• Misunderstanding the requirements
from the customer
• Record the requirements in a
disorganized manner
• Spend too little time verifying what
we do record
• Allow change to control us rather
than establishing mechanisms to
control change
• Fail to establish a solid foundation for
the software that the user wants to
built
Requirement Engineering
Definition of Requirement Engineering
Requirements engineering is a
process of gathering and defining of
what the services should be provided
by the system or software
Scope of RE: Why, What and Who
The new WHY
The Existing Systems Mengapa sistem
Systems
baru?
GOAL WHAT
problems, opportunities,
system knowledge
Apa yang
dWibHuOat?
Memenuhi
Siapa yang
requirements, bertanggung
constraints, jawab ?
assumptions
Pekerjaan
RE Activites
Generic activities in RE
1. Requirements elicitation;
2. Requirements analysis;
3. Requirements specification;
4. Requirements validation;
5. Requirements management.
Iterative Process in RE Activities
Iteration is a key to requirements development success. Plan
for multiple cycles of exploring requirements, progressively
refining high-level requirements into more precision and
detail, and confirming correctness with users
REFERENSI
This Photo by Unknown Author is licensed under CC BY-SA
[CAK2AAB3-ANALISIS DAN PERANCANGAN PL / PRODI S1 INFORMATIKA
TERIMA KASIH