Software Architecture and Design
An introduction to analysis and design of software architectures with UML (Unified Modelling Language) and their subsequent synthesis at the program level. Topics include requirements analysis, analysis and design of static and dynamic view points of architectures and model driven engineering. Design patterns are introduced and applied as solutions to recurring design problems. Students are familiarized with component reuse, event-driven programming and computer-aided software engineering tools. The course includes a major design project (topic TBD).
- Credit will be granted for only one of SENG 299, SENG 271.
- SENG 265; and
- minimum second-year standing.