Software Design and Architecture
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. 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 reengineering and reverse engineering