Modern software systems are becoming more and more complex. The importance of distributed systems and networking increases. To guarantee the ability of understanding and maintaining complex systems, some questions concerning the structure of software systems are increasingly important to deal with. Our paper gives a survey of existing approaches in the field of software architecture. With the term software architecture we mean the gross structure of a software system. In this context several questions arise: What are good software structures and how to find them? How to describe software architectures? This paper starts with a motivation for dealing with software architectures. It gives a short overview of the software development process to show the role of software architecture within this process. After that, we give a survey of some formal approaches by the research community concerning the basic structure of software systems (architectural styles) and the question of how to write them down (architectural description languages). A selection of pragmatic approaches by the software development industry (design patterns, frameworks, domain-specific software architectures and technical standard architectures) is presented thereafter. Their primary goal is to reuse design ideas already known or even available code.
«
Modern software systems are becoming more and more complex. The importance of distributed systems and networking increases. To guarantee the ability of understanding and maintaining complex systems, some questions concerning the structure of software systems are increasingly important to deal with. Our paper gives a survey of existing approaches in the field of software architecture. With the term software architecture we mean the gross structure of a software system. In this context several que...
»