| Preface | 5 |
---|
| The Aim of This Book | 6 |
| The Intended Audience for This Book | 7 |
| Acknowledgments | 8 |
---|
| Contents | 9 |
---|
| 1: Introduction | 16 |
---|
| What Is, Is | 17 |
| Just What Is a Complex Project? | 19 |
| Development | 22 |
| Testing | 24 |
| Production | 24 |
| Backup, Recovery, and Archiving | 25 |
| Reference | 33 |
| Part I: Determining Needs | 34 |
---|
| 2: Assessing Business Requirements | 35 |
| The Tiers of Software Development | 35 |
| User Interface | 35 |
| Tools | 36 |
| Productivity Through Automation | 36 |
| Object Orientation | 36 |
| Client/Server | 37 |
| Internet/Intranet | 37 |
| Establishing User Interfaces | 38 |
| Forming an Interview Approach | 39 |
| Dealing with Political Factions | 41 |
| Categories and Levels of Users | 42 |
| Joint Application Development (JAD) | 45 |
| Problems and Exercises | 50 |
| 3: Build Versus Buy | 51 |
| Drivers and Supporters | 56 |
| The Supporter Side of Buying | 57 |
| Open-Source Paradigm | 58 |
| Cloud Computing Options | 59 |
| Deployment Models | 60 |
| Summary | 61 |
| Problems and Exercises | 61 |
| References | 62 |
| 4: Establishing Requirements Using a Request for Proposal (RFP) and a Request for Information (RFI) | 63 |
| RFI | 63 |
| RFP | 68 |
| Requirements Document | 68 |
| Problems and Exercises | 83 |
| 5: Searching for Solutions | 85 |
| Selecting the Management Team | 85 |
| The Process of Due Diligence | 86 |
| Performing Reference Checks | 87 |
| Reviewing Financial Statements | 87 |
| Doing Bank References | 88 |
| Scheduling On-Site Demonstrations | 88 |
| Scheduling On-Site Review at Vendor Site(s) | 89 |
| Reviewing Vendor Training Capabilities | 89 |
| Understanding the Product Upgrade Process | 89 |
| General Questions to Ask | 90 |
| Understanding the Vendor Ownership | 90 |
| Reviewing the Product’s Architecture and Design | 90 |
| Finding Vendors | 91 |
| Paying for a Plan | 92 |
| Summary | 93 |
| Problems and Exercises | 93 |
| Reference | 93 |
| 6: Controlling Costs and Realistic Budgeting | 94 |
| Controlling Costs | 102 |
| Hardware and Infrastructure | 102 |
| Software | 103 |
| Consulting Fees | 104 |
| Customization Costs | 104 |
| The Balanced Scorecard as a Budget Tool | 105 |
| Problems and Exercises | 110 |
| References | 110 |
| 7: Analysis Methods and Tools | 111 |
| The Concept of the Logical Equivalent | 111 |
| Tools of Structured Analysis | 115 |
| Making Changes and Modifications | 116 |
| Pre-Modeled | 116 |
| Being Consistent | 117 |
| Version Control | 118 |
| Legacy Systems | 118 |
| The Data Approach | 118 |
| The Process Approach | 120 |
| Specification Formats | 122 |
| Problems and Exercises | 124 |
| Part II: Development Architecture | 126 |
---|
| 8: Creating Requirements Documents Using Analysis Tools | 127 |
| Purpose | 127 |
| Advantages of the DFD | 132 |
| Disadvantages of the DFD | 132 |
| Process Flow Diagrams | 133 |
| Components of a PFD | 133 |
| DFD-PFD Compared | 134 |
| Sequence of Implementation | 136 |
| Data Dictionary | 137 |
| Equivalence (=) | 137 |
| Concatenation (+) | 137 |
| Either/Or with Option Separator ([/]) | 137 |
| Optional () | 138 |
| Iterations of { } | 138 |
| Comments (**) | 138 |
| Process Specifications | 141 |
| Pseudocode | 141 |
| The Good | 143 |
| The Bad | 143 |
| The Ugly | 143 |
| Case | 143 |
| The Good | 144 |
| The Bad | 144 |
| The Ugly | 144 |
| Pre-post Conditions | 144 |
| The Good | 145 |
| The Bad | 145 |
| The Ugly | 145 |
| Matrix | 145 |
| The Good | 146 |
| The Bad | 146 |
| The Ugly | 146 |
| Conclusion | 146 |
| State Transition Diagrams | 147 |
| Entity Relationship Diagrams | 151 |
| Problems and Exercises | 152 |
| Mini-Project | 153 |
| References | 154 |
| 9: The Data | 155 |
<