Software Architecture and Component-Based Design
This course deals with the high-level (architectural) and low-level issues involved in the design of software systems/products. At the high level, it deals with such issues as component-based design, cohesion, interconnection complexity, and methods for minimizing the latter; it also deals with the use of middleware, performance analysis, and simulation, and the use of COTS components. At the low level, it deals with object-oriented design, design patterns, and code refactoring. Finally, it deals with validation and verification of both architecture and code designs. This course is case history and project oriented. Also listed as CS 565.