Software Requirements Engineering SWEN 3407

Course description:

This module describes the role of requirements in the construction and continued maintenance of large, complex and evolving software systems. It introduces the important concepts and activities in systems requirements engineering, explains how they can knit together to form a through-life requirements engineering process, and demonstrates how such an end-to-end process can be defined and used in practice. The module provides a broad overview of the notations, techniques, methods and tools that can be used to support the various requirements engineering activities, and complements this with the opportunity to gain experience in a selection of these. The module seeks to illustrate the wider applicability of requirements engineering to everyday projects, the breath of skills required and the many contributing disciplines.

Course Aims:

Upon completion of the course, students will be able to:
The goal of this course is to introduce the activities, concepts, and techniques needed in the eliciting, analyzing, documenting, validating, and managing requirements for complex systems. 
It explains how requirements engineering fits into a broadersystems development process, and provides an understanding of the main challenges in requirements Engineering.

Course outcomes:

On completion of this module, students will be:
  • familiar with requirements and system concepts, as well as industrial practice and standards
  • Able tounderstand the implications of requirements on the broader software development life-cycle. 
  • Elicit and document requirements for software systems
  • Model and analyze requirements, using the UML and other languages
  • Trace and reuse requirements