Software Architecture for Product Families: Principles and Practice
0201699672
9780201699678
Description:
"The section on architectural concepts is superb." --Paul Clements, Software Engineering Institute "The authors present a very knowledgeable presentation about software development and software architecture. There are good techniques here that would interest other software architects and designers." --Henry McNair, Hewlett-Packard The fast pace of modern business is creating new challenges for software engineers. These professionals are faced with the daunting assignment of delivering more robust software for less money--and in less time. In addition, many must now learn to efficiently develop software for a suite, or family, of products. Research has shown that a product-line approach to creating software can be achieved, but where does a software practitioner turn for information and guidance on such a major, potentially difficult transition? Using an example-based approach, Software Architecture for Product Families provides the software engineering community with a valuable resource for devising and, more importantly, implementing a successful product-family architecture. The concepts and technologies set forth in this book are based on the authors' cutting-edge experiences with the ARES (Architectural Reasoning for Embedded Systems) Project, a major European research initiative that proved that software reuse can be attained more easily through a product-family approach. This book simplifies the intimidating process of learning how to design software for product-line engineering by focusing on three key aspects of architectural practice: architecture description, assessment, and recovery. Practitioners will learn how to pinpoint the source of their problems, focus on the big picture, and see what kinds of problems can be addressed with the product-family approach. With this book as a guide, software developers will be able to implement a sound product-family architecture that will result in better quality, reduced costs, and decreased time to market.