ITI 4160 Software Architecture and Design
Designing software is an integral part of engineering a software product. Poor design will lead to poor results introducing the users of the software to many risks. In this course students learn to effectively design software to ensure that a developed product can provide the requested functionality and performance while allowing for maintainability and scalability. Fundamental principles and guidelines for software architecture design are introduced including architectural styles, patterns, and frameworks. Students will learn to use methods, techniques and tools for describing software architecture and documenting design rationale and, for performing software architecture design and evaluation.