Loading...

Messages

Proposals

Stuck in your homework and missing deadline? Get urgent help in $10/Page with 24 hours deadline

Get Urgent Writing Help In Your Essays, Assignments, Homeworks, Dissertation, Thesis Or Coursework & Achieve A+ Grades.

Privacy Guaranteed - 100% Plagiarism Free Writing - Free Turnitin Report - Professional And Experienced Writers - 24/7 Online Support

Systems analysis and design with uml 5th edition pdf

20/11/2020 Client: arwaabdullah Deadline: 3 days

SYSTEMS ANALYSIS & DESIGN An Object-Oriented Approach with UML

5 T H E D I T I O N

D E N N I S W I X O M T E G A R D E N

Visible Analyst is a “hands-on” tool for teaching students all aspects of analysis and design including dynamic rules, consistency checking, managing change, and understanding the integration issues across an IT project. Visible Analyst prepares students to enter the IT world as business or data architects, analysts, designers, and modelers.

Visit us at www.visible.com to learn more.

YOU CAN Start Today with the Visible Analyst!

Only takes 2 minutes to install! Save… 33% discount!

Please visit http://store.visible.com/Wiley.aspx to purchase and register with your information (see below) and obtain a valid license for your student edition of the software. To purchase the discounted software you will need to enter the following code:

978112014

Email support is provided to all registered students at support@visible.com. Your registration includes

the latest release of the Visible Analyst Student Edition (software)

the Visible Analyst eTutorial a preloaded Sample Instructional

Project access to Webcast “How to” and “Get

Started” Instructional Videos.

Visible Analyst Student Edition Educating tomorrow’s developers today

Disclaimer: The publisher of the textbook does not sponsor, review, or make decisions about Visible Analyst software, and will not be responsible for, or involved in, any changes to the software.

System Analysis & Design A n O bject -O riented A pproach with UML

Fift h Edition

Alan Dennis Indiana University

Barbara Haley Wixom Massachusetts Institute of Technology

David Tegarden Virginia Tech

With contributions by Elaine Seeman, East Carolina University

VP & EXECUTIVE PUBLISHER: Don Fowley EXECUTIVE EDITOR: Beth Lang Golub CONTENT EDITOR: Mary O’Sullivan ASSOCIATE EDITOR: Ellen Keohane MARKETING MANAGER: Christopher Ruel ASSOCIATE PRODUCTION MANAGER: Joyce Poh DESIGNER: Wendy Lai

Cover Image: © Christopher Boswell/Shutterstock

Th is book was set in 10/12 Minion pro by Aptara and printed and bound by Courier Kendallville. Th e cover was printed by Courier Kendallville.

Th is book is printed on acid-free paper .

Founded in 1807, John Wiley & Sons, Inc. has been a valued source of knowledge and understanding for more than 200 years, helping people around the world meet their needs and fulfi ll their aspirations. Our company is built on a foundation of principles that include responsibility to the communities we serve and where we live and work. In 2008, we launched a Corporate Citizenship Initiative, a global eff ort to address the environmental, social, economic, and ethical challenges we face in our business. Among the issues we are addressing are carbon impact, paper specifi cations and procurement, ethical conduct within our business and among our vendors, and community and charitable support. For more information, please visit our website: www.wiley.com/go/citizenship.

Copyright © 2015, 2012, 2009 John Wiley & Sons, Inc. All rights reserved. No part of this publication may be repro- duced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photo- copying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923 (Web site: www.copyright.com). Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030-5774, (201) 748-6011, fax (201) 748-6008, or online at: www.wiley.com/go/permissions.

Evaluation copies are provided to qualifi ed academics and professionals for review purposes only, for use in their courses during the next academic year. Th ese copies are licensed and may not be sold or transferred to a third party. Upon completion of the review period, please return the evaluation copy to Wiley. Return instruc- tions and a free of charge return shipping label are available at: www.wiley.com/go/returnlabel. If you have chosen to adopt this textbook for use in your course, please accept this book as your complimentary desk copy. Outside of the United States, please contact your local sales representative.

Library of Congress Cataloging-in-Publication Data

Dennis, Alan. Systems analysis & design : an object-oriented approach with UML/Alan Dennis, Indiana University, Barbara Haley Wixom, Massachusetts Institute of Technology, David Tegarden, Virginia Tech; with contributions by Elaine Seeman, East Carolina University.–Fift h edition. pages cm Includes bibliographical references and index.

ISBN 978-1-118-80467-4 (pbk. : alk. paper) 1. System analysis. 2. System design. 3. UML (Computer science) I. Wixom, Barbara Haley, 1969-II. Tegarden, David Paul. III. Seeman, Elaine. IV. Title. V. Title: System analysis and design. QA402.D395 2015 004.2’1–dc23

2014048338

Printed in the United States of America

10 9 8 7 6 5 4 3 2 1

PURPOSE OF THIS BOOK Systems Analysis and Design (SAD) is an exciting, active fi eld in which analysts continually learn new techniques and approaches to develop systems more eff ectively and effi ciently. However, there is a core set of skills that all analysts need to know—no matter what approach or methodology is used. All information systems projects move through the four phases of planning, analysis, design, and implementation; all projects require analysts to gather requirements, model the business needs, and create blueprints for how the system should be built; and all projects require an understanding of organizational behavior con- cepts like change management and team building. Today, the cost of developing modern soft ware is composed primarily of the cost associated with the developers themselves and not the computers. As such, object-oriented approaches to developing information systems hold much promise in controlling these costs.

Today, the most exciting change to systems analysis and design is the move to object-oriented techniques, which view a system as a collection of self-contained objects that have both data and processes. Th is change has been accelerated through the crea- tion of the Unifi ed Modeling Language (UML). UML provides a common vocabulary of object-oriented terms and diagramming techniques that is rich enough to model any sys- tems development project from analysis through implementation.

Th is book captures the dynamic aspects of the fi eld by keeping students focused on doing SAD while presenting the core set of skills that we feel every systems analyst needs to know today and in the future. Th is book builds on our professional experience as systems analysts and on our experience in teaching SAD in the classroom.

Th is book will be of particular interest to instructors who have students do a major project as part of their course. Each chapter describes one part of the process, provides clear explanations on how to do it, gives a detailed example, and then has exercises for the students to practice. In this way, students can leave the course with experience that will form a rich foundation for further work as a systems analyst.

OUTSTANDING FEATURES

A Focus on Doing SAD Th e goal of this book is to enable students to do SAD—not just read about it, but under- stand the issues so that they can actually analyze and design systems. Th e book introduces each major technique, explains what it is, explains how to do it, presents an example, and provides Your Turn opportunities with each chapter for students to practice each new tech- nique before they do it for real in a project. Th e Your Turn boxes are posted online at www. wiley.com/college/dennis. Aft er reading each chapter, the student will be able to perform that step in the system development process.

P R E F A C E

v

vi Preface

Rich Examples of Success and Failure Th is book has a running online case study (accessible from www.wiley.com/go/dennis/ casestudy ) about a fi ctitious health care company called Patterson Superstore. Each chapter of the case study shows how the concepts are applied in situations at Patterson Superstore. In this way, the running case serves as a template that students can apply to their own work. Each chapter also includes numerous Concepts in Action boxes, which are posted online at www.wiley.com/college/dennis. Th ese boxes describe how real companies succeeded—and failed—in performing the activities in the chapter. Many of these examples are drawn from our own experiences as systems analysts.

