1st Edition

Architecting Software Intensive Systems A Practitioners Guide

By Anthony J. Lattanze Copyright 2009
    486 Pages 416 B/W Illustrations
    by Auerbach Publications

    Architectural design is a crucial first step in developing complex software intensive systems. Early design decisions establish the structures necessary for achieving broad systemic properties. However, today’s organizations lack synergy between software their development processes and technological methodologies. Providing a thorough treatment of the latest theory and best practices, Architecting Software Intensive Systems: A Practitioner’s Guide explains:

    • How and when to design architectures
    • How to weave architecture design processes into existing development processes
    • What to do with architecture design artifacts once created

    The first section establishes key concepts in architectural design for software intensive systems, including architectural drivers, structures, and fundamental guidance for architectural design. The book goes on to describe the industry tested Architecture Centric Design Method. Each stage of the method is explained and the book provides all of the supporting templates and checklists. The last section discusses practical matters, including how to adopt disciplined architectural design practices into existing organizational development processes.

    With the principled understanding of design provided by this book, architects can temper their visceral instinct to react and be better prepared to address a broader range of design problems regardless of business context or their domain experience.

    Introduction

    Architecture Defined

    Architectural Drivers

    Architectural Structures

    The Work of an Architect

    Documenting the Architectural Design

    The Architecture Centric Design Method

    ACDM Stage 1: Discovering the Architectural Drivers

    ACDM Stage 2: Establishing Project Scope

    ACDM Stage 3: Create/Refine the Architecture

    ACDM Stage 4: Evaluate the Architecture Design

    ACDM Stage 5: The Go/No-Go Decision

    ACDM Stage 6: Experimentation

    ACDM Stage 7: Production Planning

    ACDM Stage 8: Production

    Transitioning Design Practices, Processes, and Methods

    Barriers to Adoption: Common Anti-practices

    Other Design Considerations: Legacy, Design by Selection, and Maintenance

    Using ACDM with Software Development Frameworks

    Biography

    Anthony J. Lattanze