Requirement Engineering - Software Engineering Slides
Requirement Engineering - Software Engineering Slides
Requirements Engineering
Introduction to Requirements:
It is about deciding what a system should do before building it.
It describes system Features, properties (rules), and constraints or Limitations (like budget,
time, or security needs) on the development process.
Good requirements are essential as they provide the foundation for all subsequent development
activities.
Types of Requirements:
1. User Requirements:
General statements about what users want.
Written in simple language so non-technical people can understand.
These are general statements, often in plain language, about what the system should do
for users and any limits it has. They can be broad or detailed.
2. System Requirements:
Detailed description of how the system will work.
Used by developers to build the system.
More detailed explanations of the system's functions, services, and limits. These are often
technical and specific.
Levels of Requirements:
Business Requirements – What the company wants to achieve.
User Requirements – What users need from the system.
Functional Requirements – What the system should do.
Non-functional Requirements – How well the system should perform.
{2. Efficiency requirements} emphasize fast execution, performance, and minimal space usage.
{3. Reliability requirements} ensure the system is available 24/7 without crashing.
{4. Portability requirements} highlight the system's ability to run on multiple platforms like macOS,
Windows, and others, making the software more flexible and accessible.}
--------------------------------------------------------------------------
1. Domain Requirements
Industry-specific requirements that must be followed.
2. Inverse Requirements
Define what the system must NOT do.
Example: Missing a core feature in the requirement stage is cheap to fix, but costly if noticed
after deployment.
Art of Negotiation:
• Recognize that it is not competition
• Listen actively
• Be creative
• Be ready to commit
5..