Real World Focus The skills that students learn in a systems analysis and design course should mirror the work that they ultimately will do in real organizations. We have tried to make this book as “real” as possible by building extensively on our experience as professional sys- tems analysts for organizations, such as Arthur Andersen, IBM, the U.S. Department of Defense, and the Australian Army. We have also worked with a diverse industry advisory board of IS professionals and consultants in developing the book and have incorporated their stories, feedback, and advice throughout. Many students who use this book will eventually use the skills on the job in a business environment, and we believe they will have a competitive edge in understanding what successful practition- ers feel is relevant in the real world.

Project Approach We have presented the topics in this book in the order in which an analyst encounters them in a typical project. Although the presentation is necessarily linear (because students have to learn concepts in the way in which they build on each other), we emphasize the iterative, complex nature of SAD as the book unfolds. Th e presentation of the material should align well with courses that encourage students to work on projects because it presents topics as students need to apply them.

WHAT’S NEW IN THIS EDITION ■ A completely new, expanded case study on an integrated health clinic delivery

system has been written to accompany the fi ft h e dition. Th e entire case study is posted online. At the end of each chapter in the text, a short synopsis of the case is provided.

■ Th e text has been streamlined to focus on the essentials and therefore, to enhance student understanding. Selected m aterial s like the “Your Turn” and “Concepts in Action” boxes have been moved online and can be accessed at www.wiley.com/ college/dennis .

■ Th roughout the book , there is a greater emphasis on verifying, validating, and testing, as well as the incremental and iterative development of systems.

■ In Chapter 2, there is more content on Agile techniques , including scrum meet- ings, product backlog, and sprints.

■ In Chapter 3, we have increased focus on soft ware quality and user stories. ■ We have added new examples throughout the book and clarifi ed explanations to

help students learn some of the more diffi cult concepts.

Preface vii

■ Chapter 10 includes more coverage of mobile computing , including specifi cs on navigation, input, and output. Th is chapter also has a new section on games, multidimensional information visualization, augmented reality, and virtual reality.

■ Chapter 11 includes new material o n ubiquitous computing and the Internet of Th ings. ■ Testing has been expanded in Chapter 12.

ORGANIZATION OF THIS BOOK Th is book is loosely organized around the phases and workfl ows of the enhanced Unifi ed Process. Each chapter has been written to teach students specifi c tasks that analysts need to accomplish over the course of a project, and the deliverables that will be produced from the tasks. As students complete the chapters, they will realize the iterative and incremental nature of the tasks in object-oriented systems development.

Chapter 1 introduces the SDLC, systems development methodologies, roles and skills needed for a systems analyst, the basic characteristics of object-oriented systems, object-oriented systems analysis, the Unifi ed Process, and the UML. Chapter 2 presents topics related to the project management workfl ow of the Unifi ed Process, including pro- ject identifi cation, system request, feasibility analysis, project selection, traditional project management tools (including work breakdown structures, network diagrams, and PERT analysis), project eff ort estimation using use-case points, evolutionary work breakdown structures, iterative workplans, scope management, timeboxing, risk management, and staffi ng the project. Chapter 2 also addresses issues related to the Environment and Infra- structure management workfl ows of the Unifi ed Process.

Part One focuses on creating analysis models. Chapter 3 introduces students to an assort- ment of requirements analysis strategies a variety of requirements-gathering techniques that are used to determine the functional and nonfunctional requirements of the system, and to a system proposal. Chapter 4 focuses on constructing business process and functional models using use - case diagrams, activity diagrams, and use - case descriptions. Chapter 5 addresses producing structural models using CRC cards, class diagrams, and object diagrams. Chapter 6 tackles creating behavioral models using sequence diagrams, communication diagrams, behavioral state machines, and CRUDE analysis and matrices. Chapters 4 through 6 also cover the verifi cation and validation of the models described in each chapter.

Part Two addresses design modeling. In Chapter 7, students learn how to verify and validate the analysis models created during analysis modeling and to evolve the analysis models into design models via the use of factoring, partitions, and layers. Th e students also learn to create an alternative matrix that can be used to compare custom, packaged, and outsourcing alternatives. Chapter 8 concentrates on designing the individual classes and their respective methods through the use of contracts and method specifi cations. Chapter 9 presents the issues involved in designing persistence for objects. Th ese issues include the diff erent storage formats that can be used for object persistence, how to map an object- oriented design into the chosen storage format, and how to design a set of data access and manipulation classes that act as a translator between the classes in the application and the object persistence. Th is chapter also focuses on the nonfunctional requirements that impact the data management layer. Chapter 10 presents the design of the human–computer interaction layer, where students learn how to design user interfaces using use scenarios, windows navigation diagrams, storyboards, windows layout diagrams, user interface prototypes, real use cases, interface standards, and user interface templates; to perform user interface evaluations using heuristic evaluation, walkthrough evaluation, interactive evaluation, and formal usability testing; and to address nonfunctional requirements such

viii Preface

as user interface layout, content awareness, aesthetics, user experience, and consistency. Th is chapter also addresses issues related to mobile computing, social media, games, multi dimensional information visualizations, immersive environments, and international and cultural issues with regard to user interface design. Chapter 11 focuses on the phys- ical architecture and infrastructure design, which includes deployment diagrams and hardware/soft ware specifi cation. In today’s world, this also includes issues related to cloud computing, ubiquitous computing, the Internet of things, and green IT. Th is chapter, like the previous design chapters, covers the impact that nonfunctional requirements can have on the physical architecture layer.

Part Th ree provides material that is related to the construction, installation, and operations of the system. Chapter 12 focuses on system construction, where students learn how to build, test, and document the system. Installation and operations are covered in Chapter 13, where students learn about the conversion plan, change management plan, support plan, and project assessment. Additionally, these chapters address the issues related to developing systems in a fl at world, where developers and users are distributed throughout the world.

SUPPLEMENTS www.wiley.com/college/dennis

Instructor Book Companion Web s ite ■ PowerPoint slides : I nstructors can tailor the slides to their classroom needs .

S tudents can use them to guide their reading and studying activities. ■ Test Bank : I ncludes a variety of questions ranging from multiple-choice, true/

false, and short answer questions. A computerized, Respondus version of the Test Bank is also available.

■ Instructor’s Manual : P rovides resources to support the instructor both inside and out of the classroom. Th e manual includes short experiential exercises that instr uctors can use to help students experience and understand key topics in each chapter. Short stories have been provided by people working in both corpo- rate and consulting environments for instructors to insert into lectures to make concepts more colorful and real. Additional minicases for every chapter allow students to perform some of the key concepts that were learned in the chapter. Solutions to end of chapter questions and exercises are provided.

Student Book Companion Web s ite ■ A collection of templates and worksheets consisting of electronic versions of

selected fi gures from the book. ■ A completely new, expanded case study on an integrated health clinic delivery

system has been written to accompany the fi ft h edition. Th is case study is online only. It can be accessed at www.wiley.com/go/dennis/casestudy .

■ “Your Turn” and “Concepts in Action” boxes from the fourth edition have been moved online and can be accessed from the student companion site.

Wiley E-Text: Powered by VitalSource Th is Wiley e-text off ers students continuing access to materials for their course. Your students can access content on a mobile device, online from any Internet-connected computer, or by a computer via download. With dynamic features built into this e-text, students can search across content, highlight, and take notes that they can share with teachers and classmates.

Preface ix

