Software Architecture & Design

About This Course

Software Architecture and Design teaches the principles and concepts involved in the analysis and design of large software systems. This course is split into four sections: (1) Introduction, (2) UML and Analysis, (3) Software Architecture, and (4) Software Design.

Why Take This?

This course will equip students with the skills and knowledge necessary to accomplish the following objectives: - Express the analysis and design of an application using UML - Specify functional semantics of an application using OCL - Specify and evaluate software architectures - Select and use appropriate architectural styles - Understand and apply object-oriented design techniques - Select and use appropriate software design patterns - Understand and perform a design review

Prerequisites and Requirements

Students are expected to have completed an undergraduate software engineering course or have industry experience in software development. Additionally all students must follow the policies listed on the [Course Wiki](https://www.udacity.com/wiki/saad). For other requirements, see [Udacity's Technology Requirements](https://www.udacity.com/tech-requirements).
Software Architecture and Design teaches the principles and concepts involved in the analysis and design of large software systems.