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