Jimma Institute of Technology(JiT)
Faculty of Computing
Department of Software Engineering
Requirements Engineering
Chapter 2: Requirements Engineering
Writing software that fully meets its specifications is like walking on water. For
each, the former is easy if the later is frozen and near impossible if fluid
Requirements Engineering Academic Year 2025
Contents
Requirements Engineering Academic Year 2025 2
Brainstorming Questions
Requirements Engineering Academic Year 2025 3
Process
Requirements Engineering Academic Year 2025 4
Process
Requirements Engineering Academic Year 2025 5
Process
Requirements Engineering Academic Year 2025 6
Product
Requirements Engineering Academic Year 2025 7
Designing Processes
› Designing processes involve creativity, interactions between a wide range of different
people, engineering judgment and background knowledge and experience.
• Examples of designing processes
• Writing a book ,Organizing a conference
• Designing a processor chip , Requirements engineering
• Unlike other processes in designing software processes
• inputs are not precisely defined and
• are many possible outputs which may result to satisfy this inputs.
• It is hard to automate such processes
Requirements Engineering Academic Year 2025 8
RE Process
† It is a continuous process in which the related activities are repeated until requirements are
of acceptable quality.
⁉It is one of the most critical processes of system development
⁉Based on the need of individual software projects and organizational needs, requirements
engineering processes are tailored
⁉An important point to remember is that
“There is no ideal requirements engineering process!” it varies from project to project
Requirements Engineering Academic Year 2025 9
RE Process
† A requirement Engineering process has a formal starting and ending point in the overall
software development lifecycle.
† Begins
† There is recognition that a problem exists and requires a solution
† A new software idea arises
† Ends
† With a complete description of the external behavior of the software to be built.
Requirements Engineering Academic Year 2025 10
Two Main Tasks of RE
There are two main tasks which needs to be performed in the requirement engineering life cycle.
‼ Problem analysis
⁎ Analysis of a software problem
⁎ It is understanding of the exact nature of the existing problem that the software is supposed to
solve
⁎ Helps stakeholders to define what needs to be built before deciding the methods or how to
build it.
⁎ Helps the developers to understand the real problem with root cause, set clear goals and
determine project scope
Requirements Engineering Academic Year 2025 11
Two Main Tasks of RE
Problem analysis is the first and foremost task of requirements engineering process. It includes:
› Brainstorming, interviewing, eliciting requirements
› Identifying all possible constraints
› Expansion of information
› Trading off constraints and organizing information
› Complete understanding should be achieved
Requirements Engineering Academic Year 2025 12
Two Main Tasks of RE
‼ Product description
• Complete specification of the desired external behavior of the software system to be built.
• Also known as functional description, functional requirements, or specifications
• It gives a clear description of what the software product will be on its purpose ,feature
,service or function ,expected result and target users.
• It is part of software requirements specification during software development
• Product description help developers as blueprint, ensure understanding of stakeholders and
guide the design and implementation of the software development phases.
Requirements Engineering Academic Year 2025 13
Two Main Tasks of RE
Product description is another task of requirements engineering process. In this
task we:
‼Make decisions to define the external behavior of the software product.
‼Organize ideas, resolve conflicting views, and eliminate inconsistencies and
ambiguities.
Requirements Engineering Academic Year 2025 14
What Really Happens
It should be kept in mind that :
“Both problem analysis and product description run in parallel and iteratively throughout
the requirements engineering process”
Requirements Engineering Academic Year 2025 15
Requirements Modeling
Requirements Modeling (RM) /Analysis Model/
The three primary objectives are:
o Describe what the customers need
o Establish basis for software design
o Establish set of requirements that are to be validated after development
All elements of the RM will be directly traceable to parts of the design
model.
Some design invariably occurs as part of analysis, and some analysis will be
conducted during design.
Requirements Engineering Academic Year 2025 16
Requirements Modeling
Requirements Modeling (RM) /Analysis Model/
The basic types of models from requirements modeling are:
Scenario-based models of requirements from the point of view of various system “actors”.
Data models that depict the information domain for the problem, the data objects and their interaction.
Class-oriented models that represent object-oriented classes (attributes and operations) and the
manner in which classes collaborate to achieve system requirements.
Flow-oriented models that represent the functional elements of the system and how they transform
data as it moves through the system.
Behavioral models that depict how the software behaves as a consequence of external “events”.
Requirements Engineering Academic Year 2025 17
Requirements Modeling
Requirements Modeling (RM) /Analysis Model/
Requirements Engineering Academic Year 2025 18
Requirements Modeling
• Data Dictionary
• Data Object Description
CRC - Class Responsibility Collaborator
Requirements Engineering Academic Year 2025 19
To be continued
Requirements Engineering Academic Year 2025 20