Visible Analyst Wiley has partnered with Visible Analyst to give students a discounted price for Visible Analyst soft ware, an intuitive modeling tool for all aspects of traditional or object-oriented systems analysis and design. All new copies of the text will have a Key Code (printed on a page near the front of this text) that will provide a discount on Visible Analyst soft ware. To obtain the soft ware, students should visit http://store.visible.com/Wiley.aspx and enter their Key Code. Students who buy a new print text or digital e-book will receive one-third off the price of a downloadable edition of the soft ware with a 6-month license. With the soft ware, they will also receive tutorials, how-to videos, and a sample project. Students who buy used copies of this text may buy Visible Analyst at full price using the URL provided.

Project Management Soft ware You can download a 60-day trial of Microsoft Project Professional 2013 from the following Web site: www.microsoft .com/en-us/evalcenter/evaluate-project-professional-2013 . Note that Microsoft has changed its policy and no longer off ers the 120-day trial previously available.

Another option now available to education institutions adopting this Wiley titl e is a free introductory 3-year membership for DreamSpark Premium. DreamSpark Premium is designed to provide the easiest and most inexpensive way for academic departments to make the latest Microsoft soft ware available in labs, classrooms, and on student and instructor PCs. Microsoft Project soft ware is available through this Wiley and Microsoft publishing partnership, free of charge with the adoption of any qualifi ed Wiley title. Each copy of Microsoft Project is the full version of the soft ware, with no time limitation, and can be used indefi nitely for educational purposes. Contact your Wiley sales representative for details. For more information about the DreamSpark Premium program, contact drmspkna@Microsoft .com .

ACKNOWLEDGMENTS Th anks to Elaine Seeman for her feedback on every chapter in this book as well as for her work writing the new online case study. We would like to thank the following reviewers for their helpful and insightful comments on the fi ft h edition: Mohammad Dadashzadeh, Oakland University; Xiaodong Deng, Oakland University ; Th omas W. Dillon, James Madison University; Bryan Goda, University of Washington, Tacoma; Kathleen S. Hartzel, Duquesne University; Rajkumar Kempaiah, Stevens Institute of Technology; Sung-kwan Kim, University of Arkansas at Little Rock; Richard McCarthy, Quinnipiac University; Donald McCracken, Grantham University; Osama A. Morad, Southern New Hampshire University; Fred Niederman, Saint Louis University; Linda Plotnick, Jacksonville State University; Vladimir V. Riabov, Rivier University ; Richard Schilhavy, Guilford College; Tod Sedbrook, University of Northern Colorado; Steven C. Shaff er, Penn State University; Michael Smith, Georgia Institute of Technology; and John Wetsch, Southern New Hampshire University.

We would also like to thank the following reviewers for their helpful and insight- ful comments on the fi rst, second, third , and fourth editions: Evans Adams, Fort Lewis College; Murugan Anandarajon, Drexel University; Ron Anson, Boise State University; Noushin Ashrafi , University of Massachusetts, Boston; Dirk Baldwin, University of Wisconsin-Parkside; Robert Barker, University of Louisville; Qing Cao, University of Missouri–Kansas City; David Champion, DeVry University, Columbus, OH campus; Jeff Cummings, Indiana University; Junhua Ding, East Carolina University; Robert Dollinger,

x Preface

University of Wisconsin-Stevens Point; Abhijit Dutt, Carnegie Mellon University; Terry Fox, Baylor University; Ahmad Ghafarian, North Georgia College & State U niversity; Donald Golden, Cleve land State University; Cleotilde Gonzalez, Carnegie Melon University; Daniel V. Goulet, University of Wisconsin–Stevens Point; Harvey Hayashi, Loyalist College of Applied Arts and Technology; Yujong Hwang, DePaul University; Scott James, Saginaw Valley State University; Zongliang Jiang, North Carolina A&T State University; Raymond Kirsch, La Salle University; Rajiv Kishore, State University of New York–Buff alo; Ravindra Krovi, University of Akron; Jean-Piere Kuilboer, University of Massachusetts, Boston; Gilliean Lee, Lander University; Leo Legorreta, California State University Sacramento; Diane Lending, James Madison University; Steve Machon, DeVry University; Fernando Maymí , West Point University; Daniel Mittleman, DePaulUniversity; Makoto Nakayama, DePaul University; Fred Niederman, Saint Louis University; Parasuraman Nurani, DeVry University; H. Robert Pajkowski, DeVry Institute of Technology, Scarborough, Ontario; June S. Park, University of Iowa; Graham Peace, West Virginia University; Tom Pettay, DeVry Institute of Technology, Columbus,Ohio; Selwyn Piramuthu, University of Florida; J. Drew Procaccino, Rider University; Neil Ramiller, Portland State University; Eliot Rich, University at Albany, State University of New York; Marcus Rothenberger, University of Wisconsin–Milwaukee; Carl Scott, University of Houston; Keng Siau,University of Nebraska–Lincoln; Ift ikhar Sikder , Cleveland State University; Jonathan Trower, Baylor University; June Verner, Drexel University; Anna Wachholz, Sheridan College; Bill Watson, Indiana University- Purdue University Indianapolis; Randy S.Weinberg, Carnegie Mellon University; Eli J.Weissman, DeVry Institute of Technology, Long Island City, NY; Heinz Roland Weistroff er, Virginia Commonwealth University; Amy Wilson, DeVry Institute of Technology, Decatur, GA; Amy Woszczynski, Kennesaw State University; Vincent C. Yen, Wright State University ; Fan Zhao, Florida Gulf Coast University; and Dan Zhu, Iowa State University.

xi

C O N T E N T S

Preface v

Chapter 1

Introduction to Systems Analysis and Design 1 Introduction 1 The Systems Development Life Cycle 2

Planning 3 Analysis 3 Design 4 Implementation 4

Systems Development Methodologies 5 Structured Design 6 Rapid Application Development (RAD) 8 Agile Development 12 Selecting the Appropriate Development

Methodology 15 Typical Systems Analyst Roles and Skills 17

Business Analyst 18 Systems Analyst 18 Infrastructure Analyst 18 Change Management Analyst 19 Project Manager 19

Basic Characteristics of Object-Oriented Systems 19

Classes and Objects 19 Methods and Messages 20 Encapsulation and Information Hiding 20 Inheritance 21 Polymorphism and Dynamic Binding 22

Object-Oriented Systems Analysis and Design (OOSAD) 23

Use-Case Driven 24 Architecture-Centric 24 Iterative and Incremental 24 Benefi ts of Object-Oriented Systems

Analysis and Design 25 The Unified Process 25

Phases 26 Workfl ows 28 Extensions to the Unifi ed Process 30

The Unified Modeling Language 34 applying the concepts at patterson

superstore 36 Chapter Review 36

Chapter 2

Project Management 41 Introduction 41 Project Identification 43

System Request 44 Feasibility Analysis 45

Technical Feasibility 45 Economic Feasibility 46 Organizational Feasibility 51

Project Selection 53 Traditional Project Management Tools 54

Work Breakdown Structures 55 Gantt Chart 56 Network Diagram 57

Project Effort Estimation 58 Creating and Managing the Workplan 63

Evolutionary Work Breakdown Structures and Iterative Workplans 63

Managing Scope 67 Timeboxing 68 Refi ning Estimates 69 Managing Risk 70

Staffing the Project 71 Characteristics of a Jelled Team 71 Staffi ng Plan 73 Motivation 75 Handling Confl ict 76

Environment and Infrastructure Management 76

CASE Tools 77 Standards 77 Documentation 78

Applying the Concepts at Patterson Superstore 80

