Requirements Engineering¶
Overview¶
A typical Development Cycle for a product is as follows:
- Taking the requirements from Stakeholder
- Move to software design
- Code
- Test and Integrate
- Deploy
- Maintain
Definition: RE is a gateway to translate information between non-technical people (Stakeholders) and Technical People(Developers).
The main reason the process often takes long is the lack of proper requirements engineering. A proper requirement engineering contains:
- Knowning and breaking down what people want in system.
- Wishes that they may have but are not aware of it.
- Understanding and figuring out what they need but aren't actively aware of it.
- Constraints that technical environment, software integration and deployment brings.
Different ways to write requirements:
- Natural Language RE
- Modeled/Model-based RE
- Graphs
- UML Diagrams
- Formulas
- Mathematical Representation
- Code
- Pseudocode
- Early Prototyping
- Graphs
- Artifact-based RE
- Goals
- Stakeholders
- Constraints
Process of Software Engineering¶
---
title: Simple Software Engineering Process
---
flowchart LR
RE["Requirements Engineering"] --> Design;
Design --> Implementation;
Implementation --> Testing;
Testing --> DI["Deployment + Installation"];
DI --> ME["Maintainance + Evolution"];
Resources¶
- Youtube Series: Requirements Engineering
- Course Material: Requirements Engineering, CSU Long Beach, Penzenstadler