Department: BSc Computer Science (SE)
Module Description: Domain engineering. Techniques for discovering and eliciting requirements. Languages and models for representing requirements. Analysis and validation techniques, including need, goal, and use case analysis. Requirements in the context of system engineering. Specifying and measuring external qualities: performance, reliability, availability, safety, security, etc. Specifying and analyzing requirements for various types of systems: embedded systems, consumer systems, web-based systems, business systems, systems for scientists and other engineers. Resolving feature interactions. Requirements documentation standards. Traceability. Human factors. Requirements in the context of agile processes. Requirements management: Handling requirements changes.
Dick, J., Hull, E. and Jackson, K. (2017). Requirements engineering. 4th edn. Cham: Springer.
Van Lamsweerde, A. (2013). Requirements engineering: from system goals to UMI models to software specifications. Chichester: Wiley.
Laplante, P. A. (2022). Requirements engineering for software and systems. Auerbach publications.
Sommerville, I. and Sawyer, P. (1996). Requirements engineering: a good practice guide. Chichester: Wiley.
Kotonya, G. and Sommerville, I. (1998). Requirements engineering processes and techniques. New York: Wiley and Sons.
IEEE STD 830-1998 - IEEE Recommended Practice for Software Requirements Specifications.