Chapter Review 80

■ PART ONE ANALYSIS MODELING 85 Chapter 3

Requirements Determination 86 Introduction 86 Requirements Determination 87

Defi ning a Requirement 87 Requirements Defi nition 89 Determining Requirements 89 Creating a Requirements Defi nition 91 Real-World Problems with Requirements

Determination 91 Requirements Analysis Strategies 92

Problem Analysis 92 Root Cause Analysis 92 Duration Analysis 93 Activity-Based Costing 94 Informal Benchmarking 94 Outcome Analysis 95 Technology Analysis 95 Activity Elimination 95

Requirements-Gathering Techniques 95 Interviews 96 Joint Application Development (JAD) 100 Questionnaires 104 Document Analysis 106 Observation 108 Selecting the Appropriate Techniques 108

Alternative Requirements Documentation Techniques 110

Concept Maps 110 User Stories 112

The System Proposal 113 Applying the Concepts at Patterson

Superstore 114 Chapter review 114

Chapter 4 Business Process and Functional Modeling 119 Introduction 119 Business Process Identification with Use

Cases and Use-Case Diagrams 121 Elements of Use-Case Diagrams 121 Identifying the Major Use Cases 126

Creating a Use-Case Diagram 127 Business Process Modeling with Activity

Diagrams 129 Elements of an Activity Diagram 131 Guidelines for Creating Activity

Diagrams 136 Creating Activity Diagrams 137

Business Process Documentation with Use Cases and Use-Case Descriptions 140

Types of Use Cases 141 Elements of a Use-Case Description 141 Guidelines for Creating Use-Case

Descriptions 145 Creating Use Case Descriptions 146

Verifying and Validating the Business Processes and Functional Models 153

Verifi cation and Validation through Walkthroughs 153

Functional Model Verifi cation and Validation 154

Applying the Concepts at Patterson Superstore 157

Chapter Review 157

Chapter 5

Structural Modeling 163 Introduction 163 Structural Models 164

Classes, Attributes, and Operations 164

Relationships 165 Object Identification 166

Textual Analysis 166 Brainstorming 167 Common Object Lists 169 Patterns 169

Crc Cards 172 Responsibilities and Collaborations 172 Elements of a CRC Card 173 Role-Playing CRC Cards with

Use Cases 174 Class Diagrams 176

Elements of a Class Diagram 176 Simplifying Class Diagrams 184 Object Diagrams 184

Creating Structural Models Using CRC Cards and Class Diagrams 185

Campus Housing Example 187 Library Example 187

xii Contents

Verifying and Validating the Structural Model 194

Applying the Concepts at Patterson Superstore 197

Chapter Review 198

Chapter 6

Behavioral Modeling 202 Introduction 202 Behavioral Models 203 Interaction Diagrams 204

Objects, Operations, and Messages 204 Sequence Diagrams 204 Communication Diagrams 216

Behavioral State Machines 221 States, Events, Transitions, Actions, and

Activities 221 Elements of a Behavioral State Machine 222 Creating a Behavioral State Machine 226

Crude Analysis 229 Verifying and Validating the Behavioral

Model 233 Applying the Concepts at Patterson

Superstore 235 Chapter Review 235

■ PART TWO DESIGN MODELING 239 Chapter 7

Moving on to Design 240 Introduction 240 Verifying and Validating the Analysis

Models 242 Balancing Functional and Structural

Models 242 Balancing Functional and Behavioral

Models 243 Balancing Structural and Behavioral

Models 251 Summary 254

Evolving the Analysis Models into Design Models 257

Factoring 257 Partitions and Collaborations 258 Layers 259

Packages and Package Diagrams 262 Guidelines for Creating Package

Diagrams 264 Creating Package Diagrams 266 Verifying and Validating Package

Diagrams 266 Design Strategies 268

Custom Development 268 Packaged Soft ware 269 Outsourcing 270 Selecting a Design Strategy 272

Selecting an Acquisition Strategy 273 Alternative Matrix 274

Applying the Concepts at Patterson Superstore 276

Chapter Review 276

Chapter 8

Class and Method Design 280 Introduction 280 Review of the Basic Characteristics

of Object Orientation 282 Classes, Objects, Methods, and Messages 282 Encapsulation and Information Hiding 282 Polymorphism and Dynamic Binding 282 Inheritance 284

Design Criteria 286 Coupling 286 Cohesion 289 Connascence 292

Object Design Activities 293 Adding Specifi cations 293 Identifying Opportunities for Reuse 294 Restructuring the Design 297 Optimizing the Design 298 Mapping Problem-Domain Classes to

Implementation Languages 300 Constraints and Contracts 304

Types of Constraints 306 Elements of a Contract 306

Method Specification 314 General Information 314 Events 314 Message Passing 315 Algorithm Specifi cations 316 Example 318

Verifying and Validating Class and Method Design 319

Contents xiii

Applying the Concepts at Patterson Superstore 322

Chapter review 322

Chapter 9

Data Management Layer Design 326 Introduction 326 Object Persistence Formats 327

Sequential and Random Access Files 327 Relational Databases 330 Object-Relational Databases 332 Object-Oriented Databases 332 NoSQL Data Stores 333 Selecting an Object Persistence Format 335

Mapping Problem Domain Objects to Object Persistence Formats 337

Mapping Problem Domain Objects to an OODBMS Format 338

Mapping Problem Domain Objects to an ORDBMS Format 341

Mapping Problem Domain Objects to a RDBMS Format 344

Optimizing Rdbms-Based Object Storage 346

Optimizing Storage Effi ciency 347 Optimizing Data Access Speed 351 Estimating Data Storage Size 356

Designing Data Access and Manipulation Classes 357

Nonfunctional Requirements and Data Management Layer Design 360

Verifying and Validating the Data Management Layer 361

Applying the Concepts at Patterson Superstore 362

Chapter Review 362

Chapter 10

Human–Computer Interaction Layer Design 367 Iintroduction 367 Principles for User Interface Design 368

Layout 369 Content Awareness 369

Aesthetics 370 User Experience 371 Consistency 371 Minimizing User Eff ort 372

User Interface Design Process 372 Use Scenario Development 373 Navigation Structure Design 375 Interface Standards Design 376 Interface Design Prototyping 377 Interface Evaluation 380 Common Sense Approach to User

Interface Design 382 Navigation Design 383

Basic Principles 383 Types of Navigation Controls 384 Messages 386 Navigation Design Documentation 387

Input Design 387 Basic Principles 387 Types of Inputs 390 Input Validation 391

Output Design 392 Basic Principles 392 Types of Outputs 394 Media 394

Mobile Computing and User Interface Design 395

Social Media and User Interface Design 398

Games, Multi-Dimensional Information Visualizations, and Immersive Environments 400

Games, Gamifi cation, and User Interface Design 400

Multidimensional Information Visualization Design 402

User Interface Design and Immersive Environments 404

International and Cultural Issues and User Interface Design 406

Multilingual Requirements 406 Color 407 Cultural Diff erences 407

Nonfunctional Requirements And Human- Computer Interaction Layer Design 410

Applying The Concepts At Patterson Superstore 411

Chapter review 411

xiv Contents

Chapter 11

Physical Architecture Layer Design 418 Introduction 418 Elements of the Physical Architecture

Layer 419 Architectural Components 419 Server-Based Architectures 420 Client-Based Architectures 420 Client–Server Architectures 421 Client–Server Tiers 422 Selecting a Physical Architecture 424

