FMTOC.qxd 12/2/11 1:25 PM Page viii
This page is intentionally left blank
SSyysstteemm AAnnaallyyssiiss DDeessiiggnn
UUMMLL VVeerrssiioonn 22..00
A
N
O
BJECT
-O
RIENTED
A
PPROACH
Fourth Edition
AAllaann DDeennnniiss
Indiana University
BBaarrbbaarraa HHaalleeyy WWiixxoomm
University of Virginia
DDaavviidd TTeeggaarrddeenn
Virginia Tech
JJoohhnn WWiilleeyy && SSoonnss,, IInncc..
FMTOC.qxd 12/2/11 1:25 PM Page i
VP & PUBLISHER: Don Fowley
EXECUTIVE EDITOR: Beth Lang Golub
EDITORIAL ASSISTANT: Elizabeth Mills
MARKETING MANAGER: Christopher Ruel
DESIGNER: Maureen Eide
SENIOR PRODUCTION MANAGER: Janis Soo
ASSOCIATE PRODUCTION MANAGER: Joyce Poh
This book was set in 10/12 Minion by Aptara and printed and bound by RR Donnelley. The cover was printed
by RR Donnelley.
This 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 fulfill 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 effort to address the environmental,
social, economic, and ethical challenges we face in our business. Among the issues we are addressing are carbon
impact, paper specifications 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 © 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, website 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, website http://www.wiley.com/go/permissions.
Evaluation copies are provided to qualified academics and professionals for review purposes only, for use in
their courses during the next academic year. These 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. Outside of the
United States, please contact your local representative.
Library of Congress Cataloging-in-Publication Data
Dennis, Alan.
Systems analysis design, UML version 2.0 : an object oriented approach/Alan Dennis, Barbara Haley
Wixom, David Tegarden.–4th ed.
p. cm.
Includes index.
ISBN 978-1-118-03742-3 (acid free paper)
1. System analysis. 2. System design. 3. UML (Computer science) I. Wixom, Barbara Haley,
1969-II. Tegarden, David Paul. III. Title.
QA402.D395 2012
003–dc23
2011044320
Printed in the United States of America
10 9 8 7 6 5 4 3 2 1
FMTOC.qxd 12/2/11 1:25 PM Page ii
iiiiii
CC OO NN TT EE NN TT SS
Preface
IX
CChhaapptteerr 11
IInnttrroodduuccttiioonn ttoo SSyysstteemmss
AAnnaallyyssiiss aanndd DDeessiiggnn 11
I
NTRODUCTION
2
T
HE
S
YSTEMS
D
EVELOPMENT
L
IFE
C
YCLE
3
Planning 4
Analysis 4
Design 5
Implementation 6
S
YSTEMS
D
EVELOPMENT
M
ETHODOLOGIES
6
Structured Design 8
Rapid Application Development
(RAD) 10
Agile Development 14
Selecting the Appropriate Development
Methodology 18
T
YPICAL
S
YSTEMS
A
NALYST
R
OLES
AND
S
KILLS
20
Business Analyst 21
Systems Analyst 21
Infrastructure Analyst 22
Change Management Analyst 22
Project Manager 22
B
ASIC
C
HARACTERISTICS OF
O
BJECT
-
O
RIENTED
S
YSTEMS
23
Classes and Objects 23
Methods and Messages 24
Encapsulation and Information
Hiding 24
Inheritance 25
Polymorphism and Dynamic Binding 27
O
BJECT
-O
RIENTED
S
YSTEMS
A
NALYSIS
AND
D
ESIGN
(OOSAD) 28
Use-Case Driven 28
Architecture-centric 29
Iterative and Incremental 29
Benefits of Object-Oriented Systems Analysis
and Design 29
T
HE
U
NIFIED
P
ROCESS
30
Phases 30
Wo r k o w s 3 2
Extensions to the Unified Process 35
T
HE
U
NIFIED
M
ODELING
L
ANGUAGE
39
A
PPLYING THE
C
ONCEPTS AT
CD
S
ELECTIONS
41
Summary 41
CChhaapptteerr 22
PPrroojjeecctt MMaannaaggeemmeenntt 4488
I
NTRODUCTION
49
P
ROJECT
I
DENTIFICATION
51
System Request 52
F
EASIBILITY
A
NALYSIS
54
Te c h n i c a l F e a s i b i l i t y 5 5
Economic Feasibility 56
Organizational Feasibility 64
P
ROJECT
S
ELECTION
66
T
RADITIONAL
P
ROJECT
M
ANAGEMENT
T
OOLS
69
Wor k Bre ak do wn St ruc tu res 70
Gantt Chart 71
Network Diagram 71
P
ROJECT
E
FFORT
E
STIMATION
73
C
REATING AND
M
ANAGING
THE
W
ORKPLAN
79
Evolutionary Work Breakdown Structures and
Iterative Workplans 79
Managing Scope 84
Timeboxing 84
Refining Estimates 86
Managing Risk 87
S
TAF FING THE
P
ROJECT
88
Characteristics of a Jelled Team 88
Staffing Plan 90
Motivation 93
Handling Conflict 94
FMTOC.qxd 12/2/11 1:25 PM Page iii
E
NVIRONMENT AND
I
NFRASTRUCTURE
M
ANAGEMENT
96
CASE Tools 96
Standards 97
Documentation 98
A
PPLYING THE
C
ONCEPTS AT
CD
S
ELECTIONS
100
Summary 100
PART O NE
ANALYSIS MODELING 107
CChhaapptteerr 33
RReeqquuiirreemmeennttss
DDeetteerrmmiinnaattiioonn 110099
I
NTRODUCTION
110
R
EQUIREMENTS
D
ETERMINATION
110
Defining a Requirement 112
Requirements Definition 115
Determining Requirements 116
Creating a Requirements Definition 117
Real-World Problems with Requirements
Determination 117
R
EQUIREMENTS
A
NALYSIS
S
TRATEGIES
118
Business Process Automation (BPA) 118
Business Process Improvement
(BPI) 121
Business Process Reengineering 122
Selecting Appropriate Strategies 123
R
EQUIREMENTS
-G
AT HE R IN G
T
ECHNIQUES
125
Interviews 126
Joint Application Development
(JAD) 132
Questionnaires 136
Document Analysis 138
Observation 139
Selecting the Appropriate
Te c h n i q u e s 1 4 1
A
LT E R NAT I V E
R
EQUIREMENTS
D
OCUMENTATION
T
ECHNIQUES
143
Concept Maps 144
Story Cards and Task Lists 144
T
HE
S
YSTEM
P
ROPOSAL
146
A
PPLYING THE
C
ONCEPTS AT
CD
S
ELECTIONS
147
Summary 148
CChhaapptteerr 44
BBuussiinneessss PPrroocceessss aanndd
FFuunnccttiioonnaall MMooddeelliinngg 115533
I
NTRODUCTION
154
B
USINESS
P
ROCESS
I
DENTIFICATION
WITH
U
SE
C
ASES AND
U
SE
-C
ASE
D
IAGRAMS
155
Elements of Use Case Diagrams 155
Identifying the Major Use Cases 160
Creating a Use-Case Diagram 161
B
USINESS
P
ROCESS
M
ODELING WITH
A
CTIVITY
D
IAGRAMS
163
Elements of an Activity Diagram 165
Guidelines for Creating Activity
Diagrams 170
Creating Activity Diagrams 171
B
USINESS
P
ROCESS
D
OCUMENTATION
WITH
U
SE
C
ASES AND
U
SE
-C
ASE
D
ESCRIPTIONS
173
Types of Use Cases 175
Elements of a Use-Case Description 175
Guidelines for Creating Use-Case
Descriptions 179
Creating Use Case Descriptions 180
V
ERIFYING AND
V
ALIDATING THE
B
USINESS
P
ROCESSES
AND
F
UNCTIONAL
M
ODELS
184
Ve r i c at i o n a n d Va l id a t i o n t h ro u g h
Wal kth roughs 184
Functional Model Verification and
Valid at io n 18 5
A
PPLYING THE
C
ONCEPTS AT
CD S
ELECTIONS
188
Summary 188
CChhaapptteerr 55
SSttrruuccttuurraall MMooddeelliinngg 119955
I
NTRODUCTION
195
S
TRUCTURAL
M
ODELS
196
Classes, Attributes, and Operations 197
Relationships 197
O
BJECT
I
DENTIFICATION
199
Te x t u a l A n a l y s i s 1 9 9
Brainstorming 201
Common Object Lists 201
Patterns 202
iivv
Contents
FMTOC.qxd 12/2/11 1:25 PM Page iv
CRC C
ARDS
205
Responsibilities and Collaborations 205
Elements of a CRC Card 206
Role-Playing CRC Cards with Use Cases 207
C
LASS
D
IAGRAMS
208
Elements of a Class Diagram 208
Simplifying Class Diagrams 217
Object Diagrams 217
C
REATING
S
TRUCTURAL
M
ODELS
U
SING
CRC C
ARDS AND
C
LASS
D
IAGRAMS
218
Example 220
V
ERIFYING AND
V
ALIDATING THE
S
TRUCTURAL
M
ODEL
227
A
PPLYING THE
C
ONCEPTS AT
CD S
ELECTIONS
230
Summary 231
CChhaapptteerr 66
BBeehhaavviioorraall MMooddeelliinngg 223366
I
NTRODUCTION
236
B
EHAVIORAL
M
ODELS
237
I
NTERACTION
D
IAGRAMS
238
Objects, Operations, and Messages 238
Sequence Diagrams 238
Communication Diagrams 246
B
EHAVIORAL
S
TAT E
M
ACHINES
253
States, Events, Transitions, Actions,
and Activities 253
Elements of a Behavioral State Machine 255
Creating a Behavioral State Machine 258
C
RUDE
A
NALYSIS
260
V
ERIFYING AND
V
ALIDATING THE
B
EHAVIORAL
M
ODEL
264
A
PPLYING THE
C
ONCEPTS AT
CD S
ELECTIONS
266
Summary 266
PART TWO
DESIGN MODELING 271
CChhaapptteerr 77
MMoovviinngg oonn ttoo DDeessiiggnn 227733
I
NTRODUCTION
274
V
ERIFYING AND
V
ALIDATING THE
A
NALYSIS
M
ODELS
275
Balancing Functional and
Structural Models 276
Balancing Functional and
Behavioral Models 278
Balancing Structural and Behavioral
Models 287
Summary 289
E
VOLVING THE
A
NALYSIS
M
ODELS INTO
D
ESIGN
M
ODELS
289
Factoring 291
Partitions and Collaborations 292
Layers 293
P
ACKAGES AND
P
ACKAGE
D
IAGRAMS
296
Guidelines for Creating Package
Diagrams 298
Creating Package Diagrams 300
Ve r i f y i n g a n d Va l i d a t i ng Pa c k a g e
Diagrams 302
D
ESIGN
S
TRATEGIES
302
Custom Development 303
Packaged Software 304
Outsourcing 305
Selecting a Design Strategy 307
D
EVELOPING THE
A
CTUAL
D
ESIGN
309
Alternative Matrix 310
A
PPLYING THE
C
ONCEPTS AT
CD
S
ELECTIONS
311
Summary 311
CChhaapptteerr 88
CCllaassss aanndd MMeetthhoodd
DDeessiiggnn 331177
I
NTRODUCTION
317
R
EVIEW OF THE
B
ASIC
C
HARACTERISTICS
OF
O
BJECT
O
RIENTATION
319
Classes, Objects, Methods, and Messages 320
Encapsulation and Information Hiding 320
Polymorphism and Dynamic Binding 320
Inheritance 321
D
ESIGN
C
RITERIA
325
Coupling 325
Cohesion 328
Connascence 330
O
BJECT
D
ESIGN
A
CTIVITIES
331
Adding Specifications 332
Identifying Opportunities for Reuse 333
Contents
vv
FMTOC.qxd 12/2/11 1:25 PM Page v
Restructuring the Design 336
Optimizing the Design 337
Mapping Problem-Domain Classes to
Implementation Languages 340
C
ONSTRAINTS AND
C
ONTRACTS
343
Types of Constraints 345
Elements of a Contract 348
M
ETHOD
S
PECIFICATION
354
General Information 354
Events 354
Message Passing 356
Algorithm Specifications 356
Example 357
A
PPLYING THE
C
ONCEPTS AT
CD S
ELECTIONS
361
Summary 362
CChhaapptteerr 99
DDaattaa MMaannaaggeemmeenntt LLaayyeerr
DDeessiiggnn 336677
I
NTRODUCTION
368
O
BJECT
P
ERSISTENCE
F
ORMATS
368
Sequential and Random Access Files 369
Relational Databases 372
Object-Relational Databases 374
Object-Oriented Databases 374
NoSQL Data Stores 375
Selecting an Object persistence
Format 377
M
APPING
P
ROBLEM
D
OMAIN
O
BJECTS TO
O
BJECT
P
ERSISTENCE
F
ORMATS
380
Mapping Problem Domain Objects to an
OODBMS Format 380
Mapping Problem Domain Objects to an
ORDBMS Format 384
Mapping Problem Domain Objects to a
RDBMS Format 387
O
PTIMIZING
RDBMS-B
ASED
O
BJECT
S
TORAGE
390
Optimizing Storage Efficiency 390
Optimizing Data Access Speed 396
Estimating Data Storage Size 400
D
ESIGNING
D
ATA
A
CCESS AND
M
ANIPULATION
C
LASSES
401
N
ONFUNCTIONAL
R
EQUIREMENTS AND
D
ATA
M
ANAGEMENT
L
AY E R
D
ESIGN
405
A
PPLYING THE
C
ONCEPTS AT
CD S
ELECTIONS
406
Summary 406
CChhaapptteerr 1100
HHuummaannCCoommppuutteerr IInntteerraaccttiioonn
LLaayyeerr DDeessiiggnn 441122
I
NTRODUCTION
413
P
RINCIPLES FOR
U
SER
I
NTERFACE
D
ESIGN
414
Layout 414
Content Awareness 416
Aesthetics 418
User Experience 420
Consistency 420
Minimizing User Effort 421
U
SER
I
NTERFACE
D
ESIGN
P
ROCESS
421
Use Scenario Development 422
Interface Structure Design 425
Interface Standards Design 426
Interface Design Prototyping 427
Interface Evaluation 432
Common Sense Approach to User
Interface Design 434
N
AVIGAT I O N
D
ESIGN
435
Basic Principles 436
Types of Navigation Controls 437
Messages 440
Navigation Design Documentation 441
I
NPUT
D
ESING
443
Basic Principles 443
Types of Inputs 445
Input Validation 448
O
UTPUT
D
ESING
448
Basic Principles 448
Types of Outputs 451
Media 451
M
OBILE
C
OMPUTING AND
U
SER
I
NTERFACE
D
ESIGN
453
S
OCIAL
M
EDIA AND
U
SER
I
NTERFACE
D
ESIGN
456
I
NTERNATIONAL AND
C
ULTURAL
I
SSUES AND
U
SER
I
NTERFACE
D
ESIGN
459
Multilingual Requirements 459
Color 460
Cultural Differences 461
N
ONFUNCTIONAL
R
EQUIREMENTS AND
H
UMAN
–C
OMPUTER
I
NTERACTION
L
AY E R
D
ESIGN
463
A
PPLYING THE
C
ONCEPTS AT
CD
S
ELECTIONS
464
Summary 464
vvii
Contents
FMTOC.qxd 12/2/11 1:25 PM Page vi
CChhaapptteerr 1111
PPhhyyssiiccaall AArrcchhiitteeccttuurree LLaayyeerr
DDeessiiggnn 447733
I
NTRODUCTION
473
E
LEMENTS OF THE
P
HYSICAL
A
RCHITECTURE
L
AY E R
474
Architectural Components 474
Server-Based Architectures 475
Client-Based Architectures 476
Client–Server Architectures 476
Client–Server Tiers 478
Selecting a Physical Architecture 479
C
LOUD
C
OMPUTING
482
G
REEN
IT 485
I
NFRASTRUCTURE
D
ESING
486
Deployment Diagram 486
Network Model 489
HARDWARE
AND
S
YSTEM
S
OFTWARE
S
PECIFICATIONS
492
N
ONFUNCTIONAL
R
EQUIREMENTS AND
P
HYSICAL
A
RCHITECTURE
L
AY E R
D
ESIGN
495
Operational Requirements 495
Performance Requirements 498
Security Requirements 500
Cultural and Political Requirements 503
Synopsis 504
A
PPLYING THE
C
ONCEPTS AT
CD S
ELECTIONS
507
Summary 507
PART T HREE
CONSTRUCTION, INSTALLATION,
AND OPERATIONS 513
CChhaapptteerr 1122
CCoonnssttrruuccttiioonn 551155
I
NTRODUCTION
515
M
ANAGING
P
ROGRAMMING
517
Assigning Programmers 517
Coordinating Activities 518
Managing the Schedule 519
Cultural Issues 520
D
ESIGNING
T
ESTS
525
Testing and Object Orientation 526
Te s t P l a n n i n g 5 2 8
Unit Tests 530
Integration Tests 534
System Tests 534
Acceptance Tests 535
D
EVELOPING
D
OCUMENTATION
535
Types of Documentation 536
Designing Documentation Structure 537
Writing Documentation Topics 538
Identifying Navigation Terms 539
A
PPLYING THE
C
ONCEPTS AT
CD
S
ELECTIONS
541
Summary 541
CChhaapptteerr 1133
IInnssttaallllaattiioonn aanndd
OOppeerraattiioonnss 554455
I
NTRODUCTION
545
C
ULTURAL
I
SSUES AND
I
NFORMATION
T
ECHNOLOGY
A
DOPTION
547
C
ONVERSION
549
Conversion Style 550
Conversion Location 551
Conversion Modules 552
Selecting the Appropriate Conversion
Strategy 553
C
HANGE
M
ANAGEMENT
555
Understanding Resistance to Change 556
Revising Management Policies 558
Assessing Costs and Benefits 559
Motivating Adoption 561
Enabling Adoption: Training 562
P
OST
-I
MPLEMENTATION
A
CTIVITIES
564
System Support 564
System Maintenance 566
Project Assessment 567
A
PPLYING THE
C
ONCEPTS AT
CD
S
ELECTIONS
569
Summary 569
I
NDEX
574
Available on line at
www.wiley.com/college/dennis
A
PPENDIX
1
A
PPENDIX
2
A
PPENDIX
3
Contents
vviiii
FMTOC.qxd 12/2/11 1:25 PM Page vii
FMTOC.qxd 12/2/11 1:25 PM Page viii
This page is intentionally left blank
PURPOSE OF THIS BOOK
Systems Analysis and Design (SAD) is an exciting, active field in which analysts continually
learn new techniques and approaches to develop systems more effectively and efficiently.
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
software 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.
To d a y, t h e m o s t e xc i t i n g c h a n g e t o s y s t e m s a n a l y s i s a n d d e s i g n i s t h e m o v e t o o b j e c t -
oriented techniques, which view a system as a collection of self-contained objects that have
both data and processes. This change has been accelerated through the creation of the Uni-
fied Modeling Language (UML). UML provides a common vocabulary of object-oriented
terms and diagramming techniques that is rich enough to model any systems development
project from analysis through implementation.
This book captures the dynamic aspects of the field 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. This book builds on our professional experience as systems
analysts and on our experience in teaching SAD in the classroom.
This 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
The goal of this book is to enable students to do SAD—not just read about it, but under-
stand the issues so they can actually analyze and design systems. The book introduces
each major technique, explains what it is, explains how to do it, presents an example,
and provides opportunities for students to practice before they do it for real in a project.
After reading each chapter, the student will be able to perform that step in the system
development process.
PP RR EE FF AA CC EE
iixx
FMTOC.qxd 12/2/11 1:25 PM Page ix
xx
Preface
Rich Examples of Success and Failure
The book includes a running case about a fictitious company called CD Selections. Each
chapter shows how the concepts are applied in situations at CD Selections. Unlike running
cases in other books, we have tried to focus these examples on planning, managing, and
executing the activities described in the chapter, rather than on detailed dialogue between
fictitious actors. 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, many
of which were written by Dr. Bruce White from Quinnipiac University, that describe how
real companies succeeded—and failed—in performing the activities in the chapter.
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
“realas possible by building extensively on our experience as professional systems 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 profes-
sionals and consultants in developing the book and have incorporated their stories, feed-
back, 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 practitioners feel is relevant in the real world.
Project Approach
We h ave p re se nt ed t he top ics i n this b oo k in t he ord er i n whi ch a n ana ly st e nc ou nte rs t he m
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. The 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
In this edition, we have increased the coverage of and better organized the text around the
enhanced Unified Process; provided a greater focus on nonfunctional requirements; pro-
vided a greater emphasis on the iterative and incremental development associated with
object-oriented analysis and design; added figures and examples, along with additional
explanatory text that addresses some of the more difficult concepts to learn; better aligned
the CD selections case material; and did some major reorganization. Details of the major
changes are as follows:
1. Given the lack of object-oriented programming experience of the typical student
and the importance of understanding basic object-oriented concepts to perform
object-oriented systems analysis and design, the appendix entitled “Basic Charac-
teristics of Object-Oriented Systems” has been incorporated in Chapter 1.
2. Due to the popularity of the so-called agile approaches to systems development,
we have greatly increased their coverage throughout the text. In Chapter 1, we
have expanded the coverage of both XP and SCRUM. In Chapter 2, we have
added a section regarding “Jelled” teams and their importance when considering
staffing requirements of projects. In Chapter 3, we have added story cards and
FMTOC.qxd 12/2/11 1:25 PM Page x
Preface
xxii
task lists as additional approaches for gathering and documenting requirements.
We have al so gre atly incre as ed th e f oc us on test in g thro ug h ou t the te xt . Fo r
example, the verification and validation material in the Moving On to Design
chapter has been distributed over the analysis modeling chapters and the Moving
On to Design chapter.
3. Given the differences between traditional project management and object-
oriented project management, the project management material has been
rewritten to reflect more of an object-oriented flavor. However, since much of
the traditional project management material is still useful within an object-
oriented context, we still cover it, e.g., net present value and return on invest-
ment, break-even point, work breakdown structures, Gantt charts, network
diagrams and PERT analysis. The reorganization and rewriting of project
management material allowed us to apply better the iterative and incremental
development characteristics of object-oriented systems development to project
management. Finally, we replaced the project size estimation section with an
expansion of the use case points material that was in the functional modeling
chapter in the previous edition.
4. To i n c r e a s e t h e f o c u s o n b u s i n e s s p r o c e s s e s , w e h a v e r e o r g a n i z e d a n d e x p a n d e d
the functional modeling material. In this edition, minimize the potential over-
load of different notations used for business process modeling, e.g., the business
process modeling notation or data flow diagrams, we have aligned the use case
construct with the idea of a business process. Consequently, a use case diagram
can be used to provide an overview of the different business processes and how
they interrelate. Each use case can then be decomposed by creating an activity
diagram to represent the details of each use case. Furthermore, each use case can
be described with a use case description.
5. As in the third edition, the material included within the analysis modeling
chapters has been more tightly coupled. This is especially true with regard to
the idea of iterative and incremental development. The text now emphasizes that
systems must be incrementally built by iterating over each of the models and
over the intersection of the models. For example, the normal flow of events
contained within a use-case description is associated with the activities on an
activity diagram, the operations on a class diagram, the behaviors on the CRC
cards, the messages on sequence and communication diagrams, and transitions
on behavioral state machines. As such, any change to any one of these most likely
will force changes in the others. Furthermore, we have extended CRUD analysis
to CRUDE analysis that includes the idea of simply executing a method associated
with another object.
6. With regards to the requirements determination, we have expanded the coverage
of non-functional requirements throughout the design modeling chapters.
7. We ha ve ex pa nd ed t he mater ia l t ha t a dd re sses g lo ba l conce rns. Fo r exam pl e,
we have created a new section that addresses international and cultural issues
with regard to user interface design and we have expanded the coverage of
cultural issues with regards to construction and the installation and operations
of information systems.
8. Given all of the technological changes that have taken place since the third
edition, we have also included material that addresses NoSQL data stores, mobile
computing, social media, cloud computing, and green IT in the design modeling
chapters.
FMTOC.qxd 12/2/11 1:25 PM Page xi
xxiiii
Preface
9. To d e c r e a s e t h e c o g n i t i v e l o a d r e q u i r e d f o r m u c h o f t h e m a t e r i a l i n t h e t e x t ,
additional figures and explanatory material have been added.
Finally, to provide a more complete version of the CD Selection case, we have moved the
case to an online format. However, at the end of each chapter in the text, a very short
synopsis of the case is provided.
ORGANIZATION OF THIS BOOK
This edition of the book is loosely organized around the phases and workflows of the
enhanced Unified Process. Each chapter has been written to teach students specific 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 itera-
tive 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 Unified Process, and the UML. Chapter 2 presents topics
related to the project management workflow of the Unified Process, including project iden-
tification, system request, feasibility analysis, project selection, traditional project manage-
ment tools (including work breakdown structures, network diagrams, and PERT analysis),
project effort estimation using use case points, evolutionary work breakdown structures,
iterative workplans, scope management, timeboxing, risk management, and staffing the
project. Chapter 2 also addresses issues related to the Environment and Infrastructure
management workflows of the Unified Process.
Part One focuses on creating analysis models. Chapter 3 introduces students to an
assortment of analysis techniques to help with business automation, business improvement,
and business process reengineering, 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. Chap-
ter 6 tackles creating behavioral models using sequence diagrams, communication dia-
grams, behavioral state machines, and CRUDE analysis and matrices. Chapters 4 through 6
also cover the verification and validation of the models described in each chapter.
Part Two addresses design modeling. In Chapter 7, students learn how to verify and vali-
date the analysis models created during analysis modeling and to evolve the analysis models
into design models via the use of factoring, partitions, and layers. The 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 specifications. Chapter 9 presents the issues
involved in designing persistence for objects. These issues include the different 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. This 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, win-
dows layout diagrams, HTML prototypes, language prototypes, real use cases, interface stan-
dards, and user interface templates, to perform user interface evaluations using heuristic
evaluation, walkthrough evaluation, interactive evaluation, and formal usability testing, and to
FMTOC.qxd 12/2/11 1:25 PM Page xii
Preface
xxiiiiii
address nonfunctional requirements such as user interface layout, content awareness, aesthet-
ics, user experience, and consistency. This chapter also addresses issues related to mobile com-
puting, social media, and international and cultural issues with regards to user interface
design. Chapter 11 focuses on the physical architecture and infrastructure design, which
includes deployment diagrams and hardware/software specification. In today’s world, this also
includes issues related to cloud computing and green IT. This chapter, like the previous design
chapters, covers the impact that nonfunctional requirements can have on the physical archi-
tecture layer.
Part Three provides material that is related to the construction, installation, and oper-
ations 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 Chap-
ter 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 flat world, where developers and users are distributed throughout
the world.
ACKNOWLEDGMENTS
For the fourth edition, we would like to thank the students of the ACIS 3515: Information
Systems Development I and ACIS 3516: Information Systems Development II classes at
Virginia Tech for giving many suggestions that drove most of the changes from the third
edition to the fourth edition. We would like to especially thank Ashley, Ben, Daniel, Jason,
Jason, Jason (yes, there were three of them), Kyle, Lucy, and Omar. Their suggestions were
invaluable in improving the text and examples.
We w ou ld l ike to t ha nk t he f ol low ing re vi ew er s fo r t he ir h el pful a nd i ns ig h tf ul com-
ments on the fourth edition: David Champion, DeVry University, Columbus, OH campus;
Jeff Cummings, Indiana University; Junhua Ding, East Carolina University; Robert
Dollinger, University of Wisconsin-Stevens Point; Abhijit Dutt, Carnegie Mellon Univer-
sity; Yujong Hwang, DePaul University; Zongliang Jiang, North Carolina A&T State
University; Raymond Kirsch, La Salle University; Gilliean Lee, Lander University; Steve
Machon, DeVry University; Makoto Nakayama, College of CDM, DePaul University; Para-
suraman Nurani, Devry University; Selwyn Piramuthu, University of Florida; Iftikhar
Sikder, Cleveland State University; Fan Zhao, Florida Gulf Coast University; and Dan Zhu,
Iowa State University.
For the third edition, we would like to thank the students of the ACIS 3515: Informa-
tion Systems Development I and ACIS 3516: Information Systems Development II classes
at Virginia Tech for giving many suggestions that drove most of the changes from the
second edition to the third edition. Their feedback was invaluable in improving the text
and examples.
We wo uld a lso like to tha nk the fo llowi ng rev iewers for thei r helpf ul and in sig htf ul
comments on the first, second, and third 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; Terry Fox, Baylor University; Ahmad Ghafarian, North Georgia College & State
University; 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; Scott James, Saginaw Valley
State University; Rajiv Kishore, State University of New York–Buffalo; Ravindra Krovi,
University of Akron; Jean-Piere Kuilboer, University of Massachusetts, Boston; Leo
FMTOC.qxd 12/2/11 1:25 PM Page xiii
xxiivv
Preface
Legorreta, California State University Sacramento; Diane Lending, James Madison
University; Major Fernando Maymi, West Point University; Daniel Mittleman, DePaul
University; Fred Niederman, Saint Louis University; H. Robert Pajkowski, DeVry Insti-
tute of Technology, Scarborough, Ontario; June S. Park, University of Iowa; Graham
Peace, West Virginia University; Tom Pettay, DeVry Institute of Technology, Columbus,
Ohio; J. Drew Procaccino, Rider University; Neil Ramiller, Portland State University;
Eliot Rich, University at Albany, State University of New York; Marcus Rothenberger,
University of WisconsinMilwaukee; Carl Scott, University of Houston; Keng Siau,
University of NebraskaLincoln; Jonathan Trower, Baylor University; June Verner, Drexel
University; Anna Wachholz, Sheridan College; Bill Watson, Indiana UniversityPurdue
University Indianapolis; Randy S.Weinberg, Carnegie Mellon University; Eli J.Weissman,
DeVry Institute of Technology, Long Island City, NY; Heinz Roland Weistroffer, Virginia
Commonwealth University; Amy Wilson, DeVry Institute of Technology, Decatur, GA;
Amy Woszczynski, Kennesaw State University; and Vincent C.Yen, Wright State University.
SUPPLEMENTS http://www.wiley.com/college/dennis
Instructor’s Resources Web Site
PowerPoint slides, which instructors can tailor to their classroom needs and that
students can use to guide their reading and studying activities
Te s t B a nk , t ha t i nc l u d e s a v a r i e t y o f q u e s t i on s r a n gi n g f r o m m u lt i p l e c ho ic e t o
essay style questions. A computerized version of the Test Bank will also be available.
Online Instructor’s Manual
The Instructor’s Manual provides resources to support the instructor both inside and out
of the classroom:
Short experiential exercises that instructors can use to help students experience
and understand key topics in each chapter.
Short stories have been provided by people working in both corporate and con-
sulting 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 Website
Relevant Web links, including career resources Web site.
Web quizzes he lp st ud en ts pre pa re fo r class te st s.
Cases in Systems Analysis and Design
A separate Case Book on CD-ROM provides a set of more than a dozen cases that can be
used to supplement the book and provide exercises for students to practice with. The cases
are primarily drawn from the United States and Canada, but also include a number of
international cases. We are always looking for new cases, so if you have a case that might be
appropriate please contact us directly (or your local Wiley sales representative).
FMTOC.qxd 12/2/11 1:25 PM Page xiv
Software Tools
Three Software Tools can be purchased with the text in special packages:
1. Visible Systems Corporation’s Visible Analyst Student Edition.
2. Microsoft’s Visio.
3. Microsoft’s Project.
A 60-day trial edition of Microsoft Project can be purchased with the textbook.
Note that Microsoft has changed their policy and no longer offers the 120-day
trial previously available.
Another option now available to education institutions adopting this Wiley
textbook is a free 3-year membership to the MSDN Academic Alliance. The MSDN
AA is designed to provide the easiest and most inexpensive way for academic
departments to make the latest Microsoft software available in labs, classrooms, and
on student and instructor PCs.
Microsoft Project 2007 software is available through this Wiley and Microsoft
publishing partnership, free of charge with the adoption of any qualified Wiley text-
book. Each copy of Microsoft Project is the full version of the software, with no time
limitations, and can be used indefinitely for educational purposes. For more infor-
mation about the MSDN AA program, go to http://msdn.microsoft.com/academic/.
Contact your local Wiley sales representative for details, including pricing and ordering
information.
Preface
xxvv
FMTOC.qxd 12/2/11 1:25 PM Page xv
FMTOC.qxd 12/2/11 1:25 PM Page xvi
This page is intentionally left blank
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. The 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 Unified
Process and its extensions and the Unified Modeling Language.
OOBBJJEECCTTIIVVEESS
Understand the fundamental systems development life cycle and its four phases
Understand the evolution of systems development methodologies
Be familiar with the different 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 Unified Process, its extensions, and the Unified Modeling
Language
CCHHAAPPTTEERR OOUUTTLLIINNEE
CC HH AA PP TT EE RR 11
I
NTRODUCTION TO
S
YSTEMS
A
NALYSIS AND
D
ESIGN
Introduction
The Systems Development Life Cycle
Planning
Analysis
Design
Implementation
Systems Development Methodologies
Structured Design
Rapid Application Development (RAD)
Agile Development
Selecting the Appropriate Development
Methodology
Typical Systems Analyst Roles and Skills
Business Analyst
Systems Analyst
Infrastructure Analyst
Change Management Analyst
Project Manager
Basic Characteristics of Object-Oriented
Systems
Classes and Objects
Methods and Messages
Encapsulation and Information Hiding
Inheritance
Polymorphism and Dynamic Binding
Object-Oriented Systems Analysis and
Design (OOSAD)
Use-Case Driven
Architecture-Centric
Iterative and Incremental
Benefits of Object-Oriented Systems
Analysis and Design
11
c01IntroductionToSystemsAnalysisAndDesign.qxd 12/2/11 7:39 PM Page 1
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 done 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. Most of us would like to think
that these problems only happen to other” people or “other” organizations, but they happen
in most companies. Even Microsoft has a history of failures and overdue projects (e.g.,
Windows 1.0, Windows 95).
1
Although we would like to promote this book as a silver bul-
let 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 with several
fundamental concepts and many practical techniques that you can use to improve the
probability of success.
The key person in the SDLC is the systems analyst, who analyzes the business situation,
identifies opportunities for improvements, and designs an information system to imple-
ment them. Being a systems analyst is one of the most interesting, exciting, and challeng-
ing jobs around. Systems analysts work with a variety of people and learn how they conduct
business. Specifically, they work with a team of systems analysts, programmers, and others
on a common mission. Systems analysts feel the satisfaction of seeing systems that they
designed and developed make a significant 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 profits (government agencies and not-for-profit organizations measure value
differently). Many failed systems have been abandoned because the analysts tried to build
a wonderful system without clearly understanding how the system would fit with an orga-
nizations goals, current business processes, and other information systems to provide
value. An investment in an information system is like any other investment, such as a new
machine tool. The 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 it can earn greater
profits or serve its constituents more effectively.
This book introduces the fundamental skills a systems analyst needs. This 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 definition, systems
analysts do things and challenge the current way that organizations work. To get the most
22
C
Chhaapptteerr 11
Introduction to Systems Analysis and Design
1
For more information on the problem, see Capers Jones, Patterns of Software System Failure and Success (London:
International Thompson Computer Press, 1996); Capers Jones, Assessment and Control of Software Project
Risks (Englewood Cliffs, NJ: Yourdon Press, 1994); Julia King, “IS Reins in Runaway Projects,Computer world
(February 24, 1997).
The Unified Process
Phases
Workflows
Extensions to the Unified Process
The Unified Modeling Language
Applying the Concepts at CD Selections
Summary
c01IntroductionToSystemsAnalysisAndDesign.qxd 12/2/11 7:12 PM Page 2

