SWE 321: Software Design and Architecture

This course covers the fundamental design principles and strategies for software architecture and design. Architectural styles, architecture-centric software design, modeling architectural design decision, architecture connectors, architecture analysis and implementation, applied architectures, designing non-functional properties, domain-specific architecture, pattern-oriented design, component oriented design, aspect-oriented design, and interface design. An introduction to SOA is also presented. An overview of design issues in user interfaces and the concepts of reusability, portability and robustness in design are also given in the course. Students participate in a group project on software design and architecture and design tools.

Course Materials