Cloud Computing 426 Ubiquitous Computing and the Internet

of Things 428 Green IT 431 Infrastructure Design 432

Deployment Diagram 432 Network Model 434

Hardware and System Software Specifications 438

Nonfunctional Requirements and Physical Architecture Layer Design 440

Operational Requirements 441 Performance Requirements 442 Security Requirements 444 Cultural and Political Requirements 447 Synopsis 448

Verifying and Validating the Physical Architecture Layer 449

Applying the Concepts at Patterson Superstore 450

Chapter Review 450

■ PART THREE CONSTRUCTION, INSTALLATION, AND OPERATIONS 455 Chapter 12

Construction 456 Introduction 456 Managing Programming 457

Assigning Programmers 457 Coordinating Activities 458

Managing the Schedule 458 Cultural Issues 460

Developing Documentation 462 Types of Documentation 463 Designing Documentation Structure 463 Writing Documentation Topics 465 Identifying Navigation Terms 465

Designing Tests 467 Testing and Object Orientation 468 Test Planning 469 Unit Tests 471 Integration Tests 475 System Tests 476 Acceptance Tests 477

Applying the Concepts at Patterson Superstore 478

Chapter Review 478

Chapter 13

Installation and Operations 481 Introduction 481 Cultural Issues and Information

Technology Adoption 483 Conversion 485

Conversion Style 486 Conversion Location 486 Conversion Modules 487 Selecting the Appropriate Conversion

Strategy 488 Change Management 489

Understanding Resistance to Change 490 Revising Management Policies 491 Assessing Costs and Benefi ts 492 Motivating Adoption 493 Enabling Adoption: Training 495

Post-Implementation Activities 497 System Support 497 System Maintenance 498 Project Assessment 500

Applying the Concepts at Patterson Superstore 502

Chapter Review 502

Index 507

Contents xv

Chapter 1 introduces the systems development life cycle (SDLC), the fundamental four- phase model (planning, analysis, design, and implementation) common to all information systems development projects. It describes the evolution of system development method- ologies and discusses the roles and skills required of a systems analyst. Th e chapter then overviews the basic characteristics of object-oriented systems and the fundamentals of object-oriented systems analysis and design and closes with a description of the Unifi ed Process and its extensions and the Unifi ed Modeling Language.

OBJECTIVES

■ Understand the fundamental systems development life cycle and its four phases ■ Understand the evolution of systems development methodologies ■ Be familiar with the diff erent roles played by and the skills of a systems analyst ■ Be familiar with the basic characteristics of object-oriented systems ■ Be familiar with the fundamental principles of object-oriented systems analysis

and design ■ Be familiar with the Unifi ed Process, its extensions, and the Unifi ed Modeling

Language

INTRODUCTION The systems development life cycle (SDLC) is the process of understanding how an infor- mation system (IS) can support business needs by designing a system, building it, and delivering it to users. If you have taken a programming class or have programmed on your own, this probably sounds pretty simple. Unfortunately, it is not. A 1996 survey by the Standish Group found that 42 percent of all corporate IS projects were abandoned before completion. A similar study conducted in 1996 by the General Accounting Office found 53 percent of all U.S. government IS projects were abandoned. Unfortunately, many of the systems that are not abandoned are delivered to the users significantly late, cost far more than planned, and have fewer features than originally planned. For exam- ple, IAG Consulting reports that 80 percent of the projects were over time, 72 percent were over budget, and 55 percent contained less than the full functionality; Panorama Consulting Solutions reports that 54 percent of the ERP projects were over time, 56 percent were over budget, and 48 percent delivered less than 50 percent of the initial benefi ts; and an IBM study reports that 59 percent of the projects missed one or more of on time, within budget, and quality constraints.1 Although we would like to promote this book as a silver bullet that will keep you from IS failures, we readily admit that a silver bullet that guarantees IS development success simply does not exist. Instead, this book provides you

1

C H A P T E R 1

Introduction to Systems Analysis and Design

2 Chapter 1 Introduction to Systems Analysis and Design

with several fundamental concepts and many practical techniques that you can use to improve the probability of success.

Th e key person in the SDLC is the systems analyst, who analyzes the business situation, identifi es opportunities for improvements, and designs an information system to implement them. Being a systems analyst is one of the most interesting, exciting, and challenging jobs around. Systems analysts work with a variety of people and learn how they conduct business. Specifi cally, they work with a team of systems analysts, programmers, and others on a com- mon mission. Systems analysts feel the satisfaction of seeing systems that they designed and developed make a signifi cant business impact, knowing that they contributed unique skills to make that happen.

However, the primary objective of a systems analyst is not to create a wonderful sys- tem; instead, it is to create value for the organization, which for most companies means increasing profi ts (government agencies and not-for-profi t organizations measure value diff erently). Many failed systems have been abandoned because the analysts tried to build a wonderful system without clearly understanding how the system would fi t with an organi- zation’s goals, current business processes, and other information systems to provide value. An investment in an information system is like any other investment. Th e goal is not to acquire the tool, because the tool is simply a means to an end; the goal is to enable the organization to perform work better so that it can earn greater profi ts or serve its constit- uents more eff ectively.

Th is book introduces the fundamental skills a systems analyst needs. Th is pragmatic book discusses best practices in systems development; it does not present a general survey of systems development that covers everything about the topic. By defi nition, systems analysts do things and challenge the current way that organizations work. To get the most out of this book, you will need to actively apply to your own systems development project the ideas and concepts in the examples. Th is book guides you through all the steps for delivering a successful informa- tion system. By the time you fi nish the book, you won’t be an expert analyst, but you will be ready to start building systems for real.

THE SYSTEMS DEVELOPMENT LIFE CYCLE In many ways, building an information system is similar to building a house. First, the house (or the information system) starts with a basic idea. Second, this idea is transformed into a simple drawing that is shown to the customer and refi ned (oft en through several drawings, each improving on the last) until the customer agrees that the picture depicts what he or she wants. Th ird, a set of blueprints is designed that presents much more detailed information about the house (e.g., the type of water faucets or where the telephone jacks will be placed). Finally, the house is built following the blueprints, oft en with some changes directed by the customer as the house is erected.

Th e SDLC has a similar set of four fundamental phases: planning, analysis, design, and implementation. Diff erent projects might emphasize diff erent parts of the SDLC or approach the SDLC phases in diff erent ways, but all projects have elements of these four phases. Each phase is itself composed of a series of steps, which rely upon techniques that produce deliverables (specifi c documents and fi les that provide understanding about the project).

1 For more information on the problem, see Capers Jones, Patterns of Soft ware System Failure and Success (London: International Th ompson Computer Press, 1996); KeithEllis, Business Analysis Benchmark: Th e Impact of Business Requirements on the Success of Technology Projects (2008). Retrieved May 2014 from IAG Consulting, www.iag.biz; H. H. Jorgensen, L. Owen, and A. Neus, Making Change Work (2008). Retrieved May 2014 from IBM, www.ibm. com; Panorama Consulting Solutions, 2012 ERP Report (2012). Retrieved May 2014 from Panorama- Consulting.com.

The Systems Development Life Cycle 3

For example, in applying for admission to a university, all students go through the same phases: information gathering, applying, and accepting. Each of these phases has steps; for example, information gathering includes steps such as searching for schools, requesting infor- mation, and reading brochures. Students then use techniques (e.g., Internet searching) that can be applied to steps (e.g., requesting information) to create deliverables (e.g., evaluations of diff erent aspects of universities).

