0% found this document useful (0 votes)
3 views

Requirements Engineering

Requirements Engineering (RE) is the process of defining, documenting, and maintaining requirements in the engineering design process, consisting of five key steps: Feasibility Study, Requirement Elicitation and Analysis, Software Requirement Specification, Software Requirement Validation, and Software Requirement Management. It involves understanding customer needs, analyzing requirements, and ensuring they are clear, correct, and manageable throughout the development process. Requirements are categorized into functional and non-functional types, with the latter further divided into execution and evolution qualities.

Uploaded by

nordce32
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Requirements Engineering

Requirements Engineering (RE) is the process of defining, documenting, and maintaining requirements in the engineering design process, consisting of five key steps: Feasibility Study, Requirement Elicitation and Analysis, Software Requirement Specification, Software Requirement Validation, and Software Requirement Management. It involves understanding customer needs, analyzing requirements, and ensuring they are clear, correct, and manageable throughout the development process. Requirements are categorized into functional and non-functional types, with the latter further divided into execution and evolution qualities.

Uploaded by

nordce32
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Requirements Engineering:

 Requirements Engineering (RE) refers to the process of defining, documenting, and maintaining
requirements in the engineering design process.
 Requirement engineering provides the appropriate mechanism to understand what the customer desires,
analyzing the need, and assessing feasibility, negotiating a reasonable solution, specifying the solution
clearly, validating the specifications and managing the requirements as they are transformed into a working
system.
Requirement Engineering Process
It is a four-step process, which includes -
• Feasibility Study
• Requirement Elicitation and Analysis
• Software Requirement Specification
• Software Requirement Validation
• Software Requirement Management
Requirements Engineering(contd.,):
Requirements Engineering:
1. Feasibility Study: The objective behind the feasibility study is to create the reasons for developing the
software that is acceptable to users, flexible to change and conformable to established standards.
Types of Feasibility:
• Technical Feasibility - Technical feasibility evaluates the current technologies, which are needed to
accomplish customer requirements within the time and budget.
• Operational Feasibility - Operational feasibility assesses the range in which the required software
performs a series of levels to solve business problems and customer requirements.
• Economic Feasibility - Economic feasibility decides whether the necessary software can generate
financial profits for an organization.
2. Requirement Elicitation and Analysis:
This is also known as the gathering of requirements. Here, requirements are identified with the help of
customers and existing systems processes, if available. Analysis of requirements starts with requirement
elicitation. The requirements are analyzed to identify inconsistencies, defects, omission, etc.
Requirements Engineering:
Problems of Elicitation and Analysis
• Getting all, and only, the right people involved.
• Stakeholders often don't know what they want
• Stakeholders express requirements in their terms.
• Stakeholders may have conflicting requirements.
• Requirement change during the analysis process.
• Organizational and political factors may
influence system requirements.
Requirements Engineering:
3. Software Requirement Specification:
 Software requirement specification is a kind of document which is created by a software analyst after the
requirements collected from the various sources - the requirement received by the customer written in
ordinary language.
 The models used at this stage include ER diagrams, data flow diagrams (DFDs), function decomposition
diagrams (FDDs), data dictionaries, etc.
• Data Flow Diagrams: DFD shows the flow of data through a system. The system may be a company,
an organization, a set of procedures, a computer hardware system, a software system, or any
combination of the preceding. The DFD is also known as a data flow graph or bubble chart.
• Data Dictionaries: Data Dictionaries are simply repositories to store information about all data items
defined in DFDs. At the requirements stage, the data dictionary should at least define customer data
items.
• Entity-Relationship Diagrams: It is a detailed logical representation of the data for the organization
and uses three main constructs i.e. data entities, relationships, and their associated attributes.
Requirements Engineering:
4. Software Requirement Validation:
After requirement specifications developed, the requirements discussed in this document are validated.
• If they can practically implement
• If they are correct and as per the functionality and specially of software
• If there are any ambiguities
• If they are full
• If they can describe
Requirements Validation Techniques
• Requirements reviews/inspections: systematic manual analysis of the requirements.
• Prototyping: Using an executable model of the system to check requirements.
• Test-case generation: Developing tests for requirements to check testability.
• Automated consistency analysis: checking for the consistency of structured requirements descriptions.
Requirements Engineering:
5. Software Requirement Management:
 Requirement management is the process of managing changing requirements during the requirements
engineering process and system development.
 New requirements emerge during the process as business needs a change, and a better understanding of the
system is developed.
 The priority of requirements from different viewpoints changes during development process.
 The business and technical environment of the system changes during the development.
Prerequisite of Software requirements
 Collection of software requirements is the basis of the entire software development project. Hence, they
should be clear, correct, and well-defined.
 A complete Software Requirement Specifications should be: Clear, Correct, Consistent, Modifiable,
Verifiable, Prioritized, Unambiguous, Traceable and Credible source.
Requirements Engineering:
Software Requirements: Largely software requirements must be categorized into two categories:
 Functional Requirements: Functional requirements define a function that a system or system element
must be qualified to perform and must be documented in different forms. The functional requirements are
describing the behavior of the system as it correlates to the system's functionality.
 Non-functional Requirements: This can be the necessities that specify the criteria that can be used to
decide the operation instead of specific behaviors of the system.
 Non-functional requirements are divided into two main categories:
• Execution qualities like security and usability, which are observable at run time.
• Evolution qualities like testability, maintainability, extensibility, and scalability that embodied in the
static structure of the software system.

You might also like