Coordination-oriented architecture for large software systems.
|Title:||Coordination-oriented architecture for large software systems.|
|Authors:||Coifan, Gabriel M.|
|Abstract:||After nearly fifty years of existence, software development. evolved from craftsmanship to science, only lately breaking grounds towards an engineering discipline. The last ten years brought along a tremendous development of the software industry, fueled by a multitude of factors like the exponential increase in the computing power (associated with lower costs), combined though with increasing user needs, expectations, and increasing costs of software development. This rapid advance caught the software community ill prepared and suddenly uncovered what proved to be the two most important problems of the software industry today: how to derive proper requirements for a wide class of applications and how to handle the complexity of the solution. A number of significant attempts have been made so far in order to cope with complexity; taken chronologically, modularization and information hiding, object orientation, design patterns and software architectures are the most popular of them. None of them is complete; for good design one needs to have, along with the appropriate structure, the matching design methodologies, processes and tools. Development of more reliable software at a reasonable cost is more and more of a problem; today's demands from software products outgrow development capabilities. By analogy with more established engineering fields, it is clear that one needs disciplined and well defined requirement management, design and implementation methodologies in order to develop quality software. The purpose of the thesis is to introduce coordination-based design, as a step forward towards managing software complexity on the architectural level and improving non-functional characteristics of software systems: reliability, efficiency, maintainability, and usability. We also provide a critical view on basic ideas, trends and terminology in Software Architecture, develop a framework to define the need for Software Architecture and properly place it in the design context.|
|Collection||Thèses, 1910 - 2010 // Theses, 1910 - 2010|