The course covers requirements engineering in depth including the followings: requirements Engineering Process - Elicitation of requirements - Functional and non-functional requirements - System services and constraints – Quality of Requirements - Requirements traceability matrix - Metrics for non-functional requirements - Use case description - Use case and context diagrams - Software Requirements Specification -IEEE Standard - Requirements for agile developments - Requirements for various systems: embedded systems, web-based systems, business systems, etc. – Requirements management.