Department: BSc in Computer Science (SE)
Module 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.
Martin, R. C. (2017). Clean architecture: a craftsman's guide to software structure and design. Harlow, England: Prentice Hall. Purchase eBook
Burd, S. D. (2016). Systems architecture. 7th edn. Boston, MA: Cengage Learning. Request item