SE 675 - Requirements Engineering

Dr. Francis T. Marchese

Office: 163 William Street, 2nd Flr.

Office Hours:

         M : 3:00 5:30 PM

         Tu : 3:00 5:30 PM

Tel. 212 346 - 1803




Requirements engineering (RE) is the branch of software engineering concerned with the real-world goals for, functions of, and constraints on software systems. It is also concerned with the relationship of these factors to precise specifications of software behavior, and to their evolution over time and across software families. [1] [2]


[1]           Zave, P. 1997. Classification of Research Efforts in Requirements Engineering. ACM Computing Surveys, 29(4): 315-321. PDF

[2]           Bashar Nuseibeh and Steve Easterbrook. 2000. Requirements engineering: a roadmap. In Proceedings of the Conference on The Future of Software Engineering (ICSE '00). ACM, New York, NY, USA, 35-46. DOI=10.1145/336512.336523. PDF

Course Objectives


  • the state-of-the-art for research & practice in Requirements Engineering.
  • the role of RE in software and systems engineering
  • current techniques, notations, methods, processes and tools used in RE

Course Outcomes


  • the essential nature of RE
  • the breadth of skills needed for RE, and the many disciplines upon which it relies
  • what affects the success of various approaches to RE
  • methodological issues for RE research

Course Materials

The textbook use for this course is:

Axel van Lamsweerde, Requirements Engineering: From System Goals to UML Models to Software Specifications, Wiley, 2009

Assessment and Grading

The assessment for this course is as follows:

  • Midterm & Final Exam : 40%
  • Group project: 40%
  • Class Participation: 20%


Academic Integrity Policies