In many projects, the SDLC phases and steps proceed in a logical path from start to fi n- ish. In other projects, the project teams move through the steps consecutively, incrementally, iteratively, or in other patterns. In this section, we describe the phases, the actions, and some of the techniques that are used to accomplish the steps at a very high level.

For now, there are two important points to understand about the SDLC. First, you should get a general sense of the phases and steps through which IS projects move and some of the techniques that produce certain deliverables. Second, it is important to understand that the SDLC is a process of gradual refi nement. Th e deliverables produced in the analysis phase pro- vide a general idea of the shape of the new system. Th ese deliverables are used as input to the design phase, which then refi nes them to produce a set of deliverables that describes in much more detailed terms exactly how the system will be built. Th ese deliverables, in turn, are used in the implementation phase to produce the actual system. Each phase refi nes and elaborates on the work done previously.

Planning Th e planning phase is the fundamental process of understanding why an information sys- tem should be built and determining how the project team will go about building it. It has two steps:

1. During project initiation, the system’s business value to the organization is identifi ed: How will it lower costs or increase revenues? Most ideas for new systems come from outside the IS area (e.g., from the marketing department, accounting department) in the form of a system request. A system request presents a brief summary of a business need, and it explains how a system that supports the need will create business value. Th e IS department works together with the person or department that generated the request (called the project sponsor) to conduct a feasibility analysis.

Th e system request and feasibility analysis are presented to an information sys- tems approval committee (sometimes called a steering committee), which decides whether the project should be undertaken.

2. Once the project is approved, it enters project management. During project man- agement, the project manager creates a workplan, staff s the project, and puts tech- niques in place to help the project team control and direct the project through the entire SDLC. Th e deliverable for project management is a project plan, which describes how the project team will go about developing the system.

Analysis Th e analysis phase answers the questions of who will use the system, what the system will do, and where and when it will be used. During this phase, the project team investigates any current system(s), identifi es opportunities for improvement, and develops a concept for the new system. Th is phase has three steps:

1. An analysis strategy is developed to guide the project team’s eff orts. Such a strategy usually includes an analysis of the current system (called the as-is system) and its problems and then ways to design a new system (called the to-be system).

4 Chapter 1 Introduction to Systems Analysis and Design

2. Th e next step is requirements gathering (e.g., through interviews or questionnaires). Th e analysis of this information—in conjunction with input from the project sponsor and many other people—leads to the development of a concept for a new system. Th e system concept is then used as a basis to develop a set of business analysis models, which describe how the business will operate if the new system is developed.

3. Th e analyses, system concept, and models are combined into a document called the system proposal, which is presented to the project sponsor and other key deci- sion makers (e.g., members of the approval committee) who decide whether the project should continue to move forward.

Th e system proposal is the initial deliverable that describes what business requirements the new system should meet. Because it is really the fi rst step in the design of the new system, some experts argue that it is inappropriate to use the term “analysis” as the name for this phase; some argue a better name would be “analysis and initial design.” Most organizations continue to use the name analysis for this phase, however, so we use it in this book as well. Just keep in mind that the deliverable from the analysis phase is both an analysis and a high-level initial design for the new system.

Design Th e design phase decides how the system will operate, in terms of the hardware, soft ware, and network infrastructure; the user interface, forms, and reports; and the specifi c programs, databases, and fi les that will be needed. Although most of the strategic decisions about the system were made in the development of the system concept during the analysis phase, the steps in the design phase determine exactly how the system will operate. Th e design phase has four steps:

1. Th e design strategy is fi rst developed. It clarifi es whether the system will be devel- oped by the company’s own programmers, whether the system will be outsourced to another fi rm (usually a consulting fi rm), or whether the company will buy an existing soft ware package.

2. Th is leads to the development of the basic architecture design for the system, which describes the hardware, soft ware, and network infrastructure to be used. In most cases, the system will add or change the infrastructure that already exists in the organization. Th e interface design specifi es how the users will move through the sys- tem (e.g., navigation methods such as menus and on-screen buttons) and the forms and reports that the system will use.

3. Th e database and fi le specifi cations are developed. Th ese defi ne exactly what data will be stored and where they will be stored.

4. Th e analyst team develops the program design, which defi nes the programs that need to be written and exactly what each program will do.

Th is collection of deliverables (architecture design, interface design, database and fi le specifi ca- tions, and program design) is the system specifi cation that is handed to the programming team for implementation. At the end of the design phase, the feasibility analysis and project plan are reexamined and revised, and another decision is made by the project sponsor and approval committee about whether to terminate the project or continue.

Implementation Th e fi nal phase in the SDLC is the implementation phase, during which the system is actually built (or purchased, in the case of a packaged soft ware design). Th is is the phase that usually

Systems Development Methodologies 5

2 Th e classic modern process-centered methodology is that by Edward Yourdon, Modern Structured Analysis (Englewood Cliff s, NJ: Yourdon Press, 1989). An example of a data-centered methodology is information engi- neering; see James Martin, Information Engineering, vols. 1–3 (Englewood Cliff s, NJ: Prentice Hall, 1989). A widely accepted standardized non–object-oriented methodology that balances processes and data is IDEF; see FIPS 183, Integration Defi nition for Function Modeling, Federal Information Processing Standards Publications, U.S. Depart- ment of Commerce, 1993. 3 A good reference for comparing systems development methodologies is Steve McConnell, Rapid Development (Redmond, WA: Microsoft Press, 1996).

gets the most attention, because for most systems it is the longest and most expensive single part of the development process. Th is phase has three steps:

1. System construction is the fi rst step. Th e system is built and tested to ensure that it performs as designed. Because the cost of bugs can be immense, testing is one of the most critical steps in implementation. Most organizations give more time and attention to testing than to writing the programs in the fi rst place.

2. Th e system is installed. Installation is the process by which the old system is turned off and the new one is turned on. One of the most important aspects of conversion is the development of a training plan to teach users how to use the new system and help manage the changes caused by the new system.

3. Th e analyst team establishes a support plan for the system. Th is plan usually includes a formal or informal post-implementation review as well as a systematic way for identifying major and minor changes needed for the system.

SYSTEMS DEVELOPMENT METHODOLOGIES A methodology is a formalized approach to implementing the SDLC (i.e., it is a list of steps and deliverables). Th ere are many diff erent systems development methodologies, and each one is unique, based on the order and focus it places on each SDLC phase. Some methodolo- gies are formal standards used by government agencies, whereas others have been developed by consulting fi rms to sell to clients. Many organizations have internal methodologies that have been honed over the years, and they explain exactly how each phase of the SDLC is to be performed in that company.

Th ere are many ways to categorize methodologies. One way is by looking at whether they focus on business processes or the data that support the business. A process-centered methodology emphasizes process models as the core of the system concept. In Figure 1-1, for example, process-centered methodologies would focus fi rst on defi ning the processes (e.g., assemble sandwich ingredients). Data-centered methodologies emphasize data models as the core of the system concept. In Figure 1-1, data-centered methodologies would focus fi rst on defi ning the contents of the storage areas (e.g., refrigerator) and how the contents were organ- ized.2 By contrast, object-oriented methodologies attempt to balance the focus between process and data by incorporating both into one model. In Figure 1-1, these methodologies would focus fi rst on defi ning the major elements of the system (e.g., sandwiches, lunches) and look at the processes and data involved with each element.