Preview text:

FMTOC.qxd 12/2/11 1:25 PM Page viii
This page is intentionally left blank
FMTOC.qxd 12/2/11 1:25 PM Page i System Analysis Design UML Version 2.0 AN OBJECT-ORIENTED APPROACH Fourth Edition Alan Dennis Indiana University Barbara Haley Wixom University of Virginia David Tegarden Virginia Tech John Wiley & Sons, Inc.
FMTOC.qxd 12/2/11 1:25 PM Page ii VP & PUBLISHER: Don Fowley EXECUTIVE EDITOR: Beth Lang Golub EDITORIAL ASSISTANT: Elizabeth Mills MARKETING MANAGER: Christopher Ruel DESIGNER: Maureen Eide SENIOR PRODUCTION MANAGER: Janis Soo ASSOCIATE PRODUCTION MANAGER: Joyce Poh
This book was set in 10/12 Minion by Aptara and printed and bound by RR Donnelley. The cover was printed by RR Donnelley.
This 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 fulfill 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 effort to address the environmental,
social, economic, and ethical challenges we face in our business. Among the issues we are addressing are carbon
impact, paper specifications 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 © 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, website 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, website http://www.wiley.com/go/permissions.
Evaluation copies are provided to qualified academics and professionals for review purposes only, for use in
their courses during the next academic year. These 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. Outside of the
United States, please contact your local representative.
Library of Congress Cataloging-in-Publication Data Dennis, Alan.
Systems analysis design, UML version 2.0 : an object oriented approach/Alan Dennis, Barbara Haley
Wixom, David Tegarden.–4th ed. p. cm. Includes index.
ISBN 978-1-118-03742-3 (acid free paper)
1. System analysis. 2. System design. 3. UML (Computer science) I. Wixom, Barbara Haley,
1969-II. Tegarden, David Paul. III. Title. QA402.D395 2012 003–dc23 2011044320
Printed in the United States of America 10 9 8 7 6 5 4 3 2 1
FMTOC.qxd 12/2/11 1:25 PM Page iii C O N N TT E N N TT S Preface IX
Benefits of Object-Oriented Systems Analysis and Design 29 Chapter 1 THE UNIFIED PROCESS 30 Introduction to Systems Phases 30 Analysis and Designn 1 Wo r k fl o w s 3 2
Extensions to the Unified Process 35
THE UNIFIED MODELING LANGUAGE 39 INTRODUCTION 2 APPLYING THE CONCEPTS AT CD
THE SYSTEMS DEVELOPMENT LIFE CYCLE 3 S Planning 4 ELECTIONS 41 Summary 41 Analysis 4 Design 5 Implementation 6 ■ Chapter 2 SYSTEMS DEVELOPMENT Project Managementt 48 METHODOLOGIES 6 Structured Design 8 INTRODUCTION 49 Rapid Application Development PROJECT IDENTIFICATION 51 (RAD) 10 System Request 52 Agile Development 14 FEASIBILITY ANALYSIS 54
Selecting the Appropriate Development Technical Feasibility 55 Methodology 18 Economic Feasibility 56 TYPICAL SYSTEMS ANALYST ROLES Organizational Feasibility 64 AND SKILLS 20 PROJECT SELECTION 66 Business Analyst 21
TRADITIONAL PROJECT MANAGEMENT TOOLS 69 Systems Analyst 21 Work Breakdown Structures 70 Infrastructure Analyst 22 Gantt Chart 71 Change Management Analyst 22 Network Diagram 71 Project Manager 22 PROJECT EFFORT ESTIMATION 73
BASIC CHARACTERISTICS OF OBJECT- CREATING AND MANAGING ORIENTED SYSTEMS 23 THE WORKPLAN 79 Classes and Objects 23
Evolutionary Work Breakdown Structures and Methods and Messages 24 Iterative Workplans 79 Encapsulation and Information Managing Scope 84 Hiding 24 Timeboxing 84 Inheritance 25 Refining Estimates 86
Polymorphism and Dynamic Binding 27 Managing Risk 87
OBJECT-ORIENTED SYSTEMS ANALYSIS STAFFING THE PROJECT 88 AND DESIGN (OOSAD) 28
Characteristics of a Jelled Team 88 Use-Case Driven 28 Staffing Plan 90 Architecture-centric 29 Motivation 93 Iterative and Incremental 29 Handling Conflict 94 iii
FMTOC.qxd 12/2/11 1:25 PM Page iv iv Contents ENVIRONMENT AND INFRASTRUCTURE Chapter 4 MANAGEMENT 96 Business Process and CASE Tools 96 Standards 97 Functional Modelingg 153 Documentation 98 INTRODUCTION 154 APPLYING THE CONCEPTS AT CD
BUSINESS PROCESS IDENTIFICATION SELECTIONS 100 WITH USE CASES AND USE-CASE Summary 100 DIAGRAMS 155
Elements of Use Case Diagrams 155 ■ PART ONE
Identifying the Major Use Cases 160
Creating a Use-Case Diagram 161 ANALYSIS MODELING 107 BUSINESS PROCESS MODELING WITH ACTIVITY DIAGRAMS 163 Chapter 3
Elements of an Activity Diagram 165 Requirements
Guidelines for Creating Activity Determinationn 109 Diagrams 170 Creating Activity Diagrams 171 INTRODUCTION 110 BUSINESS PROCESS DOCUMENTATION REQUIREMENTS DETERMINATION 110 WITH USE CASES AND USE-CASE Defining a Requirement 112 DESCRIPTIONS 173 Requirements Definition 115 Types of Use Cases 175 Determining Requirements 116
Elements of a Use-Case Description 175
Creating a Requirements Definition 117
Guidelines for Creating Use-Case
Real-World Problems with Requirements Descriptions 179 Determination 117
Creating Use Case Descriptions 180
REQUIREMENTS ANALYSIS STRATEGIES 118
VERIFYING AND VALIDATING THE BUSINESS PROCESSES
Business Process Automation (BPA) 118 AND FUNCTIONAL Business Process Improvement MODELS 184 (BPI) 121
Verification and Validation through
Business Process Reengineering 122 Walkthroughs 184
Selecting Appropriate Strategies 123
Functional Model Verification and REQUIREMENTS-GATHERING Validation 185 TECHNIQUES 125 APPLYING THE CONCEPTS AT Interviews 126 CD SELECTIONS 188 Joint Application Development Summary 188 (JAD) 132 Questionnaires 136 Document Analysis 138 ■ Chapter 5 Observation 139 Structural Modelingg 195 Selecting the Appropriate Techniques 141 INTRODUCTION 195 ALTERNATIVE REQUIREMENTS STRUCTURAL MODELS 196 DOCUMENTATION TECHNIQUES 143
Classes, Attributes, and Operations 197 Concept Maps 144 Relationships 197
Story Cards and Task Lists 144 OBJECT IDENTIFICATION 199 THE SYSTEM PROPOSAL 146 Textual Analysis 199 APPLYING THE CONCEPTS AT CD Brainstorming 201 SELECTIONS 147 Common Object Lists 201 Summary 148 Patterns 202
FMTOC.qxd 12/2/11 1:25 PM Page v Contents v CRC CARDS 205 Balancing Functional and
Responsibilities and Collaborations 205 Structural Models 276 Elements of a CRC Card 206 Balancing Functional and
Role-Playing CRC Cards with Use Cases 207 Behavioral Models 278 CLASS DIAGRAMS 208
Balancing Structural and Behavioral
Elements of a Class Diagram 208 Models 287
Simplifying Class Diagrams 217 Summary 289 Object Diagrams 217
EVOLVING THE ANALYSIS MODELS INTO DESIGN
CREATING STRUCTURAL MODELS USING MODELS 289
CRC CARDS AND CLASS DIAGRAMS 218 Factoring 291 Example 220
Partitions and Collaborations 292 VERIFYING AND VALIDATING THE Layers 293 STRUCTURAL MODEL 227
PACKAGES AND PACKAGE DIAGRAMS 296
APPLYING THE CONCEPTS AT CD SELECTIONS 230
Guidelines for Creating Package Summary 231 Diagrams 298 Creating Package Diagrams 300
Verifying and Validating Package Chapter 6 Diagrams 302 DESIGN STRATEGIES 302 Behavioral Modelingg 236 Custom Development 303 I Packaged Software 304 NTRODUCTION 236 B Outsourcing 305 EHAVIORAL MODELS 237 I
Selecting a Design Strategy 307 NTERACTION DIAGRAMS 238
Objects, Operations, and Messages 238
DEVELOPING THE ACTUAL DESIGN 309 Sequence Diagrams 238 Alternative Matrix 310 Communication Diagrams 246 APPLYING THE CONCEPTS AT CD B SELECTIONS 311 EHAVIORAL STAT E MACHINES 253
States, Events, Transitions, Actions, Summary 311 and Activities 253
Elements of a Behavioral State Machine 255
Creating a Behavioral State Machine 258 C Chapter 8 RUDE ANALYSIS 260 VERIFYING AND VALIDATING THE Class and Method BEHAVIORAL MODEL 264 Designn 3177
APPLYING THE CONCEPTS AT CD SELECTIONS 266 Summary 266 INTRODUCTION 317
REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION 319
Classes, Objects, Methods, and Messages 320 ■ PART TWO
Encapsulation and Information Hiding 320 DESIGN MODELING 271
Polymorphism and Dynamic Binding 320 Inheritance 321 DESIGN CRITERIA 325 Chapter 7 Coupling 325 Moving on to Designn 273 Cohesion 328 Connascence 330 INTRODUCTION 274 OBJECT DESIGN ACTIVITIES 331
VERIFYING AND VALIDATING THE ANALYSIS Adding Specifications 332 MODELS 275
Identifying Opportunities for Reuse 333
FMTOC.qxd 12/2/11 1:25 PM Page vi vi Contents Restructuring the Design 336 Chapter 10 Optimizing the Design 337 Human–Computer Interaction
Mapping Problem-Domain Classes to Implementation Languages 340 Layer Designn 412 CONSTRAINTS AND CONTRACTS 343 INTRODUCTION 413 Types of Constraints 345 PRINCIPLES FOR USER INTERFACE Elements of a Contract 348 DESIGN 414 METHOD SPECIFICATION 354 Layout 414 General Information 354 Content Awareness 416 Events 354 Aesthetics 418 Message Passing 356 User Experience 420 Algorithm Specifications 356 Consistency 420 Example 357 Minimizing User Effort 421
APPLYING THE CONCEPTS AT CD SELECTIONS 361
USER INTERFACE DESIGN PROCESS 421 Summary 362 Use Scenario Development 422
Interface Structure Design 425
Interface Standards Design 426 Chapter 9
Interface Design Prototyping 427 Data Management Layer Interface Evaluation 432 Designn 367 Common Sense Approach to User Interface Design 434 INTRODUCTION 368 NAVIGATION DESIGN 435 OBJECT PERSISTENCE FORMATS 368 Basic Principles 436
Sequential and Random Access Files 369
Types of Navigation Controls 437 Relational Databases 372 Messages 440
Object-Relational Databases 374
Navigation Design Documentation 441 Object-Oriented Databases 374 INPUT DESING 443 NoSQL Data Stores 375 Basic Principles 443
Selecting an Object persistence Types of Inputs 445 Format 377 Input Validation 448
MAPPING PROBLEM DOMAIN OBJECTS TO OBJECT OUTPUT DESING 448 PERSISTENCE FORMATS 380 Basic Principles 448
Mapping Problem Domain Objects to an Types of Outputs 451 OODBMS Format 380 Media 451
Mapping Problem Domain Objects to an
MOBILE COMPUTING AND USER INTERFACE ORDBMS Format 384 DESIGN 453
Mapping Problem Domain Objects to a
SOCIAL MEDIA AND USER INTERFACE RDBMS Format 387 DESIGN 456 OPTIMIZING RDBMS-BASED OBJECT
INTERNATIONAL AND CULTURAL ISSUES AND USER STORAGE 390 INTERFACE DESIGN 459
Optimizing Storage Efficiency 390 Multilingual Requirements 459
Optimizing Data Access Speed 396 Color 460
Estimating Data Storage Size 400 Cultural Differences 461 DESIGNING DATA ACCESS AND NONFUNCTIONAL REQUIREMENTS AND MANIPULATION CLASSES 401 HUMAN–COMPUTER INTERACTION
NONFUNCTIONAL REQUIREMENTS AND DATA LAYER DESIGN 463 MANAGEMENT LAYER DESIGN 405 APPLYING THE CONCEPTS AT CD
APPLYING THE CONCEPTS AT CD SELECTIONS 406 SELECTIONS 464 Summary 406 Summary 464
FMTOC.qxd 12/2/11 1:25 PM Page vii Contents vii Chapter 11 Unit Tests 530 Physical Architecture Layer Integration Tests 534 System Tests 534 Designn 4733 Acceptance Tests 535 I DEVELOPING DOCUMENTATION 535 NTRODUCTION 473 E Types of Documentation 536
LEMENTS OF THE PHYSICAL ARCHITECTURE L
Designing Documentation Structure 537 AYER 474 Architectural Components 474
Writing Documentation Topics 538 Server-Based Architectures 475
Identifying Navigation Terms 539 Client-Based Architectures 476 APPLYING THE CONCEPTS AT CD
Client–Server Architectures 476 SELECTIONS 541 Client–Server Tiers 478 Summary 541
Selecting a Physical Architecture 479 CLOUD COMPUTING 482 GREEN IT 485 Chapter 13 INFRASTRUCTURE DESING 486 Installation and Deployment Diagram 486 Network Model 489 Operationss 545 HARDWARE AND SYSTEM SOFTWARE INTRODUCTION 545 SPECIFICATIONS 492
CULTURAL ISSUES AND INFORMATION NONFUNCTIONAL REQUIREMENTS AND TECHNOLOGY ADOPTION 547
PHYSICAL ARCHITECTURE LAYER DESIGN 495 CONVERSION 549 Operational Requirements 495 Conversion Style 550 Performance Requirements 498 Conversion Location 551 Security Requirements 500 Conversion Modules 552
Cultural and Political Requirements 503
Selecting the Appropriate Conversion Synopsis 504 Strategy 553
APPLYING THE CONCEPTS AT CD SELECTIONS 507 CHANGE MANAGEMENT 555 Summary 507
Understanding Resistance to Change 556
Revising Management Policies 558
Assessing Costs and Benefits 559 Motivating Adoption 561 ■ PART THREE
Enabling Adoption: Training 562
CONSTRUCTION, INSTALLATION,
POST-IMPLEMENTATION ACTIVITIES 564 System Support 564 AND OPERATIONS 513 System Maintenance 566 Project Assessment 567 Chapter 12 APPLYING THE CONCEPTS AT CD Constructionn 515 SELECTIONS 569 Summary 569 INTRODUCTION 515 MANAGING PROGRAMMING 517 Assigning Programmers 517 INDEX 574 Coordinating Activities 518 Managing the Schedule 519 Available on line at Cultural Issues 520
www.wiley.com/college/dennis DESIGNING TESTS 525 APPENDIX 1
Testing and Object Orientation 526 APPENDIX 2 Test Planning 528 APPENDIX 3
FMTOC.qxd 12/2/11 1:25 PM Page viii
This page is intentionally left blank
FMTOC.qxd 12/2/11 1:25 PM Page ix P R R EE F A C C E PURPOSE OF THIS BOOK
Systems Analysis and Design (SAD) is an exciting, active field in which analysts continually
learn new techniques and approaches to develop systems more effectively and efficiently.
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
software 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. This change has been accelerated through the creation of the Uni-
fied Modeling Language (UML). UML provides a common vocabulary of object-oriented
terms and diagramming techniques that is rich enough to model any systems development
project from analysis through implementation.
This book captures the dynamic aspects of the field 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. This book builds on our professional experience as systems
analysts and on our experience in teaching SAD in the classroom.
This 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
The goal of this book is to enable students to do SAD—not just read about it, but under-
stand the issues so they can actually analyze and design systems. The book introduces
each major technique, explains what it is, explains how to do it, presents an example,
and provides opportunities for students to practice before they do it for real in a project.
After reading each chapter, the student will be able to perform that step in the system development process. ix
FMTOC.qxd 12/2/11 1:25 PM Page x x Preface
Rich Examples of Success and Failure
The book includes a running case about a fictitious company called CD Selections. Each
chapter shows how the concepts are applied in situations at CD Selections. Unlike running
cases in other books, we have tried to focus these examples on planning, managing, and
executing the activities described in the chapter, rather than on detailed dialogue between
fictitious actors. 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, many
of which were written by Dr. Bruce White from Quinnipiac University, that describe how
real companies succeeded—and failed—in performing the activities in the chapter. 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 systems 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 profes-
sionals and consultants in developing the book and have incorporated their stories, feed-
back, 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 practitioners 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. The 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
In this edition, we have increased the coverage of and better organized the text around the
enhanced Unified Process; provided a greater focus on nonfunctional requirements; pro-
vided a greater emphasis on the iterative and incremental development associated with
object-oriented analysis and design; added figures and examples, along with additional
explanatory text that addresses some of the more difficult concepts to learn; better aligned
the CD selections case material; and did some major reorganization. Details of the major changes are as follows:
1. Given the lack of object-oriented programming experience of the typical student
and the importance of understanding basic object-oriented concepts to perform
object-oriented systems analysis and design, the appendix entitled “Basic Charac-
teristics of Object-Oriented Systems” has been incorporated in Chapter 1.
2. Due to the popularity of the so-called agile approaches to systems development,
we have greatly increased their coverage throughout the text. In Chapter 1, we
have expanded the coverage of both XP and SCRUM. In Chapter 2, we have
added a section regarding “Jelled” teams and their importance when considering
staffing requirements of projects. In Chapter 3, we have added story cards and
FMTOC.qxd 12/2/11 1:25 PM Page xi Preface xi
task lists as additional approaches for gathering and documenting requirements.
We have also greatly increased the focus on testing throughout the text. For
example, the verification and validation material in the Moving On to Design
chapter has been distributed over the analysis modeling chapters and the Moving On to Design chapter.
3. Given the differences between traditional project management and object-
oriented project management, the project management material has been
rewritten to reflect more of an object-oriented flavor. However, since much of
the traditional project management material is still useful within an object-
oriented context, we still cover it, e.g., net present value and return on invest-
ment, break-even point, work breakdown structures, Gantt charts, network
diagrams and PERT analysis. The reorganization and rewriting of project
management material allowed us to apply better the iterative and incremental
development characteristics of object-oriented systems development to project
management. Finally, we replaced the project size estimation section with an
expansion of the use case points material that was in the functional modeling
chapter in the previous edition.
4. To increase the focus on business processes, we have reorganized and expanded
the functional modeling material. In this edition, minimize the potential over-
load of different notations used for business process modeling, e.g., the business
process modeling notation or data flow diagrams, we have aligned the use case
construct with the idea of a business process. Consequently, a use case diagram
can be used to provide an overview of the different business processes and how
they interrelate. Each use case can then be decomposed by creating an activity
diagram to represent the details of each use case. Furthermore, each use case can
be described with a use case description.
5. As in the third edition, the material included within the analysis modeling
chapters has been more tightly coupled. This is especially true with regard to
the idea of iterative and incremental development. The text now emphasizes that
systems must be incrementally built by iterating over each of the models and
over the intersection of the models. For example, the normal flow of events
contained within a use-case description is associated with the activities on an
activity diagram, the operations on a class diagram, the behaviors on the CRC
cards, the messages on sequence and communication diagrams, and transitions
on behavioral state machines. As such, any change to any one of these most likely
will force changes in the others. Furthermore, we have extended CRUD analysis
to CRUDE analysis that includes the idea of simply executing a method associated with another object.
6. With regards to the requirements determination, we have expanded the coverage
of non-functional requirements throughout the design modeling chapters.
7. We have expanded the material that addresses global concerns. For example,
we have created a new section that addresses international and cultural issues
with regard to user interface design and we have expanded the coverage of
cultural issues with regards to construction and the installation and operations of information systems.
8. Given all of the technological changes that have taken place since the third
edition, we have also included material that addresses NoSQL data stores, mobile
computing, social media, cloud computing, and green IT in the design modeling chapters.
FMTOC.qxd 12/2/11 1:25 PM Page xii xii Preface
9. To decrease the cognitive load required for much of the material in the text,
additional figures and explanatory material have been added.
Finally, to provide a more complete version of the CD Selection case, we have moved the
case to an online format. However, at the end of each chapter in the text, a very short
synopsis of the case is provided.
ORGANIZATION OF THIS BOOK
This edition of the book is loosely organized around the phases and workflows of the
enhanced Unified Process. Each chapter has been written to teach students specific 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 itera-
tive 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 Unified Process, and the UML. Chapter 2 presents topics
related to the project management workflow of the Unified Process, including project iden-
tification, system request, feasibility analysis, project selection, traditional project manage-
ment tools (including work breakdown structures, network diagrams, and PERT analysis),
project effort estimation using use case points, evolutionary work breakdown structures,
iterative workplans, scope management, timeboxing, risk management, and staffing the
project. Chapter 2 also addresses issues related to the Environment and Infrastructure
management workflows of the Unified Process.
Part One focuses on creating analysis models. Chapter 3 introduces students to an
assortment of analysis techniques to help with business automation, business improvement,
and business process reengineering, 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. Chap-
ter 6 tackles creating behavioral models using sequence diagrams, communication dia-
grams, behavioral state machines, and CRUDE analysis and matrices. Chapters 4 through 6
also cover the verification and validation of the models described in each chapter.
Part Two addresses design modeling. In Chapter 7, students learn how to verify and vali-
date the analysis models created during analysis modeling and to evolve the analysis models
into design models via the use of factoring, partitions, and layers. The 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 specifications. Chapter 9 presents the issues
involved in designing persistence for objects. These issues include the different 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. This 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, win-
dows layout diagrams, HTML prototypes, language prototypes, real use cases, interface stan-
dards, and user interface templates, to perform user interface evaluations using heuristic
evaluation, walkthrough evaluation, interactive evaluation, and formal usability testing, and to
FMTOC.qxd 12/2/11 1:25 PM Page xiii Preface xiii
address nonfunctional requirements such as user interface layout, content awareness, aesthet-
ics, user experience, and consistency. This chapter also addresses issues related to mobile com-
puting, social media, and international and cultural issues with regards to user interface
design. Chapter 11 focuses on the physical architecture and infrastructure design, which
includes deployment diagrams and hardware/software specification. In today’s world, this also
includes issues related to cloud computing and green IT. This chapter, like the previous design
chapters, covers the impact that nonfunctional requirements can have on the physical archi- tecture layer.
Part Three provides material that is related to the construction, installation, and oper-
ations 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 Chap-
ter 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 flat world, where developers and users are distributed throughout the world. ACKNOWLEDGMENTS
For the fourth edition, we would like to thank the students of the ACIS 3515: Information
Systems Development I and ACIS 3516: Information Systems Development II classes at
Virginia Tech for giving many suggestions that drove most of the changes from the third
edition to the fourth edition. We would like to especially thank Ashley, Ben, Daniel, Jason,
Jason, Jason (yes, there were three of them), Kyle, Lucy, and Omar. Their suggestions were
invaluable in improving the text and examples.
We would like to thank the following reviewers for their helpful and insightful com-
ments on the fourth edition: David Champion, DeVry University, Columbus, OH campus;
Jeff Cummings, Indiana University; Junhua Ding, East Carolina University; Robert
Dollinger, University of Wisconsin-Stevens Point; Abhijit Dutt, Carnegie Mellon Univer-
sity; Yujong Hwang, DePaul University; Zongliang Jiang, North Carolina A&T State
University; Raymond Kirsch, La Salle University; Gilliean Lee, Lander University; Steve
Machon, DeVry University; Makoto Nakayama, College of CDM, DePaul University; Para-
suraman Nurani, Devry University; Selwyn Piramuthu, University of Florida; Iftikhar
Sikder, Cleveland State University; Fan Zhao, Florida Gulf Coast University; and Dan Zhu, Iowa State University.
For the third edition, we would like to thank the students of the ACIS 3515: Informa-
tion Systems Development I and ACIS 3516: Information Systems Development II classes
at Virginia Tech for giving many suggestions that drove most of the changes from the
second edition to the third edition. Their feedback was invaluable in improving the text and examples.
We would also like to thank the following reviewers for their helpful and insightful
comments on the first, second, and third 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; Terry Fox, Baylor University; Ahmad Ghafarian, North Georgia College & State
University; 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; Scott James, Saginaw Valley
State University; Rajiv Kishore, State University of New York–Buffalo; Ravindra Krovi,
University of Akron; Jean-Piere Kuilboer, University of Massachusetts, Boston; Leo
FMTOC.qxd 12/2/11 1:25 PM Page xiv xiv Preface
Legorreta, California State University Sacramento; Diane Lending, James Madison
University; Major Fernando Maymi, West Point University; Daniel Mittleman, DePaul
University; Fred Niederman, Saint Louis University; H. Robert Pajkowski, DeVry Insti-
tute of Technology, Scarborough, Ontario; June S. Park, University of Iowa; Graham
Peace, West Virginia University; Tom Pettay, DeVry Institute of Technology, Columbus,
Ohio; 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; 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 Weistroffer, Virginia
Commonwealth University; Amy Wilson, DeVry Institute of Technology, Decatur, GA;
Amy Woszczynski, Kennesaw State University; and Vincent C.Yen, Wright State University.
SUPPLEMENTS http://www.wiley.com/college/dennis
Instructor’s Resources Web Site
■ PowerPoint slides, which instructors can tailor to their classroom needs and that
students can use to guide their reading and studying activities
■ Test Bank, that includes a variety of questions ranging from multiple choice to
essay style questions. A computerized version of the Test Bank will also be available.
Online Instructor’s Manual
The Instructor’s Manual provides resources to support the instructor both inside and out of the classroom:
■ Short experiential exercises that instructors can use to help students experience
and understand key topics in each chapter.
■ Short stories have been provided by people working in both corporate and con-
sulting 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 Website
■ Relevant Web links, including career resources Web site.
■ Web quizzes help students prepare for class tests.
Cases in Systems Analysis and Design
A separate Case Book on CD-ROM provides a set of more than a dozen cases that can be
used to supplement the book and provide exercises for students to practice with. The cases
are primarily drawn from the United States and Canada, but also include a number of
international cases. We are always looking for new cases, so if you have a case that might be
appropriate please contact us directly (or your local Wiley sales representative).
FMTOC.qxd 12/2/11 1:25 PM Page xv Preface xv Software Tools
Three Software Tools can be purchased with the text in special packages:
1. Visible Systems Corporation’s Visible Analyst Student Edition. 2. Microsoft’s Visio.
3. Microsoft’s Project.
A 60-day trial edition of Microsoft Project can be purchased with the textbook.
Note that Microsoft has changed their policy and no longer offers the 120-day trial previously available.
Another option now available to education institutions adopting this Wiley
textbook is a free 3-year membership to the MSDN Academic Alliance. The MSDN
AA is designed to provide the easiest and most inexpensive way for academic
departments to make the latest Microsoft software available in labs, classrooms, and on student and instructor PCs.
Microsoft Project 2007 software is available through this Wiley and Microsoft
publishing partnership, free of charge with the adoption of any qualified Wiley text-
book. Each copy of Microsoft Project is the full version of the software, with no time
limitations, and can be used indefinitely for educational purposes. For more infor-
mation about the MSDN AA program, go to http://msdn.microsoft.com/academic/.
Contact your local Wiley sales representative for details, including pricing and ordering information.
FMTOC.qxd 12/2/11 1:25 PM Page xvi
This page is intentionally left blank
c01IntroductionToSystemsAnalysisAndDesign.qxd 12/2/11 7:39 PM Page 1 C H H A A PP TT EE R R 1 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN
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. The 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 Unified
Process and its extensions and the Unified 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 different 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 Unified Process, its extensions, and the Unified Modeling Language CHAPTER OUTLINE Introduction Change Management Analyst
The Systems Development Life Cycle Project Manager Planning
Basic Characteristics of Object-Oriented Analysis Systems Design Classes and Objects Implementation Methods and Messages
Systems Development Methodologies
Encapsulation and Information Hiding Structured Design Inheritance
Rapid Application Development (RAD)
Polymorphism and Dynamic Binding Agile Development
Object-Oriented Systems Analysis and
Selecting the Appropriate Development Design (OOSAD) Methodology Use-Case Driven
Typical Systems Analyst Roles and Skills Architecture-Centric Business Analyst Iterative and Incremental Systems Analyst
Benefits of Object-Oriented Systems Infrastructure Analyst Analysis and Design 1
c01IntroductionToSystemsAnalysisAndDesign.qxd 12/2/11 7:12 PM Page 2
22 Chapter 1 Introduction to Systems Analysis and Design The Unified Process
The Unified Modeling Language Phases
Applying the Concepts at CD Selections Workflows Summary
Extensions to the Unified Process 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 done 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. Most of us would like to think
that these problems only happen to “other” people or “other” organizations, but they happen
in most companies. Even Microsoft has a history of failures and overdue projects (e.g.,
Windows 1.0, Windows 95).1 Although we would like to promote this book as a silver bul-
let 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 with several
fundamental concepts and many practical techniques that you can use to improve the probability of success.
The key person in the SDLC is the systems analyst, who analyzes the business situation,
identifies opportunities for improvements, and designs an information system to imple-
ment them. Being a systems analyst is one of the most interesting, exciting, and challeng-
ing jobs around. Systems analysts work with a variety of people and learn how they conduct
business. Specifically, they work with a team of systems analysts, programmers, and others
on a common mission. Systems analysts feel the satisfaction of seeing systems that they
designed and developed make a significant 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 profits (government agencies and not-for-profit organizations measure value
differently). Many failed systems have been abandoned because the analysts tried to build
a wonderful system without clearly understanding how the system would fit with an orga-
nization’s goals, current business processes, and other information systems to provide
value. An investment in an information system is like any other investment, such as a new
machine tool. The 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 it can earn greater
profits or serve its constituents more effectively.
This book introduces the fundamental skills a systems analyst needs. This 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 definition, systems
analysts do things and challenge the current way that organizations work. To get the most
1 For more information on the problem, see Capers Jones, Patterns of Software System Failure and Success (London:
International Thompson Computer Press, 1996); Capers Jones, Assessment and Control of Software Project
Risks
(Englewood Cliffs, NJ: Yourdon Press, 1994); Julia King, “IS Reins in Runaway Projects,” Computer world (February 24, 1997).