You are not allowed to perform this action

Software Requirements Engineering

Instructor: Mehran Rivadeh Certificate: Official
Term: Summer 2025 Prerequisite: –
Schedule: Saturday 15:00 - 18:00 Online Class: Online Class

General Objective

The implementation of a computer system will fail if its requirements are not properly addressed. With the expansion and increasing complexity of computer systems, the accurate identification of their requirements has also become a complex process. Therefore, it is necessary to use methods and techniques for identifying, describing and documenting, modeling, and validating the requirements of computer systems. The objective of this course is to familiarize graduate students with these methods and techniques. Specifically, the topics covered in this course include: (1) Elicitation and identification of functional and non-functional requirements, (2) Organizing and prioritizing requirements, (3) Techniques for describing and documenting requirements, (4) Techniques for modeling requirements, (5) Techniques for analyzing, verifying, and validating requirements.

Topics

* Fundamentals of Requirements Engineering (2 sessions) * Problem Domain Understanding & Requirements Elicitation (2 sessions) * Requirements Evaluation (2 sessions) * Requirements Specification and Documentation (2 sessions) * Requirements Quality Assurance (1 session) * Requirements Evolution and Traceability (1 session) * Goal Orientation in Requirements Engineering (2 sessions) * Modeling System Objectives with Goal Diagrams (3 sessions) * Risk Analysis on Goal Models (2 sessions) * Modeling Requirements with Scenario-Oriented Modeling (2 sessions) * Modeling System Requirements with UML Diagrams (2 sessions) * Modeling System Operations (1 session) * Modeling System Behaviors (2 sessions) * Requirements Verification and Validation (2 sessions) * Requirements Management (1 session)

Assessment

* Exercises and Project: 6 points * Final Exams: 14 points

References

  1. A. van Lamsweerde. Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley, 2009.
  2. K. Pohl. Requirements Engineering: Fundamentals, Principles, and Techniques. Springer, 2010.
  3. G. Kotonya and I. Sommerville. Requirements Engineering: Processes and Techniques. Wiley, 1998.
  4. S. Robertson and J. C. Robertson. Mastering the Requirements Process 2nd Edition, Addison-Wesley, 2006.
  5. B. Berenbach, D. Paulish, J. Kazmeier, and A. Rudorfer. Software & Systems Requirements Engineering: In Practice. McGraw-Hill, 2009.
  6. E. Hull, K. Jackson, and J. Dick. Requirements Engineering. 3rd Edition, Springer, 2010.
  7. J. Holt, S. Perry, and M. Brownsword. Model-Based Requirements Engineering. The Institution of Engineering and Technology (IET), 2011.
  8. D. Leffingwell. Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison-Wesley, 2011.
  9. M. Chemuturi. Requirements Engineering and Management for Software Development Projects. Springer, 2012.