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 Course?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 UMLSpecify functional semantics of an application using OCLSpecify and evaluate software architecturesSelect and use appropriate architectural stylesUnderstand and apply object-oriented design techniquesSelect and use appropriate software design patternsUnderstand and perform a design review