ebook img

Software architect bootcamp PDF

366 Pages·2.331 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Software architect bootcamp

Software Architect Bootcamp Software Architect Bootcamp Second Edition Raphael Malveau Thomas J. Mowbray, Ph.D. PRENTICE HALL Professional Technical Reference Upper Saddle River, NJ 07458 www.phptr.com A CIP catalog record for this book can be obtained from the Library of Congress. Editorial/production supervision: BooksCraft, Inc., Indianapolis, IN Cover design director: Jerry Votta Cover design: Talar A. Boorujy Art director: Gail Cocker-Bogusz Manufacturing manager: Alexis R. Heydt-Long Executive editor: Paul Petralia Editorial assistant: Michelle Vincenti Marketing manager: Chris Guzikowski Full-service production manager: Anne R. Garcia ©2004 by Pearson Education, Inc. Publishing as Prentice Hall Professional Technical Reference Upper Saddle River, New Jersey 07458 Company and product names mentioned herein are the trademarks or registered trademarks of their respective owners. Prentice Hall books are widely used by corporations and government agencies for training, marketing, and resale. Prentice Hall PTR offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales. For more information, please contact: U.S. Corporate and Government Sales 1-800-382-3419 [email protected] For sales outside of the U.S., please contact: International Sales 1-317-581-3793 [email protected] All rights reserved. No part of this book may be reproduced, in any form or by any means, without permission in writing from the publisher. Printed in the United States of America 2nd printing ISBN 0-13-141227-2 Pearson Education LTD. Pearson Education Australia PTY, Limited Pearson Education Singapore, Pte. Ltd. Pearson Education North Asia Ltd. Pearson Education Canada, Ltd. Pearson Educación de Mexico, S.A. de C.V. Pearson Education—Japan Pearson Education Malaysia, Pte. Ltd. Contents Preface xiii O Introduction 1 NE 1.1 Defining Software Architecture 2 1.2 The Need for the Software Architect 3 1.3 Goals 3 Industry Background and History 4 Technology Trends and Architectural Styles 4 Tactics 5 Strategies 5 Tools 6 Mindset 6 T Military History 7 WO 2.1 Software Architecture Approaches 8 Architectural Approaches 8 Common Principles 9 Architectural Controversies 10 v vi Contents 2.2 The Architectural Paradigm Shift 11 2.3 The Need for Software Architecture 14 2.4 Zachman Framework 15 2.5 Reference Model for Open Distributed Processing 17 2.6 Enterprise Architecture Standards 24 Federal Enterprise Architecture Framework 25 2.7 Design Patterns 27 2.8 AntiPatterns 35 2.9 Software Design-Level Model 37 2.10 Conclusions 40 Exercises 41 T Software Architecture: HREE Basic Training 45 3.1 Object-Oriented Technology 47 Databases and Objects 49 Object in the Mainstream 49 Scripting Languages 50 3.2 Component-Oriented Technology 50 Components versus Objects 50 Component Infrastructures 52 Component Software Design Patterns 53 Component Software Architecture 54 3.3 Technology Ownership 55 Proprietary Software 55 Open Systems Software 56 3.4 Client-Server Technology 59 History 61 Distributed Components 64 Contents vii 3.5 Internet Technology 70 eXtensible Markup Language (XML) 70 Sun Microsystems J2EE and Microsoft’s .Net 72 Web Services 73 3.6 Architectural Layers and When to Use Them 74 3.7 Software Application Experience 79 3.8 Technology and Application Architecture 81 3.9 Applying Standards to Application Systems 84 3.10 Distributed Infrastructures 88 3.11 Conclusions 98 Exercises 99 F Software Architecture: OUR Going to War 103 4.1 Software Architecture Paradigm Shift 103 Traditional System Assumptions 104 Distribution Reverses Assumptions 104 Multiorganizational Systems 105 Making the Paradigm Shift 105 4.2 Doing Software Incorrectly 106 This Old Software 106 An Example: Doing Software Incorrectly 107 Enter the Knight: Heroic Programmers 108 4.3 Doing Software Correctly: Enterprise Architecture Development 109 Architecture-Centered Process 110 Step 1: System Envisioning 112 Step 2: Requirements Analysis 112 Step 3: Mockup Prototype 113 Step 4: Architectural Planning 113 viii Contents Step 5: Architectural Prototype 118 Step 6: Project Planning 118 Step 7: Parallel Development 119 Step 8: System Transition 120 Step 9: Operations and Maintenance 120 Step 10: System Migration 121 4.4 Bottom Line: Time, People, and Money 121 4.5 Conclusions 122 Exercises 123 F Software Architecture: IVE Drill School 125 5.1 Architecture Versus Programming 126 The Fractal Model of Software 126 Major Design Forces 126 The Effect of Scale on Forces 127 Software Design Levels 127 Using Design Levels 128 5.2 Managing Complexity Using Architecture 128 Creating Complexity 128 Option 1: Sweep It under a Rug 129 Option 2: Hide It in a Crowd 130 Option 3: Ignore It 130 Option 4: Slice It 131 Option 5: Dice It 131 5.3 Systems Integration 131 5.4 Making the Business Case 137 5.5 Architectural Linkage to Software Development 141 5.6 Conclusions 147 Exercises 148 Contents ix S Leadership Training 151 IX 6.1 Leadership Is a Necessary, Learnable Skill 152 6.2 The Architect as Team Builder 153 6.3 Always Insist on Excellence in Deliverables 154 6.4 Architect’s Walkthrough 160 6.5 Project Management Basics 164 Planning Phase 165 Analysis Phase 165 Implementation Phase 165 6.6 Architect’s Role Versus Project Management 166 Planning Phase 168 Analysis Phase 168 Implementation Phase 168 6.7 Conclusions 169 Exercises 169 S Software Architecture: EVEN Jump School 171 7.1 Process 171 Process Prerequisites 172 A Basic Component Framework Software Design Process 174 7.2 Creating New Processes 179 7.3 Teamwork 180 7.4 Conclusions 187 Exercises 187

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.