Publisher's Synopsis
This unique, accessible textbook gives a comprehensive introduction to software architecture, using 'clean architecture' concepts with agile methods and model-driven development.
The work introduces the key concepts of software architectures and explains the importance of architectural design for the long-term usefulness and sustainability of software systems. In addition, it describes more than 30 architectural styles and patterns that can be used for constructing mobile applications, enterprise and web applications, machine-learning systems, and safety-critical systems.
Topics and features:
- Combines clean-architecture principles with agile model-driven development
- Employs practical examples and real industrial cases to illustrate architectures for mobile apps, web apps, enterprise systems, safety-critical systems and machine-learning systems
- Explores support tools for architectural design and system development using the approach
- Provides tutorial questions and slides to support teaching and learning
- Delivers material that has been class-tested over 10 years with more than 1,000 students
The textbook can be used to support teaching of an undergraduate module in software architecture, yet also includes more advanced topics suitable for a specialised software architecture module at master's level. It also will be eminently suitable and relevant for software practitioners and researchers needing or wanting to explore the field in short courses or self-study.
Dr. Kevin Lano is Reader in Software Engineering, Department of Informatics, King's College London, UK. Dr. Sobhan Yassipour Tehrani is a Lecturer, Department of Computer Science, University College London, UK.