Fundamentals

The following list contains seminal articles and reports on the fundamentals of (software) architecture.

  • Allen, R. J.: A Formal Approach to Software Architecture. Ph.D. Thesis (CMU-CS-97-144), School of Computer Science Carnegie Mellon University, Pittsburgh 1997.
  • Bass, Len; Clements, Paul; Kazman, Rick: Software Architecture in Practice. 3rd Edition, Addison-Wesley, Boston et al. 2012.
  • Best, L.: Application Architecture Modern Large-Scale Information Processing. Wiley, New York et al. 1990.
  • Baragry, J.; Reed, K.: Why Is It So Hard To Define Software Architecture. In: Proceedings of the Fifth Asia Pacific Software Engineering Conference, IEEE Computer Society, 1998, pp 28-36.
  • Clements, Paul; Northrop, Linda: Software Product Lines – Practices and Patterns. Addison-Wesley, Boston et al. 2002.
  • Clements, Paul: Coming Attractions in Software Architecture. Technical Report CMU/SEI-96-TR-008, Software Engineering Institute, Carnegie Mellon University, Pittsburgh 1996.
  • Dijkstra, Edsger W.: The structure of the “the”-multiprogramming system. In: Proceedings of the first ACM symposium on Operating System Principles. ACM Press, New York 1967, pp 10.1-10.6.
  • Dijkstra, Edsger W.: The structure of the “the”-multiprogramming system. In: Communications of the ACM 11(1968) 5, pp 341 – 346.
  • Hofmeister, Christine; Nord, Robert; Soni, Dilip: Applied Software Architecture. Addison-Wesley, Reading et al. 1995.
  • Cervantes, H.; Kazmann, R.: Designing Software Architectures: A Practical Approach. Addison Wesley, 2016.
  • Jacobson, Ivar; Griss, Martin; Jonsson, Patrik: Software Reuse. ACM Press, New York et al. 1992.
  • Kruchten, Philippe; Obbink, Henk; Stafford, Judith: The Past, Present and Future of Software Architecture. In: IEEE Software 23 (2006) 2, pp 22-30.
  • Lampson, Butler W.: Hints for Computer System Design. In: Proceedings of the 9th ACM Symposium on Operating Systems Principles, ACM Press, New York 1983, pp 33-48.
  • Mills, John A.: A Pragmatic View of the System Architect. In: Communications of the ACM 28 (1985) 7, pp 708-717.
  • Parnas, D. L.: On the Criteria to be used in Decomposing Systems into Modules. In: Communications of the ACM 15 (1972) 12, pp 1053-1058.
  • Parnas, D. L.: On the Design and Development of Program Families. In: IEEE Transactions on Software Engineering 2 (1976) 1, pp 1-9.
  • Perry, Dewayne E.; Wolf, Alexander L.: Foundations for the Study of Software Architecture. In: ACM SIGSOFT Software Engineering Notes 17 (1992) 4, pp 40-52.
  • Kazman, R.; Cervantes, H.: Designing Software Architectures – A Practical Approach. Addison-Wesley, Boston et al. 2016.
  • Shaw, Mary; Clements, Paul: The Golden Age of Software Architecture – A Comprehensive Survey. Technical Report CMU-ISRI-06-101, Institute for Software Research International, Carnegie Mellon University, Pittsburgh 2006.
  • Shaw, Mary; Garlan, David: Software Architecture – Perspectives on an Emerging Discipline. Prentice Hall, Upper Saddle River 1996.
  • Software Engineering Institute (SEI) – Software Architectures
  • Tichy, W.F.: Programming-in-the-Large – Past, Present and Future. In: Proceedings of the 14th International Conference on Software Engineering. ACM Press, New York 1992, pp 362-367.