System Architecture Foundations


Architecture is about:

  • firmitas (durability)
  • utilitas (utility)
  • venustas (beauty)
Vitruvius
De Architectura

Purpose: Provides understanding of the core concepts in the discipline of software architecture, overview of different software architecture styles and how software architecture affects quality attributes of the software systems, what is the value of software architecture and the architecture decisions


Results: Skill to describe and evaluate the architecture of software systems, reason upon architectural decisions and organize the architecture work and governance

Subject matter: Overview of software architecture discipline, basic concepts related to the software and system architecture and architecture descriptions, overview of widely known software architecture styles and analysis of the main properties of these architecture styles, construction of an architecture style based on the example of REST, ways and tools for describing and documenting the architecture of software systems, quality attributes of software systems and the connection of software systems architecture to the quality attributes, evaluation of software systems architecture, value of software architecture and architecture decisions, context of software architecture – enterprise architecture

Lectures:

  1. History of and early views on architecture, design vs. architecture, software architecture discipline, concepts & terminology related to the systems architecture (ISO42010)
  2. Architectre style, classification of architecture styles, overview and analysis of main architecture styles (SISD/MISD/SIMD/MIMD, “boxology”, “mud-ball”, SOA, micro-services, containers, serverless, ...), derived architecture styles (C2, REST), constructing an architecture style (on example of REST)
  3. Documenting architectures, viewpoints and views, architecture description languages, architecture frameworks
  4. Software quality attributes, constructing architecture, analyzing and evaluating architectures (ATAM, CBAM, ARID), cost and value of architecture
  5. Larger context – systems-of-systems, enterprise architecture, sustainable architecture
  6. From one system to many – (industry) reference architectures, product line architectures, model-driven development
  7. Role of architect, architecture work, architecture governance, agile development and software architecture
  8. Architecture for cloud, architecture for AI and machine learning (neural networks), adaptive systems, ...

References:

  1. M. Shaw, P. Clements, A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems, Proc. COMPSAC97, 21st Int'l Computer Software and Applications Conference, August 1997
  2. P. Kruchten, The 4+1 View Model of Architecture, IEEE Software 12(6), p 42-50, 1995
  3. Mary Shaw, David Garlan, Software Architecture, Perspectives on an Emerging Discipline, 1999
  4. Roy Thomas Fielding, Architectural Styles and the Design of Network-based Software Architectures, UCI, 2000
  5. ISO/IEC/IEEE 42010 (IEEE 1471), Systems and software engineering — Architecture description
  6. Open Group, TOGAF 9
  7. Open Group, ArchiMate 3
  8. --- EXTRA ---
  9. Christopher Alexander, Notes on The Synthesis of Form, Harvard University Press, 1964
  10. Dewayne E. Perry and Alexander L. Wolf. Foundations for the Study of Software Architecture. ACM SIGSOFT Software Engineering Notes, 1992
  11. Robert J. Allen, A Formal Approach to Software Architecture, 1997
  12. Herbert a. Simon, The Sciences of the Artificial, 3rd ed., The MIT Press, 1996
  13. Gregor Hohpe and Bobby Woolf, Enterprise Integration Patterns, 2003
  14. Anton Jansen, Jan Bosch, Software Architecture as a Set of Architectural Design Decisions, 2005
  15. Frederick P. Brooks Jr., The Design of Design, Essays from a Computer Scientist, Addison-Wesley, 2010
  16. Frederick P. Brooks Jr., The Mythical Man-Month, Essays on Software Engineering, Addison-Wesley, 19999
  17. Jeanne W. Ross, Peter Weill, David C. Robertson, Enterprise Architecture as Strategy, Creating a Foundation for Business Execution, Harvard Business School Press, 2006


Other materials: