Learning Outcomes:
When students have successfully completed this module they should be able to:
1. Create and evaluate textual and visual software system requirements for large and complex systems.
2. Understand the context, standards and role of requirements engineering in the software development life cycle.
3. Analyse systems using abstraction, decomposition, object orientation, use case techniques for system and domain modelling.
4. Apply best practices (including ethics) for requirements elicitation.
5. Understand non-functional requirements and managing requirements specifications.
Indicative Module Content:
Part 1: Introduction to Requirements Engineering in the System Development Lifecycle
Part 2: Developing a System Requirements Specification
Part 3: Requirements Analysis: Use Cases, Domain Models, Non-Functional Requirements
Part 4: Requirements Elicitation and Management