In the second half of the 20th century researchers tried to improve, simplify and speed up software development by having a look at the fundamental principles behind the architectural development. Applying these software architecture principles helped to design and develop software systems. This paper will introduce the very beginning of software architecture and how it contributed to solving open issues arising with today’s software by comparing abstracts of Parnas and Shaw who published two of the earliest papers in this field.
Inhaltsverzeichnis (Table of Contents)
- Introduction
- Discussion
- ‘On the criteria to be used in decomposing systems into modules’
- ‘Large scale systems require higher-level abstractions’
- Critical Analysis
- Conclusion
Zielsetzung und Themenschwerpunkte (Objectives and Key Themes)
This paper explores the early development of software architecture, focusing on the contributions of D.L. Parnas and Mary Shaw. It aims to demonstrate the significance of software architecture principles in addressing challenges related to the design and development of complex systems. Through a comparative analysis of Parnas' and Shaw's seminal works, the paper highlights key concepts such as information hiding, modularization, and the need for higher-level abstractions.
- The evolution of software architecture and its role in managing complexity
- The importance of information hiding and modularization in software design
- The need for higher-level abstractions in large-scale systems
- The application of early software architecture principles to contemporary systems
- The future of software architecture and its potential for automation
Zusammenfassung der Kapitel (Chapter Summaries)
- Introduction: This chapter introduces the concept of software architecture and its evolution, highlighting the challenges posed by increasingly complex systems. It establishes the significance of understanding the principles behind software architecture design and development.
- Discussion: This section delves into two seminal papers in software architecture. It examines Parnas' work on "On the Criteria to be Used on Decomposing Systems into Modules," focusing on the concept of information hiding and its impact on software design. It then discusses Shaw's work on "Larger Scale Systems Require Higher-Level Abstractions," emphasizing the importance of architectural abstractions for managing complex systems.
- Critical Analysis: This chapter explores how the principles pioneered by Parnas and Shaw continue to influence modern software architecture. It examines the application of their ideas to contemporary systems and discusses the limitations of their approaches in the context of modern software development.
Schlüsselwörter (Keywords)
The main focus of this paper lies on the fundamentals of software architecture, emphasizing key concepts like modularization, information hiding, and the need for higher-level abstractions in complex systems. The work draws upon the contributions of early pioneers in the field such as Parnas and Shaw, highlighting their pioneering efforts in defining the principles and practices of software architecture. Furthermore, the paper explores the evolution of software architecture, considering its impact on modern development methodologies and the potential for automation in the future.
Frequently Asked Questions
What is the origin of software architecture as a field?
Software architecture emerged in the second half of the 20th century as researchers sought to simplify and speed up the development of increasingly complex software systems.
What was D.L. Parnas' contribution to software design?
Parnas introduced the concept of "information hiding" and criteria for decomposing systems into modules, which remains a cornerstone of modern software architecture.
Why did Mary Shaw advocate for "higher-level abstractions"?
Shaw argued that large-scale systems are too complex for low-level programming alone and require architectural abstractions to manage design and development effectively.
How does early software architecture help solve modern software issues?
Principles like modularization and abstraction allow developers to manage the scale and interdependencies of today's massive software ecosystems.
What is the future of software architecture according to the paper?
The paper discusses the potential for further automation in architectural design, building upon the foundational principles established by pioneers like Parnas and Shaw.
- Quote paper
- Saskia Siebert (Author), 2017, The Beginning of Software Architecture, Munich, GRIN Verlag, https://www.grin.com/document/414640