Software Architectures

Due to the size of this section it is refined by the following categories: fundamentals, lectures, documentation, reconstruction and evaluation.

Fundamentals

  • 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.
  • 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.

Lectures

Documentation

Reconstruction

Evaluation

  • Abowd, G.; Bass, L.; Clements, P.; Kazman, R. et al.: Recommended Best Industrial Practice for Software Architecture Evaluation. Technical Report CMU/SEI-96-TR-025, , Software Engineering Institute, Carnegie Mellon University, Pittsburgh 1996.
  • Ali Babar, M.: Scenarios, Quality Attributes, and Patterns: Capturing and Using their Synergistic Relationships for Product Line Architectures. In: Proceedings of the 11th Asia-Pacific Software Engineering Conference. IEEE Computer Society, 2004, pp 574-578.
  • Ali Babar, Muhammad; Kitchenham, Barbara; Maheshwari, Piyush: The Value of Architecturally Significant Information Extracted from Patterns for Architecture Evaluation – A Controlled Experiment. In: Proceedings of the 17th Australian Software Engineering Conference, IEEE Computer Society 2006, pp 379-390.
  • Ali Babar, Muhammad; Kitchenham, Barbara; Maheshwari, Piyush: Assessing the Value of Architectural Information Extracted from Patterns for Architecting. In: Proceedings of the 10th International Conference on Evaluation and Assessment in Software Engineering, 2006.
  • Ali Babar, Muhammad; Zhu, Liming; Jeffrey, Ross: A Framework for Classifying and Comparing Software Architecture Evaluation Methods. In: Proceedings of the 2004 Australian Software Engineering Conference. IEEE Computer Society, 2004, pp 309-318.
  • architecturalpatterns.com (Web Site) 😉
  • Bachmann, F.; Bass, L.; Klein, M.: Deriving Architectural Tactics – A Step Toward Methodical Architectural Design. Technical Report CMU/SEI-2003-TR-004, Software Engineering Institute, Carnegie Mellon University, Pittsburgh 2003.
  • Barbacci, M.R.: SEI Architecture Analysis Techniques and When to Use Them. Technical Report CMU/SEI-2002-TN-005, Software Engineering Institute, Carnegie Mellon University, Pittsburgh 2002.
  • Bass, L.; Ivers, J.; Klein, M.; Merson, P.: Reasoning Frameworks. Technical Report CMU/SEI-2005-TR-007, Software Engineering Institute, Carnegie Mellon University, Pittsburgh 2005.
  • Bass, L.; John, B. E.: Linking usability to software architecture patterns through general scenarios. In: The Journal of Systems and Software 66 (2003), pp 187–197.
  • Bass, L.; Klein, M.; Bachmann, F.: Quality Attribute Design Primitives. Technical Report CMU/SEI-2000-TN-017, Software Engineering Institute, Carnegie Mellon University, Pittsburgh 2000.
  • Bengtsson, P.; Bosch, J.: Scenario-based Software Architecture Reengineering. In: Proceedings of the 5th International Conference on Software Reuse, IEEE Computer Society, 1998, pp 308-317.
  • Bengtsson, P.O.; Lassing, N.; Bosch, J.; van Vliet, H.: Analyzing Software Architectures for Modifiability. Technical Report HK-R-RES-00/11-SE, Högskolan Karlskrona/Ronneby 2000.
  • Chastek, G.; Ferguson, R.: Toward Measures for Software Architectures. Technical Report CMU/SEI-2006-TN-013, Software Engineering Institute, Carnegie Mellon University, Pittsburgh 2006.
  • Clements, Paul; Kazman, Rick; Klein, Mark: Evaluating Software Architectures – Methods and Case Studies. Addison-Wesley, Boston et al. 2002.
  • Dobrica, L.; Niemelä, E.: A survey on Software Architecture Analysis Methods. In: IEEE Transactions on Software Engineering 28 (2002) 7, 2002, pp 638-653.
  • Gross, D.; Yu, E.: From Non-functional Requirements to Design through Patterns. In: Proceedings of the 6th International Workshop on Requirements Engineering: Foundations for Software Quality (REFSQ 2000), 2000, pp 18-36.
  • Hilliard II, Richard F.; Kurland, Michael J.; Litvintchouk, Steven D.: MITRE’s Architecture Quality Assessment. In: Proceedings of Software Engineering & Economics Conference (1997), pp 1-9.
  • International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC): ISO/IEC 9126-1 – Software engineering – Product quality – Part 1: Quality model. International Standard ISO/IEC 9126-1:2001(E).
  • Kazman, R.; Asundi, J.; Klein, M.: Making Architecture Design Decisions: An Economic Approach. Technical Report CMU/SEI-2002-TR-035, Software Engineering Institute, Carnegie Mellon University, Pittsburgh 2002.
  • Kazman, Rick; Bass, Len; Abowd, Gregory; Webb, Mike: SAAM: A Method for Analyzing the Properties of Software Architectures. In: Proceedings of the 16th International Conference on Software Engineering (1994), Sorrento, pp 81-90.
  • Kazman, Rick; Klein, Mark; Barbacci, Mario; Longstaff, Tom; Lipson, Howard; Carriere, Howard: The Architecture Tradeoff Analysis Method. Software Engineering Institute, Carnegie Mellon University, Pittsburgh 1997.
  • Kazman, R.; Klein, M.; Clements, P.: Evaluating Software Architectures for Real-Time Systems. In: Annals of Software Engineering, J. C. Baltzer AG, Science Publishers, Red Bank 1999, pp 71-93.
  • Kazman, R.; Nord, R.L.; Klein, M.: A Life-Cycle View of Architecture Analysis and Design Methods. Technical Report CMU/SEI-2003-TN-026, Software Engineering Institute, Carnegie Mellon University, Pittsburgh 2003.
  • Klein, M.; Bass, L.; Bachmann, F.: Illuminating the Fundamental Contributors to Software Architecture Quality. Technical Report CMU/SEI-2002-TR-025, Software Engineering Institute, Carnegie Mellon University, Pittsburgh 2002.
  • Klein, Mark; Kazman, Rick: Attribute-Based Architectural Styles. Technical Report CMU/SEI-1999-TR-022, Software Engineering Institute, Carnegie Mellon University, Pittsburgh 1999.
  • Lassing, N.; Bengtsson, P.; van Vliet, H.; Bosch, J.: Experiences with SAA of Modifiability. Technical Report HK-R-RES-00/10, Högskolan Karlskrona/Ronneby 2000.
  • Lassing, Nico; Rijsenbrij, Daan; van Vliet, Hans: On Software Architecture Analysis of Flexibility. Complexity of Changes: Size isn’t Everything. In: Proceedings of the 2nd Nordic Workshop on Software Architecture, Ronneby 1999, pp 1-6.
  • Lassing, N.; Rijsenbrij, D.; van Vliet, H.: The Goal of Software Architecture Analysis – Confidence Building or Risk Assessment. In: Proceedings of the 1st Benelux conference on state-of-the-art of ICT architecture, Amsterdam 1999.
  • Lung, Chung-Horng; Bot, Sonia; Kalaichelvan, Kalai; Kazman, Rick: An Approach to Software Architecture Analysis for Evolution and Reusability. In: Proceedings of the 1997 Conference of the Centre for Advanced Studies on Collaborative Research, IBM Press, 1997, pp 15-25.
  • Lung, C.H.; Kalaichelvan, K.: An Approach to Quantitative Software Architecture Sensitivity Analysis. In: International Journal of Software Engineering and Knowledge Engineering 10 (2000) 1, pp 97–114.
  • Nord, R.L.; Barbacci, M.R.; Clements, P.; Kazmann, R.: Integrating the ATAM with CBAM. Technical Report CMU/SEI-2003-TN-038, Software Engineering Institute, Carnegie Mellon University, Pittsburgh 2003.
  • O’Brien, L.; Bass, L.; Merson, P.: Quality Attributes and Service-Oriented Architectures. Technical Report CMU/SEI-2005-TN-014, Software Engineering Institute, Carnegie Mellon University, Pittsburgh 2005.
  • Sangal, N.; Jordan, E.; Sinha, V.; Jackson, D.: Using Dependency Models to Manage Complex Software Architecture. In: Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, ACM Press, New York 2005, pp 167-176.
  • Taufer, Michela: Inverting Middleware: Performance Analysis of Layered Application Codes. Dissertation, Swiss Federal Institute of Technology, Zurich, 2002.
  • Thiel, Steffen: A Framework to Improve the Architecture Quality of Software-Intensive Systems. Dissertation, University of Duisburg-Essen, Essen 2005.
  • Zhu, Liming; Ali Babar, Muhammad; Jeffery, Ross: Mining Patterns to Support Software Architecture Evaluation. In: Proceeding of the 4th Working IEEE/IFIP Conference on Software Architecture. IEEE Computer Society, 2004, pp 25-36.