Example: stock market

Software Architecture in Practice - pearsoncmg.com

I SoftwareArchitecturein Practice Second Edition Page i Thursday, March 20, 2003 7:21 PMThird Edition The SEI Series in Software Engineering represents is a collaborative undertaking of the Carnegie Mellon Software Engineering Institute (SEI) and Addison-Wesley to develop and publish books on Software engineering and related topics. The common goal of the SEI and Addison-Wesley is to provide the most current information on these topics in a form that is easily usable by practitioners and in the series describe frameworks, tools, methods, and technologies designed to help organizations, teams, and individuals improve their technical or management capabilities. Some books describe processes and practices for developing higher-quality Software , acquiring programs for complex systems, or delivering services more effectively. Other books focus on Software and system Architecture and product-line development. Still others, from the SEI s CERT Program, describe technologies and practices needed to manage Software and network security risk.

Library of Congress Cataloging-in-Publication Data Bass, Len. Software architecture in practice / Len Bass, Paul Clements, Rick Kazman.—3rd ed. p. cm.—(SEI series in software engineering) Includes bibliographical references and index. ISBN 978-0-321-81573-6 (hardcover : alk. paper) 1. Software architecture. 2. System design. I.

Tags:

  Architecture, Software, Congress, Software architecture

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Transcription of Software Architecture in Practice - pearsoncmg.com

1 I SoftwareArchitecturein Practice Second Edition Page i Thursday, March 20, 2003 7:21 PMThird Edition The SEI Series in Software Engineering represents is a collaborative undertaking of the Carnegie Mellon Software Engineering Institute (SEI) and Addison-Wesley to develop and publish books on Software engineering and related topics. The common goal of the SEI and Addison-Wesley is to provide the most current information on these topics in a form that is easily usable by practitioners and in the series describe frameworks, tools, methods, and technologies designed to help organizations, teams, and individuals improve their technical or management capabilities. Some books describe processes and practices for developing higher-quality Software , acquiring programs for complex systems, or delivering services more effectively. Other books focus on Software and system Architecture and product-line development. Still others, from the SEI s CERT Program, describe technologies and practices needed to manage Software and network security risk.

2 These and all books in the series address critical problems in Software engineering for which practical solutions are available. Visit for a complete list of available SEI Series in Software EngineeringSoftwareArchitecturein PracticeThird Edition Len BassPaul ClementsRick Kazman Addison-WesleyUpper Saddle River, NJ Boston Indianapolis San FranciscoNew York Toronto Montreal London Munich Paris MadridCapetown Sydney Tokyo Singapore Mexico CityThe SEI Series in Software EngineeringMany of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trade-mark claim, the designations have been printed with initial capital letters or in all , CMMI, Capability Maturity Model, Capability Maturity Modeling, Carnegie Mellon, CERT, and CERT Coordination Center are registered in the Patent and Trademark Office by Carnegie Mellon University.

3 ATAM; Architecture Tradeoff Analysis Method; CMM Integration; COTS Usage-Risk Evaluation; CURE; EPIC; Evolutionary Process for Integrating COTS Based Systems; Framework for Software Product Line Practice ; IDEAL; Interim Profile; OAR; OCTAVE; Operationally Critical Threat, Asset, and Vulnerability Evaluation; Options Analysis for Reengineering; Personal Software Process; PLTP; Product Line Technical Probe; PSP; SCAMPI; SCAMPI Lead Appraiser; SCAMPI Lead Assessor; SCE; SEI; SEPG; Team Software Process; and TSP are service marks of Carnegie Mellon University. Special permission to reproduce portions of works copyright by Carnegie Mellon University, as listed on page 588, is granted by the Software Engineering of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trade-mark claim, the designations have been printed with initial capital letters or in all authors and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions.

4 No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained publisher offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales, which may include electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, and branding interests. For more information, please Corporate and Government Sales (800) 382-3419 sales outside the United States, please contact:International Sales us on the Web: of congress Cataloging-in-Publication DataBass, Len. Software Architecture in Practice / Len Bass, Paul Clements, Rick Kazman. 3rd ed. p. cm. (SEI series in Software engineering) Includes bibliographical references and index. ISBN 978-0-321-81573-6 (hardcover : alk. paper) 1. Software Architecture . 2. System design. I. Clements, Paul, 1955 II. Kazman, Rick. III. Title. 2012 dc23 2012023744 Copyright 2013 Pearson Education, rights reserved.

5 Printed in the United States of America. This publication is protected by copy-right, and permission must be obtained from the publisher prior to any prohibited reproduction, stor-age in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photo-copying, recording, or likewise. To obtain permission to use material from this work, please submit a written request to Pearson Education, Inc., Permissions Department, One Lake Street, Upper Saddle River, New Jersey 07458, or you may fax your request to (201) : 978-0-321-81573-6 ISBN-10: 0-321-81573-4 Text printed in the United States on recycled paper at Courier in Westford, Massachusetts. First printing, September 2012 The SEI Series in Software EngineeringMany of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where thosedesignations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with ini-tial capital letters or in all , CMMI, Capability Maturity Model, Capability Maturity Modeling, Carnegie Mellon, CERT, and CERT Coordination Centerare registered in the Patent and Trademark Office by Carnegie Mellon University.

