Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

Digital Library

Javascript is currently disabled for your browser. For an optimal search experience, please enable javascript.

Advanced Search

Basic Search

Content Type

Topics

Publication Date

Book

Designing Software Architectures: A Practical Approach

Designing Software Architectures: A Practical Approach
  • Abstract

    Designing Software Architectures will teach you how to design any software architecture in a systematic, predictable, repeatable, and cost-effective way.

    This book introduces a practical methodology for architecture design that any professional software engineer can use, provides structured methods supported by reusable chunks of design knowledge, and includes rich case studies that demonstrate how to use the methods.

    Using realistic examples, you’ll master the powerful new version of the proven Attribute-Driven Design (ADD) 3.0 method and will learn how to use it to address key drivers, including quality attributes, such as modifiability, usability, and availability, along with functional requirements and architectural concerns.

    Drawing on their extensive experience, Humberto Cervantes and Rick Kazman guide you through crafting practical designs that support the full software life cycle, from requirements to maintenance and evolution. You’ll learn how to successfully integrate design in your organizational context, and how to design systems that will be built with agile methods.

    Comprehensive coverage includes

    • Understanding what architecture design involves, and where it fits in the full software development life cycle
    • Mastering core design concepts, principles, and processes
    • Understanding how to perform the steps of the ADD method
    • Scaling design and analysis up or down, including design for pre-sale processes or lightweight architecture reviews
    • Recognizing and optimizing critical relationships between analysis and design
    • Utilizing proven, reusable design primitives and adapting them to specific problems and contexts
    • Solving design problems in new domains, such as cloud, mobile, or big data

Cite This Book

BibTex

@book{KazmanDesigningSoftware2016,
title = {Designing Software Architectures: A Practical Approach},
author={Rick Kazman and Humberto Cervantes},
year={2016},
publisher={Addison-Wesley Professional},
}