1. Subject: Software Engineering
Alpha University, Borama
Faculty of Computer Science
Diploma Program
Topic: 3 Requirement Engineering
Eng. Gullied Geestiir
BSc in Telecommunication Engineering, Master of Computer Science (MSC), MSc in Information
Security
2. What is Requirement
Engineering?
âą Process of identifying, analyzing, documenting, and
validating software requirements.
âą Ensures the software meets the user's needs.
3. Purpose of Requirement
Engineering
âą Understand what the user wants.
âą Build software that matches actual needs.
âą Avoid costly changes and misunderstandings later.
5. Functional Requirements
âą Define what the software should do.
âą Describe specific features, actions, or operations.
âą Examples:
âą - User login
âą - Student registration
âą - Generating reports
6. Non-functional Requirements
âą Define how the system should behave.
âą Related to performance, usability, security, etc.
âą Examples:
âą - System should be available 24/7
âą - Must be secure
âą - Easy to use
9. 2. Requirement Analysis
âą Examine and organize collected requirements.
âą Remove conflicts and prioritize needs.
10. 3. Requirement Specification
âą Document requirements formally in an SRS
(Software Requirements Specification).
âą SRS is used by developers, testers, and stakeholders.
11. 4. Requirement Validation
âą Verify requirements are complete and correct.
âą Get approval from users before development begins.
13. Good Requirement Qualities
âą - Clear and unambiguous
âą - Concise and precise
âą - Measurable
âą - Feasible
âą - Testable
14. Summary
âą Requirement Engineering is critical for software
success.
âą Involves functional and non-functional requirements.
âą Includes steps like elicitation, analysis, specification,
and validation.
15. Practice Questions
1. What is the difference between functional and non-functional
requirements?
2. What are the four phases of requirement engineering?
3. What is an SRS document?
4. List two requirement gathering techniques.