6 ATAM; Architecture Tradeoff Analysis Method; CMM Integration; COTS Usage-Risk Evaluation; CURE; EPIC; EvolutionaryProcess for Integrating COTS Based Systems; Framework for Software Product Line Practice ; IDEAL; Interim Profile; OAR;OCTAVE; Operationally Critical Threat, Asset, and Vulnerability Evaluation; Options Analysis for Reengineering; Personal Soft-ware Process; PLTP; Product Line Technical Probe; PSP; SCAMPI; SCAMPI Lead Appraiser; SCAMPI Lead Assessor; SCE; SEI;SEPG; Team Software Process; and TSP are service marks of Carnegie Mellon University. Special permission to reproduce portions of CMMI for Development (CMU/SEI-2010-TR-035), 2010 by Carnegie Mellon University, has been granted by the Software Engineering authors and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of anykind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained publisher offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales, which mayinclude electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, andbranding interests.

7 For more information, please Corporate and Government Sales(800) sales outside the United States, please contact:International us on the Web: of congress Cataloging-in-Publication DataChrissis, Mary for development : guidelines for process integration and productimprovement / Mary Beth Chrissis, Mike Konrad, Sandy Shrum. 3rd bibliographical references and 978-0-321-71150-2 (hardcover : alk. paper)1. Capability maturity model (Computer Software ) 2. Softwareengineering. 3. Production engineering. 4. Manufacturing Konrad, Mike. II. Shrum, Sandy. III. Title. dc222010049515 Copyright 2011 Pearson Education, rights reserved. Printed in the United States of America. This publication is protected by copyright, and permission must beobtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or byany means, electronic, mechanical, photocopying, recording, or likewise. For information regarding permissions, write to:Pearson Education, and Contracts Department501 Boylston Street, Suite 900 Boston, MA 02116 Fax: (617) 671-3447 ISBN-13:978-0-321-71150-2 ISBN-10:0-321-71150-5 Text printed in the United States on recycled paper at Courier in Westford, printing, March 2011 Chrissis_Title 2/3/11 12:32 PM Page ivvContentsPreface xvReader s Guide xviiAcknowledgments xix Part ONE INtrOductION 1cHaPtEr 1 What Is Software Architecture ?

8 What Software Architecture Is and What It Isn t Architectural Structures and Views Architectural Patterns What Makes a Good Architecture ? Summary For Further Reading Discussion Questions 23cHaPtEr 2 Why Is Software Architecture Important? Inhibiting or Enabling a System s Quality Attributes Reasoning About and Managing Change Predicting System Qualities Enhancing Communication among Stakeholders Carrying Early Design Decisions Defining Constraints on an Implementation Influencing the Organizational Structure Enabling Evolutionary Prototyping 33vi Contents Improving Cost and Schedule Estimates Supplying a Transferable, Reusable Model Allowing Incorporation of Independently Developed Components Restricting the Vocabulary of Design Alternatives Providing a Basis for Training Summary For Further Reading Discussion Questions 38cHaPtEr 3the Many contexts of Software Architecture Architecture in a Technical Context Architecture in a Project Life-Cycle Context Architecture in a Business Context Architecture in a Professional Context Stakeholders How Is Architecture Influenced?

9 What Do Architectures Influence? Summary For Further Reading Discussion Questions 60 Part tWO QualIty attrIbutES 61cHaPtEr 4understanding Quality attributes Architecture and Requirements Functionality Quality Attribute Considerations Specifying Quality Attribute Requirements Achieving Quality Attributes through Tactics Guiding Quality Design Decisions Summary For Further Reading Discussion Questions 77cHaPtEr 5availability Availability General Scenario Tactics for Availability A Design Checklist for Availability Summary For Further Reading Discussion Questions 100cHaPtEr 6 Interoperability Interoperability General Scenario Tactics for

10 Interoperability A Design Checklist for Interoperability Summary For Further Reading Discussion Questions 116cHaPtEr 7 Modifiability Modifiability General Scenario Tactics for Modifiability A Design Checklist for Modifiability Summary For Further Reading Discussion Questions 128cHaPtEr 8 Performance Performance General Scenario Tactics for Performance A Design Checklist for Performance Summary For Further Reading Discussion Questions 145cHaPtEr 9 Security Security General Scenario Tactics for Security 150viii Contents A Design Checklist for Security Summary For Further Reading Discussion Questions 158cHaPtEr 10testability Testability General Scenario Tactics for Testability A Design Checklist for Testability Summary For Further Reading Discussion Questions 173cHaPtEr 11usability Usability General Scenario Tactics for Usability A Design Checklist for Usability Summary For Further Reading Discussion Questions 183cHaPtEr 12 Other Quality attributes Other Important Quality Attributes Other Categories of Quality Attributes Software Quality Attributes and System Quality Attributes Using Standard Lists of Quality Attributes or Not Dealing with X-ability.


Related search queries