Chapter 1 - Introduction and Foundation
Chapter 1 - Introduction and Foundation
3443
Requirements
Engineering
UNIVERSITI TENAGA
NASIONAL
MODULE 1.0
Introduction and Foundations
Why do you need to learn this
subject?
1. Certification https://www.ireb.org/en/cpre
2. Final year project documentation
3. Career / industry
1.1 Introduction
[IEEE 610.12-1990]
Introduction
Central role
The requirements engineer as a project role is often
at the center of attention.
She is usually the only one who has direct contact
with the stakeholders and has both the ability and the
responsibility to become as familiar as possible with
the domain.
Characteristics of a Requirements Engineer
Central role
She is the one that identifies the
needs underlying the stakeholder
statements and translate the
requirements to the architects
and developers
Characteristics of a Requirements Engineer
Seven necessary capabilities of a requirements engineer:
1. Analytic thinking
Must be able to become familiar with domains
Analyze complicated problems
2. Empathy
Good intuition
Empathy for people
Identify problems that might arise
Characteristics of a Requirements Engineer
Seven necessary capabilities of a requirements
engineer:
3. Communication skills
To elicit requirements
To interpret requirements
Communicate with stakeholders
Listen, ask the right questions at the right time
Characteristics of a Requirements Engineer
Seven necessary capabilities of a
requirements engineer:
4. Conflict resolution skills
Cause of conflicts; different opinions of
different stakeholders
Must identify conflicts
Mediate between parties involved
Apply suitable techniques to resolve
conflicts
Characteristics of a Requirements Engineer
Seven necessary capabilities of a requirements engineer:
5. Moderation skills
Mediate between different opinions and lead discussions.
Can hold individual and group conversations
6. Self-confidence
Shall be exposed to criticism as well
Needs high level self-confidence and ability to defend
herself
Never take criticism personally
Characteristics of a Requirements Engineer
Seven necessary capabilities of a
requirements engineer:
6. Persuasiveness
Able to represent the requirements in team
meeting and presentations
Must consolidate differing opinions
Facilitate a decision in case of disagreement
Create consensus among the stakeholders
Requirements Types
Overview of requirements types
Definition 1-4: Functional Requirement
A functional requirement is a requirement concerning a result of behavior that shall be
provided by a function of the system.
Definition 1-5: Quality Requirement
A quality requirement is a requirement that pertains to a quality concern that is not covered
by functional requirements.
Definition 1-6: Constraint
A constraint is a requirement that limits the solution space beyond what is necessary for
meeting the given functional requirements and quality requirements.
Requirements Types
Functional Requirement
Define the functionality that the system to be developed offers.
Usually, these requirements are divided into functional
requirements, behavioral requirements, and requirements.
Requirements Types
Quality Requirement
Defines desired qualities of the system to be developed and
often influence the system architecture more than functional
requirements do.
Are about; performance, availability, dependability, scalability,
or portability of a system.
Classified as non-functional requirements.
Requirements Types
Constraint
Example; The system shall be implemented using web services,
the system shall be available on the market no later than the
second quarter of 2012.
The differences between constraint and functional and quality
requirements; constraints are not implemented.
They are adhered to because they merely limit the solution
space available during the development process.
1.5 Importance and Categorization of
Quality Requirements
In daily practice, quality requirements of a system are often not documented, in
adequately documented, improperly negotiated.
Such circumstances can threaten the project’s success or the subsequent acceptance
of the system under development.
Therefore, the requirements engineer should place special emphasis on the quality
requirements.
There are many different classification schemes for quality requirements have been
proposed. Some of the classification scheme; ISO/IEC 2510:2011 standard.
Importance and Categorization of
Quality Requirements
The following categories are typical for quality requirements;
Requirements that define the:
◦ Performance of the system (response time behaviour and resource utilization)
◦ Security of the system (accountability, authenticity, confidentiality, integrity)
◦ Reliability of functionalities (availability, fault tolerance, and recoverability)
◦ Usability (accessibility, learnability, ease of use)
◦ Maintainability ( reusability, changeability, testability)
◦ Portability (adaptability, installability, replaceability)
Importance and Categorization of
Quality Requirements
The requirements engineer is responsible for making sure the
quality requirements are as objective and verifiable as possible.
The quality requirements need to be quantified.
For example: A system shall process 95 percent of all queries
within 1.5 seconds and that it must not take longer than 4
seconds to process queries at any time given.
Importance and Categorization of
Quality Requirements
Quality requirements should not be mixed with functional
requirements.
References
o Requirements Engineering Fundamentals: A Study Guide for the Certified Professional
for Requirements Engineering Exam - Foundation Level - IREB compliant
Images from:
pexels.com, https://unsplash.com/
https://www.fortnightly.com/fortnightly/2008/02/high-cost-restructuring
https://blogs.systweak.com/fix-blue-screen-of-death-bsod-errors-in-windows-8/
https://www.museepeugeot.com/en/aventure-peugeot-museum/car-factory-visit.html
https://en.wikiversity.org/wiki/UML
https://sites.google.com/site/thefalconfind/glossary-index