| |
| |
Preface | |
| |
| |
| |
Introduction | |
| |
| |
Defining Software Architecture | |
| |
| |
The Need for the Software Architect | |
| |
| |
Goals | |
| |
| |
| |
Military History | |
| |
| |
Software Architecture Approaches | |
| |
| |
The Architectural Paradigm Shift | |
| |
| |
The Need for Software Architecture | |
| |
| |
Zachman Framework | |
| |
| |
Reference Model for Open Distributed Processing | |
| |
| |
Enterprise Architecture Standards | |
| |
| |
Design Patterns | |
| |
| |
AntiPatterns | |
| |
| |
Software Design-Level Model | |
| |
| |
Conclusions | |
| |
| |
| |
Software Architecture: Basic Training | |
| |
| |
Object-Oriented Technology | |
| |
| |
Component-Oriented Technology | |
| |
| |
Technology Ownership | |
| |
| |
Client-Server Technology | |
| |
| |
Internet Technology | |
| |
| |
Architectural Layers and When to Use Them | |
| |
| |
Software Application Experience | |
| |
| |
Technology and Application Architecture | |
| |
| |
Applying Standards to Application Systems | |
| |
| |
Distributed Infrastructures | |
| |
| |
Conclusions | |
| |
| |
| |
Software Architecture: Going to War | |
| |
| |
Software Architecture Paradigm Shift | |
| |
| |
Doing Software Incorrectly | |
| |
| |
Doing Software Correctly: Enterprise Architecture Development | |
| |
| |
Bottom Line: Time, People, and Money | |
| |
| |
Conclusions | |
| |
| |
| |
Software Architecture: Drill School | |
| |
| |
Architecture Versus Programming | |
| |
| |
Managing Complexity Using Architecture | |
| |
| |
Systems Integration | |
| |
| |
Making the Business Case | |
| |
| |
Architectural Linkage to Software Development | |
| |
| |
Conclusions | |
| |
| |
| |
Leadership Training | |
| |
| |
Leadership Is a Necessary, Learnable Skill | |
| |
| |
The Architect as Team Builder | |
| |
| |
Always Insist on Excellence in Deliverables | |
| |
| |
Architect's Walkthrough | |
| |
| |
Project Management Basics | |
| |
| |
Architect's Role Versus Project Management | |
| |
| |
Conclusions | |
| |
| |
| |
Software Architecture: Jump School | |
| |
| |
Process | |
| |
| |
Creating New Processes | |
| |
| |
Teamwork | |
| |
| |
Conclusions | |
| |
| |
| |
Communications Training | |
| |
| |
Communications Challenges | |
| |
| |
Responsibility-Driven Development | |
| |
| |
Communication Responsibilities | |
| |
| |
Handling Feedback | |
| |
| |
Evolution of Software Design Notations | |
| |
| |
Unified Modeling Language Notation | |
| |
| |
Model-Driven Architecture | |
| |
| |
Conclusions | |
| |
| |
Exercises # | |
| |
| |
| |
Software Architecture: Intelligence Operations | |
| |
| |
Architectural Mining | |
| |
| |
Architectural Iteration | |
| |
| |
Architectural Judgment | |
| |
| |
Conclusions | |
| |
| |
| |
Software Architecture: Psychological Warfare | |
| |
| |
Alternative Learning | |
| |
| |
Internal Control | |
| |
| |
Expectation Management | |
| |
| |
Psychology of Truth | |
| |
| |
Software Envisioning | |
| |
| |
Reference Models and Human Psychology | |
| |
| |
Example: Reference Selling | |
| |
| |
Psychology of Ownership | |
| |
| |
Psychological Akido | |
| |
| |
Conclusions | |
| |
| |
| |
Software Architecture: Career Advice | |
| |
| |
Read, Read, Read | |
| |
| |
Word of Caution | |
| |
| |
Making a Name | |
| |
| |
Becoming an Expert | |
| |
| |
Conclusions | |
| |
| |
| |
Architecture Example: Test Results Reporting System | |
| |
| |
| |
Design Templates and Examples | |
| |
| |
| |
Glossary of Software Architecture Terminology | |
| |
| |
| |
Acronyms | |
| |
| |
| |
| |
| |
Bibliography | |
| |
| |
Index | |