Software Architecture Fundamentals

A Study Guide for the Certified Professional for Software Architecture® – Foundation Level – iSAQB compliant

Arne Koschel, Andreas Rausch and Mahbouba Gharbi

Cite this publication as

Arne Koschel, Andreas Rausch, Mahbouba Gharbi, Software Architecture Fundamentals (2019), dpunkt.verlag, Heidelberg, ISBN: 9783960886440

1384
accesses
22
quotes

Description / Abstract


Software architecture is an important factor for the success of any software project. In the context of systematic design and construction, solid software architecture ensures the fulfilment of quality requirements such as expandability, flexibility, performance, and time-to-market.


Software architects reconcile customer requirements with the available technical options and the prevailing conditions and constraints. They ensure the creation of appropriate structures and smooth interaction of all system components. As team players, they work closely with software developers and other parties involved in the project.


This book gives you all the basic know-how you need to begin designing scalable system software architectures. It goes into detail on all the most important terms and concepts and how they relate to other IT practices.


Following on from the basics, it describes the techniques and methods required for the planning, documentation, and quality management of software architectures. It details the role, the tasks, and the work environment of a software architect, as well as looking at how the job itself is embedded in company and project structures.


The book is designed for self-study and covers the curriculum for the Certified Professional for Software Architecture – Foundation Level (CPSA-F) exam as defined by the International Software Architecture Qualification Board (iSAQB).


Description


Mahbouba Gharbi is managing director and Chief Architect at ITech Progress GmbH, and chairman of the board at the International Software Architecture Qualifi cation Board (iSAQB). She is a self-confessed software architecture enthusiast and the author of many expert articles. She is a welcome guest speaker at numerous international conferences.


Prof. Dr. Arne Koschel is a lecturer at the University of Applied Sciences and Arts, Hannover, Germany specializing in distributed (information) systems. He has many years of industry experience planning and developing distributed information systems. His lectures include a broad range of IT topics, including cloud computing, integration, middleware, microservices, and SOA. He is an active member of the iSAQB board.


Prof. Dr. Andreas Rausch is head of the software systems department at the Technical University of Clausthal. He is a consultant and lead software architect for a number of large-scale distributed software systems.


Table of content

  • BEGINN
  • Preface
  • Contents
  • Table of Contents
  • 1 Introduction
  • 1.1 Software architecture as an aspect of software engineering
  • 1.2 iSAQB: The International Software Architecture Qualification Board
  • 1.3 Certified Professional for Software Architecture – Foundation and Advanced Level
  • 1.4 The aim of this book
  • 1.5 Prerequisites
  • 1.6 Reader†™s guide
  • 1.7 Target audience
  • 1.8 Acknowledgements
  • 2 Software Architecture Fundamentals
  • 2.1 Integration with the iSAQB curriculum
  • 2.2 Software-intensive systems and software architectures
  • 2.3 Fundamental software architecture concepts
  • 2.4 A bird†™s-eye view of software architecture design
  • 2.5 Test your knowledge
  • 3 Designing Software Architectures
  • 3.1 Integration with the iSAQB curriculum
  • 3.2 Overview of the architecture design process
  • 3.3 Design principles and heuristics
  • 3.4 Architecture-centric development approaches
  • 3.5 Techniques for a good design
  • 3.6 Architectural patterns
  • 3.7 Design patterns
  • 3.8 Test your knowledge
  • 4 Description and Communication of Software Architectures
  • 4.1 Integration with the iSAQB curriculum
  • 4.2 The CoCoME example
  • 4.3 Views and templates
  • 4.4 Technical/cross-cutting concepts in software architectures
  • 4.5 Architecture and implementation
  • 4.6 Common document types for software architectures
  • 4.7 Best-practice rules for documentation
  • 4.8 Examples of alternative architecture frameworks
  • 4.9 Test your knowledge
  • 5 Software Architectures and Quality
  • 5.1 Integration with the iSAQB curriculum
  • 5.2 Evaluating software architectures
  • 5.3 Prototypes and technical proof of concept
  • 5.4 Architecture analysis
  • 5.5 Test your knowledge
  • 6 Tools for Software Architects
  • 6.1 Integration with the iSAQB curriculum
  • 6.2 General information
  • 6.3 Requirements management tools
  • 6.4 Modeling tools
  • 6.5 Generation tools
  • 6.6 Static code analysis tools
  • 6.7 Dynamic analysis tools
  • 6.8 Build management tools
  • 6.9 Configuration and version management tools
  • 6.10 Code management tools
  • 6.11 Testing tools
  • 6.12 Documentation tools
  • 6.13 Test your knowledge
  • Appendix
  • A Sample Questions
  • B List of Abbreviations
  • C Glossary
  • E References
  • Index

Related titles

    More of this author(s)