SWE 502 - Advanced Software Architecture and Design
The course provides in details advanced software architecture and design, its role in the software development process, nature of the software design process and design quality issues. This course covers the design principles and strategies for software architecture and design. Architectural styles, quality attributes notations and documents, reference architecture, domain-specific architecture in architecture process and pattern-oriented design, component-oriented design, aspect-oriented design, and interface design in detail design process are discussed. Concepts and methods for the architectural design of large-scale software systems. Design concepts and design notations. Design methods. Object-oriented analysis and design modeling using the Unified Modeling Language (UML) notation. Project on object-oriented software desig