Software Architecture Systems
The software architecture systems course examines the principles and techniques for the architectural design of complex systems using well-founded architectural paradigms. It considers commonly-used software system structures, techniques for designing and implementing these structures, models and formal notations for characterizing and reasoning about architectures, tools for generating specific instances of an architecture, and case studies of actual system architectures.