96-705 Architecture and Design
The primary objective of the course is to help students develop skills in designing and developing reasonable software architecture for enterprise-scale software systems, considering both functional and non-functional requirements. You will study popular macro- and micro-architectural patterns. You will practice formally describing architectural problems and architectural approaches that can address those problems using derived macro- and micro-architectural patterns. You will also evaluate the tradeoffs among possible options and propose justifiable solutions, in the context of various specific problems and requirements. You may also realize the proposed architecture in a course project, and evaluate its QoS features.
Credit units 12
Prerequisites: Foundations of Software Engineering (96-700) and Requirements Engineering (96-702), or Introduction to Software Engineering (18-642 / 96-821) and Requirements Engineering (96-702). (Required for SE)