SE CH - 3 Software Requirement Engineering
SE CH - 3 Software Requirement Engineering
SE CH - 3 Software Requirement Engineering
Software Requirements:
Largely software requirements must be categorized into two categories:
Requirement Engineering:
Requirements engineering (RE) refers to the process of defining, documenting, and
maintaining requirements in the engineering design process.
1. Feasibility Study
2. Requirement Elicitation and Analysis
3. Software Requirement Specification
4. Software Requirement Validation
5. Software Requirement Management
The models used at this stage include ER diagrams, data flow diagrams (DFDs), function
decomposition diagrams (FDDs), data dictionaries, etc.
o Data Flow Diagrams: Data Flow Diagrams (DFDs) are used widely for modeling
the requirements. 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.
o 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, to ensure that the customer
and developers use the same definition and terminologies.
o Entity-Relationship Diagrams: Another tool for requirement specification is the
entity-relationship diagram, often called an "E-R diagram." 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.
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:
By using this method of cross-functional and self-organizing teams, you can ensure that
your team meets the exact needs of the stakeholders.
The main aim of requirements modeling is to support the end goals of software
development.