Software development proceeds from requirements to analysis to design and beyond.
This course focuses on the analysis step. The input for analysis is the requirements for the software system. It is particularly useful to have requirements expressed as a set of use cases, where each use case describes a scenario of how a user would interact with the system. We will use a use-case driven approach to requirements for this class, but prior training in use cases is not required. In this class, we express the analysis model as a set of communicating objects.