Another important factor in categorizing methodologies is the sequencing of the SDLC phases and the amount of time and eff ort devoted to each.3 In the early days of computing, programmers did not understand the need for formal and well-planned life-cycle meth- odologies. Th ey tended to move directly from a very simple planning phase right into the construction step of the implementation phase—in other words, from a very fuzzy, not-well- thought-out system request into writing code. Th is is the same approach that you sometimes use when writing programs for a programming class. It can work for small programs that

6 Chapter 1 Introduction to Systems Analysis and Design

require only one programmer, but if the requirements are complex or unclear, you might miss important aspects of the problem and have to start all over again, throwing away part of the program (and the time and eff ort spent writing it). Th is approach also makes teamwork diffi cult because members have little idea about what needs to be accomplished and how to work together to produce a fi nal product. In this section, we describe three diff erent classes of system development methodologies: structured design, rapid application development, and agile development.

Structured Design Th e fi rst category of systems development methodologies is called structured design. Th ese methodologies became dominant in the 1980s, replacing the previous ad hoc and

FIGURE 1-1 A Simple Behavioral Model for Making a Simple Lunch

GetJelly

GetPeanutButter

GetCookies

GetBread

CreateSandwich

GetMilk

CreateLunch

GetLunchBag

PutLunchInBag

aParent aRefrigerator aCupboard aSandwich aLunch aLunchBag

Systems Development Methodologies 7

undisciplined approach. Structured design methodologies adopt a formal step-by-step approach to the SDLC that moves logically from one phase to the next. Numerous pro- cess-centered and data-centered methodologies follow the basic approach of the two struc- tured design categories outlined next.

Waterfall Development Th e original structured design methodology (still used today) is waterfall development. With waterfall development-based methodologies, the analysts and users proceed in sequence from one phase to the next (see Figure 1-2). Th e key deliverables for each phase are typically very long (oft en hundreds of pages in length) and are presented to the project sponsor for approval as the project moves from phase to phase. Once the sponsor approves the work that was conducted for a phase, the phase ends and the next one begins. Th is methodology is referred to as waterfall development because it moves forward from phase to phase in the same manner as a waterfall. Although it is possible to go backward in the SDLC (e.g., from design back to analysis), it is extremely diffi cult (imagine yourself as a salmon trying to swim upstream against a waterfall, as shown in Figure 1-2).

Structured design also introduced the use of formal modeling or diagramming tech- niques to describe the basic business processes and the data that support them. Traditional structured design uses one set of diagrams to represent the processes and a separate set of diagrams to represent data. Because two sets of diagrams are used, the systems analyst must decide which set to develop fi rst and use as the core of the system: process-model diagrams or data-model diagrams.

Th e two key advantages of the structured design waterfall approach are that it identi- fi es system requirements long before programming begins and it minimizes changes to the requirements as the project proceeds. Th e two key disadvantages are that the design must be completely specifi ed before programming begins and that a long time elapses between the completion of the system proposal in the analysis phase and the delivery of the system (usu- ally many months or years). If the project team misses important requirements, expensive post-implementation programming may be needed (imagine yourself trying to design a car on paper; how likely would you be to remember interior lights that come on when the doors open or to specify the right number of valves on the engine?). A system can also require signifi cant rework because the business environment has changed from the time when the analysis phase occurred.

FIGURE 1-2 A Waterfall Development-Based Methodology

System

Planning

Analysis

Design

Implementation

8 Chapter 1 Introduction to Systems Analysis and Design

Parallel Development Parallel development methodology attempts to address the problem of long delays between the analysis phase and the delivery of the system. Instead of doing design and implementation in sequence, it performs a general design for the whole system and then divides the project into a series of distinct subprojects that can be designed and implemented in parallel. Once all subprojects are complete, the separate pieces are integrated and the system is delivered (see Figure 1-3).

Th e primary advantage of this methodology is that it can reduce the time to deliver a system; thus, there is less chance of changes in the business environment causing rework. However, sometimes the subprojects are not completely independent; design decisions made in one subproject can aff ect another, and the end of the project can require signifi cant integration eff orts.

Rapid Application Development (RAD) A second category of methodologies includes rapid application development (RAD)-based methodologies. Th ese are a newer class of systems development methodologies that emerged in the 1990s. RAD-based methodologies attempt to address both weaknesses of structured design methodologies by adjusting the SDLC phases to get some part of the system devel- oped quickly and into the hands of the users. In this way, the users can better understand the system and suggest revisions that bring the system closer to what is needed.4

4 One of the best RAD books is Steve McConnell, Rapid Development (Redmond, WA: Microsoft Press, 1996).

FIGURE 1-3 A Parallel Development-Based Methodology

System

Planning

Analysis

Design

Implementation

Design

Integration

Implementation

Design

Implementation

Design

Subproject 2

Subproject 1

Subproject 3

Systems Development Methodologies 9

Most RAD-based methodologies recommend that analysts use special techniques and computer tools to speed up the analysis, design, and implementation phases, such as computer-aided soft ware engineering (CASE) tools, joint application design (JAD) sessions, fourth-generation or visual programming languages that simplify and speed up programming, and code generators that automatically produce programs from design specifi cations. Th e combination of the changed SDLC phases and the use of these tools and techniques improves the speed and quality of systems development. However, there is one possible subtle problem with RAD-based methodologies: managing user expectations. Owing to the use of the tools and techniques that can improve the speed and quality of systems development, user expectations of what is possible can change dramatically. As a user better understands the information tech- nology (IT), the systems requirements tend to expand. Th is was less of a problem when using methodologies that spent a lot of time thoroughly documenting requirements.

Phased Development A phased development-based methodology breaks an overall system into a series of versions that are developed sequentially. Th e analysis phase identifi es the overall system concept, and the project team, users, and system sponsor then categorize the requirements into a series of versions. Th e most important and fundamental requirements are bundled into the fi rst version of the system. Th e analysis phase then leads into design and implementation—but only with the set of requirements identifi ed for version 1 (see Figure 1-4).

Once version 1 is implemented, work begins on version 2. Additional analysis is per- formed based on the previously identifi ed requirements and combined with new ideas and issues that arose from the users’ experience with version 1. Version 2 then is designed and implemented, and work immediately begins on the next version. Th is process continues until the system is complete or is no longer in use.

Phased development-based methodologies have the advantage of quickly getting a useful system into the hands of the users. Although the system does not perform all the functions the users need at fi rst, it does begin to provide business value sooner than if the system were deliv- ered aft er completion, as is the case with the waterfall and parallel methodologies. Likewise, because users begin to work with the system sooner, they are more likely to identify important additional requirements sooner than with structured design situations.

Th e major drawback to phased development is that users begin to work with systems that are intentionally incomplete. It is critical to identify the most important and useful features and include them in the fi rst version and to manage users’ expectations along the way.

Prototyping A prototyping-based methodology performs the analysis, design, and imple- mentation phases concurrently, and all three phases are performed repeatedly in a cycle until the system is completed. With these methodologies, the basics of analysis and design are performed, and work immediately begins on a system prototype, a quick-and-dirty program that provides a minimal amount of features. Th e fi rst prototype is usually the fi rst part of the system that is used. Th is is shown to the users and the project sponsor, who provide com- ments. Th ese comments are used to reanalyze, redesign, and reimplement a second prototype, which provides a few more features. Th is process continues in a cycle until the analysts, users, and sponsor agree that the prototype provides enough functionality to be installed and used in the organization. Aft er the prototype (now called the “system”) is installed, refi nement occurs until it is accepted as the new system (see Figure 1-5).

