Book Title: Software Architecture in Practice, Second Edition
Author: Len Bass, Paul Clements, Rick Kazman | Publication Date: April 9, 2003
The first edition of this book established itself as the leading book on this topic of growing importance. It was critically acclaimed (recipient of the Software Development Magazine Productivity Award) and widely embraced by customers. The second edition maintains the goals of the first edition: to define and explain software architecture, and to demonstrate, through real-world case studies, its importance for software system design.
Book Title: A Pattern Language: Towns, Buildings, Construction
Author: Christopher Alexander | ISBN: 0195019199 | Publisher: Oxford University Press | Publication Date: 1/1/1977
For building architects this is a "working alternative to our present ideas about architecture, building, and planning". For software architects it's a vision for a possible path ahead.
Click Here to Buy This Book
Amazon.com: The second of three books published by the Center for Environmental Structure to provide a "working alternative to our present ideas about architecture, building, and planning," A Pattern Language offers a practical language for building and planning based on natural considerations. The reader is given an overview of some 250 patterns that are the units of this language, each consisting of a design problem, discussion, illustration, and solution. By understanding recurrent design problems in our environment, readers can identify extant patterns in their own design projects and use these patterns to create a language of their own. Extraordinarily thorough, coherent, and accessible, this book has become a bible for homebuilders, contractors, and developers who care about creating healthy, high-level design.
Book Title: Thinkertoys (2nd ed.)
Author: Michael Michalko | ISBN: 1580087736 | Publisher: Ten Speed Press | Publication Date: 5/16/2006
A catalog of approaches you can use to generate ideas. Whether related to software architecture or not.
Book Title: Documenting Software Architectures: Views and Beyond
Author: Paul Clements, et al. | ISBN: 0201703726 | Publisher: Addison-Wesley Professional | Publication Date: 9/26/2002
Helps you decide what information to document and then, with guidelines and examples, shows you how to express an architecture in a form that everyone can understand. An important reference on the shelf of the software architect.
For all but the most trivial software systems, you must pay close attention to the architecture—the conceptual glue that holds every phase of a project together for its many stakeholders. Without an architecture that is appropriate for the problem being solved, the project will stumble along or, most likely, fail. Even with a superb architecture, if that architecture is not well understood or well communicated—in other words, well documented—the project cannot be considered a complete success.
Although architecture is now widely recognized as a critical element in software development, there has been little guidance independent of language or notation on how to capture it. Based on the authors' extensive experience, Documenting Software Architectures helps you decide what information to document, and then, with guidelines and examples (in various notations, including UML), shows you how to express an architecture in a form that everyone can understand. If you go to the trouble of creating a strong architecture, you must also be prepared to describe it thoroughly and clearly, and to organize it so that others can quickly find the information they need.
- Seven rules for sound documentation
- The uses of software architecture documentation, including goals and strategies
- Architectural views and styles, with general introductions and specific examples
- Documenting software interfaces and software behavior
- Templates for capturing and organizing information to generate a coherent package
Book Title: Balancing Agility and Discipline
Author: Barry Boehm, Richard Turner | ISBN: 0321186125 | Publisher: Addison-Wesley Professional | Publication Date: 8/15/2003
Balancing Agility and Discipline sweeps aside the rhetoric, drills down to the operational core concepts, and presents a constructive approach to defining a balanced software development strategy. The authors expose ...
Balancing Agility and Discipline sweeps aside the rhetoric, drills down to the operational core concepts, and presents a constructive approach to defining a balanced software development strategy. The authors expose the bureaucracy and stagnation that mark discipline without agility, and liken agility without discipline to unbridled and fruitless enthusiasm. Using a day in the life of two development teams and ground-breaking case studies, they illustrate the differences and similarities between agile and plan-driven methods, and show that the best development strategies have ways to combine both attributes. Their analysis is both objective and grounded, leading finally to clear and practical guidance for all software professionals--showing how to locate the sweet spot on the agility-discipline continuum for any given project.
Book Title: Managing Software Acquisition: Open Systems and COTS Products
Author: B. Craig Meyers, Patricia Oberndorf | ISBN: 0201704544 | Publisher: Addison-Wesley Pub Co | Publication Date: 7/12/2001
This book is a guide to thought through ways of acquiring COTS and Open Systems.
Book Title: The Requirements Engineering Handbook
Author: Ralph R. Young | ISBN: 1580532667 | Publisher: Artech House | Publication Date: 12/1/2003
A concise and thorough handbook on requirements analysis, this invaluable book is the perfect desk guide for your systems or software development work. This first-of-its-kind handbook enables you to identify the real customer requirements for your projects and control changes and additions to these requirements. The book helps you understand the importance of requirements, leverage effective requirements practices, and better utilize resources. You also learn how to strengthen interpersonal relationships and communications which are major contributors to project effectiveness.
Book Title: Evaluating Software Architectures: Methods and Case Studies
Author: Paul Clements, Rick Kazman, Mark Klein | ISBN: 020170482X | Publisher: Addison-Wesley Pub Co | Publication Date: 1/15/2002
"Detailed case studies demonstrate the value and practical application of the ATAM, SAAM and the ARID methods to real-world systems."
"Presents three methods for evaluating the structure of large software systems during the design phase. The three techniques separately test for whether quality goals are met and how they interact; for modifiability and functionality; and for the feasibility and suitability of a set of services provided by a portion of the system. The authors, who are members of Carnegie Mellon's Software Engineering Institute, illustrate how to apply each step of the methods through case studies." (Book News, Inc.)
Book Title: Software Architecture for Product Families: Principles and Practice
Author: Mehdi Jazayeri, Alexander Ran, Frank Van Der Linden, Frank Van Der Linden, Philip Van Der Linden | ISBN: 0201699672 | Publisher: Addison-Wesley Pub Co | Publication Date: 1/15/2000
"Provides the software engineering community with a resource for devising and implementing a successful product-family architecture. Discusses the process of learning how to design software for product-line engineering. Focuses on architectural description, assessment, and recovery."
"This book is based primarily on experience gained from the EC-funded research project ARES (architectural reasoning for embedded systems), which was carried out by three industrial and three university partners: Nokia Research Center, Philips Corporate Research, Asea Brown Boveri (ABB) Corporate Research, Technical University of Vienna, Imperial College of Science and Technology (London), and Polytechnic University of Madrid. The project showed how software reuse can be attained more easily through a product-family approach; the authors show how software developers can implement a product-family architecture that will result in better quality, reduced costs, and decreased time to market." (Book News, Inc)
Book Title: Software Product Lines
Author: Paul Clements, Linda Northrop | ISBN: 0201703327 | Publisher: Addison-Wesley Pub Co | Publication Date: 8/20/2001
This volume explains the technical issues involved in adopting a product line practice and outlines the organizational and management issues that need to be taken into account. It contains two detailed case studies demonstrating how organizations overcame product line hurdles in their own ways.
"... This book describes the development of a reusable base of core assets, the design of products using those core assets, and the coordination of product development. Twenty-nine practice areas are identified in categories such as architecture definition, component development, testing, configuration management, market analysis, and training." (Book News, Inc)
Book Title: Software Product-Line Engineering: A FamilyBased Software Development Process
Author: David M. Weiss , Chi Tau Robert Lai | ISBN: 0201694387 | Publisher: Addison-Wesley Pub Co | Publication Date: 8/12/1999
The authors outline a systematic method for rapid software production through the family-oriented abstraction, specification, and translation (FAST) process. FAST uses practical domain engineering to decrease the time and effort necessary to develop,
"It is in the "how to do it" part that this book excels, because it illustrates a process that has been successfully applied to reduce costs for organizations that develop large programming systems. With the help of this book, many more can learn how to exploit the idea of program families and bring about a substantial improvement in the state of practice in the software industry." --David Lorge Parnas