E-Book, Englisch, 404 Seiten
Langer Guide to Software Development
2. Auflage 2016
ISBN: 978-1-4471-6799-0
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark
Designing and Managing the Life Cycle
E-Book, Englisch, 404 Seiten
ISBN: 978-1-4471-6799-0
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark
This book presents a guide to navigating the complicated issues of quality and process improvement in enterprise software implementation, and the effect these have on the software development life cycle (SDLC). Offering an integrated approach that includes important management and decision practices, the text explains how to create successful automated solutions that fit user and customer needs, by mixing different SDLC methodologies. With an emphasis on the realities of practice, the book offers essential advice on defining business requirements, and managing change. This revised and expanded second edition includes new content on such areas as cybersecurity, big data, and digital transformation. Features: presents examples, case studies, and chapter-ending problems and exercises; concentrates on the skills needed to distinguish successful software implementations; considers the political and cultural realities in organizations; suggests many alternatives for how to manage and model a system.
Dr. Arthur M. Langer is the Director of the Center for Technology Management at Columbia University, New York, NY, USA. Dr. Langer is also the Vice Chair of Faculty and the Executive Director of the Division of Innovation and Design at the School of Professional Studies. He serves on the faculty of the Graduate School of Education in the Department of Organizational Leadership. Dr. Langer is also Chairman and Founder of Workforce Opportunity Services (WOS), a non-profit NGO dedicated to assisting socially excluded youth and veterans in education and professional careers. His other publications include the Springer title Analysis and Design of Information Systems.
Autoren/Hrsg.
Weitere Infos & Material
1;Preface;5
1.1;The Aim of This Book;6
1.2; The Intended Audience for This Book;7
2;Acknowledgments;8
3;Contents;9
4;1: Introduction;16
4.1; What Is, Is;17
4.2; Just What Is a Complex Project?;19
4.2.1; Development;22
4.2.2; Testing;24
4.2.3; Production;24
4.2.3.1; Backup, Recovery, and Archiving;25
4.3;Reference;33
5;Part I: Determining Needs;34
5.1;2: Assessing Business Requirements;35
5.1.1; The Tiers of Software Development;35
5.1.1.1; User Interface;35
5.1.1.2; Tools;36
5.1.1.3; Productivity Through Automation;36
5.1.1.4; Object Orientation;36
5.1.1.4.1; Client/Server;37
5.1.1.4.2; Internet/Intranet;37
5.1.1.5; Establishing User Interfaces;38
5.1.1.6; Forming an Interview Approach;39
5.1.1.7; Dealing with Political Factions;41
5.1.2; Categories and Levels of Users;42
5.1.2.1; Joint Application Development (JAD);45
5.1.3;Problems and Exercises;50
5.2;3: Build Versus Buy;51
5.2.1; Drivers and Supporters;56
5.2.1.1; The Supporter Side of Buying;57
5.2.1.2; Open-Source Paradigm;58
5.2.1.3; Cloud Computing Options;59
5.2.1.4; Deployment Models;60
5.2.1.5; Summary;61
5.2.2;Problems and Exercises;61
5.2.3;References;62
5.3;4: Establishing Requirements Using a Request for Proposal (RFP) and a Request for Information (RFI);63
5.3.1; RFI;63
5.3.2; RFP;68
5.3.2.1; Requirements Document;68
5.3.3;Problems and Exercises;83
5.4;5: Searching for Solutions;85
5.4.1; Selecting the Management Team;85
5.4.2; The Process of Due Diligence;86
5.4.2.1; Performing Reference Checks;87
5.4.2.2; Reviewing Financial Statements;87
5.4.2.3; Doing Bank References;88
5.4.2.4; Scheduling On-Site Demonstrations;88
5.4.2.5;Scheduling On-Site Review at Vendor Site(s);89
5.4.2.6; Reviewing Vendor Training Capabilities;89
5.4.2.7; Understanding the Product Upgrade Process;89
5.4.2.8; General Questions to Ask;90
5.4.2.9; Understanding the Vendor Ownership;90
5.4.3; Reviewing the Product’s Architecture and Design;90
5.4.4; Finding Vendors;91
5.4.5; Paying for a Plan;92
5.4.6; Summary;93
5.4.7;Problems and Exercises;93
5.4.8;Reference;93
5.5;6: Controlling Costs and Realistic Budgeting;94
5.5.1; Controlling Costs;102
5.5.2; Hardware and Infrastructure;102
5.5.3; Software;103
5.5.4; Consulting Fees;104
5.5.5; Customization Costs;104
5.5.6; The Balanced Scorecard as a Budget Tool;105
5.5.7;Problems and Exercises;110
5.5.8;References;110
5.6;7: Analysis Methods and Tools;111
5.6.1; The Concept of the Logical Equivalent;111
5.6.2; Tools of Structured Analysis;115
5.6.3; Making Changes and Modifications;116
5.6.3.1; Pre-Modeled;116
5.6.3.1.1; Being Consistent;117
5.6.3.1.2; Version Control;118
5.6.3.2; Legacy Systems;118
5.6.3.3; The Data Approach;118
5.6.3.4; The Process Approach;120
5.6.4; Specification Formats;122
5.6.5;Problems and Exercises;124
6;Part II: Development Architecture;126
6.1;8: Creating Requirements Documents Using Analysis Tools;127
6.1.1; Purpose;127
6.1.2; Advantages of the DFD;132
6.1.3; Disadvantages of the DFD;132
6.1.4; Process Flow Diagrams;133
6.1.5; Components of a PFD;133
6.1.6; DFD-PFD Compared;134
6.1.7; Sequence of Implementation;136
6.1.8; Data Dictionary;137
6.1.8.1; Equivalence (=);137
6.1.8.2; Concatenation (+);137
6.1.8.3; Either/Or with Option Separator ([/]);137
6.1.8.4; Optional ();138
6.1.8.5; Iterations of { };138
6.1.8.6; Comments (**);138
6.1.9; Process Specifications;141
6.1.9.1; Pseudocode;141
6.1.9.1.1; The Good;143
6.1.9.1.2; The Bad;143
6.1.9.1.3; The Ugly;143
6.1.9.2; Case;143
6.1.9.2.1; The Good;144
6.1.9.2.2; The Bad;144
6.1.9.2.3; The Ugly;144
6.1.9.3; Pre-post Conditions;144
6.1.9.3.1; The Good;145
6.1.9.3.2; The Bad;145
6.1.9.3.3; The Ugly;145
6.1.9.4; Matrix;145
6.1.9.4.1; The Good;146
6.1.9.4.2; The Bad;146
6.1.9.4.3; The Ugly;146
6.1.9.4.4; Conclusion;146
6.1.10; State Transition Diagrams;147
6.1.11; Entity Relationship Diagrams;151
6.1.12;Problems and Exercises;152
6.1.13;Mini-Project;153
6.1.14;References;154
6.2;9: The Data;155
6.2.1; Introduction to Databases;155
6.2.2; Logic Data Modeling;155
6.2.3; Logic Data Modeling Procedures;157
6.2.3.1; Key Attributes;157
6.2.3.2; Normalization;159
6.2.4; Limitations of Normalization;168
6.2.4.1; The Supertype/Subtype Model;170
6.2.4.2; Key Business Rules;175
6.2.4.3; Combining User Views;179
6.2.4.4; Integration with Existing Data Models;181
6.2.4.5; Determining Domains and Triggering Operations;183
6.2.4.6; De-Normalization;185
6.2.5; Summary;186
6.2.6;Problems and Exercises;186
6.2.7;Mini-Project;187
6.2.8;References;188
6.3;10: Legacy Systems and Integration;189
6.3.1; Introduction;189
6.3.2; Types of Legacy Systems;190
6.3.3; Third-Generation Language Legacy System Integration;191
6.3.4; Replacing Third-Generation Legacy Systems;193
6.3.4.1; Approaches to Logic Reconstruction;193
6.3.5; Enhancing Third-Generation Legacy Systems;194
6.3.5.1; Data Element Enhancements;196
6.3.5.2; Application Enhancements;197
6.3.6; “Leaving As Is”:Third-Generation Legacy Systems;201
6.3.7; Fourth-Generation Language Legacy System Integration;202
6.3.8; Replacing Fourth-Generation Legacy Systems;202
6.3.9; Approaches to Logic Reconstruction;202
6.3.10; Enhancing Fourth-Generation Legacy Systems;204
6.3.11; “Leaving As Is”: Fourth-Generation Legacy Systems;205
6.3.12; Hybrid Methods: The Gateway Approach;206
6.3.13; Incremental Application Integration;207
6.3.14; Incremental Data Integration;208
6.3.15; Converting Legacy Character-Based Screens;212
6.3.16; The Challenge with Encoded Legacy Screen Values;213
6.3.17; Legacy Migration Methodology;214
6.3.17.1; Step 1: Analyze the Existing Legacy Systems;215
6.3.17.2; Step 2: Decompose Legacy Systems to Determine Schedules of Migration and Linkage Strategies;216
6.3.17.3; Step 3: Design “As Is” Links;217
6.3.17.4; Step 4: Design Legacy Enhancements;217
6.3.17.5; Step 5: Design Legacy Replacements;218
6.3.17.6; Step 6: Design and Integrate New Databases;218
6.3.17.7; Step 7: Determine New Infrastructure and Environment, Including Gateways;219
6.3.17.8; Step 8: Implement Enhancements;220
6.3.17.9; Step 9: Implement Links;220
6.3.17.10; Step 10: Migrate Legacy Databases;221
6.3.17.11; Step 11: Migrate Replacement Legacy Applications;221
6.3.17.12; Step 12: Incrementally Cutover to New Systems;222
6.3.18;Problems and Exercises;223
6.3.19;References;223
6.4;11: Business Process Reengineering;224
6.4.1; Analyzing Legacy Systems for Replacement;224
6.4.2; Data Elements;225
6.4.3; Applications;226
6.4.4; Combining Structured and Object Techniques;226
6.4.5; Dealing with End Users;228
6.4.6; Information Systems Issues;230
6.4.7; System Development Life Cycle (SDLC);231
6.4.8; Pilot Applications;232
6.4.9; Downsizing System Components;233
6.4.10; Transactions vs. Data Warehousing;234
6.4.11;Problems and Exercises;235
6.5;12: Digital Transformation and Consumer Requirements;236
6.5.1; Requirements Without Users and Without Input;238
6.5.1.1; Concepts of the S-Curve and Digital Transformation Analysis and Design;242
6.5.2; Analysis and Design and the S-Curve;243
6.5.3; Communities of Practice;244
6.5.4; Change Management;253
6.5.5; The Role of the Analyst in Change Management for IT Organizations;255
6.5.5.1; The Analyst in the Digital Transformation Era;257
6.5.6;Problems and Exercises;258
6.5.7;References;259
6.6;13: Data Analytics and Data Warehouses;260
6.6.1; Introduction;260
6.6.2; Data Warehousing Concepts;261
6.6.3; Performance Benefits of Data Warehouses;262
6.6.4; Concept of Multiple Dimensions;264
6.6.5; Data Warehouse Architecture;267
6.6.5.1; Extracting Data from the Source;267
6.6.5.2; Staging the Extracted Data;269
6.6.5.3; Read-Only Activities;269
6.6.5.4; Front-End Tools;270
6.6.6; Types of Data Warehouse Architecture;270
6.6.7; The Packaged Software Decision Support Life Cycle;272
6.6.7.1; Phase 1: Planning;273
6.6.7.2; Phase 2: Gathering Data Requirements and Modeling;274
6.6.7.3; Phase 3: Physical Database Design and Development;278
6.6.7.4; Phase 4: Data Mapping and Transformation;282
6.6.7.5; Phase 5: Populating the Data Warehouse;285
6.6.7.6; Phase 6: Automating Data Management Procedures;287
6.6.7.7; Phase 7: Application Development and Reporting;287
6.6.7.7.1; Report Access and Analysis;289
6.6.7.7.2; Types of Query Tools;290
6.6.7.8; Phase 8: Data Validation and Testing;292
6.6.7.9; Phase 9: Training;292
6.6.7.10; Phase 10: Rollout;292
6.6.8; Understanding Metadata;293
6.6.9; Considerations for Using Big Data;293
6.6.10; Data Visualization and Design;296
6.6.11; Mobile Applications;297
6.6.12; Problems and Exercises;297
6.6.13;References;298
6.7;14: Documentation and Acceptance Testing;299
6.7.1; Acceptance Test Plans;300
6.7.2; Quality During Analysis;300
6.7.3; Cannot Test 100% of Everything;300
6.7.4; More Efficient Development;301
6.7.5; Budget Process;303
6.7.6; Establish the Task List;303
6.7.7; Interviewing;303
6.7.8; Modeling;304
6.7.9; Acceptance Test Plans;305
6.7.10;Problems and Exercises;305
7;Part III: How to Implement;306
7.1;15: Project Management;307
7.1.1; Introduction;307
7.1.2; Defining the Project;310
7.1.3; Identify Objectives;310
7.1.4; Identify Users;311
7.1.5; Determining the Scope of the Project;312
7.1.6; Managing Scope;313
7.1.7; The Budget;314
7.1.8; The Project Team;316
7.1.9; Project Team Dynamics;319
7.1.10; Set Rules and Guidelines for Communication;319
7.1.11; Extranet Review Sites;319
7.1.12; Working with User Resources;321
7.1.12.1; Outsourcing;321
7.1.13; Planning and Process Development;321
7.1.14; Technical Planning;325
7.1.14.1; Defining Technical Development Requirements;325
7.1.14.2; Maintenance;326
7.1.15; Project Management and Communication;327
7.1.16; Summary;328
7.1.17;Problems and Exercises;329
7.1.18;References;329
7.2;16: Virtual Teams and Outsourcing;330
7.2.1; Status of Virtual Teams;332
7.2.2; Project Management Challenges;332
7.2.3; Dealing with Multiple Locations;332
7.2.4; Externalization;336
7.2.5; Internalization;336
7.2.6; Combination;336
7.2.7; Socialization;336
7.2.8; Externalization Virtual Project Management;337
7.2.9; Internalization Virtual Project Management;337
7.2.10; Combination Virtual Project Management;337
7.2.11; Socialization Dynamism;338
7.2.12; Dealing with Multiple Locations and Outsourcing;339
7.2.13; Social Discourse in Virtual Project Management;341
7.2.14; Identity;341
7.2.15; Skills;342
7.2.16; Emotion;342
7.2.17;Problems and Exercises;344
7.2.18;References;344
7.3;17: Cyber Security, ISO 9000, and the Software Development Life Cycle;346
7.3.1; Cyber Security in Analysis and Design;346
7.3.2; Cyber Security Risk in the S-Curve;347
7.3.3; Decomposition in Cyber Security Analysis;348
7.3.4; Risk Responsibility;349
7.3.5; Developing a System of Procedures;350
7.3.5.1; Why ISO 9000?;351
7.3.5.2; How to Incorporate ISO 9000 into Existing Software Life Cycles;352
7.3.5.3; Interfacing IT Personnel;355
7.3.5.4; Committing to ISO 9000;357
7.3.6;Problems and Exercises;359
7.3.7;References;359
7.4;18: Vendor Contract Considerations;360
7.4.1; Ownership and Rights;361
7.4.2; Legal Protections and Coverage;362
7.4.3; Financials;363
7.4.4; Deliverables and Performance;365
7.4.5; Contract Considerations in a Global Economy;381
7.4.6;Problems and Exercises;383
7.5;19: Going Live and Conclusions;384
7.5.1; User Training;384
7.5.2; The Role of IT;385
7.5.3; Conclusions;386
8;Appendix A Case Study: The Rainforest Book Company Problem;389
8.1;Event I;389
8.2; Event II;389
8.3; Event III;390
8.4; Event IV;390
9;Appendix B Case Study: Northwest General Practitioner’s Office;392
10;Appendix C Case Study: University Student Enrollment Database;394
11;Further Reading;396
12;Glossary;398
13;Index;401




