Arthur M. Langer Analysis and Design of Information Systems Third Edition ArthurM.Langer,EdD FuFoundationSchoolofEngineering&AppliedScience SchoolofContinuingEducation GraduateSchoolofEducation ColumbiaUniversity NewYork,NY10027 USA BritishLibraryCataloguinginPublicationData AcataloguerecordforthisbookisavailablefromtheBritishLibrary LibraryofCongressControlNumber:2007928317 ISBN978-1-84628-654-4 e-ISBN978-1-84628-655-1 Printedonacid-freepaper ©Springer-VerlagLondonLimited2008 Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permitted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced, stored or transmitted, in any form or by any means, with the prior permission in writingofthepublishers,orinthecaseofreprographicreproductioninaccordancewiththeterms oflicencesissuedbytheCopyrightLicensingAgency.Enquiriesconcerningreproductionoutside thosetermsshouldbesenttothepublishers. The use of registered names, trademarks, etc., in this publication does not imply, even in the absenceofaspecificstatement,thatsuchnamesareexemptfromtherelevantlawsandregulations andthereforefreeforgeneraluse. The publisher makes no representation, express or implied, with regard to the accuracy of the information contained in this book and cannot accept any legal responsibility or liability for any errorsoromissionsthatmaybemade. 987654321 SpringerScience+BusinessMedia springer.com Preface Throughout the last 40 years the impact and importance of information technology (IT) continues to transform the world. Indeed, we are very much at the beginning stages of what I believe will be known as the technology revolution—a revolution that will change every aspect of business and life in general. While technology, both hardware and software, continues to evolve, the one remaining constant is the challenge of understanding what the users of applications really need, what they think they want, and what they will want as their uses of systems mature. Still, the process of mastering the analysis and design phase of the Software DevelopmentLifeCycle(SDLC)continuestoperplexthemostsophisticatedIT organizations and software development companies. And to make matters even morecomplex,theITindustryhastransitionedtoaheavilyoutsourcedmodelof softwaredevelopment,makingtherequirementsofwhatisnecessaryevenmore important because of the risks of having applications developed abroad that do not meet user expectations. Perhaps the most significant development in applications has been the Internet, with all the corresponding pieces: branding, Web development, and interactive user interfaces have established many more substantial challenges to how applications evolve. The most critical change, however, is the partici- pation of a more sophisticated and unknown user: the consumer. The consumer is a most unusual individual: he/she does not participate as part of an internal organization, or external client, rather a transactional force that comes in and out of the application with an enormous amount of uncertainty and constant changeinbehaviorsandneeds.Furthermore,this“consumer”representsabroad population, of culture, age, gender, and ethnicity differences. With the significant challenges described above, it is imperative that we expand analysis and design to provide developers from inside and outside the business to clearly understand what is needed. Furthermore, applications need to change more often, so that object-based design is no longer an alternative, rather a necessity to allow organizations to continually evolve and mature their abilities to serve their clientele. This book then focuses on providing direction on the many alternatives to dealing with all types of systems, from large legacy applications to on-line transactional systems that interface with a myriad of internal and external systems. Manyofthesefailuresofsystemsdevelopedhaveoccurredbecausetheyhave notbeenbuiltonstrongfoundations.Inparticular,thereisalackofunderstanding oftheengineeringprocessesthroughwhichapplicationsmustbebuilt.Thisbook vi Preface seeks to remedy this problem by focusing on the applied aspects of analysis to create systems that meet the needs of their users, consumers, and businesses. The analyst/designer encounters many obstacles on the road to designing appli- cations.Manyoftheseobstacleshavenothingtodowithtechnicalchallengesat all—they are problems that come from outside the realm of IT: politics, budget and time constraints, and marketing pressures. All of these can challenge the structured approach to analysis and design. This book addresses these obstacles andrecommendswaystoovercomethem.Ihavealwayswarnedmystudentsby tellingthem:“FollowtheYellowBrickRoad.”Thatis,startoutontherightpath and you will end up in the place you want to be—in spite of all the obstacles you may encounter on the way. I hope this book shows many IT professionals thattheanalyst/designeristhemostimportantcomponentoftheSDLC. This new edition aims to enhance the set of techniques and tools that the analyst/designer requires for success. It also addresses some of the “softer” but critical other skills such as creativity and the ability to understand the market needs of the business. Furthermore, the successful analyst/designer must be able to understand consumer needs; ensure integration with legacy systems; provide user interface requirements; establish standards, security, and network architecture; and finally to provide the necessary project management to ensure implementation. New to the Third Edition Thisthirdeditionprovidesmoreexamplesandcasestudies;however,itcontains two major upgrades from its predecessor: first, responding to feedback, I have framed the modeling tools within an SDLC framework so that readers can have a step-by-step understanding of when and how to use each of the modeling toolsofanalysis.Toaccomplishthis,IprovideapopularSDLCapproachcalled “the Barker Method” which was developed by Richard Barker from Oracle Corporation. Second, the scope of analysis and design has been expanded to include more specific information on Logic Data Modeling, specifically refer- entialintegrity,namingconventions,logical-to-physicaldesignsteps,XML,data values, and denormalization. I have also added new chapters on Web interface tools, security and change control and data warehouse system design. The Aim of This Book The risks involved in performing analysis are significant: Those projects that involve reengineering activities have a failure rate over 70 percent. With the expansion of the Internet as a vehicle for electronic commerce, the stakes are evenhigherthanbefore,andidentifyingthesourcesoffailurecanbeinvaluable. In general, failures can be attributed to two kinds of risks: those associated with the process of change and those relating to the technology itself. I am Preface vii confidentthatthesuccessratecanbedramaticallyimprovedifwefocuslesson themethodologyandmoreontheabilityoftheanalysttoperformthework.This book is therefore meant as a “practitioner’s guide” to doing analysis through every facet of developing software solutions. The book defines the word “analyst” to include any individual involved in establishing the requirements and design of a system. For this reason, the bookincludessubjectslikejointapplicationdevelopment(JAD)andprototyping, which may not always be performed by analysts but which nevertheless fall within the confines of the definition. Myenthusiasmforwritingthisbookwassupportedbymanyofmystudents who found that existing books on analysis are: • verytheoretical.Althoughtheyexplainthemethodologies,theydonot provide enough examples of their actual application. • too procedural. They do not deal with the “human” aspects of devel- oping requirements and thus do not provide a complete understanding of how to be successful. After all, the whole point of analysis is to servicehumanenterprises,notjusttocreatesystemsfortheirownsake. The human side of analysis is as important as the technical side. • lackingsimplebuteffectivecaseexamples.Theexamplesdonotdemon- strate the concepts effectively or are too complex for practice study. • too one-sided in their views. It is important to establish all available methodologies,eventhosethatconflictwitheachother.Puttingopinions into perspective and leaving many of the ultimate decisions to the practitioner is a significant part of the analyst’s education. The Intended Audience for This Book Thisbookassumesareasonableunderstandingofcomputerconceptsandtermi- nology. The material is presented to be used in a first-level analysis course or university program. In addition, it can be used by practicing information systems professionals or executives who are managing information technology and need an in-depth understanding of the principles of the analysis and design process,particularlyasitrelatestoWeb-baseddevelopment.Furthermore,many programmers who are also performing analysis may find this book a way of developing a useful approach to structured and object methodologies. Acknowledgments IwanttothankmycolleagueMelanieCaffreyforhercontributionstotheThird Edition, namely, her expertise in both the System Development Life Cycle and the Barker Model was extremely valuable. Ms. Caffrey also contributed her exercises and case study used in our courses at Columbia University. viii Preface I also want to thank the students in the Service Learning in the Community Environment (SLICE) at Columbia University’s Fu Foundation School of Engineering and Applied Science (SEAS) for their feedback on the Second Edition. This Third Edition will continue to be used to train underserved inner- city adults in the hopes of building their careers as tomorrow’s analysts and designers. Many thanks to Dr. Jack McGourty, the Associate Dean of Under- graduate Students, for allowing us to implement the program at SEAS. New City, New York, USA Arthur M. Langer September 2007 Contents Preface v 1. Introduction 1 What Is, Is................................................................................................. 1 Just What Is a Complex Project?............................................................. 3 The Tiers of Software Development........................................................ 6 User Interface............................................................................................ 6 Tools.......................................................................................................... 6 Productivity Through Automation............................................................ 7 Object Orientation..................................................................................... 7 Client/Server............................................................................................. 7 Internet/Intranet......................................................................................... 8 Problems and Exercises............................................................................ 9 2. System Development Life Cycle (SDLC) 10 System Development Life Cycle—Steps in Analysis and Design............................................................................................ 10 The Barker Case Method.......................................................................... 15 3. The User Interface 21 Establishing User Interfaces..................................................................... 21 Forming an Interview Approach.............................................................. 21 Dealing with Political Factions................................................................ 24 Categories and Levels of Users................................................................ 25 Joint Application Development (JAD)..................................................... 28 Problems and Exercises............................................................................ 34 Mini-Project.............................................................................................. 35 Assignment................................................................................................ 35 4. Overview of Analysis Tools 36 The Concept of the Logical Equivalent................................................... 36 Tools of Structured Analysis.................................................................... 41 x Contents Making Changes and Modifications......................................................... 41 Specification Formats............................................................................... 47 Problems and Exercises............................................................................ 50 5. Process-Based Tools 51 Data Flow Diagrams................................................................................. 51 Process Flow Diagrams............................................................................ 58 Data Dictionary......................................................................................... 63 SQL Data Types....................................................................................... 67 Process Specifications............................................................................... 70 State Transition Diagrams........................................................................ 77 Entity Relational Diagrams...................................................................... 81 Problems and Exercises............................................................................ 83 Mini-Project #1......................................................................................... 84 Assignment................................................................................................ 84 Mini-Project #2......................................................................................... 84 Assignment................................................................................................ 85 Mini-Project #3......................................................................................... 85 Assignment................................................................................................ 86 Mini-Project #4......................................................................................... 86 Assignment................................................................................................ 86 6. Logic Data Modeling Tools 87 Normalization Defined............................................................................. 87 Normalization Approaches....................................................................... 88 The Supertype/Subtype Model................................................................. 97 Combining User Views............................................................................ 101 Integration with Existing Models: Linking Databases................................................................................105 Referential Integrity.................................................................................. 107 Database Naming Conventions................................................................ 108 View Naming Conventions...................................................................... 110 Field Length and Character Conventions................................................. 112 Null Values............................................................................................... 113 Denormalization........................................................................................ 114 Logic to Physical Databases..................................................................... 116 Data Types Usage and Conventions........................................................ 119 Business Rules.......................................................................................... 119 Triggering Operations............................................................................... 121 Problems and Exercises............................................................................ 122 Mini-Project #1......................................................................................... 122 Mini-Project #2......................................................................................... 123 Mini-Project #3......................................................................................... 124 Contents xi 7. Web User Interface Tools 127 Introduction............................................................................................... 127 Components of Web Design..................................................................... 128 Content...................................................................................................... 129 The Web Branding Process...................................................................... 130 Customer Service...................................................................................... 136 Text........................................................................................................... 139 Content Templates.................................................................................... 142 Navigation Placement............................................................................... 150 Site Architecture....................................................................................... 153 Non-Web-Based Interfaces....................................................................... 156 GUI and Styles of Manipulation.............................................................. 157 Advantages of GUI Systems.................................................................... 158 Disadvantages of GUI Systems................................................................ 159 Conclusion................................................................................................ 160 Where to Begin......................................................................................... 160 Database Design....................................................................................... 167 E-Commerce Application Requirements.................................................. 169 Problems and Exercises............................................................................ 174 8. XML in Analysis and Design 176 Introduction to XML................................................................................ 176 XML Structure.......................................................................................... 177 XML Parsing............................................................................................. 177 What XML Is Not..................................................................................... 178 Other XML Interfaces.............................................................................. 179 Document Object Model.......................................................................... 180 XML as a Common Data Format............................................................. 182 XML Applications with Database Systems............................................. 184 Analysis and Design of XML Documents............................................... 187 Step 1: Determining XML Documents.................................................... 188 Step 2: XML Data Schemas..................................................................... 193 Step 3: XML Reuse.................................................................................. 195 Storing XML Documents in a Database.................................................. 197 XML as a Centralized Data Search Engine............................................. 200 XML Query Usage................................................................................... 201 XML versus the Database........................................................................ 202 XML and SVG.......................................................................................... 203 9. Design Specification Tools 206 Business Specifications............................................................................. 206 Programming and Technical Specifications............................................. 210 xii Contents Screen Specifications................................................................................ 212 Screens and Derived Elements................................................................. 213 Problems and Exercises............................................................................ 214 Mini-Project.............................................................................................. 218 10. CASE and Automated Techniques 229 CASE Defined.......................................................................................... 229 Why Does CASE Fail?............................................................................. 237 Why CASE Should Succeed.................................................................... 238 Open Systems Requirements and Client/Server...................................... 239 Problems and Exercises............................................................................ 242 11. Object-Oriented Techniques 243 What Is Object-Oriented Analysis?.......................................................... 243 Identifying Objects and Classes............................................................... 248 Object Modeling....................................................................................... 252 Relationship to Structured Analysis......................................................... 254 Problems and Exercises............................................................................ 259 12. Documentation and Acceptance-M Testing 260 Documentation.......................................................................................... 260 Acceptance Test Plans.............................................................................. 261 Quality During Analysis........................................................................... 261 How Much Can Be Tested?..................................................................... 261 Budget Process.......................................................................................... 264 Problems and Exercises............................................................................ 267 13. Business Process Reengineering 268 Analyzing Legacy Systems...................................................................... 269 Combining Structured and Object Techniques........................................ 270 Dealing with End Users............................................................................ 273 Information Systems Issues...................................................................... 274 System Development Life Cycle (SDLC)................................................ 276 Downsizing System Components............................................................. 277 Problems and Exercises............................................................................ 280 14. Security 281 Introduction............................................................................................... 281 Database Security and Change Control.................................................... 308 Version Control......................................................................................... 312
Description: