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:
- Wikipedia on SOLID
- A nice Introduction by Samuel Oloruntoba
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