Skip to content

References: Software Architecture Foundations

Curated sources for deeper study of software architecture fundamentals — components, connectors, views, decisions, quality goals, and technical debt.

Books

  • Bass, Len, Paul Clements, and Rick Kazman. (2021). Software Architecture in Practice (4th ed.). Addison-Wesley. The definitive textbook on software architecture, directly foundational to this chapter's vocabulary of components, connectors, views, and quality attributes — the "SEI trilogy" that underpins all of ATAM.

  • Clements, Paul, et al. (2010). Documenting Software Architectures: Views and Beyond (2nd ed.). Addison-Wesley. Provides the authoritative treatment of architecture views and viewpoints covered in this chapter, including practical guidance on view catalogs, viewpoints, and architecture documentation.

  • Fowler, Martin. (2018). Patterns of Enterprise Application Architecture. Addison-Wesley. Introduces patterns and the role of architectural decisions in enterprise systems; supports the chapter's treatment of architectural styles and the difference between design and architecture.

  • Kazman, Rick, Len Bass, and Paul Clements. (2000). Software Architecture in Practice (1st ed.). Addison-Wesley. The original edition, historically important for establishing the vocabulary of architectural structures, quality attributes, and the cost-of-change argument central to this chapter.

Articles and Papers

  • Bass, Len, Paul Clements, and Rick Kazman. (2003). "Software Architecture in Practice." IEEE Software 20(2). Summarizes the SEI's foundational position on what software architecture is, directly informing this chapter's definition using structures, elements, and reasoning.

  • Boehm, Barry. (1981). "Software Engineering Economics." Prentice Hall. Originator of the exponential cost curve for defect correction referenced in this chapter, demonstrating why architectural mistakes found later in the lifecycle cost orders of magnitude more to fix.

  • Cunningham, Ward. (1992). "The WyCash Portfolio Management System." OOPSLA Experience Report. The seminal paper introducing the "technical debt" metaphor that this chapter uses to explain the long-term consequences of poor architectural decisions.

Online Resources

  • Software Architecture Guide — Martin Fowler. A frequently updated collection of essays on software architecture fundamentals, covering components, patterns, and the architecture-versus-design distinction introduced in this chapter.

  • The C4 Model for Visualizing Software Architecture — Simon Brown. Introduces the C4 model (Context, Container, Component, Code) referenced in this chapter as a practical, widely adopted approach to architecture views and viewpoints.

  • SEI Architecture Curriculum — Carnegie Mellon Software Engineering Institute. The SEI's own educational resources on software architecture, directly authoritative for this course's foundational vocabulary and the ATAM method.

  • ISO/IEC 25010 Quality Model — ISO 25000 Portal. Overview of the ISO/IEC 25010 quality model referenced in this chapter, organizing software quality into the eight characteristics that ATAM evaluates.

Videos

  • "Software Architecture Fundamentals." O'Reilly Learning. https://www.oreilly.com. A widely used video course covering architecture definitions, components, connectors, views, and quality attributes — an excellent companion to this chapter for visual learners who want structured video instruction on the foundational vocabulary.