Reading

Software Engineering (Sommerville 2016)

  • Chapter 4: Requirements engineering
    • Functional and non-functional requirements
    • Requirements engineering processes
    • Requirements elicitation

Learning Objectives

  • Contrast user requirements and system requirements
  • Classify requirements as either functional requirements or non-functional requirements
  • Define the terms must (i.e., shall), should, and may in the context of a requirements document
  • Analyze requirements for consistency and completeness
  • Write requirements for a software system

Resources

Reading guide

Practice

Complete the handout as time permits in class (or outside of class)

Further Reading

RFC 2119: Key words for use in RFCs to Indicate Requirement Levels