References and Resources

Anderson-2008

Ross Anderson, Security Engineering - A Guide to Building Dependable Distributed Systems, 2nd edition 2008, John Wiley & Sons.

One of the most comprehensive books about information security available.

Bachmann+2000

Bachmann, Felix/Bass, Len/Carriere, Jeromy/Clements, Paul/Garlan, David/Ivers, James/Nord, Robert/Little, Reed. Software Architecture Documentation in Practice, Special Report CMU/SEI-2000-SR-004, 2000.

Bass+2012

Bass, L/Clements, P/Kazman, R.: Software Architecture in Practice

3rd edition, Addison-Wesley, 2012. Although the title suggests otherwise, a quite fundamental (and sometimes abstract) book. The authors have a strong background in ultra-large scale (often military) systems - so their advice might sometimes conflicts with small or lean kinds of projects.

Brown-2015

Brown, Simon: Software Architecture For Developers,

https://leanpub.com/software-architecture-for-developers Leanpub Publishing. Very practical and pragmatic.

Buschmann+1996

Also known as POSA-1.

Buschmann, Frank/Meunier, Regine/Rohnert, Hans/Sommerlad, Peter: A System of Patterns: Pattern-Oriented Software Architecture 1, 1st edition, 1996, John Wiley & Sons.

Most likely the most famous and groundbreaking book on architecture patterns.

Buschmann+2007

Also known as POSA-4.

Buschmann, Frank/Henney, Kevlin/Schmidt, Douglas C.: Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing, Volume 4, 2007, John Wiley & Sons.

Describes a pattern language for distributed computing that guides readers through the best practices and introduce them to key areas of building distributed software systems. The book connects hundreds of stand-alone patterns, pattern collections, and pattern languages from the existing body of literature found in the POSA series.

Buschmann+2007b

Also known as POSA-5.

Buschmann, Frank/Henney, Kevlin/Schmidt, Douglas C.: Pattern-Oriented Software Architecture: On Patterns and Pattern Languages, Volume 5, 2007, John Wiley & Sons.

A meta-explanation, addresses the question of what a pattern language is and compares various pattern paradigms.

Clements+2002

Clements, Paul/Kazman, Rick/Klein, Mark: Evaluating Software Architectures: Methods and Case Studies, Addison-Wesley, 2001.

Clements+2010

Clements, Paul/Bachmann, Felix/Bass, Len/Garlan, David/Ivers, James/Little, Reed/Merson, Paulo/Nord, Robert. Documenting Software Architectures: Views and Beyond, 2nd edition, Addison Wesley, 2010

Evans-2004

Evans, Eric: Domain-Driven Design: Tackling Complexity in the Heart of Software, 1st edition, Addison-Wesley, 2004.

Ford+2017

Neil Ford, Rebecca Parsons, Patrick Kua: Building Evolutionary Architectures: Support Constant Change. OReilly 2017

Fowler-2003

Fowler, Martin: Patterns of Enterprise Application Architecture, Addison-Wesley, 2003.

Great support for building information systems.

Gamma+1994

Gamma, Erich/Helm, Richard/Johnson, Ralph/Vlissides, John M. Design Patterns: Elements of Reusable Object-Oriented Software, 1st edition, 1994, Addison-Wesley, 1994.

A classic on design patterns.

GoF (Gang of Four)

See Gamma+1994

Gorton-2011

Gorton, I. Essential Software Architecture, 2nd edition, Springer, 2011

Hargis+2004

Hargis, Gretchen/Carey, Michelle/Hernandez, Ann: Developing Quality Technical Information: A Handbook for Writers and Editors, IBM Press, 2nd edition, Prentice Hall, 2004.

If you need to write lots of documentation, you should have a look at this book.

Hofmeister+2000

Hofmeister, Christine/Nord, Robert/Soni, Dilip: Applied Software Architecture, 1st edition, Addison-Wesley, 1999

Hohpe+2003

Hohpe, G/Woolf, B: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions, Addison Wesley, 2003.

A very important book and timeless book for people creating integrated systems.

Kazman+1996

