Course Objectives
Upon completion of this course, students will have the ability to:
Course Description
An in-depth look at software design; Continuation of the study of design patterns, frameworks, and architectures; Survey of current middleware architectures; Design of distributed systems using middleware; Component based design; Measurement theory and appropriate use of metrics in design; Designing for qualities such as performance, safety, security, reusability, reliability, etc.; Measuring internal qualities and complexity of software; Evaluation and evolution of designs; Basics of software evolution, reengineering, and reverse engineering.
Course Content