Hands-on exercises, real-life war stories, and a take-no-prisoners attitude madethe first edition of this book among the most popular software architecturebooks in the market. This timely second edition retains those popularcharacteristics, with added treatment to reflect the latest trends anddevelopments in the world of software development. Software architecturecontinues to grow as a discipline as more and more development organizationshave recognized that solid architecture begets successful projects. This newedition is ideal for software professionals who want to learn how to be asuccessful software architect. The authors teach you how to avoid timeconsumingpitfalls and costly errors through a solid architecture strategy.
Defining Software Architecture. The Need for the Software Architect. Goals.
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.
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 Paradigm Shift. Doing Software Incorrectly. Doing Software Correctly: Enterprise Architecture Development. Bottom Line: Time, People, and Money. Conclusions.
Architecture Versus Programming. Managing Complexity Using Architecture. Systems Integration. Making the Business Case. Architectural Linkage to Software Development. Conclusions.
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.
Process. Creating New Processes. Teamwork. Conclusions.
Communications Challenges. Responsibility-Driven Development. Communication Responsibilities. Handling Feedback. Evolution of Software Design Notations. Unified Modeling Language Notation. Model-Driven Architecture. Conclusions. Exercises #.
Architectural Mining. Architectural Iteration. Architectural Judgment. Conclusions.
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.
Read, Read, Read. Word of Caution. Making a Name. Becoming an Expert. Conclusions.