Introduction to Software Architecture

Lano, Kevin.

Introduction to Software Architecture [electronic resource] : by Kevin Lano, Sobhan Yassipour Tehrani. - 1st ed. 2023. - Cham Springer Nature Switzerland 2023 - XIII, 257 p. 178 illus., 136 illus. in color. online resource.

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 Tehrani is a Lecturer, Department of Computer Science, University College London, UK.

9783031441431


Computer science.
Internet programming.
Mobile computing.
Mobile Computing.
Models of Computation.
Software engineering.
Software Engineering.
Web Development.

5.1