Th e key advantage of a prototyping-based methodology is that it very quickly provides a system with which the users can interact, even if it is not ready for widespread organizational use at fi rst. Prototyping reassures the users that the project team is working on the system (there are no long delays in which the users see little progress), and prototyping helps to more quickly refi ne real requirements.

10 Chapter 1 Introduction to Systems Analysis and Design

FIGURE 1-4 A Phased Development-Based Methodology

System version 1

Planning

Analysis

Analysis

Implementation

Design

Analysis

Implementation

Design

Analysis

Implementation

Design

System version 2

System version 3

FIGURE 1-5 A Prototyping-Based Methodology

System prototype

System

Planning

Analysis

Design

Implementation

Implementation

Systems Development Methodologies 11

Th e major problem with prototyping is that its fast-paced system releases challenge attempts to conduct careful, methodical analysis. Oft en the prototype undergoes such signif- icant changes that many initial design decisions become poor ones. Th is can cause problems in the development of complex systems because fundamental issues and problems are not rec- ognized until well into the development process. Imagine building a car and discovering late in the prototyping process that you have to take the whole engine out to change the oil (because no one thought about the need to change the oil until aft er it had been driven 10,000 miles).

Throwaway Prototyping Th rowaway prototyping-based methodologies are similar to prototyping-based methodologies in that they include the development of prototypes; how- ever, throwaway prototypes are done at a diff erent point in the SDLC. Th ese prototypes are used for a very diff erent purpose than those previously discussed, and they have a very diff er- ent appearance (see Figure 1-6).

Th e throwaway prototyping-based methodologies have a relatively thorough analy- sis phase that is used to gather information and to develop ideas for the system concept. However, users might not completely understand many of the features they suggest, and there may be challenging technical issues to be solved. Each of these issues is examined by analyz- ing, designing, and building a design prototype. A design prototype is not a working system; it is a product that represents a part of the system that needs additional refi nement, and it contains only enough detail to enable users to understand the issues under consideration. For example, suppose users are not completely clear on how an order-entry system should work. In this case, a series of mock-up screens appear to be a system, but they really do nothing. Or suppose that the project team needs to develop a sophisticated graphics program in Java. Th e team could write a portion of the program with pretend data to ensure that they could do a full-blown program successfully.

A system developed using this type of methodology relies on several design prototypes during the analysis and design phases. Each of the prototypes is used to minimize the risk associated with the system by confi rming that important issues are understood before the real system is built. Once the issues are resolved, the project moves into design and implementa- tion. At this point, the design prototypes are thrown away, which is an important diff erence between these methodologies and prototyping methodologies, in which the prototypes evolve into the fi nal system.

Homework is Completed By:

Writer Writer Name Amount Client Comments & Rating
Instant Homework Helper

ONLINE

Instant Homework Helper

$36

She helped me in last minute in a very reasonable price. She is a lifesaver, I got A+ grade in my homework, I will surely hire her again for my next assignments, Thumbs Up!

Order & Get This Solution Within 3 Hours in $25/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 3 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 6 Hours in $20/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 6 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 12 Hours in $15/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 12 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

6 writers have sent their proposals to do this homework:

Helping Hand
Quality Homework Helper
Best Coursework Help
Top Essay Tutor
Writer Writer Name Offer Chat
Helping Hand

ONLINE

Helping Hand

I am an Academic writer with 10 years of experience. As an Academic writer, my aim is to generate unique content without Plagiarism as per the client’s requirements.

$60 Chat With Writer
Quality Homework Helper

ONLINE

Quality Homework Helper

Hi dear, I am ready to do your homework in a reasonable price.

$62 Chat With Writer
Best Coursework Help

ONLINE

Best Coursework Help

I am an Academic writer with 10 years of experience. As an Academic writer, my aim is to generate unique content without Plagiarism as per the client’s requirements.

$60 Chat With Writer
Top Essay Tutor

ONLINE

Top Essay Tutor

I have more than 12 years of experience in managing online classes, exams, and quizzes on different websites like; Connect, McGraw-Hill, and Blackboard. I always provide a guarantee to my clients for their grades.

$65 Chat With Writer

Let our expert academic writers to help you in achieving a+ grades in your homework, assignment, quiz or exam.

Similar Homework Questions

J curve project life cycle - Law of conservation of matter lab - Johnson and johnson diversity case study - Balanced chemical equation for zinc and copper ii sulfate - Solving higher order differential equations - Computer hardware diagram pdf - Slow and slimy mover crossword - Thesis statement about cell phones in school - Abdominal inflammation crossword clue - Thorn airfield lighting uk - Benzoic acid reaction with grignard reagent - Calculate the formula weight of khp - DISCUSSION REPLY - Specialty packaging corporation case study answers - Koki ando net worth - Integrate personal and professional ethics to achieve organizational goals. - Arnie frankel golf's one motion video - Wendy Lewis 1 - 7665 lantana rd crossville tn - Resource allocation graph questions - Discussion 3 (2- Part) - Rough Draft essay - 9 inch angle grinder risk assessment - 9/2 - Questions 2 - Module 2 SLP BHA415 - 6g72 head bolt torque sequence - How to analyse a picture in english - 5 page essay (only accounting knowledge) - 1. 46,756,790 mg = _______ kg - Communicating for results 11th edition ebook - Hms temeraire opening times - Syringe vending machine locations qld - Powell's book warehouse distributes hardcover - Strophic form in music - Chapter 14 the future of health services delivery - Coll 148 week 4 quiz - Agent surefire - Backstage department crossword clue - Discussion question - Jcpenney business model - Australian citizenship common bond - Torque on a dipole in a nonuniform electric field - I like watching the puddles gather rain song lyrics - 85 bangalay crescent rivett - Cardiac II - WORK - Larson and gray project management 6th edition pdf - Equivalent mass of an acid - Critical Thinking - Mk cable management catalogue - 2015 ap test dates - Hertz furniture systems mahwah nj - Specific heat of sugar - Company requirements for a total rewards system - Development of the atom - Ethical traps in business - Rogerian argument thesis statement examples - Effect of sunlight on plant growth - One ethical dilemma that multinational firms must face is _____________. - Non controlling interest fair value method - 7 1 1 multimedia presentation planning worksheet assignment - 0.4 fte is how many hours - What is the la galaxy product - Stock valuation at ragan engines case solution - Anatomy of a wave - Saylor academy answers - Questions for shaffer's article on southernization answers - Case Study - Extended essay skeleton outline template - Pediatric drug use - Ayr social work department - Refer to the following partial anova results from excel (some information is missing). - Ebay fixing an online marketing pioneer case study answers - Charlotte is a psychologist who believes in the following statement - Robert cooper stage gate process - Nets - Weekly plan that includes goals for children's learning and development - Poetry reading - PSY 5107 Week 4 – Assignment: Customize Potential Research Questions and Hypotheses - Darrick wood infant school - A trough for feeding cattle is 4 meters long - Understanding Misconceptions - Ame kanji stroke order - Pathophysiology Knowledge Check - Outline - Httpsstatistical measures of stand alone risk - Sweet leaf bath co marketing report - How to make movie critique - Google Coursera Creating a Company Culture for Security - Design Document (Module 6) - What is a scholar practitioner walden - Restraining methods for an infant ati - Case study on capital budgeting with solution - What are the percentages of people using CAM with prayer and those who do not? - For anyone - 53 russia in revolution crossword answers - Which of the following accounts is a temporary account - Mic6 5 16 plate 14 x14 - Population ecology lab answer key - The rise of europe section 1 quiz answers