Kazman, R., Abowd, G., Bass, L., & Clements, P.: Scenario-based analysis of software architecture, IEEE software, 13(6), 47-55, 1996.

Kelly+2009

Steven Kelly and Risto Pohjonen: Worst Practices for Domain-Specific Modeling IEEE Software, volume 26, No. 4 July/August 2009, p22-30.

Authors explain several bad practices of domain modeling and give advice how and why to avoid those.

Kruchten-1995

Kruchten, Philippe. The 4+1 View Model of Architecture, IEEE Software, volume 12 (6), pp 45-50, 1995.

Lilienthal-2019

Lilienthal, Carola: Langlebige Software-Architekturen: Technische Schulden analysieren, begrenzen und abbauen 3rd edition, dpunkt.verlag, 2019

Martin-SOLID

Martin, Robert C: S.O.L.I.D.

S.O.L.I.D is an acronym for the first five object-oriented design(OOD) principles by Robert C. Martin. Some of the original papers have been moved around onto various locations - see the following:

Martin-2003

Martin, Robert C: Agile Software Development: Principles, Patterns and Practices, Prentice Hall, 2002

McGraw-2006

Garry McGraw, “Software Security - Building Security In”, Addison-Wesley 2006

Covering the whole process of software design from a security perspective by the means of risk management, code reviews, risk analysis, penetration testing, security testing nad abuse case development.

Parnas-1972

Parnas, David: On the criteria to be used in decomposing systems into modules”, Communications of the ACM, volume 15, issue 12, Dec 1972

One of the most influential articles ever written in software engineering, introducing encapsulation and modularity.

POSA-1

Pattern-Oriented Software Architecture, Volume 1. See Buschmann+1996.

POSA-2

Pattern-Oriented Software Architecture, Volume 2. See Schmidt+2000.

POSA-4

Pattern-Oriented Software Architecture, Volume 4. See Buschmann+2007.

POSA-5

Pattern-Oriented Software Architecture, Volume 5. See Buschmann+2007b.

Quian+2010

Qian, K/Fu, X/Tao, L/Xu, C/Herrera, J: Software Architecture and Design Illuminated, 1st edition, Jones and Bartlett, 2010.

Well-structure and readable collection of architecture styles and patterns.

Rozanski+2011

Rozanski, Nick/Woods, Eoin: Software Systems Architecture - Working with Stakeholders Using Viewpoints and Perspectives, 2nd Edition, Addison Wesley 2011.

Presents a set of architectural viewpoints and perspectives.

RMIAS-2013

Yulia Cherdantseva, Jeremy Hilton, A Reference Model of Information Assurance & Security, 2013 Eight International Conference on Availability, Reliability and Security (ARES), DOI: 10.1109/ARES.2013.72 , http://users.cs.cf.ac.uk/Y.V.Cherdantseva/RMIAS.pdf

Conference Paper of Yulia Cherdantseva and Jeremy Hilton describing the RMIAS.

Schmidt+2000

Also known as POSA-2.

Schmidt, Douglas C/Stal, Michael/Rohnert, Hans/Buschmann, Frank. Pattern-Oriented Software Architecture, volume 2: Patterns for Concurrent and Networked Objects, Wiley & Sons, 2000

Schneier-1996

Bruce Schneier, Applied Cryptography, 2nd Edition 1996, John Wiley & Sons

Comprehensive suervey of modern cryptography.

Shaw+1996

Shaw, Mary/Garlan, David: Software Architecture: Perspectives on an Emerging Discipline, Prentice Hall, 1996

Starke-2018

Starke, Gernot: Effective Software Architectures: iSAQB CPSA-Foundation©️ Certification Study Guide Leanpub, 2018. Available online https://leanpub.com/esa42.

A study guide for the CPSA-Foundation examination.

Tanenbaum+2016

Andrew Tanenbaum, Maarten van Steen: Distributed Systems, Principles and Paradigms. https://www.distributed-systems.net/

Tornhill-2015

Adam Tornhill: Your Code as a Crime Scene. Use Forensic Techniques to Arrest Defects, Bottlenecks, and Bad Design in Your Programs. Pragmatic Programmers, 2015. https://www.adamtornhill.com