Synopses & Reviews
This book constitutes the thoroughly refereed post-proceedings of the Fourth International Conference on the Quality of Software Architectures, QoSA 2008, held in Medford, MA, USA, in July 2007, in conjunction with the 10th International ACM SIGSOFT Symposium on Component-Based Software Engineering, CBSE 2007, and the ROSATEA 2007 event, investigating the Role of Software Architecture for Testing and Analysis, forming the federated events on Component-Based Software Engineering and Software Architecture, CompArch 2007. The 13 revised full papers presented together with 1 keynote lecture were carefully reviewed and selected from 42 submissions. The papers are organized in topical sections on architectural design and architectural decisions, tracing architectural decisions, architecture evaluation, architecture evolution, architecting process and architectural knowledge.
Synopsis
Models are used in all kinds of engineering disciplines to abstract from the various details of the modelled entity in order to focus on a speci?c aspect. Like a blueprint in civil engineering, a software architecture providesan abstraction from the full software system's complexity. It allows software designers to get an overview on the system underdevelopmentandtoanalyzeitsproperties.Inthissense, modelsarethefoundation needed for software development to become a true engineering discipline. Especially when reasoning on a software system's extra-functional properties, its software architecture carries the necessary information for early, design-time analyses. These analyses take the software architecture as input and can be used to direct the design process by allowing a systematic evaluation of different design alternatives. For example, they can be used to cancel out decisions which would lead to architecture - signs whose implementation would not comply with extra-functionalrequirements like performance or reliability constraints. Besides such quality attributes directly visible to the end user, internal quality attributes, e.g., maintainability, also highly depend on the system's architecture. In addition to the above-mentioned technical aspects of software architecture m- els, non-technical aspects, especially project management-related activities, require an explicit software architecture model. The models are used as input for cost esti- tions, time-, deadline-, and resource planning for the development teams. They serve the project management activities of planning, executing, and controlling, which are necessary to deliver high-quality software systems in time and within the budget.