Next Section

Software Architect Bootcamp, Second Edition

The completely updated "field manual" for becoming a better software architect!

The crucial skills you need to survive and thrive as an enterprise software architect! Fully updated for the latest techniques-from lightweight methods and architectural layers to Model-Driven Architecture and UML 2.0!

In this book, Raphael Malveau and Thomas J. Mowbray share up-to-the-minute insights and practical solutions for all the key challenges of building enterprise software systems with objects, components, and Internet technologies. You'll master today's best technical and business practices for the entire project lifecycle as you discover how to avoid crucial pitfalls and costly errors. Coverage includes:

With hands-on exercises, real-life war stories, and a take-no-prisoners attitude, Software Architect Bootcamp, Second Edition, won't just help you become a great software architect: it'll help you become a true technical leader of your organization.

 

Table of Contents

   Preface
      Chapter One.  Introduction
     Section 1.1.  Defining Software Architecture
     Section 1.2.  The Need For The Software Architect
     Section 1.3.  Goals
      Chapter Two.  Military History
     Section 2.1.  Software Architecture Approaches
     Section 2.2.  The Architectural Paradigm Shift
     Section 2.3.  The Need for Software Architecture
     Section 2.4.  Zachman Framework
     Section 2.5.  Reference Model for Open Distributed Processing
     Section 2.6.  Enterprise Architecture Standards
     Section 2.7.  Design Patterns
     Section 2.8.  AntiPatterns
     Section 2.9.  Software Design-Level Model
     Section 2.10.  Conclusions
     Section 2.11.  Exercises
      Chapter Three.  Software Architecture: Basic Training
     Section 3.1.  Object-Oriented Technology
     Section 3.2.  Component-Oriented Technology
     Section 3.3.  Technology Ownership
     Section 3.4.  Client-Server Technology
     Section 3.5.  Internet Technology
     Section 3.6.  Architectural Layers and When to Use Them
     Section 3.7.  Software Application Experience
     Section 3.8.  Technology and Application Architecture
     Section 3.9.  Applying Standards to Application Systems
     Section 3.10.  Distributed Infrastructures
     Section 3.11.  Conclusions
     Section 3.12.  Exercises
      Chapter Four.  Software Architecture: Going to War
     Section 4.1.  Software Architecture Paradigm Shift
     Section 4.2.  Doing Software Incorrectly
     Section 4.3.  Doing Software Correctly: Enterprise Architecture Development
     Section 4.4.  Bottom Line: Time, People, and Money
     Section 4.5.  Conclusions
     Section 4.6.  Exercises
      Chapter Five.  Software Architecture: Drill School
     Section 5.1.  Architecture Versus Programming
     Section 5.2.  Managing Complexity Using Architecture
     Section 5.3.  Systems Integration
     Section 5.4.  Making the Business Case
     Section 5.5.  Architectural Linkage to Software Development
     Section 5.6.  Conclusions
     Section 5.7.  Exercises
      Chapter Six.  Leadership Training
     Section 6.1.  Leadership Is a Necessary, Learnable Skill
     Section 6.2.  The Architect as Team Builder
     Section 6.3.  Always Insist on Excellence in Deliverables
     Section 6.4.  Architect's Walkthrough
     Section 6.5.  Project Management Basics
     Section 6.6.  Architect's Role Versus Project Management
     Section 6.7.  Conclusions
     Section 6.8.  Exercises
      Chapter Seven.  Software Architecture: Jump School
     Section 7.1.  Process
     Section 7.2.  Creating New Processes
     Section 7.3.  Teamwork
     Section 7.4.  Conclusions
     Section 7.5.  Exercises
      Chapter Eight.  Communications Training
     Section 8.1.  Communications Challenges
     Section 8.2.  Responsibility-Driven Development
     Section 8.3.  Communication Responsibilities
     Section 8.4.  Handling Feedback
     Section 8.5.  Evolution of Software Design Notations
     Section 8.6.  Unified Modeling Language Notation
     Section 8.7.  Model-Driven Architecture
     Section 8.8.  Conclusions
     Section 8.9.  Exercises
      Chapter Nine.  Software Architecture: Intelligence Operations
     Section 9.1.  Architectural Mining
     Section 9.2.  Architectural Iteration
     Section 9.3.  Architectural Judgment
     Section 9.4.  Conclusions
     Section 9.5.  Exercises
      Chapter Ten.  Software Architecture: Psychological Warfare
     Section 10.1.  Alternative Learning
     Section 10.2.  Internal Control
     Section 10.3.  Expectation Management
     Section 10.4.  Psychology of Truth
     Section 10.5.  Software Envisioning
     Section 10.6.  Reference Models and Human Psychology
     Section 10.7.  Example: Reference Selling
     Section 10.8.  Psychology of Ownership
     Section 10.9.  Psychological Akido
     Section 10.10.  Conclusions
     Section 10.11.  Exercises
      Chapter Eleven.  Software Architecture: Career Advice
     Section 11.1.  Read, Read, Read
     Section 11.2.  Word of Caution
     Section 11.3.  Making A NAME
     Section 11.4.  Becoming an Expert
     Section 11.5.  Conclusions
     Section 11.6.  Exercises
      Appendix A.  Architecture Example: Test Results Reporting System
     Section A.1.  Introduction
     Section A.2.  Component Interoperability Challenge
     Section A.3.  Target Architecture for the TRRS
     Section A.4.  Target Enterprise Viewpoint
     Section A.5.  Target Information Viewpoint
     Section A.6.  Target Technology Viewpoint
     Section A.7.  Prototype Implementation
     Section A.8.  Prototype Computational Viewpoint
     Section A.9.  TRRS Terminology
     Section A.10.  Use Case Definitions
     Section A.11.  Core Workflows
     Section A.12.  Information Model
     Section A.13.  Conclusions
      Appendix B.  Design Templates and Examples
     Section B.1.  Conceptual Design
     Section B.2.  Relationship Service Conceptual Design
     Section B.3.  High-Level Design
     Section B.4.  Relationship Service High-Level Design
      Appendix C.  Glossary of Software Architecture Terminology
     Glossary
      Appendix D.  Abbreviations
      Appendix E.  Bibliography
  Next Section