This course introduces modeling and analysis as core concepts in software engineering discipline. How these concepts can be first applied to the analysis, specification, and validation of requirements. Highlights the construction of requirements, which includes an analysis of the feasibility of the desired system, elicitation and analysis of stakeholders' needs, the creation of a precise description of what the system should and should not do along with any constraints on its operation and implementation, and the validation of this description or specification by the stakeholders.
Text Book: Bernd Bruegge and Allen H. Dutoit, "Object-Oriented SoftwareEngineering, Using UML, Patterns, and Java", 3rd ed., Prentice-Hall, 2010, ISBN-10: 0136066836. (or later ed.)