Why have a book about the relation between requirements and software architecture? Understanding the relation between requirements and architecture is important because the requirements, be they explicit or implicit, represent the function, whereas the architecture determines the form. While changes to a set of requirements may impact on the realization of the architecture, choices made for an architectural solution may impact on requirements, e.g., in terms of revising functional or non-functional requirements that cannot actually be met.
Although research in both requirements engineering and software architecture is quite active, it is in their combination that understanding is most needed and actively sought. Presenting the current state of the art is the purpose of this book. The editors have divided the contributions into four parts: Part 1 “Theoretical Underpinnings and Reviews” addresses the issue of requirements change management in architectural design through traceability and reasoning. Part 2 “Tools and Techniques” presents approaches, tools, and techniques for bridging the gap between software requirements and architecture. Part 3 “Industrial Case Studies” then reports industrial experiences, while part 4 on “Emerging Issues” details advanced topics such as synthesizing architecture from requirements or the role of middleware in architecting for non-functional requirements. The final chapter is a conclusions chapter identifying key contributions and outstanding areas for future research and improvement of practice.
The book is targeted at academic and industrial researchers in requirements engineering or software architecture. Graduate students specializing in these areas as well as advanced professionals in software development will also benefit from the results and experiences presented in thisvolume.Содержание
Introduction: relating requirements and architectures.- Part 1 Theoretical Underpinnings and Reviews.- Anticipating Change in Requirements Engineering.- Traceability in the Co-evolution of Architectural Requirements and Design.- Understanding Architectural Elements from Requirements Traceability Networks.- Part 2 Tools and Techniques.- Goal-Oriented Software Architecting.- Product-Line Models to Address Requirements Uncertainty, Volatility and Risk.- Systematic Architectural Design based on Problem Patterns.- Adaptation Goals for Adaptive Service-oriented Architectures.- Business Goals and Architecture.- Part 3 Experiences from Industrial Projects.- A Reference Architecture for Consumer Electronics Products and its Application in Requirements Engineering.- Using Model-Driven Views and Trace Links to Relate Requirements and Architecture: A Case Study.- Managing Artifacts with a Viewpoint-Realization Level Matrix.- Onions, Pyramids & Loops — From Requirements to Software Architecture.- Part 4 Emerging Issues in Relating Software Requirements and Architecture.- Synthesizing Architecture from Requirements: A Genetic Approach.- How Software Architecture can Frame, Constrain and Inspire System Requirements.- Economics-driven Architecting for Non functional Requirements in the Presence of Middleware.- Conclusions.
Об авторе
Paris Avgeriou is Professor of Software Engineering at the University of Groningen, The Netherlands, where he has led the software engineering research group since September 2006. He has published more than 90 peer-reviewed articles in international journals, conference proceedings, and books. His research interests lie in the area of software architecture, with a strong emphasis on architecture modeling, knowledge, evolution, and patterns.
John Grundy is Professor of Software Engineering at Swinburne University of Technology, Australia. He has published over 200 refereed papers and has made numerous contributions to the fields of collaborative software engineering, software architecture, and software visualization.
Jon G. Hall is Senior Lecturer at The Open University, UK. Jon has published widely on numerous subjects including formal methods, software architectures, and requirements engineering. His current research mission is to provide new thoughts and tools for sophisticated problem solving.
Patricia Lago is Associate Professor at the VU University Amsterdam, The Netherlands. Her research interests are in software and service-oriented architecture, architectural knowledge management, green IT, and sustainable software engineering. She has published over 100 peer-reviewed articles in international journals, conference proceedings, and books.
Ivan Mistrík is an independent consultant and researcher in software-reliant systems engineering with more than forty years’ experience, working at R&D institutions in the USA and Germany and consulting on a variety of large international projects sponsored by ESA, EU, NASA, NATO, and UN.