Software Requirements Engineering

COM S 409

Offered during Fall Semester each year.

  1. Credits and contact hours: 3 credits, 3 contact hours
  2. Instructor’s or course coordinator’s name: Robyn Lutz
  3. Text book, title, author, and yearMastering the Requirements Process, Suzanne & James Robertson.
  4. Other supplemental materials: None

Specific course information

  1. Brief description of the content of the course: The requirements engineering process including elicitation, requirements analysis fundamentals, requirements specification and communication, and requirements evaluation. Modeling of functional and nonfunctional requirements, traceability, and requirements change management. Case studies and software projects.
  2. Prerequisites or co-requisites: COM S 309; for graduate credit; graduate standing or permission of instructor
  3. Required, elective, or selected elective? Selected Elective

Specific goals for the course

  1. Specific outcomes of instruction:
  • Students to be in a position to perform requirements elicitation, modeling, specification, analysis and review on medium sized projects. (1)
  • Students to be familiar with functional and nonfunctional requirements.
  • Students to be able to write a Software Requirements Specification document. (6)
  • Students will work in teams and submit a report and give a presentation. (3, 5)

Brief list of topics to be covered

  • Introduction and requirements engineering (RE) process overview
  • Scoping the system-to-be-built
  • Techniques for finding the “real” requirements
  • Customer visits: Project elicitation and requirements identification
  • Solution Strategies
  • Specifying the functional requirements
  • Specifying the nonfunctional requirements
  • EARS: Easy Approach to Requirements Syntax
  • Making requirements testable
  • Communicating requirements to developers and customers
  • Verifying the requirements
  • Rationale and Fit Criteria
  • Using requirements to estimate program size
  • Requirements evolution
  • Prototyping
  • Tracing requirements
  • Requirements change management
  • Formal inspection of Software Requirements Specifications