Uploaded by Mthokozisi Nhlabatsi

Systems Analysis and Design by Scott Tilley new

advertisement
·-
#"" ' -
CENGAGE
': .. CENGAGE
Aus1ral1a • Brazol • Mexico · Singapore · United Kmgdom • Un11ed S1a1es
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
Thi\ i~ an clcctmnic vc,...ion of Lhc print 1cx1book. Due to electronic rights rc,1ricuons,
some third p:u1y conlcnt may be >uppressed. Edilorial review has deemed Lhat any suppressed
content doc> not materially affect the overall learning experience. The publil.her rc>crve~ the right
10 remove contem from thi• title at any time if sub11Cquent rights restriction• require it. For
valuable information on pricing. previou• editions. change• Lo current edilinn<. and al1ema1c
formats. please visit www.ccnu~<: com/bj~hen:d to search by ISBNll. author. 1ille. or keyword for
muccrial\ in your areas of interest.
lmponant oticc: Media contcnl referenced \nthin the produce descripuon or the product
text may not be available in the eBook \er..ion.
('.,.,...Jlt... ,..,........., "' . . . ..-..... ""' . . .................. .
C.....""_..,...._..,...,.
....,....._.,.,...._•
"""'."'"""<"' .,..
......
Dartn . . . . . . . . . ."'" •.-. . . . . ...., , . . . . ..., ... .,....,....,., ...... . , ,...~--. . ~~~
... ._..,,,.. .. __ ........ _.. ., _.. ... 4 . . . . . . ,__........._• .,._.1111:
.._,. ......,~.n....-..-..ilk...,.~C~ ......_ __..
,: _ CENGAGE
Systems Analysls and Design, Twelfth Edition
Scott Tilley
SVP. Higher Educatton Prodlm Management:
Enn Joyner
VP. Product MaNgement Mike Schenk
Product Otre<tor.1.Auren Murphy
O 2020. 2017 Cengage learning. Inc
Unless otherwise noted, aH content ls Cl Cengage.
WCN: 02·300
ALL RIGHTS RESEl!VEO. No part of this work CO\lt!red by lhe copyright
herein may be reproduced or d1s111buted on any form or by any means.
except as permitted by U.S. copyright law. without the pnor written
pennissi<>n of the copyright owner
Product Team Manager Krosun McNary
Product Manager JaylT'Me Falconi
Product As5'Stant. Anna Goulart
Oire<1or, LHrnong Design Rebecu von Glllern
SenK>r Manager, learning Otsigr• Leigh Hefferon
Learning Designer· Emily Po~
Vice Preslden~ Marketing - Science, Technology,
& Math Jason Sakos
For product informatlOfl and technology asslsta~. contact us a1
Cengage Customer & Sales Support, 1-IOC>-3S4-9706or
support.cengage.com.
L
For permlss!On to use mateflal from this text or product.
submit all requests onlone at www.cengage.com/permlsslons.
Library of Congress Control Number PCN to come
Senior Marketing D1re<1or: Michele McTlghe
ISBN: 978-0-357· 11781-1
Execu1lve Marketing Monoger: Cossle Cloutier
Cengage
20 Channel Center Sueet
Boston, MA02210
USA
Product Speclallst: Mackenzie Paine
Director, Content Creation: Juliet Steiner
Senior Manager, Content Creation: Pauy S1ephan
Cement Manager: Michele Stulgo
Technical Editor: John Freitas
Director, Digital Producllon Services:
Krista Kellman
Digital Delivery Lead· Justin Maniaci
Designer: Uzz Anderson
Proctucuon ~rvlce/Compos.llon. Lum1na
Cengage is a leading provider of customized learning soludons with
employees residing in nearly 40 dlfferem coumrles and sales In more
than 125 countries around the world. Fond your local repre~ntatlve at
www.cengage.com.
Cengage pro<lucts are represented in Canada by Nelson Educallon, l td.
To learn more about Cengage platforms and services. reglste< or access
your on lone leamlng solution. or purchase materials for your course, Visit
www.cengage.com.
O..tamaiocs. Ltd.
Cover unage iStock.com/Nongkran_ch
Notice 10 the Reader
Publisher does not warrant or guarantee any or the produos descnbed herein or perform any Independent analySis in connecttOn Wlth
any of the product Information conta•ned herein. Publisher does not assume. and expressly disclaims. •"'I obliga11on 10 obtain and
Include riformatlon olher than that prOVlded to 11 by the manufacturer. The reader os expressly warned to consider and adopt all saftty
pre<auhons th.it might be •ndiC.lled by the actMties destnbed herein and IO a\IOid all po<enUal hazards By lolowrig the lll>tructions
conta1Md herein. the reader wi hngly assumes all rlsl<s In collllKtlorl With such instructooros. The pubftsher makes no repr~ntations or
warranties of a"J lund, 1nclud1ng but not lim ted 10, the warran11es of fimess fot parucular purpose or mercharGblltlY, nor are arty such
representations Implied with respect to the matenal set forth here•n. and the pubhsher takes no responsibility with re11>Kt to such
ma1erlat. The publisher shall noc be liable for any special consequenual, or exemplary damages resulting. In whole or p;in. from 1he
readers' use of, or rehanot upon. this material
Printed in 1he United S1a1es of America
Print Number: 01
Print Year: 20 19
r...,,,.._ a-oc,,.,..~ .u ._~.a "'' ·~ 11ir ......, ~ -~·-· ......,"'".,.. nw~•..-.. ,..."''"_..,.....,
,.....""..., tir ~,._._~
.,..., -<.....,._~~
__ .....,.__.t__.•.._a..,..
.......... ,......_...
..........
r.....l _ _ .._......,..,_..,.,............_.,.....,..._...,.....,_..,.,,_.,.._..~~a-.e.._..,...,.,,._.
iii
DEDll CATION
To all of my students - past, present, and future
c..., .... .31:8C....,:...._ Al~,,_~,..., •WGfd.~•~• ..... ••,__0.:•*'"-....... -61111,_,,..-_,-.c..........,.._ec ...lllil__.~.t
•......w~~-._....,..,.....,
........ _ ._ _..........,....,. ...
.-;11-...~~c-,,....i.__..~w._.._
........ __ ..,.._.,......,..._..,....._...., ..
~
~ ... _
JIJ»C....... ~ Al RlilfD
l,eocl\olld.,...,. _WOlfi'l'l.~• ......-W.Mdk«iil,_._DIK•dtc--.: ......,_ . . . ,_.,~-.lit .......... .._.,._.__..,~•\
. . . _ . .... ..., ~...,.._,_..,..., J\&."9 ... --.11 ......... ~ C'dptl"~~d.tt ...... -
............ -
..... -
..........
-.-.....w--...-.11
v
BRIEF CONTENTS
PHASE I: SYSTEMS PLANNING
001
Chapter I Introduction co Systems Analysis and Design
002
Chapter 2 Analyzing the Business Case
044
Chapter 3 Managing Systems Projecrs
074
PHASE 2: SYSTEMS ANALYSIS
103
104
Chapter 4 Requirements Engineering
Chapter
s
144
Data and Process Modeling
Chapter 6 Object Modeling
.1 80
Chapter 7 Development Strategies
200
227
PHASE 3: SYSTEMS DESIGN
p
Chapter 8 User Interface Design
228
Chapter 9 Data Design
268
Chapter 10 System Architecture
316
~
10
•
Chapter 11 Managing Systems Implementation
352
PHASE: · S STEMS SUPPORT AND SECURITY
399
Chapter 12 Managing Systems Support and Security
400
Glossary
453
Index
471
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
vi
TABLE OF CONTENTS
PHASE I : SYSTEMS PLANNING
I.9 The Systems Analyst
Introduction to Systems Analysis
and Design
A Question of Ethics
35
1.10 Summary
35
2
Key Terms
37
3
Exercises
42
Learning Objectives
I. I Information Technology
I. I.I The Changing Nature of Information Technology
1. 1.2 Synems Analysis and Design
1.1 .3 What Does a Systems Analyst Doi
Role
Knowledge. SIUlb. and Ecb::auon
Certification
c..reer Opportunities
Trends"' lnformabon Technology
28
28
29
31
32
33
3
4
"
1.2 Information System s
1.2.1 Hardware
1.2.2
1.2.3
1.2.4
1.2.S
1.9.1
1.9.1
l.9J
1.9.4
1.9.5
4
5
5
Software
Data
Processes
People
6
7
7
Analyzing the Business Case
Learning Objectives
44
2. I Strategic Planning
45
che
8
2.1 . 1 Strategic Planning Overview
1.3 Internet Business Strategies
8
Case in Point 2.1; Pets for Rent
45
1.3. 1 The lnttrnet Model
I .J 2 82C (BuS1ncsMo·Consumer)
I .J.3 828 (Business·tO· Buslness)
8
8
2.1.2 SWOT Analysis
2.1 J The Role of the IT Dep1rtmenc
45
46
Case In Point I. I. Data
B~.
9
2.1 Strategic PlanningTools
1.4 Modeling Business Ope rations
9
2.l The Business Case
1.5 Busines$ Informa t ion Systems
11
1.5 I
l.S.2
I .SJ
l.S.4
I .S.5
I .S 6
1.5 .7
II
II
12
13
14
15
15
Enterpriu Computing
Trmuccion Processang
Business Support
Knowled&e Mana&e"*"
User Producov1ty
D1giul Assistants
Systems lnteinuon
C..• ~ 1n P. t I 2: Au 1n• '"'° ~ h I •
1.6 Organiu.t ional Information Models
1.6 I
1.6.2
1.6.3
1.6.4
1.6.5
5
16
Functions and Organlzadonal l.eve:s
Top Man~ers
Middle Maniiers •nd Know1ed&• Worker>
Supervisor> and Team Leaders
Operadonal Employees
16
16
17
17
17
1.7 Syst ems Deve lopment
1.7. 1
1.7.2
1.7.3
1.7.4
1.7.5
17
StructuredAnalysls
Object-Oriented Analysis
Agile Methods
Prototyping
Tools
1.8 The Information Technology Department
1.8.1 Appllcatlon Development
C;ue in Point 1.3 : Global
1.8.2
1.8.3
1.8.4
1.8.5
1.8.6
1.8.7
Hotel~
2.6.1 Sys<ems P.equen forms
2.6.2 Systems Request Tools
2.63 Systems Review Committee
Case 1n P"'nt 2 1: At '"' y A1r1 " , P.art On~
2.7 Assessing Request Feasibility
2.7. 1
2.7.2
2.7.3
2.7.4
2.7.5
50
52
54
54
54
54
SS
56
56
57
57
58
58
Case in Point 2.3: Attaway Airline , Part Two
26
2. 9 The Preliminary Investigation
60
60
2.9.1 Planning the Preliminary lnvesclgadon
2.9.2 Performing tho Preliminary lnvesdgatlon
2.9.3 Sumtmn•mg the Preliminary lnvestlg-.tion
59
59
60
61
61
68
2. 10 Summary
69
69
Ke:yTerms
70
Exercises
72
A Question of Ethics
Woip-M ._..,.. - ·~•-fllllie<'f •,...
.................,.t11ru ..
Feuibtlity Studies
Operauon>l FeaS1bthty
Ecooom<e Feasib1l1ty
Teclvlical F<!asibillty
Schedule Feasfblllty
so
S9
27
28
28
28
28
28
-
2.6 Processing Systems Requests
49
2.8 Setting Priorities
2.8.1 Dynamic Priorities
2.8.2 F•«ors That Affect Priority
2.8.3 Discretionary and N ondlscretoonary Projects
and Momma's Motels 27
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
2.5. 1 lntern>I Factors
2.5.1 Extern>! Factors
47
47
18
21
22
24
24
27
Systems Support and Security
User Support
D•toboseAdmlnt>trotJon
Network Adminlstrodon
Web Support
Qu>l1ty Assuranco (QA)
2.4 Systems Requests
2.5 Factors Affecting Syst e m s Projects
45
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
vii
Ta ble o f Contents
111
113
4.2.2 Rapid Apphcadon Development
4.2.3 Agile Methods
4.3 Gathering Requirements
4.4 Gathering Requirements Through Interviews
Managing Systems Projects
Learning Objectives
74
75
3. 1 Overview of P roject Management
7S
7S
3.1 I Whn Sh>peS a Project•
3.1 2 What Isa Project Tnansfe'
3.1.3 What Does a Protect ~nager Do'
76
76
3.2 Creating a W o rk Breakdown Structure
3.2.1 Gontt Clwu
76
n
3.2.2 PERT/CPM Charts
3.2.3 ldent1fyi11g Tasks In a Wori< B<cakdown Structure
Ca•~
in Point l. I . S onri
78
Sottw;i.n
80
80
3.2.4 Foctors Affecting Dul'O\don
3.2.S Displ;ay111g the Wori< Breakdown Structure
81
3.3 Task Patterns
82
3.3.1 Using Task Boxes to Create a Model
3.3.2 Task Pattem Types
3.3.3 Working with Complex Task Pattems
82
83
8"
Case In Point 3.2: Parallel Services
SS
3.4 The Crltica.I Path
85
3.4.1 Calculacing the Cntlcol Path
3.5 Project Monit oring and Control
3.S. I Monitori11g and Contra I Techniques
3.S.2 Malntolnin& • Schedule
3.S.3 Tasks and the Critical Poth
J.t
Re porting
3.6 I Project Status M..anis
3.6.2 Project Statui Rtporu
3.63 0..long woth Problems
3.8 Risk Management
3.9 Managing for Success
C.
P, 1t l
J
1me Software
QueJtionnaires ond Su~
Interviews Venus Quescionnaires
123
124
115
125
126
S...ns«>rmin&
Sampling
Research
Case in Point 4.2: CyberStuff
127
4.6 Gathering Re q uirements In Aglle Projects
4.7 Representing Requirements
127
1.7.1 Natural Language
128
Case in Point 4.3: Digital Pen Transcription
129
...7.2 Diagrams
1.7.3 Models
129
13 I
A Question of Ethics
137
4. 10 Summary
Key Te rms
137
1)7
Exercises
88
88
88
Chapter S
3. 10 Summary
96
Key Te rms
98
Exe r cises
100
PHASE 2 : SYSTEMS ANALYSIS
Chapter 4
4.8 Validating and Verifying Requirements
139
142
Data and Process Modeling
Leaming Objectives
5 .1 Logical Versus PhysicaJ Models
144
5 .2 Data Flow Diagrams
145
146
145
S.3 Data Flow Diagram Symbols
53I
5.3.2
5.3.3
5.3.4
5.3S
147
147
149
ISi
152
Proun Symbol>
Data Flow Symbols
Data Store Symbols
Enticy Symbols
Usin& DFD Symbols
5.4 Drawing Data Flow Diagrams
5.5 Drawing a Context Diagram
152
5.6 Drawing a Diagram 0 DFD
155
S.7 Drawing Lower-Level DFDs
158
163
154
Case In Point 5.1 : Big Ten University
5.8 Data Dictionary
Requirements Engineering
104
Learning Objectives
4. 1 Syste m Req uirements
105
4.1.1 Types of Requoremenu
4.1.2 Requlremenu Challenges
4.1.3 Additional Conslderatlons
105
107
4. 2 Team-Based Techniques
108
106
4.2.I )olntAj>pl1ca11on 0..elopment
109
111
Case in Point 4.1: North Hills College
...................
5.8.1
5.8.2
5.8.3
5.8.4
5.8.5
5.8 6
5.8.7
164
161
165
166
167
167
167
Documenting the Data Eltmenu
Documentinc the Data Rows
Documenting the Data Stores
Documenting the Processes
Documentm& the En"tles
Documenung the Records
Data Dlcuonary Reporu
168
5.9 Process Description Tools in Modular Design
5.9.1 Procen Descnpcions 1n Obiect·Oriented [)eo.lelopmen1
S.9.2 Modubr Design
--......
"->-"'Allf'W ~- .............. . ,.. o-....._ ...... _ ... ,..,...,...,~..,._.. ........... ... ~..
__....
128
87
87
87
96
_..__
122
87
95
95
96
("..,_...,llll!O( ...... . . - - . .\) ....... ~
122
Observation
4.9 Tool.s
A Question of Ethics
.........""_.. ... .-.................
12 1
Document Review
85
95
3 9 I Buslnen luues
3.9.2 Budget Issues
3.9.3 Schedule Issues
4.5 Gathering Requirements Using Other
Techniques
Ill
134
89
93
94
3.7 Project Management Software
116
4.4.1 The lnterv>ew Process
4.5.1
4.S.2
4.5.3
4.S.4
4.S.S
4.5.6
4.S 7
114
116
~~·~----···---~~-.,.-"~
...........
169
169
169
Table of Conte nts
viii
170
170
5.9.J Slt\ICtured En&hsh
5.9.4 Dec1si0n T~es
Case in Point 5 .2 : Rock Solid Outfitters (Part I)
5.9 .S DeclSlO!'I Trees
use in Point 5.3 : Rock Solid Outfitters (Part 2)
A Question of Ethics
5. 10 Summary
Key Terms
Exercises
174
175
175
176
176
177
179
Chapter 6
Learning Objectives
6.1 Object-Oriented Analysis
Case In Point 6. 1: Travel Biz
181
6.2 Objects
181
6.3 Attributes
6.4 Methods
183
183
6. 5 Messages
183
6.6 Classes
6.1 Relationships Among Objects a.n d Classes
6. 8 The Unified Modellng language (UML)
6.8. I Use Cue Mod~1n1
184
180
181
6.8.2 Use Cue Ofagnms
6.8..3 Cius 01ograms
186
187
187
189
l'JO
Train the Trainers, Inc.
191
192
Sequence O.airams
State Transition Oiograms
Activity Diagrams
Susineu Process Modeling
192
193
194
6.9 Tools
A Question of Ethics
195
6.1 0 Summary
Key Terms
Exercises
195
195
197
199
Chapter 7
Development Strategies
Learning Objectives
7. 1 Traditional Versus Web-Based Systems
Development
200
201
7.1.I Traditional Oevelopmenc In a U'ldltlonal systems
development environment
7. 1.2 Web-Based Oevalopmenc: In a web-based systems
development environment
7.2 Evolving Trends
7.3 In-House Software Development Options
73.1 Make or Buy Decision
7.3 l Developing Softw1re In-House
733 Purclwin1 • ~ Pac.kage
201
201
202
203
203
204
205
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
7.4.2 Outsouran& Fees
7A3 Ouuourong Issues and Concerns
7.5 Offshoring
Case in Point 7.2: Turnkey Services
1.6 Software as a Service
7.7 Selecting a Devefopment Strategy
Case in Point 7.3: Ster1ingAssoclates
7.8 The Software Acquisition Process
Step I: Evaluate che Information Synem Requirements
Step 2: Identify PotentialVendors or Outsouroing Options
Step 3: Evaluate the Alternatives
Step 4: Perform Cost-Benefit Analysis
Step S: Prepare a Recommendation
7.9 Completion ofSyscemsAnalysisTasks
7.9. 1 System Requirements Document
7.9.2 Presentation to Management
7.9.3 Transition to Systems Des1&n
206
207
108
208
108
209
1 10
210
211
211
211
212
212
213
214
214
214
2I 6
217
219
219
219
219
220
221
A Question of Ethics
7. 10 Summary
KeyTefms
222
Exercises
226
222
224
189
Case in Point 6.l : Hilltop Moton
6.8.4
6.8.S
6.8.6
6.8.7
Case in Point 7 . 1: Doug's Sporting Goods
7 .4 Outsourcing
7.4. I The Growth ol Ouuourc"'I
7.7. I The Systems Analysts Role
7.7.2 Analyzing Cost and Bcnefiu
7.7.3 Cost-Benef1tAnalysls Checkllot
Object Modeling
use in Point 6 .3:
7.3.4 Custom1%1ng •Software Pad<ogc
7.3.S Cre.tlng User Appli<att0ns
-
PHASE 3 : SYSTEMS DESIGN
Chapter 8
User Interface Design
Leaming Objectives
8.1 User Interfaces
8.2 Human-Computer Interaction
Case in Point 8. 1: Casual Observer Software
228
8.3 Seven Habits of Suceessful Interface Designers
8.3.1 Undeni:and the Busman
8.3.2 Maxlml1e Graphical Effectiveness
8.3.3 Think like a User
8.3.4 Use Models and Prototype>
8.3.5 Focus on Usability
8.3.6 Invite Feedback
8.3.7 Document Everythln&
232
8.4 Guidelines for User Interface Design
8.4. 1 Create an Interface That Is Easy to Learn and Use
8.4.2 Enhance User Producuvlty
8.4.3 Provide Flexibility
8.4.4 Provide U1en wich Help and Feedback
8.4.5 Create an Atll'lctove Layout and Oesl&n
8.4.6 Enhance che Interface
8.4.7 Focus on Oaa Entry Screens
8.4.8 Use Validation Rules
8.4.9 Manoge Data Effectro'Oly
8.4.10 Reduce lnputVolume
234
234
235
236
236
137
238
240
143
245
145
Woip-M ._..,.. - ·~•-fllllie<'f •,...
.................,.t11ru ..
229
230
232
232
232
233
233
233
233
234
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
ix
Ta ble o f Contents
2'46
Case in Point 8.l : Boolean Toys
8.5 Source Document and Form Design
146
8.6 Printed Output
2'47
8.6.1 Report ~'II'
8.6.2 Report ~lgn Pnndples
8.6.3 Tn- of R"'°ru
2'48
248
250
Ca.e in Point 8 .3: Luy Eddie
251
251
8.7 Technology Issues
252
8.7.1 Output Technology
8.7.2 Input TechnolocY
25'4
8.8. I 0uq>Vt Secumy and Control
255
255
8.8 2 Input Securtl}' and Control
156
8.8 Security and Control Issues
257
257
8.9 EmergingTrends
8.9. 1 Modulor Deslsn
8.9.2 Re•pon•lve Web Design
8.9.3 Prototyp1n1
158
258
260
260
262
A Question or Ethics
8.10 Summary
Key Terms
Exercises
266
Chapter 9
Data Design
268
269
269
Learning Objectives
9. 1 Data Design Concepts
9.1.1 O.ta Scructures
9.1.2 Mano and o.,,.ca: Ao.a cnsiin Ex.omple
9.1.3 Database Manaaement Systems
269
271
9.2. I lnU!rfaces lor Usen, Database Administrators. and
Related Systems
9.2.2 Schema
9.2.3 Physical Data Repository
9.6. I
9.6.2
9.6.3
9.6.'4
.........""_.. ... .-.................
291
291
297
297
298
299
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
I0.1.1
I0.1.2
I 0. 1.3
I 0. 1.'4
I0. 1.S
I 0.1.6
10. 1.7
I 0. 1.8
10. 1 9
Corporat0 Organludon and Culture
Enterprise Resource Planning (ERP)
lnltQI Cost and TCO
Sal•b•lity
Web Integration
Legacy Systems
Processing Options
Security Issues
Corporote Portals
317
317
318
319
319
319
320
320
320
32 1
Case in Point 10.1 ABC Sy.terns
I O.l The Evolution of System Architecture
321
321
322
I0.2.1 Mainframe Arch1tec:wre
IO.l.l Impact of the Ptrsonal Computer
I0.2.3 Network Evoluuon
322
329
290
9.7. 1 Ottrv.-ofCodes
9.7.l Types of Codes
9.1.3 Designing Cod.s
316
317
Learning Objectives
I 0. 1 A,.chitecture Checklist
I 0.5 E-Commerce Architecture
286
9.7 Codes
System Architecture
279
287
9.6.S Two Re>l-World Examples
Chapter 10
276
284
284
285
Case In Point 9.2: CyberToys
308
313
328
328
329
183
Saindard N otation Format
First Normal Form
Second Normal Form
Third Normal Form
KeyTe,.ms
Exercises
327
280
180
180
Case In Point 9. 1: TopText Publishing
9.6 Data N ormalii.ation
306
10.4 .I lntemet·BuedArchiteca.o,.
I 0.'4 2 Cloud Computing
10.4 .3 Web 2.0
175
9.5. 1 Drawing an ERO
9.5.2 Typos of Refadon•hlps
9.5.3 Cardinality
9. 10 Summary
I 0.4 The Impact of the Internet
274
275
9.5 Entity-Relationship Diagrams
305
306
324
325
326
326
327
273
9.'4. 1 Definitions
9.'4.2 Key Field•
9.'4.3 Refttential Integrity
9.9 Data Control
A Question or Ethics
323
273
9.4 Data Design Terms
302
303
The Client's Role
OoentJSeM1er Tiers
M1ddleware
Cost-Benefit luues
Ptrformanco Issues
2n
9.3 Web-Based Design
301
9 8.1 Tools and Techniques
9.8.2 Logial Venu• Phytical Storage
9 8.3 O.ta Cod•ng
I 0.3 Client/Server An:hitecture
272
9.1 DBMS Components
300
301
Case 1n Point 9.3= Madera Tools
9.8 Data Storage and Access
10.3 I
I 0.3.2
I 0.3.3
10.3.'4
10.3.S
I 0.5. 1 In-House Solutions
I 0.5.2 Packaged Solu11ons
I0.5.3 Service Providers
330
33 1
33 1
Case in Point I O.l . Small Potatoes
332
332
332
I 0.6 Processing Methods
I0.6. 1 Online Processing
I0.6.2 Batch Processing
I0.6.3 Example
333
333
10.7 N etwork Models
334
331
I 0.7. 1 The OSI Model
10.7.2 NetworkTopology
10.7.3 Network Devices
335
337
338
I 0.8 W ireless Networks
I 0.8.1 Stand•rds
338
I 0.8 2 Topolog1u
1083 Trends
339
339
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~----···---~~-.,.-"~
...........
Table of Contents
x
340
Case In Point I 0 .3: Spider IT Services
'--
I
382
383
387
I l.93 Dati Conve.-..on
11.9.4 Training
11.9.S Post-lmplementadon Tasks
10.9 Systems D esign Completion
10.9.1 System DHlgn Speclflcauon
I0.9.2 Us..-ApprCMI
10 9.3 PreS4'lc11lons
341
341
3'12
342
A Question of Ethics
3 43
A Q uestion of Ethics
391
I 0.1 0 Summary
343
I I. I0 Summary
391
Key Terms
346
Key Terms
394
Exercises
350
Exercises
398
~
tdwtrica
PHASE S : SYSTEMS SUPPORT
AND SECURITY
PHASE 4 : SYSTEMS
IMPLEMENTATION
Managing Systems Support
and Security
Managing Systems Implementation
Le arning Objectives
352
Lear ning O bjectives
400
11 .1 Quality A ssurance
I I. I. I Softw.lre Englneerlnc
I 1.1.2 Systems Engineering
I 1.13 International Organization for St»ndardlution
353
353
3S3
355
12. 1 U ser Support
12.1 .1 UserTralnlng
12.1.2 Help Desks
12.1.3 Outsourcing Issues
401
I 1.2 Application D evelopment
11.2.1 Review the System Design
I 1.2.2 Application De..lopment Tuks
I l.2J Syncms Development Tools
356
356
356
403
I I .3 Structured Deve lo pment
11.J. I Strvcture Chuts
I I 3.2 CohesK>n .nd Coupl 111
11.3.3 Drawing a StrvCture Chart
359
12.2 Maintenance Tasks
12.2.1 Types of Maintenance
12.2.2 Correctl\'e Maintenance
12.2.3 Adaptm: Mimt~ncc
12.2.4 P..-fectrVe Maintenance
12.2.S ~ntive Maintenance
11 .4 Object-Orie nted Developme nt
11.4.1 Charactenstlcs of Object-Onented De-ttlopment
11.4.2 lmplementadon of Obtect-Onented Designs
114.3 Object-Oriented Cohesion and Couplin&
3 64
365
366
366
I 1.5 Agile D e velopment
11 5.1 en.- Programml11g
11 S 2 UJ1r Scones
11.5.3 Iterations and Releases
367
368
369
369
11 .6 Coding
369
I I.7 Testing
11.7.1 Unlt Teulng
11.7.2 Integration Tesung
11.7.3 System Tesdng
370
357
360
361
362
Case n Po
12
0
0
12.3 Maintenance Management
12.l. I The Mimtenance Te"'"
12.3.2 Maintenance Requests
12.33 Establishing Pnorrt1u
12.l.4 Configuration Management
12.l.S M•intemnce Releases
12.l.6 VersK>n Control
12.3.7 Basehnes
401
401
403
404
404
406
406
407
1n:lng, Inc,
7
408
408
409
410
411
412
412
414
12.4 System Pe rformance Manage ment
12.4. I fault Management
12.4.2 Performance and Workload Measurement
12.4.3 Cap•clty Planning
4 14
3 l
12. 5 System Security
12.S. I System Security Concepts
12.S.2 Risk Management
12.S.3 Attacker Promos and Attacks
419
419
420
421
11.8 D ocum entation
11.8. 1 Program Documcntodon
11.8.2 System Documentation
11.8.3 Operations Documentition
11.8.4 User Documentitlon
I 1.8.5 Online Documentation
373
374
12.6 Security Levels
12.6.1 Physical Security
423
423
I I •9 Installation
11.9.1 Operational andTest Environments
11.9.2 System Changeover
3 78
Case in Point 12.2: Outer B;mks County
12.6.2 Network Security
12.6.3 Application Security
12.6.4 Ric Security
12.6.S User Security
12.6.6 Procedur.ll Security
426
426
429
431
432
434
C:...
I
370
372
372
M...,., lnc.
374
375
375
376
378
379
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-
Woip-M ._..,.. - ·~•-fllllie<'f •,...
.................,.t11ru ..
414
416
417
0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
xi
Ta b le o f Contents
c.
l'uw
17
C
on L
1
Consulting, Inc.
4)4
435
12.7 Backup and Recovery
12.7.1 Global Terrorism
12.7.l Backup f>ojKoes
12.7.3 Business ContJnUtty Issues
12.8 System Re tirement
435
435
436
437
438
12.9 Future Challenges and Opportunities
12.9.1 T..-.nds and Predoc:tJOns
12.9 l Strateiic Ptann•f\g for IT Pro(euionals
12.9.3 IT Credentials and Cerofoc:aaon
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
442
442
12.9.4 CnocalThonkln&Skills
12.9.S Cybcretllla
A Question of Ethics
443
11.10 Summary
443
Key Terms
Exercises
446
438
Glossary
452
453
+40
Index
471
+41
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~----···---~~-.,.-"~
...........
~
~ ... _
JIJ»C....... ~ Al RlilfD
l,eocl\olld.,...,. _WOlfi'l'l.~• ......-W.Mdk«iil,_._DIK•dtc--.: ......,_ . . . ,_.,~-.lit .......... .._.,._.__..,~•\
. . . _ . .... ..., ~...,.._,_..,..., J\&."9 ... --.11 ......... ~ C'dptl"~~d.tt ...... -
............ -
..... -
..........
-.-.....w--...-.11
xii i
PREFACE
The Shelly C:ishman Series~ offers the finesr rexes in compurer education. \Ve are
proud char our previous editions of Systems Anafysis and Design have been so well
received by insrructors and srudenrs. Systems Analysis and Design, 12th edition
continues with the innovation, qualiry, and reliabiliry you have come to expect.
T he Shelly Cashman Series dcvelopmenr ream carefully reviewed our pedagogy and
analyzed its effectiveness in reaching roday's srudenr. Conremporary srudents read les~
but need to retain more. As rhey develop and perform skills, students must know how co
apply the skills ro different ~errings. Today's students need co be continually engaged and
challenged to rerain whar they're learning. With chis book, we continue our commitment
to focusing on the user and how the)' learn besr.
Facing a c hallenging global markerplace, companies need strong IT resources ro 5ur·
vive and compete effecrivcly. Many of today's students will become the systems analysts,
managers, and lT professionals of tomorrow. This text will help prepare them for rh o e
ro les.
Overview
Systems A nalysis and Design, 12th edition offers a practical, streamlined, and
updated approach to information systems development. Systems analysis and design is a
disciplined process for creating high-qualiry enterprise information systems. An information system is an amalgam of people, data, and technology to provide support for business furn'tiom
..
•. As technology evolves, so docs systems analysis. The book cmphasi.i:es
the role of the systems ana lyst in a dynamic, business-related environment. A !.ystcms
analyst ii. a valued team member who helps plan, develop, and maintain information
systems. Analysrs must be exccllenr communicators with st rong analytical and crincal
thinking skills. The y must also be business savvy, technically competent, and be cquall)'
comfortable working with managers and programmers. Throughout the book, realworld examples emphasize critical thinking and l T skills.
I\1any two· and four-year colleges and schools use this book in information systems
and computer science curriculums. The 12th edition includes expanded coverage of
emerging technologies, such as agile methods, cloud computing, and mobile applications. Thi!> new marcrial complements the updated treatment of traditional approaches
to systems analysis and design.
Using chi~ book, ~tudents learn how to translate business requirements into informa·
tion systems char support a compan y's strategic objectives. Case srudies and assignments
teach analytical reasoning, critical thinking, and p roblem-solving skills. Numerous projects, assignments, and end-of-chapter exercises are provided, along with detailed instructor support material.
Objectives of This Text
Syst ems Analysis and Design, 12th edition is inrended for a three credit-hour introductory systems analysis and design course. This rexr is designed ro:
•
explain systems analysis and design using an appealing full-color format, numerous
scrcenshors and illusrrarions, and an easy-to-read srylc that invites students ro learn.
•
introduce project managemenr concepts early in the systems development process.
•
challenge students with a Question of Ethics mini-case in each chaprer that a ks
them to respond to real-life ethical issues in an IT environment.
c..., .... .31:8C....,:...._ Al~,,_~,..., •WGfd.~•~• ..... ••,__0.:•*'"-....... -61111,_,,..-_,-.c..........,.._ec ...lllil__.~ .t
•......w~~-._....,..,.....,
........ _ ._ _..........,....,. ...
.-;11-...~~c-,,....i.__..~w._.._
........ __ ..,.._.,......,..._..,....._...., ..
xiv
Preface
•
provide multi-method coverage, including a comparison of structured, objectorientcd, and agile systems development merhods.
•
explain how IT supporcs business requirements in todays intensely competitive environment, and
•
d~ribc
major IT devclopmcntS and trends.
Ne w and Updated Feature s in This Edition
Systems Analysis and Design, 12th editio11 offers these exciting new and updated
features:
•
Reexamined strucrure and subject coverage to ensure studentS can identify and focus
on the main content readily. Confirmed chat related content has been aligned under
comprehensive section headings to maintain a clear flow of topic and reduce distraction.
•
A renewed emphasis on aligning learning objectives with chapter content and assessments. The learning objectives have been updated and carefully reworded so that
instructors know what m focus 011, and studencs know what is expected of them.
T he questions, discussio n t<>pics, and projects have all been updated to better assess
student mastery of the material.
•
Updated or replaced many Case in Point mini-cases ro ensure learners arc exposed to
relevant and current examples of real-world business applicanons of key concepts.
•
Updated examples of CASE tools reflecting web-based and/or open source offerings.
These cools are often free and are representative of modern systems analysis
solutions.
•
Updated screenshots
to
Microsoft Office 2019 products and Visible Analyst 2016.
Organizatio n of This Text
Systems Analysis and Design, 12th edition contains 12 chapters that reach valuable
cross-functional skills. The chapters are organized into five phases: planning, anal ysis,
design, implemenrarion, and support and security. A four-part S)•stems Analyst's Toolkit,
now available as an online appendix, reflects the most recenc changes in today's syscems
analysis tools and a lso includes invaluable resources. Cross-functional toolkits provide
scudents with che basic skills soughc after by o rganizations hiring systems analysts.
Phase I: Systems Planning
•
Chapter 1 - Introduction to Systems Analysis and Design: Chapter l provides an
introduction ro systems analysis and design by describing the role of information
teclmology i.n today's dynamic business environment.
•
Chapter 2 - Analyzing the Business Case: Chaprer 2 explains how syscems projects
gee srartcd and how co evaluate a projecc propost1l co determine ics feasibility.
•
Chapter 3 - Managing Systems Projects: Chapter 3 describes how to use project
management tools and techniques, and how to plan, schedule, monicor, and report
on n· projects.
c..,....lla'c......,........,
A1..,....ai-.en...
... ...,,..,.., ..,.......,,,... ........
~-..,.~·----·~••klk<9i11,..,_0w.~,,...
a:.a.ww~
.. - ... ,...,•_....,.._....,,..._.t._.,doA..,._~•.
.. ., ...cn11.,.__..........,,..-:&-c~..,.--:c--•.,,. .. -~....._.....,.. .... ..,,, ......... ,... ........... ..,._.._
_.._...,~
xv
Preface
Phase 2: Systems Analysis
•
Chapter 4 - Requirements Engineering: Chapter 4 describes the requirements engineering process: gathering facts about a systems project, preparing documentation,
and creating models char will be used to design and develop the S)Stem.
•
Chapter 5 - Data and Process Modeling: Chapter 5 discusses data and process
modeling techniques that analysis use to show how the system transforms data into
w.eful information.
•
Chapter 6 - Object ModcUng: Chapter 6 discusses object modeling techniques rhar
analysts use ro crc:irc a logic:il model.
•
Chapter 7 - Development Strategies: Chapter 7 considers various development strategies for the new system and plans for the transition to the systems design phase.
Phase 3: Systems Design
•
Chapter 8- User In terface Design: Chapter 8 explains how to design an effective
user interface :ind how m handle data security and control issues.
•
Chapter 9 - Oaca Design: Chapter 9 focuses on the data design skills that arc necessary for a systems analyst to construct the physical model of the information system.
•
Chapter l 0 - System Architecture: Chapter I0 describes system architecture, which
translates the logical design of an information system into a physical blueprint.
Ph
I
•
Chapter 11 - Managing Systems Implementation: Chapter 11 describes application
development, documentation, testing, training, data con,·ersion, and system changeover.
Phoue 5 S
•
!>
St.. p - and Securit"
Chapter 12 - Managing Systems Support and Security: Chapter 12 describes systems
support and sccunry casks char continue throughour the useful file of rhe system,
includmg maintenance, sccuriry, backup and disaster recovery, performance mcasurcmcnr, and system renremenr.
Online Appendix:The Systems Analyst's Toolkit
•
Toolkit Part A - Conuuwiication Tools: Part A of the toolkit discui.ses coinmunication tools that can help the analyst write clearly, speak effectively, and deliver powerful presentations.
•
Toolkit Part B - CASE Tools: Part B describes CASE tools that be can used co
design, cnn~truct, and document an information system.
•
Toolkit Part C- Financial Analysis Tools: Part C demonstrates financial analysis
tools that can used ro measure project feasibility, develop accurate cost-benefit estimates, and make sound decisions.
•
Toolkit Part D - Internet Resource Tools: Part D describes Internet resource cools
chat can be used co locate information, obtain reference material, and monitor IT
trends and developments.
c..., .... .31:8C....,:...._ Al ~ ,,_~,..., •WGfd.~•~• ..... ••,__0.:•*'"-....... -61111,_,,..-_,-.c..........,.._ec ...lllil __.~.t
•......w~~ - ._...., ..,. ....,
........ _ ._ _..........,....,. ...
.-;11-...~~c-,,....i.__..~w._.._
........ _ _..,.._.,......,..._..,....._...., ..
Features
xvi
FEATURES
CHAPTER LEARNINGTOOLSAND HOWTHEYWILL HELPYOU
Case In Point: Each chapter includes th.rec brief cases thar provide a comextual business
example for students focused on the key issues covered in the chapter.
A Q uesrion of Ethics: A realistic ethical issue is presented at the end of each chapter.
These examples force you to examine your reactions and how you would respond to
common workplace situations.
Chapter Exercises: The chapter exercises are direct!)• related to the learning objectives.
Your answers to the 10 questions will show that you understand the key points. Five
discussion topics and five projects offer opportunities to dig deeper and learn even more.
MINDTAP FOR SYSTEMS ANALYSIS AND DESIGN
MindTap for Systems Analysis and Design, 12th edition is a personalized, fully onl ine,
digital learning platform of content, assignments, and services that engages students and
encourages them to thi nk critically whlle allowing instn1ctors to easily set their course
through simple customization options.
MindTap is designed to help students master the skills they need in today's workforce. Research shows employers need c ritical thinkers, troubleshooters, and creative
problem-solvers to stay relevant in our fast paced, technology-driven world. MindTap
helps sn1denrs achieve this with assignments and activities that provide hands-on prac·
rice and real-life relevance. They are guided through assignments rhar help them master
basic knowledge and undersranding before moving on to more challenging problems.
i\1indTap is designed around learning objectives and provides the analytics and
reporting to easily see where the class stands in terms of progress, engagement, and
completion rates. Students can access eBook content in the ~l indTap Reader, which
offers highlighting, note-taking, search and audio, and mobile access. learn more at
www.cengage.com/mindrap.
Co11ceptClips: ConceptClip videos focus learners on a key concept in each chapter and
arc designed ro deepen their understanding of the topic.
Running Case: Based on feedback from readers and instructors, we've created a new
running case to replace the SCR Case from previous editions. The case challenges learners to apply key systems analysis and design concepts and skills to a realistic scenario
they would encounter in the workplace. The case brings the key concepts and skills of
the chapter rogether in an authentic assignment. The look and feel of rhe case tool has
also been updared ro be an authenric, immersive experience for students.
INSTRUCTOR RESOURCES
We are dedica ted to providing you all the tools yo u need ro make your class a success.
information on all supplementary inaterials can be found on the password-protected
website at logi11.ce11gage.com. If you need help accessing this page, please contact your
(engage representative.
The Instructor Resources include the fo llowing:
•
Online Appendix: The Systems Analyst's Toolkit: A 4-parr online appendix reflects
rhc mosr recent changes in today's systems analysis tool .
c..,....lla'c......,........,
A1..,....ai-.en...
... ...,,..,.., ..,.......,,,... ........
~-..,.~·----·~••klk<9i11,..,_0w.~,,...
a:.a.ww~
.. - ... ,...,•_....,.._....,,..._.t._.,doA..,._~•.
.. ., ...cn11.,.__..........,,..-:&-c~..,.--:c--•.,,. .. -~....._.....,.. .... ..,,, ......... ,... ........... ..,._.._
_.._...,~
x v ii
About The Author
•
Instructor's Manual: Contains lecture notes summarizing the chapter sections, figures
and boxed elemenrs found in ever>' chapter, teacher tips, classroom activities, and
quick quives in ,\ilicrosoft Word files.
•
PowerPoint Presentations: A multimedia lecture presentation system provides slides
for each chapter, based on chapter objectives.
•
Figure Files: Illustrations for every figure in the text in electronic form.
•
Solutions to Exercises: Includes solutions for end-of-chapter exercises.
•
Test Bank and Test Engine: Test banks include questions for every chapter, featuring
objective-based and critical thinking question types, page number references, and figure references when appropriate. Cengage Leanling Testing powered by Cognero is a
flexible, online S)•Stem that allows you to:
•
author, edit, and manage test bank content from multiple Cengage Leaming solutions.
•
create multiple test versions in an insranr.
•
deliver rests £rom your LMS, your classroom, or wherever you want.
ABOUT THE AUTHOR
Willi the 12th edition, Scott Tilley becomes the sole author of Systems Analysis and
Design in the Shelly Cashman Series. Dr. Tilley is an emeritus profcs~or at the Florida
Institute of Technology, president and founder of the Center for Technology & Society,
president and co-founder of Big Data Florida, president of the Space Coast chapter of
the international Council of Systems Engineering (IN COSE), and a Space Coast \X'riters'
Guild f ellow. In addirion to this book, he is the author or editor of numerous other publications, including Software Testing in the Cloud: Migration 6r Execution (5pnnger,
2012), Testing iOS Apps with Hadoop Unit: Rapid Distributed GUI Testing ( ~1organ
& Claypool, 20 14), The Vicious SUJans (And Other Tall Tales) (Precious Publishing,
2017), Dreams (Antholog) Alliance, 2018), and Technical justice (CTS Press, 2019). He
wrote the weekly "Technology Today" column for Florida Today (Gannett) from 2010
to 2018. l le holds a Ph.D. in computer science from the University of Victoria.
ACKNOWLEDGMENTS
A book like Systems Analysis and Design would not be possible without rhc help and
support of a great many people, both past and present. Harry Rosenblarr's contributions
to previous editions of rhe book provided the foll!lldarion for the current edition. His
foresight made updating the material much easieir than it might otherwise have been.
Textbooks these days arc much more than just printed books; they arc educational
platforms that have many moving parts. This means purring together an updated edirion
of a book like this, particularly on an aggressive schedule, is a challenge. I'm pleased to
say that the entire production ream rose to the occasion. Thanks to Jaymie Falconi,
Michele Srulga, Emily Pope, and Maria Garguilo at Cengage for all of their help. Thanks
to John Freitas for providing new screenshors of programs and applications. An>' errors
or omissions in this edition of the text are purely my responsibility.
Finally, sincere thanks to the insrn1ctors and students who offered feedback and comments. We have tried to address your concerns and incorporate your suggestions. As this
field is constantly evolving, we srrongl)' encourage your participation in helping us provide
the freshest, most relevant information possible. We will cenainly continue to listen carefully.
If }'OU have an)' que tions or comments, please contact us through your local representative.
c..., .... .31:8C....,:...._ Al~,,_~,..., •WGfd.~•~• ..... ••,__0.:•*'"-....... -61111,_,,..-_,-.c..........,.._ec ...lllil__.~.t
•......w~~-._....,..,.....,
........ _ ._ _..........,....,. ...
.-;11-...~~c-,,....i.__..~w._.._
........ __ ..,.._.,......,..._..,....._...., ..
~
~ ... _
JIJ»C....... ~ Al RlilfD
l,eocl\olld.,...,. _WOlfi'l'l.~• ......-W.Mdk«iil,_._DIK•dtc--.: ......,_ . . . ,_.,~-.lit .......... .._.,._.__..,~•\
. . . _ . .... ..., ~...,.._,_..,..., J\&."9 ... --.11 ......... ~ C'dptl"~~d.tt ...... -
............ -
..... -
..........
-.-.....w--...-.11
PHASE
Systems planning is the first of five phases in the systems development life cycle. It's always a
good idea to know whether a project fits the company's overall strategy.A systems project that
does not align with corporate strategies should not be approved. The role of an information
system is to support business goals.
Chapter I focuses on an introduction to systems analysis and design by describing the role
of information technology in today's dynamic business environment.This includes information
systems, lntemet business strategies, modeling business operations, business information
systems, organizational information models, systems development, the information technology
department. and the role of the systems analyst.
Chapter 2 focuses on analyzing the business case, explains how systems projects get started, and
describes how to evaluate a project proposal to determine its feasibility.This includes strategic
planning and strategic planning tools, the business case, systems requests, factors affecting
systems projects, processing systems requests, assessing request feasibility, setting priorities, and
the preliminary investigation.
Chapter 3 focuses on managing systems projecu.This includes an overview of project
management, creating a work breakdown structure, task patterns, the critical path, project
monitoring and cont.rel, reporting, project management so~ware, risk management, and
managing for success.
r..,,...J1DOr-..1-.. 4• 11_.. • ...__. ~....... .,...~ • ........._ . ....._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... .., .,. ..,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
Chapter I
Introduction to Systems Analysis and Design
Introduction to
Systems Analysis
and Design
Chapter I is the first of three chapters in the systems planning phase. This chapter explains the role of
information technology In today's dynamic business
environment. This chapter describes the development
of information systems. systems analysis and design concepts. and various systems development methods. This
chapter also summarizes the role of the information
technology department and its people in the enterprise.
The chapter includes three "Case in Point" discussion questions to help contextualize the concepts
described in the text. The "Question of Ethics" invites
examination of the ACM's code of ethics and those of a
developing systems analyst.
LEARNl"IG OB ECT VES
When yo11 fi11ish this d1apter, you should be able to:
CONTENTS
1. Describe rhe impact of informario n rechnology
on soc1ery
2. Describe che five main components of an
informarion sysrem
3. Explain lnrerner business srratcgies and
relationships, including B2C and B2B
4. Explain how rouse business profiles and models
S. Undersrand rhe seven rypcs of information
systems used in business
6. Describe the types of inform:i rion Lhe four
classes of users need
7. Distinguish among struccured ana lysis, objeceorienccd ana lysis, and agi le systems development
methods
8. Lise rhe tools chat enable rhc syseems ana lyse
to develop, manage, and mainrain large-scale
information systems
9. Explain the seven main functions of rhe
information technology department
10. Describe the roles and responsibiliries of a
systems analrst within the enterprise
I . I Information Technolog)
I .2 Information Systems
Case in Point J. J: Data Breaches
1.3 Internet Business Strategies
1.4 Modeling Business Operations
1.5 Business lnformarion Systems
Case in Point 1.2: Autonomous Vehicles
1.6 Organiz.arional Information Models
1.7 Systems Development
1.8 The Information Technology Department
Case in Point 1.3: Global Horels m1d Momma 's
Morels
1.9 The Systems Analyse
A Question of Ethics
I. I 0 Summary
Key Terms
Exercises
r..,,...JmDr-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
Phase I
Systems Planning
3
I. I Information Technology
I. I
INFORMATION TECHNOLOGY
Information technology (IT) refers to the combination
of hardware, software, and services that peop le use to
manage, communicate, and share information. Companies use information as a way to increase productivity,
deliver quality products and services, maintain customer
Social Media
loyalty, and make sound decisions. In a global economy
Explodes!
with in tense competit ion, information technology can
mean the difference berween success and failure.
l\1ore than ever, business success depends on inforAnother Home Run
Fh c More Sillies Ban
for Apple'!
mation technology. IT is driving a new digital economy,
Driver Toting
where advances in hardware, software, and connectivity
1Math: 1Pod +
can provide enormous benefits to businesses and indiDigital Cure fo r
i Phone + 1Pat! =
viduals. Although economic trends affect IT spending
Health Care Costs SS$
levels, most companies give IT budgers a high priority, in
good rimes or bad. The reason is simple: during periods
of growth, companies cannot afford co lag behind the
FIGURE 1- 1 These headlines Illustrate the enormous
impact
of information technology on our lives.
IT curve. Conver&ely, when the economy slows down,
firms often use IT co reduce operating costs a nd improve
efficiency.
lnforn1Jtion technology a lso has profound infl uence on modern li fe. Although
fictitious, the headlines in Figure l -1 offer dramatic examples of how information
technology issues such as data privacy, mobile devices, and social media affects our
society. We live in a world where we can be traced , analyzed, and survei lled without
our knowledge. This raises many important questions, such as how to secure personal
dara while still providing useful functionality an d business value.
The following sections provide a sense of IT history, an overview of systems
analysis and design, and a description of the syst ems analyst's role.
---·
1. 1. 1 The Changing Nature of Information Technology
ll1e history of IT is a fascinating srudy of human progress and achievemenr. \Ve are
dazzled by the latest and greatest technology, just as our parents and grandparents
were astonished by the arrival of television, space flight, and personal compuring.
It is imporrant for IT professionals, w ho live a nd work in this exciting world, to
realize rh~1t each technology advance is part of a long-term process that often brings
dramatic change hut never really ends. The story of IBM is a good example.
As its name suggesrs, International Business l\1achines was a major supplier of office
equipment a nd rypewriters long before the modern computer era. Herman Hollerith,
who invented a card th at identified characters by the location of punched holes,
founded IBM's predecessor company in 1896. A deck of hundreds or even thousands of
th ese cards cou ld store data that was easily sorted , queried, and printed by machines.
This system sc)llnds archaic now, but punch card technology was a huge advance that
revolu tionized the business world and was in use into th e 1960s and beyond.
Today, IBM is a globe-spanning company with several hundred thousand employees.
It has succeeded in part by constantly adapting to its changing business environment.
For example, while it was once known primarily as a hardware company, today IBM
makes a significant part of its revenue from software and services. It also inveMs in
its people and tries to hire the best talent available. The result is that IBM has more
parents and more Noble Prize winners than any other IT company in history.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter I
Introduction to Systems Analysis and Design
1.2 Info r mation Systems
4
1. 1.2 Systems Analysis and Design
S)stcm s anal ysi~ and design is a s tep-by-step process for developing high-quality
information syscems. An information system combines technology, people, and darn
to pro\•ide support for business funcrions such as order processing, invencory control,
human resources, accounting, and man)' more. Some information systems handle
routine da y-to-day rasks, while ochers can help managers make bener decisions, spot
marketplace trends, and reveal patterns that might be hidden in srored darn.
Talented people, including a mix of managers, users, nerwork administrators, web
designers, programmers, and systems analysts, typically develop information systems.
Capable IT professiona ls like these a re always in demand, even in a slow economy.
For example, norice how many positions related to information technology and information systems arc available in the Melbourne, Florida area, as shown on Monster.
com's job search website in Figure 1-2.
MONSTER
.
Find Jobs •
[ Q. Information l ecltnology &
Post a Resume
Caree< Resource• •
., ...
~
F Melboume. FL_ _ _ __.
C<lmpany Profiles
Information technology & Information systems J obs In Melbourne, Florida (1081 Jobs Found)
FIGURE I · 2 Monscer.com is an example of an online job search w ebsite that IT professionals can use.
Sourc.r.
nI
en
1.1 .3 What Does a Systems Analyst Do?
A ~yMems analy~t is a valued member of the IT department ream who helps plan,
develop, and maintam information systems. Analysts mus t be excellent communicators wirh strong analytical and critical thinking skills. Because S)'Stems analysts transform business requirements into IT projects, they must be busmess-savvy as well as
technically competent and be equally comfortable with managers and progranlmcrs,
who sometimes have different points of view.
:Vlost companies assign systems analysts to the IT department, but analysts can
also report to a specific user area such as marketing, sales, or accounting. As a member of a functional team, an analyst is better able to understand the needs of that
group and how IT supports rhe department's mission. Smaller companies often use
consultants to perform sysrems analysis work on an as-needed basis.
On any given day, an analyst mighr be asked to docwuent business processes, rest
hardware and software packages, design input screens, train users, and plan e-commerce
websites. A systems analyst n1ay occasionally manage IT projects, including tasks,
resources, schedules, and costs. To keep managers and users informed, the analyst conducts meetings, delivers presentations, and writes memos, reports, and documenta tion.
Section 1.9 lists typica l skills and education requirements, certifications, career
opportunities, and the possible impacr. of future IT trends for systems analysts.
1.2
INFORMATION SYSTEMS
A system is a set of related components that produces specific results. For example, specialized systems route lnternet traffic, manufacture microchips, and control
complex entities like the Hubble telescope, which took the amazing image shown in
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
s
1.2 Information Systems
Figure 1-3. A mission-critical ~stem is one that is vital to a
company's operations. An order processing srsrem, for example, is mission-critical because the company cannot do business
without it.
Every system requires input data. For example, a computer
receives data when a key is pressed or when a menu command
is selected. In an information system, data consisrs of basic
facrs that are the system's raw material. lnfonnation is data
that has been transformed into output that is valuable to users.
An mformarion system has five key componenrs, as shown
in Figure 1-4: hardware, software, dara, processes, and people.
1.2.1 Hardware
Hardware consists of everything in the physical layer of the
information &ystem. For example, hardware can include
servers, workstarions, networks, telecommunications
FIGURE 1-l Consider the amazing technology
that enabled the Hubble telescope to capture this
equipment, fiber-optic cables, mobile devices, scanners, digital
Image.
capture devices, and other technology-based infrastructure.
Sourcet Co..rt y of it,.. I "'-j,j
A l::irge concentration of networked computers working
together is called a data center. As new technologies emerge,
/
/
.
I
manufacturers race to market the innovations and reap the rewards.
Hardware purchasers today face a wide array of technology choices and I 1111111 •• •
s
decisions. In 1965, Gordon Moore, a cofounder of Intel, predicted that the
y
number of rransisrors on an inregrared circuir chip would double abour
'
every 24 months. His concept, called Moore's law, has remained valid for
s
'
over 50 )'Cars. Fortunately, as hardware became more powerful, it abo
[
•
became much less expensive. Large businesses with thousands or millions
T
of sales rranc;actions require company-wide infor mation systems and pow. . 111111 <
erful servers, which are often now in the cloud, such as those shown in
E
Figure 1-5.
~
l 8ol••
.,...
I
I
.....
~
T
1.2.2 Software
M
I.ii
Soh\\arc refers to the programs rhar control the hardware and produce the
FIGURE 1-4 An Information
desired information or resulrs. Somvare consists of S)'Stem sofrware and
system needs these components.
application software.
System software manages the hardware components, which can include
a single computer or a global network with many tho usands of c(jents. Either the
hardware manufacturer supplies the system software or a company purchases it
from a vendor. Examples of sysrem software include the operating system, security
software rhat protects the computer from intrusion, device drivers that communicate
with hardware such as printers, and utility programs that handle specific tasks such
as dara backup and disk management. System software also controls the flow of darn,
provides darn security, and manages network operations. In today's inrerconnected
busines!> world, network sofrware is virally importanr.
Application software consists of programs that support day-to-day busines~
functions and provide users with the information they need. Example!> of company-wide
applications, called l.'llterpri\e application~. include order proces!>ing !>y!>tems, payroll
systems, and company conununications networks. On a smaller scale, individual users
can boost productivity with tools such as spreadsheets, presentation software, and
databa~e management systems.
.........""_.. ....-.................
_..__
("..,_..., llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ·· · ---~~-.,.- " ~
...........
Chapter I
Introduction to Systems Analysis and Design
1.2 Information Systems
6
FIG URE 1-S Cloud compudng provides the enormous storage and speed that modern IT systems need.
(
ry
~
I/I
"°'-
<Orr"
Applic:nion software includes horizontal and vertical systems. A hori1ontal sy~ tem
is a sysrem, such as an inventory or payroll application, that can be adapted for use in
many differenr rypes of companies. A verrical system is designed to meer rhe unique
requiremencs of a specific business or industry, such as an online rerailer, a medical
practice, or an au to dealership.
~l ost companies use a mix of software that is acquired at various rimes. When
planning an information system, a compan)' must consider how a new system
will interface with older systems, which are called legacy systems. For example, a
new human resources sysrem might n eed to exchange data with a legacy payroll
application.
1.2.3 Data
Data is the raw material that an in.formation system transforms into useful information. For exa mple, an information system using a relational database can store data
in various locations, called rabies. By linking the tables, the system can display the
specific information that the user needs-no more and no less. Figure 1-6 shows a
payroll system that stores data in foLJr separate tables. Notice that the linked rabies
work together to supply 19 different data items. A user c:.in display any or all darn
items and filter the data ro fit defined limits. In this example, the user requested a list
of employees who live in a certain city and worked more rhan 40 hours in the last
pay period. Jane Doe's n:.ime was the first ro display.
The growth of big data has given rise to new ways of scoring, sea rching,
:ind managing data. Tradirional relational models are srill used, but so-called
NoSQI databa~cs are gaining in popularity due to their ability ro scale to extremely
large and unstrucrured datasets.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
7
1.2 Information Systems
CUAAENTOfDUCTIONS
fMPl,OVff
9
P>yl'tnod
Employet No
Hoors Wotlrtd
t
Otduruon Codt
Oedu<:llon Code
Otsalpllon
Amount
frtqvtn()'
fmplQYet No
I
Otpt
Ply Rott
O!OUCTION OPTIONS
f1rs.tNlMt
Ml
ltrt N1mt
Strt:tt
CllY
FIGURE I ·6 In a typial payroll system using a relational model, daa
fonn an overall daabase.
is
st0ttd on separate ables that are hnked to
1.2.4 Processes
Processes de cribe the tasks and business functions that users, managers, and IT sraff
members perform LO achieve specific results. Processes are the building blocks of an
ioforn1ation system because they represent actual day·to-day business operations. To
build a successful information system, analysts muse understand business processes
and document them carefully.
1.2.5 People
People who have an interest in an information system are called stakeholders. Stakeholders include che management group responsible for the system, the users (sometimes called end users) inside and outside the company who will interact with rhe
system, and IT sea ff members, such as systems analysts, programmers, and network
administrators, who develop and support the syscem.
Each stakeholder group has a viral interest in the information system, bur
most experienced IT professionals agree that chc success or failure of a system
usually depends on whether it meets the needs of irs users. For that reason, it is
essential to understand user requiremenrs and expectations rhroughout the development process.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
"->-"'Allf'W
__....
~- ...............,..
--......
o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
~~·~---- ···---~~-.,.-"~
...........
Chapter I
Introduction to Systems Analysis and Design
1.3 Internet Busin ess Strategies
8
A data breach occurs when a hacker gains illegal access to a system and steals personal data.
such as credit card numbers or home addresses. With more of our information stored in
the cloud. data breaches are becoming increasingly common. Research recent news articles
about large-scale data breaches. summarize why they occurred, and suggest how they might be
prevented in the fuwre.
I J
INTERNET BUSINESS STRATEGIES
To design successful systems, systems analysts must understand a company's business
operations. Each situation is different. For example, a retail ~tore, a medical practice,
and a hotel chain all have unique informarion systems requirements. As the business
world changes, systems analysts can expect to work in new kinds of compan ies tha t
will require innovative IT solutions.
Business mday is being shaped by rhree major trends: rapidly increasing globalization,
technology integration for seamless informatio n access across ::i wide v::iriety of devices
i.uch ::is laptop~ and smartphones, and the rapid growth of cloud-based computing and
software services. These trends are being driven by the immen~c power of the Internet.
1.3. 1 The Internet Model
Internet-based commerce is called e-commerce (electronic commerce). Internet-based
systems involve various hardware and software designs, but a typical model is a series of
web pages rhat provides a user interface, which communicates with database management sofnvare and a web-based data server. On mobile devices, the user mceracrs wich
the system with an app, bur che same back-end services are accessed. As Internet-based
commerce continues ro grow, career opportunities will expand sigmficanrly for IT profes!.1onals such as web designers, database developers, and systems analyses.
1.3.2 B2C (Business-to-Consumer)
Using che Internee, consumers can go online to purchase an enormous variety of product) and services. This new shopping environment allow~ custome~ to do research,
compare prices and features, check availability, arrange delivery, and choose payment
methods in a single convenient session. Many companies, such as airlines, offer incentives for o n line cr::insactions because web-based processing cost~ are lower than traditional methods. By making Aight informa tion available online to lase-min ute travelers,
some airlines also offer special discounts on seats that might otherwise go unfilled.
B2C (business-to-consumer) is changing traditional business models and creating
new ones. For example, a common business model is a retail store that sells a product
to a customer. To carry o ut that same transactio n 0 11 the Internet, che company must
develop an onl ine score and deal with a totally different set of marketing, advertising,
and proficabilicy issues.
Some companies have found ne'v ways to use established business models. For
example, Airbnb and VRBO have transformed chc traditional hospitality service
industry into a popular and successful way for individuals to rent chcir properties.
Ocher retailers seek to enhance che oulinc shopping experience by offering gift advisors, buying guides, how-co clinics, and similar fcarures. In the e-commerce battles,
the real winners are on line consumers, who have more information, better choices,
and chc convenience of shopping ac borne.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Phase I
Systems Planning
9
1.4 Modeling Business Operations
1.3.3 B2B (Business-to-Business)
Alrhough rhe bu~mess-ro-consumer (B2C) sector is more familiar to rerail cu~romer;,
the volume of B2B (bu~iness-ro-busine~s) transactions is many rimes greater. Industry
observers predict that 828 sales will increase shar ply as more firms seek to improve
efficiency and reduce costs.
Initially, electronic commerce berween two companies used a darn sharing arrangement called electronic data interchange (EDI). EDI enabled computer-to-computer
dara transfer, usually over private telecommunications lines. Firms used EDI to
plan production, adjust inventory levels, or stock up on raw materials usmg dara
from another company's information system. As B2B volume soared, compan)'·tocompany transactions migrated to the Internet, wbich offered srandard protocols,
universal ::wailability, and low communication costs. The main advantage of the web
is that it offers seamless communication between different hardware and software
environments, anywhere and anytime.
Because ir allows companies ro reach the global marketplace, B2B is especially
i1nporrant to smaller suppliers and cusromers who need instant information about
prices and avai lability. In an approach that resembles an open marketplace, some 82B
sites invite buyers, sellers, distributors, and manufacturers to offer products, submit
specifications, and transact business.
r..~osr large firms and government agencies use supply chain managemenc (SCM )
software. A supply chain refers to all the companies who provide materials, services, and
functions needed m provide a product to a custon1er. For example, a Sherwin-Williams
customer who buys a gallon of paint is at the end of a chain that includes the raw mate·
rial sources, packaging suppliers, manufacturers, transporters, warehouses, and rerail
srores. Because SCM is complex and dynamic, specialized software helps businesses
manage invenrory levels, costs, alternate suppliers, and much more.
1.4
MooFUNG Bus1~ess OPERATIONS
Sysrems analysts U!.C modeling to represent company operations and informatton needs.
Modeling produces a graphical rcpresenration of a concept or process that systems
developers can analyze, cest, and modify. A S)'Stems analyst can describe and sunpltfy an
information syscem by using a set of business, data, object, network, and process models.
A business profile is an overview of a company's mission, functions, organizanon,
products, services, customers, suppliers, competicors, constraints, and future direction.
Although much of this informarion is readily available, a systems analyst usually
needs co do additional research and fact-finding co fill our missing or incomplete
infonnation. A business profile is the starting point for the modeling process, and
a systems analyst can describe and simplify an infonnation syscem by using a set of
business models and business process models.
A business model describes the information that a system must provide. Analysts
also create models to represent data, objects, oenvorks, and other system components.
Although the models might appear to overlap, they actually work together to describe
the same environment from different poincs of view.
Business process modeling involves a business profile and a set of models that
document business operation~. Model-based systems engineering (MBSE) is one of
the leading methods used by systems analysts co develop informacion systems.
A bu~ines\ process is a specific set of rransactions, events, and result<i that can be
described and documented. A business process model (BPM) graphically displays one
or more business processes, such as handling an airline reservation, filling a producr
order, or updating a customer account. The sales order example in Figure 1-7 shows a
simple model that includes an evenc, rbree processes, and a result.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter I
Introduction to Systems Analysis and Design
1.4 Modeling Business Operations
10
Ched< Customer
Status
P1ocess
Verily Customer
Veriy Customer
Credit
Cred~
Process
Enter Customer j
Enter Customer
Order Data
Order Data
FIGURE I· 7 A simple business model might c:onsist
of an event, three processes, and a result.
FIGURE I · 8 This sample uses business process
modeling nocation (BPMN) to represent the same
events, processes, and workllow shown In Figure 1-7.
$ourcet Or.iwo
-n
A rough skecch might be sufficient to document a simple business process. For
complex models, analyses can choose computer-based tools thac use bu ~i ness process
modeling notation (BPMN). BPMN includes standard s hapes and symbols to
represenr evenrs, processes, workflows, and more . .Vlulcipurpose application such as
Microsoft Visio or online diagramming tools such as draw.io can be used to create
BPNIN models. Notice that tbe draw.io model in Figure 1-8 use:. BPMN symbols to
represent the same sales order process shown in Figure 1-7.
_____ ... _
--
· - - g Q.
..
=====================··
........__
_....
~- · - ·
-·-
·-
0 0 00
0000
oooa
001
(
...
I
OciCJO
Cl
. -·
..
00011
11==
0
'
C=i
....
o.i:.c:..o
0000
QoO•
fcoOo
0 -A><>
;:
__ _
-·-
.._..
V0(9@
•
•
-
.,_
0000
0
..
. .
~
•
·- -·-·
.
FIGURE I · 9 Lucidchart allows you to drag and drop various symbols and connect them to model a business process.
Sowc.« Lu.. ,iJ s.... .,..,_
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,...... .,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f •,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~--- t fta111&....-.~~ ij
__.~~ c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
II
1.5 Business Information Systems
Systems developers often use multipurpose charring tools such as Lucidchart to
display business-related models. Lucidchart is a popular tool that systems analysts
can use to create business process diagrams, flowcharts, organization charts, network
diagrams, floor plans, project timelines, and workflow diagrams, among others.
Figure 1-9 shows how to drag and drop various symbols from the left pane into the
drawing on the right and connect them to show a business process.
1.5
8USINS::SS INFORMATION SYSTEMS
In rhe past, IT managers identified an information system based on its primary
users. For example, administrative staff used office systems, operational people
used operational systems, middle managers used decision support systems, and rop
managers used executive i11for111atio11 systems.
Today, those traditional labels no longer apply. For example, all employees,
including top managers, use office productivity systems to do their jobs. Similarly,
operational users often require decision support systems to do their jobs. As business
changes, information use also changes, and now it makes more sense to identify a
system by its functions and features, rather than by its users. A new set of system
definitions includes enterprise computing systems, transaction processing systems,
business support systems, knowledge management systems, user productivity systems,
digital assisranrs, and systems inregrarion.
1.5. 1 Enterprise Computing
Enterprise computing refers to information systems that supporc company-wide
operations and dara management requiremenrs. Walman's inventory control system,
Boeing's production control system, and Hilcon H otels' reservation system arc examples of enterprise computing systems. The main objective of enterprise compuring is
ro integrarc a company's primary functions (such as production, sales, ervices, inventory control, and accounting) ro improve efficiency, reduce coses, and help managers
make key decisions. Enterprise computing also improves data ecuriry and rcliahiliry
by imposing a company-wide framework for data access and storage.
In many large companies, applications called e nterprise re~ource planning
(ERP) i.ystcm!> provide cosr-effecrive support for users and manageri. throughout
the company. For example, a car rental company can use ERP to foreca~t cu~tomer
demand for rental cars at hundreds of locations. Because of its growth and potentia~ many hardware and sofrware vendors target the enterprise computing marker
and offer a wide a rray of produces and services. For example, Figure 1-10 highlights
SAP's leading ERP solutions. SAP is a Germany company that is a market leader in
enterprise application software.
By providing a company-wide computing environment, many firms have been able
to achieve dramatic cost reductions. Other companies have been disappointed in the
time, money, and commitment necessary to implement ERP successfully. A potential
disadvanrage is rhat ERP systems genera Uy impose an overall strucn1re rhar might
or might not march the way a company operates. ERP is described in more detail in
Chapter 7, which discusses development strategics.
1.5.2 Transaction Processing
Transaction processing (TP) systems process data generated by day-ro-dar business
operations. Examples of TP systems include customer order processing, accounts
receivable, and warranry claim processing.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter I
Introduction to Systems Analysis and Design
12
1.5 Business Information Systems
What is ERP?
ERP stands for Enterprise Resource Planning
What is the simplest ERP definition? Think about all the core processes needed to run a company:
finance, HR, manufactur ing, supply chain, services, procurement, and others. At its most basic level,
ERP integrates these processes into a single system . But new ERP systems are anything but basic.
They provide intelligence, visibility, analytics, and efficiency across every aspect of a business. Using
the latest technologies, ERP systems facilitate the flow of real-time information across departments
and ecosystems, so businesses can make data-driven decisions and manage performance - live.
F IGU RE 1-1 0 SAP is a leading vendor of ERP solutions that can boost productivity.
s...r...
Check
Credit
Status
Verify
Customer
Data
TP sysrems perform a series of casks whenever a specific transaction occurs. In
the example shown in Figure 1-11, a TP syscem verifies the cuscomer's darn, checks
the customer's credic starus, checks the stock starus, poses to accounts receivable,
adjusts the inventory level, and updates the sales file. TP S)'Stems typically involve
large amounts of data and are mission-critical syscems because the enterprise cannot
function without them.
T P syscems are efficient because they process a
set of transacrion-relatt:d command~ as a group
Check
Post to
Accounts
Stock
rat her than individually. To protect darn incegrity,
Status
Aece1vabla
however, TP systems ensure that if any single
elemenc of a crans~1 ctio11 fai ls, the system does not
Adjust
Inventory
process the rest of the transaction.
~\
•
,.,.
1
Levels
E.5.3 Business Suppo rt
6
Sates
nsactlon
Update
Sales Fie
F IGURE I · I I A single sales transaction consius of six separate
tasks. which the TP system processes as a group.
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
Business support system~ provide job-related
information support to users at all levels of a
company. These systems can analyze transactional
data, generate information needed to manage and
control business proces~es, and provide information that leads to better decision making.
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
13
1.5 Business Information Systems
The earliest business computer systems replaced manual tasks, such as payroll
processing. Companies soon realized that computers also could produce valuable information. The new systems we re called manageme nt info rma tion 'Y~ tem s
( ~US) because managers were the primary users. Today, emplO)'ees at all levels
need informanon to perform their jobs, and they rely on informanon system~ for
that support.
A business support system can work hand in hand with a TP sy tern. For example, when a cornpan)• sells merchandise to a cusromer, a TP system records the sale,
updates the customer's balance, and makes a deduction from inventOf)'. A related business support system highlights slowor fast-moving items, customers
with past-due balances, and inventory levels that need adjustment.
To compete effectively, firms
must collect production, sales,
and shipping data and update the
compan>r-wide business suppo rt
system immediately. Auto ma ted
data acquisition is possible using
technology such as radio frequency
identificatio n (RFJD), which uses
high-frequency radio waves to track
physical objects, such as the shirt
shown in Figure 1- 12. Major retailers such as Walmart, which requires
its suppliers co add RFlD rags to
all item , have fueled RFlD's dramatic growth by tracking produces
throughout the retail process.
FIGURE 1- 1l With an RFID tag. items can be tracked and monitored throughout
An imporrant feature of a
the retail process.
~
b~mess supporr system is decision
support capability. Decision supporr
helps users make dec1 ions by creating a computer model and applying a sec of
variables. For example, a truck Oeet dispatcher might run a series of what-if scenarios
to determine the impact of increased shipments or bad weather. Alcernacively, a retailer
might use what-if analysis to decermine the price it must charge co increase profits by a
specific amount while volume and costs remain unchanged.
1.5.4 Knowledge Management
Knowledge management systems use a large data base called a knowledge base that
alJows users to find information by entering keywords or questions in normal English
phrases. A know ledge ma nagement system uses inference rules, which are logical rules
char identify data patterns and relationships.
The WolframAlpha website, shown in Figure 1-13, describes itself as a "computational knowledge engine." Ir has a sophisticated na tural language front end that
understands user queries in several domains. As shown in the figure, these domains
include mathematics, science and technology, society a nd culnire, and everyday life.
WolframAlpha relics upon a large knowledge base spanning multiple websites and its
own proprietarr algorithms ro provide users witb detailed answers to rheir questions
on many different topics. The results are displayed using a mix of multimedia, including mathematical equations if appropriate.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter I
Introduction to Systems Analysis and Design
1.5 Business Information Systems
14
• WolframAlpha - -
•I
_..,_
Matte• a:1 ••
1...
•
Sdnn & '!echnclagy •
.!:! - · -
.,.,...,._
.a
. . """"
1
• -·-
Sodo!y & Culluze •
s
m
>: 1 -
. •:. L._..'*'t
rt' ........ ._..
~
.,_,
\v;
[).
C::...,,nt.oqo; Sclfl'ICll
~
J ...
·-
.. \
11111
t ...............
~
~
~1'9"1i.tll•.. •'Hll'll
"':!JI(
..
,._,,~
... "
..
...
..,,,,, !C.""1CM
-·
f•1o''*POtUt1Clrl
......
•
O.tnll.Tima
1
t.:
v
..,...,~,
._.,,rtNl>Q
FM 4' Nl.0'•1 •tfl.
•• .....
Poll*'lfAOtrt""J'
---
~Ult
-
IMPo"lllWWIW
•
tto.fh<ll41 ~
Ho!.lw1014IV1W\
:.:..i · -
• ....
T.clfly tWllll1d
..... .
FIGURE 1- 13 WolframAlpha describes itself as a "computational knowledge engine."
Soun:•: IM.
,.,,., "' plu
l.
I .S.S User Productivity
Companies provide employees at alJ levels with technology that improves
productiviry. Examples of user productivity system s ioclude email, voice mail, video
and web conferencing, word processing, automated calendars, database managemenc,
spreadsheets, desktop publishing, presentation graphics, company inrranets, and integrated mobile computing systems. User productivity systems also include group ware,
which enables users to share dara, colJaborate on projects, and work in teams. One
popular groupware product is Slack, shown in Figure 1- l 4. Slack provides common
app integration and unified communication channels for distributed teams.
Slade Is where work happens
·-··-·" - _
-·-----...---------............--.....,.
-
-----..-·----·-··-·-
FIGURE 1- 14 Slack Is a popular groupware application that provides common app
Integration and unified communkation channels for distributed teams.
Sou~..
~- )U,
-Woip-M ._..,..
r..a...w...,..._...., ..I_,.. 41 11.,.. .................,.t11ru
..
(....,..... J:gi( . . . . .
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
.........,..,. ..
._.,.,.,.......c:-..•~-".....-""'*"....,.._...,..
..
Phase I
Systems Planning
IS
1.5 Business lnforma cion 5yscems
\'V'hen companies first installed word processing systems, managers expected ro
reduce the number of employees as office efficiency increased. Thar did nor happen,
primaril) because rhe basic nature of clerical work changed. With computers
performing the reperirive work, office personnel were able co handle tasks char
required more judgment, decision making, and access to information.
Computer-based office work expanded rapidly as companies assigned more
responsibility co employees at lower organizational levels. Relatively inexpensl\·e
hardware, powerful networks, corporate downsizing, and a move coward employee
empowerment also conrribured ro this rrend. Today, administranve assistants and
company presidents alike are nerworked, use computer workstations, and share corporate data co perform their jobs.
1.5.6 Digital Assistants
Rapid advanceb in na tura l language processing have made a
new rype of business information system possible: the personal
digital ab5i!.tant. T hese i.ysrems a re combinations of knowledge
management systems a nd user productivit y systems, enhanced
with artificial intelligence and machine learning capabilities.
They are typica lly cloud based and can be embed ded in
hardware devices of vario us sizes a nd types.
Digita l absisrants are exemplified by products such as
Amazon.com's Alexa, Apple's Siri, a nd Google Assistant. Users
speak to these applications just as they would speak to a real
person. The device replies in a human-sounding voice. These
services increase their capabilirics over rime. They can integrate with other software applications and actual hardware,
such as controlling lights ar home or the rempera·r ure ar the
office. An image of the Amazon Echo Dor, which is a sman
speaker powered by Alexa, is shown in Figure 1-15.
FIGURE 1-15 Amazoncom·s Echo Dot.a digital
assistant embedded 1n a smart speaker powered
by Alexa.
Sow«<
1.5.7 Systems Integration
Most large companies requi re systems that combine transaction proce sing, business support, knowledge managcmenc, and user productivity features. For example, !tuppose an
international customer makes a warranty claim. A customer service representative enters
the claim into a TP system, which updates rwo other systems: a knowledge management
S)'!ttem that tracks produce problems and warranry activity a nd a quali ty control system
with decision support capabiliries. A qualiry control engineer uses what-if analysis to
determine if the firm should make prod uct design c hanges to reduce warranty claims.
lo this example, a TP system is inregrated with a knowledge management sy!ttem and a
business support system with decisio n suppo rt features.
Imagine you work for a large automotive company. Your manager asks you to look into integrating a digital as.sistant into a new vehicle for the next production year. How would understanding
your company·s business profile help you complete chis task?
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Chapter I
Introduction to Systems Analysis and Design
I .6 Organizational Information Models
16
1.6
ORGANIZATIONAL INFORMATION MODELS
Corporate organizationa l strucn1re has changed considerably in recent years. In an
effort to increase producriviry, many companies reduced the number of managemenr
levels and delegated responsibility ro operational personnel. Although modern organization charts rend to be flatter, an organizational hierarchy still exists in most firms.
1.6. 1 Functions and Organizational Levels
A rypica I organizarional model identifies business functions and organizational levels,
as shown in Figure 1-16. Within the functional areas, operational personnel report to
supervisors and team leaders. The next level includes middle m:inagers and knowledge workers, who, in turn, report to top managers. In a corporate srrucrure, the top
managers reporr to a board of directors elected by the company's shareholders.
Top
Managers
Middle Managers
and
Know edge
Workers
SupervlSOl'S and Team
LeadatS
Operabonal Efr4>toyees
Business Functions
Organizational Levels
FIGURE 1-1 6 A typical organizational model identifies business functions and organiutional levels.
A systems analyst must understand the compan)''s organitational model to recognize who is responsible for specific processes and decisions and ro be aware of what
information is required by whom.
1.6.2 Top Managers
Top managers develop long-range plans, called srrategic plan~, which define the company's overall mission and goals. To plot a future course, top managers ask questions
such as " How much should the company invest in information technology?", " How
much will Internet sales grow in the next five years?", or "Should the company build
new factories or conrract out production functions?"
Strategic planning affects the company's future survival and growth, including
long-term IT plans. Top managers focus on the overall business enterprise and use IT
to set the company's course and direction. To develop a strategic plan, top managers
also need information from outside the company, such as economic forecasts, technology trends, competitive threats, and governmental issues.
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
17
1.7 Systems Development
1.6.3 Middle Managers and Knowledge Workers
Jusr below rhe rop management level, most companies have a layer of middle managers and knowledge workers. Middle managers provide direction, necessary resources,
and performance feedback ro supervisors and ream leaders. Becau e they focus on a
omewhat shorter time frame, middle managers need more detailed informarion than
top managers but somewhat less than supervisors who oversee da)'-to-day operations.
For example, a middle manager might review a weekly sales summary for a threestare area, whereas a local sales team leader would need a daily report on customer
sales at a single location.
In addition to middle managers, every company has people called knowledge
workers. Knowledge workers include systems analyses, programmers, accountants,
researchers, tramers, human resource specialists, and other professionals. Knowledge
workers also use business support systems, knowledge management systems, and user
productiviry systems. Knowledge workers provide support for the organization's basic
functions. J ust as a mi litary unit requires logistical support, a successful company
needs knowledge workers to carry out its missio111.
1.6.4 Supervisors and Team Leaders
Supervisors, often called team leaders, oversee operational employees ;'Ind carry out
day-to-day functions. They coordinare operational tasks and people, make necessary
decisions, and ensure that the right rools, materials, and training are avai lable. Like
other managers, supervisors and team leaders need decision support information,
knowledge management systems, and user productivity systems to carry out their
responsibilities.
1.6.5 Operational Employees
Operational emplo)'ees include users who rely on transaction processing systems ro
enter and receive dara they need to perform their jobs. In many companies, operational U)ers also need mformation ro handle tasks and make decisions t hat were
assigned previously to supervisors. lliis rrend, called empo\\'erment, gives employees
more responsibiliry and accounrabiliry. ~1any companies find char empowerment
improves employee morivarion and increases customer sarisfactio11.
I. 7
SYSTEMS DEVELOPMENT
Many options exist for developing information systems, bur the most popular
a lternative~ are !itructurcd analysis, which is a traditiona l method that scill is widely
used, object-oriented (0-0) analysis, which is a more recent approach thac many
analysts prefer, and agile methods, which incl ude t he laresc trends in software development. Figure 1-17 provide~ an overview of the th ree methods, which are discussed
in the following !.Cccions.
Although most projects utilize one approach, it i!> not unusual for systems developers to mix and match methods to gain a better perspective. [n addition tO rhese
three main development methods, some organiza1tions choose to develop their own
in-house approache!> or use techniques offered br software suppliers, cool vendors, or
consultants. Manr alternatives exist, and IT experts agree that no single development
method is bei.c in all cases. An approach that works well for one project might have
disadvantages or risks in another situation. The imponant thing is to understand the
various methods and the srrengths and weaknesses of each approach.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter I
Introduction to Systems Analysis and Design
I. 7 Systems Development
18
Description
STRUCTURED
ANALYSIS
OBJECT-ORIENTED
ANALYSIS
AGILE
METHODS
Represents !he system in terms
Views the system in terms
of objects that combine
data and processes. The
objects represent actual
people, things, transactions.
and events. Compared to
structural analysis, 0-0
phases tend to be more
interactive. Can use the
waterfall model or a model
that stresses greater
iteration.
Scresses intense team-based
effort. Breaks development
into cycles. or iterations,
that add functionality. Each
cycle 1s designed. built. and
tested in an ongoing process.
Attempts to reduce ma1or
risks by incremental steps In
short time intervals.
al daa and !he processes !hat
act upon that data.System
de< elcpment IS organized
into phases. with deMrables
and milestones to measure
pi ogi ess.The watemll model
typically consists al five
phases: requil el IM!l ltS. desipl.
ConstruCOOl'I. testing. and
mamtenanee & e\IOlution. Iteration
is possible among !he phases.
Mode ling
Tools
Data flow diagrams (DFDs) and
process descriptions, which are
described In Chapter S. Also,
business process modeling.
Various object-oriented
diagrams depict system
actors, methods, and
messages, which are
described in Chapter 6.
Also, business process
modeling.
Tools that enhance
communication, such as
collaborative software,
brainstorming. and
whiteborads. Business
process modeling works well
with agile methods.
Pros
Traditional method that has
been very popular over time.
Relies heavily on written
documentation. Frequent phase
iteration can provide flexibility
comparable to other methods.
Well-suited to traditional
project management tools and
techniques.
Integrates easily
with object-oriented
programming languages.
Code is modular and
reusable, which can reduce
cost and development
time. Easy to maintain
and expand because new
objects can be created using
inherited properties.
Very flexible and efficient in
dealing with change. Stresses
team lnteraroon and reflects
a set of community-based
values. Frequent deliverables
consandy v.ahdate the
project and reduce risk.
C o ns
Changes can be cosdy,
especially in later phases.
Requirements are defined
early, and can change during
development. Users might not
be able to describe their needs
until they can see examples of
features and functions.
Somewhat newer method
might be less familiar
to development team
members. Interaction of
objectS and classes can be
complex in larger systems.
Team members need a
high level of technical
and communications
skills. Lack of structure
and documentation can
Introduce risk factors.
Overall project might be
subject t0 scope change as
user requirements change.
FIGU RE 1-17 Comparison of structured, object-oriented, and agile development methods.
Regardless of rhe devclopmenr stra tegy, people, tasks, rimerables, and cosrs must
be managed effectively. Complex projects can involve dozens of people, hundreds of
ra~ks, and many thousands of dollars. Project management is the process of planning,
scheduling, monitoring, controlling, a nd reporring upon the devclopmcnr of an informarion system. Chapcer 3 describes projecc management rools and rcchniques in derail.
I. 7. I Structured AnaJysis
Srrucrured anal)•sis is a traditional systems developmenr rechniquc rhac is rime
rested and easy co undersrand. Srrucrured analysis uses a series of phases, called rhe
('...,...., Jlt.'lit(ftllllpl. . . . . " ' It............. \I _,-
"'"""«iflN ~- .............. .... ,,......_ ........ _ ... ,..y... .., . . ...,.....,.4 .._ ........ -··~~
............w. .................................. ......., . . . . . ....-i .......~.
c:...a.-..---•"'• · ............... - .....
- 4 ............... ~ ..... .
Phase I
Systems Planning
19
1.7 Systems Development
~ys tems
develo pment life cycle (SDLC), co plan, analyze, design, implement, and
support an information system. Although structured analysis evolved many years
ago, it remains a popular systems development method. Structured analysis is based
on an overall plnn, similar to a blueprint for constructing a building, so it is called n
predictive nppro:ich.
rrucrured :innl)•sis use a sec of process models co describe a system graphically.
Because it focu~e~ on processes that transform data into useful mformarion,
structured anal)'sis 1s called a process-centered technique. In addition ro modeling
the processes, srrucrured analysis also addresses data organization and structure,
rel:uional database design, and user interface issues.
A process model shows rhe data that flows in and our of system processes. Inside
each process, input data is transformed by business rules that generate the output.
Figure 1-18 shows a process model that was ere-aced with the Visible Analyst CASE
tool. The model, which represents a school registration system, is a called a data flow
diagram (DFD) because it uses various symbols and shapes to represent data flow,
processing, and storage. DFDs are discussed in more detail in Chapter 5.
41 V•,.blt 4n4'y11 · IRfGIST RATION PROCESS MODEU>FD)
li F~t
[d< Vo<w
CJC!J:.l
1~
°"''°"'
vj •4 14, I .J
-"
Rq>OMt"')' 0..gftm Tools W.ndow - " Help
W .J1' ~ '1.a ia l •
4
•
x
[J
~ o""'a "'
ol
.. ,"\
..,, , T
.
I
SCHOOL REGISTRATIO~ SYSTEl\1
OUTPUT
Sl\JDENTS
REGI STRATIOll Oo\TA
R£CIST£R 1 - - - - - - - - -M
.....--------1.t ~DC..''TS
COURS{OATA
CL\.SS ROSTERS
C'Ol'RS£S
<
I~
>
ISOiOOL REGlS-
F IG URE 1- 18 This Visible Analyst sc:reen shows a process model for a sc:hool registration system.The REGISTER STUDENTS process
accepts Input data from two sources and transforms it into output data.
Source:: V" ! ,,.
t""
("'Pl~
11(~1
Structured analysis uses the SDLC to plan and manage the systems development
process. The SDLC describes activities and functions that all systems developers perform, regardless of which approach they use. In the waterfall model, the result of each
phase is called a deliverable, which flows into the next phase.
Some analysts see a disadvanrage in rhe built-in structure of rhe SDLC because
the waterfall model does not emphasize interacriviry among the phases. This criticism
can be valid if the SDLC phases are followed too rigidly. However, adjacent phases
can and do interact, as shown by the circular arrows in Figure 1-19, and interaction
among several phases is nor uncommon. Used in chis manner, the traditional model is
not as different from agile methods as ir might appear ro be.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~----···---~~-.,.-"~
...........
Chapter I
Introduction to Systems Analysis and Design
20
1.7 Systems Development
The SDLC model usually includes five seeps,
which are described in the following sections: systems
planning, systems analysis, systems design, systems
implemencarion, and systems support and security.
SYSTEMS PLANNING: The sy~tem \ planning phase
usually begins wi th a formal request to the IT department, called a systems request, which describes problems or desired chaDges in an information system or
• System
teqUitements
a business process. In many companies, IT systems
document
planning is an integral part of overall business planDing. When managers and users develop their business
plans, they usually include lT requirements thar generate systems requests. A systems request can come
• Systrim
from a rop manager, a planning team, a department
design
spec1ftcat1on
bead, or the IT department itself. The request can be
very siignificant or relatively minor. A major request
might involve a new info rmarion system or the
upgradi ng of an existing system. In contrast, a minor
request might ask for a new feature or a c hange to the
• Functioning
system
user interface.
The purpose of this phase is m perform a
prelimina ry investigatio n co evaluate an IT-related
business opportunity o r problem. The preliminary
Systems
• Fully
investigation is a critical step because the outcome will
Security and
operahonaJ
affect the entire development process. A key part of
system
S u pport
the preliminary investigation is a feasibility Mudy that
reviews anticipated COM~ and benefits and recommends
a course of action based on operational, technical,
economic, and time factors.
FIGURE 1-1 9 Development phases and deliverables are
Suppose a systems analyst receives a request for
shown in the waterfall model.The circular symbols indie1te
a system change or improvement. The first step is to
Interaction among the phases.
determine whether it makes sense co launch a preliminary investigation at a ll. Before a conclusion can be
reached, more information about the business operations may be needed. After an
investigation, the systems analyst n1ight determine that the information system functions properly, bur users need more training. ln some situations, a business process
review may be recommended rather than an IT solution. ln o ther cases, a fu ll-scale
systems review may be necessary. U tbe development process continues, the next step
is the systems analysis phase.
SYSTEMS ANALYSIS: The purpose of the systems analysis phase is to build a logical
model of the new system. T he first step is requirements engineering, where the a nalyst
invc~tigates business processes a nd dlocuments what the new system must do to satisfy users. Requirements engineering continues the investigation that began during the
system~ planning phase. To understa nd rhe system, fact-finding using techniques such
as interviews, surveys, document rev iew, ob:.ervacion, and sampling is performed. The
fact-finding results a re used to build business models, data and process models, and
object models.
The deliverable for the systems analysis phase is the ~>~tern req uirements
document. The system requiremencs document describes management and user
requirements, costs, and benefits and outlines alternative development strategies.
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
21
1.7 Systems Development
SYSTEMS DESIGN: The purpose of the systems design phase is to create a physical
model thar will satisfy all documented requiremenrs for the system. At this srage, che user
interface is desii,'lled, and necessary outputs, inpucs, and processes are idenrified. In addirion, internal and external controls are designed, including computer-based and manual
features, to guarantee that the system will be reliable, accurate, maintainable, and -;ecure.
During the systems design pbase, the applicarion a rchirecrure is also determined, which
programmers will use ro cransform the logicaJ design into program modules and code.
The deliverable for this phase is the system de5ign specifica tion, which is presented
to management and users for review and approval. Management and user involvement are critical to avoid any misunderstanding about what the new system will do,
how it will do 1r, and what it will cost.
SYSTEMS IMPLEMENTATION: During the syste ms implementation phase, the new
system is constructed. Whether the developers use structured analysis or 0-0 methods, the procedure is the same-programs are written, tested, and documenced, and
the system is installed. rf the system was purchased as a package, systems analysts
configure the sofrwarc a nd perform any necessary modifications. The objective of the
systems implementation phase is to deliver a completely functioning and documented
informa tion system. Ac the conclusion of this phase, the system is ready for use. Final
preparations include converting data to the new system's files, training users, a nd performing the actual transirion to the new system.
The systems implementation phase a lso includes a n assessment, called a systems
evaluation, to determine whether the system operates properly and if co~ts and benefits are within expecrarions.
SYSTEMS SUPPORT AND SECURITY: During che systems ~ uppo rt and security
phase, the IT staff maintains, enhances, and proteccs the system. M aintenance
changes correct errors and adapt to changes in the environment, such as new rax
races. Enhancements provide new features and benefits. The objective du ri ng this
phase is to maximize return on the IT investment. Security controls safeguard the
system from both external and internal threats. A well-designed system must be
secure, reliable, maintarna ble, and scalable. A scalable design can expand to meet
new business requirements and volumes. lnfom1ation systems development is always
a work in progress. Business processes change rapidly, and most information systems
need to be updated significantly or replaced after several years of operation. For
example, a web-based sysrem may need more servers added to cope with increased
workJoad.
I. 7 .2 Object-Oriented Analysis
Whereas structured a nalysis rreats processes and data as separate componenrs,
object-oriented analysis combines data and the processes that act on the data as
objects. Systems analysts use 0-0 to mode l rea l-world business processes and operatio ns. The result is a set of softwa re objects that represent actual people, things, rransactions, and events. Usi ng an 0 -0 programming la nguage, a programmer then writes
the code rhat creates the objects.
An object is a member of a class, which is a collection of similar objects. Objects
possess characteristics called properties, which the object inherits from its class or
possesses on its own. As shown in Figure 1-20, the class called PERSON includes
I STRUCTOR and STUDENT. Because the PERSON class bas a property called
Address, a STUDENT inherirs the Address propeny. A STUDE1'.'T also has a property
called Nla1or thar is nor shared by ocher members of the PERSON class.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter I
Introduction to Systems Analysis and Design
1.7 Systems Development
22
In 0-0 design, built-in processes called
nzethods can change an object's properties. For
Name
example, in an online catalog store, a n ORDER
Address
o bject might have a properry called STATUS that
Date of S.rih
changes when a CUSTOMER object clicks to
place, confirm, or cancel the order.
One objecr can send information to another
object by using a message. A message requests
STUDENT
INSTRUCTOR
specific behavior or information from another
lnhefll&d
Name
Name
object. For example, an ORDER object might send
Address
properties
Address
a
message to a CUSTOM ER ob1ect that requests
Dale of Birlh
Dale ol Bir1h
a shipping address. When it receives the message,
the CUSTOMER object supplies the information.
Otlice Location
GPA
Other - { Adv<SOr
The ORDER object has the capability to send the
Olllce Phone
properties
message, and the CUSTOMER object knows what
Email
actions to perform when it receives the message.
0-0 analysis uses object models to represent data
FIGURE I · 20 The PERSON class includes INSTRUCTOR and
STUDENT objects. which have Inherited properties and their own
and behavior and to show how objects affect other
properties.
objects. By describing the objects and methods
needed to suppon a business operation, a systems
developer can design reusable components that speed up
system implementation and reduce development cost.
Object-oriented methods usually follow a series of
analysts and design phases that arc simil:ir to the SDLC,
although rhere is less agreement on rbe number of phases and
their names. In an 0-0 model, the phases tend ro be more
interactive. Figi1re 1-21 shows an 0-0 development model
where planning, analysis, and design tasks interact ro produce
procotypes that can be rested and implemented. The result
is an interactive model that can accurately depict real-world
business processes.
0-0 merhodolog)' is popular because it provides an easy
transition to 0-0 programming languages ~uch as C++,
Java, and Swift. Chapter 6 covers 0-0 analysis and design,
with a detailed de cription of 0-0 terms, concept!., tools,
and techniques.
PERSON
I. 7.3
Agi ~e
Methods
FIGURE 1-21 In a cyplc:al o.o development model.
planning. analysis. and design tasks Interact continuously
to generate protocypes that can be tested.
Development tcchnjques change over time. For example, structured analysis is a traditional approach, ~md agile methods are
the newest development. Structured analysis builds an overall
plan for the information system, just as a conn·actor might use
a blueprint for constructing a building. Agile methods, in conrmsr, attempt ro develop a
system incrcmcntall)' by building a series of prototypes and constantly ad justing them to
user rcquircmcnrs. As the agile process continues, developers revise, extend, and merge
earlier versions into the final product. An agile approach emphasizes continuous feedback, :ind each incremental step is affected by what was learned in rhc prior steps.
Although relatively new to software development, the norion of iterative development can be traced back to Japanese auto firms that were able ro boost productivity
by using a flexible manufacturing system, where team-based effort and short-term
milestones helped keep quality up and costs down. Agile methods have attracted a
wide following and an entire community of users, as shown in f igure 1-22.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
23
1.7 Systems Development
....,
____
lQ Scrum.org
EVENTS
The Scrum.org community is Large and active! Here is a list of some
of the events that members of our community are participating in.
Scot.So~
-
1. 2018
9 Edncugn
ScolScft Is tno ~ teen conll!nlnce in~ ts on anruat fes!NDI
d Ideas end Wlo\latlOn that ShowCases the best cf!Jle ~
tlldviology S«10r and llrtl'gS you saugnt all8r si: eaha rs from tar lb.ing
IOC4~
International Conference on Data Science, £-learning
and ln(ormot/on Systems 2018
0 0t lob.< I
Z018
READ MORE
9 Mi\dnd
Don t miss ScNm org CEO Dave West as he is a keynote speaker fO< lhlS
....,•nl
FIG URE I 022 Scrum.org is a popular website supporting the agile community.
,.,,.,, 1
s~.l ~
Agile merhods typically use a ~piral model, which represents a series of itcrarions,
or revisions, based on user feedback. As the process continues, the final product gradually evolves. An agile approach requires intense interacrivity between developers
and individual users and does not begin with an overall objective. Instead, the agile
process determines the end result. Proponents of the spiral model believe that this
approach reduces risks and speeds up software development.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. ........... ... ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Q
Chapter I
Introduction to Systems Analysis and Design
24
1.7 Systems Development
Barry Boehm, a noted sofrware eagineering professor, initially suggested spiral
models in the 1990s. He seated that each ireration, or phase, of the model musr have
a specific goal char is accepted, rejecced, or changed by rhe u'er or clienr. Thu , each
irerarion produces feedback and enhancemenrs, which enable the ream ro reach the
overall project goal. Typically, each iteration in a spiral model includes planning,
risk analysis, engineering, and evaluation. The repeated irerarions produce a series of
procorype~. which evolve inco the fin ished system. orice that rhese phases re emble
SD LC rasks, which also can be icerative.
Numerous orher adaprive variarions and related methods exi~t, and most TT
developers expect this trend ro continue in che future. Two examples arc Scrum,
which is discussed in Chapter 4, and Extreme Programming (XP), which is discussed
in Chapter 11.
Alchough agile methods are becoming popular, ana lysts should recognize char
these approaches have advantages and disadvantages. By their nature, agile methods
can a llow developers co be much more flexible and responsive bur can be riskier than
more tradition::il methods. For example, without a derailed set of system requirements, certa in features requested by some users might not be consistent with the company's larger game plan.
Other potential disadvantages of agile methods can include weak documentation,
blurred lines of accountabiJity, and too little emphasis on the larger business picture.
Also, unless properly implemented, a long series of iterations might accually add ro
project cost and development time. The bottom line is that sysrems analysrs should
undcrsrand the pros and cons of any approach before selecting a devclopmenr merhod
for a specific projecr.
I . 7.4 Pro totyping
Srrucrured analysii., object-oriented analysis, and agile merhods can all employ
protoq·ping as a supporting sysrem s development method. ProtOt)·ping resrs system concepts and provides an opportunity to examine input, ourput, and user
in terfaces before final decisions are made. A pro to t}pe is an early working version
of ::in information sysrem. Jusr as an ai rcrafr manufacturer resrs a new design in
a wind tunnel, sysrems analysts construct and study informarion system protorypes. A protorype can serve as an initial model thar is used as a benchmark ro
evaluarc rhe finished system, or the prototype irself can develop into the final
version of the system. Either way, prototyping speeds up the development process
significantly.
A possible disadvantage of prototyping is that imporrant decisions might be made
too early, before business or IT issues are undersrood thoroughly. A prototype based
on careful fact-finding and modeling rechniques, however, con be an extremely valuable tool.
1.7.S Tools
All systems development methods must be supported by tools to en:.ible the systems
analyst to develop, manage, and maintain large-scale information systems. These tools
go by various names, including a pplication lifecycle management (ALM), a lso called
prod uct li fccycle management (PLM ); integrated development environments (IDE);
::ind computer-a ided systems enginee ring (CASE), also called computer-a ided software
engineering. CASE tools provide an overall framework for systems development and
support a wide variety of design methodologies, including structured analysis and
objcct-orienred analysis.
(....,..... J:gi( . . . . . I_,.. 4111.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
25
1.7 Systems Development
Tools make ir easier ro build an informarion system, t hereby boosring IT
productiviry and improving rhe qualiry of the finished product. After developing a
model, many CA E rools can generare program code, which speeds che implemenrarion
process. Figure 1-23 shows the wehsire for Polarion, an ALtvl solution from iemens
that 1~ part of cheir larger ~uire of offerings. Figure 1-24 shows the website for
Microsoft Visual cudio, a leading IDE. Figure 1-25 shows che web ite for Cameo
Systems Modeler, a leading MBSE CASE cool.
Polarion® application lifecycle management solutions overview
Polarion
Po&lnon & a u,,1fted appl.c-•tion tiftc)<t. 11\11"1i19f"Wf\t so' ... hon YrNte )Vt'
an d e -. bl.ltd lftl Ind "'IN99 ...,.,pla tcftwllt• S)"lle!M on I un.lltd
Dl..O 10M- lNl W"4S llNll leltnl «
100 pert8'l -
of users
"'°""'"°'
lnnowtr, pn>blem solw, and untodt syntfg~es woss d1str1bult'd teams
fl«Jcoble 1rd1lte<W,. end ll<ltM•ng en1bl., organlz•tlans 10 go H tlwy
grow.
Po anon ALM
Polarion REQUIREMENTS
Polarlon QA
.. fHt«r - mo<e , _ , M1ilt
~nmg- lr«Nblr.ty ond
~ty lr>•o your oppll(11.,., 1 let)dc
Ehoiwfy ~'-· ..,.,_• •W-ond
,.,.._,_.,_II
for complu SJ"I_,.
ondtnt>ng~
"°"ides comclle•~ IOI...,_ qunty .....,_..
K1otS ........ pqea lifK)'des
D
D
D
Variants Add-on
Polanon Pro
Polarlon Reviewer
ll<ipidly INI el!.ttiwfy o..ign. ~Ind
~· complu f1mlfies CJf ptodUtl _...,,,.
1NI va-11 wilh lndintty lffcf"'ll - l o g y
1NI lr-tegrll"'"'
unify Chl"llO .......met'I. llSli & is....
trodJoog 11'<! _
,_.."9 KrOU 111 P'O)KI
[Nble ln~nll •nd Ule<nel It.I~ IO
,....,...""and COftVT1iil"M on ""°'t. ,..,... M'ld
piOlllcle lndunry-complio<U t l « -
contribt.itof5 Kf'Cl55 tre entefp\M
D
D
lill""""" ond ll'PfOli'll\.
D
FIGURE 1-ll Polarton ,. a unified application lifecycle management (ALM) solution from Siemens.
5-<s
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ··----~~-.,.-"~
...........
Chapter I
Introduction to Systems Analysis and Design
1.8 The Information Technology Department
26
--·- -
Visual Studio IDE
-- ·············...
Fully-featurtd 1ntt.'9rak-d o.:vdoprrn:t l t:riwonment
(IOE)
fo< Android. 10S. rnacOS, web, and doud
·-·I' ..--t
•
•
·---·-:==:...
Download Vo~ual Studio for Mac
•
·-·
·-·
···-===::....
···-
.!.
.
--
••
••
,,,,,_.' - ,..
- - - -· ·
--I"------··
t ' , 7111 I • .._
I
-
-
.......... =----............................--..
·-....
-·-·oo=
-- -·-
.-
r".
-
~
........
-~
~=~- ­
•
-~ J
-
-
FIGURE I · 2 4 Microsoft Visual Studio is a fully-feawred integrated development environment (IDE).
Sour<e: """ •o • tt Co• p• ..
1
No Magic
Cameo Systems Modeler
c - ~.... MrDllllw.."
~lllillltbiilll &
. . ~" . . . . . cnw.--~ CClllabar•Nit Modllt B.wlofld ..,.,.... (• . . . . . .
--..--.....-·..........
I ......a..,-°""*'~,....Wld~"'feoolsto . . . . tne*.lftel~.al---bOI
tt'AWIR thtMGAM
a d cx....Srr'IMlmidelSD...,.,lllt••••w•••...................
.• c.........,_
... ~
... -<v
'••CNdl
......
• Trn. . . .....-n~b-.ntl
~~c..tlt ~"'~' 4
'
1H Jl~M ....... XMI ~ 0t(IUbill1fkld to~ "ffllt.
..... ---·---~
FIGURE I ·25 Cameo Systems Modeler is a cross-platform collaborative Model-Based Systems Engineering
(MBSE) environment.
SOYrc:•: " ' ""ltt ·( n:
1.8
THE INFORMATION TECHNOLOGY DEPARTMENT
The IT department develops and maintains information systems. The IT group
provides technical support, which iodudes seven main functions: application
development, systems support and securiry, user support, database administration,
network administration, web s uppon, and quality assurance. These functions overlap
considerably and often have different names in different companies.
The structure of the IT department varies among companies, as does its name
and placement within the organization. In a small firm, one person might handle
~- )U,
-Woip-M ._..,..
r..a...w...,..._...., ..I_,.. 4111.,.. .................,.t11ru
..
(....,..... J:gi ( . . . . .
..,...,...... .,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~ c.....,..~
.........,..,. ..
._.,.,.,.......c:-..•~-".....-""'*"....,.._...,..
..
Phase I
Systems Planning
27
1.8 The Information Technology Department
all computer support activities and services, whereas a large corporation might
require many people with peciali1ed skills co provide information systems support.
Figure 1-26 shows a typical IT organization in a company char has networked PCs,
enterprise-wide databa~es, centralized processing, and web-based operations.
IT Departme nt
Otrector
lnlonnation Technology
I
l
Apphcauoo
Development
I_
Syslems Support
and Secunty
I
User
Support
I
Database
AdminlstrallOn
_
I_
~'Network
Administration
Web
Support
I
Ouahty
Assurance (QA)
FIGURE 1-26 Depending on its size, an IT department might have separate organization units for these
functions. or they might be combined Into a smaller number o f ceams.
1.8. I Application Development
The IT application development group typically provides leadership and overall guidance,
but teams consisting of users, managers, and LT staff members develop the systems themselves. A popular model for information systems development is a project-oriented ream
with IT professionals providing overall coordination, guidance, and technical support.
Suppose you work in the IT department of Global Hotels. a multinational hotel cham. Global
Hotels runs several specialized business support systems. induding a guest reservations system
that was developed in-house to meet the requirements of a large company with worldwide
operations. Guests can make one-stop online reservations by visiting Globals website, which has
links to all major vavel industry sites.
Global Hotels fust acqu ired Mom ma's, a regional chain of 20 motels. Momma 's uses
a vertical reservations package suitable for small- to medium-sized businesses and a
generic accounting and finance package. Should Momma's use Global Hotels' information
systems or continue with its ownl In your answer, consider issues such as business
profiles, business processes, system interactivity, and e-commerce.What addit ional
informat ion would be helpful to you in making a recommendation?
1.8.2 Systems Support and Security
Systems support and security provides vital protection and maintenance services for
system hardware and software, including enterprise computing systems, networks,
transaction processing systems, and corporate IT infrastructure. The systems support
and security group implements and monitors physical and electronic security hardware,
software, and procedures. This group also installs and supports operating systems, telecommunications software, and cencralized database management systems. ln addition,
systems support and security technicians provide technical assistance to ocher groups
in the IT department. If a site has a large number of remote clients, the systems support
group often includes a deplorment ream that installs and configures the workstations.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Chapter I
Introduction to Systems Analysis and Design
I. 9 The Systems Analyst
28
1.8.3 Use r Support
User support provides u ers with technical informarion, training, and produccivicy
support. The user su pport function usually is called a help de\k. A help desk's staff
crams u~crs and managers on application sofnvare such as email, word processing,
spreadsheets, and g raph ics packages. User support specialists answer questions, croubleshooc problems, and serve as a clearinghouse for user problems and solutions.
1.8.4 Database Administration
Dara base administration involves data design, management, sccurit)', backup, and
access. In small- and medium-sized companies, an IT support person performs chose
roles in addition to other duties. Regar d less of company size, mission-critical database
applications require continuous attention and technical support.
1.8.5 Ne twork Administration
Business operations depend on networks chat enable compa ny-wide informa tion systems. Network administration includes hardware and so~wa re mai ntena nce, support,
and security. In addition to controlling user access, netwo rk administrato rs insrall,
config ure, m::inage, monitor, and maintain ne twork a ppl ications. Nerwork a dministration is discussed in more d etail in Chapter 10.
1.8.6 Web Support
\'V'cb ~upporr is a vital technical support function. Web support spccialisrs design and
construct web pages, monitor traffic, manage hardware and sofnvare, and link webbased ::ipplic::irions to the company's information systems. Reliable, high-quality web
support is especia ll y critical for companies engaged in e-commerce.
1.8.7 Quality Assurance (QA}
Many la rge IT deparrments also use a quality assurance (QA) team thac reviews
a nd tests all applicarions and systems changes to verify specifications and software
quality standards. The QA team usually is a separate umr that reports directly ro IT
management.
I. 9
THE SYSTEMS ANALYST
A systems analyse invest igates, analyzes, designs, develops, insralls, evalua tes, and
maintains a company's information s ystems. To perform chose tasks, a sysrcms analys t constan tl y interacts with users ai!ld managers within and o utside rhe compan y.
The fo llowing sections describe a systems analyst's ro le, knowledge, skills, ed ucation,
certifications, a nd career opportunities.
1.9. 1 Role
A systems analyst helps d evelop IT systems rha r s upport business requirements. To
succeed, ana lysts often mus t ace as translato rs. For exam ple, when chey descri be
business processes to programmers, t hey muse speak a language thar programmers
will undersrand clearly. Typically, the analyse build s a series of models, diagrams,
and decision rabies and uses other descriptive cools and technique . Similarly, w hen
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
29
1.9 The Systems Analyst
communicating with managers, the analyst often must cranslate complex technical
issues into words and images thar nontechnical people can grasp. To do this, the analyst uses various presentation s kills, models, and communication methods.
Analyse arc often che company's best line of defense against an IT disaster-a <tystcm
that is rcchnically sound bur fail s because it does not meet the needs of u<;e~ and managers. \Xlhen thil> occur<;, poor communication i usually to blame. For an analyst, the most
valuable skill i<t the ability to listen. An effective analyse will involve users in every <ttcp of
the development process and listen carefully ro what they have to say. As the process continue , the analyse will seek feedback and comments from the users. This mput can provide a valuable early wammg system for projecrs chat might otherwise go off the crack.
1.9.2 Knowledge, Skills, and Education
A successful systems analyst needs technical knowledge, oral and written commu·
nication skills, an understanding of business operations, and critical thinking skills.
Educational requiremenrs vary widely depending on the company a nd the position.
In a rapidly changing fT marketplace, a syste1ns analyst must manage his or her own
career and have a pla n for professiona l development.
TECHNICAL KNOWLEDGE: Sracc-of-the-a rt knowledge is extremely import·
an t in a rapidly changing business and tech nical environment. T he Internet offers
numerous opportunities to update technical knowledge and skills. M any IT pro·
fcssionals go online ro learn about technical developments, exchange experiences,
and get answers co qucsrions. For example, the International Council on Systems
Engineering (I COSE), shown in Figure 1-27, is one of the leading organizations
offering ystems analysts a wealth of information, news, training, supporr communities, and more. Analysrs also maintain cheir skills by actending training courses, borh
I
~
E
-~-- ~ , -
. -- -
WHAT ts S¥SltMS CNGIN((llllNG1
L.. ,, • .ai.u1 1hit .._,..nr..e .......
r
.
'
GIOW IN SYSTCMS £NGINClllllHG
V..pe lh• •~Id en4 .tw..w-e ,_., C•t..-t
IMCOSl"S IMPACT
l•Mlf\& t~ rwtt.1.r• of 5"'i•m'
En1•1'\ff_rif'1g
)
rltOM me CUTIING lDGE
lll'lpeictfwl ,'9d«.b end Mat.... the--.,,,
nHO YOUA COMMliNIT't
ltwol"4 toc.ify •tit INCOS["" yow
,-~...-ch.
FIGURE 1-27 INCOSE Is one of the leading organizations offering systems analysts a w~lth of lnfonnation.
news. training. communities, and more.
.........""_.. ....-.................
_..__
("..,_..., llll!O( ...... . . - - . .\) ....... ~
...................
"->-"'Allf'W
__....
~- ...............,..
--......
o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
~~·~---- ···---~~-.,.-"~
...........
Chapter I
Introduction to Systems Analysis and Design
I. 9 The Systems Analyst
30
on-site and online. Nerworking with colleagues is another way to keep up with new
developments, and membership in professional associations also is important.
COMMUNICATION SKILLS: A systems analyst need~ s rrong oral and written
communication ~kills and che ability to interact with people at all levels, from operational staff to senior executives. Often, the analyst must work with people outside
the company, such as sofrware and hardware vendors, customers, and government
official s. Analysts often coordinate IT project teams, where they use commumcation
skills co guide and motivate team members.
BUSINESS SKILLS: A systems analyst works closely with managers, supervisors, and
operational employees. To be effective, be or she must understand business operations
and processes, communicate clearly, and translate business needs into requirements
that can be understood by programmers and systems developers. A successful analyst
is business-oriented, curious, comfortable with financial cools, and able ro sec the big
picture. Chapter 2 describes some basic concepts, including strategic planning, SWOT
analysis, and feasibility tests.
CRITICAL THINKING SKILLS: Most educators agree that critical thinking skills
include Lhe abi lity co compare, classify, evaluate, recognize patcerns, an3 lyt.e cause and
effect, and apply logic. Critical thinkers often use a what-if approach, and they have
rhe ability to evaluate rheir own thinking and reasoning.
Critical thinking skills are valuable in the IT industry, where employers seek
job candidates who can demonstrate these skills and bring them to the workplace.
Figure 1-28 shows the website for Critical Thinking Community, a nonprofit
organization rhat provides encouragement and resources for critical thinkers.
Defining Critical Thinking
Cnmi.i tJ•li"tl....141 •-.U.., qfIM W<ll«t IO ... ,..q ofUH~
Cn~cel u.ntono,. a ncn conoept 1na1 ha been cM•alopng throughout the pat 2500 )'Mf'I. The !Mm "cnbelf
thinking" ha• lb IOOls In the mid-late 20lll century. We olret here O'tet1apping o.flnillonl, lDgellle< wl1ich lorm
• IUbllantllle, lre"8Clladplinaly concel)Clon of Ctfticlal thinking
Crltlcal Thinking• Defined by llM -
Coundl tor Eacetlen. . In Cttu..1Thinking,1117
Aatalement by MlcllMi Sa1ven & Rlctlard Pa!A. ~ at 11>8 80> Annual ln.,,,.tlcnal C o n - on
en~ce1ri.n1c1no anc1 e - . i fWorm. s-1oe1.
Critical I~ Is 11>8 ~ualy disdc>lned proceM ol ~ and alclllul1y concec>CUallZJl'IO. applylng,
·~~and/or ..,.bating inl'o11118fiongalhatad Imm. otgane,.led by,~
1eftadlol1, IMIOllfng, ot ~ H •~IO belef and •clan. ln 1111 .......ry fotm , l
le on u n i - 01111 ;t• lt>at Itel-id oubj9ct dMelont doallly. 9CCUtaeY I" oclal<>ot
--18-.
--..Y. ••••""'· - - - g o o d -, do!#>. blMdth. IRI r--.
FIGURE 1-28 The Critical Thinking Community Is a nonprofit organlzadon that provides encouragement and
resources for critical thinkers.
Soun:.
(....,..... J:gi( . . . . .
0
..r
,~,..."'
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
31
1.9 The Systems Analyst
EDUCATION: Companies rypically require systems analysts to have a college degree
in information systems, compurer science. or business, and some IT experience usually
is required. For higher-level posirions, many companies require an advanced degree.
Sometimes, educarional requirements can be waived if a candidate has significant
experience, skills, or profcs~ional certifications.
1.9.3 Certification
~1any hardware and software companies offer certification for IT professionals.
Certification 'erifies that an individual demonstrated a certain level of knowledge and
skill on a standardized test. Certification is an excellent way for IT professionals to
learn new skills and gain recognition for their efforts. Although certification does not
guarantee competence or abtliry, many companies regard certification as an import·
ant credential for hiring or promotion. Certification is discussed in more detail in
Chapter 12.
In addition to traditional hardware and software certifications, some firms :.ire
exploring ways to assess critica l thinking skills, as shown in Figure 1-29. These ski lls
include perception, organization, analysis, problem solving, and decision making.
Whether or not form:.i l certification is involved, these skills are extremely valuable ro
IT professiona ls and the employers who hire thetin.
THINK Watson
-
-
,..,.. I
'nloU-
I - · I ... I -
I c.ua
The Gold Standard Critical Thinking Test
•
menti
There ,. 1 ,.,....., wny IM W.tson·u.-r Ct1Ucal T1llnlOl!g Apprals&i ts w
mo.t w1c1r1y used tool for Wlecu,. creat manaeers aod de\'elopin& Min
!Hden: lt worb. ~In 1925. tod.y IM Watson-Glaser Is t"4! premier
tool for rvaluatlnt w a11ni1;.,. abtltty ~ l)<Ofess10N1ls.
.- =-- -.._________ _
---.-------------- -·
- ..==-----====---·--=:.------- ==-----· _, ------·--- --:::-----~-~"'"'=='--
':···~ii!!'
- ...----::---..--=---::.
·-
W
-..._~==--
:::-::::::::..~
-
-
r
.:-.:---a.:;::_:::
•
1111 _
•
ic,_
_., !!O>rt
ll>"ll\Jo'f Cn11<o!lv
-.>•uQln>""'°""'
• fllrecilcll JUOrttnt. ~ to1"""1. CNlllmtty, GPrMm io c;cpc •w» I
• ~ '-ttary of UM tft Mlf'IJ'll. F' I '""* It, WICI ~r:iort
• c.r.i..t" '#ftl'I
IOCtty Md Pl"'O'll'''Y t-.i
ot•'-d'i,.
• °'4
.,.......,.,._flClfl It -ltfl~
. "*"
4
"IM'I ""'-..,,,. C1'mla
·--·
1bp Scat .. on W G twlp "odlCt
• _,......,. Ct1ttcll tfll"9 ... ltlfllty 1'1111 dldCD\ ll'IUi"I
"'°'9
CDtl • !?Br;~ t!!!ll p.tl\ utnWW;
mt -.tth """"'twpxt. . ciptfon&
.... itudr. lill " ... " . .
ret'WI\
•
l*'fca WWW l (at!W ,,...,, U'IC9 ~
kDfftl 1111 h ...... ~ ..,. ~
........
efW.tliDr't-GIM« ............ ..
F I GURE 1- 29 Employers lllce co hire people who can think logically and effectively.
Sourc.,.
lu
_
....-................. ..__ __.. ...................
("..,_...,llll!Ot ...... 1.--s
.......,..""_..
.\) ....... ~ "->-"'Allf'W
~- ...............,..
--......
o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
~~·~----··----~~-.,.-"~
...........
Chapter I
Introduction to Systems Analysis and Design
I. 9 The Systems Analyst
32
1.9.4 Career Opportunities
The demand for sysrems analyses is expected co remain srrong. Companies will
need S)'SCems analysrs co apply new informacion rechnology, and che explo!>ion in
e-commerce will fuel IT job growth. The sysrems analyse position is a challenging and
rewarding one that can lead to a cop managemenr posirion. \Vith an understanding
of technical and business issues, a sysrerns analyse has an unlimited horizon. ~!any
companies have presidents and senior managers who srarted in IT departments as
systems analysts.
The responsibiliries of a systems analyst at a small firm are different from those
ar a large corporarion. Working ar a small or large company is a marcer of personal
choice.
Firsr, do nor rely on job rides alone. Some positions are called sys rems
analysts bur involve only programming or rechnical support. In ocher cases, sysrcms
analyst responsibilirics a re found in positions rirled computer specialist, programmer,
programmer/analyse, sysrems designer, software engineer, and variou~ ochers. Be sure
rhc responsibi lities of the job are stated clearly when considering a position.
JOB TITLES:
COMPANY ORGANIZATION: Find our everything about the company and where
the IT department fits in the organizarion chart: Where are IT functions performed,
and by whom? A firm n1igbr have a central IT group bur decentralize the systems
development function. This situation sometimes occurs in large conglomerates, where
rhe parcnc company consolidates information char actually is developed and managed
at the subsidiary level.
COMPANY SIZE: A smaller firm migbr provide more variety. However, a larger com-
pany wirh scare-of-the-arr sysrems provides opportuniti~ for speciah.mrion. Alrhough
there mighr be more responsibiliry in a smaller company, rhe promorional opporrunines and financial rewards could be grearer in larger companies. Working as an independent consulraor is also an option. l\1aoy consuJring firms have been successful in
offering rheir services ro smaller business enterprises that do nor have the experrise co
handle systems development on their own.
SALARY, LOCATION,AND FUTURE GROWTH: Finally, consider salary, location,
and the company's prospecrs for future growth and success. Initial impre sions from
employment interviews with the company and its people are important. lvlosr importantly, review shore- and long-term goals very carefull y before deciding which position is most suirablc.
CORPORATE CULTURE: fn addition to having goals, methods, and information
systems requirements, every firm has an underlying corpo ra Lc culLure. A corpora re
culture is the set of beliefs, ru les, traditions, values, and attitudes char define a company a nd influence its way of doing business. To be successful, a systems ana l)1St must
understand rhc corporate culture and how it affects the way informarion is managed.
Companies sometimes include statements about corporate culrurc in rheir mission
sraremenrs, which are explained in Chapter 2.
A systems analyse must undersrand the firm's culture and find it comforrable. If
the company encourages personal growth and empowerment, work is much more
enjoyable. For example, consider the Salesforce corporare culture described in
Figure 1-30. A company like Salesforce is likely ro attract, rerain, and morivare the
besr and brighrest people. In fact, Salesforce ranked# I in Fortune's 21st annual list of
rhe country's grearesr places to wor k.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
33
1.9 The Systems Analyst
Our Salesforce culture.
M~..._Ol.At°*'"f/llMl. Wl..., . .Gllllft.....,,,Mll . . . . llf. . . ~~W ... ~ew---.9'11t......,,,_MfN•
..... Ow ....... ..w-.-ONflllM,,_.li a
IS ZW-
M,~Md ......... to~'ftlf"*--._
Our Ohana blazes trails
¥111>W artM•1' . . . . ,....,_ ....-:1MWOft.
9
,..., ................ ...._._..
~ · f~ LlMHMC*•
Our values connect and 1nsp1re us
_,..,,,,......_,.,.. ........
~
lnnOlr.ltlOll
OJ<,t~r Sore@S.~
Trust
.....
..................."
.....,.,. . _°"'ONN
0...---... ...-
,_.,. _..,,.. .,_DNA
Oii. :pl ,.. . . . . . .ra-
--·-
..
............
0wr weiw....,, w p I
~.,,,~.,.,
,,...,,.,.,., to_....
......
...
__
... ......... .. .,..
Equo ty
~·,,.,.·-~·
MON ..... w' t' I Cl llNll worid
FIGURE 1-30 A corporate culture like Salesforce is likely to attract. retain. and motivate the best and
brightest people.
,_..,
1.9.5 Trends in Information Technology
Systems analysts need to rrack trends in information technology because technological changes affect business operations, career opponunities, and enterprise strategies.
Very few areas evolve as fast as information technology. Each year sees evolutionary
developments in current technology, such as faster processors, wider network bandwidth, and increased storage capabilities. Once in a while, a truly transformative
cbange occurs, such as the injection of artificial intelligence applications across the
enterprise o r a revolution in the basic tenets of computation with the nascent introduction of quantum computing.
Some of the key trends that are disrupting information tech11ology include agile
methods, artificial cloud computing, data science, mobile devices, service orientation,
and social medio networks. These trends can affect education and training needs, give
rise to new certifications, and open lucrative career opportunities.
Agile methods have a lready been discussed in this chapter and are covered in
more derail later in the book. The agile movement is a significant trend in information technology thot all systems analysts should follow. It scarred as a response to
the heavyweig ht process models ::ind was iniri:.tlly used for smaller teams, bur interest
in agile methods has grown to encompass almost all application areas and business
organizations.
Cloud computing is in many ways a rerum to the past: a model of shared computing and data storage resources accessed from remote clients, rather like the mainframe era. Howe,·er, cloud computing is different in that it offers virrualiled re~ources
that can grow to accommodate increased requirements as needed. It'~ abo different in
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter I
Introduction to Systems Analysis and Design
I. 9 The Systems Analyst
34
that buying capaciry on demand from a thriving vendor marketplace can reduce the
capital co ts needed for in-house computing infrastructure. It also present<> addi tional
securiry needs to address.
If cloud computing represencs the computational aspect of processing, data ~ciencc
represents the data aspect. The world is producing more and more data at an
incredible rate. New cools and techniques are being developed to manage these large
datasets. Areas such as machine learning and predictive analyncs are expericncmg
tremendous growth as companies try to apply artificial intelligence techniques ro the
problem of big darn. As depicted in Figure L-3 I, many of the developments related
co big data arc driving trends in information technology-trends rhe S)'5tems analyst
must follow to stay current.
FIG U RE 1-3 1 Big data is driving many new developments 1n information ttthnology.
I ('<
~
Mobile devices and the app ecosystem that goe!> with them are a revolurionary
development in information technology. The shift of computing capabilities ro "the
edge" of rhe network has put unprecedented power in the hands of end users. Smartphones are rhe most common computing device on the planet, and ~ystems analysts
will need to know about the role of apps and the effect of the bring your own device
(BYOD) movement in the enterprise.
Traditionally, IT companies were identified as product-oriented or serviceoriented. Prod uct-o riented firms manufactured computers, routers, or microchips,
while service-oriented companies included consultants, vendors, software developers, and service providers. Today, those distinctions are gone. Most successful
IT companies offer a mix of products, services, and support. Value-added services
such as consulting, software, and technical support often are more profitable than
hardware sales.
Social media rides on some of the trends mentioned earlier, such as cloud
computing, darn science, mobile devices, and service orientation. 1lowever, social
media has had arguably the most profound influence on sociery. \'Vitness the popularity
of Facebook, with over 2 billion users worldwide. Companies tap into the power of
social media, coupled with location-aware apps, to create truly innovative solutions
that arc chnnging the face of information technology.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I Systems Planning
I. I0 Summa ry
You are enjoying your job as a summer intern in the IT department of a local company.
At lunch yesterday, several people were discussing ethical issues. You learned that some of
them belong to IT organizations that have ethical codes to guide members and set professional standards. For example. your supervisor belongs to the Association for Computing
Machinery (ACM), which has over 100,000 members from more than 100 countries and a
website at ocm.org.Your supervisor said that the ACM code of ethics is important to her
and would definitely influence her views. On the other hand, one of the senior programmers believes that his own personal standards would be sufficient to guide him if ethical
questions were to arise.
Because you are excited about your career as an IT professional, you decide to
visitACM's website to examine the code of ethics and make up your own mind.After
you do so, would you tend to agree more with your supervisor or with the senior
programmer!
I.I 0
SUMMARY
Information technolog)' (IT) refers to the combina tion of ha rdware, software, and
services rhat people use to manage, communicate, and share informarion. Technology
is changing rapidly, and IT professionals must prepare for the future. IT suppor~
business operations, improves productivitr, and helps managers make decisions.
Systems analysis and de 1gn is the process of developing information systems that
rransform data into useful information, and systems analysts are IT team member
who help plan, develop, and maintain information systems.
The essenrial components of an informarion system are hardware, software, data,
processes, and people. Hardware consists of everythi ng in the physical layer of the
informanon system. Sofrware consists of system software, which manages the hardware components, and application software, which supports day-to-day business
operations. Data is rhe raw material chat an information system transforms into useful information. Processes describe the tasks and functions char users, managers, and
IT staff members perform. People who interact with a system include users, from both
within and outside the company.
M ost s ucces~ful companies offer a mix of produces, technical and financia l
services, consulting, and customer support. A rapidly growing business category
is the Internet-dependent fi rm, which relies solely on Internet- based operations.
E-commerce includes business-to-consumer (B2C) sales, and business-to-busi ness
(B2B) transactions that use Internet-based digital marketplaces or private electro nic
data inte rchange (EDI) systems.
A systems analyst starts with a business profile, which is an overview of company
fu nctions, and then he or she creates a series of busi ness models that rep resent business processes, which describe specific tra nsactions, events, tasks, and results. Analysts use business process modeling rools to document complex operarions. Systems
analysts u e modeling, prototyping, and computer-aided systems engineering (CASE)
tools. Modeling produces a graphical representatio n of a concept or process, whereas
prototyping involves the creation of an early working model of the information or its
components.
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
35
Chapter I
Introduction to Systems Analysis and Design
I. I0 Summary
36
Based on their functions and features, business information systems are identified
as enterprise computing systems, transaction processing systems, business support
systems, knowledge management systems, user productivity systems, digital a5sistants,
or systems integration. In most companies, significant overlap and integration exists
among the various types of information systems.
A typical organization structure includes top managers, middle manager5 and
knowledge workers, supervisors and team leaders, and operanonal employees. Top
managers develop strategic plans, which define an overall mission and goals. Middle
managers provide direction, resources, and feedback to supervisors and team leaders.
Knowledge workers include various professionals who function as support staff.
Supervisors and ceam leaders oversee operational employees. Each organi1arional
level has a different set of responsibi Ii ties a nd information needs.
Three popular system development approaches are structured analysis, which is a
tradi tional method that still is widely used, object-oriented analysis (0-0), which is a
more recent approach chat many analysts prefer, and agile methods, which include the
latest trends in software development.
Structured a nalysis uses a series of phases, called the systems development lLfe
cycle (SDLC) that usually is shown as a waterfall model. Structured a nal ysis uses a n
overall plan, similar to a blueprint for construc ting a building, so it is called a predicti ve approach. This method uses a set of process models co describe a system graphically and also addresses data o rganization and structure, relational database design,
and user inrerfacc issues.
Objecr-orienred anal ysis combines data and the processes that act on the data inro
things called objects chat represent people, things, transactions, and events. Objects
have characccrisrics, called properties, and built-in processes, called methods, and can
send information to ocher objects by using messages. Using an 0-0 programming
language, a programmer then writes the code that creates the objects. Object-oriented
methods usual!)' follow a series of analysis and design phases similar co the SDLC,
but the phases arc more interactive.
Agile methods are the newest development approach and anempt co develop a
system incrementally by building a series of prototypes and con5ranrly adjusting them
to user requirements. Agile methods typically use a spiral model, which reprcsenn, a
!>ertes of iteration , or revisions, based on user feedback. The repeated 1terauons produce a series of prototypes, which evolve into the finished system.
Regardless of the development stra tegy, people, tasks, timetables, and costs must
be managed effectively using project management tools and techniques, which are
described in derail in Chapter 3.
The IT department develops, mai11tains, and operates a company's information
systems. IT staff members provide technical support, including application development, systems suppo rt, user support, database administra tion, network administratio n, web support, and quality assurance. These functions overlap considerably and
often have different names in different companies.
In addition to technical knowledge, a systcn1s analyst must understand rhc business, chink critically, and commUI\icace effectively. Valuable credentials such as certifications arc available to systems analysts. A systems analyst's responsibilities depend
on a company's o rganization, size, and culture. Systems analysts need to consider salary, location, a nd future growth potential when making a career decision.
Some of the key trends in information technology include agile methods, artificial
cloud computing, data science, mobile devices, service orientation, and social media
networks.
(....,..... J:gi( . . . . . I_,.. 4111.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
37
Key Terms
Ke y Te rms
agile method\ Sy\ttms de' clopmcnr methods char arrempr 10 de,·elop a sys1em incrementally by build·
ing a senc> of prOIOt) pes and cons13Jltly ad1usliog them to user requiremems. Rela1ed to ad.iptin•
methods.
app A soff\, are appltc.mon th.it runs on a mobtle dence. such as a smartphone or tablet.
applocat10n hftC)dt mana11cmcnt (ALM) Acrivitie\ 1ha1 co,·cr rhe entire SDLC, indudmg requ1remen1>,
dc"11n, de,•dnpmcnr, tc,nn11, and dcplopncnr and management of ~nftware appli~non\.
apphcaunn ,oftwarc Sofn.arc program\, such as email, word proc~'o", .,prcad,hecr-. and graphic'
packages. u..ed hy emplo)'ce<. in rypica I office o;cenarios.
artificial intelligence The atrempr co recreate narural inreUigence through software in machines.
B2B (busincss·to bu1ineu) A commercial exchange (e.g., producrs or services) bcn,een businesses, typi·
cally enabled by tlw lmernet or electronic means.
B2C (bu•it11.'\ \·to-co111umcr) A commercial exchange (e.g., produces or service,) between bu\inc\\eS and
con•umeri. conducted over the Internet.
hi11 d:ll,\ F.xircmcly laq.\c datnsct\ (c.11., pctahytcs) requiring no ntraditiona l ~ppruache, to deal wi th
them. Snmcrime\ chnracrcri1.cd hy three term<: volume, variety, and velocity.
bring your own de, ice (B\'Ol>) An equipmenr managemenr model where employees arc in charge of
their devices (e.g .. computers, 1ablets, smartphones) ac work, noc 1he lT deparrmcm. Tlus includes
device selecuon Jnd Sl'lup. progum installation and updating. and network connecti' ity (indudmg
security).
busineu model A graphica l representauou of business functions that consist of busin~s processes, such
.1s s.iles, .1ccoun11ng, and purch.1S1ng.
hu'1nC\\ prncc" A dC'lc,.iprion of •pecific event<, ra<ks, and dc<ircd rc<ult<.
bu,inc" pr!ICC\\ model RPM ) A graphical reprco;enratiun of one or more bu<inc" procc,'>C<.
businC'ls proce<< modeling no1a11on (BPM:-:) A srandard sec of shapes and symhols used to repr~nt
e\ enrs. processes. and work flows m computer-based modeling cools.
business profile A definition of a company's overall functions, processes, organiunon, product>, servic~. customer.. >upphtrs, compernon., constramt>, .md furure drrecuoo.
bu,ine<,\ rule\ How a » •tcm handle> data and produces U5Cful informauon. Busincs;, rule\, al;o ~allcd
hu>incs' logic, rcflcct the operational requirements of the busincs>. Fxamplc, 1ndudc adding the
proper amount of <ale< tax m invoices, calculating customer balances and finance charge<, and dc1cr·
mining whether a c:usmmcr is eligihlc for a ,·olume-ba\Cd discounr.
bu\ine-.\ \upport
\Y\IClll\
Provide job-related informarion support co user< at all lt'vel\ of a company.
CASE 1ools Powerful software used in computer-aided S)'Stems engineering (CASE) ro help systems ana·
l)'St> develop Jnd mamrn in information S)''tetus.
certificauon A credenii.11 Jn individual earns by demonstrating a certam level of knowll'dge .ind skill on
a sta11dard1ted tcsr.
das~ A term u\cd 111 object-oriented modeling to indicate a collection of ~iniilar objc"'·
computcr-a1dcd \Oftwarc cngmccring (CASE) A technique that use< powerful program< ca lled CA ~r.
tool< co provide an overal l framework for systems development. T he tools ~upport a wide varicry of
design methodologie,, including srrucnired analysis and objecr-orienced analysis. Also referred to a'
compmcr-aidcd ;y;1e1m engineering.
computer-.udcd >>Stem; cn111neet1nR 1CM.£) See compmer-aided software engmeermg (<..A~E).
wrporatc culture A >et of beliefs, rul~. 1radmons, \alues. and attitude~ that define
em:e 1r< wa) of doing business.
~ JD» (".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_ ._.... ~~
J
cornpau) and mflu·
...
. ..............
_ .... ~---11rt~
-,..~---~ ~
.... . _
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Chapter I
Introduction to Systems Analysis and Design
Key Terms
38
critical Lhinl.mg ~I.ill> The abilif} to compare, dassif), evaluJte, rccognne panem>. anal) Lt cause and
effect, and apply logic. Such skills are valued m the IT mdusrry.
dat.t The ra\\ m.11erial or basic facts used by informauon S) stem>.
d.ua center A !Jrgc ton~cntrarion of ncrworkcd computer' working together.
data no\\ d1a11ram (Df D) Graphical rcprC\cnlation of the \)>Lem, \hem mg II \tore\, prnu:"e', and tran>form' Jara mm u-cful information.
data ~ocnce lnrerd1~1pltnary field rhar blends computer science, math and stausucs, and bu~iness merhods 10 anal)'Zc large darasers. Involves artificial imelligcnce. machinc learning .ind prcdicn"c analytics,
and v1sualitation techniques.
Jell\ crabl~ A polished, fu1al product, suitable for its intended use. £nd product> or del1verJbles often
cornc1de wnh the complenon of each SDLC phase.
e·commcf(C tclccironic conuncrcc) Transactions (e.g., buying anti ,cllinµ of l\(X>U\ and onfnrmaunn) that
c><:cur on the Internet. Includes both businc~-to-consuoncr and bu,ine.-· to· l)l1'inc,s.
clcc1ronic dnra inrcrchanJle (FDT) A process that involve' computer-co-computer transfer of darn
bcrwccn companies.
cmpo"ermcnt A business prnccice chac places more responsibility and ,1ccoumuhiht) rhrougbour all levels of .Ill org.mizaliou.
enterprise applic.mons Comp.tn)·wide applications, such as order processwg systems. pJyroll systems,
Jnd compJn) communicanons networks.
c:nterpri\c rnmpurini: Information 'YMcms char >t1pport lompany-w1Je data ma11a11emcnt requirement\,
,uch a• airline rc<;crvanon' or credit card billing sy.tcms.
cntcrpri\e re\our'c planning (FRP A process that cstablishc, an cnccrpri-c-w1Je \trnrei:y for IT
rc,ourccs. FRP defines a <pecific archirccrure, including ''andard< for data, procc,,ini;. network, and
u-er imcrfol-C d<'\1gn.
fcasibilm study An mmal in\'esrig;uion to clearly identify the n.uure and scope of the business opporrnmr) or problem. Also called preluninary 1.Dvestigauon.
groupn.ire J>r~ams thar run on a necwork chat enable users to share data, collaborate on pro1«ts, and
work m teams. Also called workgroup sohware.
hardnarc The phy<ical layer of rhc information system, to include computer\, network\, communication< equopmenr, and orher rcchnolo&>y·hased infrastructure.
help dc\k A cenrrali1cd resource miffed by TT professionals that provide' U\Cr' with che \upporr rhey
need to do 1he1r job>. A help de>k h,.,., three main objel"tivc~: to ~how people: how to U\c ~y,ccm
re.uur~C> more dfc:ctivcly. to provide an~wcn. to 1,-chnical or opcrarion,11 quc.,1 io11~, and to make
user\ more productive by reaching rhcm how to mcer their own mformation need<.
horiiontal sy\Ccm A basic sysrcm, such as an inventory or payroll packap,e, that 1s commonly used by a
vnricry of companies.
inference rule' lnsrructions that direct a knowledge management sys1em ro idcmify data pat1crns and
rdanonsh1ps.
information Dnm rhar has been changed inro n useful form of outpur.
informauon S)\lcon A combination of infom1arion 1cdinology. people, and data co '>upport bminc~s
requirements. Ilic five key components a~e hardware. software, data, proccs.es, and people.
1nforma11on tcchnoloiiy (IT ) A combination of hardware, software, and telecommun1c.111on< S)>lem'i
that support business operations, improve producuvitl, and help manager\ make decisions.
intCjlr.ued dc\Clopmcnr environments (IDE) An application for hu1lding orhcr \Oft" .ire appli~tions.
T)·picall> includes a visual code editor, an integrated compiler, a debugger. a configuration manageme111 ~)Mem, and a rest framework.
~ JD» (".............. .-\l ........... .,.... _.,."'flllll.~-....-.. - "*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_ ._.... ~~
...
. ..............
_ .... ~---11rt~
-,..~---~ ~
.... . _
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Phase I
Systems Planning
39
Key Terms
i1aa1ht: An ;idapme method I) pictll) use,, a spiral de,·elopmenr model, which builds on
ncrauoru..
J
series of
I.no\\ ledge b.i\c A popular ws1cm\ dn·elopmem 1echnique that uses a group of ~r.. man.igcr~. and IT
profc:,~1onal\ who work t<>gc1hcr to gather mformanon, <l~u~ bu~mess need>, and define the new
\y~rcm rcqu1rcment'\.
lcitaq. '}"tern An older 'l)'\tcm rhat is rypically less rechnologically advanced than currcnrly available 'Y'rcm\.
machine learning An application of compurer science and anifkial intelligence thar uses automattd
approaches 10 pattern recognition and predictive analytics based on large darJsets.
management informauon ~)>tern (MlS) A computer-based information system used in business plJnnmg,
control, decision making, and problem solvmg.
mi"ion-criuul \)'\lcm An information 'Y'tcm rhar i> vital
to
a company'~ upt:rauons.
mc>dt:l-ha,cd 'Y'lcm' c1111incc1 ing (MBSE) An approach to ,,.ystcm' engineering that relit' on doma111
models, rather than rrnd inona l documcn r., to dc<ii;n la rg:e·,calc <rtcm' and convey information
hctwccn cnginee rs.
modeling J\ process th,11 produces a graphical representacion of a concept or process tbtlt systems developers can analy tc, test. a nd modify.
Moore's l.i" A prediction 1h,11 compuring power would double every 18 to 24 months due 10 wcreJsed
nuui.1rurw11011 of elecrron1c components.
NoSQl. dataha\c) Da1.1ba"' 'y>tcrn' that use a flat, nonrabular (nonrdarional) \lrULlur" 10 'tore :ind
procc" largc-..calc da ra,cr\.
objc.:t In obJl-Ct-oricntcd analy<;i• or programming, an object rcprcscnr- a real pcrwn, place, event, or
rra0\act1on.
objcct-oritntcd 0-0J ;inal~s1s The act of understanding an information S)Stem b) rdenufymg things
c.tlled ob1m~. An ob1ec1 represents a real person, place, event. or transaction. Obiecr-onemed analysis
~ .i popul.u .1ppro.1ch 1h.1r ;ees .i S)>tem Crom the viewpoint of the obiect> tbetrueh cs .I) the> funcuon
and interact wuh the sysrem.
personal d1g11al assistant A progr.im rhat responds rouser requesrs through a natural interface, such as
regular speech, to provide assmancc to general-purpose queries. Often embedded m devices such JS
lmemet<Onnl'Cted )peaJ..ers and smarrphones.
prdiminal} imc\Ugaunn 1\n cnirial analy)is ro de:trly idenri fy the narure and scope of the hu,ine,~
opponumty or problem. /\l'o called fca>ibility >tUd).
procl~\
PrQ\cuore or ta'k 1ha1 user>, managers, and IT sraff member) perform. Al;o, the logkal rules
of a 'Y'tcm that arc applied m rran5fonn dara mro meaningfu l infom1anon. ln data Aow diagram5, a
pmce'~ receives input darn and produces nurput tha r has a d ifferent content, form, o r hoch.
produc1 lifccycle management (Pl .M) See application lifocycle management (A LM.).
product oriented Comp,mie~ that manu facture computers, routecs, or microchips.
projccc management The proccs5 of planning, scheduling, mo ni roring, conrrolling, a nd reporting upon
the development of nn informarion sys1cm .
propcrtic' In oh1t.'Ct·o riemcd (0·0) analysis, characteristics rha t objects inherit from their da>S or po~­
>css on their own.
prototH>C An c.1rly, rJp1dl) constructed workmg version of the proposed uuorm.ition >y>tcm.
radio frequency idcnt1fic.111on (RI Ill) Technology rh.~r uses high-frequency radio waves to tr.1ck physical
ob1c•·ts.
requirement\ en11mccring Used m the systems planning phase of the SDLC. It invoh·cs using various
focr-finding techniques, such as interviews, 5urvers, observation, and samplmg, ro d~nt>c the current
system and ident1f) the requ1rcmcni> for the new sysrem.
~ JD» (".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_ ._.... ~~
...
. ..............
_ .... ~---11rt~
-,..~---~ ~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Chapter I
Introduction to Systems Analysis and Design
Key Terms
40
SL-.alablc Ille abihry of a S)»tem to expand ro meer new business requirements and 'olumes.
;en ice-oriented A comp:my that primarilr offers information or o,erviu:·~ or .,.,11, i;0<xh produced b}
other\.
\ofc"arc A proi;ram run h)· computer. for a >pec1Fic functmn or ta.>k.
>p1r.tl modd A developmem modd wub a series of iterations. or rev1s1oos. ba.cd on user feedback.
s1akcholdu An)·one who 1s affected by cbe companr's performance, sud1 as customers. emplO)'ttS, suppliers. srockholdcrs. and members of the comrnuruty.
\tratt111c plan' The loni;-rani;c plans thar define t he corporate mis,ion and goal\. Typically defined by
top manni;cmcnt, with inpuc from all le,·els.
\trucmrcd anal)~;, A trndirional sysrems developmenr cechnique that U'>e'> phase; ro plan, analpc,
de,ii;n, 1mplemenr, and \ uppon on information sysrem. Proces•es and cla1a Jrc treated a' scpara1t
component•.
supply cb.un A rradm on,11 systems developmenr ceduuque th.ir uses phases to pl.111, analyze, design,
implenienr. and supporr ;rn information sysrem. Processes and data .ire treated as scp.iratc
componcn1s.
suppl> chain management (SCM! The coordination. integracion, and man,1gemenr of ma terials, infor·
ma11on. and finances as they move from suppliers to customers, both w1dun and between comparues. In a rornlly 1megr.1ted supply chain, J. customer order could CJ use J production planrung
system to schedule a work order, which in rum could mgger a call for certam pJrtS from one or
more suppliers.
\)'tern \ o;et of related componcnrs thac produces specific re~uJt.,.
')\tern dc-.1gn 'fl"ofic:uion A document that preo;encs the complece design for the new information'>"'tem, along with derailed ccMs, ~mffing, and scheduling for completing chc next SDL.C pha\c, \)\tern<.
implemcm.atson. Also called the technical d~'h'" \pc<:1fo:at1un ur the dct:ulcd de,1i;n 'pcc1fica11on.
>)>tCm requirement> document A docwnent !hat conram> the reqwremelll> for the new S) >tern. describes
the .iltern.im ts th.ii were considered, and makes a specific r«ommend.mon to mana~ement. It 1s the
end product of the systems aoal)·s1s phase.
S}Stcm softwa re Programs that control the comp uter, including chc opcranng sysrcm. de' ice drive~ that
commumca1e \~uh hardware, and lo"·level utilities.
anal)\I\ and dcsii;n The process of developing information sy\rems that eff1.-crively uo;e hardware, wftware, data. proces~cs, and people to support the cumpany'; bussn""' obje... uvc,.
\)>IClll\
');tcm\ anal)\i\ pha\c The >ewnd SDLC phase. The purpose of this ph.i;e I>
rhc new sr,rcm.
to
build a log"a l model of
systems anal) st A person who pla ns, analyzes, and implemcnrs mformanon systems. T hey 111.1y work
im crnall y within a compan) 's IT department o r be hired b) a company as an independent consultant.
~>SICm\ design pha~c The third
SDLC phase. Thie purpose of syotems design is to creme a bl ueprint for
the new S)'\tem that will sacisfy all documented requirements, whether the syMem is being developed
in-how.e or purchased os a package.
~)>lcm;
Jc•cloprncnt life C)dc (SDI C) Activiti~ and fum:rions that ;ystcm> developers t)pically per·
form, rci;a rdlc's of how t ho•c acnvirics a nd foncrions fit mro a partku lar mcthodolofly. The SD I C
model include~ five phaws: ( I) sysccms planning, (2) systems analysis, Pl sy\tcms dcsifln, (4) sy,tcms
implementation, and (5) systems support and securiry.
')\!Cm' implcmcntauon phase The fourth phase of the SDLC. During this pha;c, the ne'~ &)Stem is con·
sm1ctcd-pr~rams arc wmtcn, tested, and documented, and the ;ystcm is ms1,1llcd.
~JD»(".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_._....~~
...
...............
_ .... ~---11rt~
-,..~---~ ~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Phase I
Systems Planning
41
Key Terms
S}Stcms pbnntng pha~c lhc first phase of the SDLC. During this phase, che S)>tems prOJl'Ct get> starred.
rhc proic.:t propo•.il is C\,ilu.ued to determine its fea.ibility. lhe project managemem pl.in 1s formu-
1.itcd, w11h the help of <...ASL rooh where appropnatc.
~}~tcm•
requc\t A form~! rcquc\t to the IT department that describe~ problem' or dc\ircd .:hangc\ tn an
information \)'\tcm or bu\inc\s process. It might propose enhancements for an cxi~nng >)'Stem, the
correctmn of problem,, or the development of an entirely new S)"'item.
\}~ICm\ \uppon and ~Cl'Urit) pha,c During the sysrems support and !>CCUriry pha..e of the
SDLC, the rr
\laff maintain\, cnhan.:o:\, and protect' the .,y;rcm.
techni,aJ support Tcchmcal supporr is neces>ar)' ro supporr che wide \Jtiet) of 11 S)Stellli .ind u>ers. lt
mdudes six mam funcuons: applicanon developmenr, systems support, user support, d.11JbJse .1dmtnis1ra11on, nttwork admin1strarion, and web support. These functions ovcrl.ip cons1dr.rably and often
have diffcrrnr names 111 different companies.
transaction proccssiog !Tl') S)'Stcnt~ Operational systems used co process day-10-day recurnng business
cransacuons, such as cusromer billing.
u.,..,r produl!i' ity '}'lcnh Applkation' 1hm provide employet:s of :ill levch n wide array of tool, to
improve jnh performance. Fxamplc' indudc email, word prcx:c,;in11, graphic~, nnd comp.111y inrrnncc-.
met\ 'irakcholdcr- in,idc and
out~idc
the company who wil I mrc:ract with the 'YMcm.
vertical S}SlCUI A S)'Srem designed to meet the unique requirements of a spectf1c busmess or mdustry,
such as a wtb-based retailer or nuro-supplr srore.
warcrfall model The tradmonal model of soft\vare de,·elopmenr. A graph that depicts the result of each
5DLC phase £lowing do,~o mto the nei.r phase.
~JD»(".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_._....~~
...
...............
_ .... ~---11rt~
-,..~---~ ~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Chapter I
Introduction to Systems Analysis and Design
Exercises
42
Exercises
Questions
1. Whac is information rechnology, and why is it imporranr co socicry?
2. What are the five main components of an information S)'Stem?
3. Explain how ndcsharing services such as Uber and Lyft are disrupting rradir1onal raxicab business
models.
4. Describe the busine~s profile of a home improvemenr srore like Home Depot or Lowe's and how it i~
used.
5. What are the seven types of information systems used in business?
6. What cypes of informacion do the four organizational levels common ro many businesses need?
7. Compare three sysrems dcvelopmenr merhods.
8. Name rhe too ls rhar enable che sysccms analyst to deve lop, manage, and maintain large-sca le informa·
tion systems.
9. Sumrn:irizc the seven main functions of rhe IT department.
I 0. Whar arc the ro les and respons ibilities of a sysrems analysr in a modern business?
Discussion Topics
1. Some experts believe rhar rhc growrh in e-commerce will cause states and local governments ro lose
rax revenue, unless lmcrner transactions are subject ro sales rax. Whar is one argument rhar supports
this view and one rhar opposes ir?
2. When team memberl> .ire geographically dispersed, communication bccomcl> more challenging.
Explain how groupware can increase user producrivicy in chis contexc.
3. Under whac circumsrances should a systems analyse recommend an agile merhodology over Struccurcd
devclopmenr or ob1ecr-orienced analysis?
4. Should che IT dirccror reporc co che company presidenc or somewhere else? Does it marrer?
5. Rapid advancements in areas such as machine learning and predictive analycics in dara science are
affecting the daily operarions of many IT deparnnenrs. What should a syscems analyst do ro stay
currenr?
Project s
1. Contact three people ac your school who use informacion systems. Lise cheir positions, the mformacion
they need, the sysrems they use, and the business functions they perform.
2. Visir rhree websites ro learn more about agile system deve lopment. Prepare a lisr of the sires you visited and a ~ummary of the results.
3. Model-based systems engineering (MBSE) is one of che leading methods used by systems ana lyses to
develop informarion systems. Cameo Systems Modeler is one of the leading cools supporting MBSE.
Research magazine articles and the web ro learn more about th is tool's capabi lities. Identify three of
its srrengrhs in terms of improving rhe qualiry of the finished product.
4. Explore the Critical Thinking Community website ac criticalthinki11g.org. Identify three importanr
topic~ currencly being di~cussed and describe your findings.
5. Compare the corporate culrure of three leading IT companies and show how rheir ~tarement of values
could atcracr (or repel ) sysrems analysts from joining their organization.
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
~
~ ... _
JIJ»C....... ~ Al RlilfD
l,eocl\olld.,...,. _WOlfi'l'l.~• ......-W.Mdk«iil,_._DIK•dtc--.: ......,_ . . . ,_.,~-.lit .......... .._.,._.__..,~•\
. . . _ . .... ..., ~...,.._,_..,..., J\&."9 ... --.11 ......... ~ C'dptl"~~d.tt ...... -
............ -
..... -
..........
-.-.....w--...-.11
Chapter 2 Analyzing the Business Case
Analyzing the
Business Case
Chapter 2 explains how to analyze a business case.This
chapter also explains why it is Important to understand
business operations and requirements, how IT projects
support a company's overall strategic plan, how systems
projects get started, and how systems analysts conduct
a feasibility study and perform preliminary investigations, which concludes with a report to management.
Fact-finding techniques that begin at this point and carry
over into later development phases are also described.
The chapter includes three "Case in Point"
discussion questions to help contextualize the concepts
described in the text. The "Question of Ethics" asks the
systems analyst to consider the Implications of granting
preferential treatment to a system enhancement
request when the request originates with a friend of the
project's manager.
LEARNING OB ECTIVES
Wl1e11 you fi11isb this d1apter, you s/Jould be able
to:
CONTENTS
I . Describe the strategic planning process.
2. Conduct a SWOT analysis.
3. Explam how cools can support strategic
planning.
4. Explain the concept of a business case.
5. Summarize the ~ix main rea~ons for systems
requests.
6. Describe the two factors affecting systems
projects.
7. Explain how systems requests are processed.
8. Explain how systems request feasibility is
assessed.
2. 1 Strategic Planning
Case in Point 2. 1: Pets for Rent
2.2 Strategic Planning Tools
2 .3 The Business Case
2 .4 Systems Requests
2 .5 Factors Affecting Systems Projects
2 .6 Processing Systems Reque~cs
Case in Point 2.2: Actaway Airlines, Part One
2 .7 Assessing Request Feasibility
2 .8 Setting Priorities
Case in Point 2.3: Arra way Airlines, Parr Two
2 .9 The Preliminary Investigation
A Question of Ethics
2 . 10 Summary
Key Term~
Exercises
9. Explain how systems requests arc prioritized.
I 0. Conduct a preliminary invesrigarion.
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,...... 111>_... ........ _ .. ~ ........................._ .... ._
Phase I
Systems Planning
2.1 Strategic Planning
2 I
45
STRATEGIC PLANNING
Strategic planning is the process of identifying long-term organizational goals, strategies, and resources. A strategic plan looks beyond day-to-day activities and focuses on
a horizon that is three, five, ten, or more years in the forure. The IT ream must deliver
IT resources ro support the firm's long-term strategic goals. Therefore, IT managers
and systems analysts must understand and participate in strategic planning acriviries.
IT managers ha\'e ro prepare for long-range needs, such as a new darn warehouse,
even as they handle immediate problems, such as a logic bug in the payroll system. In
mosr companies, the IT ream reviews each IT-rela ted proposal, project, and systems
request ro determine if it presents a strong business case, or justification.
T he following sections provide an overview o f strategic planning, a description of
SWOT analysis, and a look at the role of the IT d epartment.
2. 1. 1 Strate gic Planning Ove rview
Strategic plan ning starts with a missio n ~tatemen t that reflects rhe firm's vision, purpose, and v:ilues. Mission statements usually focus o n lo ng-term cha llenges and goa ls,
the importance of the firm's stakeholders, :rn d a commitment to the fi rm's ro le as a
corporate citizen. For example, Google's mission statement posted on their website is
stated succinctly as," ... to organize the world's information and make it universally
accessible and useful."
\Vi ch the mission statement as a backdrop, a f'irm develops short-ter m goals and
objectives. For example, the company might establish one-year, three-year, and fiveyear goals for expanding market share. To achieve those goals, the company might
develop a list of shorter-term objecrives. lf it wants to increase online orders by
30% next year, a company might sec quarterly objectives with monthly milestones.
High-priority objectives arc called crirical success factors. A critical success facto r is
one that must be achie\'ed to fulfill the company's mission.
Objccti\•cs also might include tactical plans, such as creating a new website and
training a special customer support group to answer email inquiries. Finally, the objectives translate into day-to-day business operations, supported by IT and other corporate
resources. The outcome is a sec of business resulcs thar affect company stakeholders.
Pets for Rent is an innovative company that brings puppies to corporate meetings.
The company's CEO says that having puppies in a room with employees in an informal setting
helps break down communication barriers and fosters. a greater sense of teamwork and comradery. Since this is a new company, the CEO has asked you if a mission statement is necessary.
After you review the chapter material, write a brief memo with your views. Be sure to include
good (and not-so-good) examples of actual mission statements that you find on the web.
2. 1.2 SWOT Analysis
The letters SWOT stand for st rengths, weaknesses, opportunities, and threats. A SWOT a na lysis can focus
on a specific product or project, an operating division, the entire company, or the mission statement itself.
The overall aim is to avoid seeking goals that are unrealistic, unprofitable, or unachievable.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Chapter 2 Analyzing the Business Case
2.1 Strategic Planning
46
An enterprise SWOT analysis us ually begins with these questions:
•
•
•
•
What are our strengths, and how can we use them to achieve our business goals?
What are our weaknesses, and how can we reduce or eliminate chem?
\'Qhac arc our opportunities, aod how do we plan ro rake advanragc of them?
\'Qhat are our threats, and ho\V can we assess, manage, and respond m the possible risks?
STRENGTHS
A SWOT analysis examines a
firm's technical, human, and financial resources. In Figure 2-1, the
butlered lists show samples of rypical
strengths, wca kncsscs, opportu nities,
and threats for an organization considering cxp:tnding their web-based
online operations.
As the SWOT process conrinues, management reviews specific
resources, business operations, and
valm1blc assets. For example, suppose
rhat the company owns an imporranr
patent. A SWOT review for rhe parent
might resemble Figure 2-2.
There is no srandard approach to
WEAKNESSES
• Excellent web design staff
• low systems analyst
• Still using 58\/eral legacy
systems
• Budget Increase was turned
down
• Documentation needs updaUng
turnover
• Recently upgraded notwork
THREATS
OPPORTUNmES
• Well-pos1Uoned for expansion
• Can be first with new
software
• High potenbal tor B2B
growth
• Aggressiv e new web
competition
• Impact ol new FCC rules
strategic planning. Some managers
• Other firms oller bener
benefits
believe that a firm's mi sion sratement !.hould contain an inspirational
message to its stakeholders. Others
feel that unless a firm starts with a
FIGURE 2 - 1 A SWOT analysis might produce l"e$Ults similar to those
realistic SWOT assessment, ic might
shown here.
develop a mission statement that is
unachievable. Most companies view
the strategic planning process as a dynamic iorcraction, where the company's mission
statement reflects a long-term horizon, but sets forch goals that arc achievable and
consistent with real-world conditions.
2. 1.3 The Ro le of the IT De partme nt
A systems analyst should be interested in strategic planning because it reflects a
higher level of involvement in supporring the direcrion of rhe project. For example,
while working on rhe same project, one analyst might say, "I am using a CASE cool,"
while another might say, "I am helping the company succeed in a major new business
venture." Systems ana lysts should focus on the larger, strategic role of the IT department even as they carry out their day-to-da y technical tasks.
Experienced analysts know that planning is essentia l for IT project success, and it
must srarr as early as possible. Ca reful planning can help assure chat:
• The proiect supports overall business strategy and operarional needs.
• The project scope is well defined and clearly stated.
• The project goals are realistic, achievable, and tied ro specific statements,
assumptions, constraints, factors, and other inpucs.
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
47
2.3 The Business Case
SWOT Analysis of a Corporate Patent
During the planning process, management and IT should be closely linked. In
the past, a typical IT department handled
Strengths
Weaknesses
all aspects of systems development and
• Our patent has a hmrted Me
• Our patent covers valuable
consulted uc;er~ only when, and if, the
Whetl 11 expires. the technology
technology that we can use in
depamnent wanted user input. Today,
will no longer be prot8C1ed
popular products
systems development 1c; much more
team-onenred. New approaches to systems
Patent
development, such as agile methods,
typically involve groups of users, managers,
Opportunities
Threats
and IT staff working together right from
• We can use the technology on
• A compehtor might develop
the start of the project.
more products, license 11 to
similar technology thal does
Although ream-oriented development
others, or seek more patents.
not legally lnfnnge our patent.
is the norm, some companies still sec the
role of the IT department as a gatekeeper,
responsible for screening and evaluating
FIGURE 2-2 This SWOT analysis example focuses on a specific asset: a
systems requests. Should the IT department
company patent.
perform the initial evaluation, or shouJd
a cross-functional team do it? The answer
probably depends on rhc company's size, the nature of the system request, and the
scale of the project. For example, in smaller companies or firms where only one person has IT skills, that person acts as a coordinator and consults closely with users and
managers to evaluate systems requests. Larger firms are more likely to use an cvaluarion team or a srsrems review committee.
22
STqATEGIC PLAl'INING TOOLS
Irrespective of the development strategy used, many organizations still rely on the IT
group to provide guidance when it comes to selecting tools to support strategic planning activities. Some analyses srick to tradicional text-based methods, using tvl icrosofc
\'(lord rabies, to pro,•ide srrucrure and clarity. Ochers prefer a spreadsheet, such as
t..1icrosoft Excel, because it is easy to display prioriries and the relative importance of
planning assumptions.
A more sophisticated approach is co use a CASE tool to define and document the
overall environment. Such tools can integrate various statements, entities, data elemencs, and graphical models into an overall structure. The result is more consistency,
better quality, and much less effort for the system analyst. Figure 2-3 shows a cloudbased road mapping software product from Aha! chat provides inccgraced support for
product scracegy visioning and strategy develop1nent.
There arc other strategic planning "cools" that are not CASE tools, bur more techniques that ore sometimes supported by software programs. For example, mind maps,
balanced scorecards, and gap analysis are all valuable techniques thac can be parr of strategic planning in an organizarion. An imporrant role for the systems ana lyst is to know
when each of these rools and cechniques can best be used in particular project conwxcs.
2.3
THE BUSINESS CASE
During the systems planning phase, the IT ream reviews a request co determine if
it presents a strong businesc; case. The term business case refers co the reasons, or
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 2 Analyzing the Business Case
2.3 The Business Case
48
Ahal - - _, -
_,, .....
- -0
-
Strategy first
-
- -
.. ...,............. .,,... ... .......... I"'
....
· -~--
-
....-.;,~
-=---
·- - .--
••• • •
=
-
-..
--
. ._..,_,
............
_.,.
..........
.,_, ..
,_
...,., -"«.,...
.,............,..........
c.....
~
FIGURE 2-l Aha! provides Integrated support for product strategy visioning.
·~• .&.1\. 1
,_
jusrificarion, for a proposal. To perform rhe review, the analysr muse consider rhe
company's overall mission, objectives, and IT needs.
A business case shouJd be comprehensive yet easy to understand. It should
describe rhe project clearly, provide the juscificarioa to proceed, and estimate the project's financial impact. SpecificaUy, che business case should answer questions such as
the following:
•
Why are we doing this project?
•
What is the project about?
•
How docs this solution address key business issues?
•
•
I low much will it cost and how long will it rake?
Will we suffer a productivity loss during the transition?
•
What is the return
•
What arc the risks of doing rhe project? What are the risks of nor doing the
projccr?
•
How will we measure success?
•
What alternatives exist?
OJl
investment and payback period?
Examples of business cases, borh good and bad, can be found on line. Just search
for "sample business case" and examine the structure and content of some of rhe samples available. It is particularly instructive to compare and contrast business cases for
different areas, such as chose for go\•emmenr contracts versus private enterprises.
(....,..... J:gi( . . . . . I_,.. 4111.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
49
2.4 Systems Requests
2.4
SYSTEMS REQUESTS
Stronger
The starting point for most information
systems projects is called a systems request,
which is a formal way of asking for IT
support. A srsrems requesr might propose
enhancements for an existing system, the
correction of problems, the replacemenr
of an older sy rem, or rhe developmenr of
an enrirel)• new informarion sysrem char is
needed ro support a company's cur renr and
future busine s need .
As Figure 2-4 shows, rhe six main reasons
for ~ystems request are stronger controls,
reduced cost, more information, bener performance, improved service to customers, and
more support for new produces and services.
STRONGER CONTROLS: A system must
Controls
Reduced
Cos1
More
Suppo<1
Systems
Request
Improved
Service
t/
More
_J
I
lnlormatt~
Better
Performance
J
FIGURE 2-4 Six main reasons for systems requests.
have effective controls to ensure that data
is secure and accurate. This is becoming
increasingly important given the number
of darn breaches that seem to occur on a
daily ba!.i . ome common securiry con-
trols include passwords, various levels
of user acces~, and encryption, or coding
data to keep it safe from unauthorized
users. l lardware-based security conrrols
include biometric devices that can identify
a person by a retina scan or b>• mapping
a fingerprint pattern. The technology uses
infrared scanners that create images with
thousands of measurements of personal
physical characteristics, as shown in
Figure 2-5, which displays Apple's Face ID
security mechanism on the iPhonc.
In addition to being secure, data also
must be accurate. Controls ~hou ld minimize data entry errors whenever possible.
For example, if a user enters an invalid
FIGURE 2-5 Apple Face ID uses advanced machine leamirig co recognize users.
customer number, the order processing
system should reject the entry immediately and prompt the user to enter a valid
number. Darn entry controls must be effective without being excessive. If a !.)'Stem
requires users to confirm every item with an "Are you sure? YIN" message, internal
users and customers might complain that the system is not user-friendly.
REDUCED COST: The current system could be expensive ro operate or maintain
as a result of rechnical problems, design weaknesses, or the changing demands of che
busine s. Ir might be possible to adapr the system co newer technology or upgrade
it. On the other hand, cost-benefit analysis might show that a new system would be
more cost effective and provide bener supporr for long-term objectives.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 2 Analyzing the Business Case
so
2.5 Factors Affecting Systems Projects
MORE INFORMATION: The syscem mighc produce informacion char is insuf-
ficienc, incomple re, or unable ro supporc the company's changing informarion
needs. For example, a syscem chat tracks customer orders mighr nor be capable of
analy1.1ng and predicring marketing rrends. In the face of intense compericion and
rapid product development cycles, managers need the best po~s1ble informacion
to make major decisions on planning, designing, and marketing new products and
services.
BETTER PERFORMANCE: The current system mjght not meec performance require-
mencs. For example, ic n1ighc respond slowly co data inquiries at certain times, or it
mighc be unable co support company growth. Performance limicarions also result
when a system that was designed for a specific hardware configuration becomes
obsolete when new hardware is introduced.
IMPROVED SERVICE: Systems requests often are aimed ac improving service ro cus-
tomers or users within the company. For instance, allowing mutual fund investors ro
check their acco unt balances on a website, storing data on rental car customer preferences, or creating an online college registration system arc all examples of providing
valuable services and increased cusromer satisfaction.
MORE SUPPORT FOR NEW PRODUCTS AND SERVICES: New products and
services often require new types or levels of IT supporc. For example, a sofrware
vendor might offer an a utomacic upgrade service for subscribers; or a package delivery company might add a special service for RFID-tagged shipment!>. In situations like
rhe!>e, it is most likely that addjtional IT support will be required. At the other end of
the speetrum, product obsolescence can also be an important factor in IT planning. As
new products enter the marketplace, vendors often announce that they will no longer
provide support for older versions. A lack of vendor support would be an important
consideracion in deciding whether or not to upgrade.
2.5 f ACTORS AFFECTING
SYSTEMS PROJECTS
internal and external factors affecc every business decision that a company makes,
and IT projects are no exception. Figure 2-6 shows internal and external factors that
shape corporate IT choices.
2.S. I Internal Factors
Internal focrors include the strategic plan, top managers, user requests, information
technology deparcment, existing systems and data, and company finances.
STRATEGIC PLAN: A company's srrategic plan sets the overall direction for the
firm and has an importa nt impact on IT projects. Company goals and objectives rhat
need IT support will generate sysrems requests and influence IT priorities. A strategic
plan that stresses technology rends to create a favorable climate for IT projects that
extends throughout the organization.
TOP MANAGERS: Because significant resources arc required, top management usu-
ally initiates large-scale projects. Those decisions often result from strategic business
goals that require new IT systems, more information for decision making processes,
or better supporr for mission-critical information systems.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-
Woip-M ._..,.. - ·~•-fllllie<'f •,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
51
2.5 Factors Affecting Systems Projects
External Fact ors
Lr------...
Teclinology
l..__ _ _ _~J
Suppliers
Government
The Economy
l.
------
Custome~
Competitors
JL- - - - - -
FIGURE 2·6 Internal and CKternal factors that affect IT projecrs.
As users rely more heavily on information systems to perform
their jobs, they arc likely to request even more IT services and support. For example,
USER REQUESTS:
sales rep might request improvemencs to the company's web ire, a more powerful
sales analysis report, a network ro link all sales locations, or an on line S)'Stem that
allows customers to obrain the status of their orders instantly. Or, users might nor
be satisfied with the current system because it is difficult to learn or lacks flexibtliry.
They might want 111formation S)'Stems support for business requirement!> that did nor
even exist when the S)'Stem was first developed.
Systems project requests come also
&om the IT department itself. TT staff members often make recommendations based
on their knowledge of business operations and cechno1ogy trends. IT proposals might
be strictly technical matters, such as replacement of certain nenvork components, or
suggestions might be more business oriented, such as proposing a new reporting or
data collection srstem.
INFORMATION TECHNOLOGY DEPARTMENT:
Errors or problems in existing systems can trigger
requests for sysrcms projects. When dealing with older systems, analyses sometimes
spend coo much rime reacting ro day-to·day problems without looking at underlying
causes. This approach can curn an iniormarion system into a patchwork of corrections and changes that cannot support the company's overa ll business needs. This
problem typically occurs with legacy systems, which are older systems rhat are less
technologically advanced. When migrating ro a new system, IT pl:inners must plan
the conversion of existing data, which is described in detai l in Chapter I I.
EXISTING SYSTEMS AND DATA:
COMPANY FINANCES:
A company's financial status can affect systems projects.
If rhe company is going through a difficult time, the project may be postponed until
there is more cash available to finance the effort. On the other hand, if the company
is enjoying financ ial success, the decision ro embark on a new project may be easier to
make.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"-> - "'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ..... ...... ... ~..
__....
~~·~---- ···---~~ - .,.-" ~
...........
Chapter 2 Analyzing the Business Case
52
2.5 Factors Affecting Systems Projects
2.S.2 External Factors
Exrernal facrors include technology, suppliers, cusromers, comperiror<;, the economy,
and government.
Changing technology is a major force affecting business and society in general. For example, the rapid growth of telecommunications, coupled with
increased computing power and continuous miniaturization of electronic components, has created entire new industries and technologies, including the proliferarion
of smarrphones and the app ecosysrem.
Technology also dramatically reshapes existing business opcrarions .
The success of scanner technology resulted in universal bar coding rhat
now affects vi rtually all products. Some industry experts predict that
bar code technology, which is over 40 years o ld, will be overshadowed
in the furure by electronic product code (EPC) technology that uses
RF ID rags to identify and monitor the movement of each individual
product, from the factory floor to the rernil checkout counter.
Quick Response codes (QR Codes), as shown in Figure 2-7, are like
bar codes bur square in shape. T hey contain more information than
traditional ba r codes, but less than RF ID rags. T hey do ha vc the advantage of being less expensive to use than RFID rags, and they can be
printed o n a lmost an ything-including online advertisements.
The Internet-of-Things (JOT) is a newer development that involves
almost all electronic devices con1municating with one another over a comFIGURE 2·7 QR Code.
puter network. The communication can use radio signal~, as with RFID
cags, digical messages, or other means. loT devices can act as sensors, sending important information to centralized data storage and procetising nodes. IoT devices
also raise new security and privacy concerns that the systems analyst must coru.ider.
TECHNOLOGY:
•
SUPPLIERS: With the growth of clcctroaic data interchange (EDI), relationships with
suppliers arc crirically importanr. For example, an automobile company might require
t hat suppliers code their parts in a certain manner to march rhc auto company's inventor)' conrrol system. EDI also enables just-in-time UIT ) inventory ystems that rely on
computer-to-computer data exchange to minimize unneces ary inventory. The purpose
of a JIT system is to provide the right products at the right place at rhc right rime.
Blockchain technology is a promising mechanism for managing upply chains more
powerfully rhan before. Blockchain provides a distributed ledger ysrem that is efficient, secure, transparent. Large companies such as 181\ll are already using blockchain
to improve operarions for their customers, such as the Food Trust product shown in
Figure 2-8 rhar \'<'almart uses for tracking food safety from grower to consumer.
IBM Blockchaln at work
......
,....~.....nc:rwe,..;
-..............
---·--
__...._,.,._...,..,.
----~-----
_........
,.._..___,.
......._.___..........
._.. ...__
..__ .......
...
._
FIGURE 2·8 IBM 81ockcha1n.
Sourt•
(....,..... J:gi ( . . . . .
_,..._
. ..............
....-......."..__
-
.-
»1(
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
-------..... ......
.....--------.
~- )U,
..,...,...... .,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~--- t fta111&....-.~~ ij
__.~~ c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
53
2.5 Factors Affecting Systems Projects
Customers are virally important 1to any business. Information S)'Stcm
that interact with customers usually receive top prioriry. Many companies implement
customer relationship management (C RM ) systems char integrate all customer-related
event<; and transactions, including marketing, sales, and customer service acnvines.
Vendor-oriented CRNI systems often interconnect with supply chain management
(SCM) systems, which were discu sed in Chapter 1. CR;\it components can provide
automated responses to sales inquiries, online order processing, and inventory tracking. Some suppliers use robots for order fulfillment, such as the Kiva robots shown in
Figure 2-9 rhar Amazon.com uses in their warehouses.
CUSTOMERS:
FIGURE l -9 Amnon Roboucs' Krva robots.
Another RFID application is called electronic proof of delivery (EPOD). Using
EPOD, a supplier uses RFID tags on each crate, case, or shipping unit ro create a digital shipping list. The customer receives the list and scans rbe incoming shipment. If a
discrepancy is detected, iris reported and adjusted automatically. Because they would
be expensive ro invesrigare manually, small shipping inconsistencies might nor otherwise be traced. This is an example of technolog)r- related cost control.
Competition drives many information systems decisions. For
example, if one cellula r telephone provider offers a new cype of digiral service, orher
firm s musr match rhe plan in order to remai n competitive. New product research and
developmcnr, marketing, sales, and service all require IT support.
COMPETITORS:
Economic activity bas a powerful influence on corporate
information management. In a period of economic expansion, firms need to be rea<ly
with i.calable systems that can handle additional volume and growth. Predicting the
business cycle is not an exact science, and careful research and planning are important.
THE ECONOMY:
Federal, stare, and local government regulations directly affect
the design of corporate information systems. For example, up-to-dare fRS reporting
requiremenrs must be designed into a payroll package.
GOVERNMENT:
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 2 Analyzing the Business Case
2.6 Processing Systems Requests
54
2.6
PROCESSING SYSTEMS REQUESTS
In most organizacions, che IT deparcment receives more systems requests than it can hancUe.
Many organizations assign responsibility for evaluating systems requests to a group of
key managers and users. tvlany companies call this group a systems rC\ iew com mince
or a computer resources committee. RegardJess of che name, che objective 1s to use the
combined judgn1ent and experience of severaJ analysts co evaluate project requests.
2.6. 1 Systems Request Forms
Many organizations use a special form for systems requests, similar to the online sample hown in Figure 2-10. A properly designed form streamlines che request process and
ensures consistency. The form must be easy to understand and include clear instructions. It shou ld include enough space for all required information and )hould indicate
what supporting documents
Tech Support Request Sysleni
1/••r1,.:.. ·"~' ::..·, ~· ,,, "'·'"''· 1
are needed. Most companies
use onJine systems request
Submit Roqueet
forms rh:H users submit electronically because the form can
be processed automatically.
When a systems request
form is received, a systems analyst or IT manager examines it
o-awio . . ~
_ _ ., olllllO Cl•
co determine what IT resources
arc required for the preliminary
investigation. A designated
person or a committee then
decides whether m proceed
wirh a prelimmary inve tigation. omerimes, a situation
o a - .... o ...
requires an immediate response.
For example, if the problem
involves a mission-critical sysFIGURE 2- 10 Example of an onhne systems request form.
tem, an IT maintenance team
must restore normal operacions
immediately. \'Qhen the sysrem is functioning properly, die ream conduce a review and
prepares a systems request to docwnent the work that was perfom1ed.
7
•
)
2.6.2 Systems RequestTools
\Xfhen the number of requests su bmitted throug h automated fo rms becomes significant,
or if the requests can origi nate from intern al sou rces as well as extern a I customers,
special-purpose systems request tools can be used to help manage t he work flow. For
example, Figure 2-'l 1 ill ustrates the service request capa bilities from l'nregrify that captures, manages, a nd routes requests to systems analysts based on definable business
rules. In th is way, req uests are tracked and analyzed for improved performance.
2.6.3 Systems Review Committee
Most large companies use a systems review comminee to evaluate systems requests.
Instead of relying on a single individual, a committee approach provides a variety of
experience and knowledge. \Vith a broader viewpoint, a committee can establish priorities more effectively t ban an individual, and one person's bias is less likely ro affect
the decisions.
(....,..... J:gl( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
SS
2.6 Processing Systems Requests
A rypical committee consists of
C
.
··• •' "'
.... c
•
•
• •
'·'
the IT director and several managers or representarives from other
Service Request Management
departmencs. The IT dirccror usuall)' serve:. as a technical consultant
co ensure that committee members
are aware of crucial issues, prob~
....
&"!ilil• ~ ---·-----~---- .... · - lems, and opportunities.
- ........ - - -..... ,..._ ...................... ~o..
...,.._,___...,
_..
,...
_...
Although a committee offers
._
many advantages, some disadvan--~
s..1.....-r .. tagei. exist. For example, action
.........
on requescs must wait unri l the
committee meets. Another potential disadva ntage of a committee is
that members might favor projects
req uested by their own departments,
and internal polit ical differences
could delay important decisio ns.
M any sma ller companies re ly
FIGURE 2- 11 A service request management system from lntegrify.
on one person to evaluate sysrem
requests instead of a committee. If
only one person has the necessary IT skills and ex perience, t hat person must consult
closely with users and managers throughout t he company to ensure that bu5iness and
operational needs arc considered carefully.
p
::::.
GM11o.rno
-·----_...................
...........
.... .............. ......
---
.. ............. ........ -.........................
...
~
. . . . . . . . . ;ill . . . . . . . . . _ . . . . . . . . . . . ..,.
_ __
--
-- -
--
\Vherher one person or a commitrec is responsible, the goal is to evaluate the
requests and ser priorities. Suppose four requests must be reviewed:
1. The marketing group wanes to analyze current customer spending habits and
forecast future trends.
2. The technical supporr group wanes a cellular link, so sen•ice representatives can
download rechnical dara instantly.
3. The account ing department wanes ro redesjgn customer starements and allow
Internet access.
4. The producrion sraff wants an inventory control system that can exchange dara
wirh major suppliers.
\'<lhich projects should che firm pursue? What criteria should be applied? I low
should p riorities be determined? To answer chose questions, the individual or the
commirtce m use assess rhc feasibiliry of each request.
__ ,
.
.
.
.CASEJN;.P.OINfl:,.2.2:
..
.
,ATITAWAY AIRLINES, ~ RART:: O;,a·>
~
--
----
'
·.:4
You are the IT director at Attaway Airlines, a small regional air carrier.You chair the
company's systems review committee. and you currently are dealing with strong
disagreements about two key projeets. The marketing manager says it is vital to have a new
computerized reservation system that can provide better customer service and reduce operational costs.The vice president of finance is equally adamant that a new accounting system
is needed immediately because it will be very expensive to adjust the current system to new
federal reporting requirements.The VP outranks the marketing manager. and the VP is your
boss.The next meeting, which promises to be a real showdown, is set for 9:00 a.m. tomorrow. How will you prepare for the meeting! What questions and issues should be discussed!
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
-
Chapter 2 Analyzing the Business Case
56
2. 7 Assessing Request Feasibility
2. 7
ASSESSING REQUEST FEASIBILITY
As described in Chapter 1, a sysrerns request must pass several tests to see whether
it is worthwhile to proceed further. The first step is to identify and weed out systems requests that arc not feasible. For example, a request would not be feasible if it
required hardware or software that the company al ready had rejected.
Even if the request is feasible, it might not be necessary. For example, a request
for multiple versions of a report could require considerable design and programming
effort. A bencr alternarive might be to download the server dara ro a personal compurerbased sofnvare package and show users how to produce their own reports. In this
case, rraming users would be a bener investment than producing reports for them.
Somerimes assessing request feasibility is quite simple and can be done in a few
hours. If rhc request involves a new system or a major change, however, extensive
fact-finding and investigation in rhe form of feasibility studies are reqwred.
2.7. I Feasibility Studies
As shown in Figure 2- 12, a feasibi lity study uses four main yardsticks ro measure a
proposal: operational feasibi lity, eco111omic feasibi lity, technical feasibility, and schedule fcasibil icy.
How much effort should go into a feasibility study depends on nature of the
request. For example, if a deparunent wants an existing report sorted in a different
o rder, the analyst can decide quickly whether the request is feasible. On the other
hand, a proposal by the marketing department for a new market research system to
predict sales trends would require much more effort. Jn either case, the systems analyst should ask these important questions:
•
ls the proposal desirable in an operational sense? Is it a practical approach char will
soh·e a problem or rake advantage of an opporruniry to achieve company goals?
•
Is the proposal technically feasible? Are the necessary technical resources and
people available for the project?
• Is rhe proposal economically desirable?
What are the projected saving~ and costs?
Are ocher intangible factors involved, such
as customer satisfocrion or company image?
ls the problem worrh solving, and will
the request result in a sound business
investment?
0pe1"8tlonal
• WiH If be easy to
team and vse?
Schedule
• Can we do 11in
time?
Fualble?
=:=a •
Economic
Will b enefits
e'Kceed costs?
Technlcel
• Do we have the
tech resources?
FIGURE l -1l A feasibility study examines operational, technical, economic,
and schedule factors.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
• Can the proposal be accomplished
within an acceptable rime frame?
To obtain mo re information about a
systems request, ini tial fact-finding migh t
be accomplished by stud ying o rganization
charts, performing interviews, reviewing
current d ocumentation, observing operations, and surveying users. Sometimes,
developing prototypes can provide additional insight into the feasibility of the
request. If the systems request is approved,
more intensive face-finding will continue
during the systems analysis phase.
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
57
2.7 Assessing Request Feasibility
2.7.2 O perational Feasibility
Operational feasibi lity means that a proposed system will be used effectively after ir
has been developed. If users have difficulry with a new sysrem, it will nor produce the
expected benefits. Orgamtarional culture can also affect operational feasibility. For
instance, a system that works well in a highly structured workplace might be very
unpopular in a more relaxed corporate culture. Operational feas ibility is difficult ro
measure wirh precision but must be studied very carefully. The follo·wing questions
would help predict a system's operational feasibility:
•
•
•
•
•
•
Does management support the project? Do users support the pro1ecr? ls rhe current !>yi.cem well liked and effectively used? Do users see the need for change?
\Xfill the new system result in a workforce reduction? lf so, what will happen to
the affected employees?
Will the new system require training for users? lf so, is the company prepared
to provide the necessary resources for training current employees?
Will users be involved in planning rhe new system right from the start?
Will rhc new system place any new demands on users or require any operaring
changes? For example, will any information be less accessible or produced less
frequencly? Will performance decJjne in any way? lf so, will an overall gain co
the organizarion outweigh individual losses?
Will customers experience adverse effects in any way, either temporarily or
permanently?
•
Will any risk co rhe company's image or goodwill resulc?
•
Does the development schedule conflict with other company priorities?
•
Do legal or ethical issues need to be considered?
2.7.l Economic Feasibility
Economic feasibility means thar the projected benefits of the proposed !>ystem outweigh the est11nated coses usually considered the total cost of o wnenhip ( fCO),
whic h includes ongoing support and maintenance cosrs, as well as acquisition co~ts.
To determine TCO, the analyst must estimate coses in each of the folio\\ mg a reas:
•
People, including IT staff and users
•
J lardwarc and equipment
•
Software, including in-house development as well as purchases from vendors
•
Formal :.tnd informal craining, including peer-to-peer support
•
•
Licenses and fees
Consulting expenses
•
Facility costs
•
The e~timatcd cost of not developing the system or postponing the project
Tangible co~ts, such as those listed above, usually can be measured in dollars. But
intangible co~ts also must be considered. For exainple, low employee morale might not
have an immediate dollar impact, bur certainly will affect the company's performance.
In addition to costs, tangible and inrangible benefits to the company must be assessed.
The systems review commirtee will use those figures, along with the cost estimates, to
decide whether ro pursue rhe project beyond the preliminary investigation phase.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 2 Analyzing the Business Case
2. 7 Assessing Request Feasibility
58
Tangible benefi ts are benefits that can be measured in dollars. Tangible benefits
result from a decrease in expenses, an increase in revenues, or both. Examples of tangible benefits include the following:
•
•
•
A new scheduling l>ysrem that reduces overtime
An online package tracking system that improves service and decreases the
need for clerical staff
A sophisticated inventory control system that curs excess inventory and eliminates production delays
lniangible benefits are advantages tbat are difficult to measure in dollars but are
important to the company. Examples of intangible benefits include rhe following:
•
•
A user-friendly system that improves employee job satisfaction
A sales tracking system that supplies berter information for marketing decisions
•
A new website that enhances the company's image
The development timetable must also be considered, because some benefits mighr
occur as soon as rhe system is operational, but others might not rake place until later.
2.7.4 Technical Feasibility
Technical feasibility refers to the technical resources needed to develop, purchase,
install, or operate the system. When assessing technical feasib ility, an analyst should
consider the following points:
•
Does the company have the necessary hardware, software, and network
resources? If not, can those resources be acquired without difficult)•?
•
Docs the company have the needed technical expertise? If not, can it be acquired?
•
Does rhe proposed platform have sufficient capacit} for future needs? If not,
can it be expanded?
Will a prototype be required?
•
•
\Xfill the hardware and software environment be reliable? \Xfill tt integrate with
ocher company information systems, both now and in the future? Will ir mrerface properl y with external systems operated by customer~ and suppliers?
•
Will the combination of hardware and software supply adequate performance?
Do clear expecta tions and performance specifications exist?
•
Will rhe system be able to handle future transaction volume and company
growth?
Keep in mind that systems requests that are not currently technically feasible cao
be resubmitted as new ha rdware, software, or expertise becomes available. Development costs might decrease, or the val ue of benefits might increase enough that a systems request eventua lly becomes feasible. Conversely, an initially feasible project can
be rejected later.
2. 7 .S Schedule Feasibility
Schedule feasibility means rhar a project can be implemented in an acceptable rime
frame. \'V'hen assessing schedule feasibility, a systems analyst must consider the inter·
action between time and costs. For example, speeding up a project schedule might
make a project feasible, but much more expensive.
(....,..... J:gi( . . . . . I_,.. 4111.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
59
2.8 Setting Priorities
Other issues that relate ro schedule feasibiliry include the following:
•
•
•
•
•
•
Can the company or the IT ream control the factors chat affect schedule
feasibiliry?
Has management established a firm cimetable for the project?
\Xlhar condition~ must be satisfied during the development of the system?
\Xlill an accelerated schedule pose any risks? If so, arc the risks acceptable?
\Xl11l project management techniques be available to coordinate and control the
project?
Will a project manager be appointed?
Chapter 3 describes various project management tools and techniques.
2.8
SFTTING PRIORITIES
After rejecting systems requests that are not feasible, the systems review committee
must establish priorities for the remaining items. lf tools are used as part of the review
process, the requests may already be in a partially or fully sorted order. The highest
priority goes to project requests that provide the greatest benefit, at the lowest cost, in
the shortest period of rime. Many faccors, however, influence project evaluation.
2.8.1 Dynamic Priorities
It's important to note that many projects are dynamic in nature. For example, projects
chat have adopted an agile merhodology are prone ro rapid changes rhroughout the system development lifecycle. These changes can cause request priorities to change as well.
For example, acquisition costs mighc increase over time, making the project more
expensive than anticipated. This can affect the economic feasibility of a number of
requests. In addition, managers and users somecimes lose confidence in a project. For
all those reasons, feasibiliry anal)•sis and priority setting are ongoing rask that must
be performed throughout the S)'Stems development process.
2.8.2 FactorsThatAffect Priority
When assessing a project's priority, a systems analyst should consider the following:
•
•
•
•
•
•
•
Will the proposed system reduce costs? Where? When? How? By how much?
Will the system increase revenue for the company? Where? When? How? By
how much?
Will the systems project res ul t in more information or produce better results?
I low? Are the results measurable?
Will rhe system serve customers better?
\'(fill the system serve the organization berrer?
Can the project be implemented in a reasonable time period? How long will
the results last?
Are the necessary financial, human, and technical resources available?
Few projects will score high in all areas. Some proposals might not reduce costs
but will provide important new features. Other systems might reduce operating costs
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 2 Analyzing the Business Case
2.9 The Preliminary Investigation
60
substantially but require che purchase or lease of additional hardware. Some systems
might be very desirable but require several years of development before producing
significant benefits.
\'<lhenever possible, the analyst should use tangible costs and benefits that can be
measured in dollars. However, the proposal might invoh·e intangible benefits, such as
enhancing the organization's image, raising employee morale, or improving customer
service. These examples are harder to measu re but should aJ50 be considered.
2.8.3
Disc~tionary
and Nondiscretionary Projects
Pro1eccs where management has a choice in implementing chem are called
di~crecion ary project!;. Projects where no choice exists are called nondiscretionary
projects. Creating a new report for a user is an example of a discretionary project;
adding a reporc required by a new federal law is an example of a nondiscretionary
project.
If a particular project is not discretionary, the systems analyst should ask if it is
really necessary for the systems review committee to evaluate it. Some people believe
th:i t waiting for com111irtee approval delays critical nondiscrecionary projects unnecessarily. Others believe t bat submitting all requests to the systems review keeps the committee aware of all projects that compete for IT resources. As a resul t, the committee
can review priorities and create realistic schedules.
Many nondiscrerionary projects are predictable. Examples include annual updates
ro payroll, cax percentages, or quarterly changes in reporting requirements for an
insurance processing system. By planning ahead for predictable projects, the IT
department manages its resources berrer and keeps the systems review committee fully
informed without needing prior approval in every case.
Back at Ar.u.way Airlines, the morning meeting ended with no agreement between the VP
of finance and the marketing manager. In fact, a new issue arose.The VP now says that the
new accounting system is entided to the highest priority because the federal government
soon will require the reporting of certain types of company-paid health insurance premiums. Because the current system will not handle this report. the VP insists that the entire
accounting system is a nondiscretionary project. As you might expect. the marketing
manager Is upset. Can pare of a project be nondiscretionary? What issues need co be
discussed/ The committee meets again tomorrow. and the members will look to you. as the
IT director, for guidance.
2. 9
THE PRELIMINARY INVESTIGATION
A systems analyst conducts a prelimina ry investigation to study the systems request
and recommend specific action. After obtain ing an authorization to proceed, the
analyst interacts wirh managers, users, and other stakeholders, as shown in the
model in Figure 2-13. The analyst garhers faces about the problem or opportunity, project scope and constraints, project benefits, and estimated development
rime and coses. T he end produce of the preliminary investigation is a report to
management.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Phase I
Systems Planning
61
2.9 The Preliminary Investigation
2.9.1 Planning the Preliminary Investigation
Before starting a preliminary inve rigarion, iris importanr co let
Problem or
people know about chc invcstigarion and explain the role of the
Benefits
Opportunity
system analyst. 1\lleetings with key managers, users, and ocher
stakeholders such as the rT staff should be scheduled, to describe
the proiect, e'<plain roles and responsibilities, answer questions,
and invite comments. Interactive communication with users
starts at this point and continues throughout the development
Projec1 Scope
Costs
and Cons1ra1nts
process.
A systems project often produces significant changes in
company operarions. Employees may be curious, concerned, or
even opposed to those changes. It is not surprising ro encounter some user resistance during a preliminary investigation.
Report to Management J
Employee attitudes and reactions arc important and must be
considered.
FIGURE 2- 13 Model ofa preliminary
When interacting with users, use t he word problem careInvestigation. Note the Importance of fact-finding
fully, because ir has a negative meaning. When users are asked
In each of the four areas.
about problems, some will stress current system limita tions
rather than desirable new features or enha ncements. Instead
of focusing on difficulties, question users about additional capabi lity they would
like to have. This approach highlights ways to improve the user's job, provides a
better understanding of operations, and builds better, more positive relationships
with users.
2.9.2 Pe rforming the Preliminary Investigation
During a preluninary investigation, a systems analyst typically follows a series of
steps, as ~hown in Figure 2-14. The exact procedure depends on the nature of the
request, the size of the project, and the degree of urgency.
Step I: Understand t he Problem or O pportunity
lf the systems request mvolves a new informacion system
or a substantial change 111 an existing syscem, sysre1ns
analysts might need co develop a business profile chat
descnbes current business processes and funcrioos, as
explained in Chapter I. Even where the request involves
relatively minor changes or enhancements, how chose
modifications will affect business operations and ocher
information systems must be understood. Often a change
in one system has an unexpected ripple effect on another
system. When a systems request is analyzed, which
departmen ts, users, and business processes are involved
must be determined.
Jn many cases, the systems request does not reveal
the underlying problem, bur only a symptom. For
example, a request to invest igate centralized processing delays might reveal improper scheduling practices
rather than hardware problems. Similarly, a request
for analysis of customer complaints might disclose a
lack of sales representative training, rather than problems with the product.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
•
•
•
0
Undersland the problem or opponun11y
_J
Dehne fhe pro1ect sc;ope and consframts
Perform lact-fond1ng
• Analyze organlzauon charts
• Review documentauon
• Observe operaflons
• Conducf a user survey
Study usablhty, cost, benefit. and schedule data
Evaluate feaslbllity
0
• Operational
• Technical
• Economic
• Schedule
FIGURE 2- 1 ~ Five main steps in a typical preliminary
invesug~uon.
--......
"-> - "'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ..... ...... ... ~..
__....
~~·~---- ···---~~ - .,.-" ~
...........
Chapter 2 Analyzing the Business Case
2. 9 The Preliminary Investigation
62
A popular rechnique for investigaring causes and effecrs is called a fi 5hbone
diag ram, a shown in Figure 2-15. A fishbone diagram is an analysis cool rhar
represenrs the possible causes of a problem as a graphical ourline. \Vhen using a
fish bone diagram, an analyse firsr scares rhe problem and draws a main bone wirh
sub-bones chat rcpresenr possible causes of rhe problem. In rhe example shown in
Figure 2-15, rhe problem is Low M orale, and rhe analyst has identified four areas
to investigate: £11vironme11t, People, Management, and Mac/1111es. In each area,
the analyst idenrifies possible causes and draws chem as horizontal sub-bones.
For example, Temp too hot or cold is a possible cause in rhe £11viro11me11t bone.
For each cause, the analyse muse dig deeper and ask rhe quesrion: Whar could be
causing this symprom co occur? For example, why is it too hoc? If the answer is a
Faulty thermostat, rhe analyst indicates this as a sub-bone co rhe Temp too hot or
cold cause. In ch is manner, the anal yst adds addirional sub-bones to the diagram,
until he or she uncovers root causes of a problem, rather than just the symptoms.
fl!
••
~- -
---~--
·-
•• , ••
_....... ·--·-
....
•
-
--
•
:.
-
...
FIGURE l - 1S A fishbone diagram displays the causes of a problem.Typically, you must dig deeper to identify
anual causes rather than just symptoms
Step 2: Define the Project Scope and Constraints
Determining the project scope means defining the specific boundaries, or extent, of
the project. For example, a statemen't that, payroll is not being produced accurate/)'
is very general, compared with the statement, overtime pay is 1101 being calc11/ated
correctly (or production workers on the second shift at the Yorktown pla11t. Similarly,
the statement, the project scope is to modify the accounts receivable system, is not
as specific as the sta tement, the project scope is to allow customers to inquire 011/i11e
about acco1111t balances and recent transactions.
Some analysrs find it helpful ro define project scope by creating a list with sections
called Nfust Do, Should Do, Could Do, and W/011't Do. T his list can be reviewed
later, during the systems analysis phase, when the systems requirements document is
developed.
Projects with very general scope definitions are at risk of expanding gradually,
without specific au thorization, in a process called project creep. To avoid thi~
problem, project scope should be defined as clearly as possible. A graphical model
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
63
2.9 The Preliminary Investigation
that shows the systems, people, and business processes that will be affected is sometimes useful. The scope of the project also establishes the boundaries of the preliminary investigation itself. A systems analyst should limit the focus to the problem at
hand and avoid unnecessary expendirure of time and money.
Along with defining the scope of the project, any constraincs on the '>)'Stem must
be identified. A con~traint is a requirement or condition that the system must .,arisfy
or an outcome that the system must achieve. A constraint can im·olve hardware,
software, rime, policy, law, or cosr. System constraints also define project cope. For
example, if the system must operate with cxisring hardware, that is a constraint that
affects porential solutions. Other examples of consrraincs are:
•
The order entry sy!.rem must accept input from 15 remote site .
•
The human resources information system must produce statistics on hiring
practices.
The new website must be operational by March 1.
•
When examining constraints, their characteristics should be identified, as follows.
PRESENTVERSUS FUTURE: Is t he constraint something that must be met as soon as
the system is developed or modified, or is the constraint necessary ar some fucure time?
Ls the consrrainr due ro a requirement within the
organization, or docs some external force, such as government regulation, impose it?
INTERNAL VERSUS EXTERNAL:
MANDATORY VERSUS DESIRABLE: Is the coosuaint mandatory? ls it absolutely
essential to meet rhe constraint, or is ir merely desirable?
Figure 2-16 shows five examples of constraints. Notice rhar each constraint has
three characterisrics, which arc indjcarcd by ics position in the figure and by the srmbol thac represents the consrrainr, as follows:
Sample Constrai nts Shown byTlming, Type, and Urgency
("'E;';'mple A: New IRS
I ~must be used 1n
!he payroll system as
I
Example B: Sometime neX1
year our largest cus1omer wdl
require a seounty code for all
onhne transactlOlls
as poSSlble
Future
Present
I • Mandatory constraint
•
£ • Desirable constraint
Internal
Example 0 : Starting next
week, the marketing system
must track all repeat visits
to the webslle.
Example C: Managemen1
prefers that the project be
completed now rather
than next quarter
FIGURE
Example E: To reduce raw material
costs. we should build supply chain
management capabthty Into lhe next
versoo of our purcnasmg system
l - t 6 Examples of v.1nous types of constraints.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 2 Analyzing the Business Case
2. 9 The Preliminary Investigation
64
•
•
The consrraint in Example A is presenr, external, and mandatory.
The constraint in Example B is future, external, and mandatory.
•
The constraint in Example C is present, internal, and desirable.
•
The constrJint in Example D is present, internal, and mandatory.
•
The con rrainr in Example Eis future, interna~ and desirable.
Regardless of the type, all constraints should be identified as early as possible
to avoid future problems and surprises. A clear definition of project scope and constraints avoids misunderstandings that arise when managers assume that the system
will have a certain feature or support for a project, but later find that the feature is
nor included.
Ste p 3: Pe rform Fact-Finding
The object ive of face- finding is to gather data about project usability, costs, benefits, ;ind schedules. Fact-finding involves various techniques, which arc described
below. Depending on what info rmation is need ed to investigate the systems
request, fact-finding mig ht cons ume several hours, days, or weeks. For example, a
change in a report forma t o r data entry screen might requ ire a single telephone call
or emai l message to a use r, whereas a new inventory system wou ld involve a series
of interviews. During fact- finding, the analyst might analyze organization charts,
conduct interviews, review current d ocumentation, observe operations, and carry
out a user survey.
ANALYZE ORGANIZATIO N CHARTS: An analyst will not alway~ know the organi-
.tational structure of departments involved in the study. Organization charts should be
obtained to understand the functions and identify people to interview.
If organization charts are not available, or are out-of-date, the necessary information should be obtained from department personnel and construct the charts, as
shown in Figure 2-17.
Even when c harts are available, their accuracy should be ve rified. Keep in mind
t hat an organization chart shows formal reporting relationships but nor the informal
alignment of a group, which also is important.
CONDUCT INTERVIEWS: The
Customer Service Department
primary merhod of obraining
informatio n during the preliminary
investigation is the interview. The
interviewing process involves a
series of steps:
1. Determine the people to
interview.
2. Establish objecri vcs for t he
interview.
-
3. Develop interview questions.
~
FIGURE 2- 17 Specialo:z.ed tools such as MlcrosoftVisoo an be used to draw
organizational charu. but general purpose presentation tools such as Microsoft
PowerPoint shown here can also be used.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
4. Prepare for the interview.
5. Conduct the interview.
6. Document the interview.
7. Evaluate rhe interview.
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
65
2.9 The Preliminary Investigation
These seven steps arc discussed in derail in Chapter 4, which describes fact-finding
techniques that occur during the systems analysis phase of the SDLC.
Rememher that the purpose of the interview, and of che preliminary mvestiganon itself, is co uncover facts, nor ro convince others char che project is justified. The
analyst's primary role in an interview is co ask effective questions and listen carefully.
If several people will be asked about the same topic, a standard set of questions for all
the interviews should be prepared. Also be sure to include open-ended que ttons, such
as " \Xlhat else do you think I should know about the system?" or .. Is there any other
relevant information that we have not discussed?"'
\'(!hen conducting interviews during the preliminary investigation, interview managers and supervisors who have a broad knowledge of the system and can provide an
overview of the business processes involved. Depending on the situation, talking to
operational personnel to learn how the system functions on a day-to-day basis may
also be helpful.
REVIEW DOCUMENTATION: Although interviews are an extremely important
method of obtaining information, investigating the current system documentation is
also useful. The documentation might nor be up ro dare, so check with users co confirm that the informa tion is accurate a nd complete.
Another fact-finding method is to observe the current
system in operation. Observe how workers carry out typical tasks. Trace or follow
the actual paths taken by input source documents or output reports. ln addition to
observing operations, consider sampling the inputs or outputs of the system. Using
sampling techniques described in Chapter 4, valuable information about the nature
and frequency of the problem can be obtained.
OBSERVE OPERATIONS:
Interviews can be rime consuming. Sometimes information from a larger group can be obtained by conducting a user survey. In this
case, design a form that users complete and reru rn for cabularion. A survc}' is nor as
Aexible as a series of interviews, bur ir is
less expensive, generally rakes less time,
and can involve a broad cross-secrion of
Pareto Chart: Inventory System Errors
people.
CONDUCT A USER SURVEY:
ANALYZE THE DATA: Systems analysts
use many techniques to locate the source
of a problem. For example, the Pareto
chart is a widely used tool for visualizing
issues that need attention. Named for a
nineteenth century economist, a Pareto
chart is drawn as a vertical bar graph, as
shown in Figure 2- J 8. The bars, which
represent various causes of a problem, are
arranged in descending order, so the team
can focus on the most important causes.
ln the example shown, a systems analyst
mighr use a Pareto chart to learn more
about the causes of inventory system
problems, so that necessary improvements
can be made.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
-
--
-
-.....
FIGURE l -18 A Pareto chart displays the causes ofa problem. in priority
order. so an analyst can tackle the most lmpon:ant cases first. In this example.
the part number issue would be the obvious starting point.
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 2 Analyzing the Business Case
2. 9 The Preliminary Investigation
66
The XY chart, somerimes called a scatter diagnim, is anorher problem-solving root.
Often, an :malysr looks for a correlation becween two variables. For example, suppose complainrs are received about network response time, and rhe cause needs robe
derermined. The analyst would rry to identify variables, such as rhe number of users,
to see whecher there is a correlation, or pan ern. Figure 2- 19 shows rwo XY charts
wirh dara samples. The firsr chart sample would suggest thar rhere is no corrclacion
...
-
__ .. .•
.
~-
•
............... --..._
·-
..
0-. .... _
•
-
.A
.
..
II
'
-
•
-
...........
- ....
• .. •
I
- ·- p
~
•
Network Response Time vs. Number of Users
.. .
..
••
..
••
---
•
n ...... t
n...,...1
•
.,..
---
•
•
•
--
••
• p
•
I
. ...
•
......_
Network Response Time vs. Number of Users
..
..
•.....
-1
...
..
"
•
•
- - ..
... r -
•
•
-~·
•
..
FIGURE 2- 19 An XY chart shows correlation between variables, which is very important in
problem solving. Conversely, a lack of correlation suggests that the vari:lbles are independent.
and that you should look elsewhere for the cause.
(....,..... J:gi ( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,...... .,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~--- t fta111&....-.~~ ij
__.~~ c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
67
2.9 The Preliminary Investigation
between the delays and the number of users, so the analyst would look elsewhere for
the source of the problem. However, if the data resembles the second XY sample, it
indicates a strong relationship between the number of users and the longer response
rimes. Thar informanon would be extremely valuable in the problem-solving process.
Step 4:Analyze Project Usability, Cost, Be nefit, and Schedule Data
During fact-finding, data is gathered about the project's predicted cosrs, anticipated
benefits, and chedule issues that could affect implementation. Before feasibilit y can
be evaluated, this data must be analyzed carefuUy. If interviews were conducted or
surveys used, the data should be tabulated to make it easier to understand. If current
operations were observed, the results should be reviewed and key facts that will be
useful in the feasibihry analysis highlighted. If cost and benefit data were gathered,
financial analysis and impact statements can be prepared using spreadsheets and
other decision-support tools.
Also, time and cost estimates should be developed for the requirements modeling
tasks for the next SDLC phase, systems analysis. Specifically, the following should be
considered:
•
What informa tion must be obta ined, and how will it be gathered and analyzed?
•
Who will conduct the interviews? How many people will be interviewed, and
how much time will be needed to meet with the people and i.umnrnrize their
responses?
\'(fill a survey be conducted? Who will be involved? How much time will it cake
people to complete it? How much rime will it take to tabulate the results?
•
•
How much will it cost to :rnalyze che information and prepare a report with
findings and recommendations?
Step S: Evaluate Feasibility
At chis point, the problem or opportunity has been analyzed, the proiect scope and
consrraincs have been defined, and fact-finding has been performed ro evaluate
project usab1liry, costs, benefits, and time constraints. The next step is to as ess the
project'!> feasibility, beginning wi th reviewing che answers to the questions listed in
Section 2.7. The following guidelines should also be considered:
OPERATIONAL FEASIBILITY: Fact-finding should have included a review of user
needs, requirements, and expectations. When this data is analyzed, look for areas that
might present problems for system users and how chey might be resolved. Because
operational feasibility mea ns that a system will be used effectively, this is a vital area
of concern.
ECONOMIC FEASIBILITY: Using che fact-findi ng data, financia l ana lysis tools can
be applied to :i~sess feas ihiliry. The cost-benefit da ra will be an important factor fo r
management co consider. Also, a cost estimate for the project development ream wi ll
be built into the project management plan.
TECHN ICAL FEASIBILITY: The fact-finding data should identify the hardware, soft-
ware, and network resources needed co develop, install, and operate the system. \~ith this
data, a checklist can be developed that will highlight technical costs and concerns, if any.
SCHEDULE FEASIBILITY: The fact-finding data should include stakeholder expec-
tations regarding acceptable timing and completion dares. As mentioned previously,
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 2 Analyzing the Business Case
2. 9 The Preliminary Investigation
68
often a trade-off exisrs berween a project's schedule and its cosrs. For example,
compressing a projecr schedule mighr be possible, but only if the budget is increased
accordingly co add ext ra personnel. The schedule data will be incorporated into the
pro1cct plan in che form of task durations and milestones.
At rhis stage of the preliminary investigation, there are several alrernarives. It
might be rhat no action is necessary or thar some other srrateg)', such as addirional
training, is needed. To solve a minor problem, a simple solurion might be chosen
wirhour performing further analysis. In other situations, it will be recommended that
rhe project proceed to the next phase, which is systems analysis.
2.9.3 Summarizing the Preliminary Investigation
The fina l cask in the preliminary investigation is to summarize the results and recommendations, which can be conveying to management in a report and/or in a presentation. The written report and the oral presentation are examples of the need for
systems analysts to develop strong conu11unicacions skills. The report includes an
evaluation of the systems request, ao estimate of costs and benefits, and a case for
actio n, which is a summary of che pi:oject reques t and a specific recommenda tion.
T he spcci fie format of a preliminary investigation report varies. A typical report
might consist of the fo llowing sections:
•
/ntroductio11-tbe fi rst section is an overview of che reporc. The introduction
contains a brief description of the system, the name of the person or group
who performed the investigation, and the name of the person or group who
initiated the investigation.
• Systems Request Summary-the summary describes the basis of the systems
request.
•
•
•
•
•
•
findings-the findings section contains the res ults of che preliminar)' investigation, including a descriptjoa of the project's scope, constraints, and
feasibiliry.
Recommendations-a summary of the project request and a specific recommendation. Management will make the final dec1s1on, but the IT department's
input is an important factor.
Pro1ect Roles-this section lists the people who will participate in the project
and describes each person's role.
Time and Cost Estimates- this section describes the cost of acquiring and
installing the system, and che coral cost of ownership during the system's useful
life. Intangible costs a lso shou ld be noted.
Expected Benefits-this section incl udes anticipated tangible and intangible
benefits and a timetable that shows when they are to occur.
Appendix- an ap pendix is included in the report if supporting information
must be attac hed. For example, the interviews conducted might be listed, the
documencacion reviewed, and other sources for the information obtained.
Detailed interview reporrs do not need to be included, but those documents
that support t he report's findings should be retained for future reference.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
2. 10 Summa ry
As a new systems analyst at Premier Financial Services. you are getting quite an education.
You report to the IT manager, who also chairs the systems review committee. Several
months ago. the committee rejected a request from the finance director for an expensive
new accounts payable system because the benefits did not appear to outweigh the costs.
Yesterday. the IT manager's boss asked the IT manager to reconsider the finance director's request. and to persuade the other members to approve it. The IT manager wanted
to discuss the merits of the request, but the discuss ion was cut off rather abruptly. It turns
out the IT manager's boss and the finance director are longtime friends.
The IT manager is now very uncomfortable meeting with her boss. She believes the
directive to reconsider the finance director's request would undermine the integrity of the
systems review process. She feels it would be unethical to grant preferred treatment just
because a friendship is involved. She is thinking of submitting a request to step down as
review committee chair, even though that might harm her career at the company.
Is this an ethical question, or just a matter of office politics? What would you do if you
were the IT manager!
2. I 0
SUMMARY
Systems plann ing is rhe firsr phase of rhe systems development life cycle. Effective
information systems help an organization support irs business processes, carry out its
mission, and serve its stakeholders. During strategic planning, a company examines
its purpose, vision, and values and develops a mission scacement, which leads to goals,
objecttve!>, day-to-day operauons, and business resulcs that affect compan)' stakeholders. SWOT analysis exammes strengths, weaknesses, opponumries, and threats.
S\XIOT analysis can be u ed at the enterprise level and for mdividual pro1ect~.
During the }'Stems planning phase, an analyse reviews the busines~ case, which is
the basis, or reason, for a proposed system. A business case should de cribe the project clearly, provide the jusrificarion to proceed, and estimate rhe project's financial
impact.
Sy~tem~ projects are initiaced co improve performance, provide more information,
reduce costs, strengthen controls, or provide bener service. Various internal and external factors affect syscems projects, such as user requests, top management directives,
existing sy~tems, the IT depa rtment, software and hardware vendors, technology, cu~­
tomers, competitors, the economy, and government.
Duri ng the preliminary investigation, the analyst evaluates the systems request and
determine~ whether the project is feasible from an o perational, technical, economic,
and schedule standpoi nt. Analysts evaluate systems requests on the basis of their
expected costs and benefits, both tangible and intangible.
The steps in the preliminary in vestigation are to understand the problem or opportunity; define the project scope and constraints; perform fact-finding; analyze project
usability, cost, benefit, and schedule dara; evaluate feasibility; and present results and
recommendations to management. During the preliminary investigation, analysts
often use investigative rools such as fishbone diagrams, Pareto charts, and XY charts.
The last cask in a preliminary invescigarion is to prepare a report to management. The
report must include an estimate of time, staffing requirements, cosrs, benefits, and
expected results for the next phase of the SDLC.
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
69
Chapter 2 Analyzing the Business Case
Key Terms
70
Ke y Te rms
biomclric de' kes A mech3ntSm used co uniquely identify a per~n by J rcuna scan or b> mJpping J
fa"al panern.
blod..-h.un A distributed ledger srstem. The technology underl}1ng B11corn.
bu'"''"'' ""'" Refer' to the rca>On>, or ju.cification, for a propo"11.
ca\c: for a•"l1on A part of the prd1m111ary 1n\'e>t1gat1on report to mdna11c:ment that \ummar11e> pro1c.t
rcque\r. and make> ,pcxific recommendation,.
computer resources commim~e A group oi key managers and users responsible for cvaluanng systems
requests. Inc rcrm "systems review commircee ~ is also used.
constraint A requirement or a condirion rhar rhe sysrem must satisf>' or an ourcomc chat 1he system muse
achieve.
critical \Uccc" focwrs Viral objectives that mu>t be achieved for rhe entcrpri>e m fulfill ir' mi,,,ion.
cu,ttuncr rdatiomhip nurna11ement (CRM) l\fany companie; implement 'Y'len1' to mtci;rotc all
cU\lomer·rdarcd event> and tran,action'> including mnrkcrin11, >ale,, and ""l<>mer wrvicc activitics.
discrc1i0Mry projects Where managemenr has a cboice in implementing a pro1ect, rhey arc c;11ied d1screrionJry. l·or example, cre:iring a new reporr for a user is .111 example of .1 discreuonary pro1ccr.
economic fcas1b1lit)' Achieved if the projecred benefits of rhe proposed system ou1we1gh rhc csrirnarcd
cosrs involved in acquiring, installing, and operating ir.
clcccrnnic darn interchange !EDT) The exchange of busine's document\ hctwccn compute" ll'ing a scan·
Jard clcctronk format.
dcuronic produu ~ode (EPCJ Technology char U!>l"> RFID la);) co idcntit) and monicor chc movement of
each 1nd1ndual product, from rhc factory Aoor ro the retail chc~kolll counter.
dcctron1c proof of dcli''l'f} (U'OO) A supplier uses RHD t.igs 011 e.ich cr.ite. case, or shipping unu ro
crearc J d1giral shipping hsr ro verify receipt oi goods.
cncrypuon A process where data is coded (oonverted into unrc.idable char.1cters) so char only those wnh
the required authorization can access the da1a.
fi,hhonc diagram \n analy-;is rool rhar represenrs rhe pos'>ible cau<e<> of a problem a< a graphical nm·
line. ""'.:ailed an bhikawa <liah'l"am.
intang1hlc hencfih Po\1ll•c ouKomcs that a~ difficult to mea~ure 1n dollars. Howc\'cr, intangible hcne·
fib can he very important m che calculation of economic fca>1b1hry. An c'<amplc of an intan111blc hen·
cfir m1ghr he a new wch<ite rhar improve-; a company'' ima11e.
intangible co-.s lrems that are difficulr ro measure in dollar remlS, such a~ employee d1~sa11~focnon.
ln1emc1 of Thing~ (IOT) Devices connected to one anorhcr over a computer nerwork.
j1M m·rimc (]TT) The exchange or dclh·ery of informanon when and where It i< needed. For c-camplc,
just·m·rimc 11wcntory sysrcms rely on compmer-co-compurer darn exchange rn minimize unncccs"3ry
111ven1ory.
111i,)io11 ~1a1c111cnt 1\ documcnr or >ratcmenr rbar <lc;c1·ibes 1hr.: company for Ill• stakeholder; and bricny
' rare' the company's overall purpose, produces, services, and value,.
nond1scrctionary pro1ccts Where managemem has no choice in 1mplemcnt111g a pro1ccr, they ore called
nond1screrionar)'· For example, adding a report required by a new fedcrJI law.
operational
fca~ib1lit)'
A •y,rcm char that will be used effecth•cly afrcr i1 has hccn developed.
Parero chart \vertical har graph named for a nineceench century economist. The bar<, which rcpre<cm
'arn>u., cau~e~ of a problem, are arranged in descending order, o;o rhe reJm can focu< on rhc mmr
11nport.1nt cau>e>.
prd1minal"} 10\C\llga11on An mmal :malysIS to clearly 1dennfy the namre and scope of the business
opportumry or problem. Al,o called a feasibilicy study.
~JD»(".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_._....~~
...
...............
_ .... ~---11rt~
-,..~---~ ~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Phase I
Systems Planning
71
Key Terms
pro1cct cr•-ep !"he procco~ b> which projects with ,.et) general scope definirions exp.ind gradual!)." 11h·
out ~pcc1ftc .1u1horua11on.
proi«t \.:ope A ~pc..1fic dctcrmmanon of a pro1en's boundaries or extent.
\c.ttter diagram A tool u\cd hy 'Y'lem anal)\"' co graphicall) show the corrd;mon between two variabl~. Al'-<> c..1llcd an XY chart.
\cbcdulc fcas1biliry A proiect can be 1mplcmemed in an acceptable rune frame.
str.1t1:111c planomg Inc process o( 1dennfy1ng long-rerm orga nizanonal goals. s1rateg1es, and resource.
'iWOT analy\1' An c~ammarion of a company'• srreni,'ths (S), wcaknc•scs (W ), oppnrruni11c' (0), and
threat• (T).
\}'>tern\ rcquc•t A formal appeal m rhe IT departmem rhar describes problem\ or de\ired chanitc' in an
information •>''lean ur hu\lnes• proces;. Ti mighr propose t.>nham:emenl:!> for an exi;uni; 'Y>tem, the
corrcx:1iun of problem,, 01 the devdvpment vf an entirely new system.
systems renew commiuee A group of key nunagers and users responsible for cvalu.11mg systems
requests. The term computer resources committee is somerimes J!so used.
tangible benefit~ Pomivc o utcomes that can be measured in dollars. The)' can resulr from
expenses. an increase in revenues, or botb.
,1
decrc.1se 1n
tangible cmi. f.xpen•cs that haven ~pecific dollar value. Examples include employee o;al.iric• and hard
ware pun.. ha>c,.
U!thnital fca.,ihilil) \Vhcn an ori:ani1:1ri11n ha~ the resources to develop or purcha_,e, 1mtall, and operate
rhc ~JMcm.
101.il co~1 of o" ocrsh1p (TCO) A number used in assessing costs. which tndudes oogomg suppon .ind
numrenJnct costs, .1s well a~ acqu1sinon cosrs.
XY chart A tool used b> S)Stcm analysts 10 graphie<1lly show rhe corrcla1ion between mo \ar1.1hlcs. Also
called J scancr diagram.
~JD»(".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_._....~~
...
...............
_ .... ~---11rt~
-,..~---~ ~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Chapter 2 Analyzing the Business Case
Exercises
72
Exercises
Questions
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Why should a S)'Stems analyst be interested in strategic planmng?
Lisr the four factors invoked in a S\'V'OT analysis.
Describe how CASE rools can support strategic planning.
List five que~tions rhe business case should answer.
What arc the six main reasons for sysrems requests?
Explain the two main factors affecting systems requescs.
Describe the role of rhc sy~rems review committee in processing systems requests.
Define operational, economic, technical, and schedule feasibility.
List seven questions the sysrcms analyst should consider when assessing project priorities.
What are rhe five seeps of :i prel iminary investigation?
Discussion Topics
1. One of your coworkers says, "Mission statements are nice, but rhey really don'r change things down
2.
3.
4.
5.
here where rhc work gets done." How would you reply?
Discuss how a company's financial status can affect systems projects.
The vice prc~idenr of accounting ~ays to you, the IT direcror, "This request procedure takes too long.
My people know what they are doing, and their systems requests are necessary and important." She
~uggcsts char the IT deparrmenr bypass rhe initial seeps and immediately get ro work on her requesrs.
What would you say ro her?
When setting prioriries for system requests, the highest priority goes to projects that provide rhe great·
e~t benefit, at the lowest cost, in rhe shortest period of time. H ow would you reconcile projects thar
can produce good results in che shorr rerm versus projects rbac can produce excellent resulcs in rhe
long term?
The final cask 1n rhe preliminar)' invesngation is to summan1e chc r~ults and recommendations in a
report and/o r 1n a presenrarion. Which form of communicarion, wrirren or oral, do you chink is rhe
most effci.-ri'e for come)·ing your findings co managemenc?
Projects
1. Use rhe lnrcrncr rn find rluec examples of corporare mission stacemcncs.
2. Prepare a SWOT anal)·sis of your school or your employer.
3. A mind map is a diagram used ro visua ll y organize information. ldencify a tool rhat supports the crcacion of mind maps and explain how they can be a valuable part of srraregic planning.
4. Visit che website for an IT magazine and find an article chac discusses business cases. Summarize rhe
article and what you learned from it.
5. Think of a problem you have experienced ar school or at work and draw a sample fishbone diagram
with at lease two levels.
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
~
~ ... _
JIJ»C....... ~ Al RlilfD
l,eocl\olld.,...,. _WOlfi'l'l.~• ......-W.Mdk«iil,_._DIK•dtc--.: ......,_ . . . ,_.,~-.lit .......... .._.,._.__..,~•\
. . . _ . .... ..., ~...,.._,_..,..., J\&."9 ... --.11 ......... ~ C'dptl"~~d.tt ...... -
............ -
..... -
..........
-.-.....w--...-.11
Chapter 3
Managing Systems Projects
Managing
Systems Projects
Chapte r 3 is the final chapter in the systems planning
phase of the SDLC. This chapter describes project
management and explains how to plan, schedule,
monitor, and report on IT projects.
LEARNING OBJECTIVES
When you fi11ish this chapter, you shottld be able
to:
1. Wustrate pro1ect priorities in the form of a project triangle
2. E..xplain project planning, scheduling, monitoring, and reporting
3. Create a work breakdown srrucrure
4. Identify cask pattern~
5. Calculate a project's crirical parh
6. Describe project monitoring and concrol techniques Lo keep a project on sc hedule
7. Explain how project starus is reported
8. Describe project management sofrware and how
it can be of assisrance
9. Create a risk m:magcmcnt plan
10. Describe why projects sometimes fail
The chapter includes three "Case in Point" discussion
q,uestions to help contextualize the concepts described
in the teXt. The "Question or Ethics" considers the
implications of raising awareness of a project going astray
even when the project manager Is reluctant to do so.
CONTENTS
3.1 Overview of Project Nlanagemcnt
3.2 Creating a Work Breakdown Structure
Case in Point 3.J: Sunr1~e Software
3.3 Task Patterns
Case in Point 3.2: Parallel Sernces
3.4 The Critical Path
3 .5 Project Monitoring and Control
3.6 Reporting
3 .7 Project ~1anagement Software
3 .8 Risk Management
3 .9 Managing for Succes~
Case in Point 3.3: Ju ~r-in-lime Software
A Question of Ethics
3.10 Summary
Key Terms
Exercises
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
Phase I
Systems Planning
75
3.1 Overview of Project Management
3.1
OvERv1cw OF PROJECT MANAGEMENT
Many professionals manage business and personal projects every day bur do nor
always give it much thought. The management process for developing an information
system or working on a construction project is much the same. The only difference is
the nature of the project. To manage a large-scale IT project, specific tools and techniques arc needed. A project manager is also needed, someone who is responsible for
overseeing all relevant tasks. Project management for IT professionals includes planning, scheduling, monitoring and controlling, and reporting on information S)'Stcm
development.
A project manager will break rhe project dow11 into individual tasks, determine the
order in which the tasks need to be performed, and figure out how long each task will
take. \Xlith this informarion, Gantt charts or PERT/CPM charts can be used to schedule and manage the work. Microsoft Project is a popular project management roof
that can help create and then monitor the project plan, report progress, and u~e risk
management to make rhc whole process easier for everyone.
3. 1.1 W hat Shapes a Project?
A succe~sful project must be completed on time, be within budget, and deliver
a quality product that satisfies users and meets requirements. Project management techniques can be used throughout the SDLC. Systems developers
can initiate a formal project as early as the preliminary investigation stage, or
later on, as analysis, design, and implementarion acrivities occur.
Systems development projects tend to be dynamic and challenging. There
is always a balance between constraints, which '-\'as discussed in Chapter 2,
and interactive clements such as project cost, scope, and time.
3. 1.2 W hat Is a ProjectTriangle?
Figure 3-1 shows a very simple example of a project triangle. for each
PICK ANY TWO
FIGURE l· I You can't get
everything you want; you have to
make chokes.
project, it must be decided what is most important, because the work
cannot be good and fast and cheap.
When it comes to project management, things are not quite
so simple. Decisions do nor need to be all-or-nothing but recognize that any change in one leg of the triangle "rill affect the
other two legs. Figure 3-2 represents a common view of a
project triangle, where the three legs are cost, scope, and time.
The challenge is to find rhe optimal balance among these factors. Most successful project managers rely on personal experience, communication ability, and resourcefulness. For example,
if an exrremely time-critical project starts to slip, the project
man~1gcr might have to rrim some features, seek approval for
a budget increase, add new personnel, or a combination of all
three actions.
On its website, Microsoft offers an interesting suggestion for
project managers who h:ive a project at risk: Find the "stuck
side" of the triangle. Microsoft states that in most projects, at
Time
least one side of the triangle is fixed and unlikely co change.
It might be a budget cast in stone, a scope that is inflexible,
FIGURE l·l A typical project triangle includes
or a schedule driven by factors beyond the firm's control.
coSt. scope. and time.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 3
Managing Systems Projects
76
3.2 Creating a Work Breakdown Structure
\~hi chever
side is fixed is probably crirical co rhe projecr's success. The leg where the
problem re ides must also be identified: cost, scope, or rime.
3. 1.3 What Does a Project Manager Do?
\~hether
a pro1ect involves a new office building or an informauon system, good
leadership is essential. In a sysrems project, rhe project manager, or pro ject leader,
usually 1s a senior sy rems analyst or an IT department manager 1f the project 1s large.
An analyst or a programmer/analyst might manage smaller projects. In addition
to the project manager, mo t large projects have a project coordinator. A project
coordinator handles administrative responsibilities for the ream and negotiates with
users who might have conflicting requi rements or want changes that would require
additional time or expense.
Project managers typically perforn1 four activities or functions: planning, scheduling, monitoring, and reporti11g:
•
•
Project planning includes identifying all project rasks and esrimaring rhe completion rime and cost of each.
Project scheduling involves the creation of a specific timetable, usually in the
form of charrs that show tasks, task dependencies, and critical casks thar might
delay the project. Scheduling also involves selecting and staffing rhe project
rea m and assigning specific tasks co ream members. Project scheduling uses
Gantt charts and PERT/CPNl charts, which are explained in rhe following
sections.
• Project moniroring requires guiding, supervising, and coordmaring the project
•
team's workload. The project manager must monitor the progress, evaluate the
results, and rake corrective action when necessary to control the project and
stay on target.
Project rcponing includes regular progress reports to management, users, and
the project team itself. Effective reporting requires srrong communication skills
and a sense of what others want and need to know about the pro1ect.
The following sections describe the project planning and scheduling steps: how ro
create a work breakdown structure, identify task patterns, and calculate the project's
critical parh.
3.2
CREATING A WORK BREAKDOWN STRUCTURE
A work breakdown structure (WBS) involves breaking a project down into a series
of smaller tasks. Before creating WBSs, the two primary chart types should be understood: Gantt charts and PERT/CPM charts.
3.2.1 G antt Charts
I lenry L. Gantt, a mechanical engineer and management consultant, developed Gantt
charts almost I 00 years ago. His goal was to design a chart that could show planned
and actual progress on a project. A Gann chart is a horizontal bar chart chat represents a sec of tasks. For example, the Gantt chart in Figure 3-3 displays five casks
in a vertical arra y, with time shown on the horizontal axis. The position of the bar
shows the planned starti ng a nd ending time of each task, and the length of rhe bar
indicates it~ duration. On the horizontal axis, time can be shown as elapsed rime
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
77
3.2 Creating a Work Breakdown Structure
from a fixed starting point or as actual calendar dates. A Gantt chart also can simplify a complex project by combining several acriviries into a wsk gro up that contains
subsidiary tasks. This allows a complex project to be viewed as a set of integrated
modules.
...,
.
.....
- --·- ·-- -.... -
·- -
. -·
.'·-·-·
.....
-
.
- ... .._ - -c-•-- ... -
~
i.ao-.... ::. --=-~
--·
-----~'"'
--
--· -
---
-- ..
- --
m........... "'-;-'
--· --·
,_..,.. .._....,....._
•
.-•.
FIGURE 3-3 In this Gantc chart. note the yellow bars that show the percentage of task completion.
A Gantt chart can show task starus by adding a contrasting color to the horizontal
bars. For example, a vertical red arrow marks the current date in Figure 3-3. With a
fixed reference point, it is easy to see that Task I is way behind schedule; Task 2 is
on ly about 80% done and is running behind schedule; Task 3 should have started,
bur no work has been done; Task 4 actuall y is running ahead of schedule; and Task )
will begin in several weeks.
Gantt charts can present an overview of the project's status, but they do not provide enough detailed information, which is necessary when managing a complex project. Some project managers ma> find char PERT/CPM charts, which are discussed in
che followmg section, are better cools for managing large projects.
3.2.2 PERT/CPM Charts
The Program Eval uation Re' iew T echniq u e (PERT) was developed by the U.S.
Navy ro manage very complex project , such as rhe construction of nuclear
submarines. Ar appro'<imately the same time, the C r itical Path M eth o d (C PM )
was developed by private industry to meet simLlar project management needs. The
distinction between the two methods has disappeared over time, and today the
technique is called either PERT, CPM, or PERT/CPM. This text will u~e the term
PERT chart.
PERT is a b ou om-up ccchn iq ue because it analyzes a large, complex projecr as a
series of individual tasks, just as a pyramid is builr from the borcom up using individual blocks. To create a PERT charr, first identify all the project cask~ and esrimatc
how much time each cask will rake to perform. Next, determine the logical order in
wh.icb the tasks must be performed. For example, some tasks cannot start Lmtil other
casks bave been completed. In o th er siruations, several tasks can be performed at th e
same rime.
Once the tasks arc known, their durations, and the order in which they must be
performed, calculate the time that it will take to complete the project. The specific
casks that will be critical to the project's on-time completion can also be identified.
An example of a PERT chart, which ~1icrosoft calls a network d iagran1, is shown in
che lower screen in Figure 3-4.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 3
Managing Systems Projects
3.2 Creating a Work Breakdown Structure
78
-
. . .... .. - --- =--.
Although a Gantt charr offers a
valuable snapshor view of the proj- - L.:
ecr, PERT charts are more useful for
scheduling, moniroring, and controlling
the actual work. \'(.lith a PFRT chart,
_ ,c.... .. _
Ii . ....__..._ _ _
a projec t manager can converr task
I
..,,..._.............,..
-·-----~
start and fini sh rimes to acrual dates
• ....c..... ........
.,. . (_...._...........
= .
by laying our the entire pro1ect on a
,.. .... -. ._. ,.._ ..._ ..._
......
calendar. Then, on any given day, the
manager can compare what should be
happening wirh what is raking place
and react accordingly. Also, a PERT
'-+ •
•
chart displays complex task patterns
and relationships. This in formarion is
......
valuable to a manager who is trying ro
address high priority issues. PERT and
'""' S kNI out lntorvlow t<hedulo
Gaorr charts are not mutually exclusive
Stut Tuo 9/3/19 10 5
recltniques, and project managers often
fon11h Tue t/S/19 Dut I d• v
use both methods.
Ars
FigLtre 3 -4 shows both chart types.
FIGURE 3-4 The top screen shows a Gantt chart with six tasks.The PERT
T he top screen is a Gantt chart with six
chart in the bottom screen dlsplnys an easy-to-follow task pattern for the same
t asks. T he PERT chart below it shows
project. When the user mouses over the summary box for Task 5, the derails
become visible.
rhe same project, using a separate box
for each rask instead of a horizontal bar. Alrhough rhey borh show rhc rask pancrns and flow, rhc PERT chart boxes
can provide more information, such as task duration, start dare, finish date, and the
names of resources assigned co cbe cask. The PERT chart in Figure 3-4 would be too
small ro view the acrual derails, which are shown in the expanded rexr box ac che bottom of che figure. How co create PERT charts is explained in a later section.
w
.. ... ·-·
~---
-
-
---
...
...
-
~-
...·----
.
- --
----
~
-
-
a
---·- .
1
-
3.2.l Ide ntifying Tasks in a Work Breakdown Structure
A WB musr clearly identify each task and include an estimated duration. A task,
or an acrivi t y, is an y work char has a beginning and an end and requires che use of
company resources such as people, time, or money. Examples of casks include conducting interviews, designing a report, select ing software, waiting for the delivery
of eq uipment, or training users. Tasks are basic units of work that the project
manager plans, schedules, and mon itors-so they should be relatively small and
manageable.
In add ition ro rasks, every project has events, or mile~tones. An event, or a milestone, is a recognizable reference point that can be used to monitor progress. For
example, an event might be the start of user training, the conversion of system data,
or the completion of interviews. A m.ilestone such as "complete 50% o f program testing" would not be useful informat ion unless it could be determined exactly w hen that
even c wi II occur.
Figure 3-5 shows casks and events chat might be invo lved in che creation, distribution, and tabulation of a questionnaire. Note that the beginning ::tnd end of
e::1ch cas k are marked by a recognizable eveor. It would be virtually impossible
to manage a projecr as one large cask. Instead, the project is broken down into
smaller tasks, creating a WBS. The first step in creating a \'(.!BS is to list all che
tasks.
(....,..... J:gi ( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,...... .,..~
-·~•-fllllie<'f •,...
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~--- t fta111&....-.~~ ij
__.~~ c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
79
3.2 Creating a Work Breakdown Structure
All
Start work oo
ques110no8"•
Tabulate
Prepare
quesbonnaire
Prepare repon
Awart return of
questionnaJre
00
questioma&res
responses
quesbOMalre
resuhs
e
Evoot or Milestone
. . Task
FIGURE l -S Using a questionnaire requires a series of ta.sks and eventS to crack the progress.The 1ilustration
shows the relationship between the tasks and the eventS, or milestones, which mark the beginning and end of
each task.
While this step so unds simple, it can be c hallenging because
the rasks might be embedded in a document, such as d1e one shown in the first
version of Figure 3-6. One crick is ro srarr by highlighting the
individual casks, as !>hown in the second version. Adding bullets
makes the tal>k~ stand our more clearly, as shown in the rbird
version. The next step is to number rhe casks and create a cable,
First, reserve the meeting room Then order
the marketing materials and brief the
similar to the one shown in Figure 3-7, with columns for cask
managers After the bne~ngs. send out
number, description, duration, and p redecessor ca sks, which
customer emails and upload program to the
LISTING THE TASKS:
muse be compleced before anocher rask can scan.
ESTIMATING TASK DURATION: Task duration can
be hours,
days, or wceks--dependmg on the project. Because che following
example uses days, the units of measurement arc called person-days.
A pcrson-da) represents the work char one person can complete in
one day. This approach, howe\re~ can present some problems. For
example, if it will cake one person 20 days to perform a particular
cask, it might not be t rue that two people couJd complete chc same
task in 10 days or that I0 people could perform tbe task in two
days. Some tasks can be divided evenly so it is possible to use different combinations of time and people--up to a point-bur not
all. in most sysrems analysis rasks, rime and people are not inter·
changeable. If one ana lyst needs two hours to interview a user, two
analysrs a lso will need two hours co do the same interview.
Project managers often use a weighted formula for estimating
the durarion of each cask. T he project manager fixst ma kes three
time esrimatcl> for each cask: an optimisric, or bes t-case e~ timatc
(B), a prob ablc-ca\c e~ timate (P), and a pessimisric, or wo rse-case
e~ timatc (W ). T he manager rhen assigns a weight, which is an
importance value, to each estimate. The weight can vary, bur a
common approach i'i to use a ratio of B = 1, P = 4, and W = J.
Tbe expected task duration is calculated as follows:
(B+4P+W)
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
Firs1. rr;
ve t
t>
'"'9 ,..,
o.... Then orcJer
and b · I the
manat "' After lhe bnefings, nd out
cus:onn r m s and ''' IOad progrNn to It>"
app store. When the emails are soot and the
program is available on the a.pp store ready,
ioad tt>e ne,. ul!wa,,. When the marketing
erials have amved and the software 1s ready.
a dr'"' rthearsal.
,.,.
mr
-----
• First, reserve tho mooting room.
• Then order rhe mar~ellflg materi&/$ and brief
the manage1S.
• Aller the briefings, sand out customer omalls
and upload program to the app store.
• When the emails are sent and the program is
available on the opp store ready, load !he
now solrware.
• When the mart<ehng materials have arrived
and the software Is ready, do a dre~s rohearsal.
FIGURE l-6 The three versions show how to
transform a wk scatement into a list of specific
casks for a work breakdown strucwre.
6
.........""_.. ... .-.................
app store When lhe emails are sent and lhe
program is available on the app store ready,
load the new software. When the mar!(ebng
materiats have emved and the software is ready,
do a dress rehearsal.
...................
--......
"->-"'Allf'W ~- .............. . ,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ........... ... ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 3
Managing Systems Projects
3.2 Creating a Work Breakdow n Structure
80
•
Description
Duration
(Days)
Predecessor
Tasks
Reserve the meeting room
2
O rder the marketing materials
3
4
Brief the managers
5
Send out customer emails
Upload program to the app store ......._ _ ___.._ _ _ __.....
6
Load the new software
7
Do a dress rehearsal
FIG URE 3-7 In this table, columns hM! been addl!d for wk number,descripuon.
duration. and predecessor casks, which mun be completed before another task can start.
For example, a projecr manager mighr estimare rhar a file-conversion task could be
completed in as few as 20 days or could take as many as 34 days, bur most likely will
require 24 days. Using the form ula, the expected task dura rion is 25 days, calculated
as follows:
(20 + (4 *24) +34 ) = 25
6
A lively discussion is under way at Sunrise Software, where you are a project manager.
The main question is whether the person-days concept has limitations. In other words.
if a task will require I00 person-days. does it matter whethe r two people in SO days,
five peo ple in 20 days, ten people in I 0 days, or some other combination that adds up
to I 00 performs the work?
Two programmers on the project seem to think it doesn't matter. O n the other hand,
o ne of the project's systems analysts says it is ridiculous to think that any combination
would work.To support his point, this extreme example was offered: Could 100 people
accomplish a task estimated at 100 person-days in one day?
Is the systems analyst correct? If so. what are the limits in the "people versus days"
equat ion?Taking the concept a step further. is there an optimum numbe r of people to be
assigned to a task! If so, how would that number be determined? You need to offer some
guidance at the next project team meeting.What will you say!
3.2.4 Factors Affecting Duration
When developing duration estimates, project managers consider fou r factors:
I . Project size
2. 1luman resources
3. Experience with similar projects
4. Constraints
PROJECT SIZE: As described in Chapter 1, infom1acion systems have various charactcr-
iscics char affect their complex:iry and cost. ln addition to considering chose factors, a project manager must estimate rhc time required to complete each proje<.1: phase.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Phase I
Systems Planning
81
3.2 Creating a Work Breakdown Structure
To develop accurate esrimaces, a project manager must identify all project tasks, from
initial fact-finding to system implementation. Regardless of the systems development
methodology used, the project manager must determine how much time will be needed
to perform each task. In de,·eloping an estimate, che project manager must allow rime
for meetings, project re\'iews, craining, and any ocher factors (e.g., scheduled vacations or
unscheduled medical leave) that could affect che productivity of the development team.
HUMAN RESOURCES: Companies muse invest heavily in cutting-edge technology to
remain competici\'e in a connected world. ln many areas, skilled IT profes ionals arc
in greac demand, and firms must work hard to attract and retain the talent they need.
A project manager must assemble and guide a development team that has the skill and
experience to handle the project. lf necessary, additional systems analysts or programmers
111ust be hired or crained, and this must be accomplished within a specific time frame.
After a project gets under way, rhe project manager muse deal with curnover, job vacancies, and escalating salaries in rhe redu1ology sector-all of which can aHect whether che
project can be completed on time and within budget. The project manager also has to
accommodate official holidays, family emergencies, and other events that may affect the
schedule.
EXPERIENCE WITH SIMILAR PROJECTS: A project manager can develop rime and
cost estimates based on the resources used for si1nilar, previously developed information systems. The experience merhod works besc for small- or medium-sized projeccs
where the two systems are similar in size, basic content, and operating environment.
In large systems with more variables, the estimates are less reliable.
CONSTRAINTS: Chapter 2 explained chat constraints are defined during the prelim-
inary investigation. A constraint is a condition, restriction, or requirement chat the system must sarisfy. For example, a constraint might involve maximums for one or more
resources, such as time, dollars, or people. A project manager must define system requirements that can be achieved realistically within the required constraints. In the absence of
constraints, the project manager simply calculates the resources needed. 1lowever, if constraints arc presenr, the project manager must adjust other resources or change the scope
of the project. TI1is approach is similar to the what-if analysis described in Chapter 12.
3.2.S Displaying the Work Breakdown Structure
After the task durations are entered, the \X'BS will look like Figure 3 -8. Task
groups can be used to manage a complex project with many tasks, just as with a
Description
Duration
(Days)
Predecessor
Tasks
Reserve the meeting room
Order the marketing materials
9
Brief the managers
Send out customer emails
2
3
3
6
Upload program to the app store
Load the new software
7
Do a dress rehearsal
2
3
"s
2
FIGURE 3·8 Task duraoons have been added, and the WBS is complete except for
predecessor ask information.The predecessor tasks will determine task ~tterns and
sequence or performance.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"-> - "'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ........... ... ~..
__....
~~·~---- ···---~~ - .,.-"~
...........
Chapter 3
Managing Systems Projects
3.3 Task Patterns
82
Gantt chart, to simplify the list. Nore rhat the WBS shown in Figure 3-8 is still
incomplete: It does nor show fields such as Starr Date, End Dare, Tas k ame,
Duration, and Predecessors-fields thar can be ke)' for project managers. \Vith
~1icrosoft Project, the \VBS (i ncluding some of these missing fields) might resemble Figure 3-9.
....
..
·--- ·-·-. .. _____
.,_ ,_ _
....
. ---·-- ......
.......
....
- - - :=,.::..--- ... ·..................... ....
...
_.._____
_
.....
.....
·...................
..... ...
·...............
............... ·.... ...
--·.
.
·- ·-
-... ..
.. e.. •
ct:= "-:- #,_,.,'-
I
I
t
~ • · ~.I -
"'\
• o • ....,_
::--- ::.
:J .....
;
I
I
•
-
.
..
.
,,_...... .......,........,
...,_
B
, ::
........
--:::~
.
.
.....
•
•
FIGURE 3-9 This Microsoft Project screen displays the same WBS, including task number. task name, duration.
and predecessor tasks.
3.3
TASK PATTERNS
Tasks in a WBS must be arranged in a logical sequence called a ta\k pattern. In
any project, la rge or small, casks depend on each other and must be performed in a
sequence, not unlike the commands in a software program. Task patterns can involve
dependent rasks, multiple successor tasks, and mulciplc predecessor rasks. In larger
projecrs, these patterns can be very complex, and an analyst must study the logical
flow carefully. This section explains how to understand and create graphical models
of these patterns.
3.3. 1 Using Task Boxes to Create a Mode l
In a PERT/CPM chart, project tasks a re shown as rectangular boxes, arranged in the
sequence m which they must be performed. Each rectangular box, called a w k box, has
five sections, as shown in Figure 3- J 0. Each section of the task box contains important
infon11ation about the task, including the Task Name, Task ID, Task Duration, Start Day/
Date, and Finish Day/Date.
TASK NAME: The task name should be brief and descriptive, bur it
docs not ha ve to be uJlique in the project. For example, a cask named
Conducr Interviews might occur in several phases of the project.
TASK BOX FORMAT
TASK ID: The task ID can be a number or code that provides unique
id en ti ficati<>n.
Task Name
TASK DURATION: The duration
Start Day/Date
Task ID
Finish Day/Date Task DuratlOO
FIGURE 3-10 Each section of the task
box concains important Information
about the cask. including the Task Name.
Task ID. Task Duration. Start Day/Date.
and Fmish Day/Date.
(....,..... J:gi( . . . . .
complete a task, which is not necessarily the same as rhe e lapsed rime.
For example, a cask that takes eight botirs of effort to complete would
be done in o ne day by a person dedicated lOOo/o, but if the person
assigned this task is only working 50% on this project, the task would
take rwo days elapsed time to complete. All tasks must use the same
time units, which can be hours, days, weeks, or months, depending on
the project. An actual project scans on a specific date bur can also be
measured from a point in rime, such as Day J.
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,...... .,..~
is the amount of time it will rake to
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~--- t fta111&....-.~~ ij
__.~~ c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
83
3.3 Task Patterns
START DAY/DATE: The stan day/date is the time that a rask is scheduled to begin. For
example, suppose that a simple project has cwo tasks: Task 1 and Task 2. Also suppose
that Task 2 cannot begin until Task 1 is finished. An analogy might be that a program
cannot run until che compurer is turned on. If Task 1 begins on Day 1 and has duration of
three days, it will finish on Day 3. Because Task 2 cannot begin until Task I is completed,
the start rime for Ta~k 2 is Day 4, which is the day after Task 1 is finished.
FINISH DAY/DATE: The finish day/date is the time that a task is scheduled for com-
pletion. To calculate the finish day or date, add tbe duration to the start day or date.
\Vhen doing this, be very careful not to add too many days. For example, if a task
starts on Day I 0 and has duration of five days, then the finish date would be on Day
14-not Day 15.
3.3.2 Task Pattern Types
A project is based on a pattern of casks. In a large project, the
overall parrern would be quire complex, bur it can be broken
down inco three basic rypes of parrerns: dependent casks,
multiple i.uccessor rasks, and multiple predecessor tasks.
When casks must be completed one
after another, like the relay race shown in Figure 3-11 , they are
called dependent task~ because one depends on the other. For
example, Figure 3-12 shows that Task 2 depends on Task 1,
DEPENDENT TASKS:
FIGURE l - 11 In a relay race. each runner is
dependent on the preceding runner and cannot start
because Task 2 can nor start unril Task 1 is completed. In this
until me earlier finishes.
example, the finish time of Task 1, Day 5, controls the start dare of Task 2, which is Day 6.
Y-
MULTIPLE SUCCESSOR TASKS: \Xlhen Se\•eral
tasks can start at the same time, each 1s cilled a
concurrent ta~!.. . Often, rwo or more concurrent
tasks depend on a single prior task, which is called
a predeces~or cask. In this situation, each concurrent task is called a ~ucc~sor task. In the example
shown in Figure 3 -13, ~ucces or Tasks 2 and 3 both
can begin as soon as Task I is finished. ore that
the finish time for Task l determines the start time
for both Tasks 2 and 3. In other words, the earliest
that Task l can finish is Day 30, so Day 31 is the
earliest that Tasks 2 and 3 can start.
Suppose
t hat a task requires two o r more prior tasks to
be completed before it can start. Figure 3- 14
shows that example because Task 3 cannot begin
until Tasks 1 and 2 arc both completed. Since
the rwo tasks might not finish at the same time,
the longest (larcsr) predecessor rask becomes the
controlling factor. Note char rhe srarr for Task 3
is Day 16, nor Day 6. \'V'hy is chis so? Because
Task 3 depends on two predecessor tasks, Tasks 1
and 2, Task 3 cannot begin until the later of those
MULTIPLE PREDECESSOR TASKS:
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
Fn
E XA~I PLE
OF A DEPEN DE NT TASK
Prepare Oull"'8
Start Day 1
ID 1
Finish. Day S
Dur S
CtNlllOocumenl
..
ID. 2
Start Day6
An1sh Day 14 Dur 9
FIGURE l-12 This example of a dependent iask shows that the fontsh
cme ofTask I. Day s. controls me start date of Task 2. which tS Day 6.
EXAMPLE O F MULTIPL E SUCCE SSOR TASKS
Arrange Interviews
Develop Plan
Slart Day 1
ID: 1
Finish: Day 30
Dur 30
,J4
S1ar1: Day 31
ID: 2
Finish· Day 60
Dur30
~
Design Survey
Start Day 31
ID 3
Finish Dey 40
Dur 10
FIGURE 3- 1l This example of multiple successor wlc.s shows that me
finish ame for Task I detennines the Start ome lo<' both Tasks 2 and 3.
--......
"-> - "'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ..... ...... ... ~..
__....
~~·~----···---~~ - .,.-" ~
...........
Chapter 3
Managing Systems Projects
3.3 Task Patterns
84
EXAMPLE OF MJLTIPLE PREDECESSOFl TASi<S
aic.ri Authonullon
Start Day 1
10 1
Fi111Sh; Day 15
°"'
[\
Conduct 1i .........
15
Start Day 16
Cnlale Job Oeecripl!On
ID 3
~ Anlsh: Day 45 Our30
Slllrt Day 1
10 2
Aoish Oay5
0urs
tasks is complete. Therefore, the start time for a
successor rask must be the latest {largest} finish
time for any of its preceding rasks. In the example
shown, Task I ends on Da)' 15, while Task 2 ends
on Day 5, so Task 1 control~ the srarr time for
Task 3.
Task pattern type~ are idenufied by looking carefully at the wording of the task sratemcnt. Words
like then, when, or and are action words that
signal a sequence of events. Here are three simple
examples:
• Do Task 1, then do Task 2 describes dependent
tasks char must be completed one after rhe
ocher.
• When Task 2 is finished, start rwo tasks: Task
3 and Task 4 describe multiple successor tasks
that can both start as soon as Task 2 is finished.
W/Jen Tasks 5 and 6 are done, starr Task 7 indicates that Task 7 is a multiple
predecessor task bec3use ir ca11't srarr until rwo or more previous tasks all are
completed.
FIGURE 3· 14 This example of multiple predecessor tasks shows
that the start umc for a successor cask must be the latest (largest)
finish dme for any of lcs preceding tasks. In the example shown, Task I
ends on Day IS. while Task 2 ends on Day S, so Task I controls the
start time for Task 3.
•
3.3.3 Working with Complex Task Patterns
When several task patterns combine, rhe facts must be studied very carcfullr rounderstand the logic and sequeDce. A project schedule will nor he accurate if the underlying
rask pattern is incorrect. For example, consider the following three foct statements
and the rask patterns they represent. Examples of the task patterns are shown in
Figures 3-15, 3-16, and 3- 17.
1
1
I ·I
2
4
2
FIGURE 3 - 1S Dependent tasks.
1
FIGURE 3 - 16 Dependent tasks and multlple successor tasks.
2
FIGURE 3 - 17 Dependent tasks, muldple successor wks. and multiple
predecessor tasks.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
85
3.4 The Critical Path
DEPENDENT TASKS:
Perform Task 1. \Vhen Task 1 is complete, perform Task 2.
Perform Task I. \Xlhen
Task I is complete, perform Task 2. \Xlhen Task 2 is finished, start rwo tasks: Task 3
and Task 4. \Vhen Task 3 1s complete, start two more tasks: Task 5 and Task 6.
DEPENDENT TASKS AND MULTIPLE SUCCESSOR TASKS:
DEPENDENT TASKS, MULTIPLE SUCCESSORTASKS, AND MULTIPLE
PRED ECESSO R TASKS: Perform Task 1. When Task 1 is complete, perform Task 2.
When Task 2 is finished, start cwo Tasks: Task 3 and Task 4. When Task 3 is complete, srart rwo more rasks: Task 5 and Task 6. When Tasks 5 and 6 arc done, srarr
Task 7. Then, when Tasks 4 and 7 arc finished, perform Task 8.
The project management team at Parallel Services is having a debate about how to define casks
In the WBS.The project manager wants to break wks down into the smallest possible units. For
example, she objected to a broad task statement called "Develop a training schedule.'' Instead,
she suggested three subwks: (I) "Determine availability of training room," (2) "Determine availability of attendees," and (3) "Select specific dates and training times.''
Another project team member disagrees. He feels that the broader task statement
is better because It allows more flexibility and will produce the same result. He says
that if you break tasks Into pieces that are too small, you r isk overmanaglng the work
and spending more t ime on mon itoring than actually performing the tasks. As a member of the team, wh ich approach do you agree with more? What are the pros and cons
of each?
3.4
T!-iE CRITICAL PATH
Task patterns determine rhe order in which rhe casks are performed. Once rhe rask
sequence has been defined, a project manager can schedule the rasks and calculate rhe
critical path. A critical path is a series of tasks chat, if delayed, would affect the completion dare of the overall projecr. If any cask on rhe critical path faUs behind schedule, the entire projecr will be delayed.
For example, suppose that Joan and Jim are invited to someone's home for dinner. Joan arrives on time, bur Jim arrives 30 minures !are. Jim's arrival is part of the
critical path because the host does not wane to start without him, so the meal will be
served 30 minutes later than originally planned.
Project managers always muse be aware of che critical parh, so they can respond
qu ickly co keep the project on track. Microsoft Project and other project management
software can highlight the series of tasks that forn1 the critical path.
3.4. 1 Calculating the Critical Path
Figure 3- J8 shows a rraining project with five tasks. Note that the analyst has
arranged the tasks and entered rask names, IDs, and durations. The task patterns
should be reviewed firsr. In this example, Task 1 js followed by Task 2, which is a
dependent task. Task 2 has nvo successor tasks: Task 3 and Task 4. Tasks 3 and 4 are
predecessor tasks for Task 5.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ .
....._.,.,.. o-...
..,._.,,.,.. _ ..,.~
,........., ................. .._... .., .,. ..,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Chapter 3
Managing Systems Projects
3.4 The Critical Path
86
Plan Training
ID: 3
)"
Hire Analysl
Obtain Authorization
~
ID· 1
Dur : 5
~
Announce Training
tD· 5
ID: 2
Dur: 10
Arrange Logistics
Dur: 30
\.
ID: 4
Dur: 30
V'
Dur: 25
FIGURE 3 - 18 Example of a PERT/CPM chart with five tasks.Task 2 is a dependent task that has multiple successor tasks.Task S has
multiple predecessor tasks. In this figure, the analyst has arranged the casks and entered task names, IDs. and durations.
The next step is ro derermine srart and finish dates, which will determine the crirical path for rhe project. The following explanation outlines a step-by-srep process.
The result is shown in Figure 3-19.
• Task I starts on Day 1 and has duration of 10 days, so the finish date is Day 10.
• Task 2, which is dependent 011Task1, can start 011 Day 11-the day afcer Ta~k
I ends. Wirh duration of 30 days, Task 2 will end on Day 40.
• Tasks 3 and 4 are multiple successor tasks that can start after Task 2 is done.
Task 2 ends on Day 40, so Tasks 3 and 4 both can stare on Day 41. Task 3 has
duration of five days and wiU end 011 Day 45. Task 4 has duration of 25 days
and will nor end until Day 65.
• Task 5 depends on Tasks 3 and 4, which are multiple predecessors. Because
Task 5 depends on both tasks, it cannot srart until the later of the two tasks is
complete. In this example, Task 3 ends earlier, but Task 4 will not be completed
until Day 65, so Task 5 cannot srarr until Day 66.
Plan Training
Obtain Authorization
Start: Day 1
ID. 1
Finish: Day 1O Dur: 10
_.
Day 41
)" Start:
Finish: Day 45
Hire Analyst
Start. Day 11
ID: 3
Dur: 5
~
Announce Training
Start Day 66
ID:2
Arrange Logistics
Finish: Day 40 Our: 30
\.
Start: Day 41
ID: 4
ID: 5
Finish: Day 95 Dur: 30
V'
Finish: Day 65 Dur: 25
CRITICAL PATH:1·2·4·5
FIGURE 3- 19 Now the analyst has entered the start and finish times, using the rules explained in this section. Note that the overall
project has duration of 95 days.
Recall char the critical path is a series of tasks chat, if delayed, would affccr rhc final
complcrion dace of rhe overall project. In this exan1plc, Tasks 1 and 2 arc the first casks
on rhc crirical path. Now look ar Task 5, which cannot start until borh Tasks 3 and 4
arc done. In chis case, Task 4 is the controlling factor because Task 4 finishes on Day 65,
which is 20 days larer than Task 3, which is completed on Day 45. Therefore, rhe start
dare for Task 5 is determined by the finish date for Task 4.
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
87
3.6 Reporting
In contrast, Task 3 has slack rime and could be delayed up to 20 days wirhour
affecting Task 5. Slack rime is the amount of rime rhar the rask could be late without
pushing back the completion dare of the entire project. Tasks 1, 2, 4, and 5 repre ent
the critical path, which i highlighted with red arrows in Figure 3-19.
3.5
PROJECT MONITORING A~D CONTROL
Regardless of whether the project was planned and scheduled wirh projccr management
software or in some other manner, the project manager mUSt keep track of rhe casks and
progress of ream members, compare acrual progress with the project plan, verify the completion of project milestones, and set standards and ensure thar they are followed.
3.S. I Monitoring and Control Techniques
To help en!.ure rhar qualiry standards are met, many project managers institute
structured walk-th roughs. A structured walk-through is a review of a project team
member's work hy orher members of rhe ream. Generally, systems analysts review the
work of other sybtems analysts, and programn1ers review the work of other programmers, as a form of peer review. Structured walk-throughs take place throughout the
SDLC and are called de!.ign reviews, code reviews, or testing review!., depending on
the phase in which they occur.
3.S.2 Maintaining a Schedule
Mainraimng a project schedule can be challenging, and most projccrs run into at least
some problems or dela ys. By monitoring and controlling the work, the project manager tries to anticipate problems, avoid them or minimize their impact, ide ntify potential solutions, and select the best way to solve the problem.
The better the original plan, the easier it will be to control the project. If clear,
verifiable milcsrones exist, ir will be simple ro determine if and when rhosc rargcts
arc achieved. If enough milestones and frcquenr checkpoints exist, problems will be
dcrccted rapidly. A project chat is planned and scheduled wirb PERT/CPM or in a
\'(18$ with Gantt charr can be tracked and controlled using these same techniques. As
work continues, the project manager revises che plan ro record acrual times for completed casks and revises rimes for tasks that are nor ycr finished.
3.S.3 Tasks and the Critical Path
Project managers spend mosr of rheir time cracking rhc tasks along rhe critical path
because delays in rhose rasks have rhe greatest porenrial to delay or jeopardize the project.
Orhcr tasks cannot be ignored, however. For example, suppose that a rask nor on the critical path rakes roo long and dcpleres the allotted slack time. Ar that point, the rask acruall)•
becomes part of rhe crirical path, and any further delay will push back the overall project.
3.6
REPORTING
Members of the project team regularly report their progress ro che project manager,
who in rurn reports ro management and users. The project manager collcccs, verifies,
organizes, and evaluates the information he or she receh·es from the ream. Then the
manager decides which information needs to be passed along, prepares a summary
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 3
Managing Systems Projects
3.6 Reporting
88
that can be undersrood easily, adds comments and explanations if needed, and s ubmits it to management and users.
3.6.1 Project Status Meetings
Project manager , like the one shown in Figure 3-20, schedule regular meermgs to
update the ream and discuss project status, issues, problems, and opportunitie .
Although meeting can be time consuming, most pro1ect managers believe they are
worth the effort. The sessions give team members an opportunity to share information, discuss common problems, and explain new techniques. The meetings also
give the project manager an opportunity to seek input and conduct brainstorming
sessions.
FIGURE 3·20 Project managers schedule regular meetings to update the project team and discuss
project staws. Issues. problems. and opportunities.
t
~....
llf~
3.6.2 Project Status Reports
A project manager must report regularly co hjs or her immediate s upervisor, upper
management, and users. Although a progress report might be given verha lly co an
immediate supervisor, reports to management and users ui.ually are written. Ganrr
chartS often are included in progress reports to show project status graphically.
3.6.3 Dealing with Problems
Deciding how to handle porenrial problems can be difficult. At what point should
management be informed about the possibility of cost overruns, schedule delays, or
technical problems? At one extreme is the overly cautious project manager who alerts
management to every potential snag and slight delay. The danger here is that the manager loses credibility over a period of time, and management might ignore potentially
serious situations. At the other extreme is the project manager who tries to handle all
situations single-handedly and does not alert management until a problem is serious.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
89
3.7 Project Management Software
By the rime management learns of the problem, linle time might remain in which to
react or devise a solution.
A project manager's best course of action lies somewhere berwcen the rwo extremes
but is probably closer co the first. If the con.sequences are unclear, the analy t hould err
on the ide of caution and warn management about the possibility of a problem.
\Xlhen the s1ruarion 1 reported, explain what is being done to handle and monitor
the problem. If the siruarion is beyond the analyst's control, suggest possible acnons that
management can rake to resolve the siruarion. Most managers recognii.e that problems do
occur on mo t project ; 1t is berrer to alen management sooner rather than later.
J. 7
PROIECT MANAGEMENT SOFTWARE
Project managers use sofrware applications to help plan, schedule, monitor, and
report on a project. Most programs offer features such as PERT/CPM, Gann charts,
resource scheduling, project calendars, a nd cost tracking. As shown in Figure 3-2 1,
M icrosoft Pro ject is a full -featured program that holds the domi nant share of the
market. Ir is available as a software product for W indows and as an add-on on line
service as parr of i\llicrosoft's Office 365.
-- -·- -
--
,_
....
__
°"'......,
Project
Project management
.......
.__
M~l'nlfe<thelperou,etnanod
......, _ _ .....i---.--1n......,..i.--..o........,_help,.....
,_,....,,., ..... twnl s\ey pr I
FIGURE 3-2 1 Microsoft
'°"ref': ,.. '
d~ C'liv..
Proje~
C I
In addition to 1\i1icrosofr Project, there are a number of other project management
tools available. For example, GanttProiect is a free open-source Java-based project
management too l that is available on multiple platforms (Windows, Mac OS X, and
Linux). It can produce Ga ntt and PERT/CPM charts, calculate the critical path auto·
marically, and read/write M icrosofr Project files .
Canlter is a free cloud-based project management tool. It runs in a browser window, so there's no sofrware to install to use it. Apptivo and smartsheel are other
example~ of web-ba~ed project management tools offering simi lar capabilities but on
a paid subscription model.
Monday is a project management tool that is 11:ailored toward Mac u ers. As
shown in Figure 3-22, it is a highly visual cloud-based tool that supports agile development. Trello, shown in Figure 3-23, is aoorher project management tool that is tailored toward agile development.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 3
Managing Systems Projects
3.7 Project Management Software
90
A new way to manage your projects
Pion Orgon11e Trock In one VISUO~ colloboroltve space
..
,;
Sprint
0
Spmt2(TMWffli)
II
11> ...
Allignfl
p""' ...., ~...
""""'°Pon:..
"-••Part. IOM brnp
1
"'9
" ii ' '!M
Spr1m 1 (IA11 _ ,
s..1...
I ,,,... .......
I
---Ito-.
c1o,.
HOllWl>lge
OJllayo
Fdrurt
Ollllyt
Epoc
Ettlf'l'lll~
lkJ9
02doft
Hew
0
E111m1110n
Epic
St11u1
,....,.
0
01-,.
I g
-
u.,.
FIGURE 3-22 Monday is a project management tool that is tailored toward Mac users.
Sour«<
...,
............
•
_
a
,_
Don'•--~
n
...
U t ............ ~CNdft!A
,,.,,...n.n orH'*9 1 filil "°"1 • Ofll.
Ill
• tt• fD
~
,_., o..g.
_____
~r
-
a
'*•••
,
•
"'
-
FIGURE 3. 23 Trello is a project management tool that is tailored toward agile development.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f •,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
91
3.7 Project M anagement Software
The websites for all of rhese cools have more information about their capabilmes,
including demos, trial versions (where applicable), and rraining material.
Lrrespective of which projecr management tool used, a seep-by-seep process is
followed co develop a WBS, work wirh cask patterns, and aoal)'ze cbe critical path.
Tbe main difference is thar the sofrware does most of cbe work automatically, which
enables much more effective managemenr.
The followmg secnons explain how ~licrosofr Project could be used to handle
the sample cask summary for a preliminary investigation shown in Figure 3-24. This
example illusrrares that project management is dynamic and challenging. One significant advamagc of intcgraced project 1nanagement software is that it allows the proiecc
manager to adjust schedules, estimates, and resource assignments rapidly in response
to real-world evenrs.
PIMH etucty the following t.ak aunnMry:
• First.
we need to spend one day studying potential problems or opportunities.
• Then. we will define the project scope and constraints. That will take two days.
• Next, we will a11&lyze the organization ollarts That will take one day.
• After we analyze the charts. tour fact.finding tasl<s can start at once
' Observe operabons (two days)
> Conduct a user survey (three days)
> Conduct 11\terv- (two days)
> Review dOcumentatlOO (One day)
• When alt lour fact-finding tasks are fil'llShed, we win spend one day evaluating leasibilly
• Then we wlll spend one day presenllng the resuns and recommendallons to management.
FIGU RE 3-24 A sample ask summary for a preliminary investig;itiOfl.
WORK BREAKDOWN STRUCTURE: Creating a WBS usmg Microsoft Project is
much the same as creating it manually. The tasks, durations, and task pacterns mu~t
still be identified. This informauon might have to be developed, or a task summary
like the one in Figure 3-24 might be used. The goal is co document all casks, dependencies, dac~, and total projecr durarion. The first step is to create a Gann chart
showing the necessary information. As the information for each task is entered into
Microsoft Project, the duration and the predecessor tasks, if any, should also be
noted.
GANTT CHART: As casks arc entered, the progcam automatically performs the
c::ilculations, detect~ the task patterns, and creates a Gann chart. The charr consists
of horizontal bars, connected with arrows that indicate task dependencies. If a typical workweek is selected, casks wi ll not be scheduled on Saturdays and Sundays.
However, for a mission-critica l project, a 24/7 calendar might be created. Whatever
is specified, the program will handle che tasks accordingly. Microsoft Project offers
numerous choice~ of display senings, formats, and calculation methods.
NETWORK DIAGRAM: After the Gann chart is completed, rhe darn can he viewed
in the form of a tvlicrosoft Project network diagram, which is simil::ir to a PERT
chart. When rhe Network Diagram option is selected, the project tasks, dependencies,
and stare and finish dares for each task are shown. A network diagram displays the
same information as the Gantt chart, including cask dependencies, but use task boxes
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 3
Managing Systems Projects
3.7 Project Management Software
92
to include much more derail. Using Microsoft Projecr, each cask can be assigned to
one or more people, budgets can be assigned targets, progress reports produced, and
schedules and deadlines readjusted as necessary.
CALENDAR VIEW: Calendar view is a good way to manage da y-to-da)' activity. This
view !.hows the tasks, simila r to a PERT charr, as an overlay on the actual calendar.
Because the criucal path is highlighted in red, it is easy for a project manager to determine priorities at any poim in rime.
Suppose the project manager wants to view the preliminary investigation in
Figure 3-24 as a Gantt chart, a PERT chan, and a day-to-day calendar. All three views are
shown in Figure 3-25. Each view sbo\vs the tasks, tbe riming, the dependencies, and the
critical parh. Note rhat of the four tasks scheduled for September 25, onl)1 the user surve)'
is on rhe critical path, therefore that should be rbe project manager's primary concen1.
Gantt Chart View
.....
.........................,.......
.... ,o.e-,,,.,...............
·~~..........
.,..,.....
...·-...
....
• .,.-.-_....,...
I
i
~.-.........
·-
_ • .,....... ....................... t_.
... fl'lllWllll.......
. ..
•9\"
...........,.._.....
....,......
-·---...................
~·
u ....
~-
-
'''
. ....
---···· .
..............
-
PERT Chart View
..
-..._
--·
......... u
••
-·--•ft•
•• _
h_..,, ...
.. -....... ...,_
......."" . ....
• •.
.. .-.......
........ ·~-
~
~
-
'+
....
~
.... fl'Wl1
...
,._,., WV.•
.........
-......·
., •
.... I...,.
C11lendarVlew
l1 ~_ _ _ _ _ _ _ 2t.
,----~-----'-'
FIGU RE 3-2S Note how each view displays tile project and highlights tile crttial patll If you were the
project manager on September 25, your primary concern should be conduct1ng tile user survey.
(....,..... J:gi ( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,...... .,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~--- t fta111&....-.~~ ij
__.~~ c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
93
3.8 Risk Management
J.8 RisK
MANAGEMENT
Every IT project involves risks that systems analysts and project managers must
address. A risk is an event char could affect the project negati\·ely. Risk management
is the process of identifying, analrzing, anriciparing, and monitoring risks to minimize
their impact on the projecr.
Although project management experts differ \vith regard to the number of seeps or
phases, a basic list of risk management casks would include rhe following:
•
Develop a risk ma11ageme11t plan. A risk management plan includes a review
of the project's scope, stakeholders, budget, schedule, and any other internal
or external factors t hat might affect the project. The plan should define project
roles and responsibilities, risk management methods and procedures, categories
of risks, and contingency plans.
• fdenti(y tl1e risks. Ri\k identification lists each risk and as~esses the likelihood
that it could affect the project. The derails ·w ould depend on the specific projCl't, but most lists would include a mean~ of identification, and a brief description of the risk, what might cause it to occur, who would be responsible for
responding, and t he potential impact of the ris k.
• Analyze the risks. This typically is a rwo-step process: Qua litative risk analysis
and quantitative risk analysis. Qualitative risk analysis evaluates each risk by
estimating the probability that it will occur and the degree of impact. Project
managers can u~e a formula to weigh risk and impact values, or they can display the result~ in a two-axis grid. For example, a Microsoft Excel XY chart
can be used ro display rhc marrix, as shown in Figure 3-26. In rhe chart, norc
the various combinarions of risk and impact racings for the five sample values.
This tool can help a project manager focus on the most critical areas, where
risk probability and porenrial impact are high.
High impact
Low probability
High impact
•
High probability
Risk Matrix
10..->o~---~-------~~~~~~~
Medium impact
Medium probabt~ty
9
•
8
7
t;
"'
8
5
~
-"
.!!
Low Impact
High probability
4
a:
3
2
1
0
*-~~~~~~~~~~~~~..;..-~~~~--!
.--~'"-----.
Low Impact
Low probabiltty
4
4
t
•
2
3
4
5
6
7
8
9
10
Risk Probability
.:. ~ ------
~·
•
•
FIGURE 3-2 6 You can use a Microsoft Excel XY chart cype to display a nsk rmtr1x
that shows risk probability and potential impact.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 3
Managing Systems Projects
3.9 Managing for Success
94
The purpose of quantitative risk analysis is to understand rhe actual impact in
terms of dollars, rime, project scope, o r quality. Quantitative risk analysis can involve
a modeling process called what-if analysis, which allows a project manager ro var)'
one or more elemenr(s) in a model to measure the effect on other elements. This topic
is di5cu5scd in more detail in Chapter 12.
•
•
Create a risk response plan. A risk response plan is a proactive effort ro
anticipate a risk and describe an acrion plan to deal with 1t. An effective risk
response plan can reduce the overall impact by triggering rimely and appropriate acnon.
Monitor risks. This activity is ongoing throughout the risk management process. Ir is important to conduct a continuous tracking process that can identify
new risks, note changes in existing risks, a nd update any other areas of rhe risk
management pla11.
Forrunarely, there is a wide variety of risk ma nagement ~ofrware available to help
a project manager with these casks. Most packages allow a project manager to assign
specific dares as constra ints, a lign task dependencies, note external factors rh a t might
affect a task, track progress, and displa)' casks that a re behind schedule. Armed with
rhis information, the IT ream can quantify the project's risks, just as rhcy use financia l
analysis tools to quantify costs and benefits.
3.9
MANAGING FOR SUCCESS
Project management is a challenging task. Project managers musr he alert, rcchnically
competent, and highly resourceful. They also must be good communicators with
strong human resource skills. Project managers can be proud when they handle a succes-;ful project that helps rhe company achieve irs business objecrive5.
Unfortunately, projects can and do get derailed for a wide variety of reasons.
\'<'hen problems occur, the project manager's abiliry to handle the siruarion becomes
t he crincal factor. When a project manager first recognizes that a project 1s 111 trouble,
what options arc available? Alternatives can include t rimming the project requirements, adding to the project resources, delaying the project deadline, and improving
management controls and procedures. Sometimes, when a project experiences delays
or cosc overruns, the system still can be delivered o n time and within budget if several less critical requirements are trimmed. The system can be delivered to satisfy the
mosr necessary requ iremen ts, and additional features can be added later as a part of a
ma intenance or enhancement project.
If a project is in trouble because of a lack of resources or o rga nizational support,
management 1night be willing to give rhe project more commitment and higher priority. For example, ma nagement might agree to add mo re people to a project that is
behind schedule. Adding staff, however, will reduce the project's completio n time o nly
if the addiciona I people can be integrated effectively into the development team. If
tea m members lack experience with certain aspects of the req uired technology, temporary he lp might be o bta ined from IT consultants or part-time staff. Adding sraff
can mean t rai ning a nd o rienting the new people, however. In some situations, adding
more people to a project actually might increase the time necessary ro complete the
project because of a principle called Brooks' law. Frederick Brooks, Jr., then an IBM
engineer, observed that add ing manpower to a late software project only makes it
lacer. Brooks reached this conclusion when he saw that new workers on a project first
had to be educated and instructed by existing empl oyee~ whose own productiviry was
reduced according!)'.
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
3.9 Managing for Success
To be successful, an informarion sysrem muse satisfy business requiremenrs,
sray wichin budger, be complered on rime, and-mosr imporranr of all-be managed effectively. As stated earlier and derailed next, when a project develops
problems, the reasons typically involve business, budget, or schedule issues, as
explained in the followmg sections. In addition ro planning and managmg the
project, a project manager must be able to recognize these problems and deal with
them effectively.
You are a systems analyst at Just-In-Time Software. a company that specializes in short delivery
cycles for itS products.The current project is running ~hind schedule, and the project manager
wantS to bring a few extra programmers onboard co help with the work.
You are familiar with Brook's Law. How can you best explain co the project manager
that adding more people co che project at this late stage may make things worse1 You
don 't want co be seen as a negative team player. but you're convinced that If you don't
speak up. the project's schedule will slip even more.
3.9. I Business Issues
TI1e major objective of every system is to provide a solution co a business problem or
opportunity. If the system docs nor do this, then it is a failure-regardless of positive
reaction from users, acceptable budget performance, or timely delivery. When the
information system does nor meet business requirements, causes can include unidentified or unclear requirements, inadequarely defined scope, imprecise targers, shortcuts
or sloppy work during systems analysis, poor design choices, insufficienr resting or
inadequate tcstmg procedures, and lack of change control procedures. Systems also
fail because of changes in the organization's culrure, funding, or objectives. A system chat falls short of business needs also produces problems for users and reduces
employee morale and productivity.
As explained in Chapter 2, projecrs without clear scope definitions are risky
because they rend to expand gradually, wfrhout specific authorization, in a process
called project creep. However, even when a project is clearly described, ir must be
managed consrnnrly.
3.9.2 Budget Issues
Cost overruns rypically resu lt from one or more o f the following:
•
•
•
•
•
Unrcalisric estimates that are roo o ptimisric or based on incomplete
information
Failure w devel<>p an accurate forecast chat considers all costs over the life of
the project
Poor monitoring of progress and slow response to early warning signs of
problems
Schedule delays due ro focrors chat were nor foreseen
Human resource issues, including mrnover, inadequate training, and
motivation
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
95
Chapter 3
Managing Systems Projects
3.10 Summary
96
3.9.3 Sc hedule Issues
Problems with timetables and project milestones can indicate a failure co recognize
task dependencies, confusion between effort and progress, poor monitoring and
control methods, personality conAicrs among ream members, or cu mover of
project personnel. The failure of an IT project also can be caused by poor pro1ect
management techniques.
If the project manager fails co plan, staff, organi1_e, supervise, communicate, monvate, evaluate, direct, and control properly, then t he project is certain co foil. Even
when factors outside his or her control contribute to the fai lure, the project manager
is responsible for recogn izing the early warning signs a nd handling chem effectively.
"Better blow the whistle," says your friend and project teammate at work."The project
is out of control, and you know it!" " Maybe so," you respond, "But that's not my call- I'm
not the project manager." What you don't say is that the project manager feels like her
career is on the line. and she is reluctant to bring bad news to management at this time.
She honestly believes t hat the project can catch up and says that a bad report on a major
project could resu lt in bad publicity for the firm and frighten potential customers.
To be fair. the next management progress report is scheduled in three weeks. It is
possible that the team could catch up. but you doubt it. You wonder if there is an ethical
question here: Even though the report isn't due yet. should a significant problem be
reported to management as soon as possible I You are concerned about the issue, and you
decide to discuss it with Stephanie. What will you say to her1
3
IQ SUMMARY
Project management is the process of planning, scheduling, monitoring, and reporting on rhe development of an information system. Plan ning includes identifying all
project tasks and esrimaring the completion rime and coM of each. Project scheduling
involves rhe crearion of a specific timetable, u!.ualJy in che form of charts t har show
casks, cask dependencies, and critical tasks char might delay rhe project. Projecr monitoring requires guiding, supervising, and coordinating the project ream\ workload.
The project manager muse monito r the progress, eva luate the results, and cake corrective action when necessa ry to contro l the project and stay o n carget. Project reporting
includes regu la r progress reports ro management, users, a nd the project rea m itself.
Effective reporting requi res st rong communication skills a nd a sense of what others
wa nt and need ro know a bo ut the project. A successful project must be com pleted on
time, be within b udget, and deliver a quality pro duct that satisfies users and meets
requiremen cs.
A project t riangle shows three legs: project cost, scope, and time. A project manager musr find rhe besr balance amo ng these clemeDrs because a change in any leg of
rhc triangle will affccr rhe orher two legs. Project management techniques can be used
rhroughour rhe SDLC.
Planning, scheduling, monitoring, and reporting-all rake place within a larger
project development framework, \vh.ich includes three key steps: creating a WBS,
identifying task parrerns, and calcula ting the critical path. A WBS must clearly
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Phase I
Systems Planning
97
3.10 Summary
idenrify each task and include an estimated duration. A rask, or activity, is any work
that has a beginning and an end and requires the use of company resources such as
people, rime, or mone)•. Time and cost esrimares for rasks usually are made m personda)'s. A person-day represents the work rhac one person can accomphsh in one day.
Esnmaring the rime for project activities is more difficult with larger systems. Project
managers musr consider rhe project size and scope, IT resources, prior experience
with similar pro1eccs or systems, and applicable constraints. In addition to tasks, every
project has cvenrs, or mile!>tones. An event, or a milestone, is a recognizable reference
point rhat can be used ro monitor progress.
Task patterns establish the sequence of work in a project. Task patterns involve
dependent casks, mulriple successor tasks, and multiple predecessor tasks. In larger
projects, rhese patterns can be very complex.
A critical path is a series of casks that, if delayed, would affect the completion dare
of rhe overall project. If any task on the critical path falls behind schedule, the entire
project will be delayed. Tasks on the critical path cannot have slack time. To identify
the critical path, calculate the start and finish date for each cask, which will determine
the critical path for the project.
In project schedu ling, rhc project manager de\•elops a specific rime for each rask,
based on available resources and whether or not -cbe task is dependent on ocher predecessor tasks. The manager can use graphical rools such as Gantt charts and PERT
charts ro assist in rhe scheduling process.
A Gann chart is a horizontal bar c hart that represents the project schedule with
rime on the horizontal axis and tasks arranged vertically. ft shows individual tasks
and rask groups, which include several casks. In a Gantt chart, the Ieng-ch of the bar
indicarcs rhc durarion of the rasks. A Gann chart can display progress bur docs nor
show rask dependency derails or re ource assign ment unless the charr was created
with a project management program that suppon:s dependency linking and rhe entry
of other information.
A PERT/C P~I charr shows the project as a nerwork diagram with tasks connected
by arrows. Using a prescribed calculation method, the project manager uses a PERT
chart to determine the overall duration of the project and provide specific information for each task, including the rask IDs, their durarions, start and finish rimes, and
the order in which they must be performed. \Xlirh this information, the manager can
determine the critical path, which is the sequence of tasks that has no slack time and
must be performed on schedule in o rder to meet the overall project deadline.
Mose project managers use software applications such as Microsoft Project co
plan, schedule, and monitor projects. Project managers are responsible for risk management, which is rhe process of identifying, analyzing, a nticipating, and monitoring
risks 10 minimize their impact on the project.
In ihe end, project management involves the same skills as any o ther management.
The project manager must be perceptive, analytical, well organized, and a good communicator. If the project manager senses that the project is off-track, he or she muse
take immediate steps to diagnose and solve the proble1n. lf the project manager fai ls
to plan, staff, organize, supervise, communicate, motivate, evaluate, direct, and control properly, then the project is certain to fail. Even when factors outside his or her
control contribute to the failure, the project manager is responsible for recognizing
the early warning signs and handling them effectively.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 3
Managing Systems Projects
Key Terms
98
Ke y Te rms
actJ\11)- Any work rhar ha~ a beginning and an end and require> the use ol compan) rc<.oorce' including
people, tmte, :rnd/or mone). Example$ indu<le conducung a >erto of 1nten 1cw,, de-1gnmg a report,
\clet.:ung ,ofrware, waifing for the delivery of equipment, and 1ra1nmg u..er~. <iu 11/su l.t\L..
best-ca~
c<itimatc The mosr opcirnisric outcome.
bonom-up technique A method for analyung a large, complex protect as a serii-s of mdl\·idual tasks,
called project tasks.
Brool..s' la" hedenck Brooks, an IB~l engineer, observed that adding more rnanpO\\Cr
\I ar~ proiect 01il) mak~ 11 later.
10 a
!are soft·
code re1 iew See structured walk-through.
concurrent 1a;I.. A rask that can be completed ar the same tune as (in p.1rnllel wnh) another task.
~riucal path A 'cric• of events and activities with no ;lack time. If any act1v11y along tht• critical path
foils hchind schedule, the entire project 'chedule i\ similarly delayed. 1\s the name implic,, a critica l
parh include., all activities rhar are vir:il t() rhe project M:hedule.
Critical !~uh Method (Cl'M) Sbows a project as a nerwork diagram. The ,tctivitics Jre shown as vectors,
.ind the events are displayed graphically as nodes. Although Cl'M developed sepJrarely from the Progr.1rn
fa .1luarion Re1iew Technique (PERT), che two methods are essentially idenucal. See a'5o l'l:R l /CPM .
dependent t.1sk A task is said robe depeodem when ir has robe completed ma seri.11sequence.
design re\lew See srrucrured walk-through.
durauon lne amounr of time 1r will rake ro complere a rask.
cwnc 1\ reference point thar marh a major occurrence. U~ to monitor pro11rc\\ and mana11c a projen.
Sec .ilso m1fc,tone.
fin,.,h day/d:ue The dov or d:irc when a cask i:. scheduled to be finbhed.
C~nn ,h;an A hormmtal bar chart chat illusrrate> a ,.:hcduf.,. Dc1•dopcd man) year' a110 b) Henry L
Gann as a proJouion 'ontrol c.,,hniquc. Still arc in common
LI><: todJ).
nufc,tnnc \ reference point that mark. a major occurrence. U«:d
projccr. See also event.
ncmnrk d1agr:im A PF.RT chan
al~o
is referred
to
to
monitor pmgre" and manage a
as a network diagram.
open source Sofrware thac is supported b) a large group of users and developer•. The source code is
mJde free!) available.
pcrson-dav I he amoum of work that one person can comple1e in one d.1y.
l'l:.R f /Cl'M lbe l'rogr.im Ev•lua11011 Review Tecbmque (Pl:.RT) "a> developed by 1he U.S. Navy 10
man.tgc very complex projects, such as rhe construction of nuclear submarines. At appro,imarcly rhe
same 11me, the Cnrical Pach Method (CPM) was de, eloped by pnvare indusrr) to rnccr ~1m1lar project
management needs. The tmporranr disrincrions berween the two methods hal'e disappeared over rime,
and rot.lay 1he rechmque is cillled either PERl~ CPM, or l'ERT/Cl'M.
prc<lccc"or ta\k A <mglc prior task upon wl1 ich two or more concurrent 1.1sk\ depend.
probablc·<:a\c c\limarc The most likely outcome is called a probable-ca~c c\timatc.
Prol\ram [·.valuation Re\ i~ Technique (PERT} See l'ERT/CPM.
project coordin;11or The person who handles administrative responsihilitie< for the development team
and negoriate' wirh u~ers who might have conAicring requirement~ or wane changes that would
rc4uirc .11Jditional time or c..:pcnse.
pro1c't lc:ldcr The perwn chJrgcd with leading a project from a rechnical
per~pc,rivc.
pro1c.:1 m.inJgcment The process of planning, schedtilm!(, mon11onng, controlltng, .1ntl reportutg upon
che dcl'elopmen1 of an information system.
pro1c.:r manager The pcrwn charged ,,;th maaagiag a projccc from an admm1stranve pcr<ipective.
~JD»(".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_._....~~
...
...............
_ .... ~---11rt~
-,..~---~~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Phase I
Systems Planning
99
Key Terms
pro1cct monitonng Gu1dmg, supervising. and coordin:iriog chc project 1eam's worlJoad.
project planninl( ldcnufymg prOJC\:t IJ>b and estimating completion ume Jnd cosb.
projcc1 rcporunit Pro,1dmg regular progress reports 10 managemen1. users, .md the pro1ecr 1eam nsclf.
pro1cx1 "'hrdulin11 The vca11on of a ">pc<:ific umcrable ro faciliratc complcuon ot J pro1a:1. Al'o m'ol'c'
<electing and ;,1;iffing rhc pro1ccr ream and a'\~1gnmg specific tasks to team mcmh<:.-.
pro1cct 1nan11k The thr« ma1or component~ of a project: co<t, scope, and nmc. A projc~'t manager rric\
to find the optimal balance among the\C facrors.
qualuati'c mk anal}"' Fvaluaring ri\k by escimaring che probability rhar ir will occur and the dcgrc-e of
impact.
quantitauvc ri~k anal) m cvaluaung mk m rerms of rhe acmal impact m terms of dollars, tune, pro1ccr
scope, or qualiry.
ri~k An C\'ent th.tr could affccr the pro1ccr negatively.
ri~k
identification Lming each risk and assessing the likelihood thar it could affect a pro1ccr.
ri'\k manai;cmcnt The procc'' of idcnrifying, evaluati ng. cracking, and controll ing ri'h to minimize rhcir
impact.
ri,I.. management plan lnducJc, n rcvi<.·w of the prujt:t.'t's scope, sr:akeholtle,.,., hud11tt, •chet.lulc, and any
other internal or c'rcrnal factor' chat might affect the project. The plan <hould define projc~1 role\ and
rC"pomihi liric<, ri'k m,inagcmcnr mcrhod< and procedures, categoric< of ri<h, and contini;cncy plan<.
risl.. response plan A proaciive cffon to .inricipare a risk and describe an action plan rode.ii with ii. An
effecche rt>!. respon.)t p!Jn can reduce che o~erall llllpacr by criggenng a timely and appropri.ue acuon.
~I.tel. urnc !be amount of ume b) which an e\'enr can be !are without delaymg the pro1ecr. lbc difference bet~ttn btest compleuon ume (LC!) and earliest completion titne (l:.Cf).
start day/dare lhc dJ) or date when a rask 1s scheduled to begin.
\tructurcd "alk-through \ rc,·1ew of a project ream member's work h}' other member\ of the ream.
Generali)', 'l'rcm' analy•r• review the work of orher S)"St:ems analym, and programmer\ renew rhc
worl.. of other programmer-, a' a form of peer re,·iew. Should take place throughout chi: SOI.( and
ar1: called rcqu1n:mcnt r.-vicw•, dc\lgn review<, code rC\;ews, or tc:>tmg n:v1cw•, dcp1:nd1ng on the
pha\C in "h11:h thcr occur.
\UCCC\\nr ta'k F.ach nf the cnncurrcnr ra•k' of a prcdeccswr cask.
ca'k An} worl.. that ha<i a beginn ing and an end and requires the use of company resources 111clud111g
people, time, ,111d/or money. Examples include conducting a series of inter\'iews. designing .1 report,
~elect111g buff\\ are, waiting for the deJi,ery of equipment, and training users. See .:1/su a1..1 .. it>ta>k bu" A i:o111ponc111 of a PF.RT/CPM charr that contains imporranr scheduling and duration informa tion abour J tJ>k. Fnch ra>k in a pruic1..-i is represented by its own task box in the PF.RT/CPM 1..hart.
ta>k group A ta'k thnt
rcprc~cnr~ ~C\'eral
activ11ics.
task ID A number or code thn1 uniquely identifies a task.
task name A brief dcscrip11ve name for a task, which does not have to be unique in the pro1ecr. Fc>r
example, a task 11.1med Conduct l111erv1ews might appear in several phases of the proiecr.
tasl.. paucrn A log"al •~quence of ra~ks ma WBS. Can involve sequential tJsk>, muluple >U"e;;or tasks,
and muluple predecessor tasks.
tcmng rc•icw See '\tructured \\all..-through.
\\eight An important mulupher th,1r managers facror inro esnmares so the) c.in he an3lyzed.
\\Ork brcal..do" n uructurc (WBS) A pro1ect broken down imo a series of smaller task\. Su also Gantt
chan; PERT/CPM chan.
wo~t -ca'c
C\t1111.1tc The most pcss1m1sric outcome.
~ JD» (".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_ ._.... ~~
...
. ..............
_ .... ~---11rt~
-,..~---~ ~
.... . _
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Chapter 3
Managing Systems Projects
Exercises
100
Exercises
Quest ions
I. Draw a pro1ect rriangle that shows rhe relationship among project cost, scope, and time.
2. \Vrite the S(.Tipt for a one-minute explanation of basic project management concepts.
3. Explain the differences bcrwecn a Gann charr and a PERT/CP~I chart.
4. \Vhat are the three main task parrerns t)'Pes? Provide an example of each.
5. Why is the critical path important?
6. What is a srrucrured walk-through?
7. What arc the rwo main ways project starus is reported to management?
8. What i~ a significanr advanrnge of project management sofrware?
9. List the basic tasks in a risk management plan.
1 O. Explain Brooks' law.
Discussion Topics
I . When using a project rriangle to illustrate conflicti-ng priorities, Microsoft suggests rhar if rhe problem
2.
3.
4.
5.
is in the fixed leg, work on rhe other rwo legs. For example, if rhe project must nor exceed rhe budger
and it is starting to run over, adjust rhe schedule, or the scope, or hoth. However, if the problem is nor
related ro rhe fixed leg, rhe adju~rmenr mighr have to be in the remaining leg. So, when faced wirh an
inflexible budget (fixed leg) and the schedule is slipping (problem leg), rhe project's ~cope (remaining
leg) mighr have robe adjusred. Why is explaining this siruarion ro management sometime~ a very difficulc cask for chc sysccms analyst?
lf you are managing a large project, would you prefer Gantt charts or PERT/CPM charts ro represent
project status? Explain why.
Consider a scenario where a cask is dependent on another task being started bur nor necessarily completed. for example, a prOJect may depend oa a cask being started and one-fourrh compleced before
the group could start 1heir porrion of the project. Do you think this situation occurs frequently in systems pro1ects? Wh>• or why not?
Some project management applications can be quire expensive. As a manager, how would you justify
the purchase of this sofrware?
Risk analysis is rypically a two-step process: qualitative risk analysis and quantitative risk analysis.
As a systems analyst, for which sores of project management decision!. would you use the results from
qualitative risk analysis? 1-rom the quantitative risk analysis?
Projects
1. Think of all the tasks chat you perform when you p urchase a car. Include any research, decisions,
or financial issues that re lare ro the purchase. Crea re a \X'BS that shows all the rnsks, their estimated
duration, and an)' predecessor rasks.
2. Figure 3-27 shows a \XfBS with l Ltasks. Note tbat each rask has an ID, a description, durarion, and
a reference to predecessor tasks, if any, which must be completed before the task can begin. Also note
that dependent casks can have one predecessor task or several. Construct a PERT/CPM chart from
rhese tasks. Reca ll that rhis is done as a rwo-step process: (l) display the casks and task patterns, and
(2) enter start and finish rime.
r..,,...JID)r-..1-.. 4• 11_.. • ...__. ~... .... .,... ~ • ........._ ......_.,.,.. o-... ..,._ .,,.,.. _..,. ~ ,...... ..., ................. .._... ..,.,...,.~"
........... ........ ..., .................... . . .... -.., .n..-. ....-i k-s c~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
Phase I
Systems Planning
I0I
Exercises
•
D escr ipt ion
D ur ation
( D ays)
Predecessor
Tasks
I
Develop Plan
2
Assign Tasks
4
3
..
Obtain Hardware
17
Programming
70
2
5
Install Hardware
10
3
6
Program Test
7
Write User Manual
B
9
Convert Files
System Test
10
User Training
II
User Test
30
25
20
25
20
25
..
5
5
6
7,8
9,10
FIGURE 3-27 Example of a work breakdown structure listing 11 tasks.
together with their descriptions. durations, and predecessor casks.
3. Many of roday's projects involve team members scanercd across different time zones and in different
phy~ical locations. Moreover, the projects may have adopted an agile mechodology, which reduces
cycle time dramarically. Wrire a brief report rhat summarizes some of the key differences a manager
would face managing chi~ rypc of projecr, as opposed to a traditional pro1ecc.
4. Go to the websites for project management rools (besides Microsoft Project), such as Apptivo (www
.apptit'O.com ), GanttPro1ecr (www.ganttprojed.biz), Ganner (wwmga11Ner.com), smarrshcet (u11uw
.s111arts/Jeel.comlprod11d-to11r/gm1N-charts), }vlonday (U11t•w.mo11day.com), and Trello (www.trello.com).
I:xplorc each program's fearures and describe what you like and don't like.
5. Perform an Internet research co learn more about project risk management and write a summary
of the resulrs. Be sure to search for cbe classic book titled Waltzing with Bears: Managing Risk 0 11
So(tw<1re Projects, by Tom Demarco and Timothy Lister.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
~
~ ... _
JIJ»C....... ~ Al RlilfD
l,eocl\olld.,...,. _WOlfi'l'l.~• ......-W.Mdk«iil,_._DIK•dtc--.: ......,_ . . . ,_.,~-.lit .......... .._.,._.__..,~•\
. . . _ . .... ..., ~...,.._,_..,..., J\&."9 ... --.11 ......... ~ C'dptl"~~d.tt ...... -
............ -
..... -
..........
-.-.....w--...-.11
PHASE
Systems analysis is the second of five phases in the systems development life cycle. In the
previous phase, systems planning, a preliminary investigation was conducted to determine the
project's feasibility.The output of that phase, the preliminary investigation report. is used as input
to the systems analysis phase, where a system requirements document is created that captures
the needs of the all stakeholders.
A successful project manager must determine the requirements before starting the design
process. not the other way around. It may be tempting to "just do something" to give the
appearance of productivity, but a systems project that does not satisfy business requirements
serves no useful purpose.
Chapter 4 focuses on the requirements engineering process. This includes system requirements,
team-based techniques, gathering requirements through interviews and other methods,
gathering requirements in agile projects, representing requirements. validating and verifying
requirements, and requirements tools.
Chapter 5 focuses on data and process modeling techniques that analysts use to show how
the system transforms data into useful information. This includes logical versus physical models,
data flow diagrams and symbols, drawing data flow diagrams. drawing context diagrams, drawing
diagram 0 DFDs, drawing lower-level OF Os, data dictionaries, and process descriptions.
Chapter 6 focuses on object modeling techniques that analysts use to create a logical
model. This includes object-oriented analysis, objects, attributes, methods, messages, classes,
relationships among objects and classes, the Unified Modeling Language (UML), and tools.
Chapter 7 focuses on development strategies for the new system and plans for the transition
to the systems design phase.This includes traditional versus web-based systems development,
evolving trends, in-house software development options, outsourcing, offshoring. Software
as a Service (SaaS). selecting a development strategy, the software acquisition process, and
completion of systems analysis casks.
103
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ .
....._.,.,.. o-...
..,._.,,.,.._..,.~
,........., ................. .._... .., .,. ..,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Chapter 4
Requirements Engineering
•
• ••• • ••
•
•••• •••••••••••
•••••
• ••
•••••
•
······----····
·····---··-··
......
- ·····
---· --
Requirements
Engineering
Chapter 4 is the first of the four chapters m the
systems analysis phase. This chapter describes the
requirements engineering process: gathering facts
about a systems project. creating models that will be
used to design and develop the system, and verifying
and validating that the models are correct before
proceeding to the next phase of the SDLC.
The chapter includes three "Case In Point"
discussion questions to help contextualize the concepts
described in the text. The "Question of Ethics" raises
the issue of considering a request by a supervisor to
identify departments that reported the lowest ratings in
a survey that was supposed to be kept anonymous.
LEARNING OBJECTIVES
Whe11 you finish tl1is chapter, you should be able to:
CONTENTS
1. Explain system rcquiremenrs and rhc challenges
associated with the rcquircmcnrs engineering process
2. Compare and contrast funcnonal and
non-functional requirements
3. Apply team-based rcquircmcnrs engineering
techniques, including joinr application development
UAD), rapid appltcaaon development (RAD), and
agile method~
4. De1'elop a face-finding plan for gathering
requirements
5. Conduct an interview to gather sy3tem
requircmcntS
6. Use other requirement~ garhering rcchniqucs,
including document review, observation,
questionnaires and surveys, brainstorming,
sampling, and research
4. 1 System Requiremenrs
4 .2 Team-Based Techniques
Case in Poinr 4.1: 'orch Hills College
4.3 Gathering Requirements
4.4 Garnering Requirements Through lnrerviews
4.5 Gathering Requirements Using Other
Techniques
Case in Point 4.2: CyberStuff
4 .6 Gathering Requirements in Agile Projects
4 .7 Represenring Rcquircmcnrs
Ca3e in Point 4.3: Digital Pen Transcription
4 .8 Validating and Verifying Requirements
4 .9 Tools
A Question of Ethics
4. 10 Summary
Key Terms
Exercises
7. Explain how requircmcnrs arc gathered in agile
projects
8. Utilize different requircmenrs representation
techniques, including natural language,
diagram~, and mo<leb
9. Explain how ro validate and verify requiremenrs
10. E.x:plain bow roob can help wirh requirements
engineering acciv1ti~
f"........., ,.,.r...., t . . . . . 4•111..-.•...__. .......
• ........._ ......_.,.,.. o-...
~
~------..
.,...~
..,._.,,.,.._..,.~
,........,.., ........... ._... ..,.,...,.~"
... ~ ........................ -..,.n..-.....-ik-sc~ c....,a..-.,.,...,. ..... ID>_... ........ _
.. ~ ........................_ .... ._
Phase 2
Systems Analysis
105
4.1 System Requirements
4. I
SYSTEM REQUIREMENTS
During the first part of the srstems analysis phase of the SDLC, systems analysts must
idenrify and describe all system requirements. A system requirement is a characteristic or
feature that must be included in an informarion system to satisfy business requirements
and be acceprable to users. System requirements serve as benchmarks to measure the
overall acceprabiliry of the finished system.
Because system requirements arc the focus of t he start of the systems analrs1s phase,
it's important to get rhcm correct, right at rhc start of the process. Any problems with
the requirements will have a ripple effect that could negacively affect subsequent phases
of the DLC. In facr, poor requirements engineering is a leading cause of failed projects.
Requirements engineering is composed of three main activities:
1. Gathering requirements: 1111derstanding the problem
2. Representing requirements: describing the problem
3. Validating and verifying requirements: agreeing upon the problem
Each of these activities is described in more decailt in this chapter. The output of
requirements engineeri ng are requirements docun1enrs that capture the essence of
what the system should do. These documents are the input to the next step in the
SDLC, data and process modeling, which is described in Chapter 5.
4.1.1 Types of Requirements
Requirements can be classified according to various characteristics. For example,
requirements may be primarily for the system user, in which case they are referred to
as requirementS definitions. Requirements may also be primarily for the engineering
team, in which case they arc referred to as requirements specifications.
System requirements can also be classified as functionaJ and non-functional. A
functional requirement is a statement of the services a system provides. Examples of
functional requirements include the folJowing:
•
The website shall report online volume srariscics every four hours and hourly
during peak periods.
•
The inventory system shall produce a daily report showing the part number,
description, quantiry on hand, quanriry alJocated, quantity avaiJable, and unit
cost of all sorted by pare number.
•
The contact management system sball generate a daily reminder list for all sales
representatives.
Each input form must include date, time, product code, customer number, and
quantity.
The system must provide logon securiry at the operating system level and at the
application level.
•
•
A non-functional requirement is a statement of operational system constraints.
Non-functional requirements are also known as quality attributes. Examples of functional requirements include the following:
•
Data entry screens must be uniform, except for background color, which can be
changed by the user.
•
The ~)·stem must support 25 users online simuJtaneously.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 4
Requirements Engineering
4.1 Syscem Requ irem encs
106
•
•
Response rime muse nor exceed four seconds.
The system must be operational 7 days a week, 365 days a year.
•
The sysrcm should work on Windows and Nlac platforms.
Non-funcrional requirements may be more critical rhan funcrional rcquiremcnrs;
if t he former are not satisfied, the system is useless. Conflicts berween different
non-functional requirements arc common in complex systems. For example, a user
may requcsr chac a sysrem be 100% secure but very usable--rwo requirements chat
arc hard co reconcile.
4. 1.2 Requirements Challenges
Requirements present numerous challenges to the systems analyst. Three of the most
imporrant arc imprecision, agreement, and creep.
IMPRECISION: Requirements arc often imprecise because rhcy are usuall y repre-
scnccd using natural language, such as the examples shown in Secrion 4.1.1. Natural
language is expressive, bur it is prone to misintcrprerarion. Ir is not uncommon for
vnrious i.rakeholde rs to completely dlisagrec as to the mea ning of a simple req uirement. It is for chis reason chat other techniques are used to represent requirements, as
described in Secrion 4. 7.
A req uirement may be a high-level abstract statement of a service or of a system
constra int, bur it can a lso be a derailed mathematical specifica tion. T his is because
requirement~ often berve rwo functions: as a basis for a bid for a contract, a nd as the
basis for rhe cotitract itself.
If rhe requirements are the basis for the contract bid, it muse be open to interpretation. Bur if the requirements are the basis for rhe contract itself, it must be defined in
detail. These rwo constraints are difficult to satisfy.
AGREEMENT: One of the main problems with requirements is getting everyone co
agree on the exact meaning of the requirements statements. Jn other words, we want
ro develop requirements in such a way that, upon completion of the system, borh t he
systems analyse and rhe client can agree on whether or nor a specific requirement has
been met.
In theory, requirements shou ld be both complete and consistent. A requirement is
complete if it includes descriptions of all faci lities needed by the system. In pr::ictice,
it's 11npossible to corn plerely descri be the requirements for a complex system.
A requ irement is consisrenr if there are no conflicts or contradictions in the
description of rhc system facilities. In practice, ensuring char there are no conflicts in
the system requiremencs when there may be thousands is quite cha llenging.
CREEP: There are many social and organizational factors that influence sysrem
requirements. For example, business changes inevitably lead to ch:mging requirements-usually more of them ;ts the project progresses. T his is particularl y true for
long-lived projects where the personnel involved change over rime. This phenomenon
is known as "feature creep."
Rapidly c hangi ng requirements can cause numerous problems for systems analysts
and other ream members. T his is particularly true for project!. that follow a traditional waterfall model of the SDLC. It is partly for th is reason rhar agile methods are
popular: They explicitly address changing requirements as part of rhe project's managemen t structure.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
Phase 2
Systems A nalysis
107
4.1 System Requirements
4.1 .3 Additional Considerations
In addition to the three challenges ourlined earlier, syscems analysts muse consider
three important supplementary factors: ( 1) scalability, which determines how a system will handle future gro\\'th and demands; (2) security, which 1s all-imporrnnc for
today's networked systems; and (3) che coral cost of ownership, which includes all
future operanonal and support coses.
SCALABILITY: Scalability refers co a system's ability to handle increased business
volume and transactions in the future. Because it will have a longer useful life, a scalable S)'Stem offers a bener rerum on the initial invesanent.
To evaluate scalability, information is needed about projected future volume for all
outputs, inputs, and processes. For example, for a web-based order processing system,
one needs to know the maximum projected number of concurrent users, the periods
of pc:ik onlinc activity, the number a nd types of data items required for each transaction, and the method of nccessing and updating customer files.
Even to print customer statements, the analyst needs to know the number of active
accounts and h:we a forecast for one, rwo, or five years because char informa tion affeccs
fucure hardwa re decisions. In addirion, wich realistic volume projeccions, reliable cosc
estimates for rcl:ued expenses, s uch as postage and online charges, can be provided.
Similnrly, to ensure thac a web-based hotel reservation system is sufficientl y scalable, the anal)'St would need ro project ncrivity levels for several years of operation. For
example, one might forec:ist the frequency of oaline queries :ibout room availability
and e~timate the time required for e:ich query nnd the average respon~e time. With that
information, server transaction volume and nerwork requirements could be estimated.
Transaction volume has :1 significant impact on operating costs. When volume exceeds
a system's limitations, mainrenance costs increase sharply. Volume can ch:inge dramatic:illy
if a comp:iny expands or enters a new line of business. For example, a new lntemet-b:ised
marketing effort might require an additional server and a 24-hour technical support.
Darn storage also is an important scalability issue. The analyst must determine
how much datn storage is required currently and predict future needs based on system activity and growth. Those requirements affect hardware, software, and network
bandwidth needed to maintain system performance. Data retention requirements
must also be considered to determine whether data can be deleted or archived on a
specific timetable.
SECURITY: Jn rhc past, security was considered an add-on to a system'& de ign.
This is particul:irly true for legacy sysrems that have been deployed for some time.
Nowadays, security is so important for networked systems that it has changed from a
non-functional requirement to a functional requirement. ln other words, security is :in
ei.sential consider:ition for a ll systems development.
incorporating security as a first-class requiretnent is particularly important in lig ht
of the seemingly endless news reports of 1nassive data breaches. These hacks tele:isc
personal information from o nline systems at a scale previously unseen. lf the systems
h:id been m:ide with security in mind from the beginning, they would be much harder
to infiltrate.
The ch:illenge with security as a system requirement is tha t it is often in conflict
with other user requirements. For example, a requirement that the system should be
accessible online using n web interface immediately makes securing the system much
more challenging. The systems analyst must attempt co reconcile and prioritize the
conflicting requirements during the requirements engineering process.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 4
Requirements Engineering
4.2 Team-Based Techniques
108
In addition to direct costs, systems developers must
identify and document indirect expenses that contribute to the total cost of ownership
(TCO ). TCO is especially important if the development team is as!.essing several alternative!.. Afcer considering the indirect costs, which are not always apparent, a syscem
thar seems inexpensive iniriaUy migbt actually rurn our ro be rhe cosrliesr choice. One
problem is that cost estimates rend to understate indirect col.ts such as user support
and downtime productivity
losses. Eve n if accurate figures are unavailable, syscems
analysts should try to identify
indirect costs and include them
TCO for Cloud Computing
in TCO estimates.
Because cost contro l is
so important, vendors ofren
claim that their products or
services will reduce T CO significantly. For example, one
of the most commo n reasons
to migrate n legacy system to
the clo ud is reduced TCO. As
shown in Figure 4- 1, cloud
computing offers rhe opportunity for lower operational
costs due to the our ourcing
of expenses such as ca pita I
investment in exchange for a
FIGURE 4-1 Total cost of ownership when migraung co the cloud can be significandy less
pay-as-rou-go pricing model.
than current computing platforms.
TOTAL COST OF OWNERSHIP:
29°10
57°10
v
4.2
TEAM-BASED TECHNIQUES
The IT department's goal is to deliver the best possible information system, at
the lowest possible cost, in the shortest possible time. To acbjeve the best results,
systems developers view users as partners in the development process. Greater user
involvement usually results i11 better communication, faster development times, and
more satisfied users.
The traditional model for systems development was an IT department that used
st ructured analysis and consulted users o nlr when their inpur o r approval was
needed. Although the TT staff still has a central role, and structured analrsis remains
a popular merhod of systems development, mosr IT ma nagers invire system users to
parricipare actively in various development tasks.
As described in Chapter 1, ream-based approaches have been around for some rime.
A popular example is joint application development UAD), wh ich is a user-oriented
technique for fact-finding and requirements engineering. Because it is not linked ro a
specific development methodology, systems developers use JAD whenever group input
::ind inreraccion are desired.
Another popular user-oriented method is rapid application development (RAD ).
RAD resembles a condensed version of the entire SDLC, with users involved every
seep of the way. While JAD typically focuses only on fact-finding and requirements
determination, RAD provides a fast-track approach to a full spectrum of systems
development tasks, including planning, design, construction, and implementation.
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
P hase 2
Systems A nalysis
109
4.2 Team-Based Techniques
Finally, as described in Chapter 1, agile merhods represent a recent trend that
srresscs intense interaction between systems developers and users. JAD, RAD, and
agile methods arc discussed in the following seccions.
4.2. 1 Joint Applicatio n Deve lopme nt
Jome application dc\.clopmcnc UAD) is a popular fact-finding technique that brings
users 111to the development process as active participanrs.
USER INVOLVEMENT: Users have a vital stake in an information system, and
they should participate fully in rhe development process. Many years ago, rhe IT
department usually had sole rcsponsibiliry for systems development and users had
a relatively passive role. During rhe development process, the IT staff would collect
information from users, define system requirements, and construct the new system. At
various stages of che process, che IT staff might ask users to review the design, offer
comments, and submit changes.
Today, users rypically have a much more active role in systems development. IT
professionals now recognize that successful systems must be user oricnrcd, and users
need to be involved, formally or informally, at every stage of systems development.
One popular strategy fo r user involvement is a JAD team approach, which
involves a cask force of users, managers, and IT µrofessiona ls who wo rk togcrhcr to
gather information, discuss business needs, and define the new system requirements.
JAD PARTICIPANTS AND ROLES: A JAD team usually meets over a period of days
or weeks in a special conference room or at an off-sire location. Either way, JAD
participanci. should be insulated from rhe distraction of day-co-day operations. The
objecti,·e is to analyze the existing system, obtain user input and expectations, and
document user requirements for the new system.
The JAD group usually has a project leader, who needs strong interpersonal
and organizational skills, and one or more members who document and record the
results and decisions. Figure 4-2 describes typical JAD participants and their roles.
IT staff members often serve as JAD project leaders, but that is not always the case.
JAD PARTICIPANT
ROLE
JAD protect leader
Develops an agenda. acu as a facilitator. and leads the JAD session
Top manageme nt
Provides enterprise-level authorization and support for the project
Managers
Provide department-level support for the project and understanding of
how the project must support business functions and requirements
Users
Provide operational-level input on current operations. desired changes,
input and output requirements. user interface issues, and how the project will support day-to-day tasks
Systems analysts and
other IT staff members
Provide technical assistance and resources for JAD team members on
issues such as security, backup. hardware. software. and network
capability
Recorder
Documents results of JAD sessions and works with systems analysts to
build system models and develop CASE tool documentation
FIGURE '4-2 Typial JAD partlcipancs and roles.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 4
Requirements Engineering
4.2 Team- Based Tec hniques
I I0
Syscems analysts on rhe JAD ream participate in discussions, ask questions, rake
note , and provide support to rhe team. If CASE tools are available, analysts can
develop models and enter document ation from the JAD session directly into the
CASF tool.
A typical JAD session agenda is s hown in Figure 4-3. The JAD process involves
intensive effort by all ream members. Because of the wide range of input and constant
interaction among the participants, many companies believe th:u a JAD group produces the best possible definition of tbe new system.
Project leader
• Introduce all JAD team members
• Discuss ground rules, goals. and objecuves for the JAD sessions
• Explain methods of documentation and use of CASE tools, if any
Top management (sometimes
called the project owner or
sponsor)
• Explain the reason for the project and express top management
authorization and support
Project leader
• Provide overview of the current system and proposed project
scope and constraints
• Present outline of specific topics and issues to be investigated
Open discussion session,
moderated by project leader
• Review the main business processes, tasks, user roles. input. and
output
• Identify specific areas of agreement or disagreement
• Break team into smaller groups to study specific issues and assign
group leaders
JAD team members working
• Discuss and document all system requiremenu
• Develop models and prototypes
in smaller group sessions,
supported by IT staff
--------
Group leaders
• Report on results and assigned tasks and toptcs
• Present issues that should be addressed by the overall
JAD team
Open discussion session,
moderated by pro1ect leader
• Review reporn from small group sessions
• Reach consensus on main issues
• Document all topics
Project leader
• Present overall recap of JAD session
• Prepare report that will be sent to JAD team members
FIGURE 4-3 Typical agenda for a )AD session.
)AD ADVANTAGES AND DISADVA.NTAGES: Compared with traditio nal
meth ods, J AO is more expensive and can be cumbersome if the grou p is too large
relative co the size of rhe project. M any companies find, however, that JAD a llows
key users to pa rticipate effectively in the requ irements engineeri ng process. When
users participate in rhe sysrems development process, they arc more likely ro feel a
sense of ownership in the results and support for the new sysrem. When properly
used, JAD can result in a more acc urate statement of system requirement , a better
understanding of common goals, a nd a stronger commirment to the s uccess of the
new system.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
I
Phase 2 Systems Analysis
I II
4.2 Team-Based Techniques
CASE
IN POINT 4.1:
N ORTH H ILLS C OLLEGE
North Hills College has decided to implement a new registration system that will allow
students to register online as well as in person. As IT manager, you decide to set up a JAO
session to help define the requirements for the new system.The North Hills organizaoon
is fairly typical, with administrative staff that includes a registrar. a student support and
services team, a business office, an IT group, and a number of academic departments. Using
this information, you start work on a plan to carry out the JAD session. Who would you
invite to the session, and why! What would be your agenda for the session, and what would
take place at each stage of the session!
4.2.2 Rapid Application Development
Rapid application d evelo pment (RAD) is a team-lbased technique that speeds up
information systems development a nd produces a function ing information system.
Like J AD, RAD uses a group approach bur goes much further. \Xlhtle t he end product
of J AD is a requ irements model, the end product of RAD is the new informa tion sys·
rem. RAD is 3 complete merhodoloh')', with a four-phase life cycle that p:.uallcls rhe
cradicional SDLC pha!ies. Companies use RAD to reduce cost a nd development rime
and increa!ie the prohabiliry of success.
RAD rel ies heavi ly on prototyping and user involvement. The RAD process allows
u!ier!i to examine a working model as early as possible, deter mine if it meets their
neeru., and suggest necessar}' changes. Based on user input, the prototype is modified,
and the interactive process conrinues until the system is completely developed and
users are i.atisfied. The project team uses CASE tools to build the prototypes and create a concinuou!i stream of documentation.
RAD PHASES AND ACTIVITIES: The RAD model consists of four phases: require-
ments planning, user design, construction, and cucover, as shown in Figure 4-4.
the continuous inreract ion between the user design and construction phases.
1
ote
Require me nts planning. The requirements planning phase combines element~ of the
systems planning and l>ystems analysis phases of t he SDLC. Users, managers, and IT
staff members discuss and agree on business need s, project scope, constraints, and
sy~tem requirements. The requirements planning phase ends when the team agrees on
the key issues and obtains management authorization to continue.
User design. During the user design pha~e, users interact with systems analysts
and develop models and prototypes chat represent a ll system p rocesses, outputs, and
inputs. T he RAD group or subgroups typically use a combinatio n of J AD techniques
and CASF, roo ls co transla te user need s into wor kin g models. User design is a conti nuous, interactive p rocess that allows users to u ndersta nd, modify, a nd eventua ll y
approve a working model of the system tha t meecs cheic needs.
Constructio n. The constru ction phase focuses on program and application development tasks similar to the SDLC. In RAD, however, users continue co participate and
still can suggest changes or improvements as acrual screens or reports are developed.
Cutove r. The curovcr phase resembles the final tasks in the SDLC implementation
phase, including data conversion, resting, changeover to the new system, and user
training. Compared with traditional methods, the entire process is compressed. As a
result, the new S)'Stem is built, delivered, and placed in operation much sooner.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Chapter 4
Requirements Engineering
4.2 Team-Based Techniques
I 12
Requi rements Plannlng
Task s
• Users, managers, and IT
staff agree upon business
needs, project scope, and
systems requirements
• Obtain approval to
continue
User Design Tasks
• Interact with users
• Build models and
prototypes
• Conduct intensive
JAD-type sessions
Continuous interaclton
between the user design
and construction phases
Construction Tasks
• Program and
application
development
• Coding
• Unit, Integration,
and system testing
User
Design
Cutover
CutoverTasks
• Data conversion
• Full-scale testing
• System changeover
• User training
FIGURE 4·4 Tho fo11r ph11s~ of tile R.AD rno<!el ;i,~ ~quire111entt planning, user design, connruction, arid
cucover. Note the continuous lnceractlon between the user design and construction phases.
RAD OBJECTIVES: The main objective of all RAD approaches is co cue developmenr
rime and expense by involving users in every phase of sysrems development. Because
iris a conrinuous process, RAD allows rhe developmenr ream ro make necessary modificarions quickly, as the design evolves. In times of right corporare hudgers, iris especially imporranc co limit che cost of changes chat typically occur in a long, drawn-our
development schedule.
In addition to user involvement, a successful RAD team muse have IT resources,
skills, and management support. Because ic is a dynamic, user-driven process, RAD
is especially v::iluahle when a company needs an information :.yMem to support a
new business function. By obtaining user input from the beginning, RAD also helps a
development ream design a system that requ ires a highly interactive or complex user
interface.
R.A D ADVANTAGES AND DISADVANTAGES: RAD has advantages and
disadvantages compared with rraditiooal structured analysis methods. The primary
advantage is that systems can be developed more quickly with significanc cosr
savings. A disadvanrage is rbat RAD srresses rhe mechanics of the sysccms irsclf and
docs nor emphasize rhe company's suategic business needs. The risk is that a system
mighr work well in rhe shore term, but the corporare and long-term objectives for che
S)'Srcm might nor be mer. Anorber pocenrial disadvantage is char the accclcrared rime
cycle migh t allow less rime co develop quality, consistency, and design standards.
RAD can be an arrracrive alrernarive, however, if an organizarion understands rhe
possible risks.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
- Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
- ·~•-fllllie<'f •,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
Phase 2
Systems A nalysis
113
4.2 Team-Based Techniques
4.2.l Agile M ethods
Chapter I explained that agile methods attempt to develop a system incrementally by
buildmg a series of prototypes and constantly adjusting them to u er requiremenrs. A~
the agile process continues, developers revise, extend, and merge earlier versions into
the final producr. An agile approach emphasizes continuous feedback, and each incremental step is affected by what was learned in the prior steps.
As agile methods become more popular, a large con1munity of agile-related software and &ervices ha~ evolved. Many agile developers prefer not to use CASE toob at
all, and as ~hown in Figure 4-5 rely instead on whiteboard displays and arrangements
of movable sticky notes. This approach, they believe, reinforces the agile strategy:
si1nple, rapid, flexible, and user oriented.
--
i
••
-•
-
-~
,. -
-
•
aI
I
•
•
-,... -
-
,,:::
- 1
•
I
FIGURE 4-5 Reinforcing the agile stntegy: simple, rapid.flexible. and user oriented.
S..., ~d..,. 'I
IO l<n
'Vt'f1
lfTI
Scrum is anod1er agile approach. The name cornes from the rugby term scr11111, where
team members lunge ar each other to achieve their objectives, as shown in Figure 4-6.
ll1e systems development version of Scrum involves the same intense interaction, though
it is more mental than physical. ln a Scrwn session, agile ream members play specific
roles, including colorful designations such as pigs or chickens. These roles arc based on
the old joke about the pig and chicken who discuss a restaurant where ham and eggs
would be served. I lowever, rhe pig declines, because that role would require a total
c01nmirmenr, while for rhe chicken, ir would only be a contribution.
Jn the agile world, rhe pigs include the product owner, the facilitator, and the
development team, while rhe chickens include users, ocher stakeholders, and managers. Scrum sessions have specific guidelines that emphasize time blocks, interaction,
and team-based activities thar result in deliverable software. An agile ream uses a
series of scrums to pause the action and allow the players to reset the game plan,
which remains in effect until the next scru m.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"-> - "'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ........... ... ~..
__....
~~·~---- ···---~~ - .,.-"~
...........
Chapter 4
Requirements Engineering
4.3 Gathering Requirements
I 14
FIGURE 4-6 In a rugby scrum. team members prepare to lunge at each other to achieve their objectives.
.... ~~
tlCf h~~
""'
Agile, or adaprive, methods are very flexible and cfficienr in dealing wirh cbange. The)' are popular because
rhey srress ream inreracrion and reflecr a set of community-based values. Also, frequenr deliverables consranrly validare rhe projecr and reduce risk.
I lowever, some porenrial problems exist. For example, ream members need a high
level of technical and interpersonal skills. Also, a lack of structure and documenrarion
can introduce risk factors, such as blurring of roles and responsibilities, and loss of
corporate knowledge. Finally, rhe overall projecr may be subject to significant change
in cope as user requirements continue to evolve during the projecr.
AGILE METHOD ADVANTAGES AND DISADVANTAGES:
4.3
GATHERING REQUIREMENTS
Gathering requirements is the fi rst step in the requirements engineering process. This
step is also known as requirements elicitation or fact- finding (collecting information).
Whether working solo or as a me1nber of a team, during requirements gathering, the
systems a nal yst will use various teclu1jques, including interviews, document review,
observation, surveys and questionnaires, sampling, a nd research.
Although software can help gather and analyze requirements, no program actuall y
gathers them a uto matically. First, the information needed must be identified. Typically, t his activity begins by asking a series of questions, such as the following:
•
•
(....,..... J:gi( . . . . .
\'<i'hat bu'>iness functions are su pported by the current system?
What strategic objectives and business requirements must be supported by the
new sysrem?
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
P hase 2
Systems A nalysis
llS
4.3 Gathering Requirements
•
•
\Xlhat arc the benefits and TCO of rhe proposed system?
\XThat transactions will the system process?
•
\Xlhar information do users and managers 111eed from the system?
•
Must the new sy~rem interface with legacy systems?
•
What procedures could be eliminated by business process reengineering?
•
What security issues exist?
•
•
What risks are acccprable?
What budget and rimerable constrainrs will affecr sysrems development?
To obtain answers to these questions, the analyst develops a face-finding plan,
which involves answers to five familiar questions: who, what, where, when, and how.
For each of those questions, one a lso must ask another very important question: why.
Some examples of rhese questions a re as follows:
1. \'(I/Jo? \'V'ho performs each of the procedures within the system? Why? Arc the
correct people performing rhe activity? Could other people perform rhe casks
more effectively ?
2. \'(/hat? What is being done? What procedures are being followed? Why is the
process necessary? Often, procedures are fo llowed for many years and no one
knows why. Question why a procedure is being followed ar a ll.
3. \'(/here? Where are operations being performed? \Vhy? Where could they be
performed? Could they be performed more efficientlr elsewhere?
4. \'(!hen? \'V'hen is a procedure performed? Why is it being performed ac chis
ame? ls this the best time?
5. I l ow? I low is a procedure performed? Why is it performed in that manner?
Could it be performed better, more efficiently, or less expensively in ~ome ocher
manner?
There 1s a difference between asking whar is being done and whar could or
should be done. The sysrems analyse first must understand the current siruation.
Onl)' then can rhe question of whar should be done be answered. Figure 4-7
liscs rhe basic questions and when rhey should be asked. Note thar the first two
columns relarc co rhe current system bur the third column focuses on rhe proposed
system.
PROPOSED SYSTEM
CURRENT SYSTEM
Who does It!
Why does this person do ltl
Who should do itl
What Is donel
Why Is it donel
What should be donel
Where is it donel
Why is it done there!
Where should It be done!
When Is It donel
Why Is It done then!
When should It be donel
How is it donel
Why Is It done this way!
How should It be donel
FIGURE 4-7 Sample quesaons during requirements elicitation as the focus shifts from the current system co
the proposed system.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 4 Requirements Engineering
4.4 Gathering Requirements Through Interviews
I 16
4.4
GATHERING REQUIREMENTS THROUGH INTERVIEWS
interviewing is an imporrant requirement gathering technique during the systems
analysis phase. An interview is a planned meeting during which the analyse obrains
information from another person. The skills needed to plan, conduct, document, and
evaluate interviews successfully must be understood.
4.4. 1 The Interview Process
After identifying che information needed, as described earlier in rhe chapter, the interviewing process commences, which consists of seven steps for each interview:
I. Determine the people to interview.
2. E.srablish objecti ves for the interview.
3. Develop interview questions.
4. Prepare for rhe interview.
5. Conduct the interview.
6. Documenr rhe interview.
7. Evaluate the interview.
STEP I: DETERMINE THE PEOPLE TO INTERVIEW: To ger an accurate picture, rhe
analyse mu~t select che rig ht people to interview and ask chem the right questions.
The preliminary investigation involved mainly middle manager or department heads.
Now, during the systems analysis phase, people from all levels of rhe organization
should be interviewed. In some situations, it might be prudent to interview stakeholders that are nor members of the organization, because their opinion is valuable.
Although interview candidates can be selected from the formal orgamzarion charts
reviewed earlier, one must also consider any informal structures that exist in the organization. Informal structures usual!)' are based on interpersonal relationships and can
develop from previous work assignments, physical proxjmity, unofficial procedures,
or personal relationships such as tbe informal gathering shown in Figure 4-8. In an
informal structure, some people have more influence or knowledge than appears on
FIGURE 4-8 When setting up interviews. an analyst should look
outside a formal organization chart to identify people who might
provide valuable information.
c
#.f"Sl-- .....ay LU"'
1
(....,..... J:gi( . . . . .
4
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
P hase 2
Systems A nalysis
I 17
4.4 Gathering Requirements Through Interviews
an organizarion charr. The analysr's knowledge of rhe company's formal and informal
srrucrures helps derermine rhe people ro inrervie'v during the systems analysis phase.
Should several people be interviewed at the same time? Group interviews can
ave time and provide an opporrunicy to observe interacrion among the participant<;.
Group interviews also can present problems. One person might dominate the convcration, even when questions are addressed specifically to others. Organization level
also can present a problem because the presence of senior managers in an interview
might prevent lower-level employees from expressing themselves candidly.
STEP 2: ESTABLISH OBJECTIVES FOR THE INTERVIEW: After deciding on the
people to interview, objectives for tbe session must be established. First, the general
areas to be discussed should be determined, and then the facts to be gathered should
be listed. Soliciting ideas, suggesrions, and opinions during thc interview is also a
good idea.
The objectives of an inrerview depend on the role of the person being interviewed.
Upper-level managers can provide the big picture to help understand the system as a
whole. Specific details about operarions and business processes are best learned from
people who actually work wirh the sysrem on a daily basis.
In the early stages of systems analysis, interviews usually are general. As the
fact-finding process continues, however, the interviews focus more on specific topics. Interview objectives a lso vary at different stages of the investigation. Interviews
should be as brief as possible (though as long as needed), since time is so valuable m
employees, e.~pecially managers. By sening specific objectives, a framework is created
that helps the analyst decide what quescions to ask a nd how ro phrase them.
STEP 3: DEVELOP INTERVIEW QUESTIONS: Creating a Standard list of interview
questions help to keep the session on track and avoid unnece~ar) tangents. Also,
if everal people who perform the same job are interviewed, a s tandard question list
permits a comparison of their answers. AJtbough there may be a list of specific questions, the mterv1ewer might decide to depart from ir because an answer to one quei.tion leads to another topic that warrants pursuing. Thar question or topic then should
be included m a re' 1 ed set of questions used ro conduct future interviews. If the
question proves to be extremely important, it may be needed ro return to a previous
interviewee to query him or her on the topic.
The interview should consist of several different kinds of questions: open-ended,
closed-ended, or questions wirh a range of responses. When phrasing questions, :ivoid
leading questions that suggest or favor a particular reply. for example, rather than
asking, "What advantages do you see in the proposed system?" ask instead, "Do you
see any advan tages in the proposed system?"
Open-ended questions. Open-ended ques tions encourage spontaneous and
unstructured responses. Such questions are useful to understand a larger process
or draw our rhe interviewee's opinions, attitudes, or suggestions. Here are some
examples of open-ended questions:
•
\Vhat arc users saying about the new system?
•
•
How is rhis cask performed?
Why do you perform the task that way?
•
How are the checks reconciled?
•
What added features would you like to have in the new billing system?
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 4 Requirements Engineering
4.4 Gathering Requirements Th rough Interviews
I 18
Also, an open-ended question can be used ro probe further by asking: ls rhcre anything else you can rell me abour rhis ropic?
Closed-ended questions. Clo~ed-ended q uestions limit or restrict the response.
C losed-ended questions are used wbea informarion chat i more specific is needed
or when facts must be verified. Examples of closed-ended questions include the
following:
•
How many personal compurers do you have in this department?
•
Do you review the repo rts before rhey are sent our?
•
How many hours of training does a clerk receive?
•
•
Is the calculacion procedure described in the manual?
How many cusromers ordered products from rhe website lasr month?
Range-of-response questions. Ra nge-of-res ponse questio ns are closed-ended questions chat ask the person ro evaluate something by providing limited answers ro
specific responses or on a numeric scale. This metho d makes it easier co tabulate the
answers a nd interpret che results. Ra nge-of-response questions might include the
fol lowing:
•
•
On a scale o f I co 10, with 1 the lowest and 10 the highest, how effective was
your training?
How would you rate rhe severity of rhe problem: low, medium, or high?
• Is rhe system shutdown something that occurs never, sometimes, often, usuall>•,
or always?
STEP 4: PREPARE FOR THE INTERVIEW: After setting the objccti\'eS and develop-
ing the quesrions, preparing for rhe incerview is next. Careful preparation is essenrial
because an interview is an important meeting and nor just a casual char. \Xfhen the
interview is scheduled, suggest a specific day and time and let the interviewee know
how long the meeting is expecced ro last. Ir is also a good idea to send an email o r
place a reminder call rhe day before the interview.
Remember rhat rhc interview is an inrerruprion of the other per~on 's routine,
so rhc interview should be limited re> no more than one hour. If business pressures
force a postponement of the meeting, schedule another appoinrment as soon as ic
is convenient. Remember co keep de partment managers informed of meetings with
cheir srnff members. Sending a message to each department manager listing planned
appointments is a good way co keep them informed. Figure 4·9 is an example of such
a message.
A list of topics should be se11c to an interviewee several days before rhe mcecing,
especially when detailed in£ormatioo is needed, so the person can prepare for the
interview and minimize the need for a follow-up meeting. Figure 4- J 0 shows a sample
message chat lists specif ic questions and confirms the date, time, location, purpose,
and anticipated duration of the interview.
If there are questions about documents, ask the interviewee to have samples avaiJable at the meeting. The ad vance memo should include a list of the documents co
discuss (if it is known what they are). Also, a general request for documents can be
made, as the a nalyst did in the email shown in Figure 4· 10.
(....,..... J:gi ( . . . . . I_,.. 4111.,.. ~- )U,
..,...,...... .,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~--- t fta111&....-.~~ ij
__.~~ c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
P hase 2
Systems A nalysis
119
4.4 Gathering Requirements Through Interviews
•••
d
••
I)
-
°"""'-·
-
From: Soon Tiiiy -
0
B
t• f ~.. . .
I em~ M U..Mw,.....,. ,....a~..,_.. I ....o .......... fWe .-.out uw"""
~ ol,,......
~ tN 1'11.W IYlhl'ft. ,._.. iM. me io.w 6 O'lt ,.....,.. 9CNdlolle •
..rr
'°
•••a. Miii I wetM ..._ •
""9l!t _ . . tie¥Wlll
OK:
•ff _ _ .... , _
· - i - . . - 1 1 .. , .1·-
. _ ..........- : u ..
to,,,.. ..... .,.,, ottw.,..... WI ,...., ••• tl•*'lll..,. r.
1 ... ,.. k1'0W, I MM
.,......., .,,.... ..... tM end ti
the~
... rt ...........
~. ...... · - ~ Tt\tnld,
copy"' ct.
~w ~It
netCS4f I Nft ta~..... tfllt ....leml
ayllCm . . .~ dow"*" .. toon . . ~ ......ble
u.,.... M¥t ·~
FIGURE 4-9 Sample message to a department head about interviews .
•••
d
••
0
I)
8
Cc:
llcc
-
"°"""',....,...,..,
l oa.-., oa.o. 1.L rm~.,. .. ,.... t....o ~
x ,._...., , ..,., .. _.,...,.~...,.~~.-e~w. .,..~u.'" wcu.,...,.tN __
TM-....,..,_"'¥~""'°'.,.., \fl ....,.~•
..... ..,.
•s...,•• "*'.....,at ..
• Wt' tJ'W,.. ~ M"'f
~ 1octbotl&1
• 0. .,._...,. ~,..... .......... ~ ~ tit tN: . . . .,"""' ,,..,-?
• W"llC ..,,,,., ~ .... 0 . . . . . . , . ,...,.,.. .,. the,..... ~?
• Wt'9 . . ~· .ll'\ tht~411cltMAon~"
• HIDW....,. .. .,....
·~~ !ft ~,.,...
If"""
h9W! "'" ~-..,.....,,..or-..... O\IC dOni '*" thl:
TM"b
,_yew~
wipiCll
GM"IWft
s...-em. P'MM No-.. UIOl9 ....._.._•I wn rnicw ""-"".._,.we nllefll
.......
Scott Tii ey
FIGURE 4-1 0 Sample message to confirm an interview.
Two schools of thought exist about the best location for an interview. Some
analysts believe that interviews should take place in the interviewee's office, whereas
other analysts feel that a neutral location such as a conference room is better.
Supporters of interviews in the interviewee's office believe that is the best locntion
bccnu~e it m:.ikel> the interviewee feel comfortable during the meeting. A second
argument in favor of che interviewee's office is that the office is where he or she has
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"-> - "'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ..... ...... ... ~..
__....
~~·~---- ···---~~ - .,.-"~
...........
Chapter 4
Requirements Engineering
4.4 Gathering Requirements Through Interviews
120
the easiesr access co supporting material that might be needed during the di cussion.
If a complete list of copies is provided in advance, however, che interviewee can bring
the necessary items co a conference room or other location.
Supporters of neutral locations srress the importance of keeping interruptions to a
minimum so both people can concentrate fully. In addition, an interview that is free of
interruptions takes less rime. If the meeting does take place in the interviewee's office,
tactfull y suggest that all calls be held until the conclusion of the interview.
STEPS: CONDUCT THE INTERVIEW: After detennining the people to interview,
setting che objectives, and preparing the questions, a specific plan for the meeting should be developed. When cond ucting an interview, begin with introductions,
describe the project, and explain tbe interview objectives.
During the interview, ask questions in the order in which they were prepared and
give the interviewee sufficient time to provide thoughtful answers. Some answers will
lead co additional questions, which should be asked in a logical order. Establishing a
good rapport with rhc interviewee is important, especia lly if this is the first meecing. If
the other person feels comfortable and at ease, they will probably provide more complete and candid a nswers. T he analyst's primary responsibility during a n interview is
co listen carefull y to the answers. Analyses sometimes hear only what they expect co
hear. Concentrate o n what is said and notice an)' non ve rbal communication that takes
place. This process i called engaged Hstening.
After asking a question, allow the person enough time to think about the question
and arrive ar an answer. Studies have shown rhar the maximum pause during a conversation i ~ usually rhree to five seconds. After that interval, one person will begin
talking. An analyst needs co be patient and practice his or her skills in many acrnal
interview !>iruarions to be successful.
When all the q uestions have been asked, summarize the main points covered in
the interview and explain t he next course of action. For example, mention that a
follow-up memo will be sent or that the interviewee should send certain requested
information after the meeting. When the interview has concluded, thank the person
and encourage him or her to reach out with any questions or additional comments.
Also, when the interview ends, it is a good idea to ask the interviewee whether he or
she can suggest any additional topics that should be discussed.
After an interview, sumuiarize the session and seek a confirmation from the other
person. By stating the interviewer's understanding of the discussion, the interviewee can
respond and provide corrections, if necessary. One approach is to rephrase the interviewee's answers. For example, the analyse could say, "If I understand you correctly,
you arc saying rhat ...."and then reiterate rhe information given by the inrcrviewcc.
STEP 6: DOCUMENT THE INTERVIEW: Although taking notes during an interview
has both advantages and disadvantages, it should be kept co a minimum. It 1s a good
idea to write down a few notes to remember key poin ts after the interview but avoid
writing down everything that is said. Too much writing distr::1crs the other person a nd
makes ir harder ro establish a good rapport.
After conducting the interview, record the informa tion quickly. Set aside rime right
after the meeting to record the facts and evaluate the information. For that reason,
try not to schedule back-to-back interviews. Studies have shown char 50o/o of a conversarion is forgotten within 30 min utes. Therefore, use the notes ro record the facrs
immediately so they will not be forgotten. Sun1marize the facts by preparing a narrative describing wbar cook place or by recording the answers received next to each
question on the prepared list.
Small, portable recorders are effective tools for interviews, but some people arc
uncomfortable when they are used. Before using a recorder, discusr. ics use with the
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
P hase 2
Systems A nalysis
121
4.5 Gathering Requirements Using Oth er Techniqu es
interviewee. Assure the interviewee rhar rhe recording will be erased after its contents
are transcribed into note form and t hat rhe inrerview can be stopped ar any time ar
the inrer\'iewee's request. If sensitive questions are asked, or the interviewee wants ro
answer a question without being recorded, explain that the recorder can be turned off
for a period of rime during che incerview.
Instead of u~ing a traditional recorder that calls anenrion to its presence, an incerviewer can use built-in audio (or even video) recording features on a notebook or
mobile device. Also, as pointed our in Section 4.9, an interviewer can use powerful
informarion management software, such as Microsoft OneNote, co record the meeting,
store rhe resulrs, and create a searchable file for easy access. lrrespecrive of che mechanism used co record che meeting, all participants should be aware that what they say is
being recorded.
Wherher or not rhe meeting is recorded, listen carefully to the interviewee's
responses so good follow-up questions can be asked. Otherwise, a second visir
might be needed to ask the questions missed the firsr rime. Also, remember that each
recorded interview takes twice the amount of ri1111e, because the analyst must listen to
or view the recorded meeting again after conducting the interview itself.
After the meeting, a memo should be sent to the interviewee, expressing appreciation for his or her time and cooperation. In the memo, note the dare, rime, location,
purpose of rhe interview, and rhe main points discussed, so the interviewee has a written summary and can offer additions or corrections.
STEP 7: EVALUATE THE INTERVIEW: In addition to recording the facts obrained
in an interview, rry co identify any possible biases. For example, an interviewee who
tries to protect hi~ or her own area or function might give incomplece answers or
refrain from volunteering information. Or, an interviewee with strong opinions about
the current or future system might distort the facts. Some interviewees mighc answer
quescions in an arrempr to be helpful even though they do nor have rhe necessary
experience to provide accurate information.
Some interviews are unsuccessful irrespective of the amount of preparacion. One
of the main reasons could be rhar the interviewer and the interviewee did not get
along well. Such a siruarion can be caused b)' several facrors. For example, a misunderstanding or personal1ry conflict could affect the interview negatively, or the interviewee might be afraid that the new sysrem will eliminare or change his or her job.
In other cases, the inter viewee might give onJy shon or incomplete responses to rhe
open-ended questions. If so, switching ro closed-ended questions, or questions with a
range of replies, may elicit more favorable responses. If that stilJ does nor help, find a
tactful way to conclude the meeting.
Continuing an unproductive interview is difficult. T he inrerviewce could be more
cooperarive later, or the analyse might find the information required elsewhere. If fai lure to obtain specific information will jeopardize rhe success of the project, the supervisor s hould be informed, who can help decide what action to take. The supervisor
might contact the interviewee's supervisor, ask another systems analyst to interview
the person, or find some other way to get the needed information.
4.5
GATHERING REQUIREMENTS USING OTHER TECHNIQUES
In addition ro interviewing, syMems analysts use other requirement gathering techniques, including document review, observation, questionnaires and surveys, sampling, and research. Such techniques are used before interviewing begins to obtain a
good overview and to help develop bener interview questions.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 4
Requirements Engineering
4.5 Gathering Requ irements Using Other Techniques
122
4.5. 1 Docume nt Review
Document review c:in help the analyse undersrand how the current system is supposed
to work. Remember that system documenrarion sometimes 1s our of d:itc. Forms
can change or be discontinued, and documented procedures often arc modified or
eliminated. It is prudenr to obtain copies of actual forms and operating documents
currently in use, and ro review blank copies of forms, as well as samples of actual
completed forms. Document samples can be obtained during interviews with the people who perform that procedure. If rhe system uses a software package, review the
documentation for that software.
4.5.2 Observation
The observation of current operating procedures is another fact-finding technique.
Seeing the system in action provides additional perspective and a better understanding of system procedures. Personal observation also allows the analyst ro verify statements made in interviews and deterounc whether procedures really operate as they
arc described. Through observacion, it might be discovered that neither the system
documentation nor rhe interview statements are accurate.
Personal observation also can pro vide important advantages as the development
process continues. For example, recommendations often arc better accepted when
they arc based on personal observation of actual operations. Observation also can
provide the know ledge needed to rest or install future changes and can help build
relationships with the users who will work wirh the new system.
Plan observations in advance by preparing a checklist of specific casks to observe
and qucscions co ask. Consider the following issues when preparing che lisc:
•
Ask sufficient questions co ensure a complete understanding of rhe present system operation. A primary goal is to idenrify the methods of handling sicuarions
that arc not covered by standard operating procedures. For example, what
happens in a payroll system if an employee loses a rime card? \Vhar is rhe procedure if an employee starts a shift 10 minutes late but then works 20 minutes
overtime? Often, rhe rules for exceptions such as these arc nor written or formalized; therefore, try ro document any procedures for handling exceptions.
• Observe all rhe steps in a transaccion a nd note the docu1nents, inputs, oucpurs,
and processes involved.
• Examine each form, record, and report. Determine the purpose each item of
information serves.
• Consider each user who works with the system and the following questions:
What informa tion does tbat person receive from other people? Wh:ir information does this person generate? How is the information communicated? How
often do interruptions occur? How much downtime occur)? I low much support does the user require, and who provides it?
• Talk ro the people who receive current reports to sec whether the reporrs arc
complete, timely, accurate, and in a useful form. Ask whether information can
be eliminated or improved and whether people would like to receive additional
information.
As people are observed at work, as s hown in Figure 4-11, consider a factor called
the Hawthorne Effect. The name comes from a well-known study performed in the
Hawthorne plane of rhe Western Electric Company in the 1920s. The purpose of the
study was co determine how various changes in the work environment would affect
(....,..... J:gi( . . . . .
I_,.. 4 111.,.. .................,.t11ru
- Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
- ·~• -fllllie<'f •,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~-- - t fta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-.. • ~-" .....- ""'*"....,.._...,.. ..
I'
I
P hase 2
Systems A nalysis
123
4.5 Gathering Requirements Using Oth er Techniqu es
employee productivity. The surprising result was that productivity improved during
observation whether the conditions were made better or worse. Researchers concluded that producriviry seemed to improve whenever the workers knew they were
being obsen·ed.
FIGURE 4-1 1 The Hawthorne swdy suggested !hat worker productivity improves during observaaon. Always
consider the Hawthorne Effect when observing the operation of an existing synem.
.....
Although some recent srudies have raised questions about the original findings, be
aware that observation can and does have an effect on normal operations. With this
in mind, always give advance notice ro the supervisor in that area. In some situations,
it might be helpful to explain the purpose of the visit to the people being observed.
4.5.3 Questionnaires and Surveys
In projects where it is desirable ro obrain input from a large number of people, a
questionnaire can be a valuable tool. A questionnaire, also called a survey, i~ a document containing a number of standard questions that can be sent to many individuals.
Questionnaires can he used ro obta in information about a wide range of topics,
including workloads, reports received, volumes of transactions handled, job duties,
difficulties, and opinions of how the job could be performed better or more efficienrly.
Figuie 4-12 shows a sample questionnaire that includes several different question and
response formats.
A typical questionnaire starts with a heading, which includes a tirle, a brief
statement of purpo e, the name and telephone number of the contact person, the
deadline date for completion, and how and where to return the form. The beading
usually is followed b)• general instructions that provide clear guidance on how
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"-> - "'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ..... ...... ... ~..
__....
~~·~----···---~~ - .,.-" ~
...........
Chapter 4
Requirements Engineering
4.5 Gathering Requ irements Using Other Techniques
124
..........
..._,......
.....
.
..
..............
.
__....... ---·--
,._
......_...._ __...
_..
........................
_....,._._.,,......
...-~
tt•W . . . . _ _ . . _ . ,.......... - . - - - - ·· . . .
--··-·-·.....
,,_
I_ . . . . . . . . . . . .,.., . . . . _ . . . . . . . . _ _
a.0.,. ............ - -.........l
--·
... ..
•••,.
··---
-------
. . . . . . . . . . ,.. . . _ _ _ .....,..l
..............................,......
.. ..,,.. lUOOltT'IOMI
--
a. ......................... .,...,............, _ _ _ _ _ ,..
--
_....,,, __ .._IN.............
-
to answer rhe questions. Heading~ also arc used to
introduce each main section or portion of the survey
and include instructions when rhe type of question or
response changes. A long questionnaire might end with a
conclusion that thank~ the participants and reminds them
how to return the form.
What about the is ue of anonymity? Should people
be asked to sign the questionnaire, or is tr bener to allow
anonymous responses? The answer depend~ on two questions. First, does an analyst really need ro know who the
respondents arc in order to march or correlate informatio n? For example, it might be important to know what
percentage of users need a certain software feature, but
specific usernames might not be relevant. Second, docs
the questionnaire include any sensitive or controversial
topics? Many people do not want to be identified when
answering a question s uch as " H ow well has yo ur supervisor explained the system to you?" In such cases, a nonymous res ponses might provide better information.
Wben designing a questionnaire, the most important rule of all is to make sure that the questions collect
rhe right data in a form that can be used to further the
fact-finding effort. Herc arc some additional ideas to keep
in mind ·when designing the questionnaire:
• Keep the questioonaLre brief and uscr-fricndlr.
• Provide clear instructions chat will answer all anticiFIGURE '4-12 Online version of a sample questionnaire.
Does it follow the suggested guidelines!
pated questions.
• Arrange the questions in a logical order, going from
simple to more complex topics.
• Phrase questions to avoid misunderstandings; use simple terms and wording.
• Try not to lead the response or use questions that give clues to expected
answers.
• Limir the use of open-ended questions that are difficulr to tabulate.
• Limit the use of questions that can raise concern~ about job security or other
negative issues.
• Include a secrion at the end of the questionnaire for general comments.
• Test the questionnaire whenever possible on a small test group before fina lizing
ir and distributing ro a large grou p.
A questionnaire can be a traditional paper form, or it can be created in a fill-in form ,
and the data can be collected on the internet or a company intrnnct. Before publishing the form, protect ir so users can fill it in but cannot change the layou t or design.
O nline survey websites, such as SurveyMonkey and Google Forms, ca n also be used
to create and manage questionnaires .
4.5.4 lnterviewsVersus Questionnaires
\'<i'hcn seeking input from a large group, a questionnaire is a very useful cool. On the
other hand, if detailed information is required from only a few people, then each
(....,..... J:gl( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-
Woip-M ._..,.. - ·~• -fllllie<'f •,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---t fta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-.. • ~-".....-""'*"....,.._...,.. ..
I'
I
Phase 2
Systems A nalysis
125
4.5 Gathering Requirements Using Oth er Techniqu es
person should probably be interviewed individual!)•. ls it bener co interview or use
a questionnaire? Each sicuacion is different; consider the rype of information, time
constraints, and expense factors.
The interview is more familiar and personal than a questionnaire. People who
are unwilling co put critical or conrro,·ersial comments in writing might talk more
freely in person. ~l oreover, during a face-co-face interview, the interviewer can react
immediately co anything che interviewee says. If surprising or confu~111g statements
arc made, the topic can be pursued with additional questions. In addition, during a
personal interview, the analyst can watch for clues co help determine if responses are
knowledgeable and unbiased. Participation in interviews also can affect user anirudes because people who arc asked for their opin ions often view the project more
favorably.
Interviewing, however, is a costly and rime-consuming process. IJ1 addition to the
meeting itself, both people must prepare, and the interviewer has to do follow-up
work. When a number of interviews are planned, the rotal cost can be quite subsrnntial. The personal interview usually is the most expensive fact-finding technique.
ln contrast, a question naire gives many people the opportunity to provide input
and suggestions. Questionnaire recipients can answer the questions at their convenience and do not ha vc to set aside a block of time for an interview. If the questionnaire allows anonymous responses, people might offer more candid responses than
they would in an interview.
Preparing a good questionnaire, however, like a good interview, requires skill and
time. If a question is misinterpreted, its meaning cannot be clarified as easi ly as in a
face-to-face interview. Furthermore, unless questionnaires arc designed well, recipients
mighr view rhem as inrrusive, rime-consuming, and impersonal. The analysr should
elect rhe rechnique char will work besr in a particular siniarion.
4.5.5 Brainstorming
Another popular method of obtaining input is called brainstorming, which refers to
a small group disCu$s1on of a specific problem, opporruniry, or issue. Thi'! technique
encourages new ideas, allows team parricipation, and enables participants to build
on each other's inputs and thoughts. Brainstorming can be structured or unstructured. In struccured brain\torming, each participant speaks when it is his or her turn
or passes. In un \ tructured brainstorming, anyone can speak ac any rime. At some
point, the resulrs are recorded and made pare of che fact-finding documenratton
process.
4.5.6 Sampling
When studying an information system, examples of actual documents should be collected using a process called sampling. The samples might include records, reports,
operational logs, data entry documents, complaint summaries, wo rk requests, and
various types of forms. Sampling techniques include systematic sampling, stratified
sampling, and random sampling.
Suppose there is a list of 200 cusromers who complained abour errors in their
statements, and a representative sample of 20 customers will be reviewed. A
systematic !>ample would select every cench customer for review. To ensure that the
sample is balanced geographically, however, a stratified sample could be used to select
five customers from each of the four postal codes. Anocher example of stratified
sampling is to select a certain percencage of rransaccions from each postal code, rather
than a fixed number. Finally, a random sample selects any 20 customers.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"-> - "'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ........... ... ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 4
Requirements Engineering
4.5 Gathering Requirements Using Other Techniques
126
The main objective of a sample is co ensure that ir represents the overall popularion accurately. If inventory transactions are being analy7ed, for example, select
a sample of tran actions char is typical of actual inventory operations and docs not
include unusual or unrelated examples. For insrance, if a company performs special
processing on the last business day of rhe month, char day is not a good time to sample typical daily operations. To be useful, a sample must be large enough to provide a
fair reprcsenrarion of the overall data.
Sampling should also be considered when using interviews or questionnaires.
Rather than interviewing everyone or sending a quesrionna1re to the entire group, a
sample of participants can be used. Sound sampling techniques muse be used to reflect
the overall population and obtain a n accurate picture.
4.S.7 Research
Research is another important fact-finding technique. Research can include the Internet, IT magazines, and books to obtain background information, technical material,
and news about industry trends and developments. In addition, attending professional
meetings, seminars, and discussions with other IT professionals can be very helpful in
problem solving.
The Internet is rin extremely valuable resource. Using the Internet, the analyst can
access information from federal and state governments as well as from publishers,
universities, and libraries around the world. Online forums and newsgroups arc good
resources for exchanging information with other professionals, seeking answers co
questions, and monitoring discussions that are of mutual interest.
All major hardware and software vendors maintain websites with information abour product<> and services offered by the company. There arc also websites
mainrained by publishers and independent firms that provide links co hundreds of
hardware and software vendors. Examples of popular websites for IT professionals
include Ars Technica, CNET, Info World, TechCrunch, and the Wlal/ Street journal's
Technology pages (shown in Figure 4-13).
.
.
-~---
-
. ..
..
'VSJ lICll
--·
- -- "" ...................... .,_,. w.•• .......... _._
-a.
_,.
- ·---
_
.........
------......_...._
..... ~...._ .........<-. -
.....,._...,._
,._
__
........
.
~-·
--~
.,,..._.
__
........
.........
-.. _
_.............
,....._.,_,...........
...,._ ... .......... .. _
...
.......__........,_
..,............. ,_._
.......................
.
.
..
...
--··
-·-·
..........
-- .......
.......___
......
_.................
_...,...
__.....·-_--........ ....·-------·........
_......._..,._
._
......
~
on Fatfbook or lllik
Loi.Ins the ElecUoo
~
..._._
...,_~
_.,._ •·--·---.. --· ~
1- - 1
r...J.....~c:.ar...
~
\
f\>llllcal Rtallly: Buy Ads
__ - "'
,_...._,.
!-··!
------·~
---
-.......
FIGURE 4 . 13 The WoH Sr:reetjoumo/'sTechnology website contains valuable infonnadon
for IT professionals.
~re-=
(....,..... J:gi( . . . . .
.. ~ ~•
n.l.
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
I
Phase 2
Systems Analysis
4.6 Gathering Requirements in Agile Projects
Research also can involve a visir ro a physical location, called a site \tsit, where the
objective is to observe a system in use at another location. For example, if a firm's
human resources information system is the subject of study, it might be beneficial co
see how another company's system works. Site visirs also are important when considering the purchase of a sofrware package. If the sofrware vendor suggests possible
sites to vi~it, be aware that such sires might constirute a biased sample. A single site
visit seldom provides crue picrures, so try co visit more than one installation.
Before a site visir, prepare just as for an interview. Contact rhe appropriate manager and explain rhe purpose of the visir. Decide what questions will be asked and
what processes will be observed. During the visir, observe how rhe S)'Stem works and
note any problems or limiracions. Also learn about the support provided by the vendor, the quality of the system documentation, and so on.
CASE IN POINT 4.2:
CYBERSTUFF
CyberSwff is a large company that sells computer hardware and software via telephone and
online. CyberSwff processes several thousand transactions per week on a three-shift operation
and employs SO full-time and 125 part-time employees. Lately. the billing department has experienced an Increase In the number of customer complaints about incorrect bills.You have been
tasked with finding out why this is happening.
During your preliminary Investigation, you discovered that some CyberStuff representatives did not follow established order entry procedures.You feel that with more Information. you might find a pattern and identify a solution for the problem, but you are not
sure how to proceed.
Is a que stionnaire the best approach, or would interviews be better? And whether you
use interviews, a questionnaire, or both techniques. should you select the par ticipants at
random, include an equal number of people from each shift. or use some other approach?
How do you proceed?
4.6
GATHERING REQUIREMENTS IN AGILE PROJECTS
Lf agile methodi. are used for requi rements gathering, a variation on interviews
that focuses on features, user ~tories, scenarios, a nd storyboards is used. A feature
(sometime~ called an epic) is a simple, bigh-level statement of a requirement. A
feature has a descriptive name, an estimate of its size in terms of derived requi remenrs
or user stories, and a priority. Featu res are typically provided by the stakeholders
through initial interviews with rhe systems analyst.
User stories represent more fine-grai ned requirements. Taken together, a set of user
stories forms a fearure. A user story also has a descriptive name, along with a i.imple sentence of the form "As a Iuser role], I want [action] so that [goal I." User roles,
actions, and goals arc terms that represent a category of stakeholder, a particular
effect, and an outcome, respectively. User stories also include an optional condition
of satisfaction, wh ich can be used as a guide to determine whether or not the requirement was satisfied by the produce. A user story is: 1neanr to be succinct and is often
drawn on a 3" x 5" index card (or the software equivalent).
A scenario is a real-world example of how users will interact with the system. A
scenario describes a parricular ser of seeps raken or events that wiU occur while the
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
127
Chapter 4
Requirements Engineering
4.7 Representing Requ irements
128
system is used for a specific function. Ir is used to refine rhe system requirements ro
better reflect actual usage of the sysrem.
A storyboard is a simple graphic organi7..er rhar helps systems analysts visuali7..C rhe
srarus of a project. A sror)•board can be as rudimentary as a wall with <;rick)' norcs.
There arc also many software roots that enhance storyboards while still maintaining
their essential feel.
Because agile methods are iterative in nature, requirements are gathered and successively refined. They begin as features, which are then spllC mro smaller user stories,
which in rurn are refined inro scenarios. Agile methods are particularly well suited ro
pro1ccrs where rhe requirements are expected to change frequently.
4. 7
REPRESENTING REQUIREMENTS
Once requirements have been gathered, they must be recorded. Keeping accurate
records of inrerviews, faces, ideas, and observations is essential to s uccessful systems
development. As information is garhered, the importance of a sing le item can be
overlooked or complex system derails can be forgotten. The abili ty ro manage infor1narion is rhe mark of a successful systems analyst and an important skill for all .IT
professionals. The basic rule is to write it down. Analysts shou ld document their work
according to the following principles:
•
Record information as soon as it is obtained.
•
Use the simple'lt recording method possible.
•
•
Record findings in such a way rhat someone else can understand them.
Organize documenrarion so related material is located easily.
There arc several techniques used to do this, ranging from an unordered collection of
sentences to a structured database of formal models. Whatever representation is chosen, proper!)' managing the requirements over rhe lifetime of a project is a key to irs
success.
4.7. I Natural Language
The vast majoriry of requirements are represented using unstructured natural language, that is, plain English. Examples of these requirements were shown in Section
4. ·1.1. This represcnrarion is easy to create but is prone co problems such as imprecision and a lack of shared understanding.
Requirements represented as unstrucrured natura l language can he ~tored in a simple file, in a database that may facilitate sea rch ing its contents, or in an Excel spreadsheet. The larrer choice is a popular one, because most systems analysts are familiar
with rhe root, a nd chey are likely to have access co it already.
An improvement upon unstructured natural language is structured natural language. This representation rags part o f the requirement, rather like an XML document. This facilitates automated processing of the requirement statements, but it's not
very user-friendly.
Requirements represented as structured natura l language can be stored on a simple
index card. The Volere shell from the Atlantic Systems Guild, shown in Figure 4- 14,
i~ a mature method of representing single requirements on a 3" x 5" card. There are
several tools that mimic these fearures, providing automation while maintaining the
simple representational format.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
I
Phase 2
Systems Analysis
129
4.7 Representing Requirements
There arc also formal techniques, based on mathematics,
that can be used to represent complex requirements.
Languages such as VDM and Z are used for this purpose.
They have the advantage of mathematical consistency, but a
major disadvantage of this technique is that many systems
analysts are unfamiliar with the language's consrrucrs,
which can affect the requirements' understandability.
lrrespecttvc of the natural language cechnique
chosen, md1v1dual requirement<; must be collected
into a requirements document. This document is the
official statement of what is requi red of rhe syscem by
the users. The Volere template is a good template for a
comprehensive requirements document. It is populated by
atomic requi rements from the Volcre shells.
CASE IN POINT 4.3:
DIGITAL
Volere
FIGUR E 4- 14 TheVolere shell.
~ A tr•
\... 1 r
PEN TRANSCRll'l ION
You are the lead systems analyst on a large project.A big part of your responsibilities is to handle the system requirements. Extensive interviews have taken place, and you have written down
your notes using a digital pen system.This system recognizes letters and words while you write
on paper and srores them in digital format on your computer. In this way. the requirements are
written in unstructured nawral language but stored digitally, which means they can be searched
and processed. Do you think it would be worthwhile to edit the transcription and insert tigs to
delineate key terms in the requirements, so that a CASE tool could better analyze them/There's
a lot of effort required to do the manual tagging. but the rewards could be better requirements.
How would you perform the tradeoff analysis!
4.7.2 Diagrams
~lany people are more visual rhan texrual. For them, diagrams are an excellent choice
co repre!.en r system requirements. Diagrams help users, managers, and IT professionals understand the design of a system. Diagramming involves graphical methods and
nontechnical language that represent the system at various stages of development.
During requiremen ts engineering, the analyst can use various cools co describe business processes, requirements, and user interaction with the system.
Systems analysts use diagram1ning and fact-finding interactively-first they build
fact-finding resu lts into diagra ms, then they study the diagrams to determine whether
additiona l face-finding is needed. To help chem understa nd system requirements,
ana lysts use fu nctional decomposition diagrams, business process diagrams, a nd dara
flow diagrams. Any of these diagrams can be created wi th CASE cools or sta nd-alone
drawi ng tools if desired.
A fun ctional decomposition
diagram (I-OD) is a mp-down rep resentation of a. fu nction or process. Using an f DD,
an analyst can show business functions and break chem down inco lower-level func·
tions and processes. Crearing an FDD is sin1ilar co drawing an organization chart:
Scare at rhe top and work downward. Figure 4-15 shows an FOO of a library system
drawn with the Visible Analyst CASE cool. FDDs can be used at several stages of
FUNCTIONAL DECOMPOSITION DIAGRAMS:
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Chapter 4
Requirements Engineering
4.7 Representing Requi rem ents
130
systems development. During requi rements engineering, analysts use FD Os to model
business functions and show how they are organized into lower-level processes. These
processes translate into program modules during application development.
Finan: e &
Human
Resources
AccOUlbng
Operalons
Budge:ing
Add&
Remove Books
CheckolJ&
RetumBooks
Bock
Management
Personnel
AssigfT1'1ef11
Arctwe CheckolJ
l.Jst and Use' l.Jst
FIGURE 4- 15 This Visible Analyse FDD shows a library system with five top-level functJons. The Library
Operadons function includes cwo additional levels of processes and sub-processes.
BUSINESS PROCESS DIAGRAMS:
A~
described in Chapter I, a bu\iness proce~s
model (BPM) represents one o r more
,.
Create
Sh1.
p
p1ng
busi11ess processes, such as handling an
Pfoce11 Order - t Prepare 81111no H
E
Oata
airline reservation, filling a product order,
~
ti;
or updating a customer account. During
~
c
;;;
requirements engineering, analysts ofren
w
create diagrams that use a standard
!!
syntax called business process modeling
~
Assign
notation (BJ>MN). BPMN includes
si ' Obtain Crtidil I-+ " Validate Credit H
Customer
011•
S tatus
Number
various shapes and symbols to represent
3 'events, processes, :1 nd workflows.
When creating a business process diagram using a CASE tool such as Visible
Analyst, the diagram automatically
FIGURE <4- 16 Using the Visible Analyst CASE tool, an analyst can create a
busine.ss process diagram.The overall diagram Is called a pool. and the cwo
becomes part of the overall model. In
separate customer areas are c:alled swim lanes.
the example shown in Figure 4- 16, using
s.-... ,.,_ _ _ ,,.
""' ''"' - """"'...,,.
BPMN terminology, the overall diagram is
called a pool and che designated customer areas arc called swim lanes. Integrating BP~1
into the CASE development process leads to faster results, fewer errors, and reduced cost.
-..
-..
-..
i
!
a
..
~
~·
Q.
a
--
I
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
Phase 2
Systems A nalysis
131
4.7 Representing Requirements
DATA FLOW DIAGRAMS: \Xforking from an FDD, analysts can creace daca now
diagrams (DFOs) co show how che syscem scores, processes, and cransforms daca.
The DFD in Figure 4- 17 describes adding and removing books, which is a function
shown in the Librar)' Managemenc diagram in Figure 4-15. ore char the cwo boxes
in che DFD repre'lenc processes, each with various inpucs and outputs. Additional
le,·els of informacion and decail are depicted in o rher, related DFDs. Daca and process
modeling is deM:rihed in derail in Chapter 5 .
..
Boob
Bool<Tllo
,.
~
---2..!.. Ir'"':'
- A61'S"'
~
Add----
.
.
AWlOl's
Updaled AIA!"Ol'S
Boob
Doob
'
'.
.
••
Boolcs
"
FIGURE 4-1 7 This Visible Amlyst DFD shows how books are added and
removed 1n a library system.
'
4 .7 .3 M odels
Models provide a more formal representation of system requirements. They arc o ften
depicted as graphical in nature, so they share some of the cbaractcriscics of rhc techniques described in Secrion 4.7.2. But models have an additional feature: The underlying language has semantics, which means the diagram has a significance that can be
aucomatically analyzed by a CASE rool.
The Unified Modeling Language (UML) is perhaps rhe most widely used modeling technique for visual izing and documenting software sysrems design. UML uses
object-oriented design concepts, but it is independent of any specific programming
language and can be used ro describe business processes and requirements generally.
SysML is a dialecr of UML and has become the sitandard for Model-Based Sysrems
Engineering (M BSE) applications.
UJ\ll L provides various graphical cools, such as use case diagrams and sequence
diagrams. During requirements engineering, a systems analyse can utilize the
UJ\ll L co represcnc the informacion syscem from a user's viewpoinr. Use case dia!,'Tams, sequence diagrams, and other U~1L concepcs are discussed in mo re derail in
C haprer 6, along with other object-orienced analysis conceprs. A brief description of
each technique follows.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 4
Requirements Engineering
4.7 Representing Requireme nts
132
USE CASE DIAGRAMS: During requirements engi-
neering, S}'Stems analysts and users work together to
document requirements and model system functions.
A use case diagram visually represents the interaction
between users and the information system. In a use case
Submits
card O..ta
diagram, the user becomes an actor, with a specific role
that describes how he or she interacts with the sy5tem.
Systems analysts can draw use case diagrams freehand
or use CASE tools t hat integrate the use cases into the
Customer
overall systems design.
Figure 4-18 shows a simple use case diagram for
a sales system where the actor is a customer and
FIGURE 4-18 This Visible Analyst use case diagram
the use case involves a credit card validation that is
shows a sales system, where the actor Is a customer and
perforn1ed by the system . Because use cases depict
the use case is a credit card validation.
the system through the eyes of a user, common
I
" '" f "1\/ •4 'Y'i
I C ~ I •I Jll'I
business language can be used to describe the
transactio ns. For example, Figure 4-1 9 shows a table that documents the credit
card validation use case, and Fig ure 4-20 shows a student records system, with
severa l use cases a nd actors.
' ¥<' I
f
SEQUENCE DIAGRAM: A sequence diagram shows t he timing of interactions
between objects as t hey occur. A systems a nalyst might u~e a sequence diagram to
show all possible outcomes o r focus on a single scenario. Figure 4-2 1 shows a ~im­
ple sequence diaE,'Tam of a successful credit card validation. T he interaction proceeds
from top to bottom along a vertical rimeline, while the horizonral arrows represent
messages from one object co another.
Name of Use Case:
Credit card validation process
~~~~~~~~~-
Actor:
Customer
Description:
Describes the credit card validation process
Successful Completion:
I. Custo mer clicks the input selector and
enters credit card number and e)(piration date
2. System verifies card
3. System sends autho rization message
Alternative:
I. Customer clicks the input selector and
enters credit card number and e)(piration date
2. System rejects card
3. System sends rejection message
Precondition:
Customer has selected at least one item and
has proceeded to checko ut area
Postcondition:
Credit card information has been validated
Customer can continue with order
Assumptio ns:
None
FIGURE 4- 19 This table documents the credit card validaaon use case shown in Figure 4-18.
~- )U,
-Woip-M ._..,..
r..a...w...,..._...., ..I_,.. 41 11.,.. .................,.t11ru
..
(....,..... J:gi ( . . . . .
..,...,...... .,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~ c.....,..~
.........,..,. ..
._.,.,.,.......c:-..•~-".....-""'*"....,.._...,..
..
I'
I
P hase 2
Systems A nalysis
133
4.8 Validating and Verifying Requirements
Registration
System
Student
Advisor
Record
Grades
Registrar
lnstruttor
FIG URE 4-20 This Vislble Analyst use case diagram shows a student records system.
Sou~:
•r•
I
~ 1 ....1tk pC'f'Tn1
"' 1•om\l'~I~ !)~CoiporatlO'\-
V•lldate
Card.:Credll Card
Cu1toma11
Customer Credll
Card Cutlomen
I
I
Enter Card Number
I
I Verify Card Number
I
I
I
I
Authortlation
FIGURE 4· 21 ThisVlsibleAnalyst sequence diagram shows a
credit card vatldatlon process.
Soutt•:ti.
4.8
V..ll.
wl'1;:>
onl -iV ·bicS~~ ·
VALIDATING AND VERIFYING REQUIREMENTS
Requirements validation and verificarion (V&V) is concerned with demonstrating
that the requirements define the system that the customer really wants. Since require·
ments error costs arc high, V&V is very important; it is many times more expensive
to fix a system later in the SDLC rhan iris to fix it during requirements engineering.
Requirements V&V focuses on answering rwo important questions:
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
"->-"'Allf'W
__....
~- ...............,..
--......
o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
~~·~----···---~~-.,.-"~
...........
Chapter 4
Requirements Engineering
134
4.9 Tools
•
•
Validation: Are rhe correct requirements stared?
Verification: Are the requirements stated correctly?
To answer these questions, the following requirements anributes should be
checked:
•
Validity: Does rbc system provide the functions that best support rhe customer's needs?
•
•
Consistency: Are rhere confliccing requirements?
Completeness: Are all funcrioos required by rhe customer included?
•
•
Realism: Can che requiremenrs be implemented given avmlahle budget and
technology?
Verifiability: Can the requirements be checked?
•
Comprehensibility: Is the requirement properly understood?
•
•
Traceability: Is the origin of rbe requirement clearly seated?
Adapt:ibiliry: Can the requirement be changed without a large impact on ocher
requirements?
To check rhese, the following techniques can be used:
•
Requirements reviews: Systen1atic manual analysis of the requirements.
•
Prototyping: Using an cxecucable model of the system to check the
req u iremcn rs.
• Test-case generation: Developing resrs for requirements co check testability.
•
Automated consistency anaJysis: Checking the consistency of a srrucrured or
formal requirements descripcions.
Consider requirements reviews. Regular reviews can be held while the requirements are initially being formulated. Ideally, the systems analyse and the customer
(a nd perhaps other key scakeholders) should be involved in the reviews. The reviews
can be forma l (with complete documentation) or informal. The key is that good communicauons berween analyses, customers, and others can resolve problems ar an early
stage, which is better for everyone.
4.9
TOOLS
All requirements engineering activities can be helped through rhc judicious use of
tools. For example, many softwa re programs a re available co help record and document information elicited during the requirements gathering process. This type of
productivity software includes automation, word processing, spreadsheet, database
management, presentation grap hics, and collaboration software programs. Although
Microsoft Office is the best-known set of productivity software programs, ocher vendors offer produces in each of these categories.
A pcr5onal information manager (PIM), such as Microsoft Outlook, includes a
personal calendar, a to-do list with priorities and the capabi lity co check off completed items, and powerful contact management features. Outlook can manage email
and appointments and supports collaboration and team projects.
Although a PL\il such as Microsoft Outlook can handle day-to-day activities,
tasks, and schedules, it is nor the best wa)' co capture and organize large amounrs of
(....,..... J:gi( . . . . . I_,.. 4111.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
Phase 2
Systems A nalysis
135
4.9 Tools
information. lnsrcad, analysts use information management sofrware such as Microsofr
OneNore, which is a powerful, flexible tool that can handle many differenr types of
input, including text, handwritten notes, images, audio and video recording, web link~,
and much more. One ore is included in several versions of the Office suire.
Figure 4-22 show~ anorher popular Pl~1 called Evernote. Ir is available for free
on mosr computing plarforms, including smanphones and on rhe web. There are also
premium versions available on a monchly subscriprion model. Evernote does a great
job of handling all sorts of mulcimedia concent, adding free-form nores, and providing
templates for organizing projects. It also syncs files across all devices.
4 Evemote
_;__...J
- · . , Ll
FIGURE 4-ll Evernole offers a free version of its popular infonnation managemenl software for mon
computing platforms. Including smartphones and on the web.
Sowcc
Using word processing sofrware such as rvlicrosoft Word, the analyst can create
repons, summaries, tables, and forms. In addicion ro standard document prepararion,
the program can help o rga nize a presentation wirb templates, bookmarks, annotations, revision control, and an index. Fill-in forms can also be creared ro conduct surveys and quesrionnaires, as described earlier in this chaprer.
Spreadsheet software, s uch as Microsoft Excel, can help track and manage
numeric dara or financial informarion. fn fact, Excel is one of the most popular ways
of representing requirements in an informal manmer. Graphs and charrs can also be
generarcd thar display rhe darn and show possible parrerns. The statistical functions
in a spreadsheer can be used to tabulate and analyze quesrionnaire data. A graphica l
formar often is used in qua liry conrrol analysis because it highlights problems and
their po s ible causes, and iris effective when presenting results to management. A
common tool for showing rhe disrribution of questionnaire or sampl ing results is a
vertical bar cha re called a histogram. Most spreadsheet programs can create histograms and other charts chac can display the daca collected. Figure 4-23 displays a typical histogram char might have resulted from rhe questionnaire shown in figure 4- 12.
Database management software allows the analyst co document and organite
fact-finding results such as events, observations, and daca samples. A database prograrn such as Microsoft Access can be used to manage the details of a complex project, create queries to retrieve specific informarion, and generate custom reports.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 4
Requirements Engineering
4.9 Tools
136
A
c
B
(j
E
D
1
Question 2:
2
What percenblge of your time do you spend processing niqulsltlon•?
3
4
s
6
1
8
9
C•l!QO'Y
< 20%
20-3t%
.o.tit%
60-7t%
80% or mora
Number
11
21
36
2A
!I
10
40 35
30 + - - - - - --1> Jl - - - - ---1
25
'l l---:::::----1
20
+-------a.
. ~-'
15 .__ _-f.; :1--1 ,,1 --1
10 -'--'....,._ _,, ..._ ... . . _ ...
11
12
13
5 .....
0
14
1!>
16
11
le
Question 2 results
;
.1 - - ---1
--n-~
·
............- .....................- ..
~-.._.-
<20%
2039%
4059%
60- 80% or
79% more
18
19 4
,.
•
•1 SheetJ
St (11.-u
ID •~-======::=======================~·
____
. _ __,'
FIGURE 4·ll This histogram displays the results fro m Question 2 In the questionnaire shown
In Figure '4-12.
Presenrarion graphics software, such as tvl icrosoft PowerPoint, is :i powerful tool
for organ i.ling and developing formal presentations. Presentation graph ics programs
enable the creation of org:inizarion charts that can be ui.ed in a preliminary inve~ciga­
tion and later during requirements engineering. T hese high-quality charts also can be
included in written reports and management presentations.
Collaborarion sofrware is the latest weapon in the struggle co boost productivity.
People work m reams and use web-based software such as Google Docs and Microsoft
Office 365 co access data and share files. Google and others are betting char cloud com·
puring will create a vinual workplace, where people will be able co interact in real time,
with all the benefits of a traditional face-to-face workplace bur none of che limirarions.
When it comes co creating diagrams char
represent requirements, Microsoft Visio is a
...
.._
popular graphic modeling cool char can produce a wide range of charts and diagrams .
•
Visio includes a library of templates, stencils,
and shapes. An analyst can use Visio co create
I "
many types of visual models, including business
processes, flowcharts, network diagrams, orga~
nization charts, and ma ny more. For example,
....
in Figure 4-24, the :inalyst used drag-and-d rop
Ii..
shapes to represen r a business process .
For more forma l models of rcqui rcmcnrs,
'1l
special-purpose tools such as IBM Rational
e
DOORS are used. These cools faci litate the use
fJ
of UML (and SysM L) co model sysrcm require:l·
ments in a way that enables desirable character0
istics, such as traceability, where rhe origin of a
requirement i~ connected back co the requirement itself, which in turn is linked forward co
design artifacts, code fragment~, and even rest
cases in the SDLC. Figure 4-25 illustrates some
FIGURE 4-24 Th1sV1sio drawinc uses drag-and·drop shapes
of the capabilities of DOORS Next Generation.
to re present a business process.
.,
--
-
-
--
'..•
•••
- •I•1
c: •.]l
..
-
..
(....,..... J:gi( . . . . .
I_,.. 4 111.,.. .................,.t11ru
- Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
- ·~• -fllllie<'f •,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~-- - t fta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-.. • ~-" .....- ""'*"....,.._...,.. ..
I'
I
I
Phase 2
Systems Analysis
4.10 Summary
FIGURE 4-25 IBM DOORS Is a to0I for capturing. analyzing, an d tr.icing system requirements.
ISM C. P
r&
Your supervisor manages the corporate office where you work as a systems analyst. Several weeks ago, after hearing rumors of employee dissatisfaction, he asked you to create a
survey for all IT employees.After the responses were returned and tabulated. he was disappointed to team that many employees assigned low ratings to morale and management
policies.
This morning he called you into his office and asked whether you could identify the
departments that submitted the lowest ratings. No names were used on the individual
survey forms. However, with a little analysis, you probably could identify the departments
because several questions were department related_
Now you are not sure how to respond.The expectation was that the survey would be
anonymous. Even though no individuals would be identified, would it be ethical to reveal
which departments sent in the low ratings/ Would your supervisor's motives for wanting
this information matter1
4.1 0
SUMMARY
The systems analysis phase includes three activities: requirements engineering,
data and process modeling, and consideration of development scrategies. The main
objecu,·e is co understand rhe proposed project, ensure char ir will support business
requirements, and build a solid foundation for the systems design phase. Requirements
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
13 7
Chapter 4
Requirements Engineering
4.10 Summary
138
engineering irself is composed of three main parts: ( 1) garhering rcquiremenrs,
(2) represenring requiremencs, and (3) validating and verifying requiremenrs.
During requi remcnrs engineering, che business-relared requircmenrs for rhe new
information sysrcm a re idenrified. Scalabiliry is considered ro ensure rhar rhe sysrem
can supporr fururc growth and expansion. Securiry is an essenrial requiremenr of all
modern connccred sysrcms. The TCO is also esti mated to idenrify all coses, including
ind1 recr cos rs.
Popular team-based approaches include JAD, RAD, and agile methods. J AD is
a popular, ream-based approach co fact-finding and requ1remenrs engineering. JAD
involves an interactive group of users, managers, and IT professionals who participare
in requiremenrs engineering and develop a greater commirmenc co the project and to
their common goals.
RAD is a team-based technique that speeds up informar ion sysrems dcvelopmenc
and produces a functioning information sysrem. RAD is a complete methodology,
with a four-phase life cycle tha t parallels the cradirional SDLC phases.
Agile mechods a ttempc co develop a system incremenrnlly by building a series
of prototypes and constantly adjusting them to user requirements. Tools are o ften
:ivo ided and repbced with simpler ailds, such as whiteboards and sticky notes to faci litate communication.
The requirements gathering process includes interviewing, document review, observation, questionnaires, sampling, and research. Successful interviewing requires good
planning a nd stro ng interpersonal and communication skills. The sysrems ana lyst
musr decide on rhc people to intervie w; ser interview objectives; and prepare for, conduct, and :inalyzc incerviews. The analyst a lso might find ic helpful ro use one or more
software rools during facr-finding.
Systems analysts use va rious tools and techniques ro represent system requirements. N:irural language, srrucrured or unstrucrured, is still the default. Requirements
can be stored as simple text in a plain file or in an Excel spreadshcer.11ley can :ilso be
srored online for automated search and analysis.
Diagrams are another way of represenring requirements. They are suic:ible for analysrs who arc more visually oriented. They can a lso capture complementary aspects of
t he system reqmrements. Sample diagram rypes include FDDs, busine s process diagram!>, and DfDs.
Nlodels provide a more formal represenration of system requirements. The UML
is a widely used method of visualizing a nd documenting i.ofrware de!>ign through the
eyes of the bu~iness user. UML cools include use case diagrams and sequence diagmms ro represent actors, their roles, and the sequence of trans:iccion!. that occurs.
Systems :inalysts should carefully record and d ocumenr factua l information as it
is collected, and various software tools can help a n analyst visualize and describe an
informorion system .
Requirements V&V is concerned wirh demonstraring that the requirements define
the system that the customer really wants. Validarion :isks if the correct requircmenrs
:ire srated, while verification asks if the requiren1cnts arc stated correctl y.
All requirements engineering activities can be helped through rhc judicious use
of tools. They provide automated support for req uirements atrriburcs such as rraceabiliry. For very large systems with thousands of requirements to manage, CASE tool
aS!.isrn nee is necessary.
(....,..... J:gi( . . . . . I_,.. 4111.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
I
Phase 2
Systems Analysis
139
Key Terms
Key Terms
aaor An external enm> wirh a ~pt.'Cific role. ln a use case model, a<.<ors are u>ed !O model mierac.:tion
w11h 1hc >)\lem.
agile method• ~)>leim deH~lopmem methods !ha1 anempt to de,elop a system incrememally h) buildmg a series of protOt) pes and constantly adiusang them rouser reqwremeots. Also calltd adapuvt
method>.
brain~tomung A fact-finding technique for gaining information rhrough the use of a small group d1scu~­
sion of a specific problem, opporrunir), or issue.
bu\ine<>\ pr<~.,., model (BPMJ A b'l"aphical representation of one or more husine>> prnce~e>.
bu.,inc\\ prcx:c\\ modeling notation ( BP~) A standard set: of >hape> and 'ymbol> used to rtpre~cnc
evcnL,, proc.e"~• and workOow> in compucer-ha,\ed modding cool>.
clo;cd-endcd qucsuoos Queries thm Imm or restrict che range of responses. Used 10 the 1men 1ew process when sp«1fic mform.irion or facr verificanon ts desired.
cons1rue1ion phase A ph.1se rhnt focuses on progr,un and applkanon development tasks s1mil.1r to rhe
SDLC.
cuun·cr pha'c A pha\C chat resemble' rhc final ca~ks in che 501 C implementation pha,c, including dam
converoion, te,ring, chnnflcovcr m rhe new •ysrem, and tL~er rraining.
data Oow diagram (DFD) Diaflram rh:u ,how~ how che syscem scores, proces,e•,, and tran,form' data
into u,cful information.
document re•icw A review of b.iselme docurnemauon. A useful fact-finding techuique tllJt helps ,rn .111.1lyst underst.ind how the current system rs supposed co work.
eng.igcd lmcmng lne ab1lary ro reall} concenrrare on whar someone as saying and .tvo1d the temptauon
to he.ir "h.1t is e'l.pteted. Alw includes noricmg nonverbal communicanon.
epic In an awlc rro1ccr, a •imple, h1gh-lcvel •caccmcnt of a requirement. Sec feature.
fact-finding The procc•s of pthcring rcquircmenr•. Sec requirement\ elicitation.
feature lo an agile pro1cc1, a sample, high-level staremem of a requirement. See epic.
fill ·in form A template used 10 collect data on the lmemet or a compan) intranet
functional dccornpo\ltion diagram (FOO) A top-down representation of husine'' function\ and pro·
ce..>;e<.. '"'"called a 'truccure chart.
functional requirement A 'taiement of rhe -;en ice, a ..ysrem providei..
H;m 1home Ufcc1 A phenomenon where emptor~ who know chey arc bemg obsef\ ed .ire more
producttvc.
histogram A ~ommon tool for showing rhe d1str1burion of quesrionna1re or sampling results. It take• 1he
form of a vcmcal bar charr.
informal \lructurc An organi73rion based on interpersonal relationships, w hich can develop from prcvi
ou~ work n~~ignmcnr~, physica l rruximiry, unofficial procedures, or per~ona l rclation~hip>.
intcr"icw J\ planned meeting during which i11formario11 is obrnined from onorhcr pcr,011.
join1 applica1io11 dcvclopmcni UAD) A systems development tecb.aique !h.ir uses a rask force of users,
manager>. and IT profc>>tonal~ who work rogether to gather information, dii;cu~> bu;in~> n~cd>, and
define the new S)'Stcm requirements.
lcadtng qucsuons Queries th.11 suggcsr or fovor a particular reply.
non-fun<11onal requirement\ A sratemt'nt of operational sysrcm con~tramt~.
ob~cnauon A facr-fmd1n~ technique where an analrsr sees a system in dctton. Obsen·auon allow' th<'
veraficanon of statements made in interviews.
oix:n·cnded quc\lion~ Quenc> that allow for a range of answers. The)' encourage spontaneous and
umtru~1ured respon!>e> and are u..eful in under..canding a larger proces>.
~JD»(".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_._....~~
...
...............
_ .... ~---11rt~
-,..~---~~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Chapter 4
Requirements Engineering
Key Terms
140
pcl"Jonal information manager (PIM ) A cool chac helps manage rnsks and schedules. Many handheld
devices also indude tlus luncuon.
pool Tiie merall d1a11ram 1n BPMN.
produ,,,, II) .,.,r''""" Applic:mons wc:h as word proce\~inµ, .,pread_~heec, dat.iba..., manaitemtnt, and
preo,cnranon 11raphic., program'>.
quahf) annbur~ Su non-functional requiremems.
quescionna1rc A document conrainmg a number of srandard questions that can be scnr co many individuals. Also called a survey.
random ,ample A ~elecrion rnken in a random, unplanned manner. For example, a random \ample mighc
be n >ample char 'ele•"ts nny 20 cusromers.
rn1111.:-ur-re,pon'c quc\UOn> Closed-ended quescions that a>k the p<!r,un to evaluate >omctliing hy pm' id11111 limited an\wtr> to specific re,ponses or 011 a numeric >ca lc.
rapid .1pphca11on de,·clopment (RAD) A ream-based technique that speeds up mformA non sysrems developmcn1 .ind produces a funcrioniug information system. RAD is simil.1r in concept co JAL) buc goes
furrher by including all phases of che SDLC.
requirement~ definition~ A description of che sysrem requirements from the user's poinc of view.
rcquircmcnl\ elicitation The process of gathering requirement~. Sec f.tcJ-findinjl.
requirement\ engineering Used in rhe ~)'l>-Yem< planning pha-;e of rhe SDLC It involve; fact findini: m
de.,.ribl: the ~urrenr sy,rcm and identify rhe requirement> tor the new \)'.tcm.
rcquircmeng plnnning pb:ise
)S1s phas~ or rhe SDLC.
A phase ch:u combines elements of the systems plJnrung Jnd systems Jn:1l-
rcqULremcnts •pcc1fica11ons A descnpnon of che system reqwremenrs from the Jnalyst or engineering
ceam's point of \1cw.
rc,c;irch ,\n imporranr fact-finding technique thar includes rhe review of journal~, periodicals, and
hook• m ohr:un h:ickgmund information, rechnical marenal, and new• about mdu-rf)' trends and
de• elopmenr~.
'an1plrnq A pr<><.-e" where an an:ilr<t colleas e'<ample, or a•-rual document,, wh1~h ~oul<l mdude
rc~urd,, report;, or variou~ fum1~.
scalab1l11~ A characrerisnc of a system, 101plying chat the S)'Slem can
be expanded, modified, or down-
sized cas1l) to mecr the rapidly changing needs of a business enrerpnse.
<ccnario< In an agile project, a real-world example of how users w1ll 10tcr.1ct wnh the system.
~rum
;\ popubr rechniquc for agile projecr managemcnr. Derived from a rugby rerm. In Scrum, rc~m
memhe~ play specific roles nnd interact in intense •es•ions.
\Cqucncc dia11rnm /\ UML diagram th3t 'hnws the riming of transaction~ between ohjccn, a' rhey occur
durin!I ~y~tcm execution.
~itc vis11 A mp 10 a physical location to observe a system
Ln use at :1nocber location.
~1ra11ficJ ~ample
A set memc 1s collected across fwJCtional ure:i>. l-ur example ••1 ct'rr.1111 pcrccnrjge of
trnn~acrion< from every work shift, or five cusromers from cuch of four zip code~. could be a 'tr<uified
'ample.
'toryboard In an agile project, a simple graphic organi1er rhar helps system< ;in.ily~ts vi~ua l iu rhe •mtu'
of a project.
\tru~turcd br.iin\lorming A group discussion where each parricipant speab "hen it i> his or her tum or
pas~'·
~unc)
A dcxument conra1n10g a number of standard questioll!i rhat
Also called a que~11onMirc.
~ JD» (".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_ ._.... ~~
t:J.11
b.: .ent to mJny 111J1v1<lual>.
...
. ..............
_ .... ~---11rt~
-,..~---~ ~
.... . _
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
I'
I
I
Phase 2
Systems Analysis
I41
Key Terms
swim lane> In .i bu•ine'; pr<><.e<>\ diagram, che overall diagram is called a pool and the des1gna1ed
tomer area> are c:alled >w1m !:inn.
C:U>
S)s.\11 A dialect of U/\iL 2, used for representing requiremerus (and other thing;). pmn.inl) m .\IBSL
applications.
system rcqu1Ccment A charac1ens1ic or fe;irure that musr be included in an mformauon S) stem to sans!)
bu~ine~\ requirements and he accc-prable ro users.
'Y\lcma11c \ample A \ample char occur~ ac a predeccrmincd pcriodiciry. For example, every tenth cu<comcr record mighr he sclccred a~ a sy~emaric sample for review.
wtal co-r of o"ncnh1p (TCO) A numhcr used in assessing cosrs, which include' ongoini; 'upporc and
mamcenance co\t' ,1, well 3> acquisinon cosr•.
uaceabi!Jty ·1be Jbtht)' co follow a reqtmemellt backward to JtS ongms and forw.1rd through the SDLC
to link design documcnrs, code fragments, .rnd 1esr artifacrs.
Unified Modeling l anguagc (UM I ) A widely used method of visualizing and documenunp. softw,1rc systems design. UML uses objccc-oricntcd design concepts. bur iris iudcpcndcnr of any specific programming language and c.in be used 10 describe business processes and requiremcms generally.
un\lructurcd brain,turmini: A i:mup di~ussion where any parricipanr can speak at any time.
u_\e ca\c diagram A vi,ual repre~enrntion chac represenrs the inreracrion between u'er~ and the informa-
ti<>n 'Ystem in lJM L.
user d~ign ph.ise In tht> phase, users inter.1c1 with systems 3Jl:tlyscs and develop models and
protott~
thdt represent all S)srtm processes, ourpurs, and inputs.
user stories In Jn agile pro1ecr, a ser of more refined requtremenrs derived from features.
~ JD» (".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_ ._.... ~~
...
. ..............
_ .... ~---11rt~
-,..~---~ ~
.... . _
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Chapter 4
Requirements Engineering
Exercises
142
Exercises
Questions
I. \'(lhar is a srstem requiremenr and what are the three challenges it presents co the
S) stems analyst?
2. Is the requirement "The system shall respond within 2 seconds" a functional or
non-functional requirement?
3. What is scrum?
4. \'(lhar five questions typically are used in fact-finding?
5. Provide rhree examples each of closed-ended, open-ended, and range-of-response
questions.
6. Explain how the observation fact-finding technique works, including the
I la wthorne Effect.
7. Wh:it is rhe rel:irionship berween user stories and fcarures in :igi le projecrs?
8. What is an FDD and why would you use o ne?
9. What is the d ifference between validation and verificat ion of sysrem
requirement~?
10. Why is rraceabiliry important in tool support for requirements engineering?
Discussion Topics
I. JAD requires strong interpersonal and communicacion skills on the part of the
sysrems analyst. Are those skills different from che ones that an analy~r needs
when conducting one-to-one inten•iews? Explain your answer.
2. Agile methods use rapid development cycles to iteratively produce running versions of the system. How would these shorrer cycles affect the abiliry of the analyst ro manage sysrem requirements?
3. A group meeting sometimes is suggesred as a useful compromise bcrwccn mrerviews and questionnaires. In a group meeting, a systems analysr meets with a
number of users at one time. Discuss the advantages and disadvantages of group
mccrin~.
4. Research the Internet, magazines, or textbooks co find examples of visual aids,
including a bar chart, pie chan, line chart, table, diagram, and bulleted lisr. How
effective was each example? Find at least one example char you could improve.
Explain your choice.
5. Traceability is an important requirements atcribute. lt'!> one of the things that
should be checked when performing V&V of the syMem requi rements. Describe
how you would manually check traceability for an existing system and list a few
features of a CASE tool rhat you think wou ld help you with the task.
Projects
I. Use the requiremcncs gathering techniques of document review, observ:ition,
brainstorming, sampling, and research co capture the requirements of a typical
elevator control system. Use narura l language and the UML to represent the siruauon where people on different floors push the ''Up" button at the same time.
2. Prepare a presentation summarizing JAD and RAD. Explain how t hey differ
from traditional facr-finding merhods. What arc the m:iin advantages of teambased methods?
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
I'
I
I
Phase 2
Systems Analysis
Exercises
3. Design a questionnaire ro learn what srudenrs think of the registration process at
your school. Apply the guidelines you learned in this chapter.
4. Create an FDD similar to the one in Figure 4-15 but showing your school mstead
of the librar) example.
5. A desirable characteristic of a requirement is that it be borh consisrenr and complete. Examine several requirements engineering CASE tools and document how
(if ar all ) they support automated consistency analysis for validatmg :rnd verifying requirement<;.
r..,,...JID)r-..1-.. 4• 11_.. • ...__. ~....... .,...~ • ........._ . ....._.,.,.. o-... ..,._.,,.,.. _ ..,.~ ,........., ................. .._... .., .,. ..,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
143
Chapter S
Data and Process Modeling
Data and Process
Modeling
Chapter S is the second of four chapters in the systems analysis phase of the SDLC. This chapter discusses
data and process modeling techniques that analysts use
to show how the system transforms data into useful
information. Data and process modeling involves three
main items: data flow diagrams, a data dictionary, and
process descriptions.The deliverable, or end produce,
of data and process modeling Is a logical model that will
support business operations and meet user needs.
The chapter includes three "Case in Point" discussion questions to help contextualize the concepts
described in the text. The "Question of Ethics" raises
the issue of how to respond to subtle but insistent
requests by an IT manager In a systems analyst's new
organization for proprietary information related to
the business processes used by the analyst's previous
employer. which is a competitor of the analyst's current
company.
LEARNING OB ECTIVES
CONTENTS
5. 1 Logical Versus Physical Models
5.2 Data Flow Diagrams
5.3 Data Flow Diagram Symbols
5.4 Drawing Dara Flow Diagrams
5.5 Drawing a Context Diagram
5 .6 Drawing a Diagram 0 01-D
5 .7 Drawing Lower-Level DFDs
Case in Poinr 5.1: Big Ten Univcrsiry
5 .8 Data Dictionary
5 .9 Process Description Tools in Modular Design
Case in Point 5 .2: Rock olid Outfitrers (Parr 1)
Case in Point 5 .3: Rock Solid Outfitters (Part 2)
A Question of Ethics
5 . 10 Summary
Key Terms
Exercises
W/Jen you finish tbis chapter, you sl101tld be able
to:
l. Describe rhe relarionship bcrween logical and
physical models
2. Explain data flow diagrams
3. Draw rhe four basic dara flow diagram symbols
4. Explain the si.~ guidelines used when drawing
data flow d1agr:ims
5. Draw context diagrams
6. Draw diagram 0 data flow diagrams
7. Draw lower-level darn flow diagrams
8. Explain how to level and balance data flow
diagrams
9. Create a darn dictionary
IO. Apply process description tools in modular
design
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ .
....._.,.,.. o-...
..,._.,,.,.. _ ..,.~
,........., ................. .._... .., .,. ..,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Phase 2
Systems Analysis
145
5.2 Data Flow Diagrams
5.1
LOGICAL VERSUS PHYSICAL MODELS
During rhe requiremenrs engineering process described in Chaprer 4, face-finding
techniques were used ro invesrigare rhe currenr sysrem and idenrify user requirements.
Chaprcrs 5 and 6 explain how char information is used ro develop a logical model of
rhe proposed system and documenr the sysrem requirements. A logical model shows
what rhe sysrem musr do, regardless of how ir will be implemented physically. L1rer,
in rhe S)'Srems design phase, a physical model is built that describes how rhe system
will be consrrucred.
While srrucrured analysis cools are used ro develop a logical model for a new
informarion sysrem, such cools also can be used to develop physical model of an
information system. A physical model shows how rhe system's requirements are
implemented. During rhe systems design phase, a physical model of rhe new information system •~created chat follows from the logical model and involves operational
tasks and techniques.
To undersrnnd rhe relationship between logical and physical models, think back
to rhe beginning of the systems analysis phase. To understand how the current tasks
were carried our in the existing system, the physical operations of the existing system
were studied before the logical model. Many systems analysts create a physical model
of rhe currem S)1srem and then develop a logical model of the currenr system before
tackling a logical model of the new system. Performing that extra step a llows them to
understand rhe current system better.
Many analysts follow a four-model approach, which means that they develop a
physical model of the current system, a logical model of the current system, a logical
model of the new system, and a physical model of the new system. The major benefit
of the four-model approach is rhat it provides a clear picrure of current system
functions before any modifications or improvements are made. Thar is important
because misrakes made early in syscems de\•elopment will affect later SDLC phases
and can result in unhappy users and additional cosrs. Taking additional steps to
avoid these potentially costly mistakes can prO\'e to be weU worth the effort. Another
advantage is thar the requirements of a new information system often are quite
similar to those of rhe current information system. especially where the proposal is
based on new computer technology rather than a large number of new requirements.
Adapting the current system logical model to the new system logical model in these
cases is a straightforward process.
The only disadvantage of the four-model approach is the added rime and
cost needed to develop a logical and physical model of rhe current sysrem. Most
projects have very right schedules that might nor allow rime ro create the current
system models. Additionally, users and managers want ro see progress on rhe new
system-they are much less concerned about documenting the current sy:.tem.
The ~ystems ana lyst must stress the importance of careful documencation and
resist the pressure to hurry the development process at the risk of creating serious
problem:. later.
5.2
DATA
f
LOW DIAGRAMS
Systems analysts use many graphical techniques ro describe an information system.
One popular method is to draw a set of dara flow diagrams. A data flO\\ diagram
(DFD) uses various symbols to show how the system transforms input data into useful informatton. Other graphical tools include object models, which are explamed in
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter S
Data and Process Modeling
5.3 Data Flo w Diagram Symbols
146
Chaprer 6 (Object Modeli ng), and enriry-relationship diagrams, which arc described
in Chapter 9 (Dara Design).
During the sysrems analysis phase of che SDLC, the systems anal)'St creates a
visual model of the information system using a set of O FDs. In his seminal book The
Visual Display of Quantitative 111(ormatio11, aurhor and renowned academic Edward
Tufte provides guidance on crearing effecrive diagrams to concisely convey complex 111formation. A DFD is an example of this rype of visual e'<planation of system
behavior.
A DFD shows how data moves th rough an inforrnanon system but does not show
program logic o r processing steps. A ser of DFDs provides a logical model that shows
what the system does, nor how ir does it. T hac discinction is important because focusing on implementation issues at this point would restrict the search for the most effective system design.
5.3
DATA FLOW DIAGRAM SYMBOLS
DFDs use fou r basic symbols tha t represent processes, da ta flows, data stores, a nd
entities. Several different versions o f DFD symbols exist, but they a ll serve t he same
pu rpose. DFD examples in this rexr use the Gane and Sarson symbol set. Another
popu lar symbol set is the Yourdon sym bol set. Figure 5- 1 shows examples of both
version'>. In this text, symbols are referenced using all capital letters for the symbol
name.
Gane and Sarson Symbols
APPLY
PAYMENT
II
Symbol Name
Yourdon Symbols
Process
APPLY
PAYMENT
BANK DEPOSIT
Data Flow
BANK DEPOSIT
STUDENTS
Data Store
STUDENTS
CUSTOMER
External Entity
CUSTOMER
FIGURE S- 1 Data flow diagram symbols, symbol names, and examples of the Gane and
Sarson and Yourdon symbol sets.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
Phase 2
Systems A nalysis
147
S.3 Data Flow Diagram Symbols
5.3.1 Process Symbols
A process receive input data and produces ourpur rhar has a different content, form,
or both. For instance, the process for calculating pay uses rwo inpurs (pay rate and
hours worked) to produce one output (total pay). Processes can be very simple or
quire complex. In a typical company, processes might include calculating sale trends,
filing online insurance claims, ordering inventory from a supplier's y tern, or verifying email addresses for web customers. Processes contain the business logic, also
called busine s rules, that transforms the data and produces the required resulrs.
The symbol for a process 1s a rectangle with rounded comers. The name of the
process appears inside the rectangle. The process name identifies a specific function
and consists of a verb (and an adjective, if necessary) followed by a singular noun.
Examples of process names arc APPLY REl\lT PAYMENT, CALCULATE COMMISSION, ASSIGN Fl Al GRADE, VERIFY ORDER, and FILL ORDER.
Processing derails arc nor sho,vn in a DFD. For example, there might be a process
named DEPOSIT PAYMENT. The process symbol does nor reveal the business logic
for the DEPOSIT PAYMENT process. To document the logic, a process description is
created, which is explained later in this cbapteL
In DFDs, a process symbol can be referred to as a black box, because the inputs, outputs, and general functions of the process are knov.m, but the underlying details and logic
of the process arc hidden. By showing processes as black boxes, an analyst can create
DFDs that show how the system functions bur avoid unnecessary detail and clutter. When
the analyst wishes ro show additional levels of detail, he or she can zoom in on a process
symbol and creacc a more in-depth DFD that shows the process's inrernal workingswhich mighr reveal even more processes, dara flows, and data stores. In this manner, the
information )'Stem can be modeled as a series of increasingly detailed picrures.
The network rourer shown in Figure 5-2 is an example of a black box. An
observer can see cables rhar carry data inro and ouc of the router, but rhe rourer's
internal operations are nor revealed-on!)' che results are apparent.
FIGURE 5·2 A router acts like a block box for network data. Cables
carry data In and out, but internal operations are hidden inside the case.
""'
..
I'
5.3.2 Data Flow Symbols
A data flow is a path for data to move from one part of rhe information system to
another. A dara flow in a DFD rcpresenrs one or more data irems. For example, a daca
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter S
Data and Process Modeling
5.3 Data Flow Diagram Symbols
148
flow could consist of a single dara item (such as a student ID number), or it could
include a set of data (such as a class roster with student ID numbers, names, and
registration dates for a specific class). Although che DFD does not show the detailed
contents of a data flow, that information is included in the darn dictionary, which is
de'ICribcd later in this chapter.
The symbol for a data flow is a line with a single or double arrowhead. The data
flow name appears above, below, or alongside the line. A data flow name consists
of a singular noun and an adjective, if needed. Examples of dara flow names are
DEPOSIT, INVOICE PAYMENT, STUDENT GRADE, ORDER, and COMMISSION. Exceptions co the singular name rule are data flow names, such as GRADING
PARAMETERS, where a singular name could mislead the analyst into thinking a single parameter or single icem of daca exists.
Figure 5-3 shows correct examples of data flow and process symbol
connections. Because a process changes rbe data's content or form, ar least one
data flow must enter and one data flow must exit each process symbol, as they
do in the CREATE rNVO ICE process. A process symbol can have more than one
outgoing data flow, as shown 111 t be GRADE STUDENT WORK process, or more
than one incomi ng data flow, as shown in the CALCULATE GROSS PAY process.
A process also can connect to any o t he r symbol, including another process
symbo l, as shown by the connection benveen VERIFY ORDER and ASSEMBLE
ORDER in Figure 5-3. A data flow, therefore, must have a process symbol on at
least one end.
SERVICES PERFORMED
CREATE
INVOCE
INVOICE
GRADED WORK
SUBMITIED WORK
l-
o
w
a:
a:
0
GRADE
STUDENT
WORK
STUDENT GRADE
HOURS WORKED
0
PAY RATE
ORDER
VERIFY
ORDER
CALCULATE
GROSS
PAY
ACCEPTED
ORDER
GROSS PAY
ASSEMBLE
ORDER
INVENTORY
CHANGE
FIGURE S-3 Examples of correct combinations or data flow and process symbols.
(....,..... J:gi( . . . . . I_,.. 4111.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
P hase 2
Systems A nalysis
149
S.3 Data Flow Diagram Symbols
Figure 5-4 shows three data Aow and process combinations that must be avoided:
•
Spontaneous generatio n. The APPLY INSURANCE PREMIUM process, for
instance, produces output but has no input data flow. Because it has no input,
the proce s is called a spontaneous generation process.
•
Black hole. CALCULATE GROSS PAY IS called a black hole process, which is a
proce&s that has input bur produces no output.
Gray hole. A gray hole is a process that has ar least one input and one ourpur,
but the input obviously is insufficient to generate rhe output shown. For example, a date of birth input is nor sufficient ro produce a final grade output in the
CALCULATE GRADE process.
•
Spontaneous generation, black holes, a nd gray holes are impossible logically in a
DFD because a process must act on input, shown by an incoming data flow, and produce output, represented by an outgoing data flow.
S.3.3 Data Store Symbols
A data ~tore is used in a DFD to represent
APPLY
dara that the system stores because one or
POLICY NUMBER
INSURANCE PAYMENT AMOUNT
more processes need to use the dara ar a
PREMIUM
later time. For instance, instructors need to
store student scores on rests and assignments
during the semester, so they can assign final
grades at the end of the term. Similarly, a
(.)
company stores employee salary and deducUJ
a:
HOURS WORKED
PAY RATE
tion data during the year in order ro print
CALCULATE
a:
GROSS PAY
\Y/-2 forms with total earnings and deduc0
0
tions ar the end of rhe year. A DFD does nor
z
show the derailed contents of a data store-the specific structure and data elements are
defined in rhe dara dictionary, which is discus&ed later in this chapter.
DATE OF BIRTH
FINAL GRADE
CALCULATE
The phy ical characteristics of a daca &tore
GRADE
are unimportant because the logical model
is the only concern at this point. Also, the
length of time that the data i~ ~tored i& unimportant-it can be a matter of seconds while
IFIGURE 5-'4 Examples of Incorrect combinations of data flow and
process symbols. APPLY INSURANCE PREMIUM has no input and is
a transaction is processed or a period of
called a spontaneous generation process. CALCULATE GROSS PAY has
months while data is accumulated for yearno outputs and is called a black hole process. CALCULATE GRADE has
end processing. What is important is that a
:an input that is obviously unable to produce the output. This process is
process needs access to the data at some later
called a gray hole.
time.
In a DFD, rhc Gane and Sarson symbol for a data store is a flat rectangle that is
open on the r ig ht side and closed on the left side. The name of the data store appears
between the lines and idenrifies the data it contains. A data store name is a plural
name consisting of a noun and adjectives, if needed. Examples of data store names
arc STUDENTS, ACCOUNTS RECEIVABLE, PRODUCTS, DAILY PAYMENTS,
PURCI IASE ORDERS, OUTSTANDING CHECKS, INSURANCE POLICIES, and
EMPLOYEES. Exceptions to the plural name rule are coUective nouns that represent
multiple occurrences of objects. For example, GRADEBOOK represents a group of
students and their scores.
....
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter S
Data and Process Modeling
5.3 Data Flo w Diagram Symbols
I SO
A data store must be connected to a process with a data flow. Figure 5-5 illust rates
typical examples of data stores. Since data scores represent data storage for use by
another process in the furure, in each case, che data store has ac least one incoming
and one outgoing data flow and is connected to a process symbol wich a data flow.
CREATE
INVOICE
POST
PAYMENT
CUSTOMER
PAYMENT
1-
u
w
INVOICE
DAILY
PAYMENTS
a:
a:
ADMIT
PATIENT
ADMISSION
FORM
ACCOUNTS
RECEIVABLE
PATIENTS
·1
0
u
DAI LY
PAYMENT
PAYMENT
DETAIL
INVOICE
DETAIL
PREPARE
DEPOSIT
SYMPTOM
DIAGNOSE
PATIENT
POST
PAYMENT
TREATMENT
TREAT
PATIENT
FIGU RE 5-S Examples of correct use of dat:a ttore symbols in a dat:a flow diairam.
Violations of the rule that a data store must have at least one mcoming and one
outgoing data flow are shown in Figure 5-6. In che first example, rwo dara stores are
connected mcorrectly because no process 1s between them. Also, COURSES has no
incoming data flow and STUDENTS has no outgoing data flow. In the second and
rhird examples, rhe da ta stores lack either an outgoing or incoming data flow.
1-
COURSES
u
w
a:
a:
0
POST
PAYMENT
I
CLASS
LIST
u
z
BOOK
FLIGHT
CUSTOMER
PAYMENT
STUDENTS
I
DAILY
PAYMENTS
FLIGHT
REOU EST
PASSENGERS
I
I
FIGU RE S-6 Examples of incorrect use of data store symbols in a data flow diagram.Two data
stores cannot be connected by a data flow without an intervening process. and each data store
should have an ouigoing and incoming data flow.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
Phase 2
Systems A nalysis
151
S.3 Data Flow Diagram Symbols
There is an exception to the requirement that a data store must have at least one
incoming and one outgoing data Aow. In some siruarions, a data store has no input
data Aow because it contains fixed reference data that is nor updated b)• the system.
For example, consider a data store called TAX TABLE, which contains withholding
ta-.: data that a company downloads from the Internal Re\•enue Service. When the company runs its payroll, the CALCULATE \XflTH HOLDI G process accesses data from
this data store. On a DFD, this would be represented as a one-way outgomg data Aow
from rhe TAX TABLE data score into the CALCULAT E WITHHOLD Ii G process.
5.3.4 Entity Symbols
T he symbol for an entity
is a rectangle, which may
be shaded to make ir look
three-dimensional. T he name
of the entity appears inside the
symbol.
A DFD shows only cxrernal
entities th:H provide data to rhe
sysrcm or receive output from
the system. A DrD shows the
boundaries of the system and
how the system interfaces with
the outside world. For example,
a cusromer enriry submits an
order to an order processing
system. Other examples of
entiti~ include a patient who
supplie~ data to a medical
record~ sy~tem, a homeowner
who receives a bill from a ciry
property tax S)•Mem, or an
accouncs payable system that
receives data from the compan)•'s
purchasing system.
DFD entities also are called
terminator) because they are
data origins or final dcsrin:irions.
Systems analysts call an enriry
that supplies data to rhe system
a source and an enriry that
receives data from the system
a sink. An enriry na me is the
singular form of a dcparm1ent,
an outside organiz;:irion, other
information system, or a person.
An external entity can be a
source or a sink or both, bur
each entiry must be connected
ro a process by :i d:ita Aow.
Figure 5-7 and Figure 5-8 show
correct and incorrect e-.::imples
of this rule, re pecrively.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
BANK
CUSTOMER
PAYMENT
BANK
DEPOSIT
CUSTOMER
INVOICE
ORDER
l-
o
w
a:
a:
VERIFY
ORDER
PREPARE
DEPOSIT
APPLY
PAYMENT
0
0
TIME
CARO
VERIFY
TIME
CARD
EMPLOYEE
FIGURE 5-7 Examples of correct uses of e>nemal entitles on a
PAYROLL
DEPARTMENT
PAYCHECK
CREATE
PAYCHEC1<
cnu flow diagr.tm.
BANK
CUSTOMER
I-
0
w
PAYCHEC K
a:
a:
BANK
DEPOSIT
PAYMENT
0
0
z
ACCOUNTS
RECEIVABLE
DAILY
PAYMENTS
EMPLOYEE
FIGURE 5-8 Examples of incorrect uses of external ent1t1es on a cnu flow doagr.tm. An
external entity must be connected by a cnca flow to a process and not directly to a data store
or co another external entity.
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
I
~~·~---- ···---~~-.,.-"~
...........
Chapter S
Data and Process Modeling
5.4 Drawing Dae.a Flow Diagrams
152
S.3.S Using DFD Symbols
\'<'ith a n undersranding of the proper use of DFD symbols, the next step is co construct diagrams chat use these symbols. Figure 5-9 shows a summary of the rules for
using DFD symbols.
Correct and Incorrect Examples of Data Rows
LJ
LJ
LJ
LJ
D
D
D
-
II
D
II
Process to Process
./
Process to External Entity
./
Process to Data Store
./
'·
External Entity to External Enllty
II
External Entity to Data Store
II
Data Store to Data Store
'-
x
x
x
FIGURE S-9 Examples of correct and incorrect uses of data flows.
5.4
DRAWING DATA fLOW DIAGRAMS
During requiremen ts engineering, interviews, questionnaires, and ocher techniques
were used to gather facts about the system, and it was explained how the various
people, departments, data, and processes fit together to support business operations.
Now a grnphical model of the information system is created based on the fact-finding
results.
To learn how to draw DFDs, examples of two information systems will be used.
The first example is a grading system rhat instructors use co assign final grades based
on the scores that students receive during the term. The second example is an order
system that a company uses to enter orders and apply payments against a customer's
balance.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. - ·~•-fllllie<'f •,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
Phase 2
Systems A nalysis
153
S.4 Drawing Data Flow Diagrams
When drawing a context diagram and other DFDs, these guidelines should be
followed:
•
Draw the context diagram so it firs on one page.
•
Use the name of the infonnarion system as the process name in the context diagram. For example, the process name in Figure 5-10 1s GRAD! G YSTEM.
, ore that rhe process name is the same as t he system name. This is because
the conte>.t diagram shows rhe entire information system as if it were a single
proce!.s. For processes in lower-level DFDs, use a verb followed by a de criptl\e
noun, such as ESTABLISH GRADEBOOK, ASSIG FINAL GRADE, or PRODUCE GRADE REPORT.
•
Use unique names within each ser of symbols. For instance, the diagram in
Figure 5-10 shows on ly one enrity named STUDENT and only one data flow
named FINAL GRADE. Whenever the entity STUDENT appears on any other
DFD in the grading S)'Stem, ir indicares that it is the same entity. Whenever the
FINAL GRADE data Aow appea rs, it indicates that ir is rhc same dara flow.
The naming convention also applies to data stores.
•
Do not cross lines. One way to achieve that goal is to rest rict t he number of
symbols in any DFD. On lower-level diagrams with multiple processes, there
should not be more than nine process symbols. Including more than nine symbols usually is a signa l that rhe diagram is too complex and that the ana lysis
should be reconsidered. Another way to avoid crossing lines is to duplicate an
entity or a data store. When duplicating a symbol on a diagram, make sure
to document rhc duplicarion to avoid possible confusion. A special notation,
such as an asterisk, nexr to rhe symbol name and inside rhe duplicated symbols
signifies that they are duplicared on the diagram.
FINAL
GRADE
SUBMITTED
WORK
STUDENT
RECORDS
SYSTEM
STUDENT
o...
CLASS
ROSTER
......
GRADED
~ WORK
GRADING
SYSTEM
process o
represents lhe
entire gred1ng sys1em
'
.
GRADING
PARAMETERS
'
unique reference
number for
each process
GRADE REPORT
INSTRUCTOR
FIGURE 5- 10 Context diagram DFD for a grading system.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter S
Data and Process Modeling
5.5 Drawing a Context Diagram
I 54
•
Provide a unique name and reference nlLmber for each process. Because it is the
highesr-levcl DFD, the contexr diagram concains process 0, which repre encs
the entire infonnacion sysrem, bur does not show the incernal workings. To
de~cribe the next level of detail ins ide process 0, create a DFD named diagram 0,
which will reveal additional processes thar must be named and numbered. As
lower-level DFDs are created, assign unique names and reference numbers to
all processes, until che logical model is completed.
•
Obtain as much user input and feedback as possible. TI1e main objective is to ensure
that the model is accurate, is easy co understand, and meets the needs of its users.
5.5
DRAWING A CONTEXT DIAGRAM
The first srep in constructing a set of DFDs is co draw a context diagram. A context
diagram is a rop-level view of an information system that shows the sysrem's boundaries
and scope. To draw a context diagram, stare by placing a single process symbol in rhe
center of the page. Tbe symbol repres·ents the entire information system, and ir is identified as process 0 (the numeral zero, and nor tbe letter 0). Then place the S)•Stcm entiries
around the perimeter of the page and use data flows to connect the enriries to the central process. Data stores are not shown in the concext diagram because they arc contained within the system and remain hidden until more detailed diagrams are created.
To determine which entities and data flows to place in the context diagram, begin
by reviewing the system requirements to identify a U external data sources and desti·
nations. During that process, identify the entities, the name and content of rhe data
flows, and the direcrion of the data flows. If that is done carefully, and rhe job of
fact-finding was done well in the previous stage, drawing the context diagram should
be relatively easy. !'\ow review the following context diagram examples.
EXAMPLE: CONTEXT DIAGRAM FORA GRADING SYSTEM: The context diagram
for a grading ~ystem is shown in Figure 5- 10. The GRADING SY TEM process is at
the center of the diagram. The three entities (STUDE 'T RECORDS SYSTE~1, STUDE :T, and INSTRUCTOR) are placed around the central process. lnreracrion among
rhe cencral process and the entities involves six different data flows. The TUDENT
RECORDS SYSTEM entity supplies dara through rhe CLASS ROSTER daca flow
and receives darn chrough che flNAL GRADE daca flow. The STUDENT enciry supplies dara through the SUBMITTED WORK data flow and receives data through the
GRADED \VORK data flow. Finally, che INSTRUCTOR entiry supplies data through
rhe GRADING PARAMETERS data flow and receives daca through the GRADE
REPORT data flow.
EXAMPLE: CONTEXT DIAGRAM FORAN ORDER SYSTEM: The context diagram
for an order system is shown in Figure 5-11. Note chat the ORDER SYSTEM process
is at the center of the diagram and five entities surround the process. Three of the
entities, SALES REP, BANK, and ACCOUNTING , have single incoming data flows
for COMMISSION, BANK DEPOSIT, and CASH RECEIPTS ENTRY, respectively.
The WARE! IOUSE entity has one incoming data flow-PICKING LIST-char is,
a report chat shows the items ordered and their quantity, location, and sequence to
pick from the warehouse. T he WAREHOUSE entity has one outgoing data flow:
COtvl PLETED ORDER. Finally, the CUSTOMER entity has two outgoing data flows,
O RD ER and PAYMENT, and rwo incoming data flows, ORDER REJECT OTICE
and INVOICE.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
Phase 2
Systems A nalysis
155
S.6 Drawing a Diagram 0 DFD
ORDER
CUSTOMER
ORDER
PICKING
UST
WAREHOUSE
REJECT
NOTICE
INVOICE
0
PAYMENT
ORDER
SYSTEM
COMPLETED
ORDER
CASH
RECEIPTS
ENTRY
BANK
DEPOSIT
COMMISSION
SALES
REP
BANK
ACCOUNTING
FIGURE S· 11 C.:.nte>n diagram DFD for an order system.
The context diagram for the order system appears more complex than the grading
sy~cem becau1.e tt has two more entities and three more data flows. What makes one
~y~tcm more complex than another is the number of components, the number of levels,
and the degree of interaction among irs processes, entities, data stores, and data flows.
5.6
DRAWING A DIAGRAM
0
DFD
In the previous step, it was explained how a context diagram provides the most
general view of an information S)'Stem and contains a single process symbol, which is
like a black box. To show rhe derail inside the black box, a DFD diagram 0 is created.
Diagram 0 (the numeral zero, and not che letter 0 ) provides an overview of all the
components tha t interact to form the overall system. lt zooms in on the system and
shows major internal processes, dara flows, and data scores. Diagram 0 also repeats
the entities and data flows rhar appear in the context diagram. When the context diagram is expanded into DFD diagram 0, all the connections that flow into and out of
process 0 must he retained.
Figure 5- I 2 shows a
context diagram ar rhe top and diagram 0 beneath it. Note that diagram 0 is an
expansion of process 0. Also note chat the three same entities (STUDENT RECORDS
SYSTEt.1, STUDENT, and I STRUCTOR) and che same six data flows (FINAL
GRADE, CLASS ROSTER, SUBMITTED WORK, GRADED ~'ORK, GRADING
PARAMETERS, and GRADE REPO RT) appear in both diagram!>. In addition,
diagram 0 expands process 0 to reveal four internal processes, one data store, and
fi,·e additional data flows.
EXAMPLE: DIAGRAM 0 DFD FOR A GRADING SYSTEM:
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter S
Data and Process Modeling
5.6 Drawing a Diagram 0 DFD
156
Conlexl Diagram for Grading System
FINAL
G RADE
STUDENT
RECORDS
SYSTEM
SUBMITTED
WORK
STUDENT
0
GRADED
WORK
CLASS
ROSTER
GRADING
SYSTEM
•
GRADING
PARAMETERS
GRADE
REPORT
INSTRUCTOR
Diagram 0 for Grading Syslem
3
2
STUDENT
RECORDS
SYSTEM
STUDENT
GRADE
ASSIGN
FINAL
GRADE
FINAL
GRADE
CLASS
ROSTER
GRADING
DETAIL
GRADE
STUDENT
WORK
SUBMITTED
WORK
GRAOED
WORK
1
ESTABLISH
GRADEBOOK
CLASS
GRADEBOOK
01
GRADEBOOK
STUDENT
I
CLASS
DETAIL
GRADING
PARAMETERS
4
INSTRUCTOR
GRADE
REPORT
PRODUCE
GRADE
REPORT
F IGURE 5- 12 Context diagram and d~gram 0 for the grading system.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f •,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
Phase 2
Systems A nalysis
157
S.6 Drawing a Diagram 0 DFD
Note that each process in diagram 0 has a reference number: ESTABLISH
GRADEBOOK is I, ASSIGN FlNAL GRADE is 2, GRADE STUDENT \X!ORK is
3, and PRODUCF GRADF REPORT is 4. These reference numbers are important
because the)' identify a cries of DFDs. If more detail were needed for ESTABLISH
GRADEBOOK, for example, a diagram 1 would be drawn, because ESTABLISH
GRADEBOOK is process 1.
The process numbers do nor suggest char the processes are accomplished in a
sequennal order. Each process always is considered ro be available, active, and awaiting data co be processed. If processes musr be performed in a specific sequence, the
information should be documented in the process descriptions (discussed later in this
chapter), nor in the DFD.
The FINAL GRADE data flow output from the ASSIG FINAL GRADE process
is a diverging data Aow that becomes an input to the STUDENT RECORDS SYSTEM entity and co the GRADEBOOK data store. A diverging data Aow is a data Aow
iu which the same data travels to rwo or more diHereot locations. l11 that situation, a
diverging data Aow is the best way ro show the flow rather than showing rwo identical data flows, which could be misleading.
If the same data flows in borb directions, a double-headed arrow can be used to
connect the symbols. To identify specific data flows into and out of a symbol, however, separate data Aow symbols with single arrowheads should be used. For example,
in Figure 5-12, the separate data flows (SUBMIITED WORK and GRADED WORK)
go into and out of rhe GRADE STUDENT WORK process.
Because diagram 0 is an exploded version of process 0, it shows considerably more
derail than the context diagram. Diagram 0 can also be referred ro as a partitioned
or decomposed view of process 0. When a DFD is exploded, t he higher-level diagram
is called the parent diagram and the lower-level diagram is referred to as the child
diagram. The grading system is simple enough that no additional DFDs arc needed
to model che syscem. At chat point, che four processes, the one data score, and the I 0
data Aow can be documented in the data dictionary.
\Xlhen a sec of Of'Ds is created for a system, the processing logic is broken down mto
smaller units, called functional primitives, which programmers will use co de\'elop code.
A functional prinuci"e is a process that consists of a single function rhat 1s not exploded
further. for e'<ample, each of the four processes shown in the lower portion of Figure
5-12 is :i functional prnninve. The logic for a functional primitive is documented by
wriong a proce!.s description in the data dictionary. Later, when the logical design is
implemented as a physical system, programmers wiJJ transform e:ich function:il primitive into program code and modules that carry our the required steps. Deciding whether
to explode a process further or determine that it is a functional primitive is a marcer of
experience, judgment, and inceraction with programmers who musL translaLe the logical
design imo code.
EXAMPLE: DIAGRAM 0 DFD FORAN ORDER SYSTEM: Figure
5-13 is the diagram
0 for an order system. Process 0 o n the order system's context diagram is exploded to
reveal three processes (FILL ORDER, CREATE INVOICE, and APPLY PAYMENT},
one data store (ACCOUNTS RECEIVABLE), two additional data flows (INVOICE
DETAIL and PAYMENT DETAIL), a nd one diverging data Aow (lNVOICE).
The following walk-through explains the DFD shown in Figure 5- 13:
L A CUSTOMER submits an ORDER. Depending on the processing logic, che
FILL ORDER process either sends an ORDER REJECT NOTlCE back to rhc
customer or sends a PICKING LIST to the WAREHOUSE.
.........""_.. ....-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,. .., ~..,._.. .............. ~..
__....
~~·~ --- - ·· · ---~~-.,.- " ~
...........
Chapter S
Data and Process Modeling
5.7 Drawing Lower-Level DFDs
158
2. A COMPLFTED ORDER from rhe \'V'AREHOUSE is inpur ro rhc CREATE
INVOICE process, which ourpurs an INVOICE ro borh rhe CUSTOMER
process and rhe ACCOUNTS RECEIVABLE dara store.
3. A CUST01'1ER makes a PAY1vl8'.T that is processed by APPLY PAYMENT.
APPLY PAYMENT requires INVOICE DETAIL input from rhe ACCOUNTS
RECEIVABLE dara store along with the PAY1'1ENT. APPLY PAYMENT also
ourpurs PAY1'1ENT DETAIL back to the ACCOill'.iS RECEIVABLE dara
store and ourpurs COMMlSSION ro the SALES DEPT, BANK DEPOSIT ro the
BANK, and CASH RECEIPTS ENTRY ro ACCOUNTING.
1
ORDER
PICKING
UST
FILL
ORDER
ORDER
REJECT
NOTICE
CUSTOMER
WAREHOUSE
2
CREATE
INVOICE
INVOICE
DI
ACCOUNTS
RECEIVABLE
INVOICE
DETAIL
PAYMENT
COMPLETED
ORDER
PAYMENT
DETAIL
3
APPLY
PAYMENT
COMM ,SSION
BANK
DEPOSIT
SALES
DEPT
BANK
CASH
RECEIPTS
ENTRY
ACCOUNTING
FI GUR E S- 13 Diagram 0 DfD for the order system.
The walk-through of diagram 0 iUustrates the basic requirements of the order
system. Examine the detailed description of each separate process to learn more.
S. 7
DRAWING LowER-LEVEL DFDs
This set of lower-level DFDs is based on the order system. To creace lower-level diagrams,
leveling and balancing techniques must be used. Leveling is rhe process of drawing a
series of increasingly detailed diagrams, until all functional primicives are identified.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
Phase 2
Systems A nalysis
159
S.7 Drawing Lower-Leve l DFDs
Balancing mainrains consistency among a set of DFDs by ensuring that input and output
dam flows align properly. Leveling and balancing are described in more derail in the following sections.
Leveling uses a series of increasingly derailed
DFDs to de&cnbe an information S)'stem. For example, a system might consist of
doi.ens, or even hundreds, of separate processes. Using leveling, an analyst scares
with an overall view, which is a context diagram with a single process symbol.
Next, the analyst creates diagram 0, which sho,vs more detail. The analyst contmues to create lower-level DFDs until all processes are identified as functional
primitives, which represent single processing functions. More complex systems
have more processes, and analysts must wor k through many levels to identify the functional primitives. Leveling also is called exploding , partitioning, or
decomposing.
Figures 5-13 and 5-1 4 provide an example of leveling. Figure 5-13 shows diagram
0 for an order system, with the FILL O RDER process labeled as process 1. Now
consider Figure 5 - 14, which p rovides an exploded view of the RLL O RDER process.
Note rhat FILL ORDER (process l ) actually cons ists of t hree processes: VERIFY
O RD ER (process 1. 1), PREPA RE REJECT NOTICE (process L.2), and ASSEMBLE
ORDER (process 1.3).
EX AMPLE: LE VELING EXAMPLES:
CUSTOMER
ORDER
REJECT
NOTICE
ORDER
1.1
I2
VERIFY
ORDER
PREPARE
REJECT
NOTICE
REJECTED
ORDER
PRODUCT
DETAIL
CREDIT
STATUS
ACCEPTED
ORDER
CREDIT
HISTORY
I
D2 CUSTOMERS
I
1.3
D3 PRODUCTS
PICKING
DETAIL
ASSEMBLE
ORDER
PICKING
LIST
WAREHOUSE
INVENTORY
CHANGE
FIGURE S- 14 Diigram I OFD shows details of the FILL ORDER process in the order system.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter S
Data and Process Modeling
5.7 Drawing Lower-Level DFDs
160
As Figure 5-14 shows, all processes are numbered using a decimal notation
consisting of the parent's reference number, a decimal point, and a sequence number
within the new diagram. In Figure 5-14, the parent process of diagram I 1 process I, so
the proces cs in diagram 1 have reference numbers of 1.1, 1.2, and I. 3. If process 1.3,
ASSE~I BLE ORDER, is decomposed further, then it would appear in diagram 1.3 and
the processe!> in diagram 1.3 would be numbered as 1.3.1, 1.3.2, I. 3.3, and so on.
This numbering technique makes it easy to integrate and idenrify all DFDs.
\'Qhen Figure 5- 13 and Figure 5-14 are compared, it is apparent that Figure 5-14
(the exploded FILL ORDER process) shows two data stores (CUSTOMER and
PRODUCTS) that do nor appear on Figure 5-13, which is rhe parent DFD. Why not?
Tiie answer is based on a simple rule: When drawing DFDs, a data store is shown
on ly when rwo or more processes use that data store. The CUSTOMER and PRODUCTS data stores were internal to rbe FILL ORDER process, so the analyst did not
show chem on diagram 0, which is the parent. When the FILL ORDER process is
exploded into a diagram 1 DFD, however, three processes ( l. J, 1.2, and 1.3) interacting with the two data stores are now shown.
Now compare Figure 5-14 and Figure 5-15. Note that Figure 5-15 shows the same
data flows as Figure 5-14 but does not sbow tbe CUSTOMER a nd WAREH OUSE
entities. Analysts often use this technique to simplify a DFD and reduce unnecessary
cluner. Because the missing symbols appear on the parent DFD, that diagram can be
used to identify rhc source or destination of rhe data flows.
•
ORDER
REJECT
NOTICE
ORDER
1 1
1.2
VERIFY
ORDER
PREPARE
REJECT
NOTICE
PRODUCT
DETAIL
REJECTED
ORDER
CREDIT
STATUS
ACCEPTED
ORDER
CREDIT
HISTORY
I
D2 CUSTOMERS
I
1.3
D3 PRODUCTS
PICKING
DETAIL
ASSEMBLE
ORDER
PICKING
UST
INVENTORY
CHANGE
FIGURE 5- 15 This diagram does not show the symbols that connect to data flows entering or leaving
FILL ORDER on the context diagram.
Balancing ensures that the input and output data flows
of the parent DFD are maintained on the chjld DFD. For example, Figure 5- 16 shows
two 0 1- D : The order S)•stem diagram 0 is shown at the cop of che figure, and the
exploded diagram 3 DFD is shown ac the bottom.
BALANCING EXAMPLES:
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
P hase 2
Systems A nalysis
161
S.7 Drawing Lower-Level DFDs
The rwo DFDs arc balanced because the child diagram at the bottom has the
same input and output Aows as rhe parent process 3 shown ar the top. To verify rhe
,
Order System Diagram O DFD
P<CKING
UST
ORlJEA
flil
ORDER
ORDER
REJECT
I
NOTICE
CUSTOMER
WAREHOUSE
2
COMPLETED
CREATE
INVOCE
INVOICE
II
D1 ACCOUNTS
RECEIVABLE
INVOICEf
DETAIL
.
.
--
PAYMENT
•
--
-
ll"YMENT
DETAIL
3
""
I
I
I
APF'\.Y
PAYMENT
' - -i!!AN!!' '
COMMISSION
CASH
RECEIPTS
ENTRY
DEPOSIT
SAlES
DEPT
!IANJ(
,-I
I
I
I
I
I
I
I
I
I
I
-
ACCOUl"1"NO
1NllOICE
Order System Diagram 3 DFD
CVSTOMER
I
ORDER
PAYMENT I
- - - - - - - ,,
I "'I
-'
DEll'&.
t
31
I
POST
I
PAYUENT
I
I
1
\
ID'
I
ACCOU'<TS
RECEIVAlll.E
I
I
PAYMENT
OET.tJL
- - - - - .. - - - ...
CUSTOt.IER
PAYMENT
OOMMISS ION
EARNED
tw1.Y
AAl'MENTS
DAILY
ACCOUNT1NG
PAYMENT
PAYMENT
32
H
33
I
I
PREPAA£
DEPOSIT
ACCOUNTING
PAYMENT
ENTRY
.. - 1BANK - ---- DEPOSIT
~
<.'Xst-1'"
ACCOIJNf,NG
BAM<
PAY
COMMISSION
-- - - -
RECEIPTS ENTRY
I
I
I
I
I
I
-
i ~:ss~ON
SALES
REP
FIGURE S- 16 The order system diagram 0 is shown at the top of the figure. and the exploded diagram 3 DFD
(for the APPLY PAYMENT process) is shown at the boaom.The two DFDs are balanced because the child diagram
at the bottom has the same Input and output flows as the p;arent process 3 shown at top.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter S
Data and Process Modeling
5.7 Drawing Low er-Level DFDs
162
balancing, note that the parent process 3, APPLY PAYMENT, has one incoming dara
flow from an external enriry and three outgoing data flows to external entities. Fxamine the child DFD, which is diagram 3. Ignore the internal data flows and count the
data flows co and from external entities. From the diagram, it is evident chat the three
processes maintain the same one incoming and three outgoing data flows as the parent process.
Another example of balancing is shown in Figures 5-17 and 5-18. l11e DFDs in
the e figures we re created using the Visible Analyst CASE tool.
Figure 5-17 shows a sample concext diagram. The process 0 symbol has cwo input
flows and two output flows. Note char process 0 can be considered as a black box
... .
•
EXTERNAL
ENTITY A
uo.c ..,. .... ,,"
I•
INPUT DATA
FLOW1
I
'T
1-.
-----.
OUTPUT DATA
FLOW 1
EXTERNAL
ENTITY C
1
I
I
I PROCESSO I OUTPUT DATA
INPUT DATA
FLOW2
.I
I
•
FLOW2
•
EXTERNAL
EXTERNAL
ENTITY B
ENTITY D
FIGURE 5- 17 Examples of a parent DFD diagram. showing process 0 as a black box.
t; .iJ ¥ lol
A I A -. :& J• I •
\ !:J-Q 'l.-"l"\ '- "T .l
•- wJ "~I -' •
•
I
------- ---------,
3
1
I INPUT DATA
EXTERNAL
ENTITY A
•
-
FLOW I
UT OATA I
I
FLOW I
PROCESS 1
PROCESS3
'
I
I
I
I
.
I
I
EXTERNAL
ENTITY 8
I
I
I
I
I
EXTERNAL
ENTITYC
INTERNAL
DATA
FLOW1
INTERNAL
DATA
FLOW2
los
1041 DATA STORE 1
INTERNAL
DATA
FLOW3
INPUT DATA
FLOW 2
I
I
I
I
DATA STORE 2
I
I
INTERNAL
DATA
FLOW4
I
2
OUTPUT DATA
FLOW 2
I
I
I
•
PROCESS2
I
' ----------~-----
EXTERNAL
ENTITY 0
I
I
FIGURE 5- 18 In the next level of detail. the process 0 black box reveals three processes, tw0 <ba scores, and
four internal data ffows---gll of which are shown inside the dashed line.
(....,..... J:gl( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
I
Phase 2
Systems Analysis
163
S.7 D raw ing Lo wer-Leve l DFDs
with no inrernal derail shown. In Figure 5-18, process 0 (che parent DFO) is exploded
inro rhe nexr level of detail. Now rhree processes, rwo dara scores, and four inrernal
dara Aows are visible. Note that the derails of process 0 are shown inside a dashed
line, 1ust as if the inside of the process was visible.
The DFDs in Figures 5- 17 and 5-18 are balanced because rhe four data flows into
and out of process 0 are maintained on the child DFD. The DFDs also are leveled
because each internal process 1s numbered co show that it is a child of the parent
process.
CASE IN POINT 5.1:
B1G TEN U N1VERs1n'
You are the IT director at Big Ten University.As part of a training program, you decide to draw
a DFD that includes some obvious mistakes to see whether your newly hired junior analysts
can find them.You came up with the diagram 0 DFD shown in Figure 5-19. Based on the rules
explained in this chapter, how many problems should the analysts find?
3
2
1
ASSIGN
AO\llSOR
STUDENT ID
N UMBER
TENTATIVE
SCHEDULE
MEET
WITH
AOlllSOR
CHECK
OPEN
CLASSES
FINAL
CLASS
SCHEDULE
INSTRUCTOR
CLASS
ROSTER
05 CLASS ROSTER
STUDENTS
ATTENDING
D6 SEATING C HART
SCH EDULE
OF OFFICE
HOURS
4
STUDENT
STUDENT ID
NUMBER
CALCULATE
GRADE
FINAL
GRADE
04 GRADES
FIGURE 5- 19 What are the mistakes in this diagram 0 DFD!
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
Chapter S
Data and Process Modeling
5.8 Data Dictionary
164
5.8
DATA DICTIONARY
A set of DFDs produces a logical model of the system, but the details within those
DFDs are documented separarely in a data dictionary, which is the second component
of stn1crurcd analysis.
A data dictionary, or data repository, is a ccnrral storehouse of information about
the system's data. An analyst uses rhe data dictionary to collect, document, and
organi1c specific facts about the system, including the contents of data flows, data
stores, entities, and processes. The data d ictionary also defines and describes all data
elements and meaningful combinarions of dara elements. A data clcmcnr, also called
a data item or field, is che smallest piece of dara that has meaning within an information system. Examples of data elements are student grade, salary, Social ccurity number, account balance, and company name. Dara e lements are combined into records,
also called daLa structures. A record is a meaningful combination of related data elements t hat is included in a data flow or ret:iined in a data score. For example, an auto
parts store inventory record might irnclude part number, description, su pplier code,
minimum and maximum stock levels, cost, a nd list price.
Significant relationships exist among the items in a data diction~iry. For example,
darn stores a nd data flows are based on data structures, which in rurn are composed
of data c lements. Data flows are connected to data s tores, entiLies, and processes.
Accurately documenting these relationships is essential so the data dictionary is consistent with the DFDs. The more complex the system, the more d ifficult it is co maintain fu ll and accurate documentation. Fortunately, modern CASE tools simplify the
task by flowing documentation automatically from the modeling diagrams into the
central repository, along with information entered by the user.
A CASE reposi tory ensures data consistency, which is especially imporranc where
multiple srsrems require the same data. In a large company, for example, the sales,
accounting, and shipping systems all might use a data element called CUSTOMER
NU.tvl BER. Once the CUSTOMER NUMBER element has been defined in the repository, other processes can access it, data flows, and data stores. The result is that all
sysrems across the enterprise can share data that is up to date and consistent.
5.8. 1 Documenting the Data Elements
Every dara element in the dara dictionary muse be documented. Some analysts like to
record their notes in o nline o r manual forms. Ochers prefer ro enter rhe information
directly inro a CASE rool. Irrespective of the specific CASE tool used, rhc objecrive is
the same: ro provide clear, comprehensive information about the data and processes
rhat make up the system.
Figure 5-20 shows a sample screen that illustrates how a data element representing
o SOCIAL SECURITY NU.tvl BER might be recorded in the Visible Analyst dara dictionary. Regardless of the terminology or method, the follow ing attrib utes usually arc
recorded and described in the data dictionary:
•
•
(....,..... J:gi( . . . . .
Data element name or label. The data element's standard name, which should
be meaningful to users.
Alias. Any name(s) other than the standard darn element name; this Jlternate
name is called an alias. For example, if there is a dat:i element named
CURR ENT BALANCE, various users might refer to it by alternate names such
as OUTSTANDING BALANCE, CUSTOMER BALANCE, RECEIVABLE
BALANCE, or AMOUNT OWED.
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
P hase 2
Systems A nalysis
165
S.8 Data Dictionary
• Type and length. Type refers ro
whether chc data element conrains
numeric, alphabetic, or character values. Length 1s the maximum number
of character~ for an alphabetic or a
character data element or the maximum number of digits and number
of decimal posirions for a numeric
data element. In addition to text and
numeric data, sounds and images
also can be stored in digital form.
In some systems, these binary data
objects are m:inaged and processed
just as traditional data clements are.
for example, an employee record
might include u digitized photo
image of the person.
•
i.w
Enbybpc
~
A!Us:
\/oJues &
~
Default 11al11c. The default value is the
value for the data clemenr if a value
Notes;
otherwise is not entered for it. For
example, all new cu~tomers might
have a default value of $500 for the
CREDIT LIMIT data element.
ISOCIAi. sicUltl'TY NUMlllJt
-
I of4
1-s.a..cySSH
:::===:::___
n
TJ!I<
lengsh:
Acc.--
O.twlt.-
!IN
None
Mf-"'9'1--
5oufCC
Sttun1y
Appl1c1tton rorm
Pl)"Oll dq>tnmonl
R"'f>O"sib~ \Ml".
PoyniH d~l
long Nome:
• Acceptable t•al11es. Spccificarion of
ArtOO!bi't objt<t llbfl an bt uP to 128 ctilrxt11s ID!lo. Jlld tllt Int c:IQ/xtt1 l'l\&St bt
the data element's domain, which is
• mtter.
the set of values permitted for rhe
data element. These values either can FIGURE S-20 A VlsibleA!Qlyst screen describes the data element named
be specifically listed or referenced
SOCIAL SECURITY NUMBER.
in a table or can be selected from a
-~.... - ,,.l
specified range of values. Also indicare if a value for the data element 1s optional.
Some data clements have additional validity rules. For example, an emplo)'cc's
salary musr he within the range defined for rhe employee's job classification.
• Source. The specification for the origination point for the data element's values.
The source could be a specific form, a depam11ent or an outside organization,
another information system, or rhe result of a calculation.
• Security. Identification for the individual or department that has access or
•
•
update privileges for each data clement. For example, only a credit manager
has the aurhority to change a credit limit, while sales reps are au thorized co
access dara in a read-only mode.
Responsible 11ser(s). Identification of the user(s} responsible for entering and
cha nging values for the data c lement.
Description and comments. This part of the documentation permits che entry
of addirional norcs.
S.8.2 Docume nting the Data Flows
In addirion to documenring each dara elcmenr, all data flows in the data dicrionary
must be documented. Alrhough terms can vary, the typical attribures arc as follows:
• Data flow 11ame or label. The data flow name as it appears on che DFDs.
• Description. Describes the data flow and irs purpose.
.........""_.. ....-.................
_..__
("..,_..., llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter S
Data and Process Modeling
166
5.8 Data Dictionary
•
•
•
•
•
Alternate name(s). Aliases for che DFD dara flow name(s).
Origin. The DFD beginning, or source, for che dara flow; the origin can be a
process, a dara score, or an entiry.
Destmation. The DFD ending poinc(s) for the dara flow; che destinarion can be
a process, a dara store, or an entiry.
Record. Each daca flow represents a group of related dara elements called a
record or data srrucrure. Ln mosc data dictionarie~. records are defined separately from the data flows and data scores. When records are defined, more
than one data flow or data store can use the same record, if necessary.
Volume and frequency. Describes the expected number of occurrences for che
data flow per unic of time. For example, if a company has 300 employees, a
T IME. CARD dara flow would involve 300 transactions and records each week
as employees submit their work hour darn.
5.8.3 Documenting the Data Stores
every DrD data srore in rhe data dicrionary must be documented. Figure 5-2 1 shows
che definition of a data score named l N STOCK. Typical characteristics of a darn store
a re as follows:
•
Data store name or label. The dara store name as it appears on the DFDs.
•
•
Description. Describes the data srore and its purpose.
Alternate name(s). Aliases for che DFD daca store name.
•
•
Attrib11tes. Standard DFD names that enter or leave che data score.
Volume and freq11e11cy. Describes the cscimaced number of records in the dara
store and how frequently they are updated.
I. This data Store has
an altemauve name.
or alias.
2. For consistency. data
flow names are stan·
dardlzed throughout
the data dictionary.
3. It Is important to
document these
enimates because
they will affect
design decisions In
subsequent SDLC
phases.
l
....
J
....
-..........
,........
......
FIGURE 5-21 A Visible Analyst screen that documents a data store
named IN STOCK.
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
P hase 2
Systems A nalysis
167
S.8 Data Dictionary
5.8.4 Documenting the Processes
Every proces<; mu t be documenred, as shown in Figure 5-22. The documentation includes
a description of the process's charaaeristics and, for functional primitive , a process
description, which is a model that documenrs the processing seeps and busme<;s logic.
The following are typical characteriscics of a process:
• Process name or label. The process name as it appears on the DFDs.
• DescrtfJ/1011. A brief <;tacement of the process's purpose.
• Process 1111mber. A reference number that identifies the process and indicates
relationships among various levels in the system.
•
Process description. This section includes the input and output data flows. For
functional primicives, the process description also documents the processing seeps
and bu~iness logic. The next section explains how co write process descriptions.
I . The process num·
ber identifies mis
process.Any subprocesses are numbered I. I, 1.2, 1.3,
and so on.
...,..r,,."""'
_ _ _ _ ___,
L'""'""""
°'8qlpl!Oft [
ftc.(tf'l tit •¥rt~.....,_ NMd tifl l · - W.......IN<t h•IWiWltf
1 '1--1+- ·• ·
2. These data flows
will be described
spcclflcally elsewhere in the data
"9cMc
~
rr,,. .,._, .._.
0...-4.lf.t.._
.. Cltttlll UAl\l!o MfJO!
~
UCllD<mll:~
"1 OflM
M.CllflOOlllllll
diccionary.
-[
--
,___, -..
....
--Qp
t-
·-·
...
A ""8111tor'f~-- oP'I . . te ' - l.a C!Wlet". . . . . . . . W'9 h
~.,.. M
FIGURE S-22 A Visible Analyst screen that descnbes a process named
VERIFY ORDER.
5.8.5 Documenting the Entities
By documenting all entities, the data dictionary can describe all external encities char
interact with rhe system. Typical characteristics of an entity include the following:
•
•
•
•
•
Entity 11a111e. The enricy name as it appears on the DFDs.
Description. Describe the entity and its purpose.
Alternate na111e(s). Any aliases for the entity name.
Input data flows. The standard DFD names for the input data flows co the entity.
Output data (10111s. The standard DFD names for the data flows leaving the entity.
5.8.6 Documenting the Records
A record is a daca srrucrure chac contains a set of related data elements that are stored
and processed together. Data flows and data stores consist of records that must
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~----···---~~-.,.-"~
...........
Chapter S
Data and Process Modeling
5.8 Data Dictionary
168
be documented in the data dictionary. Characteristics of each record
mu~t
also be
defin ed, as shown in Figure 5-23.
Typical characteristics of a record include the following:
•
Record or data structure name. The record name as it appears in the related
data flow and daca store entries in che data d ictionary.
•
•
De(i11itio11 or description. A brief definition of the record.
Alternate name(s). Any aliases for che record name.
•
Attributes. A list of all the daca elements, or fields, included in rhe record. The
dara elemenc names must march exactly those entered in the dara dicrionary.
o.....-
1.oc...... ......
EIU'.Dlt STAM
laMI
""'Y lYPI'
Oac.vP'IOftl
'"' J
I
.
Alflf\:
.......
,,,,
ill CUSTOMllt MJMll!l
!JI CUSlOMlll STATUS
Ch•
Attrlbults:
lftJ
l
C:witomtr (fedC d.tt•
......
....glh .....
Ch"
I. This data structure
is named CREDIT
STATUS.
2. The CREDIT
STATUS data
structure consists
ofcwo data
elements:
CUSTOMER
NUMBER and
CUSTOMER
STATUS CODE.
y
......
FIGURE S·ll A Visible Analyst screen that documents a record. or data
structure. named CREDIT STATUS.
5.8.7 Data Dictionary Re ports
The data dictionary serves as a central storehouse of documcnration for an informa·
rion sysrem. A data dictionary is created when rhe system is d eveloped and is updated
constantly as rhc system is implemen ted, operated, and maintained. In addition co
describing eac h daca clement, dara flow, dara store, record, emity, and process, the
darn dictionary documenrs the relationships among these components.
Many valuable reporrs can be obtained from a data dictionary, including the following:
•
An alphaberizcd list of all data elements by name
•
A report describing each daca element and indicaring the user or dcparrmenc
chat is responsible for daca entry, updaring, or delerion
A report of all data flows and daca stores char use a particular dara clcmenc
•
•
Detailed reports s howing all characteristics of data elements, records, dara
flows , processes, or any ocher selected item stored in the d ara dictio nary
~- )U,
-Woip-M ._..,..
r..a...w...,..._...., ..I_,.. 41 11.,.. .................,.t11ru
..
(....,..... J:gi( . . . . .
..,...,.......,..~
- ·~•-fllllie<'f •,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
__.~~c.....,..~
.........,..,. ..
._.,.,.,.......c:-..•~-".....-""'*"....,.._...,..
..
I'
I
P hase 2
Systems A nalysis
169
S.9 Process Description Tools in Modular Design
5. 9
PROCESS DESCRIPTION TOOLS IN MODULAR DESIGN
A process d e~cription documents the derails of a functional primitive and represents
a specific set of processing steps and business logic. When a functional primitive is
analyzed, the processing steps arc broken down into smaller unirs in a process called
modular design. Using a set of process description tools, a model is created chat is
accurate, complete, and concise. Typical process description tools include scrucrured
English, decision rabies, and decision crees.
5.9. 1 Process Descriptions in Object-Oriented Development
This chapter deals with srrucrured analysis, but the process descriptions can also he used
in object-oriented (0 -0) development, which is described in Chapter 6. As explained in
Chapter I, 0 -0 analysis combines data and the processes that acr on the data into things
called objects, and similar objects can be grouped together into dasse~, and 0 -0 processc~
are called methods. Although 0-0 programmers use different rermi11ology, they create the
same ki11d of modul::ir coding structures, except
that the processes, or methods, are stored inside
the objecrs, rather than as separate components.
VERIFY
PRODUCT
CODE
5.9.2 Modula r Design
Modular design is based on combinations
of three logical structures, sometimes called
control structures, which serve as building
blocks for the process. E.ach logical strucrure
must have a single entry and exit point. The
three structures are called sequence, selection,
and iteration. A rectangle represents a step
or process, a diamond shape represents a
condition or decision, and the logic follows the
Imes in the direction indicated by the arrows.
-
FIGURE 5-2<4 Sequence structure.
YES
CALCULATE
OVERTIME
PAY
l. Sequence. The complerion of steps in
sequential order, one after another, as
shown in Figure 5-24. One or more of the
steps might represent a subprocess that
contains addirional logical strucrurcs.
2. Selection. The complerion of one of
two or more process steps based on
the resu lts of a res t or condirion. In
the example shown in Figure 5-25, the
sysrem rests the input, and if the hours
are greater than 40, ir performs the
CALCULATE OVERT IME PAY process.
NO
FIGURE S-25 Selection structure.
NO
3. Ite ration. The completion of a process
step thar is repeated until a specific condition changes, as shown in Figure 5-26.
An example of iteration is a process that
conrinues to print paychecks until it
reaches the end of the pa)•roll file. Iteration also is called looping.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
VERIFY
STOCK
LEVEL
VERIFY
PRICE
PRINT
PAYCHECK
YES
FIGURE 5-26
lte~tion
structUre.
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter S
Data and Process Modeling
5 .9 Process Description Too ls in Modular Design
170
Sequence, selection, and iteration structures can be combined in various ways to
de cri bc proces ing logic.
5.9.3 Structured English
Structured English is a subset of standard English that describes logical processes
clearly and accurately. \Xlhen using st rucrured English, be mindful of the following
gu1delt11es:
• Use only the three building
blocks of equence, selection, and
iteration.
....
&oorltP< --==-----~
~
f
•••'f"C<•~.,.... NW!lf9fll1 -dl1 ~Y1.,..,_,~, ~
I
• Use indentation for readability.
• Use a Ii mired vocabulary, including standard terms used in the dara
dictionary a nd specific words that
de cribe the processing rules.
........
"-'cOn«sll_.
111pt.1f Ml ..._.
~ ...._. fllfwll
,_. . M Ch
01U1U. C'-'0!1 STAlUl, H<OJC1 OOAl
llUCTlD°'°"MXlPTmOltCtl
OftOIJt
W CUSltWO!Sl~MCOOl •" """''~004'1. •
[I,.
o....- AC<CPTlOO«DU
OtC
+---1---1 Structured English
An example of srrucrured
English appears in Figure 5-27,
which shows the VERIFY ORDER
process that was illustrated earlier.
Note that the strucrured English
version documents the actual logic
char will be coded into the system. Srruccured English can help
process descriptions accurate and
understandable to users and system
developers.
FIGURE 5 . 27 The VERIFY ORDER process description includes logical rules and
Structured English might look
a structured English verst0n of the policy. Note the alignment and indentation of
familiar to programming srudenrs
the logic statements.
because it resembles p'eudocode,
which is used in program design.
Although the techniques are similar,
the primary purpose of structured Eaglisb is ro de~cribe the underlying business logic,
while programmers, who are concerned with coding, mainly use pseudocode as a
~horth::md notation for the actual code.
Following structured English ruJes ensures that process descriptions are underMandahle to users who must confirm that the process is correct, as well as to other
analysts a nd programmers wbo must design the information sy~rem from the
descriptio ns.
OV!pue '1•CttDOfl0.-l
statements
-
~--
°""' . . .
S.9.4 Decision Tables
A decision ta ble is a logical structure that shows every combination of conditions and
outcomes. Analysts often use dccisio11 tables to describe a process a nd ensure that
they have considered all possible situations. Decision rabies can be created using tools
such as M icrosofr PowerPoint, Word , or Excel.
If a process has a single condition, there only are
rwo possibilirie-;-yes or no. Either the condition is present or it is not, so there are only
two rules. For example, to trigger an overtime calculation, the process condition mighr
be: Are the hours greater than 40? If so, the calculation is made. Otherwise, it is not.
TABLES WITH ONE CONDITION:
~- )U,
- Woip-M ._..,..
r..a...w...,..._...., ..I_,.. 4 111.,.. .................,.t11ru
..
(....,..... J:gi( . . . . .
.., ...,...... .,..~
- ·~• -fllllie<'f• ,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~-- - t fta111&. ...-.~ ~ij
__. ~ ~c.....,..~
.........,..,. ..
._.,.,.,.......c:-.. • ~-" .....- ""'*"....,.._...,..
..
I'
I
Phase 2
Systems Analysis
I71
S.9 Process Description Tools in Modular Design
TABLES WITH TWO CONDITIONS: Suppose there is a need to create a decision rable
based on rhe VERIFY ORDER business process shown in Figure 5-28. When documcnring a process, it is importanr ro ensure char every possibility is listed. In chis example, rhc
process description contain~ two conditions: product srock sratus and cuscomer credit
srarus. If both conditions arc mer, rhc order is accepted. Otherwise che order 1s rejecred.
VERIFY ORDER Business Process with Two Conditions
• All order will be accepted only if the product is in stock and the customer's credit status 1s OK.
• All other orders will be rejected.
FIGURE 5-28 The VERIFY ORDER business process has two conditions. For an order to bi! accepted. the
product must be In stock and the customer must have an acceptable credit status.
After all the conditions and outcomes have been identified, rhe nexr step i~ to create a
decision tnhle simil:ir co the one shown in Figure 5-29. Nore that each condition has rwo
possible v:ilues, so the number of rules doub les each time another condition is added.
For example, one condition creates two rules, two ,conditions create four rules, three
conditions create eight ru les, and so on. In rhe two-condition example in Figure 5-29,
four pos~ibilities exist, bur Ruic I is the only combination that will accept :in order.
TABLES WITH THREE CONDITIONS: Suppose the company now decides rhar rhc
credit manager can waive the customer credit requirement, as shown in Figure 5-30.
Th:.ir creates a third condition, so there will be eight possible rules. The new decision
cable might resemble rhc one shown in Figure 5-31.
1.
Place the
l"i'----VERIFY ORDER Process
nameofthe ~
I
2
l
4
process ma
heading at
y
y
N
N
~ Credit status is OK
the top left.
y
y
\!,/---.
Product
1
s
in
stock
N
N
_.
2. Enter the
conditions
x
Accept order
under the
Reject order
x
x
heading. with
one condiFIGURE 5-2 9 Example or a simple decision table showing the processing logic or the VERIFY ORDER
tion per line.
process. To create the table. follow the four steps shown.
to represent
the customer
status and availability
or products.
3. Enter all potential
VERIFY ORDER Business Process with Three Conditions
combinations ofY/N
for the conditions.
• An order will be accepted only if the product is in stock and the customer's credit status is OK.
Each column rep• The credit manager can waive the credit status requirement.
resents a numbered
possibility called a
• All other orders will be rejected.
}--W
__
--@
x
rule.
4. Place an X on the
FI GURE 5 -30 A third condition has been added to the VERIFY ORDER business process. For an order to be
actJon entries area for accepted, the product must be in stock and the customer must have an accepable credit status. However. the
each rule to indicate
whether to accept or
reiect the order.
credit manager now has the authority to waive the credit saws requirements.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter S
Data and Process Modeling
5.9 Process Description Too ls in Modular Design
172
First, the Y-N patterns must be filled in, as shown in Figure 5-3 1. The best way
to assure that a ll combinations appear is rouse parterns like these. The first condition uses a pattern of Y-Y-Y-Y followed by -N-N-N, the second condition uses
a repeating Y-Y-1 -N pattern, and rhe pattern in the third condition is a series of
Y-N~.
VERIFY ORDER Process with Credit Waiver (initial ve rsion)
I
2
3
4
5
6
7
8
Credit saws is OK
Product is In stoek
Waiver from credit manager
y
y
y
y
y
y
y
N
N
N
y
y
y
y
N
N
N
N
N
N
y
N
N
N
Accept order
Re1ect order
x
x
x
x
x
x
x
x
FIGURE 5-l 1 This decision 1:1ble is based on the VERIFY ORDER conditions shown in Figure S-30. With
three conditions. there are eight possible combinations or rules.
The nexr seep is very important, regardless of the number of condirions. Each
numbered column, or ru le, represents a different set of conditions. The logic muse be
carefully analyzed and che outcome f or each r ule shown. Before going further, srudy
the cable in Figure 5-31 co be sure the logical outcome for each of the eight rules is
understood.
\Vhen all the ourcomes have beeo determined, the next step is ro simplify rhe rable.
ln a multi-condition cable, some rules might be duplicates, redundant, or unrealistic.
To simplify the table, follow rhese steps:
I. Stud> each combination of conditions and outcomes. \Xlhen there are rules with
three conditions, only one or two of chem may control the outcome, and the
ocher conditions simply do not matter.
2. If there are conditions that do not affect the outcome, mark them with dashes
(-) as shown in the first table in Figure 5-32.
3. Now combine and renumber the rules, as shown in the second table in
Figure 5-32.
Afrer following these steps, Rules 1 and 2 can be combined, because credit status
is OK in both ru les, so the waiver would not matter. Rules 3, 4, 7, and 8 also can be
combined because chc product is not in stock, so other conditions do noc matter. The
resulr is rhar instead of eight possibilities, only four logical rules concrol rhe Verify
Order process.
In addition co mu ltiple conditions, decision rabies can have
more t han rwo possible outcomes. For example, the sales promotion policy shown in
Figure 5-33 includes three conditions: Was the customer a preferred customer, did the
customer order $1,000 or mo re, a nd did the customer use our company charge card?
Based on these conditions, four possible actions can occur, as shown in the decision
table in Figure 5-34.
MULTIPLE OUTCOMES:
~- )U,
-Woip-M ._..,..
r..a...w...,..._...., ..I_,.. 41 11.,.. .................,.t11ru
..
(....,..... J:gi( . . . . .
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ ij
__.~~c.....,..~
.........,..,. ..
._.,.,.,.......c:-..•~-".....-""'*"....,.._...,..
..
I'
I
P hase 2
Systems A nalysis
173
S.9 Process D escription Tools in Mo d ular De sign
VERIFY ORDER Process with Credit Waiver (with rules marked for
combination)
Credit status 1s OK
Produet 1s in stock
Waiver from credit manager
I
2
y
y
y
y
Jt
Accept order
Re1ect order
3
.C
N
N
x
x
5
6
N
y
y
x
7
8
N
y
N
N
N
x
x
x
I . Because the
product is not in
stock. the other
conditions do not
matter.
2. Because the
other conditions
are met.the
waiver does not
matter.
VERIFY ORDER Process with C redit Waiver (after rule combination and
simplification)
3
.C
(PREVIO US S)
(PREVIOUS 6)
(COMSINES
PREVIOUS J, 4, 7,1)
N
y
N
N
x
x
I
2
(COMBI NES
PREVIOUS 1, l)
C redit staws Is O K
Produet is in stock
Waiver from credit manager
y
y
N
y
y
Accept order
Reject o rder
x
x
FIGURE S-3 2 In the first decision table.dashes have been added to indicate that a condition is not relevant. In
the second version of the decision table. rules have been combined following the steps shown below. Note that in
the final version. only four rules remain.These rules document the logic and will be transformed into program code
when the system is developed.
SALES PROMOTION POLICY - Holida y Season
• Preferred customers who order $1 .000 or more are entided t o a 5% discount and an
additional 5% discount rf they use our charge card.
• Preferred customers who do not order
S1,000 or more will
receive a $25 bonus coupon.
• All other customers w ill receive a $5 bonus coupon.
FIGURE S-33 A sales promotion policy with three conditions. Note that the first statement contains tw0
separate conditions: one for the 5% discount and another for the additional discount.
Sales Promotion Po licy (initial version)
Preferred customer
O rdered S 1,000 or more
Used our charge card
y
y
y
y
y
5% d iscount
Additional 5% discount
$25 bonus coupon
$5 bonus coupon
x
x
x
N
y
N
y
y
N
N
x
x
N
y
y
N
y
N
N
N
y
N
N
N
x
x
x
x
FIGURE S-34 This decision table 1s based on the sales promot ion policy in figure S-33.This 1s the 1n1t1al
version of the table before simplification.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- .............. . ,.. o-....._ ...... _ ... ,..,...,...,~..,._.. ........... ... ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter S
Data and Process Modeling
5 .9 Pr o c ess Descri ption Tools in Modul ar Design
174
As explained in rhe preceding section, most rabies can be simplified, and this one is no
exception. After studying rhe condirions and outcomes, the following becomes apparent:
•
•
In Ruic I, all three condirions are mer, so both 5% discounts apply.
In Ruic 2, a preferred customer orders $ 1,000 or more bur does not use our
charge card, so only one 5% discount applies.
• Rules 3 and 4 can be combined into a single rule. \Vhy? If preferred customers
do nor order $ 1,000 or more, it does not matter whether they use our charge
card-either way, they earn onJy a S25 bonus coupon. Therefore, Rules 3 and 4
really arc a single rule.
• Rules 5, 6, 7, and 8 also can be combined into a ~ingle rulc-hecause if rhe person is not a preferred customer, he or she can only receive a $5 hon us coupon,
and the other conditions simply do not matter. A da~h is inserted if a condition
is irrelevant, as shown in figUie 5-35.
If das hes are added for rules that are not relevant, the table should resemble the
one shown in Figu re 5-35. When the results are combined and simplified, only four
ru les rema in: Rule 1, Rule 2, Rule 3 (a combination of initial Rules 3 and 4), and
Ruic 4 (a combination of initial Ru les 5, 6, 7, and 8).
Sales Promotion Policy (final version)
I
2
3
4
5
6
7
8
Preferred customer
y
y
y
y
N
N
N
N
Ordered $1 ,000 or more
y
y
N
N
Used our charge card
y
N
5% disco unt
x
x
x
x
x
x
x
x
x
Additional 5% discount
$25 bonus coupon
$5 bonus coupon
FIGURE 5-lS In chis version of me decision table. dashes have been added to indicate chat a condition is not
relevant.As chis point. le appears mac several rules can be combined.
Decision tables ofren are rhe best way ro describe a complex set of conditions.
Many analysts use decision rabies because they are easy ro construct and unde rstand,
and programmers fi nd it easy to work from a decision table when developing code.
CASE IN POINT 5.2:
llocKSouD O u rn ITt:Rs (PART 1)
The marketing director at Rock Solid Outfitters, a medium-sized supplier of outdoor climbing and
camping gear; has asked the IT manager to develop a special web-based promotion. Rock Solid will
provide free shipping for any customer who either completes an online survey form or signs up
for the Rock Solid online newsletter.Additionally. if a customer completes the survey and signs up
for the newsletter, Rock Solid will provide a $ 10 merchandise credit for orders of $ I00 or more.
The IT manager has asked you co develop a decision table that will reflect the promotional rules
that a programmer will use.She wantS you ro show all possibilities, and then to simplify the results
to eliminate any combinations that would be unrealistic or redundant. How will you proceed!
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
I'
I
I
Phase 2
Systems Analysis
175
S.9 Process Descr iption Tools in Modular De sign
5.9.5 Decision Trees
A decision tree is a graphical represencarion of che conditions, actions, and rules
found in a decision table. Decision crees show the logic structure in a hori1ontal form
chat re embles a tree with the roots at the left and the branches to che right. Like
flowcharts, decision trees are useful ways to present the system to management. Decision trees and deci~ion tables provide the same results but in different forms. In many
s1ruanons, :i graphic 1s the most effective means of communication.
Figure 5-36 is based on the sales promotion policy shown in Figure 5-33. A decision tree is read from lefr to right, with the conditions along the various branches and
the actions at the for right. Because the example has two conditions with four resulting sets of actions, the example has four terminating branches at the righ t side of che
tree.
y
y
Ordered
$1 ,000 o r
more?
Preferred
customer?
Used our
charge card?
---
,---------<
Y
5% discount and
an additional 5%
discount
- - - 5% dlacount
N
' - - - - - - - - - - - - $25 bonus coupon
N
N'--------------------~
S5bonuscoupon
FIGURE 5-36 This decision tree example is based on the same Sales Promotion Policy shown 1n the decision
ables in Figures S-34 and S-35. Uke a decision table. a decision tree shows all combinations of conditions and
outcomes.The main difference is the graphical format. which some viewers may find easier to interpret.
\Xlhether co use a decision table or a decision tree often is a matter of personal
preference. A decision cable might be a better way ro handle complex combination~
of conditions. On the other hand, a decision tree is an effective way to describe a relatively simple process.
CASE IN PO INT 5.3:
RocK Souo
0ITTFITIFRS (PART
2)
The IT manager at Rock Solid Outfitters thinks you did a good job on the decision table task
she assigned to you. Now she wants you to use the same data to develop a decision tree that
will show all the possibilities for the web-based promotion described in Part I of the case. She
also wants you to discuss the pros and cons of decision tables versus decision trees. How shall
you proceed this time!
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Chapter S
Data and Process Modeling
5.10 Summary
176
This is your first week in your new job at Safety Zone , a leading producer of IT modeling
software.Your prio r experience with a. smaller competitor gave you an edge in landing the
job, and you are excited about jo ining a larger company in the same field.
So far, all is going well, and you are getting used to the new routine. However. you are
concerned abo ut o ne issue. In your initial meeting with the IT manager. she seemed very
interested in the details of your prior position, and some of her questions made you a little
uncomfortable. She did not actually ask you to reveal any proprietary information, but she
made it clear that Safety Zone likes to know as much as possible abo ut its competitors.
Thinking about it some more, you try to draw a line between information that is OK to
discuss and topics such as software specifics or strategy that should be co nsidered private.
This is the first time you have ever been in a situation like this. How will you handle !ti
S. I 0
SUMMARY
Structured analysis tools can be used to develop a logical model during one systems
analysis phase and a physical model during the systems design phase. Many analyses
use a four-model approach, which involves a physical model of the current system, a
logical model of the current system, a logical model of the new system, and a physical
model of the new system.
During data and process modeling, a systems analyst develops graphical models
to show how the system transforms data into useful information. The end product of
data and process modeling is a logical model that wilJ support business operations
and meet user needs. Dara and process modeling involves three main tools: DFDs, a
data dictionary, and process descriptions.
DFDs graphically show the movement and rransformarion of data in the information sy rem. DFDs use four symbols: The process symbol transform data, the data
flow symbol shows data movement, che data store symbol shows dara ar resr, and the
external entity S)'mbol represents someone or something connected ro the information
system. Various rules and techniques are used to name, number, arrange, and annotate
the ~et of DFDs to make them consistent and understandable.
A set of DFDs is like a pyramid \Vith the context diagram at the top. The context
diagram represents the information system's scope and its external connections bur not
its inremal workings. Diagram 0 displays the information syscem's major processes,
darn stores, and dam flows and is the exploded version of the context diagram's process symbol, which represents the entire information system. Lower-level DFDs show
additiona l detail of t he information s,ystem through t he leveling technique of numbering :1nd partitioning. Leveling continues until the functional primitive processes arc
reached, which are nor decomposed further and are documented with process descriptions. All diagrams must be balanced to ensure their consistency and accuracy.
l11c data dictionary is the central documentation tool for structured analysis. All data
elements, data flows, data stores, processes, entities, and records are docwnentcd in the data
dictionary. Consolidating documentation in one location allows the analyst to verify the information sysrcm's accuracy and consistency more easily and generate a variety of useful reporcs.
Each functional primitive process is documented using structured English, decision
tables, and decision trees. Structured English uses a subset of standard English that
defines each process with combinacions of the basic building blocks of sequence, sclecnon, and iteration. Using decision tables or decision trees can also document the logic.
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
I'
I
I
Phase 2
Systems Analysis
177
Key Terms
Key Terms
alias A term used m various Jara d1cttonaries 10 indicate an altemare name, or J name other than rhe
;,randard Jar.1 dcmem name, rhar 1s used co de.cribe the same data element.
balanunit A pr<><.c:-.\ u>ed to mam1.1m .:on~1scency among an enrire seri~ of dfagram•., mdudin11 mpu1
and output data Omn, Jara definmon, and pr0<.-e-;s dc::>cripuon~.
blad. ho' t\ metaphor for a proce>\ or an acrion that produces rc~ult~ an a non-rran\parcnt or nonoh-crvahle manner. In OFO~. a proce<.~ appears as a black box where che inpul', output\, and general
function of the prcx:C\~ arc known, bur rhe underlying demi ls are not ~hown.
black hole A process rhar has no output.
business logK Rules 10 derermme how a system handles data and produces useful informauon, rcflecnng
the operanonal rcqu1remenrs of rhe bustness. E..xamples include adding the proper amo•tnt of sales tJll.
to invoices, calcul.111ng customer balances and fmance charges, and deternunmg wherher a customer
is eligible for ,1 volum~-bascd discount. Also called business rules.
bu"n''" rule, Sec hminc\\ lo111c.
child diagrnm The lower-level diagram in an exploded DFD.
context diagram A rop-lcvcl view of an informarion system that shows the bound<lrics ond
~cope.
conrrol ~trucrurc ~crvc as bui lding blocks for a process. Conrrol structures have one entry ond cxir
point. '1 be) may be completed m sequential order, as the resulr of a rest or condmon, or repe.ncd until
J >pec1fic condmon ch.111ges. Also c.alled logic.ii structure.
data Jiu1onal') A ~c:nrral \torc:hou'c: of information about a >Y>tc:m'> data.
dara cli:mcnr 1\ ''"Jllc <:haracttri~c11: or fau ahout an cntil)-. A data clcrnc:m, fidd, or arrributt" the
'malle>t pic.:t of data that ha• meaning within an information sy,tcm. For example, a 'KK:1al Security
number or companr name could be example~ of a daca element. Alo;o called data item.
data Oo" A path for data to mo•e from ooe part of the informarion S) stem to a nor her.
data Oo" diagram !DfD) Diagram rhar shows how the S)"Stem scores, processes, and rraosforms dara
11110 useful informauon.
cilia item Sci! datJ dc:mc:nt.
Jar.a rc:po\llOI') t\ wmhol u>ed 111 DFO, to reprl!l>cllt a siruarion in which a s)stem mu\t rc:1a111 data
becau;,e cme or more prcK:~'-<"\ nc:c:d 10 use rhat stored data at a later time. u,c:d inrerchan11~hly wnh
the term dat.1 'tore.
data nore Su data rcposllOI) .
dara 'itructurc A m~anmgful comhmar1on of related data element<> rhar are included 111 a data flow or
retained ma data siorc. A frame\\ Ork for organizing and storing data.
dcci\ion table A ta hie char shows a logical structure, with all possible comhmatiom of condi11011\ and
re~u h ing acnon\.
dcl:i,ion rrcc A graphical rcprc;,c111,11ion of rhc cond itions, actions, and rule> found in
;1
dcci,ion 1:1blc.
decompo~in11 Anorher w:1y of conveying a process or >ysrem char has been broken down from .1 genera l,
top-level view 10 more dct.1i l. 1 he rerms exploded and part1tio11ed also can be used.
dia11mm 0 A diagr.1111 dcpic1111g rhc fir~r level of derail below the mirial conrext diagram. Diagram 0
(lcroJ 7.ooms rn on rhe context diagram and shows rna1or processes. darn flows, and d(l(a \tores, as
well as repeating che external enricies and data flows thac appear in the context diJgram.
di•crgmg dara flow A darn flow in which che same dam rra\"els co rwo or more different locarions.
domain The set ot value<; pcrmmcd for a d:na elemenc.
enut• A person, a pla1.:e, J rhmg, or an evem for which dara is collecred and m.110t;11ned. !'or example. an
ouhne >JI~ >»tcm mJ) mdude enm1~ n:tmed CUST0~1ER. ORDER, PRODUCT. .ind SUPPLIER.
explodtnit A J1agr;im 1s s.~td to be exploded 1i 11 "drills down" ro a more derailed or expanded view
~ JD» (".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_ ._.... ~~
...
. ..............
_ .... ~---11rt~
-,..~---~ ~
.... . _
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Chapter 5
Data and Process Modeling
Key Terms
178
field A ~mgle char.1crens11c or fact abour an enriry. A field, or anribuce, 1s 1hc ~m.iUest pie.:c of d.11a th:u
h.i; mumng wuhm an rnformation system. For example. a Social S«ut1t} numlx:r or company name
could!)( e~amples of a field. The rerms data eleme11t, data item, .ind field are used m1crchangeably.
four-moJd approach A ph)">ical model of the currenr system, a logu:al moJd of thc L-UITtnt \)\!em, a
loi;1cal model of rhe new S)-.rem, and a physical model of rhe new >y>tcm are all developed.
funuional pnm1tl\e A >mgle function char 1s nor exploded furrher. The logi~ for fun~t1onal prumrive' is
J0<;umcntcJ m a J~ta dictionary proct'.Ss description.
Gane and Sarson A popular symbol sec used in DFDs. Processes, data flows, dat.l scores, and exrernal
enrmcs all have a unique symbol.
gr:iy hole A process with an lllput obviously insufficient to geuerare the shown output.
i1cr.11ioo The complenon of a process step chat is repeated unttl a spectfic condiuon changes.
lcvdin11 The prt>ec" of drawinµ a scrie- of increasingly detailed diai:ram~ to rcai:h 1hc dc,ircJ IL-vd of detail.
logical model Shows what a S)n;rcm mu>r do, regardle's of how it will be implemented phy,ically.
logica l s1ruccure See cooirol scruccure.
looping Refers ro a process step that is repeated until a specific condition ch.1nges. !·or example. a
process that continues ro prmr paychecks unul 11 reaches the end of the payroll file 1s loopin11. Also
known .is rcpem1on.
modular design A design that can be broken do\\n inro logical blocks. Also known as partitioning or
1op·dow11 design.
p.arcnt Jiai.:ram The hi11hcr or more !Op-kvd dia11ram in an exploded DFD.
panitionini: The brcakini: down of overall objective• into •uh..y•rcm' and mudulc•.
ph) ~ical model A model chat describes how a system will be consrructed.
proccS> Procedure or ta.k that users, managers, md JT scaff members perfom1. Aho, the logic.11 rules of
.i S)Stcm chat are .ipplted ro rrmsform data mto mea.rungful utform.iuon. ln l)l l)s, a process receives
tnput d.11a and produces ourput that bas a ctiHerenr content. form, or both.
proccs~ 0 In a DfD, process 0 (zero) represenrs the entire infom1.ition sy:;rcm but does nm sho" the
internal workings.
pnK~" d~~-rtption A dcxumenrarion of a functional prnn1rivc':; detail;, whkh repre\Cnh a '>pc:~1fic.: sec of
prt><:c:<>,mg >rep\ and bu.,mcss logic.
p'cudocodc A rechnique for rcpreseming program logic.
record A set of related fields that describes one instance, or member of an entif), such a~ one customer,
one order, or one product. A record mighr ha'e one or do£ens of field~. depending on \\h3c mformanon is needed. Also called a tuple.
~eleccion A control strucrure 111 modular design, it is rhe complenon of two or more proce~~ steps based
on rhc re~ults of :i test or condicion.
,cqucncc The completion of sreps in sequential order, one 3.fter :lllother.
\inl.. An cx tcrn,d entity chat receives daca from an informarion syMcm.
\nurcc An external cnriry rhat supplies data roan information system.
~pontancou~
generation An unexplained generation of data or information. With re~pccr ro DrDs,
proccs;es c:mnor spomaaeouslr generace data flows-they must have an inpur m have an oucput.
)trui;1ured [nglt>h A subser of standard English char describe> logical proccsse; dearly and JCCur3rel).
tcrmmalUr A D~D >ymbol that mdtcares a dara ongrn or final dc;rmarion. Al>o called an C'(tcrnal emit).
•altdtr) rule~ Chech thar are applied ro dara elemems when data is entered to ensure thar rhc value
entered is valid. For e..;ample, a validiry rule mighr require thar an employee·~ ~ala') numl>cr l>c wirnin
rhe cmplo)cr's predefined range for rhar position.
)ourdon A type of srmbol ser rhar 1s used in DFDs. Proccsse>, data flows, data stores, .ind exrcmal
cnriucs each have a unique symbol in rhe Yourdon srmbol set.
~ JD» (".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_ ._.... ~~
...
. .............
_ .... ~---11rt~
-,..~---~ ~
.... . _
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
I'
I
I
Phase 2
Systems Analysis
Exercises
179
Exercises
Questions
I. \Xlhar is rhe relationship bcrwccn logical and physical models ?
1. What is the function of a DFD in the SDLC?
3. Draw examples of rhe four basic DFD symbols.
4. \Xlhar are the six guidelines to follow when drawing DFDs?
5. What is rhe difference bcrween a conte"''t diagram and diagram O?
6. \Xlh1ch symbol is not used in a coarext dfagram?
7. I low would you level a DFD?
8. How would you balance a DFD?
9. What is a dat:i clement?
I 0. What is rhe purpose of a decision rab le?
Discussion Topics
I. How would you convince management char following a four-model approach is wise?
1. \'V'hen might it be :ippropriare co violate the "no crossed lines" guideline in DFDs?
3. \'<'hat is the relationship berween system requirements and context diagrams?
4. How might CASE cools be used to document rhe design of a data dicrion:iry?
5. Some systems analysts find it berrer to start with a decision table, and then construct a decision tree.
Others believe it is easier to do ir in the reverse order. Which do you prefer? Why?
Projects
1. The data flow symbols shown in Figure 5-1 were designed by Ed Yourdon, who was a well-known IT
author, lecrurer, and consulcant. t.1an)' IT professionals consider him to be among the most influenrial
men and women in rhe software field. Learn more about ~1r. Yourdon by visiting online resources and
write a brief re\•iew of his work.
2. Explore rhree CASE tools that provide the ability to dra\\ the four basic DFD symbols and describe
what you liked and disliked about each tool.
3. Draw :i context diagram and a diagram 0 D FD char represents the information system at a rypical
library.
4. Create a decision rable with three conditions. You can make one up or use a scenario from everyday
life. Eirher way, be sure co show all possible ourcomes.
5. Explore the use of Structured English to describe processes in fields other rhan systems analysis.
r..,,...JID)r-..1-.. 4• 11_.. • ...__. ~... . ... .,...~ • ........._ . ....._.,.,.. o-... ..,._.,,.,.. _ ..,.~ ,........., ................. .._... .., .,. ..,.~"
................... ..., ...................... .... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
Chapter 6
Object Modeling
Object Modeling
Chapter 6 is the third of the four chapters in the
systems analysis phase of the SDLC. This chapter
discusses object modeling techniques that analysts use to
create a logical model. In addition to structured analysis,
object-oriented analysis is another way to represent and
design an information system.
The chapter includes three "Case in Point"
discussion questions to help contextuali1e the concepts
described in the text. A "Question of Ethics" considers
the situation where an employee wants to skip a course
and just sit the exam and requests a copy of the training
materials from someone else who took the course.
LEARNING OBJECTIVES
CONTENTS
When you fi11is/J this chapter, yo11 should be
able to:
6. 1 Objecr·Orienrcd Analysis
1. Demonstrate how objccr-orientcd analysis can
be used to describe an informarion system
2. Explain whar an objecr represenrs in an informa·
tion sysrcm
3.
4.
5.
6.
Explain obiect artribures
Explain objecc mcrho<ls
Explain objccr messages
Explain classes
7. Explain
relarion~hips
among objccrs and classes
8. Draw an objecr relarionship diagram
9. Demonscrace use of the UML ro describe
objecr-oriented l.ystems, including use cases,
use case diagrams, class di:igrams, sequence
diagrams, scare transirion diagrams, activiry dia·
grams, and business process models
Case in Point 6.1: TravelBiz
6 .2 Objects
6.3 Attributes
6.4 ~lethods
6.5 ~lessages
6.6 Classes
6.7 Relationships Among Objecr~ and Classes
6 .8 The Unified Modeling Language (UML)
Case in Poinr 6.2: Hilltop Motors
Case in Poinr 6.3: Train rhe Trninerb, Inc.
6 .9 Tools
A Question of Ethics
6. 10 Summary
Key Terms
Exercises
lO. Explain how roob can bupporr object modeling
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
I'
I
I
Phase 2
Systems Analysis
181
6.2 Objects
6.1
OBJECT-ORIENTED ANALYSIS
As seated in Chapter I, rhe mosr popular systems development options are structured
analysis, object-oriented (0-0) anal)·sis, and agile methods. The table in Figure 1-17
shows rhe three alrernati,·es and describes some pros and cons for each approach. As
tbe rable indicares, 0-0 methodology is popular because it inregrares easily wirh 0-0
programming languages such as C++, Ja,·a, and Python. Programmers also ltke 0-0
code because it is modular, reusable, and easy to m aintain.
Object-oriented (0 -0 ) analy~is describes an information system by idenrifying
things called objects. An object represents a real person, place, event, or rransacrion.
For example, when a patient makes an appointment to sec a doctor, the patient is an
object, the doctor is an object, and the appoinanent itself is an object.
0-0 analysis is a popular approach that sees a system from the viewpoint of the objects
themselves as they function and interact. The end product of 0-0 analysis is an object
model, which represents the information system in rerms of objects and 0 -0 concepts.
Chapter 4 stated that the Unified Modeling Language (UML) is a widely used
method of vi~ua l izi n g and documenti ng an information system. ln this chapter, the
UML is used to develop object models. The first s tep is ro unde rstand basic 0 -0
terms, incl uding objects, attributes, methods, mes.sages, and classe~ . Th is chapter
shows how systems ana lysts use those te rms ro describe an information system.
CASE IN PO INT 6.1:
T RAVELBIZ
TravelBiz is a nationwide travel agency that speciali1.es in business traVel. It has decided to
expand into the vacation travel market by launching a new business division calledTravelFun. The
IT director assigned tw0 systems analysts to create a flexible and an efficient information system
for the new division. One analyst wants to use traditional analysis and modeling techniques for
the project, while the other analyst wants to use an 0-0 methodology. Which approach would
you suggest and why?
6.2
OBJECTS
An object represenrs a person, a place, an event, or a transaction that is significanr ro
the information ~ysrem. In Chapter 5, DFDs were created that treated data and processes separately. An object, however, includes data and the processes that affect that
data. For example, a c ustomer object has a name, an address, an account number, and
a current balance. Customer objects also can perform specific tasks, such as placing
an order, paying a bill, and changing their address.
Consider a simplistic example of how the UML might describe a famjJy wirh parents and children. UM L represenrs an o bject as a rectangle with the object name at
tbe cop, fo llowed by rhc object's attri butes and m ethods.
Figure 6- 1 shows a PARENT object ~vi th certain attributes such as name, age, sex,
and hair color. If there arc nvo parents, then there arc rwo instances of the PA RENT
object. T he PA RENT object can perform methods, such as reading a bedtime story,
driving the carpool van, or preparing a school lunch. When a PARE rT object receives
a message, it performs an acrion, or method.
For example, the message GOOD NIGHT from a child nught cell rhc PARENT
object to read a bedtime srory, while the message DRrYE from another parent signals
chat iris rhe PARF.NT object's turn co drive in the carpool.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Chapter 6
Object Modeling
6.2 Objects
182
PARENT Object
Attributes
Cllaracter.stlCS
that describe tile
PARENT object
Name
Age
Sex
Hair color
•a
Mary Smith
Age25
Female
Red
Ahmec:IAll
Age34
Male
Brown
...........
Task.s tllat the
PARENT objoct
can perform
Instances of
the PARENT Object
"ill
a1111112m ui.-.
AnthonyGrMna
Age 42
Mate
Brown
FIGURE 6 - 1 The PA RENT object has four attributes and two methods. Mary Smith, Ahmed All, and
Anthony Greene are Instances or the PAREN T •object.
Continuing with the fami ly example, che CHJLD object in Figure 6-2 posse ses che
same artrilrntes as the PARENT object and an additional arrribute thac shows the number of siblings. A CHllD object performs certain methods, such as picking up roys, eat·
ing dinner, playing, cooperating, and getting ready for bed. To signal the CHILD object
to perform those casks, a parent can send certain messages that rhe CHILD objecr will
undcrsrand. For example, rhe DINNER'S READY message cells a CHILD obiect to
come to the rable, while rhe SHARE \XfJTH YOUR BROTHER/SISTER message tells a
Cl ll LD object co cooperate wich other CHILD objects.
CHILD Object
CfSD
James Smltll
Age3
Attributes
Characteristics
Name
Age
Sex
Hair color
Number of slbllngs
that describe the
CHILD Object
Instances of
the CHILD Object
Male
Red
Amelia All
Age 1
Female
Brown
•...
-··
,..,
.........
tl?h•lfr
Tasks that the
CHILD objecl can
perform
MlatyGreene
Age t2
Female
Blonde
,
D
Ji
I
FIGURE 6 -2 The CHILD object has rive attributes and five methods. James Smith. Amelia A li. and
Mosty Greene are Instances or the CHILD object.
~- )U,
-Woip-M ._..,..
r..a...w...,..._...., ..I_,.. 41 11.,.. .................,.t11ru
..
(....,..... J:gi( . . . . .
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
.........,..,. ..
._.,.,.,.......c:-..•~-".....-""'*"....,.._...,..
..
I'
I
P hase 2
Systems A nalysis
183
6.5 Messages
6.3
ATTRIBUTES
An object has certain attributes, which are characteristics that describe the object. If
objects are similar to nouns, attributes are similar co adjectives that describe the characteristics of an object. For example, a car has attributes such as make, model, and
color. Some ob1ects might have a few attributes; ochers might have doz.ens.
Systems analysts define an object's attributes during the systems design proce~s. ln
an 0-0 system, ob1ecrs can inherit, or acquire, cercain attribuces from other objects.
Objects can have a specific attribute called a state. The state of an object i an
adjective that describes rhe object's current status. For example, depending on the
stare, a student can he a future srudenc, a current srudenr, or a past student. Similarly,
a bank account can be acrive, inactive, closed, or frozen.
6.4
METHODS
An object also has methods, which are rasks or functions that the object performs
when it receives a message, or command, to do so. For example, a car performs a
method called OPERATE WIPERS when it is sent a
message with the wiper conrrol, and it can APPLY
Method:
Steps:
BRAKES when it is sent a message by pressing the
MORE FRIES
t Heat oll
brake pedal. A method defines specific tasks that
2. All fry basket with frozen
:in object can perform. Ju~r ::is objects are similar co
potato strips
nouns ::ind ::irrribuces are similar to adjecrives, meThods
3. Lowe< basket Into hot oil
resemble verbs rhar describe what and how an object
does something.
4. Check for readiness
Consider a server who prepares fries in a fasc5. When ready, raise basket
and let drain
food re!.taurant. A systems analyst might describe the
operation as a method called r.10RE FRIES, as shown
6. Pour fries Into warming
lfllY
in Figure 6-3. The t.10 RE FRIES method includes the
steps required to heat the oil, fill the fry basket with
7. Add salt
frozen potato strips, lower it into the hot oil, check for
readines!>, remove che basket when ready and drain the
FIGURE 6-l The MORE FRIES method requires the
server to perform scvcn specific steps.
oil, pour the fries into a warming tray, and add salt.
6.5
MESSAGES
A message is ~1 command that tells an
object co perform a certain method. For
example, the message PfCK UP TOYS
directs rhe CHILD class to perform
all the necessary steps to pick up the
toys. The Cl llLD class understands the
message and executes the method.
The same message to rwo different
objects can produce different results.
The concept that a message gives
different meanings to different objects
is called pol>morphism. For example, in
Figure 6-4, the message GOOD NIGHT
signals the PARENT object to read a
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
Message: GOOD NIGHT
PARENT
DOG
CHILD
Causes Ille
PARENT oo,ect lo
read a bedlime SlQ(y
Causes the DOG
obJOCI to go ro sleep
Causes lhe CHILD
object ID gel ready
for bed
FIGURE 6-4 In an example or polymorphism. the message GOOD NIGHT
produces different results. depending on wtuch ob1en receives 1L
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 6
Object Modeling
6.6 Classes
184
bcdrime story, but the same message to rhe CHILD object signals it to get ready for bed.
If the family also had a DOG object, the same message would tell the dog to leep.
An object can be viewed as a black box, because a message to the object triggers
changes within the object without specifying how the changes must be carried our.
A gas pump is an example of a black box. \Vhen the economy grade 1s selected at a
pump, it is not neces ary to think about how the pump determines the correct price
and selects the righ t fuel, as long as ir does so properly.
The black box concept is an example of encapsulation, which means that all
daca and methods are self-contained. A black box docs not want or need outside
interference. By limiting access to internal processes, an ob1ccr prevents its internal
code from being altered by another object or process. Encapsularion allows objects
to be used as modular components anywhere in the system, because objects send and
receive messages but do not alter the internal methods of other objects.
0-0 designs typically arc implemented with 0-0 programming languages. A major
advantage of 0-0 designs is that systems analysts can save time and avoid errors by
using modular objects, and programmers can translate the designs into code, working with reusable program modules t ha t have been tested and verified. For example,
in Figure 6-5, an INSTRUCTOR object sends an ENTER GRADE message roan
instance of the STUDENT RECORD
Message:
class. Note that the INSTRUCTOR
ENTER GRADE
object and STUDENT RECORD class
STUDENT
could be reused, with minor modifiINSTRUCTOR
RECORD
cations, in ocher school information
systems where many of the attributes
FIGURE 6-5 In a school Information system. an INSTRUCTOR object sends an
and mcrhocls would be similar.
ENTER GRADE message to an instance ol the STUDENT RECORD class.
6.6
C LASSES
An objecr belongs to a group or category called a class. For example, Ford Fiestas
belong ro a class called CAR. An instance is a specific member of a class. A Toyota
Camry, for example, is an instance of the CAR class. Ar an auto dealership, many
insranccs of rhc CAR class may be observed: rhe TRUCK class, the ~11NIVAN class,
and the SPO RT lITlLITY VEHICLE class, among others.
All objccrs within a class share common attributes and methods, so a class is like
a blueprint or template for all tbe objects within tbe class. Objects within a class can
be grouped into subclasses, which arc more specific categories within a class. For
example, TRUCK objects represent a subclass within rhe VEHICLE class, along wirh
other subclasses called CA R, M INTVAN, and SCHOOL BUS, as shown in Figure 6-6.
Nore that a ll four subclasses share common traits of the VEHICLE class, such as
make, model, year, weight, and color. Each subclass also ca n possess traits that are
uncommon, such as a load lim it for the TRUCK or an emergency exit location for the
SCHOOL BUS.
A class can belong to a more general category called a supcrcla~s . For example, a
NOVEL class belongs co a s uperclass called BOOK, because all novels are books in
this example. T he NOVEL class can have subclasses called HARDCOVER, PAPERBACK, and DIGITAL.
Similarly, consider a fitness cenrer illusrrared in Figure 6-7 char might have
students, inst ructors, class schedules, and a regisrration process. As shown in
Figure 6-8, the EMPLOYEE class belongs to the PERSON superclass, because every
emplO)'Ce is a person, and the rNSTRUCTOR class is a subclass of EMPLOYEE.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
P hase 2
Systems A nalysis
185
6.6 Classes
Subclass
Class
Vlllat E
Attributes
Attributes
Make
Model
Yur
Weight
Color
Common
allnbulH
lmlYAN
....-.
Common
methOds
Attributes
Attributes
Uncommon
ottnbutes
Load limit
FIGURE 6-7 A typical flmess center might
have students. Instructors. class schedules, and a
registration process.
SI<> I 1!1,.,'Shttlr1 1
'""
SCHOOL BUS
Attributes
Uncommon
Emergeoncy e•il location
allttbutes
FIGURE 6-4 The VEHICLE dass includes common attributes and methods.
CAR. TRUCK. MINIVAN. and SCHOOL BUS are instances of the VEHICLE class.
Superclass
PERIOH
Supeictass
name
Class
Attributes
Name
Common
attnbu1os
--:r
Date of
birth
........
•11 ..
r:Com:::::mo=n'---,:A.111
methods
Class
name
Attributes
Subclass
Social Security number
Uncommon
attributes
...
Telephone number
Hire date
Title
Pay rate
Uncommon
methods
...
llJltiodl
Subelass
name
WllRUCIOR
Uncommon
attrlbutos
Attributes
lnatructor type
Avatlabillty
Giit....
7
0
0
•
Uncommon
methods
FIGURE 6-8 At the fitness center, the PERSON subclass includes common attributes and methods.
EMPLOYEE is a dass within the PERSON superclass. INSTRUCTOR is a subclass within the EMPLOYEE class.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~----···---~~-.,.-"~
...........
Chapter 6
Object Modeling
6.7 Re lationships Among Objects and Classes
186
6. 7
RELATIONSHIPS AMONG OBJECTS AND CLASSES
Relationships enable objects to communicate and interact as they perform business
functions and t ransactions required by the system. Relationships describe what
objects need to know about each other, how objects respond to changes in other
objects, and the effects of membership in classes, superclasses, and subclasses. Some
relationships arc stronger than others (jusr as a relations hip berween family members
is stronger than one between casual acquaintances). The strongest relationship is
called inheritance. Inheritance enables an object, called a child, to derive one or more
of its attributes from another object, called a parent. In t he example in Figure 6,9,
the INSTRUCTOR object (child) inherits many t raits from rhe FMPLOYEE object
(parent), including SOCIAL SECURITY NUMBER, TELEPHO E NUMBER, and
HIRE DATE. T he INSTRUCTOR object also can posses~ additional attribures, such
as TYPE Of I STRUCTO R. Because a ll employees sh:ue cercnin attributes, rhose
attributes are assumed through inheritance and do not need to be repeated in the
INSTRUCTOR object.
Inheritance
Child Inherits
Parent
•llWCIOR
Attributes
Attributes
So<:lal Security number
Telephone number
Hire date
Type ol lnslNCtor
So<:lal Security number
~:.,.._--h Telephone
Title
Pay rate
number
Hlredate _ J
Tiiie
Pay rate
....•••llOlllt
1lt
LS
CIAO 7 'ct 111'
FIGURE 6,9 An inheritance relationship exists between the INSTRUCTOR
and EMPLOYEE objecLS. The INSTRUCTOR (child) object Inherits characteristics
lrom che EMPLOYEE (parent) class. and can have additional attributes of Its own.
After objects, classes, and relationships have been identified, an object relation,
ship diagram can be prepared to provide an overview of the sy~tem. Thac model
is used as a guide to continue co develop additional diagrams and documenracion.
Figure 6, J 0 s hows an object relationship diagram for a fitne~s cencer. Note rhac che
model shows che objects and how they interact to perform business functions and
transactions.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
- Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
- ·~•-fllllie<'f •,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
P hase 2
Systems A nalysis
187
6.8 The Unified Modeling language (U ML)
EMPLOYEE
Isa
MANAGER
OFRCESTAFF
INSTRUCTOR
Indicates
RTNESS-CLASS
avallabillty
FITNESS-CLASS
SCHEDULE
Takes
roster
ST\JDENT
FIG URE 6 - 10 An object relationship diagram for a fitness center.
6.8 THE
UNIFIED MODELING LANGUAGE
(UML)
just as strucrnred analysis uses DFDs to model data and processes, systems analysts
use UM L co describe 0-0 ~yscems. Chapter 4 explained that UM L ts a popular
technique for documenting and modeling a system. UML uses a set of symbols to
represent graphically the various components and relationships within a system.
Although che UML can be used for business process modeling and requirements
modeling, it is mainly used to support 0-0 system analysis and to develop object
models.
6.8. 1 Use C ase Modeling
A use case represents the seeps in a specific business function or process. An external
entity, called an actor, initiates a use case by requesting the system to perform a
function or process. For example, in a medical office system, a PATIENT (actor) can
MAKE APPOINTMENT (use case), as shown in Figure 6-11.
Note that the UML symbol for a use case is an oval with a label that describes the
action or event. The actor is shown as a stick figure, with a
label that identifies the actor's role. The JiJJe from the actor
to the use case is called an association, because it links a
particular actor to a use case.
Use cases also can interact with other use cases. When
the outcome of one use case is incorporated by another use
case, we say that the second case ttses the first case. UM L
indicates the relationship with an arrow char points at rhe
MAKE APPOINTMENT
use case being used. Figure 6- 12 shows an example where a
(Use Case)
PATIENT
student adds a fitness class and PRODUCE FITNESS-CLASS
(Actor)
ROSTER uses the results of ADD FITNESS-CLASS to
FIG URE 6 - 11 In a medical office s11tem. a
generate a new fitnes.'>·clas.'> roster. Similarly, if an instructor
PATIENT (actor) can MAKE APPOINTMENT (use
changes hts or her availability, UPDATE TNSTRUCTOR
case). The UHL symbol for a use case is an oval.The
actor
is shown as a stick figure.
h FORMATIO 11ses the CHA GE AVAILABILITY
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 6
Object Modeling
6.8 The Unified Modeling Language (UML)
188
use case to update the
instructor's in formation.
To creare use cases, start
b)' reviewing rhe information that gathered during
the requirements modeling
<<U5eS>>
Produce Frtnes~lass
phase. The obrective is to
Add Rtness-Class
Student
Roster
identify the actors and the
functions or transactions
they initiate. For each use
case, develop a u~e case
description in the form of
a table. A use case description documents the name
<<USeS>>
of the use case, the actor, a
Change Avallablllty
Update lnslructor
description of the use case,
Instructor
ln1ormatlon
a step-by-step list of the
ra~ks and actions requi red
FIGURE 6- 12 When a student adds a class, PRODUCE FITNESS-CLASS ROSTER uses the
results of ADD FITNESS-CLASS to generate a new roster. When an instructor changes his or
for successfu l completion,
her availability, UPDATE INSTRUCTOR INFORMATION uses the CHANGE AVAILABILITY use
a description of alternative
case co update the Instructor's Information.
courses of action, preconditions, posrcondirions, and
assumptions. Figure 6-13 shows an example of the ADD NEW STUDENT use case
for the fitness center.
ADD NEW STUDENT Use Case
Name:
Add New Student
Actor:
Student/Manager
Add New Student
Description:
Describes the process used to add a student to a fitness-class
Successful
completion:
1. Manager checks FITNESS-CLASS SCHEDULE ob1ect for availabihty
2. Manager notifies student
3. Fitness-class is open and student pays fee
4. Manager registers student
Alternative:
1. Manager checks FITNESS-CLASS SCHEDULE object for availability
2. Fitness-class Is full
3. Manager notifies student
Precondition:
Postcondition:
Assumptions:
Student requests litn ess-class
Student is enrolled in fitness-class and fees have been paid
None
FIGURE 6- 13 The ADD NEW STUDENT use case description documents the process used to add a current
student into an existing dass at the fimess center.
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
I
Phase 2
Systems Analysis
6.8 The Unified Modeling Language (UML)
\'V'hen use cases arc idcnrified, al l rhe relaced cransacrions should be grouped inro a
single use case. For example, when a horcl customer reserves a room, rhe rescrvarion
S)'Srem blocks a room, updares rhe occupancy forecasr, and sends rhe cusromer a
confirmarion. Those cvcnrs are all part of a single use case called RE ERVE R00~'1,
and the specific acrions are ~tep-by-srep casks within the use case.
6.8 .2 Use Case Diagrams
A u~e ca~e diagram is a visual summary of several related use case!. w1chm a sy~tem or
subs) stem. Consider a C) pica I au co service deparr:menc, as shown in Figure 6- 14. The
service department involves customers, service writers who prepare work orders and
invoices, and mechanics who perform che work. Figure 6-15 shows a possible use case
diagram for the auro service department.
FIGURE 6- 1'4 A cyplal auto service department might involve custome". service
write" who prepare work orde" and invoices. and mechanics who perform the wo/1(.
.
"
\'<'hen a use case diagram is crearcd, the first step is co ide11cify the sysrcm
boundary, which is represented by a recrangle. T he system boundary shows whar is
included in rhe system (inside che recrangle) and whar is nor included in rhe system
(outside the rectangle). After the system boundary is identified, use cases are placed
on the diagram, the actors arc added, and the relationships shown.
CASE IN PO INT 6.2:
H1u.;roP MoroRs
You were hired by Hilltop Motors as a consultant to help the company plan a new information
system. Hilltop is an old-line dealership, and the prior owner was slow to change. A new management team has taken over. and they are eager to develop a first-class system. Right now, you
are reviewing the service department. which is going through a major expansion. You decide to
create a model of the service department in the form of a use case diagram. The main actors
in the service operation are customers. service writers who prepare work orders and invoices,
and mechanics who perform the work. You are meeting with the management team tomorrow
morning. How would you create a draft of the diagram to present to them?
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
189
Chapter 6
Object Modeling
6.8 The Unified Modeling Language (UML)
190
Use Case Diagram: Auto Service Department
Requests
Writes
service
Update
Customer
Service
Writer
Update
Work
Schedule
Performs
work
Mechanic
Prepare
Invoice
FIGURE 6- 1S A use case diagram t o handle work at an auto service department.
6.8.3 Class Diagrams
A cl:u~ diagram shows the object classes and relationships involved in a use case. Like
a DFD, a class diagram is a logical model, which evolves into a physical model and
finally becomes a functioning information system. In ~rructurcd analysis, enritics, data
stores, and processes are transformed into data structures and program code. Similarly,
class diagrams evolve into code modules, daca objects, and other system components.
In a class diagram, each class appears as a recrangle, with the class name at the
top, followed by the class's attributes and method~. Lines &how relationships berween
classes and have labels identifying the action that relates the two classes. To create
a class diagram, review the use case and identify the classe~ that panicipate in the
underlying business process.
The class diagram also includes a concept called cardinal ity, which describes how
instances of one class relate to instarnces of another class. For example, an employee
might h:ive e:irned no vocation days or one vacation day or many vacation doys.
Similarly, an employee migh t have no spouse o r one spouse. Figure 6- 16 shows
v:irious UML notations and cardinaliity examples. Note char in Figure 6· 16, the first
column shows a UML notation symbol that identifies the relationship shown in the
second column. The third column provides a typical example of che relationship,
which is described in the last column. In the first row of the figure, the UML notation
0.. • identifies a zero or many relation. The example is thar an employee can have no
payroll deductions or many deductions.
Figure 6-17 shows a class diagram for a sales order use case. Note rhat the sales
office has one sales manager who can have anpvhere from zero to many sales reps.
Each sales rep can have anywhere from zero to many customers, but each customer
has only one sales rep.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
- Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
- ·~•-fllllie<'f •,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
I
Phase 2
Systems Analysis
I91
6.8 The U nified Modeling Language (UML)
UML
Notation
Nature of the
Rellltlonshlp
o. •
Zero or many
Employee
Payroll Deduction
1
0 .• 1
1
Zero or one
One end only one
Description
Example
Employee
I
Office Manager
H
H
H
0. •
One or many
Order
Spouse
An employee can have no spouse or
one spouse
Sales Office
An olfoce manager manages one and
only one olfice.
Item Ordered
One order can include one or many
items ordered
0 .. 1
1
t:
An employee can have no payroll
deductions or many deductiOns
1
t..•
FIGURE 6· 16 Examples of UML notations that Indicate the narnre o f che relationship betwee n instances of one class
and instances of another class.
Manages
1
S11h!s Manager
Attributes
Methods
Methods
1
1
Assigned
Manages
o..•
Attributes
Methods
Methods
Includes
1..-
Items Ordered
Attributes
Attributes
Methods
Methods
FIGURE 6-17 Class diagram for a sales order· use case (attributes and
methods omitted for clarity).
CASE IN POINT 6.3:
TRAIN THE TRAl:."JERS, INC.
Train the Tralner develops seminars and workshops for corporate training managers, who in tum
train their employees. Your job at Train the Trainer is to put together the actual training materials.
Right now, you are up against a deadline. The new object modeling seminar has a chapter on
cardinality. and the client wants you to come up with at least three more examples for each of
the four cardinality categories listed in Figure 6-1 6. The four categories are zero or many. zero or
one. one and on"t one. and one or many. Even though you are under pressure, you are detennined
to use examples that are realistic and familiar to the students. What examples will you submit/
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Chapter 6
Object Modeling
6.8 The Unified Modeling Language (UML)
192
6.8.4 Seque nce Diagrams
A ~cqu ence diagram is a dynamic model of a use case, ~howing the inreracrion among
classes during a specified rime period. A sequence diagram graphically documents
the use case hy showing che classes, r:he messages, and the riming of the messages.
Sequence diagrams include symbols that represent classes, lifelines, messages, and
focuses. These symbols are shown in Figure 6-18.
a,,112
Life line
Message 1
Focus
Focus
Message 2
I
I
I ~
Lifeline
I
I
I
I
I
*
FIGURE 6 -18 A sequence diagram with two cla.nes. Notice the X that
indicates the end or the Cl.ASS 2 lifeline. Also noace that each message is
represented by a line with a label that describes the me=ge, and that each
class has a focus that shows che penod when messages are sent or received.
C LASSES: A class is idcnrified by a rectangle with the name inside. Classes char send
or receive messages arc shown ar the top of the sequence diagram.
LIFELINES: A lifeline is identified by a dashed line. The lifeline represents the time
during which the object above iris able ro interact with the other objects in the use
case. An X marks the end of rhe lifcljne.
MESSAGES: A message is identified by a line showing direction that runs between
two objecrs. The label shows the name of the message and can include additional
information abour the contencs.
A focus is identified by a narrow vertical shape that covers the lifeline.
The focus indicates when au object sends or receives a message.
Figure 6-19 shows a sequence diagram for the ADD NEW STUDENT use case in
the fitness center example. Note that the vertical position of each message indicates
the riming of the message.
FOCUSES:
6.8.S State Transition Diagrams
Earlier in this chapter, it was explained that state refers to an object's current status.
A state rran ~it ion diagra m shows how an object changes from one scare co another,
depending on events that affect the object. AU possible states must be documented in
the state transition diagram, as shown in Figure 6-20. A bank account, for example,
could be opened as a NEW account, change co an ACTIVE or EXISTING account,
and eventually become a CLOSED or FOR:vtER account. Another possible stare for a
bank account could be FROZEN, if the account's assers are legally anached.
(....,..... J:gi ( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,...... .,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~--- t fta111&....-.~~ ij
__.~~ c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
P hase 2
Systems A nalysis
193
6.8 The Unified Modeling language (U ML)
Request
fitness-class
Focus
I
I
I
I
I
I
Check
I
I
I
I
I
I
Notify
I
I
I
I
I
I
Pay
Register
*
FIGURE 6- 19 The sequence diagram for the ADD NEW STUDENT use case.The use case
dcscripdon for ADD NEW STUDENT Is shown in Figure 6-13.
Bank closes account
Opens
account
Makes l1rst
deposit
Customer closes account
Act
Existing
Assets
attached
Frozen
FIGURE 6 -20 An example of a sate crans1don diagram for a bank account.
ln a state transition diagram, the states appear as rounded rectangles with the
stare names inside. The small circle ro rhe left is rhe initial stare or rhe point where
the object first interacts with rhe system. Reading from left ro right, the lines show
direction and describe the action or event that causes a transition from one state to
another. The circle at the right with a hollow border is the final state.
6.8.6 Activity Diagrams
An acti\ity diagram resembles a horizontal flowchart that shows rhe actions and
evenrs as they occur. Activity diagrams show the order in which rhe actions rake
place and identify the outcomes. Figure 6-21 shows an activity diagram for a cash
withdrawal ::it an ATM machine. Note that the customer initiates the activity by
inserting an ATM c::ird and requesting cash. Activity diagrams also can display
multiple use cases in the form of a grid, where classes a re shown as vertical bars and
actions appear as horizontal arrows.
Sequence diagrams, state transition diagrams, and activity diagrams are dynamic
modeling tools that can help a systems analyst understand how objects behave and
interact with the system.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 6
Object Modeling
6.8 The Unified Modeling Language (U ML)
194
Card is
Customer
accepted
Custom41r
enters PIN
Inserts
ATM card
PIN ts
accepted
Customer
requests
~sh
Sufficlenl funds available
ATM
ATM
provides
ltd Justs
balance
cash
Sufficient funds nol available
ATM
notifies
customer
FIGURE 6-2 1 An activity diagram $howing the a.ction$ and evcnrs Involved In wlLhdrawlng cash from an ATM.
6.8. 7 Business Process Mode ling
In addirion to sequence diagrams and acrivity diagran1s, business process modeling
(BPM) can be used to represent the people, events, and interaction in a system. BPM
initially was discussed in Chapter 4 as a requircmenc diagramming tool, bur ir can be
used anytime during tbe systems development process. BPM works well with object
modeling, because both methods focus on the actors and the way they behave.
There arc a number of cools supporting BPM. For example, on Windows, the
Bizagi N!odclcr rool supports business process modeling and simulation using the
standard BP:tvl notation. On the w1ac, Visual Paradigm supports the creation of BP.M
diagrams {and several other modeling notations). Figure 6-22 shows a sample BPM
for an online discussion cycle.
~
Tl·-·
0••.
l'M•WflftN
Ollcv.on
Nt .. , . . .
•
...........
u-- -i ,,__
,_
r ..a;. .
~__,.i o--
.....
....
...
•
•
~
1--M')
.... ' _
,.. 111.
1oc• . -.......... .
IYOu9" • • Of c•••
- ....
.....,_
....
..
c .,,..nc. c.. 1----"
.,__
FIGURE 6-22 A BPM for an online discussion cycle.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
- Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
- ·~• -fllllie<'f •,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---t fta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-.. • ~-".....-""'*"....,.._...,.. ..
I'
I
I
Phase 2
Systems Analysis
6.10 Summary
6.9 TOOLS
Object modeling requires many types of diagrams to represent the proposed
system. Creating the diagrams by hand is time consuming and tedious, so systems
analysts rely on tools to speed up the process and provide an overall framework for
documenting the system components. In addition, cools ensure consistenq' and provide common links so that once objects are described and used in one pare of the
design, they can be reused mulriple times without further effort.
There arc many CASE tools tailored to UML. Tools such as Visio are popular for
drawing UM L diagrams, but they lack semanrics: T hey are useful for creating visually
pleasing figu re , but they have no knowledge of the underlying artifacts. This means a
system~ analyst can create diagrams tha t appear co be correct but are in fact incorrect
when it comes to rhe rules of the UM L.
To overcome this shortcoming, proper systems modeling tools, such as Cameo
Systems Modeler or IBM's Rational product fami ly, are typically used. These rool
underlttand t he meaning of the diagrams they hel!P create, wh ich suggests it's difficult to create a UM L diagrnm that is syntactically incorrect. These tools al!.o provide
traceability, an importa nt feature in the SDLC tha t links design a rtifacts backward ro
requirements a nd fo rward to development a nd testing.
Your company sent several staff members for UML training by an outside vendor.
Everyone who attended the training received a copy of the instructor s materials. which
included study guides and sample exam questions and solutions.
After completing the training course, you are eligible to sit a certification exam. If you
pass the exam, you will be credentialed as a "UML Expert" by an independent agency. You
can parlay these credentials into a higher salary and boost your career.
A coworker who did not attend the training asks for a copy of the training materials.
He wants to take the exam without "wasting his time in class." Should you give him a
copy of the training materials1 If you do, how might this diminish your accomplishments?
If you don't. would you be hurting the team by not helping another member become more
knowledgeable about the UMU
6.10
SUMMARY
T his chapter introduced object modeling, which is a popular technique th::it
describes a system in terms of objects. O bjects represent real people, places, events,
and rransactions. Unlike structured a nal ysis, which treats da ta and processes
separately, objects include data and processes t hat can affec t the data. During the
i.mplemenrntion process, systems analysts and programmers transform objects into
program code modules that can be optimized, tested, and reused as often as necessary.
0-0 terms include arrributcs, methods, messages, and classes. Attributes arc
characteristics that describe the object. Methods a re tasks or functions that the object
performs when it receives a command co do so. O bjects can send messages, or commands, that require other objects to perform certain methods, or tasks. The concept
that a message gives different meanings to different objects is called polymorphism. An
object resembles a black box with encapsulated, or self-contained, data and methods.
r..,,...JID)r-..1-.. 4• 11_.. • ...__. ~... . ... .,...~ • ........._ . ....._.,.,.. o-... ..,._.,,.,.. _ ..,.~ ,........., ................. .._... .., .,. ..,.~"
................... ..., ...................... .... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
195
Chapter 6
Object Modeling
6.10 Summary
196
Classes include objects that have similar attributes, or characteristics. Individual
members of a class are called object instances. Objeccs within a class can be grouped
into s ubclas~es, which are more specific categories within the class. A class also can
belong to a more general category called a superclass.
Afrer identifying the objecrs, classes, and relationships, an object relationship diagram is prepared chat hows the objecrs and how chey interact co perform business
fun crions and cransacrions. The Strongest relationship between object~ is inheritance.
The UML is a widely used method of visualizing and documenting an information system. UML techniques include use cases, use case diagrams, class diagram~,
sequence diagrams, state transition d iagrams, and activity diagrams.
A use case describes a business situation initiated by an actor, who interacts with
the information system. Each use case represenrs a specific transaction, or scenario.
A use case diagram is a visual summary of related use cases within a S)'Stem or subsystem. A class diagram represents a detailed view of a single use case, showing the
classes that participate in the underlying business transaction, and the relationship
among class instances, which is called cardinality. A sequence diagram is a dynamic
model of a use case, showing the interaction among classes during a specified time
period. Sequence diagrams include lifelines, messages, and focuses. A sta te transition
diagra m shows how an object changes from one state to another, depending on events
that affect the object. An activity diagram resembles a horizontal flowchart that
shows accions and events as they occur in a system.
In addition co object models, business process modeling (BPM) can be used ro represenc the people, evencs, and interaction in a sysrem.
CASE tools provide an overall framework for system documentation. CASE cools
can speed up rhe development process, ensure consistency, and provide common links
that enable reuse during 0 -0 analysis.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
I
Phase 2
Systems Analysis
197
Key Terms
Key Terms
acti\lt) J1<lgram A diai,-ram rh<lr re-.emble!> a borizonral flowcbarr chat •how~ the acnon; and eveni- 3\
the) occur. Act,.lt) diagram; sho" the order in which acno11> rake place and idennf) the out~ome.
actor An external emit) wnh a spectfic role. In a use case model. actors are used to model mtcran1on
with the system.
aunbutc A sm1dc char.icrensnc or fact about an ennty. An annbuce, or field, 1s the smallest p1«e of d.ua
that has meaning wnhm an informanon srstcm. For example, a Social Security number or company
o.ime could be examples of an anribute. In 0-0 analysis, ao attribure is parr of a d.t~s diagram that
describes the -.haractensuc, of ob1ccts in the class. Also kno" n as a data element.
black box A metaphor for a proces' or an action thar produces resulr; in a nun-tramparent or
non-ob,ervablc manner. In daca flow diagram,, a proces~ appears as a black bo" where chc input,,
output,, and 11cncral fonction of the procc\S arc known, but the undcrlyini; dcta1b arc nor ,hown.
cardinal1C) A concept that dc•cribe< how m<tancc• of one entity rdarc to imtancc< of nnuthcr cnmy.
De,eribcd in cntiry· rcl arion~hip dinwams by notation chm indicates comhination~ that include 1ero or
onc· to· mnny, onc·lo-onc, and many-ro·mnny.
child ln i.11herit.1nce, J child is 1he object thar derives one or more arrribuces from another object, called
tbe parem.
cl.ISS
A cerm used 111 ob1ecc-or1e11red modelmg ro indic.1te a collection of snrul.ir ob1ec1s.
da,., dia11ra111 A detailed view of a ,inglc U'>c ca•c, ,howing rhc da,~ char parcicipatc in the U'>c ca'>C,
.md dc,.:umcnrini; rhc rclatinn•hip among rhc da<<es.
cncap,ulatoon The idea that all data and methods arc self-contained, as in a black bo"<.
focus In a sequence diagram, a focus md1carcs when an objecr sends or rec(wes a message. It 1s indicated
b) a narrow vertical rcctJngle thJt co,ers the lifeline.
iobcric.tncc At) pe of object relationslup. Inheritance enables an object to derive one or more of its
.i.tmbute~ from another objecc (t.g., an INSTRUCTOR object may lllhecit man) traus £rom che
L/\11'LOYll ob1ecr, such as hire dare).
in.,~n.:c
A ,pcc1fic member of a da>s.
lifeline In a \cqucn"c diagram, a lifeline 1s u..cd ro represent the time during which rhc ob1c<t above it i~
able to mrcract with rhc orhcr objccrs in rb<" u..c ca<e. An X marks rhc end of a hfchnc.
message An 0 -0 command thac cells an ob1ec:t ro perform a certain method.
mcchod Defines sp«1fic casks chac an object must perform. Describes what and how an obiccr does
something.
object RepreM:nt\ a real person, place, C\'ent. or transaction.
objecc model Dc~crihe~ oh1ecr~, which combine darn and processes. Object models are chc cnJ produce
of O·O ana lybb.
objecc-orienced (0 -0 ) anJly~i; Describes an lnformarion system by idenrifymg things called objects.
An ob1ect reprc,cnt~ a real per<oon, place, evenr, or cransacnon. 0-0 :tnalysis is .1 popular appro,tch
that sees a ~ystem from the viewpoinr of rhc objecrs themselves ,1s they function and interact w1rh 1he
system.
parent Ill i11herirnncc, n parent i~ the objecr from which the other object, the child, derives one or more
Jttnbucc>.
polymorphm11 The con~cpt chat a me...age gives different meanings ro diffcrcm ob1cc1s (e.g., a GOOD
NIGi IT message m1ghr produce different rcsulrs depending if it 1s received by a child or the family
dog).
rclatiomhip<> Enable objccr' to communicate and inreract a~ rhey perfonn rhe btmncs' funcnoM and
transaction; required by a syo;tcm. Relationships describe wbar objects need to kno\\ abouc each other,
~ JD» (".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_ ._.... ~~
...
. ..............
_ .... ~---11rt~
-,..~---~ ~
.... . _
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Chapter 6
Object Modeling
Key Terms
198
how ob1ec1s r~pond to changes in orher objecrs, and 1he effccrs of mcmbcnh1p m classes, superdasscs. Jnd subclasses.
~cqucncc
diagram A diagram rhat sho\\ s tht> timing of transactions bcrwcen ob1ccrs as 1he) occur.
\late An aJ1e~ri•e that de...:ribe; an oh1ecc's current scaru; (e.g., a ;rudmt could be a CURRENT,
rlITURF, or PAST ~1udenr).
•talc tr;m\ltmn J1a11ram !>how' how an oh1cct cbani:"-' from one \tat.: to another, depending on 1he
cvcnc- that affe<:t the object.
subclas\ A funhcr d1v1s1on of oh1ecrs m a class. Subclasses are more ~pccific categories w1rh1n a class.
superclass A more gener.1liicd category ro which objects may belong (e.g., a NOVEL cl.1ss might belong
10 J superclass called BOOK).
W\lcm boundary Shows wha1 is included and excluded from a >yMem. Depicted by n ,haded rccrangle
in u...: ca'c diagram>.
Unified M0Jdm1o: Lm11o:ua)lc (UML) A wicldy used method of vi,uali1.ing and documen1ini; >of1wnrc:
'Y'tcm' dc,ii;11. UM I u'c' 0-0 design concepts, but it;, independen t of ony 'Jl«cific rrui.1ra111mini;
lnni;nngc ond can he u~ccl m describe business processes and requirement' f;cncr:tlly.
use case Represents che s1eps in a specific business function or process in UML.
use c:t~c dc~criprion A dcscnprion in UML char documems the name of the use cJsc, 1he .1ctor, a
dcscrip1ion of the use case, a s1ep-by-srep lisc of the tJsks required for successful completion, and
01her key descnpnons and assumptions.
uw c;hc diai;r.:tm A vi,ual repre..enrarion chat illusrrare-. the interacuon between U'>e" anJ rhe
i11format1on 'l'rcm in UM!..
~JD»(".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_._....~~
...
...............
_ .... ~---11rt~
-,..~---~ ~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
I
Phase 2
Systems Analysis
Exercises
Exercises
Questions
I. Whar 1s 0-0 analysis?
1. Define an ob1ect in an information system and provide rhree examples.
3. Define an attribute and provide rhrcc examples.
4. Define a method and provide rhree examples.
5. Define e11caps11/atio11 and explain how ir is used in 0-0 analysis.
6. Define a class, subclass, and superclass and provide rhree examples of each.
7. Explain rhe concept of inherirance in object relationships.
8. Draw an object relationshi p diagram for a rypical library system.
9. Define a use case and a use case diagram and prepare a sample of each.
I 0. Why is ir imporranr co use a modeling rool a nd nor just a diagramming rool
during 0-0 analysi~?
Discussion Topics
I. You arc an IT consulranr, and you arc asked co create a new sysrem for a small
real esrarc brokerage firm. You have no experience with 0-0 approach, and you
decide co rry ir. How will you begin? How will the tasks differ from ~rrucrurcd
analysis?
1. Some professionals believe char ir is harder for experienced analy~rs ro learn
object-modeling rechniques, because the analysts are accustomed to thinking
abour data and processes as separate entities. Ochers believe that ~olid analytical
skills are easily transferable and do not see a problem in crossing over ro the
newer approach. Whar do you chink, and why?
3. The concept that rhe same message gives different meanings ro different ob1ects
is called polymorphism. Can you chink of examples where this behavior may
provide une'<pected results?
4. You arc crearing a sysrcm for a bowling alley to manage information about its
leagues. During rhe modeling process, you create a scare transition diagram for
an objecr called League Bowlers. \Xl'har are rhe possible scares of a league bowler,
and what happens to a bowler who quits rhe league and rejoins the following
season?
5. The UML is a large and complex modeling language. How can an IT profc~sional
tell when a UML diagram is correct and nor just visually plea~ing?
Projects
l. Contact the IT htaff ar your school or ar a local business to learn if they use 0-0
programming languages. lf so, determine what languages and versions are used,
how long they have been in use, and why they were selected.
2. Create a prcscnrnrion explaining 0-0 analysis, including definitions of basic
terms, including objects, attributes, methods, messages, and classes.
3. Draw an acriviry diagram showing rhe actions and evenrs involved in depositing
a check to a bank accounr using a mobile app.
4. Investigate business process modeling languages, such as BPEL.
5. Prepare a report on at lease three cools char provide UML support. Use the
tools' capah1liries for crearing class diagrams and sequence diagrams as a key
requ1remenr.
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
199
Chapter 7
Development Strategies
Development
Strategies
Cha pt e r 7 is the final chapter in the systems
analysis phase of the SDLC. The main objective of
the systems analysis phase is to build a logical model
of the new information system. Chapters 4, S, and 6
explained requirements modeling. data and process
modeling. and object modeling. Chapter 7 describes
the remaining activities In the systems analysis phase,
which include evaluation of alternative solutions,
preparation of the system requlremenu document,
and pre.s entation of the system requirementS
document to management. The chapter also explains
the transition to systems design.
The chapter includes three "Case in Point"
discussion questions to help contextualize the concepts
described in the text. The "Question of Ethics" concerns
how truthful an answer should be when submitting a
response to an RFP. Is a slight exaggeration acceptable if
it means the company will win the contract!
LEARNING OBJECTIVES
W/Jen you finish tbis chapter, you sl101tld be able
to:
CONTENTS
l. Explain the differences between traditional and
web-based S)Stems development
2. Explain how Web 2.0, cloud computing, and
mobile devices may affect systems development
3. Explain how to selecr one of the four in-house
:.oftware development options
4. Explain outsourcing
5. Explain the main advanrages and the unique
concerns of off:.hori ng
6. Describe rhe concept of Sofrware a~ a Service
7. Explain how a systems :rnalysr helps in selecting
a development strategy
8. Execute the five steps in the software acquisition
7. 1 Traditional Versus Web-Based Systems
Development
7.2 Evolving Trends
7.3 In-House Software Oevelopmenc Options
Case in Point 7 .1: Doug·s Sporting Goods
7 .4 Oursourcing
7 .5 Offshoring
Case in Point 7.2: Turnkey Services
7 .6 Software as a Service
7 .7 Selecting a Development Strategy
Case in Point 7.3: Sterling A~sociares
7.8 The Software Acquisition Process
7.9 Completion of Systems Ana lysis Tasks
A Question of Ethics
7.10 Summary
Key Terms
Exercises
process
9. Describe a requesr for proposal (RFP) and a
request for quotation (RFQ)
I 0. Summarize the rasks involved in completing the
sr stems analysis phase of rhe SDLC
r..,,...JID)r-..1-.. 4• 11_.. • ...__. ~....... .,...~ • ........._ . ....._.,.,.. o-... ..,._.,,.,.. _ ..,.~ ,........., ................. .._... .., .,. ..,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
Phase 2
Systems Analysis
201
7.1 Trad itional Versus Web-Based Systems Development
7.1
TRADITIONAL VERSUS Wee-BASED SYSTEMS DEVELOPMENT
]use a few years ago, a rypical company either developed software itself, purchased
a software package (which might need some modification), or hired consulcants or
outside resources to perform the work. Today, a company has many more choices for
software acquisition, including application service providers, web-hosted software
options, and firms that offer a variety of enterprise-\vide software solucions. This proliferarion of choices is due in part due to the enormous changes in business methods
and operarions made possible by the Internet.
A systems analyst must consider whether development will cake place in a rra·
ditional environment or in a web-centric framework. There are similarities and differences with both approaches. For example, in an Internet-based sy~tem, the web
become~ an inregral parr of the application, rather than jusr a communication channel, and systems analysts need new applicarion development tools and &olutions tO
handle the new systems.
Two represenrarive web-based development environmenrs are M icrosoft's .NET
and rhe open source MERN stack. Microsoft describes .NET as a developer platform for building and running a variety of applica tion types written in C# and
Visual Basic, including web-based, mobile, and traditional deskrop applications.
The acronym M ERN srands for MongoDB, Express, React, and Node. MERN
is used to develop universal applications in JavaScript. MongoDB is a darabase,
and Express, React, and Node arc libraries or frameworks used for full -srack web
development.
Although cherc is a major trend toward web-based architecture, many firms rely
on traditional systems, either because they arc using legacy applications that arc not
easily replaced, or because they do not require a web component to satisl) user needs.
To choose berween traditional and web-based development. consider some key differences between them. Building the application in a web-based environment can offer
greater benefits (and sometimes greater risks) when compared to a traditional environment. The following sections list some characteristics of traditional versus webbased development.
7. 1. 1 Traditional D evelopment In a t.radit.ional systems development.
environment.
•
•
•
•
•
•
•
Compatibility issues, including existing hardware and software platforms and
legacy system requirements, influence systems design.
Systems arc designed to run on local and wide-area company networks.
Systems often utilize Internet links and resources, but web-based featu res arc
treated as enhancemen ts rather than core elements of the design.
Development rypically follows one of three main paths: in-house development,
purchase of a boftware package with possible modific~Hion, or use of outside
consulta nts.
Scalability can be affected by network limitations and constraints.
Nlany applications require subsranrial desktop computing power and resources.
Security issues usually arc less complex than with web-based systems,
because the system operates on a private company network, rather than the
Internet.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"-> - "'Allf'W ~- .............. . ,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ........... ... ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 7
Development Strategies
7.2 Evolving Trends
202
7.1 .2 W eb-Based Development: In a web-based system s development
e nvironme nt
•
•
•
•
Systems arc developed and delivered in an Lncerncr-ba~d framework such as
.NET
lnrernet-bascd development rrears the web as rhe platform, rather than just a
communication channel.
Web-based systems are easily scalable and can run on multiple hardware
environments.
Large firms rend to deploy web-based sysrems as enterprise-wide software solutions for applications such as customer relationship management, order processing, and materials management.
•
Web-based software treats the software application as a service that is less
dependent on desktop computing power and resources.
•
When companies acquire web-based software as a service rather than a product
rhey purchase, they can limit in-house involvement and have rhe vendor insrall,
configure, and mainrain the system by paying agreed-upon fees.
•
Web-ba~ed
softwa re us ually requires additional layers, called midd leware, to
commun icate with existing software and legacy systems.
•
Web-based solutions open more complex security issues that should be addressed.
7.2
EVOLVING TRENDS
In the consrantly changing world of IT, no area is more dynamic than lnrerner rechnology. Three examples of evolving trends arc Web 2.0, cloud compuring, and mobile
devices. Sysrems analysts shouJd be aware of these trends and consider them as they
plan large-scale sysrems.
Many IT professionals use the term \''cb 2.0 ro describe
a second generation of the web rhat enables people ro
NIST Cloud Computing Program - NCCP
collaborate, interact, and share information much more
effectively.
This new environment is based on conrinuously
DESCRIPTION
available user applications rather than Static HTJ\-1 L wcba.....,...i......
.......................
,
pages, wirhour limitations regarding rhe number of users o r
""""""....,..n..,...,••.
how they access, modify, and exchange data. The Web 2.0
NIST Cloud environmenr enhances interactive experiences, including
,
wikis and biogs, a nd social networking applications such as
Computing
Facebook, Linkedln, and Twiner.
....
fltolt•
Program
As shown in Figure 7- 1, the Nationa l Institute of Stanllltl'Klloa. TNldeuf
dards and Technology (NIST) defines cloud computing as
. . . ~.,"" ....... ~ . . . . . . . Will
"""*'
18M(f ........... "'*"" .......
.......Cf. . . . .
.. .
"a model f or enabling ubiquitous, convenient, o n-demand
••• """9(P'HSi,a-. ...
•• ...... tM-S ......
...................
.... hlkm.tlJl!rtiN ....
........
network access ro a shared pool of configurable computing
....,.,.. -....111• ...... .........,ta ........... ........,. ....... ........_ ... ca
resources (e.g., networks, servers, storage, applications, and
._,...,.nm..,..........
services) chat can be rapidly provisioned and relea ed with
llirClilwf~ . . . . ~"'~- ................................ ...
....._ •• __............. _......,.,._......,. ... w,,....,..,.
minimal management effort or service provider interacrion."
...............-.c...--................................ Ml'W"
............................................
_,a...
Cloud computing is often represented by a cloud symbol
.........
.......... WI*" • • kll .... ,.,...... . . . . . . .
..,.._.
that indicates a network or the Internet. Cloud computing
can be viewed as an onlioe SaaS and data environment supFIGURE 7- 1 NIST definition of cloud computing.
ported by powerful computers that makes Web 2.0 possible.
5-«< "'
..
........___,..,........ ...
.. ......
---.-_
~,.......,.
~
~ ..... !'@I. . . . .
--~,...~
Wwt.f~
~,_
~ CS...S~ C..."*'"
l#IW• ......
l(Q1l.
~~
~
~
~
......_.~
..............
~.._.
• ._..,..
0w.,,,.._._,..." ....... ,_,.,..,....,. -~,__.., ,,.......... ~~ij
(....,..... J:gl( . . . . . , _ , . . 41 11.,.. ~-""'_..,.Olp"
-·~·-"*<'f•,...
..,...,.......,..~
t11ru . . __.~~c.....,..~
r..a...w...,..._...., ..
.................
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
P hase 2
Systems A nalysis
203
7.3 In-House Software Development Options
Mobile device~ have become ubiquitous. Smartphones and tablets are now found
in personal use and across the enterprise in most organizations. Today's mobile
devices have enough computing power to provide processing "at the edge," which
means at the end of a network, in rhe user's hands. Developing apps for mobile
devices requires many new platforms, although many of today's development tools
support web-based and mobile application development at the same time.
7 .3
IN-HOUSE SOFTWARE DEVELOPMENT OPTIONS
A compan)' can choose to develop its own systems or purchase (and possibly customize) a sofrw:ire package. These development alternatives arc shown in Figure 7-2.
Although many factors influence this decision, rhe mosr important consideration is
rhe total cost of ownership (TCO), which was explained in Chapter 4. In addition to
rhcse options, comp:inies also develop user applications designed around commercial sofrw:ire packages, such as Microsoft Office, ro improve user productivity and
efficiency.
In-house syslem
software
Commercial
soltware
padtage
FIGURE 7-l Instead of outsourcing.a company can choose co develop a system in-house or
purchase and possibly aJstomize a commercial package..
7 .3. 1 Make or Buy Decision
The choice between developing ver[>uS purchasing software often is called a make
or buy, or build or buy, decision. The company's IT department makes, builds, and
develops in-hou\e \Oftware. A software package is obtained from a vendor or an
application service provider.
Tht: package might be a standard commercial application or a customized package designed specifically for the purchaser. Companies that develop f>ofrware for sale
are caUed software vendors. A firm that enhances a c.:ommercial package by add ing
custom features a nd configuring it for a panicular industry is called a value-added
reseller (VAR).
Software package~ are available for every type of business activity. A software
package that can be used by many different types <>f organizations is called a horizontal
application. An accounting package is a good example of a horizontal application
because man)' different businesses or separate divisions that exist in large, diversified
companies can utilize it.
In contrast, a software package developed co handle information requirements for
a specific type of business is called a vertical application. For example, organizations
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"-> - "'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ..... ...... ... ~..
__....
~~·~---- ···---~~ - .,.-" ~
...........
Chapter 7
Development Strategies
7.3 In-House Software Development Options
204
with special system requirements include colleges, banks, hospitals, insurance companies, construction companies, real estate firms, and airlines. Figure 7-3 shows a
typical restaurant point of sale (POS) system running on various devices. The organi7ations may need verrical applications to handle their unique business requirements
bur often use horizontal applications for basic business needs, such as payroll proce sing and accounts payable.
Thousands of Restaurants Use Restaurant Manager
Tne POS of Chc><ce f0t Restauronts for Neosty 30 Yeors
FIGURE 7-3 Restaurants use vertical applications like point of sale (POS)
systems to support their unique business requirements.
Sour<e; .- •
Of the in-house software acquisition options-developing a sy rem, bu) ing a
software package, or customizing a software package-each ha~ advantages, disadvantage~, and cosr considerations, as shown in Figure 7-4. These l>Ofrware acquisition
options are described in detail in the following sections.
REASONS FOR IN-HOUSE
DEVELOPMENT
REASONS FOR PURCHASING A
SOFTWARE PACKAGE
Saosfy unique business requireme nts
Lower costs
Minimize changes in business procedures
and policies
Requires less time to implement
Meet constraints of existing systems
Proven reliability and performance
benchmarks
Mee t constraints of existing technology
Requires less technical development staff
Develop Internal resources and capabilities
Future upgrades provided by the vendor
Satisfy uniqu e security requirements
Obtain input from other companies
FIGURE 7-4 Companies consider various factors when comparing in-house development with the purchase of a
software package.
7.3.2 Developing Software In-House
\Vith an enormous va riery of software packages available to handle horizontal
and vertical business operations, why would a firm choose to develop its own software? Typically, companies choose in-house development to satisfy unique business
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
Phase 2
Systems A nalysis
205
7.3 In-House Software Development Options
requirements, minimize changes in business procedures and policies, meet constraints
of existing systems and existing technology, and develop internal resources and
ca pa biliries.
Companies often decide to de velop
software in-house because no commercially available software package can meet
their unique business requirements. A college, for example, needs a course scheduling
system based o n curriculum requirements, student demand, classroom space, and
available instructors. A package delivery company needs a system to identif>• the
best combination of routes and loading panerns for the company's fleet of deliver y
trucks. If existing software packages cannot handle those requirements, then in-house
developed sofcware might be the only choice.
SATISFY UNIQUE BUSINESS REQUIREMENTS:
MINIMIZE CHANGES IN BUSINESS PROCEDURES AND POLICIES: A company
also might choose to develop its own software if available packages will require
changes in current business operations or processes. lnstalling a new software
package a lmost always requires some degree of clhange in how a company docs
business; however, if the insta llation of a purchased package wil l be too disruptive,
the organization might decide to develop its own software instead.
MEET CONSTRAINTS OF EXISTING SYSTEMS: Any new software installed must
work with existing systems. For example, if a new budgeting system must interface
with an existing accounting system, finding a sofrware package that works correctly
with the existing accounting system might prove difficult. If so, a company could
develop its own software to ensure that the new system will interface with the old
system.
MEET CONSTRAINTS OF EXISTING TECHNOLOGY: Another reason to develop
software in-house is chat rhe new system must work with existing hardware and
legacy systems. That could requi re a custom design, an upgrade ro the environment,
or in-house sofrware that can operate within those constraints. A systems analyst
addresses the issue of technical feasibiliry during the preliminary investigation. Now,
in the sy~tems analysis phase, the analyse muse determine whether in-house software
develo pment is the best overall solution.
DEVELOP INTERNAL RESOURCES AND CAPABILITIES: By designing a system
in-house, companies can develop and crain an IT staff who understands the
organization's business functions and information support needs. Many firms feel
that in-house IT resources and capabilities provide a competitive advantage because
an in-house ream can respond quickly when business problems or opportunities arise.
For example, if a company lacks internal resources, it must depend on an outside fi rm
for vital business support. Also, outsourcing options might be actraccive, but a series
of shore-term solutions would nor necessarily translate into lower TCO over the long
term. Top managers often feel more comfortable with an internal IT team to provide
overall guidance and long-term stability. In-house development also allows a firm co
leverage the skill set of the IT team, which is already on board and being compensated.
7.3.3 Purchasing a Softwa.r e Package
If a companr decides no t to o utsource, a commercially available software package
might be an attractive alternative co developing irs own software. Advantages of purchasing a software package over developing soft·Nare in-house include lower coses,
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 7
Development Strategies
7.3 In-House Software Development Options
206
less rime to implement a sysrem, proven reliabiliry and performance benchmarks, less
technical development staff, future upgrades chat are provided by the vendor, and
the ability to obrain input from other companies who already have implemented the
software.
LOWER COSTS: Because many companies use software packages, software vendors
spread the development costs over many customers. Compared with software
developed in-house, a software package almost always is less expensive, parricularly
in terms of initial i11vesnnent. However, even though the initial cost is less, purchased
software can involve expenses caused by business disruption, changing business
processes, and retraining employees.
REQUIRES LESS TIME TO IMPLEMENT: When a software package is purchased,
it already has been designed, programmed, rested, and documented. The in-house
rime normally spent on those tasks, therefore, is eliminated. Of course, rhe
sofrware must still be installed a nd integrated into the systems environment,
which can rake a significant amou nt of time. Also, even though implementation
is quicker, TCO ca n be higher due to added training expenses and softwa re
modifications.
PROVEN RELIABILITY AND PERFORMANCE BENCHMARKS: If the package has
been on the market for any lengcb of rime, any major problems probably have been
detected already and corrected by the vendor. if the product is popular, it almost
certainl y has been rated and evaluated by independent reviewers.
REQUIRES LESS TECHNICAL DEVELOPMENT STAFF: Companies that use
commercial software packages often are able to reduce the number of programmers
and systems analysts on the IT sraff. Using commercial software also means that
the IT staff can concentrate on systems whose requirements cannot be satisfied by
software packages.
FUTURE UPGRADES PROVIDED BYTHEVENDOR: Software vendors regularly
upgrade oftware packages by adding improvements and enhancements to create a
new ve rsion or release. A new release of a software package, for example, can include
drivers ro support a new laser printer or a new type of data srorage technology.
In many cases, the vendor receives input and suggestions from current users when
planning future upgrades.
INPUT FROM OTHER COMPANIES: Using a con11nercial software package means
that users in other companies can be contacted ro obtain their input and impressions.
Tryi ng rhe package or making a site visit to observe the system in operation may be
very usefu l before a final decision is made. Companies can make use of user groups ro
share experiences with a software package.
7.3.4 Customizing a Software Package
lf the standard version of a software product does not satisfy a company's requirements, the firm can consider adapting rbe package to meet its needs. Three ways to
customize a software package are as fo llows:
•
Purchase a basic package that vendors will customize to suit the project's
needs. Many vendors offer basic packages in a standard version with add-on
components rhat are configured individually. A vendor offers oprions when the
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
Phase 2
Systems A nalysis
207
7.3 In-House Software Development Options
•
•
standard applicarion will nor sarisfy all customers. A human resources informarion sysrem is a rypical example, because each compan)' handles employee
compensation and benefics differently.
1 cgotiatc directly with rhe software vendor to make enhanccmcntS to meet the
project's needs by paying for the changes.
Purchase the package and make project-specific modifications, if this is permissible under the rerms of the sofrware license. A disadvantage of this approach is
that srsrems analysrs and programmers might be unfamiliar with rhe sofnvarc
and will need time to learn the package and make the modifications correctly.
Addirionally, some advanrages of purchasing a standard package disappear if
the product must be cusromized. If the vendor does the customizing, the modified
package probably will cosr more and rake longer ro obrain. Another issue is fururc
support: Although vendors regularly upgrade their standard software packages, rhey
might not upgrade a customized version. In addition, if the modifications are done by
the company purchasing the sofrwarc, when a new release of the package becomes
available, the company might have to modify the new version on it~ own, because the
vendor will not support modifications installed by the customer.
7 .3.S Creating User Applications
Business requirements sometimes can be fulfilled by a user application, rather th;in a
formal information system or commercial package. User applications arc examples of
user productivity systems, which were discussed in Chapcer 1.
A user applicalion utilizes standard business s<>ftware, sucb as Microsoft Word or
Microsoft Excel, which has been configured in a specific manner to enhance user productiv1ry. For example, to help a sales rep respond rapidly co customer price requests,
an IT support person can sec up a form letter with links to a spreadsheet chat calculates mcencives and discounts. ln addition to configuring the sofnvare, che IT staff can
create a user interface, which includes screens, commands, concrols, and features that
enable users to interact more effectively with tbe application.
In some siruauons, user applications offer a simple, low-cost solution. Mosr IT
departments have a backlog of projects, and IT solutions for individuals or small
groups do not always receive a high priority. At the same time, application software
is more powerful, flexible, and user-friendly than ever. Companies such as Apple
and Microsoft offer software suites and integrated applications that can exchange
dara with programs that include rurorials, wizards, and H elp features to guide lessexpericnced users who know whar they need to do but do not know how to make it
happen.
Many companies empower lower-level employees by providing more access to dara
and more powerful data management tools. The main objective is co allow lower·
level employees more access ro the data rhey rcqUJire to perform their jobs, with no
intervenrion from the IT department. This can be accomplished by creating effecrive
user interfaces for company-wide applications, such as accounting, inventory, a nd
sa les systems. Another technique is to customize standard productivity software,
such as Microsoft \'Qo rd or Nlicrosofc Excel, ro create user applications. In either
case, empowerment makes the IT deparrment more productive because ir can spend
less time responding to rhe daily concerns and da{a needs of users and more rime on
high-impact systems development projects rhat support strategic business goals.
Empowerment reduces costs and makes good business sense, but Companie
chat adopt this approach muse provide the technical support that empowered users
require. In mo~t large- and medium-sized companies, a sen ice d~k within the IT
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapte r 7
Development Strategies
7.4 Outsourcing
208
deparnnenr is responsible for providing user support. The service desk offers services
such as hotline assistance, training, and guidance to users who need technical help.
Users typically requ ire spreadsheets, dacabase management programs, and other
software packages to meet t heir information needs. If user applications access corporate data, appropriate controls must be provided to ensure data security and integrity.
For example, some files should be hidden totally from view; other-; should have readonly properties, so users can view, bur nor change, the data.
CASE lN POINT 7.1:
Douc's S1•0RTING Goons
Doug's Sporting Goods sells hiking and camping supplies. The company has grown considerably
in the past tw0 years. They want to develop a customer order entry system and hired your
IT consulting firm to advise them about development strategies. They are leaning toward
in-house development because they do not want to depend on outside vendors and suppliers
for technical support and upgrades. They also S'irf they are not interested in selling on the Web,
but that could change in the future. They want to meet with you tomorrow to make a decision.
What will you say to them ac the meeting?
7 .4
OUTSOURCING
Outsourcing is the transfer of information sysrems development, operation, or maintenance roan outside firm char provides these services, for a fee, on a temporary or
long-term basis. Outsourcing can refer co relatively minor programming tasks: renting
software from a service provider, outsourcing a basic business process (often called
business process outsourcing, or BPO), or handling a company's enrire IT function.
7.4. 1 The Growth of Outsourcing
T raditionally, firms out~ourced IT tasks as a way of controlling coses and dealing \vith
r:ipid technologica l change. Oracle cites data that ~hows that businesses spend up ro
80°/o of their IT budgets maintaining existing software and !>Y!>tems, which forces IT
managers " ... to spend rime managing tedious upgrade~ in~tead of revenue-generating
IT projects." \Xlhile those reasons srilJ are valid, outsourcing has become part of ::1n
overall IT strategy for many organizations. T he outsourcing trend abo has ::1ffecred
software vendors, who have adjusted their ma rketing accordingly.
A fi rm drnr offers outsourcing solutions is called a service provider. Some service
providers concentra te on specific software a pplications; others offer business services
such as order processing a nd customer billing. Still o thers offer enrerprise-w idc softwa re solutions that integrate and manage functio ns such as accounting, manufacturing, and inventory contro l.
Two popular outsourcing options involve application service providers and firms
tha t offer Internet business services. These terms are explained in the fo llo wing
sections.
APPLICATION SERVICE PROVIDERS: An application sen ice provider (ASP) is a
firm t ha t delivers a software applica tion, or access to an application, by charging a
usage or sub~cription fee. An ASP provides more than a license to use the software;
it rents an operational package ro rbe cusromer. ASPs typically provide commercially
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
I'
I
P hase 2
Systems A nalysis
209
7.4 Outsourcing
available sofrwarc such as darabases and accounting packages. If a company uses an
ASP ro supply a dara managcmenr package, for example, rhe company does nor have
to design, develop, implemenr, or mainrain the package.
INTERNET BUSINESS SERVICES: Some firms offer Internet business ~er\ ices (lBSs),
which provide powerful web-based support for transactions such a~ order proce sing,
billing, and customer relationship managemenr. Another term for IBS is managed
hosting, because the outside firm (host) manages system operations.
An IBS solunon is attracrive to customers because it offers online data center support, mainframe computing power for mission-critical functions, and universal access
via the Internet. Many firms, such as Rackspace, compete in the managed cloud services marker, as shown in Figure 7-5.
o,.."'.,..
.._.. . ..,_
........
-· -- -- ---
.. - .. - ....
,
..
•
..
............_.._____ ........
VDU CllOGSf thf Clouds. Wf'll Ma~ge Tll!m for You.
~
----
--.......
---
__.....
__... .
--~----,..
--
...., .._.
_.
--
·- -
FIGURE 7-S Rackspace managed cloud services.
Sourc.1~
.o;,
7.4.2 Outsourcing Fees
Firms thar offer Software as a Service, rather rhan a product, have developed fee
structures that are based on how rhe application is used by customers during a
specific time period. Several models exist, including fixed fee, subscription, and usage
or transaction. A fixed fee model uses a sec fee based on a specified level of service
and user support. A subscription model has a variable fee based on the number of
users or workstations that have access ro the application. Finally, a usage model
or transaction model charges a variable fee based on the volume of transactions or
operations performed by the application.
When a company considers outsourcing, it should estin1ate usage characteristics co
determine which fee structure would be most desirable and tben attempt co negotiate
a service provider contract based on that model.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~----···---~~-.,.-"~
...........
Chapter 7
Development Strategies
7.S Offshoring
210
7.4.3 Outsourcing Issues and Concerns
\'(!hen a company decides to outsource IT functions, it takes an imponant srep
rhar can affecr the firm's resources, operations, and profitability. IVlission-crirical
IT ~ystems should be oursourced only if the resulr is a cosr-anracrive, reliable
business solution that fits the company's long-term business strategy and involves an
acceprable level of risk. Moving IT work overseas raises even more issue5, including
potential concerns about control, culture, communication, and security.
In addinon to long-term strategic consequences, outsourcing also can raise some
concerns. For example, a company must turn over sensiti\'e data to an external service
provider and trust the provider to maintain security, confidentiality, and quality. Also,
before oursourcing, a company must carefully review issues relating to insurance,
porenrial liability, licensing and information ownership, warranties, and disaster recovery.
Mosr important, a company considering outsourcing must realize that the solution ca n be only as good as the outsourcing firm that provides the service. A dynamic
economy can give rise to business failures and uncertainty about the furure. ln this
climate, it is especially important to review t he history and financial condition of an
outsourcing firm before making a commionent.
Mergers and acq uisitions a lso caa affect ou tsourcing clients. Even with large,
financ ially healthy fi rms, a merger o r acq uisition can have some impact on clients and
customers. If stability is importa nt, an outsourcing client shou ld consider these issues.
Outsourcing can be especially a ttractive co a company whose volume flucruates
widely, such as a defense contractor. In other situations, a company might decide ro
outsource application development rasks to an IT consu lring firm if che company
lacks the time or expertise to handle the work on its own. Outsourcing relieves a
company of che responsibility of add ing IT sta ff in busy rimes and downsizing when
the workload lightens. A major disadvantage of outsourcing is rhar it raises emplo>•ee
concerns about job security. Talented IT people usually prefer posinons where the
firm ts commirred to in-house IT development-if they do nor feel secure, they mighr
decide to work directly for the service provider.
7 .5
0FFSHORING
Off~horing,
also known as offshore o utsourcing or global out~ourcing, refers ro the
practice of shifting IT development, support, and operations to other countries. In
a trend similar to the outflow of manufacturing jobs over a several-decade period,
many firms arc sending IT work overseas.
IT work can move offshore even fasrer than manufacturing, because it is easier to
ship work across networks and put consultants on airplanes tha n it is to ship bulky
raw materia ls, bui ld factor ies, and deal with tariffs and transportation issues. Several years ago, rhe IT consul ting firm Gartner, Inc., accurately forccasted the steady
growth of offsho re outsourcing and predicted that outsourcing would evolve from
labor-intensive main tenance and support to higher-level systems development and
sofrware design.
The main reason for offshoring is the same as domestic outsourcing: lower
bottom-line co~ts. Offshore outsourcing, however, involves some un ique risks and
concerns. For example, wo rkers, customers, and shareholders in some companies
have protested this tre nd and have raised public awarenes5 of possible economic
impact. Even more important, offshore outsourcing involves unique concerns regarding project control, security iss ues, djsparate cultures, and effecrive communicarion
with critical functions rhar might be located halfway around the globe.
(....,..... J:gi( . . . . . I_,.. 4111.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
I
Phase 2
Systems Analysis
211
7.7 Selecting a Development Strategy
CASE IN POINT 7.2: T URNKEY SERVICES
Tumkey Services is an ASP that offers payroll and tax preparation services for hundreds
of businesses in the Midwest. The finn is considering a major expansion into accounting
and financial services and is looking into the possibility of supporting this move by hiring IT
subcontractors in several foreign countries. Turnkey's president has asked you to help him reach
a decist0n. Specifically. he wants you to cite the pros and cons of offshoring. He wants you to
present your views at a meeting of Turnkey managers next week. How will you proceed!
7 .6
SOFTWARE AS A SERVICE
In rhe tradirional model, sofrware vendors develop and sell application packages ro
customers. Typically, customers purchase licenses chat give t hem the righr to use the
software under the terms o f the license agreement. Although this model still acco unts
for a large percentage of software acq uisition, a new model, called Software as a
Ser vice (SaaS), is changing rhe picture dramaticallly.
SaaS is a model of software deploymenr in which an applicarion is hosred as a
service provided to customers over rhe lnrerner. SaaS reduces the customer's need for
software maintenance, operation, and support. ln effect, SaaS provides the funcrionaliry the customer needs, bur without the associated development, infrasrructure, and
maintenance costs.
In a highly compentive marketplace, major vendors constantly srrive co deliver
new and bercer ltolutions. For example, J\1icrosoft claims rhat irs SaaS plarform offers
the best solution and business value. One of their more popular consumer SaaS offering!> is Office 365, shown in Figure 7-6. This is a full-Aedged version of the tvl icro~ofr
Office smce char runs in a browser window.
:!.
Apps
Wood
-Offo<•
hul
Documents
Reunt
-
FIGURE 7-6 Microsoft Office 365 provides web-based access to the complete Office suite.
SOU'rc~ l"'l tn
7. 7
tC'
itp01·14•,,
SELECTING A DEVELOPMENT STRATEGY
Selecting the besr development scrategy is an imporraot decision thac requires companies co consider multiple factors. The syscems analyst has an imporcant role co
play in this decision-making process. In particular, anal)'zing the coses and benefics of
each development alcernative is a key co providing objective dara co managemenc. A
cosc-benefic checklisc can help guide chis analysis.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Chapter 7
Development Strategies
7. 7 Selecting a Development Strategy
212
7.7. 1 The Systems Analyst's Role
Ac ~ome poinc in the systems developmenc process, che company mu~c decide whether
m use an oucsourcing option, develop software in-house, acquire a software package,
develop u~er applications, or select some combination of these solutions. The dcci~ion
depends on che company's currenc and anticipared future needs. It will affccc che
remaining SDLC phases and the systems anal)'St's subsequenc involvement in the
pro1ect. The decision to develop software in-house, for example, will require more
parcic1parion from the sysrems analyst than outsourcing or choosing a commercial
p:ickage. ,\lfan:igcment usually makes a determination after receiving wrinen
recommendations from the IT staff a nd a formal presentation, which is described later
in this chapter.
Even a single system can use a mjx of sofrware alternati ves. For example, a company might purchase a standard software package to process its payroll and then
develop irs own sofrware to handle tbe interface berween the payroll package and rhc
company's in-house manufacturing cost analysis system.
The evaluation a nd selection of a lternatives is not a simple process. The objective
is co obrnin the product with rbe lowest TCO, but actual cost and performance can
be difficult to forecast. When selecting hardware and software, systems analysts often
work as an evaluation and selection ream. A team approach ensures that c ritical faccors arc not overlooked and that a sound choice is made. The evalua tion and selection
ream also must include users, who \viii participate in rhc selection process and feel a
sense of ownership in the new system.
The primary objective of the evaluation and selection ream is ro eliminate system
alrcrnarivcs that will nor meet requirements, rank the a lternatives rhar arc feasible,
and present the viable alternatives to management for a final decision. The process
begins wi th a careful srudy of the coses and benefits of each alternative, as explained
in rhc following section.
7.7.2 Analyzing Cost and Benefits
Financial analysis tools have been around for a long time. From the abacu~ to the
pocket calculator, people have always sought easier ways ro work with numbers. This
section describes cost and benefit analysis and explains popular roots rhar can help a
sysrem~ an::tl)'St examine an IT project.
Chapter 2 explained rhar economic feasibility is one of rhe four feasibility
mea~uremenrs that are made during the preliminary investigation of a systems
request. Now, ar the end of the systems analysis phase of the SDLC, financial analysis
rools and rechniques must be applied to evaluate development strategies and decide
how the project will move forward. Part C of the Systems Analyst's Toolkit describes
three popular rools, which are payback analysis, return on investment (ROI ), and net
present value (NPV). Payback ana lysis determines how long it takes an information
system co pay for itself through reduced costs and increased benefits. Rclurn o n
investmenl (RO I) is a percentage rare that compares the rota! ncr benefits (the return)
received from a project to the total costs (the investment) of the project. The net
present value (NPV) of a project is the total value of the benefits minus the total
value of the costs, with both costs and benefits adjusted ro reflect the point in rime at
which they occur.
These tools, and others, can be used to determine TCO, which was described in
Chapter 4. Ar this stage, the analyst will identify specific systems development srraregies and choose a course of action. For example, a company might find char its TCO
will be higher if it develops a system in-house, compared with outsourcing the project
or using an ASP.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
P hase 2
Systems A nalysis
213
7.7 Selecting a Development Strategy
An accurate forccasr ofTCO is critical, because nearly 80o/o of roral cosrs occur
after rhe purchase of rhc hardware and software, according to Carmer, Inc. An IT
departmenr can develop irs own TCO escimares or use TCO calculation rools offered
by vendor . For example, as hown in Figure 7-7, HP Enterprise offer-; several free
TCO calcularors ro dererrnine rhe ROI of various development straregies and migration options.
You Buy Once-But You Pay for the Llfecyde
......-.....,.,._..........
................_._..
..........
..... __..______
......_____
.. ___
...........-... --...,..,,..__.....,
....... ..,-"...,
n_,._...,..,......._..,,.......,.~.,,"_._...
~
~.,.,...,_--.,.
c..~(TCD)
............
........ ............
~
...........
..
...
.. ,,...,
·~ --~
"" ...................... C*:JO ................................................ ~ .....
._..,...., .. .,...._~--.,.,. .... w
__
-
WhyS ','nd ..... TCOwtaot•: 1eM1
~~--_..-
~.-....
UM Ow R-. Mo O' l a rlun TCO -
ROI~°''
FIGURE 7-7 HP Enterprise provides se11eral freeTCO calculacon.
Sourc..: tt1
r.
H
7.7 .3 Cost-Benefit Analysis Checklist
Chapter 2 explained how ro use rhe payback analysis tool during the preliminary
invescigarion ro help determine whcrher a project is economically feasible. Now, all
the financial analy~is rools will be used to evaluate various development strategics.
The best way to apply the tools is co develop a cost-bcnefir checklist with rhe following sreps:
•
•
List each development srrarcgy being cons~dcred.
Identify all cosrs and benefits for each alterna tive. Be sure
co~ts will he incurred and benefirs realized.
•
Consider future growth and the need for scalability.
•
Include support costs for hardware and software.
•
Analyze various software licensing oprions, including fixed fees and formulas
based on the number of users or transactions.
•
Apply the finan cial analysis rools to each alremarive.
•
Srudy the resu lt~ and prepare a report ro management.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
to
indicate when
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapte r 7
Development Strategies
7.8 The Software Acquisition Process
2 14
CASE IN POINT 7.3:
STERLING A ssoclATI.S
SterlingAssociates specializes in advising dients on IT projeccs and information systems development. Marketing is creating a brochure for prospective new clients, and they want you to
develop a section that describes payback analysis, ROI, and NPV in simple tenns and mentions
the pros and cons of each financial analysis tool. How do you proceed~
7.8 THE
SOFTWARE ACQUISITION PROCESS
Although each situation is different, the following section describes a rypical example
of the issues and tasks involved in software acq uisition.
Ste p I: Evaluate the Information System Re quireme nts
Based on the analysis of the system requirements, the system's key features must be
identified; network and web-related issues considered; volume and future growth estimated; any hardware, software, or personnel constraints specified; and an RFP or a
quotation prepared.
IDENTIFY KEY FEATURES: Whether in-house development or outsourcing
options are being considered, the analyst must develop a clear, detailed list of
features that can serve as an overall specification for the system. Using the data
gathered during fact-finding, which was discussed in Chapter 4, list all system
requirements and critical features. T his information will be included in the system
rcquiremcnb document, which is cbe end product of the SDLC systems analysis
phase.
CONSIDER NETWORKANDWEB-RELATED ISSUES: As the system requirements
are evaluated, the network and web-related issues must be considered. The analyst
must decide whether the system will run on a network, the Internet, or a company
intranet and build these requirements into the design. Also, it must be determined
whether the system will exchange data with vendor or customer systems and ensure
that the system will be compatible.
ESTIMATE VOLUME AND FUTURE GROWTH: The analyse needs to know the
current volume of transactions and forecast futu re growth. Figure 7-8 shows volume
estimates for an ()rder processing system. In addition to current level~ , the figure
displays cwo forecasts; one based on the existing order processing procedures and
::inother char assumes a new website is operational.
A comp::irison of rhe two forecasts s hows chat the website will genera re more new
customers, process almost 80o/o more orders, and substantially reduces the need for
sa les rep~ and support staff. If in-house development is being considered, make sure
that the software and hardware can handle future transaction volumes and data
!.forage requirements. Conversely, if outsourcing is being considered, volume and
usage data is es~ential co analyze ASP fee structures and develop coi.t estimates for
outsourcing options.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
I'
I
Phase 2
Systems A nalysis
215
7.8 The Software Acquisition Process
Online Order Processing System Estimated Activity During Next 12-Month Period
CURRENT LEVEL
FUTURE GROW TH
(based on ex1sung
procedures)
FUTURE GROWTH
(assuming new website IS
operational)
36,500
40,1 50
63,875
Daily Orders
l,·435
1,579
2,8 11
Daily Order Lines
7,715
7,893
12.556
Sales Reps
29
32
12
O rder Processing
Support Staff
2
4
3
600
650
900
Customers
Producu
FIGURE 7-8 Volume estimates for an order processing system showing current activity levels and two forecasts: one based on
the existing order processing procedures and another that assumes a new website is operational.
SPECIFY HARDWARE, SOFTWARE, OR PERSONNEL CONSTRAINTS: The
analyst must determine whether existing hardware, software, or personnel issues wi ll
affect the acquisition decision. For example, if the firm has a large number of legacy
systems or if an Enterprise Resource Planning (ERP) strategy has been adopted, these
factors will have an impact on the decision. Also, the compa11y's policy regarding
outsourcing IT functions mu~t be investigated, and whether outsourcing is pare of a
long-rerm straregy. Wirh regard ro personnel issues, in-house sraffing requircmenrs
must be defined to develop, acquire, implement, and maintain the system-and
determine whether the compan}' is willing to commit to those staffing levels versus an
oursourcmg opnon.
PREPARE A REQUEST FOR PROPOSAL OR QUOTATION: To obtain the informa-
cion needed to m:ike a decision, che analyst should prepare an RFP or an RFQ. The
two documencs are similar but used in different sicuacions, based on whether or not a
specific software produce has been selected.
A request for proposal (RFP) is a documeot that describes the company, lists
the IT services or products needed, and specifies the features required. An RFP
helps ensure char the organizarion's business needs will be met. An RFP also spells
out the service and support levels required. Based on the RFP, vendors can decide
if rhey have a produce that will meet the company's needs. RFPs vary in size and
complexity, just like the systems they describe. An RFP for a large system can
contain dozens of pages with unique requirements and features. An RFP can be used
to designate some features as essential and others as desirable. An RFP also requests
specific pricing and paymcnr terms. There are several online sources where RFP
templates can be found.
When several responses to an RFP are evaluared, it is helpful to use an evaluation
model. An evaluation model is a technique that uses a common yardstick to measure
and compare vendor ratings.
Figure 7-9 s hows two evaluation models for a network project. The evaluation
model at the top of the figure simply lists the key elements and each vendor's score.
The model at the bottom of the figure adds a weight factor. ln this example, each
element receives a rating based on its relative importance. Although the initial scores
are the same 111 both models, note that vendor A has rhc highest point total in the top
example, bur ,·endor C emerges as the besr in the wcighred model.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- .............. . ,.. o-....._ ...... _ ... ,..,...,...,~..,._.. ........... ... ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 7
Development Strategies
7.8 The Software Acquisition Process
216
Unweighte d Evaluation Model for a Network Project
Inst ructions: Rate each vendor on a scale from I (low) to I 0 (high). then add vendor scores
to calculate total points.
V ENDO R C
2
s
s
8
8
8
5
References
10
6
3
TOTAL POINTS
26
24
25
Price
6
Completion Date
Layout/Design
9
Weighte d Evaluation Model for a Network Project
Instruc tio n s: Rate each vendor on a scale from I (low) to I 0 (high), then multiply the vendor's
score by the weight factor. Add vendor scores to calculate tot.ii points.
~~~~~~~-
-~~~~~~~
WEIGHT
FACTOR
VENDOR A
VENDOR B
VENDOR C
Price
25
6 * 25=150
5 * 25 = 125
9 . 25
Compledon Date
25
2 * 25 =
5 " 25 = 125
8 . 25 = 200
Layout/Deslp
35
8 * 35 =280
= 280
s .. 35 = 175
References
IS
10 * IS= ISO
6 * 1S = 90
3 * IS = 4S
100
630
620
645
TOTAL POINTS
so
8 . 35
= 225
FIGURE 7 -9 The three vef\dors have che same initial raungs, but the two evaluauon models produce different
results. In the unweighted model at the top of the figure, vendor A has the highest toal points. However. after
applying we1ghong factors., vendor C is the winner. as shown in the model at the bottom of the figure.
o standard method exists for assigning the weight factors. Each firm will have
its own approach, which might be tailored to fit a specific situation. An analyse usu·
ally obtains as much input as possible and then circulates proposed values for further
comment and, hopefully, a consensus.
Evaluation models are valuable cools that can be used throughout the SDLC. A
spreadsheet program can be used to build an evaluation model, experiment with different weighting factors, and graph the results.
A request for quotation (RFQ) is more specific than an RFP. When an RFQ is
used, the speci fie product or service desired is already known; only price quotations
or bids a rc needed. RFQs can involve outright purchase or a variety of leasing options
and can include maintenance or tech.nical support terms. Some vendors even provide
convenient RFP o r RFQ forms on their websites. RFPs and RFQs have the same
objective: to obtain vendor replies that are clear, comparable, and responsive, so that
a well-informed selection decision can be made.
Step 2: Identify Potential Vendors or Outsourcing Options
The next step is to identify potential vendors or outsourcing providers. The Internet
is a primary marketplace for all IT products and services, and descriptive information
can be found on the web abour all major products and acquisition alrernacives.
~- )U,
- Woip-M ._..,..
r..a...w...,..._...., ..I_,.. 41 11.,.. .................,.t11ru
..
(....,..... J:gi( . . . . .
..,...,.......,..~
- ·~•-fllllie<'f •,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
__.~~c.....,..~
.........,..,. ..
._.,.,.,.......c:-..•~-".....-""'*"....,.._...,..
..
I'
I
P hase 2
Systems A nalysis
217
7.8 The Software Acquisition Process
If vercical applications for specific industries need ro be locared, industry rrade journals or websites can be used to find reviews for industry-specific sofrware. Industry trade
groups can often provide referrals to companies that offer specific software solutions.
Another approach 1 to work with a consulting firm. Many IT consulranrs offer
specialized services chat help companies select somvare packages. A major advantage
of using a consultant is that rhe analyst can tap into broad experience that is difficult
for any one company to acquire. Consultants can be located by contacting profcsional organizations or industry sources or simply b)' searching the Internet. Using a
consulranr involves additional expense but can prevent even more costly misrakes.
No matter what rhe topics of interest are, there are sure to be one or more on line
forum s where people gather to meet, offer support, and exchange ideas. Forums can
be hosted by private or public entities, or reside in larger communities such as Google
Groups or Reddit, which allow users to join existiug groups or start their own. A
web search can locate forums of interest, or the websites of specific companies, such
as Microsoft, and can provide a valuable source of information for IT professionals,
including biogs, forums, webcasts, and other resources, as shown in Figure 7-10.
·~I '--- -
Alie ""' Mlaooofl c - n i t y.
-=
0
-
--
w.·,. here to help!
-- -
,~
DJ
-
0
~
co -e --e
----
-·-
CJ.
L>
..
FIGURE 7- 10 Microsoft Community is a valuable resource for IT professionals.
Sovt<tet ~
..
,.
""
Step 3: Evaluate the Alternatives
After identifying the a lternatives, the analyst must select the one that best firs the
company's needs. Information abou t the options should be obtained from as many
sources as possible, including vendor presentations and literature, product documcntarion, trade publications, a nd companies that perform software testing and evaluation. To learn more abour particular software packages, search rhe Internet using
keywords that describe the application. Websites maintained by consu ltants and ~ofr­
ware publishers often include product references and links to vendors. As parr of the
evaluation process, try ro obtain information from existing users, tesr the application,
and benchmark the package.
EXISTING USERS: Existing users can be contacted to obtain feedback and learn
abour their experiences. For large-scale software packages, ASPs and vendors typically
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~----···---~~-.,.-"~
...........
Chapter 7
Development Strategies
7.8 The Software Acqu isition Process
218
supply user references. User references are important because it must be known
whether the software package has worked well for similar companies. Be aware that
some vendors limit their reference lists to satisfied clients, so mostl y positive feedback
should be expected from those firms.
APPLICATION TESTING:
If a software package is one of the options, find out if it is
possible for users in the organization to try the product. For horizontal applications
or small systems, using a den10 copy to enter a few sample transacnons could be an
accepcable test. For vertical applications or large systems, a team of IT staff and users
might need several days or weeks to perform rests.
BENCHMARKING: To determine whether a package can handle a certain transac-
tion volume efficienrly, a benchmark rest can be performed. A benchmark measures
the time a pack;"tge takes co process a certain number of rrnnsacrions. For example, a
benchmark rest can measure the time needed to post l,000 sales rransacrions.
If benchmarks arc used, remember that a benchmark rest is conducted in a controlled environment, which might no t resemble the actual dtiy-ro-day situation tit the
project's company. Although benchmarking cannot predict project-specific resu lts,
benchmark resting is a good way co measure relative performance of cwo or more
competing produces in a srandard environment.
Many IT publications publish regular reviews of individutil ptickages, including
benchmark rests, and ofcen have annual surveys covering various categories of sofcwarc. Most of rhe publications now offer online and mobile versions, wich addicional
features, search capabiliry, and IT Links.
lnform<uion can also be obcained from independent firms that benchmark various
software packages and sell comparative analyses of the results, as shown m Figure 7- 11.
The Transticrion Processing Performance Council {TPC) is an ex.·unple of a nonprofit
organization that publishes standards and repons for its members and the general public.
TPC
-·-·-·-·
·---- ·--··Gctxwl
.If-
----· ~
-
(1
AHO::i , 1(1,1f1,
'"
CISCO
-
~
FUJITSU
IBlt
-
e
-
IOSpur
- - TTA
i...,_,m
FIGURE 7-1 I The Transaction Processing Performance Council (TPC) is a
nonprofit organizauon chat publishes sundards and reports for Its members
and the general public.
Sour«:..
(....,..... J:gi( . . . . .
•
'"'~~ '1""'Nl' Cb.t'llt.(:C
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
Phase 2
Systems A nalysis
219
7.9 Completion of Systems Analysis Tasks
Finally, each package should be marched against the RFP features and rank the
choices. If some features are more important rhan others, give them a higher weight
using an evaluation model similar to rhe one shown in Figure 7- 11.
Step 4: Perform Cost-Benefit Analysis
Review the suggesrions in chis chapter and in Part C of che Systems Analyst's Toolkir to
develop a preadsheet ro idenrify and calculate TCO for each option being considered.
Be sure to include all cosrs, using rhe volume forecasts prepared. If outsourcing options
are being considered, carefully study the alternative fee structure models described
earlier. If possible, prepare charts to show the resulrs graphically, and build in what-if
capab1liry so rhe impact of one or more variables changing can be gauged.
If a software package is being considered, be sure to consider acquisition options.
When software is purchased, a ~oftware license is being boughL that give~ the purchaser
the right to use the software under certain cerms and conditions. For example, rhe licen~e
could a llow the software ro be used only on a single computer, a specified number of
computers, a network, or an entire site, depending on the terms of the agreement. Other
license restrictions could prohibit making the soft\vare available to others or modifying the
program. For desktop applications, software license terms and conditions usually cannot
be modified. For large-scale systems, license agreement terms often can be nt::gotiated.
Also consider user support issues, which can account for a significant part of TCO.
If an outsourcing alternative is selected, rhe arrangement probably will include cer·
rain technical support and maintenance. !I in-house development is chosen, the cost
of providing these services musr be considered. lI a software package is purchased,
consider a supplemental maintenance agreement, which offers additional support and
assistance from the vendor. The agreement might provide full support for a period
of time or list specific charges for particular services. Some sofnvare packages provide free technical support for a period of rime. Atterward, support is offered with a
charge per occurrence, or per minute or hour of technical support time. Some software vendors contact registered owners whenever a new release is available and usually offer the new release at a reduced price.
Step S: Prepare a Recommendation
T he anal)'St should prepare a recommendation that evaluates and describes rhe
alternatives, together with the coses, benefits, advantages, and disadvantages of each
option. At this point, it may be required to submit a formal system requirements
document and deliver a presentation. Review the suggestions for presenting
written proposals and oral presentations in Part A of the Sysrems Analyst's Toolkit.
Additional suggestions about preparing the system requirements document and the
management presenrarion are contained in the followi ng section.
7. 9
COMPLETION OF SYSTEMS ANALYSIS TASKS
To complete the systems analysis phase, the a nal)'St muse finalize the system requirements document, present their findings co management, a nd begin the transition ro
systems design.
7.9. 1 System Requirements Document
The system requirements document contains the requiremenrs for the new !>)'Stem,
describes rhe alternarives that were considered, and makes a specific recommendation to management. This important document is the starring point for measuring the
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 7
Development Strategies
220
7.9 Completion of Systems Analysis Tasks
performance, accuracy, and completeness of the finished system before entering the
systems design phase.
The system requirements document is like a contract that identifies what the system developer mu t deliver co users. Recall chat system requirements are identified
during the fact-finding process, and a system requirements checklist is c reated at char
nme. Various examples of system requiremenrs are listed in C hapter 4. The i.ystem
requirements document should be written in language that users can underscand so
they can offer input, suggest improvements, and approve the final version.
Because the system requirements document can be lengthy, they should be formatted and organized, so it is easy co read and use. The system requirements document
should include a cover page and a detailed cable of contents. An index and a glossary
of terms can be added to make the document easier to use. The content of the system requirements document will depend on the company and the complexiry of the
system.
7.9.2 Presentation to Managem e nt
The presentation tO management at tthe end of the systems analysis phase is one of the
most criric::il milestones in rhe systems development process. At this point, managers
make key decisions that affect the future development of the system.
Prior to a management presentation, two ocher presentations may be given: one co
the principal individuals in the IT department co keep chem posted, and another pre·
sentation to users co answer their questions and invite feedback. The system requirements document is the basis for all three presentations, and it (or a summary) should
be distributed in advance so the recipients can review it.
\Xr'hen preparing the presentation, review the suggestions in Part A of the Systems
Analyst's Toolkit, which can help design and deliver a successful presentation. If a
slide presentation is planned, review the Toolkit guidelines for effective presentations.
In addition to rhe rechniques found in the Toolkit, also keep rhe following suggestions
in mind:
•
•
•
•
•
Begin che presentation with a brief overview of the purpose and primary objectives of the system project, the objectives of thjs presentation, and what decisions need to be made.
ummarize rhe primary viable alternatives. For each a lternati ve, describe rhe
coses, advanrages, and clisadvantages.
Explain why the evaluation and selection team chose the recommended
a!tern:. rive.
Allow rime for discussion and for questions and answers.
Obtain a final decision from 1nanagemenr or agree on a timcrablc for rhe next
step in rhe process.
The objecr of the management presenrarion is to obtain approval for the develop·
ment of the system and to gain management's full support, including nece)sary financial resources. Managemenr probably will choose one of five alternatives: develop an
in-house system, modify a currenr system, purchase or customize a software package,
perform additional systems analysis work, or stop all further work. Depending on
their decision, the next task of rhe systems analyst will be one of the following:
•
lm plemenr an oursourcing alternative. If oursourcing is selected, the analyse
will work with representatives of the service provider to achieve a smooth transition to the new environment.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I'
I
Phase 2
Systems A nalysis
221
7.9 Completion of Systems Analysis Tasks
•
•
Develop an in-house system. Begin systems design tasks, as described in
Chapters 8, 9, and 10.
Purchase or customize a software package_ Negotiate the purchase terms with
the software vendor for management approval. Then, if the package will be
used without modification, the analyst can begin planning the systems implementation phase. If modifications must be made to the package, the next step
is to start the systems design phase. If the vendor will make the modifications,
then the analyst's next step is to start planning the testing and documentation
of the modifications as part of the systems implementation phase, which is
described in Chapter l l.
•
Perform additional S)1Stems analysis work. Management might want the analyse
to invesngace certai n alternatives further, explore alternatives nor examined,
develop a prototype, reduce the project scope because of cost constraints, or
expand the project scope based on new developments. If necessary, the analyst
will perform the additional work and schedule a follow-up presentation.
•
Stop a ll further work. The decision mighr be based on the analyst's recommendation, a shift in priorities or costs, or for o ther reasons. Wha tever rhe reason,
if that is managemcm's decision, then there are no additional tas ks for the project o ther than ro file a ll the research in a logical location, so it can he retrieved
if the project is reopened in the furure.
After the presenrarion and management decision, the project will begin a transition
to the S)'Stems design phase of the SDLC. If an in-house system is being developed,
or a package is being modified, a model of the proposed system wiU be built, and the
analyst will srart designing the user interface, output, input, and dara structures.
7.9.3 Transition to Systems Design
In a traditional SDLC environment, systems design usually scarred when the systems
analysis phase was done. Using the system requirements specification as a blueprint,
developers transformed the logical design inro a working model that could be rested,
reviewed by users, and implemented. Today, the process is much more dynamic. In
general, systems developmen t is faster, more flexible, and more user oriented. The
introduction of agile development has changed rhe landscape significantly. Depending
on the project, system developers often blend tradirional and cutting-edge development methods, because what works in one siruarion might nor work in another.
This textbook discusses systems analysis in Chapters 4, 5, 6, and 7 and systems
design in Chapters 8, 9, and 10. However, in a typical IT workplace, a ll these tasksand more-are inregrated and managed together.
Regardle~s o f the developmenr method, systems design requires accurate documentation. Traditio nall y, a sy!>tem requirements document provided detai led specificatio ns
for output, input, dara, processes, and whatever else was needed. Although agile
merhocli. do not require :.t particular form of documenta tion, a s uccei.~ful develo pment
team must understand and record user requirements as they evolve during the project.
A logical design defines what must rake place, nor how it will be accomplished.
Logical designs do nor address the actual methods of implementation. In contrast,
a physical design is like a set of blueprints for the actual constructio n of a building.
Typically, a physical design describes the acrual processes of entering, verifying, and
scoring data; the physical layout of data files and sorting procedures; the format of
reports; and so on. Because logical and physical designs are related so closely, good
systems design is impossible wirhour careful, accurate systems analysis. For example,
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 7
Development Strategies
7.10 Summary
222
the analyst migh t return ro fact-finding if it was discovered that an important issue
was overlooked, if users had significant new needs, or if legal or governmental
requirements c hanged.
A junior analyst at a medium-sized IT consulting firm has been asked by her manager to
draft a response to an RFP from a large company that is seeking IT consulting services in
connection with a new accounting system.
As the analyst worked on the RFP. she noticed a specific question about her firm 's
recent experience on this type of system. To the best of her knowledge. the firm has only
worked on one other accounting project in the past three years. When the manager saw
the analyst's draft response, he was upset about the way she answered the question."You
don't have to be quite that candid," he said. " Even though we only had one formal project,
we do have several people who worked on accounting systems before they came here."
"Yes," the analyst replied," But that isn't what the question is asking." As he left her
office, the manager's final comment was, "If we wan t that job, we' ll have to come up with a
better answer." Thinking about it, the analyst isn't comfortable with anyth ing but a straight
answer. Is th is an ethical question? What are her options!
7. I 0
SUMMARY
This chapter described system development strategies and the preparation and presentation of the system requirements document.
Traditional systems must function in various hardware and software environments, be compatible with legacy systems, and operate within the constraints of company nerworks and desktop computing capability. Such systems utilize Internet links
and resources as enhancements. In contrast, Internet-based systems treat the web as
the platform, rather than just a communication channel. Many large companies use
web-based systems co handle enterprise-wide applications. Compared to traditional
systems, web-based systems are more scalable, less dependent on specific hardware
and software, and more adaptable to outsourcing the operation and support of a software application.
Systems analysts must consider •veb-based development environments such as
.NET, M ERN, and various outsourcing options, including ASPs and IBSs. ASPs charge
subscriprion fees for providing application sofrware packages. IBSs offer powerful
web-based servers, software hosti ng,, a nd IT support services ro customers.
The web generation called Web 2.0 is fueling the expansion of information sharing, user collaborarion, and social networking applications such a~ Twiner, Linkedfn,
and Faccbook. Another development, called cloud computing because of the commonly used cloud symbol for the Internet, describes an overall online software and
data environment, powered by supercomputer technology that i the ultimate form of
SaaS.
If a company chooses to handle ics own software development needs, it can create
in-house systems or purchase (and possibly customize) commercially available software packages from a software vendor or VAR.
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
I'
I
P hase 2
Systems A nalysis
223
7.10 Summary
Compared with developing an in-house system, an existing commercial software
package can be an arrractive alrernative, because a package generally costs less,
takes less time to implement, has a proven track record, and is upgraded frequently.
In-house development or customizing a software package might be the best choice
when a standard software package cannot meet specific business requirements or
constraints. In addition to customizing software packages, companies can create
user applications based on standard software that has been specially configured ro
enhance user producnvity.
An 11nporcanr trend that views SaaS, rather than a product, has created new developmenr options. SaaS 1s a model of software deployment in which an application is
hosted as a service provided to customers over the lnterner.
Offshoring, :ilso known :is offshore outsourcing or global 011tso11rc111g, refers to
the practice of shifting TT development, support, and operations co other countries.
In a trend similar co the ourflow of manufacturing jobs over :1 several-decade period,
many firms are sending IT work overseas. The main reason for offshoring is the same
as domestic outsourcing: lower borrom-line costs. Offshore outsourcing, however,
involves some unique risks and concerns.
The systems analyst's role in the software development process depends 011 the
specific development strategy. In-house development requires much more involvement
than outsourcing or choosing a commercial package.
The most important facror in choosing a development strategy is TCO. Financial
analysis tools include payback analysis, which determines how long it takes for a system co pay for itself through reduced costs and increased benefits; ROI, which compares a project's total return with its total coses; and NPV, which analyzes the value of
a projecr by adjusting cosrs and benefits to reflecc che rime thar they occur.
The process of acquiring software involves a series of steps: Evaluate the system
requiremenrs, consider network and web-related issues, identify potential sofnvarc
vendors or outsourcing options, evaluate the alternatives, perform cost-benefit analysis, prepare a recommendation, and implement the solution. During software acquisition, a company can use an RFP or an RFQ. An Rf P invices vendors ro respond to a
list of &)·stem requirements and features; an RFQ seeks bids for a specific product or
service.
The S)'~tem requirements document is the deliverable, or end produce, of the systems analysis phase. The document derails all system requirements and constraints,
recommends the best ~olution, and provides cost and time estimate~ for future development work. The sr~rem requirements document is t11e basis for the management
presentation. At chis poim, the firm might decide to develop an in-house sy~tem, modify the current system, purchase or customize a software package, perform additional
systems analysis work, or stop all further work.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 7
Development Strategies
Key Terms
224
Ke y Te rms
applicauon \Ct\ ice pro' idtl (ASP) A finn chm delivers a wfrware applicauon, or aC(c.,s IO an appltcarion, h) chargoni; a u-.ai:c or 'ub..cnpnon fee.
h.,nchmark A mea\urc<. of rhe rime a package rak~ ro procc<s a certain numhcr of tram.1c11on,,
hu1ld or buy A choice between developmg 10-house sofrware and pur.:hasmg software, often called a
but Id or bu)', or make or buy, decision.
bu<ine<< procc<~ our<ourcing !BPOl The oucsourcing of a basic busin~s process. See a/50 outsourcing.
cloud computing An online <;<>ftware and da-i:a em~ronmenc in which applicanon' and 'crvice' arc
Jcce<.-cd and used ch rough an lncerner connection rather than on a local rnmpucer; refer> co the cloud
.,ymhol for the Internet.
evaluation .ind 'ck-.:tion team A group of people involved in ~deurni: h.irdwa rc and >Oft ware:. The group
111dudc' \)"tcm~ analy>t\ and users. A team a pproac:h cmurc' 1ha1 cnrical fnctor' arc nor overlooked
and that a sound choice is made.
evaluation model A technique rba r uses a common yardstick to mci1sure and comp.ire vendor ratings.
fixed fee model A service model thar charges a sec fee based on a specified level of service and user
supp0rt.
forum An on line di,cu,,ion on a parcicular copic, where people mecl, offer >upport, and e>echani;e idea,,
glob.ii out.,ourdni: The pracrke of ohifting IT development, >upport, and operation' w other countries.
boruon1al application A software pJckage char can be used by man) d1ffercm types of organwmons.
in-bouic >Oft\\ arc An mfonnation cenrer or help desk wubin the 11 dep.rnmem resp0ns1ble for providmg user supporr and offering sen-ices such as hodme ass1sr.111ce, tr.lllltng, and gu1d.1ncc ro users who
need teduuc.il belp.
Internet hu'1nC\\ \cn;cc\ (IBS' Scn•iccs rhar provide powerful wcb-bao,cd \upport for iran•action• •uch
a• order pmce<smg, billing, and customer relariomhip management.
l~ical
dc,ign The definition of an information system's
among ir, componenn..
fun~-rions
and feature-., and rhc relanon,hip<
maintcnam:e agr.'Cmeot A >pecification of the condiuons, ch.uge;, .ind tune fr.une for u>efi to com.1ct
the vendor for assistance when che)' have system problems or quesuons.
mal..c or bu~ The choice between de,eloping in-house sofcware and purchasmg soft\\Jre often 1s called a
make or buy, or bm ld or buy, deos1on.
man.1gcd ho,t1ng 1\n opcrarion 1< managed by the oursidc firm, or hem. t\nothcr term for
me;.,
middlcware Software rhat connects dissimilar applications and enables them to commun1cacc and
e-ichangc data. For exnrnple, rniddleware can link a deparnnentnl darnba'e to a wch server rhn r can
be aClC>~ed by tlienr computers via the Tnrcmet or a company intranct.
mobile dc,·icc )nrnrtphones, cablers, and orb.er computing devices t bar Jre nor permanenrly terhered ro a
desk. T hey connect to 1he ncrwork wirelessly.
nc1 present l'alue (Nl'V} The rocal va lue of rhe beneffrs minus the tota l v.1lue of the coqs, w ith both the
cost~ and benefits being adjusted to reAecr the poinr in tome .it which t hey occur.
off~horc outmurcini: The practice of shifting IT development, su pport, and operation~ m orhcr
coumrie~.
uff.,horing See nff'ihorc out~ourcing.
outwun.;ng Tbe transfer of information systems development, operJuon, or mamrenance tO an
tmn rbat pro\ldc; the~e ser\1ces, for a fee, on a temporary or long-term ba~•~.
p.i)b;icl.. anal~s·~ A deremurumon of ho\\ long it ca kes an informanoo sy~tcm
reduced costs and increased henefirs.
~JD»(".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_._....~~
to
out~ide
pa) for uself through
...
...............
_ .... ~---11rt~
-,..~---~ ~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
I'
I
I
Phase 2
Systems Analysis
225
Key Terms
ph},ical d~illJI A plan for che actual 1mplememarion of che system.
requc\t for propo.,.al (RFP) A wrinen Im of fearures and specificarioru. gi•en co pro>pe<:llve vendor:.
before a >pc.:ific product or pa~kaj\e has been ~b.'ted.
requto't for 1.1uot.auon (RI
Q u.,cd 10 obtain a pnce quotanon or bid on a \pcctfic produu or packaj\e.
return on Ul\C\tmcm (ROI) A percemage rate that measure!. profitabw!} by comparing the total net benefirs (the return ) received from a pro1ecr ro rhe roral costs (rbe mvescment) of r:he project. ROI = (rotal
bcncfirs - 1otal cosrs)/total cosrs.
~en-ice d~k
A centra lized resource staffed by IT professionals char provides users with the supporr they
need ro do cbeir )Obs. Also called help desk.
•en ice prm 1der A firm rhnr offer, oursourdng solucion~. Two popular outsourdng option., involve ASP~
and finm that offer IRS, .
Software J\ a )crvice (\an\) A mu<ld of >ofrwa re <lel i,•cry in which funcrionn liry i, <ldiverc<l 1111 demand
'"a ncrwurk-accc''ihlc '>Crvicc, ra ther rhan a' a tradicional ,o ftwa rc applica tion that ;, duwnlondcd
and in,ta llcd on the cusrnmcr\ compmcr.
sofcwarc license J\ legal agreemeni thar gives users rhe right rouse rhc software under certain cerms nnd
condirions.
softwMe pack.1gc ~frware that is purch.ised or leased from another firm. A corumercit1Uy produced
softw.tre produce. or fonuly or producrs.
'>'tcm requirement' Jo.:umcnt A uo<;ument rhat cunrains the requirement' for the new 'Y'tem, dc...:ribe'
the altcmattve' thar were considered, and makes a •pccific rccommcndattun to mana11cmcnt. It ;, rhc
end producr of rhe 'Y'rcm< nn'11y<i< pha<c.
,ofn,arc 'cndnr Company rh;ir de,·clops <ofr:ware for <ale.
subscription model A sen-ice model that charges a ,·ari<lble fee for an application based on the number
of users or worksrauons char haH' acctss ro che application.
cram.i.:uon model A sen-ict model r:hat charges a variable fee for an applicauon based on rhe \Olume of
transacuoos or oper.mons performed by rhe appltcacion. Also called a usage model.
u,aitc model Su cran,action model .
u~cr apploc.111un Progra1m 1ha1 utili1c ;randard bu~ine>s •oftwarc, •uch a> Mivowft Offilc, wh"h ha'
been confil\urcd in a •pec1fic manner ro enhance user product1v1ry.
mer interface Includes screens, commands, controls, and fea rures rhar enable users
effectively with an applicanon. See <1/so graphical user interface (GUI).
to
mrernet more
' 'alU•'-addcd rc-.dlcr (VAR ) A firm t ha t enhances a commercial package by adding custom feature~ and
conf1gunng 11 for a parucular md usrry.
vertical application A ,oftwan: package that has been develo ped ro handle informnrion requirement\ for
a •pcc1fic rype of bu,i ne,~.
\\'ch 2.0 A ' ccond 11cncr:irio n of 1hc web ihnt enables people to collaborate, interact, Jnd ,h,irc on formation much more dynamically, ba~ed on con cinuo usly avai lable user applications rather than Sto rie
HTML. web page~. lnrcracrivc experience is n ha llmark ofWeh 2.0.
~ JD» (".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_ ._.... ~~
...
. ..............
_ .... ~---11rt~
-,..~---~ ~
.... . _
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Chapter 7
Development Strategies
Exercises
226
Exercises
Questions
I. List three characreristics each of rraditional and web-based development.
2. How does cloud computing support Web 2.0 applications?
3. Why would a company choose in-house sofrware de,·elopment?
4. \Vhat 1s outsourcing?
5. List two reasons offshoring may be risky.
6. What is SaaS?
7. What i!> the primary objeetive of the evaluation and selection team in ~electing a development
strategy?
8. What are the five steps in rhe sofcware acquisition process?
9. What is an RFP, and how does it differ from an RFQ?
10. Explain the relationship between logical and physical design.
Discussion Topics
I. How has the prolifcrarion of mobile devices affected IT professionals?
2. A~ more companies outsource systems development, will there be less need for in-house system~ analysts? Why or why not?
3. Select a financial SaaS applicarion, and describe its main features.
4. Suppose you rned to explain the concept of weighted evaluation models to a manager, and she
responded by asking, "So, how do you set the weight factors? ls it just a subjecti\'e guess?" I low
would you reply?
5. What decisions might managemenr reach at rhe end of the systems analysis phase, and what would be
the next step in each case?
Projects
I. lnvestigate the ROI of cloud-based software development environments.
2. t-.1any financial cools :ire developed using t-.1icrosoft E.xcel. ldeotlfy three applications builr usmg
Excel, and describe how the)' are used in an organization.
3. Visit the IT deparnnem ar your school or at a local company, and dercrmine wherhcr the sysrcms were
developed in-house or purchased. If packages were acquired, find our whar customizing was done, if
any. Write a brief memo describing the results.
4. Profile three companies rhat provide offshore sofcware development services.
5. Various firms and organizations offer IT benchmarking. Locate an example on the Internet, and
describe its ~crv i ces.
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
PHASE
SYSTEMS DESIGN
Systems design Is the third of five phases in the systems development life cycle. In the previous
phase, systems analysis, a logical model of the new system was developed. The output of that
phase, the system requirements document, is used as input to the systems design phase, where a
physical design is created that satisfies the system requirements.
The components of a system are interdependent; therefore, the design phase Is not a series of
clearly defined steps. Although work may start in one area, it is possible to be working with several
different elements at the same time. For example, a decision to change a report format might
require changes in data design or input screens. The design checklist will Include the user interface,
input and output procedures, data design, and system architecture. At the end of this phase, the
analyst prepares a systems design specification and delivers a presentation to management.
The goal of systems design is to build a system that is effective, reliable, and maintainable:
•
A system is effective if it supports business requirements and meets user needs.
•
A system is reliable if it handles input errors, processing errors, hardware failures, or
human mistakes. A good design will anticipate errors. detect them as early as possible,
make it easy to correct them, and prevent them from damaging the system itself. Other
characteristics of a reliable system include it being available nearly all of the time and
proper backups maintained in case of system failure.
•
A system is maintainable if it is flexible, scalable, and easily modified. Changes might be needed
to correct problems, adapt to user requirements, or take advantage of new technology.
Chapter 8 focuses on user interface design. This includes human-computer interaction, seven
habits of successful interface designers, guidelines for user interface design, source document and
form design, printed output, technology issues, security and control issues. and emerging trends.
Chapter 9 focuses on the data design skills that are necessary for a systems analyst to construct
the physical model of the information system. This includes DBMS components, web-based
design. data design terms, entity-relationship diagrams, data normalization, codes, data storage
and access. and data control.
Chapter I 0 focuses on system architecture, which translates the logical design of an Information
system into a physical blueprint. This includes an architecture checklist. the evolution of system
architecture, client/server architecture, the impact of the Internet, e-commerce architecture,
processing methods, network models, wireless networks, and systems design completion.
227
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ .
....._.,.,.. o-...
..,._.,,.,.._..,.~
,........., ................. .._... .., .,. ..,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Chapter 8
User Interface Design
•
• ••• • ••
•
•••• •••••••••••
•••••
• ••
•••••
•
······----····
·····---··-··
......
- ·····
---· --
User Interface
Design
Chapte r 8 is the first of three chapters in the systems design phase of the SDLC. User Interface design
is the first task in this phase. Designing the interface is
extremely important because everyone wants a system
that is easy to learn and use. This chapter explains how
to design an effective user Interface and how to handle
data security and control issues. The chapter stresses
the importance of user feedback and involvement in all
design decisions.
The chapter includes three "Case in Point" discussion questions to help con textualize the concepts
described in the text. The "Question of Ethics" considers the ethical (and possibly legal) constraints on how
far the creative work of others can be used without
crediting the source. for example, In the design of a
company's website.
LEARNING OBJECTIVES
When you fi11is/1 this chapter, you s/Jould be able
to:
CONTENTS
1. Explain user interfaces
2. Explain che concept of hum:m-computer imeracrion, including user-friendly interface design
3. Summarize th e seven habits of successful interface designers
4. Summarize rhe 10 guidelines for user interface
design
5. Design effective source documents a nd forms
6. Explain printed output report design guidelines
and principles
7. Describe three types of printed output reports
8.
Discus~ output and input technology issues
8 . 1 User Interfaces
8.2 Human-Computer lntcracuon
Case in Point 8.1: Casual Observer Software
8 .3 Seven Habir5 of Successful lncerfoce Designers
8 .4 Guidelines for User lncerfoce Design
Case in Poinr 8.2: Boolean Toys
8.5 Source Documenc and Form Design
8.6 Printed Output
Case in Point 8.3: Laty Eddie
8 . 7 Technology Issues
8 .8 Securiry and Co ntrol Issues
8. 9 Emerging Trends
A Question of Ethics
8.10 Summar y
Key Terms
Exercises
9. Describe output and input security and conrrol
issues
10. Explain emerging user interface trends, including modular design, responsive web design, and
prototyp e~
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Phase l
Systems Design
229
8.1 User Interfaces
8.1 USER INTERFACES
A u~er interface (UT) describes how users interact with a computer system and consisrs of all the hardware, software, screens, menus, functions, output, and features
that affect rwo-way communications between the user and the computer. The user
interface is the key t0 usability, which includes user satisfaction, support for busines~
functions, and system effectiveness.
Traditionally, a chapter on user interface design started wirh a discussion of ourput
because ourpur •~ whar u~ers rouched, viewed, and needed to do their jobs. Today, the
situation is different, for several important reasons:
•
Users can design their own output. System designers are more aware of user
needs and desires. A system can maintain dara integrity and still allow users ro
view, sorr, filrcr, and examine dara in any way that helps them do rheir jobs.
There was a rime when rhe MIS depanmenr made those choices and users
had little or no ~ay in the matter. Today, successful applicarions are designed
quite differently-the system developer identifies user needs and then creates a
design that will s:icisfy users and meet corporate requirements.
•
Centralized IT departments no lo nger produce reams of printed reports. Those
reports often gathered dust while sitting on top of file cabinets. \Xlhile a few
examples mighr persist, the overwhelming trend has been to customer-designed
output. The customer might be an individual user, or a community of users,
such as a department. As Chapter 4 pointed out, the IT team must undersrand
user requiremcnrs before creating a solution.
•
The user inrcrfacc itself has evolved into a rwo-way channel, with powerful
output capability, and most user information needs can be met wirh creen-generated darn, which a user can print, view, or save. Well into the 1980s and
be)·ond, a user incerface was a blank character-based screen, which mighr or
mighc nor offer menu choices. ff a user entered a command improperly, che system responded w1rh an error message, which frustrated u ers and stifled product1v1ry. ~1any hardware-cenrric vendors did not understand the imporrance
of the user mrerface and irs implications.
Apple was a pioneer in user interface development, introducing the graphical user
interface (GUI), complete with mouse and screen icons, in the early 1980s. At char
point, nor many companies were ready for this concept. When software giant Microsoft
finally jumped on rhe GUI bandwagon with its Windows~ operating sysrem, the corporate doors swung open, and everyone from managers on down said, "How did we ever
do without chis?"
Many indu~try leaders believe chat rhe besr interfaces are the ones that users do
not even notice-they make sense because they do what user!> expect them ro do. For
example, as :.hown in Figure 8- J, Apple believes that designing an exceptiona l user
incerfoce is essentia l to a !>uccessful app. Apple has long di~cinguished itself from it5
competitor~ by the incuiciveness of its produces. Apple's command of che marker suggests that consumers are willing to pay a premium for products that "ju~t work."
When developing older systems, analysts typically designed all tbe printed and
screen output firsc and then worked on the inputs necessary to produce the re~ults.
Often, the user interface mainly consisted of process-control screenl> chat allowed the
user co send commands to rhe syscem. Thar approach worked well with tradirional
systems that simply cransformcd input data into structured output.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 8
User Interface Design
8.2 Human -Computer Interaction
230
-
-
- -
Designing for iPhone
Leam how to opi.,..ze the design of your app °'game
l0t the al-screen displays or 1Phone Xs, 1Phone Xs Max, end 1Phone XA
Down.,,.d,
FIGURE 8 - 1 Apple has long been a. leader in creating elegant user Interlaces for Its
products.
SOUi"(~ ~ .\-
In<
As information management evolved from centraJized darn proces~ing to dynamic,
enterprise-wide systems, rhe primary focus also shifted-from rhe IT department to
the users themselves. The IT group became a supplier of information technology,
rather than a supplier of information. Today, tbe main focus is on users within and
outside the company, how they communicate with the information system, and how
the system supports the firm's business operations.
In a user-centered system, the distinction blurs between inpur, output, and the
interface itself. Most users work with a varied mix of input, screen ourput, and data
queries as the}' perform their day-to-day job fw1ctions. Because all those casks require
inrcraction with rhe compurer system, the user inrerface is a vital eleme nt in the S)'Stems design phase.
User interface design requires an understanding of human-computer interaction
and user-centered design principles, which are discussed in rhe next section.
8.2
HUMAN-COMPUTER INTERACTION
A user interface is based on basic principles of human-computer inreracrion.
Human-computer interaction (H Cij describes tbe relationship between computers
and the people who use rhcm ro perform rheir jobs, like the worker shown
in Figure 8-2. HCTconcepts apply to everything from smarrphones to globa l
networks. In its broadest sense, HCI includes all the commun ications and
instructions necessary ro enter inpul to the system and to obtain output in the form
of screen displays or printed reports.
Earl y user interfaces involved users ryping complex commands on a keyboard,
which displayed as green cexr on a black screen. Then came rhe GUI, which was a
huge improvement because it used icons, graphical objects, and pointing devices.
Today, designers strive to translate user behavior, needs, and desire& into an interface
that user!> don't really notice. 18,\.1 has stated char the best user interfaces are "almost
transparent-you can ee right through rhe interface to your own work." In ocher
words, a tran~parcnt interface does not disrracr the user and calls no attention to
itself.
(....,..... J:gi( . . . . . I_,.. 4111.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
231
8.2 Human-Computer Interaction
FIGURE 8-2 HCI Is essential to employee product.ivicy. whether the work Is done In a
traditional office setting or on a construetion site like the one shown In this figure.
A systems analyst designs user interfaces for in-house-developed software and
customizes incerfaces for various commercial packages and user productivity applicarions. The main objective is ro create a user-friendly design that is easy to learn and
use.
Industry leaders Nlicrosofr and IBM both devote considerable resources to u~er
interface research. Figure 8-3 describes IBM Research's work on HCI. Their stated
goal is to "design ystems that a re easier and more deligbrfuJ for people to use."
Human-Computer Interaction and Data Visualization
-
:--..·- -
-=--I.:..:.- ..... = ..............,,............. o.. ....... . . .... : ·•di.·•• . ~J.~ --~
......... .,.., ..
,....OWl.tll~aMtir---....-
..c coWiiJrw
e -.
otlon
~
.,.,.....,.,......,a"'49 ...
Olllr~ .. to ftilt
...
~till-
....... ....
prodllC'bMI ..,_... .,..,............. .,..._
111•~·~-
l•chillilo:OC*:oew .....
_
______
...
.
...
HuMM~
ill'Wtlt'............... ,.,,., . . ~...._,. .. ,. . . . . . . ...... .
j&
SOCl'"'I
- .c "
:[::(~-11=---·
:-~~,t
'
!
-
·''
- ' • ' -·,-..Iii 1 • .. Cl)
'
I
!/j
............l'ld ..........."" ........... . ltd ................. '" ....
.. _
..... Ny
_,
..,...,.....,..,..........., .,..
. o.,.. ......................... ~ .. -~
td....._ •.,..,.,..
AtH011wad••••... ....,..,~ .. .....,..._... . .,....,,.. . ........
....,...,.,,_....,... ..... ,.,.,.,._..wMClw..,. ....et1n.,..ez• eacot..O•CHLM.1££t'VlS..,...C$CW ill
................."*,........... ~ ................
FIGURE 8-3 IBM's research division is a leAder in exploring human-computer
interaction (H CI).
Sowc•
.........""_.. ....-.................
_..__
("..,_..., llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~ --- - ·· · ---~~-.,.- " ~
...........
Chapter 8
U ser Interface Design
8 .3 Seven Habits o f Successful Interface Designers
232
Because I ICI has a major impact on user productivity, it get!. lots of anentionespccially where multimillion-dollar issues are concerned. For example, in the article
"Human-Computer lnceraccion in EJeccronic Medical Records: From the Perspect ives
of Physicians and Dara ciencisrs" by E. Bologva er al. from Procedta Computer
Saence 100 (Elsevier, 2016), che authors describe how software usability has a major
impact on rhe medical profession, a nd noc everyone is happy about it-par ticularly
phy)icians who often struggle with electron ic health records ( !:'. HR\ ) systems that
are poorly designed. In her article, 1'1s. Ga rdner points out that physicians often
multirask, answering a question about one patient while writing a prescnpnon for
another, and EHR sofrware was nor designed around char rypc of workflow.
CASE IN POINT 8.1:
CASUAL OBSERVER So i:1 \\',\R E
Casual Observer Software's main product is a program that monitors and analyzes user keystrokes and mouse clicks to learn more about the way employees use their computer systems.
The problem Is that some users feel this is an unwarranted intrusion into their privacy. and
they prefer not to be observed. Some even fear that the data would be used for other reasons,
including performance appraisal. You are a consultant who has been hired by a client firm that is
trying to decide whether or not to use this software.
Before you advise the client, remember the Hawthorne effect, which suggests that
employees might behave differently when they know they are being observed. Finally,
think about the ethical issues that might be involved in this situation. What will you
advise your client, and why?
8.3
SEVEN HABITS OF SUCCESSFUL INTERFACE DESIGNERS
Although IT professionals have different views about interface design, most would
agree rhar good design depends on seven basic principles. Successful interface designers
use these basic principles as a matter of course-they become habits. These desirable
habits are described in the following sections.
8.3. 1 Understand the Business
The inrcrfocc designer must understand rhe u nderlyi ng business funcrions and how
the sysrem supports individual, departmental, and enrerprise goals. The overall objective is ro design an inrerface t har helps users to perform t heir jobs. A good srarting
point mighr be ro analyze a functional decom position diagra m (FDD). As descri bed in
Chapter 4, an FDD is a graph ical represenracion of business functions rhac srarcs wirh
major functions and rhen breaks rbem down inro several levels of derail. An FDD can
provide a checklist of user rasks rhat must be included in the interface design.
8.3.2 Maximize Graphical Effectiveness
Studies show chat people learn bener visually. T he immense popularity of Apple's
iOS and ~1icrosoft Windows is largely che result of their GUls that are easy to learn
and use. A well-designed interface can help users learn a new system rapidly and be
more productive. Also, in a graphical environment, a user can display and work wich
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Phase 3
Systems Design
233
8.3 Seven Habits of Successful Interface Designers
muhiple windows on a single screen and transfer data between programs. If the interface supports data entry, it must follow the guidelines for data entry screen design
that are discussed farer in this chapter.
8.3.3 Think like a User
A systems analyst should understand user experience, knowledge, and skill levels. If a
wide range of capability exists, the interface should be flexible enough ro accommodate novices as well as experienced users.
To develop a user-centered interface, the designer must learn ro think like a user
and see the S)'Stem through a user's eyes. The user interface must be easy to learn,
using terms and metaphors that arc familiar to users. Users are likely to have realworld experience with many other machines and devices char provide feedback, such
as automobiles, ATMs, and microwave ovens. Based on chat experience, users will
expect useful, undersrandable feedback from a computer systen1.
Carefully examine any poinr where users provide input or receive output. Input
processes shou ld be easy co follow, intuitive, and forgivi ng of errors. Predcsigncd output should be attractive a nd easy to understand, with an appropriate level of detail.
8.3.4 Use Models and Prototypes
From a user's viewpoint, rhe interface is the most critical part of the system design
because it is where he or ~he interacts with the sysrem-perhaps for many hours each
day. It is essenrial ro construct models and prorotypes for user approval. An interface
designer should obtain as much feedback as possible, as early as possible. Initial screen
designs can be presented to users in the form of a sroryboard, which is a sketch that
shows rhe general screen layout and design. The storyboard can be created with software
or drawn freehand. Users must test all aspects of che interface design and provide
feedback to the designers. User inpuc can be obtained in interviews, via questionnaires,
and by observanon. Interface designers also can obtain data, called usability metrics, by
using software chac can record and measure user inceracrion with the system.
8.3.S Focus on Usability
STUDENT SERVICES
The user interface should include all tasks, commands,
and communications berween users and the information
system. The opening screen should show the main options
(Figure 8-4 is an illustration). Each screen option leads to
another screen, with more options. The objective is ro offer
a reasonable number of choices that a user easily can comprehend. Too many options on one screen can confuse a
user-but coo few options increase the number of su bmenu
levels and complica te rhe navigation process. Often, an
effective strategy is to present the most common choice as a
default bur allow the u~er to select ocher options.
-
-
Register
SludenlS
I
I
Pnnt Grade
Repof1S
Help
Enter Grades
Exll System
FIGURE 8-4 The opening screen displays the main
options for a student registration system.A user can click
an option to see lower-level actions and menu choices.
8.3.6 Invite Feedback
Even after the sysrem is operational, it is important to monitor
system usage and solicit user suggestions. The analyst can determine if system features are
being used as intended by observing and surveying users. Son1erin1es, full-scale operations
highlight problems char were nor apparent when the prototype was tested. Based on user
feedback, 1lclp screens might need re,;sion and design changes to allow the system ro
reach its full potential.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 8
User Interface Design
234
8.4 Guidelines for User Interface Design
8.3.7 Document Ever ything
All screen designs should be documenred for larer use by programmers. If a CASE
root or screen generaror is being used, the screen designs should be numbered and
saved in a hierarchy s imilar co a menu rree. U er-approved skerches and sroryboards
also can be used to document the user interface.
B)• applyi ng basic user-centered design principles, a systems analyst can plan,
design, and deliver a successful user farerface.
8.4
GUIDELINES FOR USER INTERFACE DESIGN
A system might have advanced cechoology and powe rful fearures, bur rhe real rest is
wherher users like it and feel that ir meets their needs. What follows is a set of general
guidelines for s uccessfu l user interface design. These guidelines arc disrilled from years
of best prncrices in the industry. There is some overlap because many of rhe main
guidelines share common elements.
Although there is no standard approach 10 interface
design, these guidelines are a starting point su itable for
rradirional systems development. User interface development
for web applicati.ons or for mobile apps has its own unique
considerations, above and beyond these general guidelines.
Perhaps rhe most important guideline is rhar not all of these
recommendations musr be followed-the best interface is the one
rhat works besr for the users.
8.4.1 C reat e an Inte rface That Is Easy t o Learn and Use
1. Focus on system design objectives, rather than calling arrention ro the interface.
I
I
Dau -•• IOildl Pluse s1an --..
Dat a ts nol sultablP.
3. Provide commands, actions, and ~y rem re~ponses that are
consistent and predictable.
a-It ti... 1ru.1rucuoru for t his
taslt and t i..."'""''°"' tast l
I
IT'"'
2. Create a design rbat is easy ro undersrand and remember.
Mainrain a common design in all modules of the interface,
including rbe use of color, screen placements, fonts, and rhe
overaU "look and feel."
4. Allow users ro correct errors easily.
Not enough a
l• t o prOCHd.
5. Clearly label all controls, butrons, and icons.
6. Select familiar images thar users can understand, and provide
on-screen instructions that are logical, concise, and cle.1r. For
example, the top screen in Figure 8-5 shows four control
buttons, but none of them has an obvious meaning. Jn the
bottom screen, the first five messages provide little or no
information. The last message i.s rhc only one rhar is easy ro
understand.
data Is lncorrec:I.
Ple•stt use l he proper format:
Three lette.,. f ollowed by three
numMrs. w ith no~
EJtomple: CTSU$
FIGURE 8· 5 In the example at the top. the
icons do not have a clear menage. In the
Help text examples at the bottom. only one
message is understandable.The others would
frustrate and annoy most users.
(....,..... J:gi( . . . . .
7. Show all commands in a list of menu items, bur dim any
commands that are not available ro rhe user.
8. Make it easy to navigate or return ro any level in rhe menu
srructure.
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f •,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
235
8.4 Guidelines for User Interface Design
8.4.2 Enhance User Productivity
The interface is where a u er interacts with the system, so it can have a dramatic
effect on productivity. If the interface empowers a user and enables him or her to handle more complex tasks, the user becomes more productive. Conversely, if the interface 1~ difficult to work with, productivity declines.
I. Organize tasks, commands, a nd functions in groups that resemble actual business operations. Group functions and submenu items in a multilevel menu hierarchy, or rree, that is logical and reflects how users typically perform the tasks.
Figure 8-6 shows an example of a menu hierarchy for an order tracking system.
Customer Order Tracking System
Main Menu
Customers
Orders
Products
Add 11 New Customer
Enter a New Order
Enter a New Product
Update Customer Data
Modify Order Data
Update Product Data
Delete a Cuslomer
Csncel an Order
Deleta a Product
FIGURE 8-6 This menu hierarchy shows casks. commands. and functions organized into
logical groups and sequences. The structure resembles a functional decomposition diagram
(FOO). which is a model of business functions and processes.
2. Create alphabetical menu hsrs or place che selectioas used frequently at the
top of the menu list. No universally accepted approach co menu item placement exists. The best strategy is co design a prototype and obtain feedback
from users. Some applicacioas even allow menus to show recently used commands first. Some users like char feature, but ochers find it distracting. The best
approach is to offer a choice and lee users decide.
3. Provide shorrcurs for experienced users so they can avoid multiple menu levels.
Shortcuts can be created using hot keys that allow a user to press rhe Ale key +
the underlined lener of a command.
4. Use default values if the majority of values in a field are the same. For example,
if 90% of the firm's customers live in Albuquerque, use Albuquerque as the
default va lue in the City field.
5. Use a dup licate vnluc function that enables users co insert the value from the
same field in the previous record, bur allow users to turn this feature on or off
as they prefer.
6. Provide a fast-find feature chat displays a list of possible values a11 soon as users
enter the first few letters.
7. Lf available, consider a natural language feature chat allows users to type
commands or rcquesrs in normal text phrases. For example, many applicat1ons allow users to request Help by typing a question into a dialog box. The
software chen uses natural language technology to retrieve a list of topics that
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 8
User Interface Design
236
8.4 Guidelines for User Interface Design
match the request. Narural language technology is used in speech recognition
sy rems, text-to-speech synthesizers, automated voice response sysrems, web
search engines, text editors, and language insrrucrion material~.
8.4.3 Provide Flexibility
Suppose that a user wants a screen display of all customer balances that exceed
$5,000 in an accounts receivable system. How should that featu re be designed? The
program could be coded to check customer bala11ces against a fixed value of 5000,
which is a simple solution for both the progranuner and the user because no extra
keysrrokes are required to produce the display. However, thar approach is inflexible.
A berrer approach would be to let cite user enter the amount. Or Starr wirh a default
value that displays automatically. Users can press ENTER to accept rhc value or type
in another value. Ofcen the best design strategy is to offer severa I alternati ves, so users
can decide what will work best for them.
8.4.4 Provide Users with Help and Feedback
This is one of the most important guidelines because it has a high impact on users.
Never allow Help to slow a user down. Instead, make 1 lelp easy to find but not
around when users don't need it.
I. Ensure that help is always available on demand. Help screens should provide
informarion about menu choices, procedures, shortcut!>, and errors.
2. Provide user-selected help and context-sensitive help. User-selected help displays
information when rhe user requests it. By 1naking appropriate choices through
the menus and submenus, the user eventually reaches a screen with the desired
information. figure 8-7 shows the majn Help screen for the student regiscradon
S)'Srem. Context-sensitive help offers assistance for the task in progress.
Help Topics
Register Studeflts
Print Class Ros1ars
Enter Grades
Print Grade Reports
Index of Help T op1cs
~ct Tedi Supportj
FIGURE 8 -7 The main Help screi!n for a student registration
system.
3. Provide a direct route for users co return co the point from where help was
requeMed. Title every help screen co jdentify the topic, and keep help cext simple and concise. lnserr blank lines between paragraphs to make Help easier ro
read, and provide examples where appropriate.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f •,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
8.4 Guidelines for User Interface Design
237
4. Include conrnct information, such as a celephone extension or email addres if a
deparrment or help desk is responsible for assisting users.
5. Require user confirmation before data deletion (Are you sure?) and provide a
method of recovering data that is deleted inadvertently. Build in safeguards that
prevent critical data from being changed or erased.
6. Provide an "Undo" key or a menu choice rhar allows rhe user to undo rhe
results of rhc most recent command or action.
7. When a user-entered command contains a11 error, highlight the erroneous
part and allow the user to make the correction without rerypmg the entire
command.
8. Use hypertext links to assist users as rhey navigate help topics.
9. Display messages ac a logical place on the screen, and be consistent.
10. Alert users ro lengthy processing rimes or delays. Give users an on-screen progress report, especially if the delay is lengthy.
11. Allow messages to remain on the screen long enough for users to read them.
ln some cases, the screen should display messages until the user takes some
action.
12. Let the user know whether the task or operation was successfu l or not. For
example, use messages such as Update cornpleted, All transactions have been
posted, or The ID Number iuas not found.
13. Provide a text explanation if an icon or image is used on a control button.
This can be accomplished using a "mouse hover" to displar a pop-up box with
explanation when the mouse is moved over an icon or image.
14. Use messages that arc specific, understandable, and professional. Avoid messages that arc cute, cryptic, or vague, such as ERROR-You have entered a11
unacceptable L'alue, or Error DE-4-16. Better examples are as follows:
• l:.nter a number from 1 (low) to 5 (high)
• Customer 1111111ber 11111st be 1111meric
• Please re-enter a numeric LJalue
• Oil/ the Acco1111ti11g Department, Ext. 239 for assistance
8.4.5 Create an Attractive Layout and Design
This is a subjective area because reasonable people can differ on what is attractive.
The analyst should consider color, layout, and ease of use. Screen mock-ups and menu
trees can be created and tried on users to gee thei:r input. If in doubt, err on the side of
doing a bit less. For example, blinking messages initially may seem like a good idea,
they might noc be the best choice for the interface design. Also try to avoid too many
fonts, styles, and sizes, which can be distracting. Each separate style should communicate something-a different level of detail, another copic, mandatory versus optional
actions, and so on.
1. Use appropriate colors to highlight different areas of the screen; avoid gaudy
and bright colors.
2. Use special effects sparingly. For example, animation and sound might be
effective in some situations, but too many special effects can be distracting and
annoying to a user, especially if he or she must view them repeatedly.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"-> - "'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ..... ......... ~..
__....
~~·~--- - ···---~~ - .,.-" ~
...........
Chapter 8
User Interface Design
238
8.4 Guidelines for User Interface Design
3. Use hyperlinks that allow users to navigate to related topics.
4. Group related objects and information. Visualize the screen the way a user will
see it, and simulate the tasks that the user will perform.
5. Screen density is important. Keep screen displays uncluttered, with enough
white space co create an artracrive, readable design.
6. Display titles, messages, and instructions in a consistent manner and in the
same general locations on all screens.
7. Use consistent terminology. For example, do nor use the terms delete, cancel,
and erase co indicate the same action. Similarly, the ame sound always should
signal rhe same evenr.
8. Ensure that commands always will have the same effect. For example, if the
BACK control button returns a user to the prior screen, rhe BACK command
always shou ld perform that function throughout the application.
9. Ensure that similar mouse actions will produce the same results throughout
the application. The resu lts of pointing, clicking, and double-clicking should be
consistent and predictable.
l 0. \Xlhen the user enters data tha;c completely fills the field, do not move au tomatically co the next field. Instead, require the user to confirm the entry by pressing
the Enter key or Tab key at the end of every fill-in field.
I I. Remember that users are accustomed to a pattern of red stop, yellow caution, and green =go. Stick to that partern and use it when appropriate to reinforce on-screen instructions.
12. Provide a keystroke alternative for each menu command, with easy-to-remember
letters, such as File, Exit, and Help.
13. Use familiar commands if possible, such as Cur, Copy, and Paste.
14. Provide a \Vindows look and feel in the interface design if users are familiar
with Windows-based applications.
15. Avoid complex terms and technical jargon; instead,
select terms that come from ever)•day business processes and the vocabulary of a typical user.
=
___...._............
__
... __.... .
_,.,,.,..
.............
__
....
-
8.4.6 Enhance the Interface
A designer can include many features, such as menu bars,
roolbars, dialog boxes, text boxes, toggle buttons, list
boxes, scroll bars, drop-down list boxes, oprion burrons,
check boxes, command buttons, and calendar controls,
among others. Screen design requires a sense of aesrhctics as well as technical skills. U er feedback should be
obtained early and often as the design process continues .
...,..,.
..
FIGURE 8 -8 An e~mple of a switchboard introducing
TurboTax. The main options are tlearly displayed on an
uncluttered screen-something particularly Important for
users who are hkcly to be confused and/or ner<0us when
beginning the iax preparation process.
Souttg •
•,
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
=
~- )U,
..,...,.......,..~
1. The opening screen is especially important because it
introduces the application and allows users to view the
primary options. The starting point can be a ~witchboard
with well-placed command buttons that allow users to
navigate the system. Figure 8-8 shows the switchboard
of TurboTax introducing a tax preparation program.
The main options are clearly displayed on an uncluttered
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
239
8.4 Guidelines for User Interface Design
screen. The addition of che picrure showing cax professionals ready co help
provides a en e of calm and confidence co che user-someching parricularly
imporcanc for users who are likely co be confused and/or nervous when beginning the cax prepararion process.
2. Use a conunand buHon co initiace an action such as printing a form or requesting help. For example, when a user clicks the Find Student command button in
Figure 8-9, a dialog box opens wich instructions.
-
•
- ..
STUDENT REGISTRATION SYSTEM
Cont.ct IT Help at Ext. 2236
for user support
-..1cv...
r
2019-2020
SSH 111.. 11.. 11 11
E2I AdYhof Aj•ls~
City New Hope
Liil N•nwt H.amftton
ST PA
rlot N..,.e R...,
Zlp l2J45
!atr•n.al~t Olt
• rvll TlrM
HornePo"°""(S55)9"--
MI M ,
Street 607 w..15princ Strfft
O PMITune
Worll Pl>oM (555) SU--
Courses
Pref ·
MAT
OS
IUS
x
0
• Nutnbel • SKtJon •
lU
-·
Find Student
2
l
Print Record
HELP
-- ,_-r-ltudtnU
"'~""'
-by•h«llrit U., ol
Fond~
•
a
x
P!Nse ent~ a SocYl Security Numbe<.
use the format w u ·UU.
FIGURE 8-9 A dar.a enrry screen for a student registration system.This screen uses several design reacures
that are described in the text. When a user dicks the Find Student command button. a dialog box ls displayed
with instructions.
3. If a sofcware p:ickage is being used, check ro sec if it allows the creation of
cu:.tomized menu bars and coolbars. lf so, consider these opcions.
4. Add a shorccuc feature chac Ices a user select a menu command either by
clicking the desired choice or by pressing the Alt key+ the underlined letccr.
Some forms also use a coolbar that contains icons or buttons that represenc
shortcucs for cxecucing common commands.
5. lf variable inpuc daca is needed, provide a dialog box chat explains what is required.
6. A toggle bunon makes it easy to show on or off stacus-dicking che coggle
button switches co the ocher stare.
.........""_.. ... .-.................
_..__
("..,_..., llll!O( ...... . . - - . .\) ....... ~
...................
--......
"-> - "'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ..... ...... ... ~..
__....
~~·~---- ···---~~ - .,.-" ~
...........
Chapter 8
User Interface Design
240
8.4 Guidelines for User Interface Design
7. Use liq boxe~ rhar display rhe ava ilable choices. If rhe lisr docs n ot fir in rhe
box, a scro ll bar allows the user ro move through the available choices. Also, be
sure ro provide another way ro enter data rhat does not align with a specific lisr
choice.
8. Use an option b utton, or radio bunon, to control user choices. For exa1nple,
if the user can select only one option, display a smtable message (Choose one
item), but if chere is no restriction, display a d ifferent message (Choose all that
apply). Use a black dot to show selected options.
9. If check b oxes are used to select one or more choices from a group, show the
choices with a checkmark or an X.
10. \Xlhen dares must be entered, use a calendar control that allows the user to
select a dare that rhe system will use as a field value.
8.4. 7 Focus on Data Entry Screens
Data entry is especially important because it is in rh e job description of so many users.
I. Whenever possible, use a data entry method called form filling, where a blank
form that duplicates or resemb les rhe sou rce document is completed on the
screen.
2. Restrict user access ro screen locarions where data is entered. For example, in
the Eventbrirc event manage ment data entry when rh e screen in Figu re 8-10
appears, the sysrem should position the insertion point in rhe first data enrry
location. After rhe operator enters an event ride, rhe insertion point should
move auroma rically ro the enuy location for rhe next field (Location ). A user
should be able to position che insertion poinr only in places where data is
enrcrcd on rhe form.
4 I
--- -. o --
I
...
-- ----·-----a--
. -.....
-,_
FIGURE 8-10 In this data entry screen for creating ewints. the system generates start and end
dates and times automatically, but these can be changed by the user at any time.A red asterisk, as
shown beside Event Title, indicates required fields. Gray text within the data entry field leis the user
know what information to provide.This text is replaced with user input.
,......,
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,...... .,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~--- t fta111&....-.~~ ij
__.~~ c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
241
8.4 Guidelines for User Interface Design
3. Provide a way ro leave rhe data enrry screen ar any time without entering the
current record, such as a "Cancel" burron. Since che application shown in
Figure 8- I 0 is web based, chis can be accomplished by selecting the" Back"
bunon of rhe browser (not shown).
4. Provide a descriptive caption for every field, and show the user where co enter
the data and che required or maximum field size. Typically, wluce boxes show
the location and length of each field. Other methods used to indicate field locations are video highlighting, underscores, special symbols, or a combination of
these features.
5. Provide a means for users co move among fields on the form in a standard
order or 111 any o rde r the) choose. In a GUI, the user can override the standard
field order and select field locations using the mouse or arrow keys.
6. Allow users co add, change, delete, and vie'v records. Messages such as Apply
these changes? (YIN) o r Delete this record?. (YIN) should requfrc users co
confirm the accions. Highlighting che letter N as a defaulc response will avoid
problems if the user presses the Enter key by mistake.
7. Design rhe screen form layout ro march the layout of the source document. If
the i.ource dc>cumenr fie lds srarr at the mp of the form and run down in a column, the input screen shou ld use the same design.
8. Display a sample format if a user must enter values in a field in a specific format. For example, provide an on-screen instruction ro let users know that rhe
dare format is MMDDYY, and provide an example if rhe user must enter separators, such as slashes.
9. In addition to rhe sample format in che preceding rule, it might be better to
use an mput mas!-, which is a template or pattern that reMricts data entry
and prevents errors. Microsofr Access provides standard input masks for
fields such as dates, telephone numbers, postal codes, and Social Securit)'
numbers. In adduion, custom inpur masks can be c reated, as shown in
Figure 8-1 1. Note char a mask can have a specific format. For example, if a
user enters cext in lowercase letters, che input mask will capitalize the first
letter auromarically.
10. Require an ending keystroke for every field. Pressing the Enter key or che Tab
key should signify the end of a field entry. Avoid a design char moves auromarically 10 rhe next irem when rhe field is full. The latter approach requires an
ending keystroke only when the data entered is less rhan the maximum field
length. It is confusing rouse two different dara entry procedures.
11. Do not require users to type leading zeroes. for numeric fields. For example,
if a three-digit projecr number is 045, rhe operator should be able to type 45
instead of 045 before pressing the Enter key. An exception to that ru le might
occur when entering a date, where a leading zero is needed to identify singledigit monchs or days, such as 06-04-2013.
12. Do not require users to type trailing zeroes for numbers that include decimals.
For example, when a user rypes a value of 98, the system should interpret che
value as 98.00 if the field has been formatted to include numbers with rwo
decimal places. The decimal point is needed only ro indicate nonzero decunal
places, such as 98.76.
13. Display default values so operators can press the Enter key to accept the suggested value. If the default value is not appropriate, the operator can change ir.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 8
User Interface Design
242
8.4 Guidelines for User Interface Design
.
..l_..... ............
-
Hllp
.
p
......,..__ ...........
__---.-----............. -
...........
...
----
---
---·--
.,__
,............__ .......... .,..,,..
.........................................
....c- ... _.,.....__ ... ......,....._ ....
._,
..,.- - - - - - . .. . . .c -.. - • • •
- . .__
..-
...
•
.
.
~
~"---~
--~---__,.
- -...
Htlp
................
__... .......... ..............
_.,...
________-.--......,....,.. ................
......................
__
Q:li. \lt- tti.l
p
•
uw..._.. ....... .i . . .
t
u... ................
'----·-
llW•-·-..
* ................
.. ..............
..._ __ ........ _
..
'
.,...
~---·-
FIGURE 8 -1 1 MicrosoftAccess provides various input masks
for dates, phone numbers, and postcodes, among others. In
addition, it is easy to create a custom mask using the characters
shown here.
56u~e1 ~ e,....~7.00tl'
14. Use a default value when a field value will be constant for successive records or
throughout rhe data entry session. For example, if records are input in order by
dace, the dare used in che first transaction should be used as the default date until
a new date is entered, at which time the new date becomes the default value.
15. Display a list of acceptable values for fields, and provide meaningful error
messages if the user enters an unacceptable v:ilue. An even better method, which
was described under Rule 5: Enhance the Imerface, is co provide :i drop-down list
box containing acceptable values that allows the user co select a value by clicking.
16. Provide users with an opportunity to confirm the accuracy of input data before
entering it by displaying a message such as, Add this record? (YIN). A positive
response (Y) adds the record, clears the entry fields, and position~ rhe insertion
point in the first field so the user can input another record. If rhe response is
negative (N), the current record is nor added and the user can correct the errors.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-
Woip-M ._..,.. - ·~•-fllllie<'f •,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
243
8.4 Guidelines for User Interface Design
Dara enrry screens should also anricipare furure needs. Consider a parts invenror}'
database rhar contains a one-character field for category, such as elecrrical, mechanical, or hydraulic. The design works well, bur whar if rhe compan)' decides ro break
these overall groups down inro more specific segmenrs? A bener design would anticipate pos~ible expansion ro two or more characters. For example, in 1999, there was
widespread concern about whar was called rhe Y2K issue because many older programs used only rwo characters co store the year and might not recogni1e the start of
a new century.
8.4.8 Use Validation Rules
Reducing inpur errors improves data quality. One way to reduce input errors is to
eliminate unnecessary data entry. For example, a user cannol misspell a customer
name if i1 is not entered or is entered automatically based on the user enrering the
customer ID. Similarly, an outdated item price cannot be used if the item price is
retrieved from a master file instead of being entered manually. The best defense
against incorrect dara is to identify and correct errors before they enrer the sysrcm by
using data validation rules, as shown in Figure 8-12. A data validation rule improves
input quality by testing rhe data and rejecting any entry that fails to meet specified
conditions. The design can include at least eight types of data validation ru les.
•
p
.......
-...
~-------
--___
•
...,,
...____
..... _....
..
,...,._
.....
_____
....-----.-.----.__.....,.
...-... ..._
.. _
.....____..,
-·-
._._
--~
-
........
_.....
-......
•
•
..
,.... . . _.....__.._.._...............
---.........
-·•mtiau
.
..•
- ..........
. __._
,....,_
............. -_...51111
~
l!OJ • _ _ _ _ ..._
-~
..... .._,
s... ........................ _............
____ ,,,,. _ _ _ _
- - - - ...- •4 ... - - - - - -
........-
.......,......
•
FIGURE 8-12 Microsoft Access provides varidauon rules that
can improve daa quality by requiring the input to meet specific
requirements or conditions.
-
.........""_.. ... .-.................
c
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"-> - "'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ..... ...... ... ~..
__....
~~·~----··----~~ - .,.-" ~
...........
Chapter 8
User Interface Design
8.4 Guidelines for User Interface Design
244
I. A sequence check can be used when the data must be in some predetermined
sequence. If the user musr enter work orders in numerical sequence, for example,
then an our-of-sequence order number indicates an error, or if rhe user must
enter transactions chronologically, then a transaction with an out-of-sequence
dare indicates an error.
2. An existence check can apply to mandatory data items. For example, if an
employee record requires a Social SecUiity number, an existence check would
not a llow the user to save the record until he o r she enters a suitable value in
the Social Security number field.
3. A da ra I ) pc check can rest to ensure that a data item fits the required data
type. For example, a numeric field must have on ly numbers or numeric symbols, and an alphabetic field can contain only the characters A through Z (or a
through z).
4. A ra nge check can be used to verify that data items fall between a specified
minimum and 1naximum value. The daily hours worked by an employee, for
example, must fall within the range of 0 to 24. When the validation check
involves a minimum or a maximum value, but nor both, it is called a limit
check. Checking t hat a payment amount is greater than zero, but not specifying
a maximum value, is an example of a limit check.
5. A reasonableness check identi fies values that are questionable bur not necessarily wrong. For example, input payment values of $0.05 and $5,000,000.00
both pass a simple limit check for a payment value greater than zero, and yet
both values could be errors. Similarly, a daily-hours-worked value of 24 passes
a 0 to 24 range check; however, the v:tlue seems unusual, ,1nd the system should
verify it using a reasonableness check.
6. A validi ty check can be used for data items that muse have cerrain values. For
example, if an invenrory system has 20 valid item classes, then any input item
that docs nor march one of the valid classes will fail rhe check. Verifying that
a cusromer number on an order marches a customer number m rhc customer
file is another rypc of validity check. Because the value entered musr refer ro
another value, tha t type of check also is called referential integrity, which is
explained in Chaprcr 9, Dara Design. Another validity check might verify thar a
new cusromer number does nor march a number already stored in the customer
master file.
7. A combina tion check is performed on rwo or more fields to ensure that they
arc consistent or reasonable \Vben considered together. Even though all rhe
fields involved in a combination check might pass their individual validarion
checks, rhe combination of the field values might be inconsistent or unreasonable. For example, if an order input for 30 units of a particula r item has an
input discount rate applicable on ly for purchases of I 00 or mo re units, then
the combination is inval id; either the input order quantity or the input discount
rare i~ incorrect.
8. Barch controls are totals used to verify batch input. Batch controls might check
data items such as record counts and numeric field torals. For example, before
entering a batch of orders, a user might calculate the total number of orders
and rhe sum of all the order q uantities. When the batch of orders is entered,
the order system also calculates the same two totals. lf the system corals do
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
245
8.4 Guidelines for User Interface Design
nor match the input totals, then a data entry error has occurred. Unlike rhe
other validation checks, batch controls do nor idenrify specific errors. For
example, if the sum of all the order quantities does not march rhe batch control
total, the only thing known is that one or more orders in that batch were
entered incorrecrly or nor input. The batch control totals often are called ha ~h
total ~ because they are nor meaningful numbers themselves but are useful for
comparison purpo~es.
8.4.9 Manage Data Effectively
In addition to irs effect on users, data management impacrs company efficiency, producriviry, and security. To reduce input errors, the system should enter and verify dara
as soon as possible, and each dara irem should have a specific rype, such as alphabetic, numeric, or alphanumeric, and a range of acceptable values.
It is important ro collect inpur dara as close to irs source as possible. For insrance,
using barcode scanners r:icher rhan manual forms on a warehouse freight dock, or
having sa lespeople use rablers to record orders rather than filling in source documents. The easiest, mosr accur:ire, and least expensive dara input strategy is automated dara capture.
In an efficient design, data is en tered only once. For example, if input data for
a payroll system also is needed for a human resources system, the analyse could
design an interface co transfer data automatically, or a central data storage area
could be created char both systems can access. Chapter 9 describes normalizarion,
which is a sec of rules chat can help avoid data design problems. A secure sysrem
also includes audit trails rhat can log every instance of data entry and changes.
For example, the system should record when a customer's credit limit was sec,
by whom, and any ocher information necessary to consrruct the history of a
transaction.
8.4. 10 Reduce Input Volume
This is the final guideline, bur in some ways it sbouJd be the first because it affects all
the resr. When input volume is reduced, unnecessary labor coses are avoided, which in
turn gets the data inro rhe system more quickly and decreases the number of errors.
Therefore, the analyst should start by reducing the number of data items required for
each transaction.
1. Input necessary data onl)•. Do not input a data item unless it is needed by the
system. A completed order form, for exaJnplc, might contain the name of rhe
clerk who took rhe order. If that data is not needed by the system, the user
should nor enter it.
2. Do nor input dara rhar rhe user can retrieve from system files or ca lculate from
ocher dara. This reduces input errors and dara inconsistencies.
3. Do not input constant dara. lf orders are in batches with the same date, then
a user sho uld enter the order date only once for the firsr order in the batch. If
orders are entered online, then the user can retrieve the order date automatically using the current sysrem date.
4. Use code~. Codes arc shorter than the data they represent, and coded input can
reduce data entry rime. Codes are discussed more in Chapter 9.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 8
U ser Interface Design
8.5 Source Document and Form Design
246
CASE IN POINT 8.2:
BOOLEAN TOYS
Suppose you are a systems analyst swdying the order processing system at Boolean Toys. a
fast-growing developer of software for preschool children. You know that many data entry
users have complained about the input screens. Some users would prefer to rearrange the
order of the fields. others would like to change the background color on their screens. and still
others want shortcuts that would allow them to avoid a series of introductory screens.
What if Boolean's users could customize their own data entry screens without assistance from the IT staff by using a menu-driven utility program? What wou ld be the pros
and cons of such an approach1When should a systems analyst decide a design issue, and
when should users be allowed to select what works best for them?
8.5
SOURCE DOCUMENT ANO fORM DESIGN
No marrer how data enters a n information system, the quality of the output is
only as good as the quality of the input. The term garbage in, garbage out (G IGO)
is fami liar to IT professionals, who know that the best time to avoid problems
is when the data is entered. The main objective is to ensure the quality, accuracy,
and timeliness of input data. Unfortunately, the dream of a "paperless office" has
never been realized. Even with RFlD technology and automated data capture, we
still enter data on source documents and fo rms, and instead of a human-computer
interface, systems analysts muse deal with the challenge of a human-paper
interface.
A ~ource document collects inpur dara, rriggers or authorizes an input acrion,
and provides a record of the original transaction. During the input design stage, the
analyst develops source documents that are easy to complete and u e for dara entry.
Source documents generally are paper based but also can be pro,ided online. Eicher
wa)', the design considerarions are che same.
Consider a rime when it was a srruggle to complete a poorly designed form. There
mighc have been insufficient space, confusing instructions, or poor organ1.l.3non-all
symptoms of incorrect fonn layout.
Good form la)'OUt makes the form easy to complete and provides enough space,
both vercically and horizonrally, for users to enter the data. A form should indicate
data entry positions clearly using bla nk lines or boxes and descriptive captions. Also
consider using check boxes whenever possible, so users can select choices easily. However, be sure to include an option for any input that does not match a specific check
box.
The placement of information 011 a form a lso is important. Source documents
typically incl ude most of the zones shown in Figure 8-13. The heading zone
usua lly contains the company name or logo and the title and number of the
form. The control zone contains codes, identification information, numbers, and
dates rhat are used for storing completed forms. The instruction zone contains
instructions for completing rbe form. The main part of the form, called rhe body
zone, usually cakes up at least half of the space on the form and contains captions
and areas for entering variable data. If rota ls are included on the form, they
appear in the totals zone. Finally, the authorization zone contatns any required
signatures.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Phase l
Systems Design
24 7
8.6 Print ed Output
Heading
Control
Zone
Zone
lnstructioo Zone
Body
Zone
Totals
Zone
Authorization Zone
FIGU RE 8- 13 Source document zones.
lnformanon shou ld flow on a form from left co right and top to bottom to match
the way users read documents naturally. That layout makes the form easy to use for
the individual who completes the form and for users who enter daca into the system
using the completed form.
The same user-friendly design principles also apply to printed forms such a~
invoices and monthly statement , except that heading information usuall)' 1s preprinted. Column headmgs should be short but descriptive, avoiding non!>tandard
abbre\lat1on!>, wtch reasonable spacing becween columns for bener readability.
The order and placement of printed fields should be logical, and totals should be
identified clearly. When de~igning a preprinted form, contact the form's vendor for
advice on paper sizes, rype styles and sizes, paper and ink colors, field placement, and
other important form derails. The goal is to design a form that is anractive, readable,
and effective.
Layout and design a lso are important on web-based forms. TI1ere arc many
resources that will help with designing efficient, user-friendly forms. These include
websites that muse conform to the U.S. Federal Government's accessibi lity guidelines,
which can be found o nline ar http://www.section508.gov.
8.6
PRINTED OUTPUT
Before designing printed output, there arc several questions to consider:
•
•
Why is this being delivered as printed output, rather than screen-based information, with an option for users to view, print, or save as needed?
\'<'ho wants the information, why is it needed, and how will it be used?
•
•
\'<'hat specific informarion will be included?
\'V1ll the printed output be designed for a specific device?
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 8
User Interface Design
248
8.6 Printed Output
•
•
When and how will the information be delivered, and how ofren must it be
updated?
Do security or confidentialiry issues exist? How will they be managed?
The design process should not begin until these questions have been answe red.
ome information probably was gathered during the systems analysis phase. To gain
more understanding, the analyst should meet with users to find out exactly what kind
of output they are requesting. Prototypes and mock-ups can be u~ed to obtain feed back throughout the design process.
8.6. 1 Re port Design
Although many organizations strive to reduce the flow of paper and printed reports,
few firms have been able to eliminate printed output totally. Because they are porrable, printed reports are convenient and even necessary io some situations. Many users
find it handy to view screen output and then print the information they need for a
discussion or business meeting. Prinred output also is used in turnaround documents,
which :ire output documents rhat are later entered back into the sa me or another
information system. In some areas, the telephone or utility bill, for exa mple, might be
a turnaround document printed by the company's billing system. When the required
portion of rhe bill is returned with payment, rhe bil l is scanned into the company's
accounts receivable system to record the payment acc urately.
Designers use a variety of styles, fonts, and images ro produce reports that arc
attractive and user-friendly. Whether printed or viewed on-screen, reports must be
easy to read and well organized. Rightl y or wrongly, some managers judge an entire
project by the quality of the reports t hey receive.
Databa~e programs such as ~1icrosofr Access include a variery of report design
tools, including a Re port Wizard, which is a menu-driven fearure that designers can
use to create reports quickly and easily. Many online web-based database systems also
provide similar report design guidelines.
Although the vast majorit}' of reports are designed graphically, some S)'Stems srill
produce one or more ch aracter-based reports that use a characcer set with fixed spacing. Pruning character-based reports on high-speed impact pnncer~ 1s a fasr, inexpensive method for producing large-scale reports, such as payroll or mventory reports, or
registra tion rosters at a school. This is especially true if multiple copie :ire required.
Users should approve all report designs in advance. The best approach is ro prepare a sample report, called a mock-up, or prototype, for users to review. The sample
should include typical field values and contain enough records to show all the design
features. Depending on the type of printed output, a Microsoft \"Qord documenc can
be created, or a report generator used, to create mock-up reports.
8.6.2 Re port Design Principles
Printed reporrs must be att ractive, professional, and easy to read. For example, a
well-designed report should provide totals and subtotals for numeric fields. In the
reporr shown in Figure 8- 14, nore thar when the value of a control field, s uch as Store
Number, changes, a control break occurs. A control break usually causes specific
actions, such as printing subtotals for a gro up of records. Thar rype of derail report is
called a control break repo rt. To produce a control break report, the records must be
arranged, o r sorred, in control field order.
Good report design requires effort and attention to detail. To produce a welldesigned report, the analyst must consider design features )uch as reporr headers and
footers, page headers and footers, column headings and alignment, column spacing,
field order, and grouping of detail lines.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
249
8.6 Print ed Output
REPORT HEADER.S AND FOOTERS: Every report should have a report header and
a report footer. The report header, which appears at the beginning of the report, identifies the report and contains the report title, date, and other necessary information.
The report footer, which appears ac che end of rhe report, can include grand totals for
numeric fields and ocher end-of-report information. as shown in Figure 8-14.
Every page should include a page header, which
appears at the rop of rhe page and includes the column headings that identify the
PAGE HEADERS AND FOOTERS:
lden~fying
hours fields
ftelds
Employee Hours
Week end ing date: 6128/2019
Store
Number
Emp loyee
Name
8
8
8
8
8
8
Andres, Marguerite
Bogema, Michelle
Davenport, Kim
Lemka, Susan
Ramirez, Rudy
Ullery, Ruth
Regular
Hours
Overtime
Hours
20.0
12.5
40.0
32.7
40.0
20.0
0.0
0.0
5.0
8.5
0.0
20.0
12.5
45.0
32.7
48.5
20.0
165.2
13.5
178.7
40.0
40.0
40.0
20.0
32.0
8.4
00
11 0
00
00
48.4
40.0
51.0
20.0
32.0
Store 17 totals:
172.0
19 4
191.4
Grand totals:
337.2
32.9
370.1
Position
Clerk
Clerk
Asst Mgr
Clerk
Manager
Clerk
control break
on Store
Number field
Store 8 totals:
De Mar!Jnl, Jenniler
Haff Lisa
R1ttenbery, Sandra
17
17
17
17
17
Clerk
Manager
Cterk
Clerk
Clerk
Wyer. Elizabeth
Zeogler Cealle
Total
Hours
o.o
Page 1
}
}
report header
page header
}
group footer
}
report footer
}
page footer
FI GU RE 8 - 14 The Employee Hours report is a detailed report with concrol breaks, subtotals, and grand totals. N ote that a report
header identifies the report. a p~ge header contains column headings, a group footer contains subtotals for each score. a report
footer contains grand totals, and a page footer identifies the page number.
data. The head ings s hould be shorr but descriptive. Avoid abbreviations unless the
users will unde rstand them clearly. Either a page header or a page footer, which
appears ar rhe borrom of the page, is used ro display rhe report title and the page
number.
Database programs such as Microsoft Access make it easy ro create groups and
!>ubgroup~ based on particular fields. The report can also calculate and display torn Ii.,
average~, record counts, and orher data for any group or subgroup. For example, a
large company might want to see total sales and number of sales broken down by
product within each of the 50 stares. The information shown in Figure 8-15 is part
of Acct!l>!>' on line help that refers co a step-by-step process for creating multilevel
group mg.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 8
User Interface Design
8.6 Printed Output
250
Create a grouped or summary report
OOt....
-'019.-20•8,-2t!1--~ !),
lnlonna1lon IS often ID undlnland when~ IS inlO groupL For_,_., . report lhet groups
by NglOn can hlgllloghl tnnds tNll ,,._,.. moghl go u11110Ciced In lddi1'0t\ ~ tOCllll c.ICh a
...... or a>•~ ot lhl tnl ol wh graup., your repor1 can replKe a lol ol menuel ln!inclO'l ,..th 1
ClbAa!or
.-.:c.a mel;ee worldng "'"" giouped teports 911SY. 'lb.I Cll1 . . . . . . bulc grouped report by ...ng lhl
~ Wlzald. )IOU can edd ~ng and son.>g to an OXlltJng t9pOtl. or )IOU can -
grouping and
IOt""O Oll(IOnt tnet have en.ly been dellned.
Not•: Tl* -
_ , , llllPll'
pUllll9l1 Ol'lllne
"'----tho
kind"' d i ! _ you deolgn- -
.,.,
In this article
C..ata a quick grouped or sorted report
Build 1 new grouped report by us.ng the Report Wlzatt:I
Acid or modlly Q""""'111 and sort.ng in an elOSbng report
FIGURE 8 - IS MicrosoftAccess includes an easy-co-use tool for grouping data.
Sourc:.. M
roi
a-- r "'P'
.JOfl
REPEATING FIELDS: Report design is an art, noc a science. User involvemcnc is
csscnrial, hue users ofcen don'r know whar they want without seeing samples. for
example, consider che issue of repeating fields. The sample report in Figure 8- 14
repeats the store number on every row. Is chat a good thing? The best advice is co ask
users what they think and be guided accordingly. A similar issue exiscs with regard to
the overtime hours column. ls ir bener co print the zero·O\'ertime data, or only print
actual hours, so che data srands our clearly? Again, the best answer is usually the one
that works best for users.
CONSISTENT DESIGN: Look and feel are important to users, so reports should
be uniform and consiscenr. When a system produces multiple reports, each reporr
should share common design elements. For example, the date and page numbers
should print in the same place on each report page. Abbreviations used in reporcs also
should be consistent. For example, when indicating a ntuneric value, it is confusing
for one reporc to use#, anorher NO, and a chi.rd NUM. ltems in a report also should
be consistent. ff one report displays the inventor)' location as a shelf number column
followed by a bin number column, that same layout should be used on all inventory
location reports.
8.6.3 Types of Re ports
To be useful, ::i report must include the information that a user needs. From a user's
point of view, a report with too Little information is of no value. Too much information, however, can make a report confusing and difficult to understand. When design·
ing reports, the essential goal is ro match the report co the user's specific informarion
needs. Depending on rhcir job functions, users might need one or more of the reports
described in rhe following sections.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
251
8.7 Technology Issues
DETAIL REPORTS: A derail report produces one or more lines of ourpur for each
record processed. Because it contains one or more lines for each record, a derail
report can be quite lengthy. Consider, for example, a large auto parts bu5iness. If the
firm stocks 3,000 parts, then rhe derail report would include 3,000 derail lines on
approximately 50 printed pages. A user who wants to locate any part in short supply
has ro examine 3,000 derail lines ro find the critical items. A better alternative might
be an exceprion reporr.
EXCEPTION REPORTS: An exception report displays only those records that meet
a specific condinon or conditions. Exception reports are useful when the user wanrs
information only on records char might require action bur does not need to know the
derails. For example, a credit manager might use an exception report ro identify only
those customers with pasr-duc accounts, or a customer service n1anager might want a
report on all packages tha t were not delivered wi-rhin a specified time period.
SUMMARY REPORTS: Upper-level managers often wa nt ro sec toral figu res a nd do
nor need supporting details. A sales manager, for example, might want ro know total
sales fo r each sa les representa tive but not want a derail report listing every sale made
by them. In rhat case, a ~ ummary report is approp riate. Simila rl y, a personnel 111:111ager might need ro know the rota I regular and overtime hours worked by employees
in each store bu r might nor be interested in the number of hours worked by each
employee.
CASE JN POINT 8.3:
L AZY EoorE
Lazy Eddie is a furniture chain specializing in recliners. Their management has asked you to
review the large number of printed reports that are distributed to Lazy Eddie's 35 store
managers. Management is not sure that the managers actually read or use the reports,
even though the store managers say they want them. Store visits have shown many of the
reports end up sucked on top of filing cabinets. seemingly untouched.
To determine if store managers really use the p rinted reports. management has asked
you to create a procedure that requires users to review and justify their information
needs. You could design a form that asks if the information still is required, and why. You
could try to get users co decide if a report is worth che cost of producing it. How do you
proceed!
8. 7 TECHNOLOGY Issues
Unlike early innovations such as the mouse and the inkjet printer, most tech nology
advances today affect both output and input. In a very real sense, output and input
have become interdependent, as rhey are in a user interface, and it is difficult to cite
examples of changes in one that wo uld acn cause, or at least encourage, changes in
the other. For example, new touch-screen input technology generates output that
must be properly designed and sized for a panicllllar device, which might be a smarcphone, a tablcr, or a 23-inch desktop monitor.
The following sections discuss outpur and input technology separately, bur interface designers should always be al ere to the possible opportunities, or potential problems, of input/output linkage.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ .
....._.,.,.. o-...
..,._.,,.,.._..,.~
,........., ................. .._... .., .,. ..,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Chapter 8
User Interface Design
252
8.7 Technology Issues
8.7.1 OutputTechnology
Alrhough business information systems srill provide mosr output as screen di~plays
and printed matter, technology is having an enormous impact on how people communicate and obtain information. This rrend is especial!)' important ro firms char
use informarion technology to lower their costS, improve employee producriv1ry, and
communicate effectively with their customers.
In addirion to screen output and printed matter, output can be delivered m many
wa)'S. The system requirementS document probably identified user output needs.
Now, in the systems design phase, rhe analyst creates the actual forms, reports, documents, and orher rypes of output that might be accessed from workstarions, notebooks, tablets, smarrphones, and other devices. How the information will be used,
stored, and retrieved must also be considered. The following subsections explain va rious output types and technologies.
INTERNET-BASED INFORMATION DELIVERY: Millions of fi rms use the Internet to
reach new customers and markets around the world. To support rhe explosive growth
in e-commerce, web dcsi&rners must provide user-friendly screen inte rfaces that display
ourpur and nccept input from cusromers. For example, a business can link irs invenmry system to its website so the o urput from the inven tory system is displayed as an
o n line cam log. Customers visiting the site can review the items, obtain current prices,
and check product availabiliry.
Another example of web-based o utput is a system that provides customized
re~ponses to product or technical questions. When a user enters a product inquiry or
requests technical support, the system responds with appropriate information from
an on-site knowledge base. Web- based delivery a llows users to download a universe
of fi les and documents to support their information needs. For example, the web provides consumers with instant access to brochures, product manual , and parts lists,
while prospective homeburers can obtain instant quotes on mortgages, insurance, and
other financial services.
To reach prospective customers and investors, companies also use a live or prerecorded \.. ebcast, which is an audio or video media file distributed over the Internet.
Radio and TV stations also use this technique to broadcast program material to their
a udiences.
Email is an essential means of internal and external business communication. Employees send and receive email on local or wide area networks, including the
Internet. Companies send new product information to customers via email, and financial services companies use email messages ro confirm on line srock trades. Employees
use ema il to exchange documents, data, a nd schedules and to share business-related
information they need to perform th eir jobs. In ma ny firms, email has virtually
replaced traditio nal memos and pri nted correspondence.
EMAIL:
BLOGS: \Xleb-based logs, called biogs, are anorher form of web-based output.
Because biogs are journals written from a particular point o f view, rhey nor only
deliver facts to web readers bur also provide opinjons. Biogs are useful for po~ting
news, reviewing currenr events, and promoting products.
INSTANT MESSAGING: This popular form of communication is another way for
individuals and companies ro communicate effectively over the Internet. Although
some users feel that it can be a distraction, others like rhe constant flow of communication, especially as a team member in a collaborative situation.
(....,..... J:gi( . . . . . I_,.. 4111.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
253
8.7 Technology Issues
WIRELESS DEVICES:
~1cssages and data can be transmitted to a wide array of
mobile devices, including rabler computers, smarrphones, and similar wireless produces rhar combine porrable computing power, multimedia capabilit)', and lnterncr
access.
DIGITAL AUDIO, IMAGES, AND V I DEO: Sounds, images, and video clips can
be cap-
tured, srored in d1g1ral format, and cransmirred as output to users who can reproduce
the content.
Audio or video ourput can be attached to an email message or inserred as a clip in
a Nlicrosofr \Xlord document. Businesses also use automated systems to handle voice
transactions and provide information ro customers. For example, using a telephone
keypad, a cusromer can confirm an airline seat assignment, check a credir card balance, or derermine rhe current price of a mutual fund.
If a picture i!> worrh a rhousand words, then digital images and video clips certainly are high-value ourpur types char offer a whole new dimension. For example, an
insurance adjuster with a digita l camera phone can take a picture, submit the image
via a wireless device, and receive immediate authorization to pay a claim on the bpOt.
1f unages are a valuable form of output, video clips are even better in some situations.
for example, video clips provide online virtual tours that allow realtors to show off
the best features of homes they are marketing. The user can zoom in or out and rota re
the iJnage in any direction.
An automated fax or f~back sy:.rem allows a
customer ro request a fax using email, via the company website, or by telephone.
AUTOMATED FAX SYSTEMS:
The respon e is transmitted in a matter of seconds back co the user's fax machine.
Although most users prefer to download documents from the web, many established
organizations still offer an automated faxback service as another way to provide
inunediate response 24 hours a day to a certain ser of customers. Certain industries
in particular, such as drug scores and doctor's offices, insurance companies, and real
estate brokers, still rely on fax machines as a primary way of communication.
PODCASTS:
A podcast is a specially formaned digital audio file that can
be down-
loaded by internet users from a variety of content providers. Many firms use podcasts
as sales and marketing cools and to communicate witb their own employees. Using
software such as iTunes, users can receive a podcast, launch the file on tbeir computer,
and store it on their porrable player. Podcasrs can include images, sounds, and video.
COMPUTER OUTPUT TO DIGITAL MEDIA: This process is used when many paper
docun1ents muse be sc::inned, stored in digital format, and retrieved quickly. For example, if an insurance company stores rhousands of paper applic::ition forms, special
software can treat the documents as data and extract inforn1ation from a particular
column or area on rhe form. Digita l storage media can include n1agnetic tape, CDs,
DVDs, and high-density laser disks.
An incredibly diverse marketplace requires
many forms of specialized output and devices. For example:
SPECIALIZED FORMS OF OUTPUT:
•
•
Portable, web-connected devices that can run multiple apps, handle multimedia
output, and provide powerful, mulripurpose communication for users
Retail poinr-of-sale terminals rhat handle computer-based credit cord transactions, print receipts, and updare inventory records
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 8
User Interface Design
2 54
8.7 Technology Issues
•
•
Auromaric relier machines (AT Ms) that can process bank transacrions and
print deposir and withdrawal slips
Special-purpose printers rhat can produce labels, employee ID cards, driver's
licenses, gasoline pump receipts, and, in some states, lottery rickets
•
Plotters that can produce high-quality images such as blueprints, maps, and
electronic circuit diagrams
•
Electronic detection of dara einbedded in credir cards, bank cards, and
employee identification cards
8.7.2 lnputTechnology
Input rechnology has changed dramarically in recent years. ln addition ro traditional
devices and methods, there has been a rapid expansion of new hardware and ways to
capture and enter data into a system, some of which are shown in Figure 8-16. Businesses are using the new rechnology to speed up the input process, reduce cosrs, and
capture daca in new forms, such as digital signatures.
INPUT TECHNOLOGY
Traditional
Evolving
Emerging
Keyboard
Body motion detection
Brain-computer interfaoe (BCI)
Mouse
Advanced voice recognition
Neural networks
Polnhng devices
Biological feedback
Arllfcal intelligence (Al)
MicrophOne
Embedded magnetic data
Advanced motion sensors
OCR (optical character
recogn1lion)
RAD
Two-way satellite interface
MICA (magnetic mk character
recognnion)
Advanced opt'Cal recogn&tiOl'I
V1nual environments
Graphic input devices
Physical adaptaoon dev>ees
3·0 tecnnok>gy
FIGURE 8- 16 Input devtees can be very traditional or based on the latest technology.
Input methods should be cost-efficient, timely, and as simple a~ possible. Systems
analysts study transactions and business operarions to determine how and when data
should enter the system. Usually, the first decision is whether to use batch or online
inpul meLhods. Each metbod has advantages and disadvantages, and the systems analyst must consider the following factors.
BATCH INPUT: Using batch input, data entry usually is performed on a specified
rime schedule, such as dai ly, weekly, monthly, or longer. For example, batch input
occurs when a payroll department collcctS rime cards at the end of the week and
enters the data as a barch. Anorher example is a school that enters all grades for the
academic term in a batch.
ONLINE INPUT: Although batch input is used in specific situations, most busi-
ness activity requires o nline data en t ry. The online method offers major advantages,
including the immediate validation and availability of data. A popular online input
method is ~o u rce da ta a uto mation, which combines online dara entry and automated
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
255
8.8 Security and Control Issues
data capture using input devices such as radio frequency idenrificario n(RFID) tags,
magnetic data srrips, or even smarrphones. Source data automation is fast and accurate and minimizes human invokement in the translation process.
~1any large companies use a combination of source daca automation and a powerful communication network to manage global operations insranrl)'· Some common
examples of source data automation are as follows:
•
Businesses that use point-of-sale (POS) terminals equipped with bar code scanners and magnetic swipe scanners ro input credit card data
•
Automatic teller machine (ATMs) that read data srrip on bank cards
•
Factory employees who use magnetic ID cards to clock on and off specific jobs
so the company can track production coSts accurately
•
Hospitals that imprint bar codes on patient identification bracelets and use
portable scanners when gathering data on patient treatment and medic:ition
•
Retail stores that use porrablc bar code scanners to log new shipments a nd
update inventory dara
•
Libraries that use hand held scanners co read optical strips on books
TRADE-OFFS: Although on line input offers man y advantages, it does have some dis-
advanrages. For example, unless source data automation is used, manual data entry
is slower and more expensive than batch input because it is performed at the rime the
transaction occur5 and often done when computer demand is at its highest.
The decision to use batch or online input depends on business requirements. For
example, hotel reservations must be entered and processed immediately, bur hotels
can enter their monthly performance figures in a batch. ln fact, some input occurs
naturally in batches. A cable TV provider, for example, receives customer paymenrs an
batches when the mail arrives.
8.8
SECURITY AND CONTROL
Issues
A company must do everything in its power to protect its data. This includes not only
the firm's own information bur that of its customers, en1ployees, and suppliers. Most
assers have a value, bu r corporate data is priceless because without safe, secure, and
accurate data, a company cannot function.
The following sections discuss output and input data security and control.
8.8.1 Output Security and Control
Ourpur must be accurate, complete, current, and secure. Companies use various
output control methods to main rain output integrity and secu rity. For example, every
reporr ~hou ld include an appropriate title, report number or code, printing date, and
time period covered. Reporrs should have pages that are numbered consecutively,
identified <lS Page 1111 of nn, <lnd the end of the report should be labeled cle<lrly.
Control totals and record counrs should be reconciled against input totals and
counts. Reports should be selected at random for a thorough check of correctness <lnd
completeness. All processing errors or interruptions must be logged so they can be
analyzed.
Output ~ecuri ty protects privacy rights and shields the organization's proprietary
data from theft or unauthori.ted access. To ensure o utput securirr, several important
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 8
User Interface Design
8.8 Security and Control Issues
256
tasks must be performed. First, limit the number of printed copies and use a tracking
procedure to account for each copy. \'(Then printed ourput is distributed from a central
location, !>pecific procedures should be used ro ensure th3t the output is delivered to
3Uthonzed recipienrs only. Thar is especially true when reports contam sensirive inform3non, such 3S payroll data. All sensitive reporrs should be stored in secure 3re3s. All
p3ges of confidential reports should be labeled appropriately.
As shown 111 Figure 8-17, it is important to shred sensitive reporcs, our-of-date
reporrs, and output from aborted print runs. Blank check forms must be stored in a
secure loc3tion and be inventoried regularly to verify that no forms 3re missing. If signarure scamps 3re used, they must be stored in a secure locanon away from the forms
storage location.
FIGURE 8 - 17 To maintain output security.it is important to shred sensitive
material.
In most organizations, the IT department is responsible for coordinating output
control and security measures. Systems analyses must be concerned with security
issues as they design, implement, and support information systems. \Xlhenever pos·
sible, security should be designed into the system by using passwords, shielding sensitive data, and controlling user access. Physical security a lways will be necess3ry,
especially in the case of printed output that is tangible and can be viewed and h3n·
died easily.
Enterprise-wide daca access creates a whole new ser of security and control issues.
Many firms have responded to those concerns by installing disk less workstations. A
di ~ klcss wo rkstation is a network terminal that supports 3 full -featured user interface
but limits the printing or copying of data, except to certain network resources rhar
can be monitored and controlled. This concept would typically preclude rhe use of
portable storage devices, such as USB thumb drives.
8.8.2 Input Security and Control
Input control includes the necessary measures to ensure that input data is correct,
complete, and secure. lnput control must be the focus during every phase of input
design, starting with source documents that promote data accuracy and quality. \Vhen
a batch input method is used, the computer can produce an input log file thar identi·
fies and documents the data entered.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
257
8.9 Emerging Trends
Every piece of informarion should be craceabJe back ro the inpur dara rhar
produced ir. Thar means rhe analysr muse provide an audir rrail rhat records rhc
source of each dara ircm and when ir enrered the sysrem. In addirion ro recording
the original source, an audi r rrail must show how and when data 1s accessed or
changed, and by whom. All those actions must be logged in an audic rrail file and
monirored carefull}.
A company must have procedures for handling source documents co ensure char
data is nor lost before ic cnrers che system. All source documents char origmare from
outside rhe organi1.acion should be logged when they are received. Whenever source
documents pass between dcparnnenrs, che transfer should be recorded.
Data securit)' policies and procedures protect dara from loss or damage, which is a
viral goal in every organization. If the safeguards are nor 100% effective, dara recovery utilities should be able co restore lost or damaged data. Once data is entered, che
company should srore source documents in a safe locacion for some specified length
of time. The company should have a records rerention policy that meets all legal
requirements and business needs.
Audit trail files and reports should be stored a nd saved. Then, if a data file is
damaged, the information can be used to reconstruct the lost data. Dara security
also involves protecting data from unauthorized access. System sign-on procedures
should prevent unauchorized individuals from enttering rhe sysrem, and users should
change their passwords regularly. Having several levels of access also is advisable. For
example, a data enrry person mighr be allowed co view a credit Limit but nor change
ic. Sensitive data can be encrypted, or coded, in a process called encryption, so only
users wich decoding software can read ir.
8. 9
EMERGING TRENDS
The user interface conri nues ro evolve. The widespread use of mobile devices such
as the iPad and other tablcrs, coupled with the ubiquiry of the iPhone and ocher
smarcphones, has greacly influenced user inrerface design. lndeed, key user experience
lessons from chese devices have been rcflecced back into the user interface for mainscream operaring sy~rems such as Mac OS X and Microsoft Windows.
le is d1fficulc ro predict the future, but the introducrion of che Apple \Xlacch, G<x>glc's Wear OS, Ficbit's fimess crackers, and other wearable devices promises ro furrher
shake up user incerface design principles. Advanced technology will supporr rhe evolurion, but rhe real driving force will be user empowerment, which re~u lts in customer
:.atisfacrion, increased producrivity, and bottom-Line savings.
8.9. 1 Modular D esign
ln a modular dc~ign , individual compo nenrs, called modules, are created rhat connccr
to a higher-level program or process. In a scrucrured design, each module represents a
specific process, which is shown on a DFD and documented in a process description.
If an object-oriented design is being used, as described in Chapter 6, code modules
rcpresenc classes. Modula r design is explained in more detail in C ha peer I I, which
describes systems implemenrarion.
Modules should be designed ro perform a single funcrion. Indcpendenc modules
provide grearcr Aexihiliry because they can be developed and rested individually and
rhen combined or reused larer in che developmem: process. ~1odular design is especially imporranr in designing large-scale systems because separare reams of analysrs
and programmer can work on different a reas and then integrate the resulrs.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 8
User Interface Design
258
8.9 Emerging Trends
8.9.2 Responsive Web Design
Today's conccnc is viewed by users on mulriple devices: compucers, cablcts, and smartphones. Each device has irs own form factors char can limir rhe user experience. For
example, rhc physical dimensions of a smartphone preclude rhe use of wide mcnusw1thour forcing rhe user to scroll horizontally coo much.
Responsive web design is an emerging trend chat renders web concent properly,
independencly of rhe device in use. This means the developer only has to focus on
essential user incerfoce issues; how che GUI arrifoccs are presented on che device
is handled automatically by the underling framework. Responsive web design
addre ses various nonfunctional anribuces, including usability, performance, and
maintainability.
Responsive web design relies on a number of underlying technologies, including
CSS3, flexible images, and fluid grids. Page clements are expressed in relative ccrms
(e.g., perccnragcs), racher than absolute cerms (e.g., pixels). This a llows rhe conrenr to
"flow " properly in the user interface, irrespective of the display device.
8.9.3 Prototyping
Prototyping produces an early, rapid ly conscructed working version o f the proposed
information system, called a procotype. Prototyping, which involves a reperirive
sequence of analysis, design, modeling, and testing, is a common technique rhac can
be used co design a nything from a ne w home co a computer network. For example,
engineers use a prororype co evaluate an aircraft design before production begins, as
shown in rhe wind runnel testing in Figure 8- 18.
FIGURE 8- 18 Wind tunnel t esting is a typical example of prototyping.
t-o:J·1.esy off'lAS.A
User inpur and feedback is essenrial ar every srage of the systems devclopmcnr
process. Prororyping allows users co examine a model rhar accurately represenrs
sysrem o urpurs, inpurs, inrerfaces, and processes. Users can " tesr-drivc" rhc model in
a risk-free environmenr a nd eirher approve ir or request changes. In some siruarions,
the protorype evolves inro the final version of rhe information system. In orher
cases, rhc prororype is inrended o nly ro validate user requirements and is disca rded
afterward.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
259
8.9 Emerging Trends
Perhaps the most intense form of prororyping occurs when agile methods are u~cd.
As described in Chapter I, agile methods build a sysrem by creating a series of prototypes and constanrly adjusting them to user requirements. As the agile process continues, developers revise, extend, and merge earlier versions into the final product. An
agile approach empha~i1es continuous feedback, and each incremental step •~affected
by what was learned in the prior steps.
Systems analysts generally use two protoryping methods: system protoryping and
design protoryping.
SYSTEM PROTOTYPING: System prototyping produces a full-featured, working
model of the information system. A system prototype that meets all requirements is
ready for implementation, as shown in Figure 8-19. Because the model is "on track"
for implementation, it is especially important to obtain user feedback and to be sure
that the prototype meets all requirements of users and management.
Planning
/
Implement
the system
FIG URE 8- 19 The end product of system prototyping is a working model of
the information system. ready for proper implementation.
DESIGN PROTOTYPING: Systems analyses also use protoryping to verif)' user
requirements, after which the procorype is discarded and implementation continues.
The approach is called design protot)'ping, or throwaway prototyping. ln this case,
the prororyping objectives arc more limited but no less important. The end product
of design procoryping is a user-approved model tha t documents and benchmarks the
features of the finished system. Design prototyping makes it possible ro capture user
input and approval while continuing co develop the system within che framework of
the SDLC. Systems analyses typically use design prototyping as they construct outputs, inputs, and user interfaces.
TRADE- OFFS:
Prororyping offers many benefits, including rhe following:
•
Users and systems developers can avoid misunderstandings.
•
System developers can create accurate specifications for the finished system
ba11ed on the prototype.
•
,\ lanagers can evaluate a working model more eHectivelr than a paper
specification.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~----···---~~-.,.-"~
...........
Chapter 8 User Interface Design
8.10 Summary
260
•
•
S>•Stcms analysts can use a prototype ro develop resring and training procedures
before rhe finished sysrem is available.
Prototyping reduces the risk and potential financial exposure char occur when
a finished system fails co support business needs.
Alrhough most systems analysts believe rhar rhe advantages of prororypmg far outweigh any disadvantages, the following porenrial problems should be considered:
•
•
•
•
The rapid pace of development can creare quality problems, which are nor discovered until the finished system is operarionaJ.
Other sysrem requiremenrs, such as reliability and mamtainabiliry, cannot be
rested adequately using a prororype.
In very complex systems, the prototype can become unwieldy and difficult ro
manage.
A client or user might wanr to adopt the prototype with few to no changes,
mistakenl y thinking that the prororype will meet their needs though it may
need further customization, leading to increased maintenance costs later in che
SDLC.
One of the systems analysts on the project team thought that he dad a good job of designing the company's tech support webpage, but his supervisor isn't so sure. His supervisor is
concerned that the design is very similar to a page used by the company's major competitor, and she asked him whether he had used any HTML code from that site in his design.
Although the analyst didn't copy any of the code. he did examine it in his web browser to
see how they handled some design issues.
The supervisor asked the analyst to investigate webpage copyright issues and report
back to her. In his research, the analyst learned that outright copying would be a copyright
violation, but merely viewing other sites to get design ideas would be permissible. What
is not so clear is the gray area in the middle. The analyst asked you, as a friend, for your
opinion on this question: Even if no acrual copying is involved, are there ethical constraints
on how far you should go in using the creative work of others! How would you answer!
8. I 0
SUMMARY
The chaprer began with a discussion of user inrerface design and HCI concepts. A
GUI uses visu::tl objects and techniques tha r allow users to communicate effecrively
with the system. User-centered design principles include understanding rhe business,
maximizing graphic effectiveness, thinking like a user, using models and prororypes,
focusing on usabiliry, inviting feedback, and documenting everything.
When designing rhe user inrerface, it should be transparent; create an inrerface
that is easy to learn and use; enhance user productivity; make ir easy ro obtain help or
correct errors; minimize inpur dara problems; provide feedback; create an attractive
layout and design; and use famjliar terms and images. Control features, such as menu
r..,,...JID)r-..1-.. 4• 11_.. • ...__. ~... . ... .,...~ • ........._ . ....._.,.,.. o-... ..,._.,,.,.. _ ..,.~ ,........., ................. .._... .., .,. ..,.~"
................... ..., ...................... .... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
Phase l
Systems Design
26 1
8.10 Summary
bars, toolbars, drop-down lisr boxes, dialog boxes, toggle burrons, list boxes, oprion
burrons, check boxes, and command burrons can also be added. Controls are placed
on a main swirchhoard, which is like a graphical version of a main menu.
The discussion of input design began with a description of source documents and
the various 1.ones in a document, including the heading zone, the control zone, rhe
instruction zone, the body 1one, the totals zone, and the authorization 1one. The discussion of darn enrry screen design explained the use of input masks and vahdauon
rules to reduce data errors. Input masks are like templates rhar only permit certain
combinations of characters, and data validation rules can provide checks ro ensure
that inappropriate data is prevented from enreri11g the system. These checks can
include dara sequence, existence, range and limit, reasonableness, and validity, among
others.
The chapter described various rypes of printed reports, including detail, exception,
and summary reports. The features and sections of reports, including control fields,
control breaks, report headers and footers, page headers and footers, and group headers and footers were explained. Other types of output, such as web-based information
delivery, audio output, instant messagi.ng, podcasts, email, and other specialized forms
of output were also discussed.
Batch and on line input methods were also described, as were input media and procedures, and input volume. Input methods include data capture and data entry. Dara
capture, which may be automated, involves identifying and recording source dara.
Dara entry involves converting source data into a computer-readable form and entering it inro rhe system. New technology offers optical and voice recognition systems,
biological feedback devices, morion sensors, and a variery of graphical input devices.
Securiry and conrrol were discussed. Ourpur control includes physical protection
of data and reporrs and control of unauthorized ports or devices that can extract data
from rhc system. Input conrrols include audir trails, encryption, password security,
data security, and rhe creation of access levels ro limit persons authorized to view or
use data.
Finally, che emerging trends of modular design, responsive web design, and prototyping were discussed.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 8
User Interface Design
Key Terms
262
Ke y Te rms
audit cra1I A re.:ord of the ;ource of each daca item and when 11 l!ncercd a >y>tem. In add111on IO recording the cmgmal 'ource, an audu trail mu_\~ sho\\ how and when tbt.1 '' 3l"<:C\\Cd or changed, and hy
"horn. \II the'>e action> mu>t he logged in an audit trail file and monitored carefullr.
authori1,;uion zone Part of a form that contajns any required \lgnaturc'>.
automated f.ix A system rhar allows a cusromer ro request a fax using cmJil, the company website. or
a telephone. The response is cransmirrcd i:n a matter of seconds back to cbe user"s fax ma,hme. See
fall back.
batch A group of dara, usually mpurted mto an mfoananon system at the same mne.
b.uch uintrol A 1n1al u,ed to verify batch input. Batch control> might check data item\ wch 3'> r..-cord
count~ and numeric field totals. For example, before cnterin11 a hatch of order,, a lt'>tr mi11ht .:.1kulatc the roral number of order; and rhe <um of all rhc order quantiric~. When the hatch of order< i'>
enrcrcd, rhc order i.ystem al'>o ca lculates rhe same cwo IOtak If the ;y~tcm meals do not match the
111put torn I,, rhcn a tbt:t entry error has t>ecurred.
batch input A proces' where d:ua enrry is performed on a ~pecified cime ~chcdu lc:, ~uch O'> daily, weekly.
monrhl)', or longer. For example, hatch input occur~ when a payroll dq>arm1c11t collect' mne c.1rd' at
the end of the week and enters the data as a batch.
blog An onlme journJl. The rerm is a conrraction of "web log."
calendar control A calendar control allows che user to select a dJtc that the system will d1spla> and store
JS .1 field value.
character·ha'>cd report J\ report created using a single mono-'>paced characcer ...:c.
chccl. box U.;ed to '>elect one or more choices from a group. A check mark, or an X, repre-cnr- .;elected
option'>.
combuuuon chc:d A t) pe of d.11a \ alidacjon check that LS perfonned oo cwo or more field; to ensure
chJt che) arc con~mcnr or reasonable when considered together. ben though Jll the fields involved m
a combmauon check m1ghc pass rheir individual \alidation checks, the comhmauon of chc field values
might be incontjstent or lillrcasonable.
command button Onscreen button that initiates an action such as prinung a form or re<Juesnng Help.
contc"·'cn,irhc A fearurc that i< sen~itive ro rhe currenr conditions when it i\ imokcd. For example,
conte"t·\en'>!tiq: hdp offer- :i5sisrance for a rask in progress.
control hrcJk A control break u~uall y causes specific a•-rion~ to occur, ~ud1
11roup of records.
.I'>
pnn11n11 >ubtotal> for a
control break report A detail rcporr that focuses on control breaks.
control field order In a conrrol break reporr, the records are arranged or sorted on the same order as the
cont rol fields.
data security Prorccrion of darn from loss or damage and recovers darn when it is lost or damaged.
dam rypc check A type of darn va li dation check rhat is used ro ensure thar o darn item fir~ the requi red
dJm type. For example, a numeric ticld must have onl) numbers or numeric ~ymbt>I~. and an alpha·
bc11c field can contain only chc characters A through Z or the character~ a through t..
datJ 'alidJtion rule: A me.::hanism to improve input quality by tesung tbe datJ .ind re1e~11ng .111y entry
that f.111~ to meet specified condmons.
default \aluc A "alue that a system displays auroma11cally.
dc\1gn prototyping Creating a protocypc of user requirements, after whu:h the prororypc 1s d1..cardcd
and 1mplementarion connnues. Also called rhrowawar promryping.
detail report A derail report produces one or more lines of output for each record proccs<ed.
dialo11 bo'< Allows a u~r ro enrcr information about a cask that a system wtll perform.
~ JD» (".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_ ._.... ~~
...
. ..............
_ .... ~---11rt~
-,..~---~ ~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Phase l
Systems Design
263
Key Terms
d1\klc\\ \\Orl.\lauon A nc1work 1crminal 1ha1 <upportS a full-foarurcd user mtcrfaL"C hu1 limit\ 1he prinl·
ing or cop)·mg of data, c"<ct'pt to certain network r~urccs chac can be monitored and conrrolled
more ea;il).
electronic hcahh record EHR An electronic record of a patienc's bealch information gencrJtcd as the
paacm encounters various health-care prondcrs and shared among muluplc facwncs Jnd a@.enc1~.
cncr)pllon A proce;; where data 1s coded (converted into unreadable characters) ;o that only tho;e wuh
cbe required au1hor1z.tnon can access the data (usuallr via decoding software ).
cucpllon rcpor1 A d1xumcn1 di,playing only 1ho"' rc.:ords chat meet a \p«1lic cunditmn or L·ondit11111\.
Fxccption rcpom arc u\eful when the u<;er wane• information on ly on records that might require
aL"tllln hut doc.; nor need m know rhe derail~.
exi\tcnce check A cype of d:im validation check chat is used for mandmory darn item\. For cx:imple, if
an employc:c record rc4uirc' a Social Securiry number, an exisrence check would no1 allow the ui.er to
,.we 1hc record u111il he or \he enter., a .,uitable value in the SSN field.
faxback See .1urom.11cd fox .
Conn fillins A very effcc1ivc method of online data enrry where a blank form thJt duplicates or resem·
hies the source document i~ completed on the screen. The user enters rhe da!l1 and rhen movcs to the
11ext field.
form layoul The phr•ical appearance and placemem of data on a form. Form layout make~ the form
ca') m complete and provide' enough ~pace, horh vertically and horizomally, for U\t!f\ m enter the
data.
garb;age m, g.irb.li;c ou1 (GIGO! The concept that rhe quality of rhe ourpur" only"' good'" rhe qual1ry
of the in put.
graphical user interface (GUI) Inc usc of graphical objects and techniques allowing user~ 10 commum·
cate with a s~·srem. A well-designed GUI can help users learn a new S)Stem rapidl) and work with rhe
sys1cm effecuvcl).
bash totals !\ot meaningful numbers 1hentieh es but are u.>eful for comparison purposes. Also knO\\ n as
batch control 101.ils.
human-cnmpu1er 1n1craL"linn (I ICH A d~cnpnon of the n:lanon~hip between computer~ and the people
who u>e them to perform hu~inc<i~·rclarcd ra5ks. HO concepts appl)' to cvcry-rhing from a PC' de~krop
to the marn menu for a glohal network.
inpul comrol The ntxc''"'1 me:hure• ro ensure rhar input d ata is correct, complete, and \ecurc. 1\ '>Y•·
tern~ anal)M mu\I focu'> on rnput conrrol during every p h ase of input design, srnmng wi1h \ourcc doc·
umcms 1h:t1 promote d:ua a''uraq and quality.
mput mas!. femplare or pattern char makes 1r easier for users
forms to guide an unfamiliar user.
to
enter data. Often used
111
automated
limi1 check Occurs when a va lidmion check involl'~ a minimum or a maximum value, hut nor both.
Checking 1hat a payment amount is greater than zero, bur nor specifying a maxim um value. i; an
example of n lunic check.
1;,, box An output mcchani>m that di>plays a liM of choices rhar the user can >elcLl.
menu b.1r A >Ct of user->clcLtable •ofrware applicariun uptiom, usually locarcu acro~s 1hc rop of Lhc
>erccn.
mocl.·up When dc;,igmng a report, a 'ample report is prepared, which 1s a mcxk·up, or pro101ypc, for
users 10re\1cw. rhc s.1mple should include ryp1cal field va lues and com.tin enough records to ~how all
the de~ign fcamrc\.
modular dc,1gn A deMgn that can be broken down into logical block» Abo known a; partirionmg, or
top-down deMgn.
~ JD» (".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_ ._.... ~~
...
. ..............
_ .... ~---11rt~
-,..~---~ ~
.... . _
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Chapter 8
User Interface Design
Key Terms
264
module Rel:ued program code or:ganaed into small uruts that Jn~ eaS) to undent.rnd and m.umam. A
complex program could have hundreds or even chousands of modules.
n~tural l~n11ua11c A \<Jftwarc feature that allows u~~ to l)'J>C command, or re<1u"'t' m normal En11l"h
(or other lan1,'llai;c) phra'>CS.
onl1nc dat;i cnin A data enrry method used for most hu~ine'~ activ11)'. The onlinc mcrhod offer. major
advanca~es. mduding che immediate \•alidation and arnilability of data.
opuon button Radio bunons that represenc groups of options. The user can select only one option at a
ume; a ~ele-:ted op11011 contains a black dot. Se!' also radio button.
outpu1 control Methods to mrumam ourpur mregrity and secunry. l'or cx.1mple, C\ery report should
include an appropriate title, repon number or code. primmg dare, and tune period covered. Reporn
should ha\'C pages that arc numbered consecutively, 1dcnn6cd as 1'.1gc X'X of xx, .ind the end of rhc
rcpor1 should be labeled clearly.
output i.ccuri1y Ourpur security prorects privacy rights and bhield~ the nri;ani1ario11·~ propricrnry darn
from 1hch or unnuchorizcd accc,~s.
pa11c footer Appears at rhc hotcom of rhe page and is used to display the name of chc report and 1hc
pa11c numhcr.
pjgc header Appears .u the top of the page and mdudes the coh1lllll he.1dmgs
tl1Jt
1denrif) rhe dara.
podcast A wcb-b.1scd broadcast that allows J user ro receive .1udio or 111ulumcd1,1 file5 using music
pla)Cr sofrware such as iTunes, and listen to them on a PC or download them ro a portable MP3
pla}er or smart phone.
protol)pt An e.~rl)', rapidly con<rrucced working ver;ion of rhe propo-.cd mformarion ~y<tcm.
promr) pini; The merhod br which a prorocype is developed. Jc inH>lve- a repc:riri\c ~equcnt:c of an:ilr~i<,
de\l)ln, modclm11, and te;ung. It 1~ a common technique chat can be u-.cd m de\1i;n an) th11111 from a
new home ma computer nerwork.
radio button 8unons rhar represent groups of options. The user can select onl) one opuon ;u
selected opuon contains a black dor. See also option button.
.1
ume; a
radio frcqucn() idenrific:iuon RFID) tag An input de,ice used in source data au1oma11on.
range check A type of dara ,·alidation check chac tests data icems ro "enfy chat they fall l'Crwcen a specified minimum and maximum \'alue. The daily hours worked b) an employee, for e\amplc, mu<c fall
\\ 11h111 1hc rani;e of 0 IO 24.
rca,onahlcnev, check A t) pc ot data validation check tha1 idcmific> v;ilue> 1ha1 arc <1uc,tionablc but not
necc<sanly wrong. For c"Xamplc, input payment va lues of $0.05 and $5,000,000.00 borh pass a sim·
pie limit check for a payment value greater than 1ero, and yet both va lue' could he error,,
record~ retention
policy Rules designed co meet all legal requirements and
busm~s needs for keeping records.
rcpnr1 fonrer Appears at the end of the report, can include grand ror.1ls for numeric fields Jnd ocher endof-rcporr information.
report header Appears oc the beginning of a report and identifies 1hc report a\ well a• the report title,
d.1rt, and o ther nc,c.sar)' information.
,croll bar In ll>Cr imcrface design, a scroll b:tr allows the user IO movt' through 1hc av11i lablc choice; for
Jn input field.
(Cqucm:c chccl A t) pe of daia validation check rha1 is used when the data musl be Ill ~omc
predetermined ,equence. If rhc user must enrcr work orders in numerical sequence, for example,
then Jn out-of-,equence order number indicate. an error. lf the user must corer rr:tnSJuions
1.hronolog1c.ill). then a rra~acnon with an out-of-s'<!ueu'c dare 111tLcatts .m error.
~ JD» (".............. .-\l ........... .,.... _.,."'flllll.~-....-.. - "*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_ ._.... ~~
...
. ..............
_ .... ~---11rt~
-,..~---~ ~
.... . _
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Phase l
Systems Design
265
Key Terms
soun:e d;ua auromation A popular onhne inpur method char combines oaline data enrrv and auromarcd
data upturc u<,ing input de"'""' 5Ulh ~ magnenc data scrip> or .wipe ..:aaacri..
source documcm A form used to request and coUect input data, trigger or authorue .in mput .llllon• .inJ
provide a record of the original rransacnoa. During che input design stage. you deYelop source documents that arc caS} ro complcrc and inexpensive.
noryhoard
Skt>tchc~ u~
during promtypmg ro
~how
rhe general screen layour and
d~1gn.
'ummal) rcpon A reporr 11-.cd h)' indi,idual' at higher lcvch in the organi7ation that indudc'
than report• u-.cd b) lower· le,·el employees.
"'itchboard The U\C of 'ommand burrnns in a u-;er inrerfoce
-eled from 11rou1h of related ta\k-.
to
le'~
dct.1il
enable users ro navigate a 'Y'tem and
sy~tcm prototyping l'roducmg a full-featured, working model of the inform.ttiou sy;tem being
developed.
throwaway protot)pin11 See dc~ign prorocypin11.
hutton A GUl clcmcnr used tn rcprc'Cnt on or nff statu•. Clicking the COffillc button >Witchc'
the other >rntu•.
tu!(!\lc
tu
wnlhar A Gln clement that contain• icom or button~ that represent •hnrtcurs for executing common
command~.
t0tals zone If ,1 form h.1s dat.1 totals, they will appear in this secrion of rhe form.
1tan}pJrent intcrfocc A user mterfoce thar users don't reaUy notice-a user-friendly interface that does
not dmr.ict rhr usrr .ind c.alls no arrencion to uself.
turnaround dt><.-umcnt Output doc.:umcnt that 1;, later entered back into the ~amc or another 1nforma·
tion 'Y'tcm. A telephone or utility hill, for example, might be a turnaround document printed by the
company·, hilhng ,Y'tcm. When the bill 1' returned with pa)ment, it i' <canned into the company''
account\ rcceivahlc '>)"'>tem m record the payment accuraTely.
u.\ahilu> In u\cr 1ntcrfo1.:c de-1i11n. include< u...:r satisfaction, support for busin"'' funcuon,, and '>'tern
etie~tivenC\\.
u~abilit~ mcuic~ D.tta that u11erface designers can obratn by usmg sofrware chat C.lll re.:ord and measure
user mteracuo11> with the s~srem.
"'er-centered A term that 1nd1carcs the pnmaf)' focus 1s upon rhe user. ln a user-centered system, the d1'·
fincrion blurs between input, output, and the interface irselI.
u'cr interface (Ul) The mechanism rhrough which the user interact' with the system. The interface can
be graphical, textual, aura l, or a combinarion of differenr mode~ of interaction.
\•alidity d1e1.:k A rypc ol darn "alidation check that is used for dara icem' rhat mu~t have certain values. f'or example, if an 111\'cntory ;,y,tcm has 20 ,·alid llcm da~~c;,, thcn any input nem that doc' no1
mJtch one of the va lid dass<'s will foi l the check.
wcbc.1st A onc·WJ) tr.111sm1s~ion of information or training materi.1ls, such as a Wcbinar session, .ivailablc on demand or for a specific period co online participants.
~JD»(".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_._....~~
...
...............
_ .... ~---11rt~
-,..~---~ ~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Chapter 8
User Interface Design
Exercises
266
Exercises
Question s
I. Explain Apple's view of user imerfoce design, especially for apps.
2. What is l-ICI?
3. \Xfhy 1s a transparent interface desirable?
4. What are the SC\'en habits of successful interface designers?
5. How would you rank the I 0 guidelines for user interface design in order of importance? Explain your
6.
7.
8.
9.
10.
answer.
What are the main principles of source document design?
What is che difference berween a derail report, a summary report, and an exception report?
How has input technology changed in recent years?
What is output security?
What are three emerging trends in user interface design?
Discussion Topics
I . Some sy~tem~ analysts argue, "Give users what they ask for. If they want lot~ of report& and reams
of data, then chat is what you should provide. Otherwise, they will feel that you are crying co cell
2.
3.
4.
5.
them how to do their job~." Others say, "Systems analysts should let users know what information
can be obtained from the system. If you Listen to users, you'll never get anywhere because rhey really
don't know wh::u they want and don't understand information systems." What do }'OU think of these
arguments?
Some systems analysts maintain chat source documents are unnecessary. They say that all input can be
entered directly into the system, without wasting rime in an intermediate step. Do you agree? Can you
think of an)' situations where source documents are essential?
Suppose your network support company employs 75 technicians who travel constancl) and work ar
customer sires. Your task is co design an informarion system chat provides techmcal data and informanon to the field team. \Vhat rrpes of output aod mformarion delivery would you suggest for the
system?
A user interface can be quite restrictive. For example, rhe interface design might nor allow a user to
exit co a Window!t desktop or co log on co rhe Internee. Should a user interface include such restrictions? Why or why nor?
How is che increased use of smarrphones and tablets, with their smaller screen site, affecting user
inLerface design practices?
Projects
I. Yihit rhc administrative office at your school or a local company. Ask co sec examples of input
screens. Analyze che design and appearance of each screen and try to identify at least one possible
improvement.
2. Search the web co find an especial ly good example of a user interface that includes guidelines in chis
chapter. Document your research and discuss it with your class.
3. Re' iew Seccion 8.2 and the comments abouc EHR usability. Research the currenc status of EHR
usability and de!tcnbe all noteworthy developments.
4. Suggest at lea~r two good examples and rwo bad examples of source document design.
5. Explore the cmergmg area of wearable computing, such as the Apple \Vatch, and comment on the
impact of thehe dences on user interface design.
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
~
~ ... _
JIJ»C....... ~ Al RlilfD
l,eocl\olld.,...,. _WOlfi'l'l.~• ......-W.Mdk«iil,_._DIK•dtc--.: ......,_ . . . ,_.,~-.lit .......... .._.,._.__..,~•\
. . . _ . .... ..., ~...,.._,_..,..., J\&."9 ... --.11 ......... ~ C'dptl"~~d.tt ...... -
............ -
..... -
..........
-.-.....w--...-.11
Chapter 9
Data Design
Data Design
Chapte r 9 is the second of three chapters in the
systems design phase of the SOLC. During the systems
analysis phase, a logical model of the system was
created. Now, it must be decided how data will be
organized, stored, and managed. These are important
issues that affect data quality and consistency. This
chapter focuses on the data design skills that are
necessary for a systems analyst to construct the physical
model of the information system.
The chapter includes three "Case in Point"
discussion questions to help contextualize the concepts
described in the text. The "Question of Ethics" raises
the important and timely issue of sharing customer data
w ithout their explicit consent.
LEARNING OBJECTIVES
Wl1e11 you finis/J t/Jis c/Japter, you should be
able to:
CONTENTS
l. E..xplain basic data design conceprs, including
data srrucrures, DBMSs, and rhe evolution of the
relariot1al databa~e model
2. Explain the mam components of a DB~1S
3. Define the major characrcrisrics of web-based
design
4. Define dara design rerminology
5. Draw enriry-rel::irionship diagram~
6. Apply data normalization
7. Utilize codes to sim plify ourpur, input, ;:ind dara
formats
8. Explain dara storage roots and techniques,
including logical versus physical srorage
9. 1
9.2
9 .3
9.4
9 .5
Dara Design Conceprs
DBMS Components
\'<'eh-Based Design
Data Design Terms
E.ntiry-Relarionship Dtagrams
Case in Point 9.1: TopText Publishing
9.6 Dara 'ormalization
Case in Point 9 .2: CyberTo)'S
9 .7 Codes
Case in Point 9.3: Madera Tools
9.8 Dara Storage and Access
9.9 Dara Control
A Question of Ethics
9 . 1O Summary
Key Terms
Exercises
9. Explain data coding
I 0. Explain darn control
mea~urcs
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Phase l
Systems Design
269
9.1 Data Design Concepts
9.1
DATA DESIGN CONCEPTS
Systems analysts must understand basic data design concepts, including data structures and the evolution of the relational database model.
9. 1. I Data Structures
A data \trucrure is a framework for organizing, storing, and managing data. Dara
structure'> consist of files or rabies char inreracr in various ways. Each file or rable
contains dara about people, places, things, or events. For example, one file or rable
might conrain darn about customers, and other files or cables might store data about
products, orders, suppliers, or employees.
Many older legacy systems urilized file processjng because it worked well with
mainframe hardware and batch input. Some companies still use this merhod to handle
large volumes of srructured data on a regular basis because can be cost-effective in
certain situations. For example, consider a credit card company that posts thous::inds
of daily transactions from a TRANSACTIONS fille to account b::i lances stored in ::i
CUSTOMERS file, as shown in Figure 9-1. For that relatively simple process, file
processing might be an option.
CUSTOMERS
r;w______.. ~lliiM
~
53914
ICode
Transaction ' Cuatomff
flumber
, Number
O.te
109823497
53914
11-03 2019
°'4<g!!
no.so
2100485/6
53914
11-04 2019
Re1 .. n
23.98
994184424
X9810
11 04 -2019
Owlrgr
62.67
U ·ll-2019
86.S2
lunovnt
FIGURE 9- 1 A credit card company that posts thousands of daily transactions might consider a file processing
option.
Over time, the modern relational darabase became a standard model for systems
developers. The following example of an auto service shop will compare the rwo
concepts.
9. 1.2 Mario and Danica: A Data Design Example
Figure 9-2 shows an auto shop mechanic at work. Imagine two shops that arc very
similar bur use two different informarion system .designs. Let's call them Mario's Auto
Shop and Danica's Auto Shop. Mario uses two file-oriented S)'Stems, while Danica
uses a database management system.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 9
Data Design
9.1 Data Design Concepts
270
MARIO'S AUTO SHOP: Ivlario relics on rwo
file-<>riented systems, sometimes called file processing systems, to manage his business. The two
sysrems store data in separate files that arc not
connected or linked. Figure 9-3 ~how Mario's
file-<>riented systems:
• The JvlECHA !JC SYSTEM u~es the
MECHANIC file to store dara abour shop
en1ployees
• The JOB SYSTE~I uses the JOB file ro ~tore
data about work performed ar the shop.
Unforrunarely, using rwo separate systems
means that some dara is stored in rwo different
FIGURE 9 -2 In the example shown here. data about the
places, and the data might o r might not be conmechanic, the customer, and the brake job might be stored in a
file-oriented system or In a dacabase system.
sistent. For example, rliree data items (Mechanic
No, Name, :111d Pay Rate) are srorcd in both
files. This redundancy is a major disadvantage of file-oriented systems because it threatens data quality and inregriry. In face,
Figure 9-3 includes a typical discrepancy: Jim J ones' pay rate is s hown as $18.90 in
the Ivl ECHANIC SYSTEM. file a nd$ L9.80 in the JOB SYSTEM file.
r
-No
-
MECHANIC
MECHANIC SYSTEM
,.,,_
""°"'
......,....,.
5UIUS
!:i! MIOW«
112
11
13
.
Name
Mecham< N, •
Pay Rate
.
HtreOate
$15.00
$15.70
Le•ir, Robert
Jones, Jim
.
~lotus
. ''™"•nee
4/17/'lfJlO PMt time
1/15/1998 full ti""'
a
.
No
y.,.
r
~
~
JOB
JOB SYSTEM
JobNo
Worl: Coclf
Houn
Dolt
r..wchan.cNo
~
Poy Rlt•
,!:ll IOll
lob No ··
i'"'
1110
...
1.14
Wot~
.
.
0.•~
.
M«hanlc No
TUN £
Hoon
l .2
l\IW<CS
... 0
U/6/l019 U
U/)/201q 11
ALIGN
.J.O
12/6/lOJS 2J
Cod.
.
N""'"
.
P.y AAte •
l Pilf. Rotwr'
s1~.oo
J.,.,...,fm
SllSO
"""'"' \\ .. y
$20.00
'
FIGURE 9-3 Mario's shop uses cwo separate systems, so certain data must be entered twice. This
redundancy Is Inefficient and can produce erron.
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~---tfta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
271
9.1 Data Design Concepts
DANICA'S AUTO SHOP: Danica uses a database managemenr system (DBMS)
wirh rwo separate rabies rhar are joined, so they ace like one l:irge cable, :is shown in
Figure 9-4. In Danica\ SHOP OPERATIONS SYSTEi\1, the cables are linked by the
Mech:inic 1 o field, which is called a common field because it connects the rabies.
Note that except for the common field, no ocher d:ica items are duplicated. The
DB~IS design, also called a relarional database or relatio nal model, was introduced
in the 1970s and continues to be the dominant approach for organizing, scoring, and
managing business data.
SHOP
OPERATIONS
SYSTEM
._
.......
.....
...,._,..
...
,.,Mt
..,..,..
......
....... .., •
.....
• fYr Miit • · - Ollllt • . . . . • ......... • -
... •
WQril,
c.- • ...,,,, .
0.. •
t:1
,., .._,.
lti C10
'411'7Df0 ,..,._.. No
tt1
0.N
)'
•l'IJnOpt
ti
..........
.... .-i_
l lSl'CI
'10111
tJt:'Jtl'Jlllf ...... V•
1IO
lM
(iqN(l.S
fl
:SO
IZWl!H9
H
1 ti-1n:r.-- Y•
M.-oN
l~n
FIGURE 9 . 4 Danica's SHOP OPERATIONS SYSTEM uses a databa$e design, which
avoids duplication. The data can be viewed as if it were one large table. regardless of
where che data is physically stored.
t.1ario's file-oriented systems show rwo different pay rares for Jim Jones, most
likely because of a darn enrry error in one of chem . Thar type of error could nor occur
in Danica's relational database, because an employee's
pay rate is srorcd in only one place. However, DBMSs are
nor immune ro dara entry problems, which are discussed
in derail lacer m chis chapter.
9. 1.3 Database Management Systems
A database provides an overall framework rhac avoids
data redundancy and l>Upports a real-time, dynamic environment. Figure 9-5 shows a company-wide data base
that supports four separate information systems.
A database management system (DBMS) is a collection of cools, features, and interfaces that enables users
to add, update, man:igc, access, and analyze data. From
a user's point of view, the main advantage of a DBMS is
that it offers timely, inrcracrive, and flexible data access.
Specific DB,VIS advantages include the following:
SALES
DATABASE
• Scalability. Scalability means chat a system can be
expanded, modified, or downsized easily co meet
the rapidlr changing needs of a business enterprise.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
FIGURE 9-5 In chis enmple, a sales dacabase an
support four separate business systems.
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~----···---~~-.,.-"~
...........
Chapter 9
Data Design
9.2 DBMS Components
272
•
For example, if a company decides to add data about secondary suppliers of
material it uses, a new table can be added to the relational database and linked
with a common field.
£co110111y of scale. Database design allows becrer utilization of hardware. If a
company maintains an enterprise-wide database, processing is less expensive
using powerful servers and communication nerworks. The inherent efficiency
of high-volume processing on larger computers is called economy of scale.
• enterprise-wide a{Jplicatio11. A DBMS is typically managed by a person called
a database administrator (OBA). The OBA assesses overall requirements and
maintains the database for the benefit of the entire organization rather than a
single department or user. Database systems can support enterprise-wide applications more effectively than file processing systems.
• Stronger standards. Effective database administration helps ensure that stan·
<lards for data names, formats, and documentation are followed uniformly
throughout the organization.
• Better security. The OBA can define authorization procedures to ensure char
only legitimate users can access the database ancl can allow differem users ro
have different levels of access. Most DB1v1Ss provide sophistica ted security
support.
• Data i11depe11.de11ce. Systems that interact with a DBMS are relatively independent of
how the physical data is maintained. That design provides the DBA Aexibiliry ro airer
data strucn1res without modifying information systems char use the data.
Alchough che trend is toward enrerprise-wide dacabase design, man)' companies
still use a combination of centralized DBMSs and smaller, department-level dacabasc
systems. This is because most large businesses view data as a company-wide resource
that must be accessible to users throughout the company. Ar the same time, other
factors encourage a decenrraJized design, including network expense; a reluctance to
n1ove away from smaller, more flexible systems; and a realization that enterprise-wide
DBMSs can be higl1ly complex and expensive to
maintain. The compromise, in many cases, is a
Database
clienr/server design, where processing is shared
1
Adm n1s1rators
among several computers. Client/server systems are
described in detail in Chapter 10. As with many
design decisions, the best solution depends on rhe
organization's needs and particular circumstances.
9.2 DBMS
Relatedt J
Systems
Users
Information
FIGURE 9-6 In addition to interfac.es for useN. database
administratoN, and related information systems. a DBMS also has
a data manipulation language. a sc.hema and subschemas, and a
physkal data repository.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
A DBMS provides an interface between a database
and users who need to access the data. Although
users are concerned primarily with an easy-to-use
interface and support for their business requirements, a systems analyst must understand all of the
components of a DBMS. ln addition ro interfaces
for users, DBAs, and related systems, a DBMS also
has a data manipulation language, a schema and
subschemas, and a physical data repository, as
shown in Figure 9-6.
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
COMPONENTS
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
273
9.2 DBM S Components
9.2.1 Interfaces for Users, Database Administrators, and Related Systems
When user~, DBAs, and related information systems request data and senrices, the DBMS
processes che request, manipulate:. the dara, and provides a response. A data manipulation
language (OMI .) conrrols database operations, including storing, retrieving, updating,
and deleting data. tvlost commercial DB~1Ss, such as Oracle and IBM's 082, use a 0~1L.
Some database products, 'iuch as ~1icrosofc Access, also provide an easy-to-use graphical
environment rhat enables users co control operations with menu-dri\"en commands.
Users typically work with predefined queries and switchboard commands
but also use query languages to access stored data. A query language allows a user
co specify a task without specifying how the task will be accomplished. Some query
languages use narural language com1nands chat resemble ordjnary English sentences.
\Xlith a quer y by example (QBE) language, che user provides an example of the data
requested. Many database programs also use Strucrured Query Lang uage (SQL),
·which is a language that a llows client workstations to co1nrnurucate with servers and
mainframe computers. Figure 9-7 shows a QBE request for all Lime Squeeze or Blue
Candy 2019 Ford Fusions with a power moonroof. The QBE request generates the
SQL commands shown a t the bottom of Figure 9-7.
USERS:
DATABASE ADMINISTRATORS:
--·- --
A DBA is
responsible for DBMS management and supporrOBAs are concerned with dam security and inregriry,
preventing unauthorized access, providjng backup and
recovery, audit trails, maintaining the database, and
supporting user need:•. Mo~r DBMSs provide uriliry
programs ro assist the DBA in creanng and updating
data Mructures, collecting and reporting parrems of
database usage, and detecting and reporting database
irregularities.
.._
-- ---____......
•
"
QBE
ll
II
) request
_,..,......,._,.......,.._ ,..
....
~-===-=·~··
~
- --- ---... --• ..-
•
-- __
---__ -.. .
-= ~--
~.....
SOL
) commands
_..,.
- . c - ..............
FIGURE 9-7 Using QBE.a user can display all 2019 Ford
A DBMS
Fusions that have a power moonroof and are either Ume
can support several related information systems that
Squeeze or Blue Candy color.
provide input to, and require specific data from, che
DBMS. Unlike a user interface, no human intervention is required for rwo-way
communication between the DBMS and the related systems.
RELATED INFORMATION SYSTEMS:
9.2.2 Schema
The complete definition of a database, including descriptions of all fields, tables,
and relationships, is called a schema. One or more subschemas can a lso be defined.
A subschema is a view of the database used by one or more systems or users. A
subschema defines only chose portions of the database tbar a particular system or user
needs or is allowed ro access. For example, ro protect indjvidua l privacy, rhe project
management system should nor be permitted to retrieve employee pay rares. In that
case, che project management system subschema would nor include the pay rare field.
Database designers also use subschemas co restrict the level of access permitted. For
example, specific users, sysrems, or locations mjgfhr be permirred ro create, retrieve,
update, or delete data, depending on rheir needs and the company's security policies.
9.2.3 Physical Data Repository
Chapter 5 discussed a dara dictionary, wruch describes all data elements included
in the logical dei.ign. At this stage of rhe systems development process, the data
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"-> - "'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ..... ......... ~..
__....
~~·~--- - ···---~~ - .,.-" ~
...........
Chapter 9
Data Design
9.3 Web-Based Design
274
dictionary is transformed into a physical data repository, which also contains the
schema and subschemas. The physical repository might be centrnli1ed, or it might
be distributed at several locations. In addition, the smred data might be managed by
a single DBMS, or several systems. To resolve potential database connectivity and
access problems, companies use OD BC-compliant software that enables communication among various systems and DB:VISs. Open database connecti,it) (O OBC) is an
industry-standard protocol that makes it possible for software from different vendors
to interact and exchange dara. ODBC uses SQL statements that the DBMS understands and can execute, similar ro the ones shown in Figure 9-7. Another common
standard is called java database connecti,;ty (JDBC). J DBC enables J:iv:i :ipplicarions
to exchange data with any database that uses SQL statements and is JD BC-compliant.
Physical design issues are described in Chapter I0, which discusses system :irchitccture,
and in Chapter 11 , which discusses system implementation and data conversion.
9.3
Wee-BASED DESIGN
Figure 9-8 lists some major characteristics of web-based design. Ln a web-based design,
the Internet serves as the front end, or interface, for the DBMS. internet technology
provides enormous power and flexibility because the related information system is
oot tied to any specific combinarion of hardware and software. Access to the database
requi res only a web browser and an Internet connection. \~eb-based ~ystems are popular
because they offer ease of access, cost-effectiveness, and worldwide connecriviry-all of
which are vital to companies that must compete in a global economy.
CHARACTERISTIC
EXPLANATION
Global access
The Internet enables worldwide access, using existing infrastructure
and standard telecommunications protocols.
Web browsers provide a familiar interface that 1s user-friendly and
easily learned.
Ease of use
Multiple platforms
Cost effectiveness
Security issues
Adaptability Issues
Web-based design is not dependent on a specific combination of
hardware or software. All that is required is a browser and an
Internet connection.
Initial investment is relatively low because the Internet serves as the
communication network. Users require only a browser. and webbased systems do not require powerful workstations. Flexibility is
high because numerous outsourcing options exist for development,
hosting. maintenance. and system support.
Security is a universal issue, but Internet connectivity raises special
concerns. These can be addressed with a combination of good design,
software that can protect the system and detect intrusion, stringent
rules for passwords and user identification, and vigilant users and
managers.
The Internet offers many advantages in terms of access, connectivity.
and flexibility. Migrating a traditional database design to the web,
however, can require design modification, additional software, and
some added expense.
FIGURE 9-8 Web-based design characteristics include global access, ease of use. multiple platforms. cost-effectiveness,
security iuues. and adapability issues. In a web-Wed design. the Internet serves as the front end. or interlace. to die
cbcab;lse management system. Access to die database requires only a web browser and an lnU!met conneeuon.
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
275
9.4 Data Design Terms
To access data in a web-based system, the database must be connected to the Internet
or inrranet. The daraba e and the Internet speak rwo different languages, howc\·cr.
Databases are created and managed by using \'arious languages and commands that
ha,·e nothing to do with HT~I L, which is the language of the web. The objecti\e is ro
connect the database to the web and enable data to be viewed and updated.
To bridge the gap, it is necessary to use middleware, which is a software that
integrates different applications and allows them to exchange data. ~liddleware can
interpret client requests in HT~1L form and translate the requescs into commands
that the database can execute. When the database responds to the commands,
m1ddleware translates the results into HT~tl pages that can be displayed by the
user's browser, as shown in Figure 9-9. Nore char the four steps in the process can
take place using the Internee or a company intranet as the communications channel.
Middleware is discussed in more detail in Chapter 10.
lw•-
.......,_,
IOM-
)--·--
-
4bul0-
FIGURE 9-9 When a client worl<staaon requests a web page ( 1), the web server uses middleware to
generate a data query t0 the database server (2). The database server responds (3). and the mtddleware
translates the retrieved data into an HTML page tN.t can be sent by the web server and displayed by rhe
user's browser (4).
Web-based data must be secure, yet easily accessible co authorized users. To achieve
thjs goal, well-designed systems provide security atr three levels: the database itself, che
web server, and the telecommunication links that connect the components of che system.
Dara security is discu~sed in more derail in Section 9.9 and in Chapter 12.
9.4
DATA DESIGN TERMS
Using the concepts discussed in the previous sections, a systems analyse can select a
design approach and begin co construct the systetn. The first step is to understand
data design terminology.
9.4. 1 Definitions
Data design terms include cnrity, table, file, field, record, tuple, and key field. These
terms arc explained in the following sections.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 9
Data Design
9.4 Data Design Terms
276
ENTITY: An entiry is a person, a pl~ce, a thing, or an event for which data is
collected and maintained. For example, an online sales system may include enricies named CUSTOMER, ORDER, PRODUCT, and SUPPLIER. \'<lhen DFDs were
prepared during the systems analysis phase, various entities and data stores were
identified. Now the rela tionships among the entities wall be considered.
TABLE OR FILE: Data is organhed into tables or files. A table, or file, contains a set
of related records that store data about a specific entity. Tables and files are shown
as two-dimensional structures tbat consist of vertical columns and horizontal rows.
Each column represents a field, or characteristic of the entity, and each row represents
a record, which is an individual instance, or occurrence of the entity. For example, if
a company has 10,000 customers, the CUSTOMER table will include J0,000 records,
each representing a specific customer.
Although they can have different meanings in a specific context, the rerms table
and file often can be used interchangeably.
FIELD:
A fi eld, a lso called an attribute, is a single characteristic or fact abour
an entity. For example, a CUSTOMER enrity might include th.e Customer ID,
Firsr Name, Last Name, Address, City, Stare, Postal Code, and Email Address.
A common fi eld is an attribute thar appears in mo re than one enrity. Common
fields can be used to link entities in various types of relationships.
A record, also called a tu ple (rh)'mes with couple), is a set of related fields
that describes one instance, or occurrence, of an entity, s uch a~ one customer, one
RECORD:
order, or one product. A record might have one or dozens of Cields, depending on
what information is needed.
9.4.2 Key Fields
During the systems design phase, ke}1 fields are used to organize, access, and maintain
data structures. The four types of keys are primary keys, candidate keys, foreign keys,
and secondary keys.
PRIMARY KEY: A primary key is a field or combinarion of fields that uniquely and
minimally identifies a particular member of an entity. For example, in a customer
rnble, the customer number is a unique primary key because no rwo customers can
have the same customer number. That key also is minimal because ir contains no
information beyond what is needed to identify the customer. In a CUSTOMER table,
a Customer ID might be used as a unique primary key. Customer ID is an example of
a primary key based on a single field!.
A primary key a lso can be composed of t\VO or more fields. For example, if a
student registers for three courses, his or her student number will nppear in three
records in the registration system. If one of those courses has 20 srudenrs, 20 separate
records will exist for that course number-<>ne record for each student who registered.
In the registration file, neither the student number nor the cou rse ID is unique, so
neither field can be a primary key. To identify a specific student in a specific cou rse,
the primary key must be a combination of student number a nd course ID. In that
case, the primary key is called a combination key. A combination key a lso can be
called a composite key, concatena ted key, or multivalued key.
Figure 9-10 shows four different tables: STUDENT, ADVISOR, COURSE, and
GRADE. Three of these tables have single-field primary ke ys. Note thar in the
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
277
9.4 Data Design Terms
GRADE rable, however, the primary key is a combination of rwo fields: STUDENT
NUMBER and COURSE 'UMBER.
STUDENT
NUMBER
I STUDENT
I ADVISOR
NAME
TOTAl
CREDITS
1035
Linda Mllrk
14
3.40
49
3397
SamCerr
9
3. 75
49
407D
Kelly Goldman
8
2.50
23
1'
i -- - - 1 common
' GPA
NUMBER
fields ,_ _ _.,
23
Alice Jones
8 230
49
Carlton Smith
0 ·331
~====~+======~}k•~~~~---11~~ 1
STUDENT
NUMBER
II
COURSE
NUMBER
I GRADE
I
COURSE
NUMBER
I COURSE
DESCRIPTION
I CREDIT
1 HOURS
CHM112
General Chemistry I
s
CSClSl
Computer Science I
3
ENG101
EnsfLSh Composition
3
MKT2U
Macfoeting Management
3
FIGURE 9- 10 Examples of common fields, primary keys. candidate keys. foreign keys, and seconcbry keys.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- .............. . ,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ........... ... ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 9
Data Design
278
9.4 Dat a Design Terms
Sometimes tbere is a choice of fields or field combinations ro use
as the primary key. Any field that can serve as a primary key is called a candidate kc} .
For example, if every employee has a unique employee number, then it could be used
as a primary key. Note that an employee's Social ecurity number would not be a
good choice for a candidate key: Con trary to popular belief, Social Security numbers
are not unique. Because only one field can be designated as a primary key, the field
that contains the least amount of data and is the easiest to use should be ~elected. Any
field that is not a primary key or a candidate key is called a nonkey field .
The primary keys shown in Figure 9-10 also are candidate keys. Another candidate key is the COURSE DESCRTPTTO field in the COURSE table. What about the
OFFICE field in the ADVJSOR r.able? lt could not be a candidate key because more
than one advisor might share the same office.
CANDIDATE KEY:
FOREIGN KEY: Recall that a common field exists in more than one table and
can be u~ed to form a relationship, or link, between the tables. For example, in
Figure 9- 10, the ADVJSOR NUMBE R fie ld appea rs in both the STUDENT table and
the ADVISOR table a nd joins t he tables together. Note that ADVISOR NUMBER is
a primaqr key in the ADVJSO R table, where it uniq uely identifies each advisor, and
is a foreign key in the STUDENT table. A foreig n key is a field in one table that must
match a primnry key value in another table in order to establish the relationship
between the two rabies.
Unlike a primary key, a foreign key need not be unique. For example, Carlton
Smith has advi~or number 49. T he value 49 must be a unique vnlue in the ADVISOR
table because it is the primary key, but 49 can appear any number of rime!. in the
STUDENT ca hie, where the advisor number serve5 as a foreign key.
Figure 9-10 also shows how rwo foreign keys can serve as n composite primary
key in another rable. Consider the GRADE table at the bottom of the figure. The two
fields that form the primary key for the GRADE table are both foreign keys: the STUDE IT NUMBER field, which must match a student number in the STUDE1'1T cable,
and the COURSE NU.t\IBER field, which must march one of the course IDs in the
COURSE cable.
How can these rwo foreign keys serve as a primary key in the GRADE table? Nore
rhat srudenr numbers and course IDs can appear any number of times in the table, bur
rhe combi11atio11 of a specific student and a specific course occurs onl>• once. For example, srudent 1035 appears four rimes and course CSC 151 appears rhree rimes-but
there is only one combined instance of student l 035 and course CSC 151. Because the
combinarion of the specific student (1035) and the specific course (CSC 151 ) is unique,
it ensures rhat rhe grade (B) will be assigned to the proper student in the proper course.
A secondary key is a field or combination of fields that can be
used to access o r retrieve records. Secondary key values a re not unique. For example,
to access records for only those customers in a specific postal code, the postal code
field wou ld be used as a secondary key. Seconda ry keys a lso can be used to sort or
display records in a certain order. For example, the G PA field in a STUDENT fi le
could be used ro displny records for a ll students in grade point order.
The need for a secondary key arises because a table can have on ly one primary
key. In a CUSTOMER fi le, the CUSTOMER NUMBER is the primary key, ~o it must
be unique. The customer's name might be known, but not the customer's number. For
example, to access a customer named James tvlorgan without knowing hi~ cusromer
number, the table is searched using the CUSTOMER Atvl E field as n secondary key.
The records for all customers named James Morgan are retrieved and then the correcr
record il> selected.
SECONDARY KEY:
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,...... .,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
279
9.4 Data Design Terms
In Figure 9-10, student name and advisor names are idenrified as secondary keys,
but other fields also could be used. For example, to find all students who have a particular advisor, the ADVISOR NUMBER field in the STUDENT table could be used
as a secondary key.
9.4.3 Referential Integrity
Validity checks can help avoid data input errors. One type of validity check, called
referential incegrity, is a set of rules that avoids daca inconsistency and quality problems.
In a relational database, referential integrity means that a foreign key value cannot be
entered in one table unless It marches an existing primary key in another table. For
example, referential integrity would prevent a customer order from bemg enrered in an
order table unless that customer already exists in the customer table. Without referennal
i111egrity, there might be an order called an orphan, because it had no related customer.
In the example shown in Figure 9- 10, referenda! integrity will not allow a user
to enter an advisor number (foreign key value) in the STUDENT table un less a va lid
advisor number (primary key value) already exists in the ADVISOR table.
Referential integrity can also prevent the deletion of a record if the record h as a
pri1nary key that marches foreign keys in another table. For example, suppose that an
advisor resigns to :iccept a position at another school. The advisor cannot be deleted
from the ADVISOR table while records in the STUDENT t able still refer to that
advisor number. Otherwise, the STUDENT records would be orphans. To avoid the
problem, students must be reassigned ro other advisors by changing the value in the
ADVISOR NUMBER field; then the advisor record can be deleted.
When crearing a relational darabase, referential integrity can be built int o rhe
design. Figure 9-11 shows a Microsoft Access screen thar identifies a common field
and allows rhc user ro enforce referential integrity rules.
x
JOB
lOONo
Woft.Codir
Houn
-
MlCHAN:C
°"''
-·
IM<NIN<No
P ly RM>
Patble
Httt O•tt
status
1
Edll Re~11onsh1ps
lmutanc:t
~
x
!l,datm Table}lue-y:
.., JOB
.., Mechanic No
..,
,..
•]
0~§!..c:r~t'f!_"!L~!!l~ti
CCCildo ~ ll<l&:.d Fields
c..c.do ~ l!da:.d ~ds
FIGURE 9· I I Microsoft Access allows a user to specify that referential integrity rules will
enforced In a relational database design.
.........""_.. ....-.................
_..__
("..,_..., llll!O( ...... . . - - . .\) ....... ~
...................
~
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ·· · ---~~-.,.- " ~
...........
Chapter 9
Data Design
9.5 Entity-Relationship Diagrams
280
9.5
ENTITY•RELATIONSHIP DIAGRAMS
Recall rhar an entiry is a person, a place, a thing, or an event for which dara is
collected and mainrained. For example, entities might be cuscomers, sales regions,
produces, or o rders. An information system muse recognize the relationships a mo ng
encities. For example, a CUSTONlER entiry can have several instances of an ORDER
cnriry, and an E~ I PLOYEE enriry can have one instance, or none, of a SPOUSE entity.
An entity-relationship diagram (ERD) is a model char shows the logical rclarionships and interaction among syscem entities. An ERD provides an overall view of rhe
syscem and a blueprint for creating rhe physical data st ructures.
9.5. 1 Drawing an ERO
The first step is co list the entities chat were idenrified during rhe systems analysis phase and ro consider the nacure of the re larion~hips rhar
link chem. Ar rhis stage, a simplified method can be used ro show rhe
relations hi ps between entities.
Although there a re different ways co draw ERDs, a popular merhod
is ro represen t entities as recta ngles and re lationships as diamond
shapes. T he enti ry rectangles are labeled with s ingular nouns, and
the relarionshi p diamo nds a re labeled with verbs, usually in a cop-tobottom and left-to-right fashion. Fo r example, in Figure 9- l2, a DOCTOR entity treats a PATIENT entiry. Unlike dara flow diagrams, ERDs
depict relationships, not data or information flows.
DOCTOR
A doctor
treats
a patient
TREATS
PATIENT
9.5.2 Types of Relationships
T hree rypes of relationships can exist between entities: one-co-one,
one-to-many, and many-to-many.
A one-to-one relationship, abbreviated 1: l , exists when exactly
one of the second entity occurs for each instance of rhe first entity.
Figure 9-13 shows examples of several l: l relationships. A number
I is placed alongside e ach of the two connecting lines ro indicate the
I: I relationship.
A one-to-man)' relationship,
abbreviated l :M, exists when one occur1
rence of the first entity can relate to many
HEADS
OFFICE
insrances of the second enriry, bur each
instance of rhe second entity can associate
wirh only one insrance of rhe first enri1y.
For example, rhc re lationship herween
1
ASSIGNED
VEHICLE
DEPARTMENT a nd EM PLOYEE is
TO
one-to-ma ny: One depa rrmen t can have
many employees, but each employee
works in only one deparcmenr at a time.
1
ASSIGNED
PERSON
Figure 9-14 shows several l:M relaTO
tionships. T he line connccring the many
entity is labeled with the Jeerer M, and
the number l labels the other connect1
CHAIRS
DEPARTMENT
ing line. How many is many? The first
I :NI relationship shown in Figure 9-14
shows the entities IN DIVIDUAL and
FIGURE 9 - 12 In an enuty-relaaonship
diagram, entities are labeled with singular
nouns and relationships are labeled with
verbs. The rebuonship is interpreted as
a Slmple Enghsh sentence
OFFICE
MANAGER
1
VEHICLE ID
NUMBER
1
SOCIAL
SECURITY
1
DEPARTMENT
HEAD
1
FIGURE 9- 13 Examples of one-to-one ( 1:1) relationships.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
281
9.5 Entity-Re lationship Diagrams
AUTOMOBILE. One individual mighr
own five auromobile , or one, or none.
Thus, many can mean any number,
including 1ero.
A man y-to-man} relation\hip, abbreviared M :N , exisrs when one instance of the
first entity can relate ro man y instances
of rhe second enriry, and one instance
of the second entit)' can relate to many
instances of the first entity. The relation·
ship between STUDENT and CLASS, for
example, is many-ro-many-one student
can take many classes, and one class can
have many students enrolled. Figure 9-15
shows several M:N entity relationships.
One of the connecting lines is labeled
with the letter M, and the lctrer N labels
the other connection.
M
STUDENT
DEPARTMENT
EMPLOYS
INDIVIDUAL
OINNS
EMPLOYEE
M
1
- - - ' AUTOMOBILE
M
CUSTOMER
PLACES
FACULTY
ADVISOR
ADVISES
ORDER
M
STUDENT
FIGURE 9-14 Examples of one-to-many (l :M) relationships.
N
ENROLLS
IN
CLASS
REGISTRATION
M
PASSENGER
N
RESERVES
SEATON
RESERVATION
--- - - - - - - - - - - --l assocoahve entity
N
M
ORDER
LISTS
FLIGHT
PRODUCT
ORDER LINE
FIGURE 9-15 Examples of many-co-many (M:N) ~lationships. Notice that the event or transaction that llnlu the
cwo entitles Is an associative entry with its own sec -of attributes and characteristics.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"-> - "'Allf'W ~- .............. . ,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ........... ... ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 9
Data Design
9.5 Entity-Relationship Diagrams
282
Note that an M:N relationship is different from 1:1 o r l:M relationships because
the event or transacrion that links the two entities is acrually a third entity, called an
a \sociati ve entity, that has irs own characteristics. In the first example in Figure 9-15,
the ENROLL IN symbol represents a REGISTRATIO encity chat records each
instance of a specific student enrolling in a specific course. Similar!)·, the RF-SERVES
SEAT ON symbol represents a RESERVATION entity that records each instance of a
specific passenger reserving a sear on a specific flight. In che ch1rd example, the LISTS
symbol represents an ORDER LINE entity that records each instance of a specific
product listed in a specific customer order.
Figure 9-16 shows an ERD for a sales system. Note the various entities and relationships shown in the figure, including the associative entity named ORDER LINE.
The detailed nature of these relationships is called cardinality. An analyst must
understand cardinality in order to create a data design that accurately reflects all
relationships among system entities.
SALES REP
1
SERVES
M
M
CUSTOMER
PLACES
ORDER
WAREHOUSE
M
ORDER LINE
assocla11ve
enllty
/
STORES
LISTS
N
M
PRODUCT
FIGURE 9- 16 An entity-relationship diagram for SALES REP. CUSTOMER. ORDER. PRODUCT. and
WAREHOUSE. Notice that the ORDER and PRODUCT entities arc joined by an associative entity named
ORDER LINE.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
283
9.5 Entity-Re lationship Diagrams
9.5.3 Cardina lity
Afcer an analyst draws an initial ERD,
he or she must define the relationships
in more detail hy u~mg a technique
called cardinality. Cardinality describes
the numeric relationship between two
entities and shows how instances of one
entity relate to instances of another entity.
For example, consider the relationship
between two entities: CUSTOMER and
ORDER. One customer can have one
order, many orders, or none, but each
order must have one and only one customer. An analyst can model this interaction by adding cardinality notation,
which uses special symbols to represent
the relationship.
A common method of cardina lity
notation is called crow'~ foot notation
because of the shapes, which include
circles, bars, and symbols that indicate
various possibilities. A single bar indicates
one, a double bar indicates one and only
one, a circle indicates zero, and a crow's
foot indicates many. Figure 9- 17 shows
various cardinality symbols, their meanings, and the UML representations of rhe
relationships. As described 111 Chapter 4,
the Unified Modeling Language (UML) is
a widely used method of visualizing and
documenting software ~ystems design.
In Figure 9-18, four examples of cardinality notation are shown. In the first
example, one and only one CUSTOMER
can place anywhere from zero to many
of the ORDER entity. In the second
example, one and only one ORDER can
include one ITEM ORDERED or many.
In the third example, one and only one
EMPLOYEE can have one SPOUSE
or none. Jn rhe fourth example, one
EMPLOYEE, or many employees, or
none, can be assigned to one PROJECT,
or many projects, or none.
Most CASE products support the
drawing of ERDs from entities in the
data repository. Figure 9- 19 shows part
of a library system ERD drawn using
the Visible Analyst CASE cool. Nore that
crow's foot notation i~ used to show the
nature of the relarionship~. which are
described in both directions.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
UML
REPRESENTATION
SYMBOL
MEANING
I
One •nd only one
1
Oneorm•ny
1.:
Zero, or one,
or m•ny
o.:
Zero, or one
0 ..1
111
I
p1
po
I
I
I
0
I
FIGURE 9- 17 Crow's foot notation Is a common method of indicating
cardinality. The four examples show how various symbols can be used to
describe che relationships between entitles.
EXAMPLES OF CARDINALITY NOTATION
CUSTOMER
PLACES
ORDER
One and only one CUSTOMER can place anywhere from zero 10 many of !he
ORDER entity.
ORDER
ITEM
ORDERED
INCLUDES
One and only one ORDER can Include one ITEM ORDERED or many.
EMPLOYEE
SPOUSE
HAS
One and only one EMPLOYEE can have one SPOUSE or NONE.
EMPLOYEE
ASSIGNED
TO
PROJECT
One EMPLOYEE, or many employees, or none, can be asS<gned lo one
PROJECT, or many projec1s. or none.
FI GURE 9- 18 In the first example of cardinality notation.one and only one
CUSTOMER an place anywhere from zero to many of the ORDER entity. In the
second example. one and only one ORDER can include one ITEM ORDERED or
many. In the third example, one ~d only one EMPLOYEE an tl3Ye one SPOUSE
or none. In the fourth eicample. one EMPLOYEE.or many employees.or none.
can be assigned ro one PROJECT. or many projecu. or none.
...................
--......
"-> - "'Allf'W ~- .............. . ,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ........... ... ~..
__....
~~·~----···---~~-.,.-"~
...........
Chapter 9
Data Design
9.6 Data Normalization
284
l..ibracy System Data Model
USER
BOOK
ADO NEW
BOOK
AUTHOR
FI GURE 9. 19 An ERO for a library synem drawn with V1S1bleAnalyst. Nott<:e that crow·s foot
notation has been used and relationships are descnbed m both d1rect10M.
CASE IN POINT 9.1: T orTE..' \I Pusus11L'\ G
TopText Publishing is a textbook publishing company with a headquarters location. a warehouse, and three sales offices that each has a sales manager and sales reps. TopText sells to
schools, colleges, and individual customers. Many authors write more than one book for
TopText, and more than one author writes some books. TopText maintains an active list of
more than 100 books, each identified by a unive rsal code called an ISBN. How would you
draw an ERO for the TopText information system, including cardinality notation!
9.6
DATA NORMALIZATION
Normalizatio n is the process of c reating table designs by assign ing specific fields
or attributes to each table in t he da tabase. A ta ble design specifics the fields a nd
identifies the primary key in a particular table or file . Working with a set of initial
table designs, normalization is used to develop an overall database design tha t is
simple, Acxiblc, and free of data redundancy. Normalization involves applying a
set of ru les chat can help identify and correct inherent problems and complexities
in table designs. The concept of normalization is based on the work of Edgar Codd,
a British computer scientist, who for mulated the basic principles of relational
database design.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Phase l
Systems Design
285
9.6 Data N ormalizat ion
The normalizarion proces~ rypically involves four stages: unnormalized design,
firsr normal form, econd normal form, and rhird normal form. The three normal forms consrirure a progression in which third normal form represents the best
design. Most business-related databases musr be designed in third normal form. Note
that normal forms beyond 3NF exist, but they rarely are used in business-oriented
systems.
9 .6. 1 Standard Notation Format
Designing rabies is easier if a ~tandard notation format is used to show a table'!> structure, fields, and primary key. The standard notation format in the following examples
of an ORDl:.R S)'Stem starts with the name of the cable, followed by a parenthetical
expression that contains the field names separated by commas. The primary key
field(s) is/are underlined, like this:
NAME (FIELD 1, FIELD 2, FIELD 3)
During data design, the analyst must be able to recognize a repeating group of
fields. A repeating group is a set of one or more fields that can occur any number of
times in a single record, with each occurrence having different va lues.
A rypical example of a repeating grou p is s hown in Figu re 9-20. If a company
used written source documents to record orders, they might look like this. As
Figure 9-20 shows, two orders contain multiple items, which constitute repeating
groups within rhe same order number. Note that in addition to the order number
and date, the records with mulriple products contain repetitions of the product
number, description, number ordered, supplier number, supplier name, and I 0
status. A repeating group can be thought of as a set of child (s ubsidiary) records
contained within the parent (main ) record.
pnmary key
primary key tor
for ORDER
repeating group
OllDER (Unnor11 1H1 1ii)
OllD£R
DATt
'1
ii
'M>l>UCT
NUMllll
I DUCall'TION
NUMUll
OllOfll!D
I
SU,"1.1£11
NVMllll
SVl'Plllll
NAME
ISO
304
Bluepdget
7
A-602
Ac:me
Yes
these two
orders have
633
~v
1
J 9'1S
J~
No
repeating
684
Sui-sizmo
4
C-876
Cebot
YM
121!
Stttlw•
12
A-602
Ac~
Ye•
304
Bluepdget
3
A-602
Ac:me
ve,
304
Blue gadget
144
A·602
Ac:me
Yes
86223
9·1l 2019
croups
86390
86467
g 14 2019
9- l S-2019
FIGURE 9·20 In the ORDER table design. cwo orders have repeating groups that contain several products.
ORDER is the primary key for the ORDER cable. and PRODUCT N UMBER serves as a primary key for the
repeating group. Becaun it contains repeating groups. the ORDER table is unnormalized.
A table design rhar contains a repcaring group is called un.normali1ed. The
srandard norarion merhod for representing an unnormalized design is ro enclose
rhe repeating group of fields within a second ser of parentheses. An example of an
unnormali7ed table looks like chis:
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 9
Data Design
9.6 Data Normalization
286
AME (FIELD 1, FIELD 2, FIELD 3, (REPEATING FIELD I, REPEATING
FIELD 2))
Now review the unnormalized ORDER table design shown in Figure 9-20.
Following the notation guidelines, rhe design can be described as follows:
ORDER (ORDER, DATE, (PRODUCT ruMBER, DESCRIPTI01 , NUi\1BER
ORDERED, SUPPLIER U.\.lBER, SUPPLIER NA~1E, I 0 ))
The notation indicates char che ORDER table de~ign contain~ eight fields, which
are listed within the outer parencheses. TI1e ORDER field is underlined to show
that it is the primary kc)'· The PRODUCT NUMBER, DESCRIPTION, NU~tBER
ORDERED, SUPPLIER NUMBER, SUPPLIER NAME, and ISO and NUMBER
ORDERED fields arc enclosed within an inner set of parentheses to indicate that
they arc fields within a repeating group. Note that PRODUCT NUMBER also is
underlined because it acts as the prunary key of the repeating group. If a customer
orders three different products in one order, tbcn six fie lds must be repeated for each
product, as shown in Figure 9-20.
9.6.2 First No rmal Form
A table is in first normal form (INF) if it does not contain a repeating group. To
convert an unnormalized design to 1 NF, the table's primary key must be expanded to
include the primary key of the repeating group.
For example, in the ORDER cable shown in Figure 9-20, the repeating group
consists of six fields: PRODUCT NUMBER, DESCRlPTJON, NUMBER ORDERED,
SUPPLI ER NU.tvl BER, SUPPLIER NAME, and ISO. Of the three fields, only
PRODUCT NUMBER can be a primary key becau~e it uniquely identifies each
inMance of the repeating group. Tbe DESCRlPTIOr cannot be a primar)• key because
it might or might nor be unique. For example, a company might sell a large number
of parts with the same descriptive name, such as washer, relymg on a coded part
number to identify uniquel)' each washer size.
\Vhen rhe primary key of the ORDER table is expanded to include PRODUCT
NUMBER, the repeating group is elimmated, and the ORDER table is now in lNF,
as shown:
ORDER (ORDER, DATE, PRODUCT NUMBER, DESCRWflO , NUMBER
ORDERED, SUPPLIER NUMBER , SUPPLIER NAME, JSO)
Figure 9-21 shows the ORDER table in lNF. Note that when the repealing group
is eliminated, additional records emerge-one for each combination of a specific
order and a specific product. The result is more records but a greatly simplified
design. In the new version, che repeatmg group for order number 86223 has become
three separate records, and the repeating group for order number 86390 has become
two separate records. Therefore, when a table is in lNF, each record stores data about
a single instance of a specific order and a specific product.
Also note that the !NF design shown in Figure 9-2 1 has a combination primary
key. The primary key of the lNF design cannot be the ORDER field a lone, because
the order number does not uniquely identify eacb product in a multiple-item order.
Similarly, PRODUCT NUMBER cannot be me primary key, because it appears more
than once if several orders include the same product. Because each record must reflect
a specific product in a specific order, both fields are needed, ORDER and PRODUCT
NUtvl BER, to identify a single record uniquely. T herefore, the primary key is the
combi11atio11 of rwo fields: ORDER and PRODUCT NUMBER.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-
Woip-M ._..,.. - ·~•-fllllie<'f •,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
287
9.6 Data Normalization
in 1NF. 1he primary key Is a unique
combmabon of a specific ORDER
and a speofic PRODUCT NUMBER
ORDER lnlNF
OllDER
I
DAT£
PRODUCT : DESCltll'TlON
NUMBER I
I
NUMBER I
ORDERED '
SUPPLIER
NUMBER
SUPPLIER
NAME
!
ISO
I
86223
9-13·2019
304
Blue gadget
7
A-602
Acme
Yes
86223
9·13·2019
633
Assembly
1
J·995
Jones
No
86223
9·13 2019
684
Super gmno
4
C·876
ca bot
Yes
86390
9·14 2019
128
Steel widget
12
A·602
Acme
Yes
86390
9·14·2019
304
Blue gadget
3
A-602
Acme
Yes
86467
9·15·2019
304
Blue gadget
144
A·602
Acme
Yes
t
t
1n 1NF
• There are no repeating groups
• The pnmary key Is a unique combination of lWo foretgn key values:
ORDER and PRODUCT NUMBER
• All fields depend on lhe pnmary key, bul some fields do not depend on
1he whole key - only part of it
FIGURE 9·2 1 The ORDER cable as 11 appears in INF.The repeadng groups have been ehminated. Notke that
the repeating group for order 86223 has become three sepante records, and the repeating group for order
86390 has become two sepante records. The I NF primary key is a combination of ORDER and PRODUCT
NUMBER. which uniquely Identifies each record.
9.6.3 Second NormaJ Form
To understand second normal form (2NF), rbe concept of functional dependence must
be understood. For example, Field A is functionally dependent on Field B if the value
of Field A depends on Field B. For example, in Figure 9-21, cbe DATE value is func·
tionally dependent on the ORDER, because for a specific order number, there can be
only one date. ln concrasr, a produce description is not dependent oo the order number. For a panicular order number, there mighr be several product descriptions--<>ne
for each item ordered.
A cable design is in second normal form (2NF) if iris in lNF and if all fields char
arc not part of chc primary key are functionally dependent on the entire primary key.
lf any field in :i INF cable depends on only one of the fields in a combination primary
key, rhen the table is not in 2 IF.
Note rhar if a l NF design has a primary key rhac consists of only one field, the problem of partial dependence docs not arise-because rhe entire primary key is a single
field. Therefore, a I NF table with a single-field primary key is automatically in 2 F.
Now reexamine the I NF design for the ORDER table shown in Figure 9-2 1:
ORDER (ORPER, DATE, PRODUCT NUMBER, DESCRIPTION, NUMBER
ORDERED, SUPPLIER NUMBER, SUPPLIER NA.i\llE, ISO)
Recall that the primary key is the combination of the order number and the
product number. The NUMBER ORDERED field depends on the entire primary key
because NUMBER ORDERED refers to a specific product number and a specific
order number. In contrast, the DATE field depends on the order number, which is only
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 9
Data Design
9.6 Data Normalization
288
a part of rhe primary key. Similarly, the DESCRIPTION field depends on the product number, which also is only a part of rhe primary key. Because some fields are nor
dependenr on rhe entire primary key, rhe design is nor in 2NF.
A standard process exists for converting a cable from 1NF to 2NF. The objective is
to break the original table into two or more new tables and rea'iStgn the fields so that
each nonkey field will depend on rhe enrire primary key in its table. To accomplish
this, the following steps should be followed:
I. Create and name a scparare cable for each field in rhe existing primarr kcr.
For example, in Figure 9-21, rhe ORDER rable's primary key has two fields,
ORDER and PRODUCT NUMBER, so rwo rabies muse be created. The ellipsis
(... ) indicates thar fields will be assigned lacer. The result is:
ORDER (ORDER, ... )
PRODUCT (PRODUCT NUMBER, ... )
2. Create ::i new table for each possible combination of the origina l primary key
fields. In rhe Figure 9-21 example, a new table would be created wirh a combination primary key of ORDER and PRODUCT NUMBER. This rable describes
individual lines in an order, so it is named ORDER LINE, as shown:
ORDER LINE (ORDER, PRODUCT NUMBER)
3. Study rhe three rabies and place each field wirh irs appropriate primary key,
which is the m111imal key on which ir fw1crionally depends. When all rhe fields
have been placed, remove any cable that did nor have any additional fields
assigned co it. The remaining tables are the 2NF version of rhe original cable.
The chree rabies can be shown as:
ORDER (ORDER, DATE)
PRODUCT (PRODUCT NUMBER, DESCRIPTION, SUPPLIER
1UMBER, SUPPLIER 1AME, ISO)
ORDER LINE (ORDER, PRODUCT NUr.1BERl
Figure 9-22 shows rbe 2NF cable designs. By following the seeps, rhe original lNF
table has been converted into three 2NF rabies.
\Vhy is ir important ro move from INF ro 2NF? Four kinds of problems are found
with 1 rF designs char do nor exist in 2NF:
I. Consider rhe work necessary to change a particular product's description. Suppose 500 current orders exist for product number 304. Changing the product
description involves modifying 500 records for product number 304. Updating
all 500 records would be cumbersome and expensive.
2. I NF rabies ca n conrain inconsistent data. Because someone must enter the
product description in each record, nothing prevents producr number 304 from
having different product descriptions in different records. In face, if product
number 304 appears in a large number of order records, some of rhe marching product descriptions might be inaccurate or improperly spelled. Even the
presence or absence of a hyphen in the orders for all-purpose gadget would
create consistency problems. If a data entry person must enter a term such
as 10 I Queue Controlfer numerous times, ir certainly is possible char some
inconsisrcncy will result.
3. Adding a new product is a problem. Because the primary key muse include an
order number and a produce number, values arc needed for borh fields in order
to add a record. What value should be used for the order number when no
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
289
9.6 Data N ormalizat ion
ORDER ln2NF
PRODUCT In 2NF
ORDER
ORDER
DATE
PRODUCT
NUMBER
DESCRI PTION
86223
9-13·2019
128
Steel widget
A-602
Acme
Yes
86390
9 · 14·2019
304
Blue gadget
A ·602
Acme
Yes
633
Assembly
1·995
Jones
No
684
Supergjzmo
C·876
Cabot
Yes
9·1S·2019
86467
j
'
I SUPPLIER
NUMBER
SUPPLIER
NAME
1
'
ISO
·~
ICJWll UNE
I
In JNf
OllOEll
PilOOUCT
NUMll£11
86225
504
7
86225
635
1
86225
68'
4
116390
128
.l2
116390
!!04
3
16467
304
144
•
on 2NF the primary key of ORDER LINE IS a
un
combonat1on of two foreign keys
FIGURE 9-l l ORDER. PRODUCT. and ORDER LINE tables in 2NF. All fields are functionally dependent on
die pnrmry key
c ustomer has ordered che product? A dummy order numbe r could be used and
later replaced with a real order number when the product is ordered ro solve
the pro blem, bur char solution also creates difficulties.
4. Deleting a produce is a problem. If all the related records are deleted once an
order is filled and paid for, whar happens if the only record that contains product number 633 is deleted? The information about that product number and its
description is lost.
I las the 2 f design eliminated all potential problems? To change a product
description, now just one PRODUCT record needs to be changed. Multiple, inconsistent values for the product description are impossible because the description appears
in only one location. To add a new product, a new PRODUCT record is created,
instead of creating a dummy order record. When the last ORDER LINE record for a
particular product number is removed, that product number and its description is not
lost because the PRODUCT record still exists. The four potential problems are eliminated, and the three 2NF designs are superior ro both the original unnormalized rable
and the INF design.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Cha p ter 9
Data Design
9.6 Data Nor malizat ion
290
9.6.4 Third Normal Fo rm
A popular ru le of t humb is that a design is in 3NF if every non key field depends o n
the key, the whole key, and nothing but the key. A 3 NF d esign avoids redunda ncy
and dara inccgriC) probl ems cha t Still can exisr in 2NF designs.
Conti nui ng th e ORDER example, now review che PRODUCT rable design in
Figu re 9-23:
PRODUCT (PRODUCT NUMBER, DESCRIPTION, SUPPLIER NUMBER,
SUPPLfER NAtvlE, ISO)
PRODUCT In 2NF
~~~~~~~~
'
IDESCRIPTION
128
Steel widget
A-602
304
Blue gadget
A-602
633
Assembly
684
Super gizmo
PRODUCT
NUMBER
•••
••
•
..•
.
I ISO
SUPPLIER : SUPPLIER
NUMBER ; NAME
•
: Acme
Yes
Acme
Yes
J-995
Jones
No
C-876
Cabot
Yes
••
....................•
'
SUPPLIER In 3NF
PRODUCT In 3NF
PRODUCT
NUMBER
'
DESCRIPTION
128
'''
NUMBER
SUPPLIER
NUMBER
Steel widget
A-602
A-602
Acme
Yes
304
Blue gadget
A- 602
J-995
Jones
No
633
Assembly
J-995
C876
Cabot
Yes
684
Supergizmo
C-876
'
ISUPPLIER
ISUPPLIER 11so
NAME
FIGURE 9-23 Wilen tile PRODUCT table Is transformed from 2NF to JNF, tile result Is cwo separate
tables: PRODUCT and SUPPLIER. Note mat In JNF, all fields depend on tile key alone.
The PRODUCT cable is in J NF because ic has no repeacing group~. T he c:i ble a lso
is in 2NF bcc:iusc the primary key is a single fi eld. But the table still has four po tcncial problems:
I. To cha nge a supplier na me, every record in which tha t na me a ppears must be
cha nged. With hundreds, o r even thousands o f record s, the process would be
slow, expensive, and subject to input erro rs.
2. T he 2NF d esign a llows a supplier co ha ve a different name or ISO sta rus in
different recor ds.
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
29 1
9.6 Data N ormalization
3. Because the supplier name is included in che O RDER cable, a dummy ORDER
record muse be created co add a new supplier who has not yec been received
any orders.
4. If all the orders for a supplier are deleted, that supplier's number and name will
be lost.
Those potential problems are caused because the design is not in 3NF. A cable
design is m thi rd nom1al fonn (3NF) if it is in 2NF and if no nonkey field is dependent on another nonkey field. Remember that a nonkey field is a field that is not a
candidate ke)' for the primary key.
T he PRODUCT table at the top of Figure 9-23 is not in 3NF because two nonkey
fields, SUPPLI ER NAME and ISO, both depend on another nonkey field, SUPPLIER
NUMBER.
To converr the rable to 3NF, all fields from the 2NF table that depend on another
nonkey field must be removed and placed in a new table that uses the nonkey field as a
primary key. In the PRODUCT example, SUPPLIER NAME and ISO must be removed
and placed into a new table that uses SUPPUER NUMBER as the primary key. As
shown in Figure 9-23, 3NF divides the 2NF version into two scp<uace 3NF tables:
PRODUCT (PRODUCT NU MBER, DESCRIPTION, SUPPLIER NUMBER)
SUPPLI ER (SUPPLIER NUMBER, SUPPLIER NAME, ISO)
CASE IN POINT 9.2:
CYBERTOYS
You handle administrative support for CyberToys, a small chain that sells computer hardware and
software and specializes in personal service. The company has four stores located at malls and is
planning more. Each store has a manager. a technician, and between one and four sales reps.
The owners want to create a personnel records database, and they asked you co
review a cable chat they had designed. They suggested fields for score number. location,
score telephone, manager name, and manager home telephone. They also wane fields for
technician name and technician home telephone and fields for up co four sales rep names
and sales rep home telephones.
Draw their suggested design and analyze it using the normali"Zation concepts you
learned in the chapter. What do you think o f their design and why/ W hat would you
propose?
9.6.5 Two Re al-World Examples
A good way to learn about norma lization is to apply the
r ules to a representative situa tion. This section presents
two diffe rent scenarios: first a school a nd tben a rechnical
service company. If a step-by-step process is followed, data
designs can be created tha t a re efficient, maincainable, and
er ror-resistant.
Crossroads Co llege: Consider the fami liar
situation in Figure 9-24, which depicts several entities
in the Crossroads College advising system: ADVlSOR,
COURSE, and STUDENT. The relationships among the
three entities are shown in the ERO in Figure 9-25. The
following secnons discuss normali1.arion rules for these
three entities.
EXAMPLE I :
FIG URE 9·24 A faculty advisor, who represents an
em1ty, can advise many students, each of whom can
reginer for one or many courses.
"'
r
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Chapter 9
Data Design
9 .6 Data Normalization
292
Before the normaliz~nion process is
scarred, it is noted that the TUDENT
cable contains field5 rhar rclarc ro rhe
ADVISOR and COURSE cnrirics, so a
d ecision is made co begin with the initial
design for the STUDEl\'T cable, which
is shown m Figure 9-26. Nore rhac the
rable design includes the student number,
student name, coral credits taken, grade
point average (GPA), advisor number,
advisor name, and, for every course the
student has taken, the course number,
course description, number of credits, and
grade received.
The STUDENT table in Figure 9-26 is
m1nor111aljzed because it has a repeating
group. Tbe STUDENT table design can be
written as:
M
ADVISOR
STUDENT
ADVISES
TAKES
N
COURSE
FIGURE 9°25 An Initial entity-relationship diagram for ADVISOR, STUDENT.
and COURSE.
STUDENT (STUDENT NUMBER, STUDENT NAME, TOTAL CREDITS,
Gl'A, ADVISOR NUMBER, ADVfSOR NAME, OFFICE, (COURSf.. ~l..!.i.~B~R,
CREDIT HOURS, GRADE))
To convert the STUDENT record to I NF, the primary key must be expanded co
include the key of the repeating grou p, producing:
STUDENT (STUDENT NUMBER, STUDENT NAME, TOTAL CREDITS, CPA,
ADVISOR NUNlBER, ADVISOR NAME, OFFICE, COURSE NUMBER, CREDIT
HOURS, GRADE)
STUDENT(Umom...lnd)
STUDENT
NUMIEll
101)
3397
4070
I STUDENT
NAME
Unda
Sam
Kelly
TOTAL
CREDITS
41
29
14
I GPA I ADVISOR
NUMBEll
l.fiO
].(]()
2.90
I ADVISOll
! NAME
Smith
49
49
Smtih
Jones
23
I OFRCE
82.12
8212
C333
'1
COUllSE
NUMIEll
I CREOIT I GllAOE
HOURS
CSCUl
4
a
MKT212
3
A
ENGlOl
3
a
CHM112
4
A
BUS105
2
A
ENGlOl
l
A
MKT212
!
CSCl.Sl
4
c
a
CSCUl
4
B
CHMlU
4
ENG101
3
BUS1~
2
c
c
c
FIGURE 9-26 The STUDENT table is unnormalized because It contains ;a repeating group that represents the
course each student has taken.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f •,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
293
9.6 Data Normalization
Figure 9-27 shows the 1NF version of rhe sample STUDENT data. Do any of the
fields in the l F STUDENT table depend on only a portion of the primary key? The
student name, total credits, GPA, advisor number, and advisor name all relate only
to the student number and have no relationship to che course number. The course
description depend~ on che course number but not on the srudent number. Onl)' che
GRADE field depends on the entire primary key.
111 1NF. 1he pnmary key is a unique combmatlO!l ol a
STUDENT NUMBER and a speofic COURSE NUMBER
STUDENT In lNF
1035
Un.U
47
3.60
49
Smith
82U
CSCl.51
4
8
1015
unda
47
3.60
49
Smlllt
82U
MICTU2
l
A
1015
Lindi
41
J.60
49
Sm1th
B2U
ENGlOl
l
B
1035
l..nd1
47
3.60
49
Smrth
B2U
CHMll2
4
A
1015
Un.U
47
3.60
49
Smith
Blll
8US105
2
A
3397
Sam
29
l.00
49
Smith
82U
ENG101
l
A
3397
5.tm
29
l.00
49
Smith
82U
MICT2U
3
c
3397
s.tm
29
3.00
82U
CSCUl
4
B
4(J7Q
kelty
14
2.90
"'
Sm1th
23
Jones
033
CSClSl
4
8
<IOJO
Kelly
14
2.90
23
Jones
C333
CHM Ill
4
c
<IO'IO
Kelly
14
2.90
23
JO<> es
Clll
ENGIOl
3
"°'°
Kelly
14
2.90
23
Jones
013
lkJSUIS
2
c
c
rn 1NF.
• There are no repeating groups
• The prmary key Is a unique combtnahon of two foretgn key values: STUDENT NUMBER
and COURSE NUMBER
• All field$ depend on Ille primary key. but some fields do not depend on the whole key - only
part of ii
FIGURE 9-27 The student cable in I NF. Notice that the primary key has been expanded to include STUDENT
NUMBER and COURSE NUMBER.
Following the I NF-2 F conversion process described earlier, a new table would
be created for each field and combination o f fields in rhe primary key, and rhe other
fields would be placed with their appropriate key. The result is:
STUDENT (STUDENT NUMBER, STUDENT NAME, TOTAL CRED ITS, GPA,
ADVISOR NUMBER, ADVISOR NAME, OFFICE)
COURSE (COURSE NUMBER, CREDIT HOURS)
GRADE (STUDENT NUMBER, COURSE NUMBER, GRADE)
The original I F STUD ENT rable has now been convened into three tables, all in
2NF. In each table, every nonkcy field depends on che entire primary key.
Figure 9-28 shows the 2NF STUDENT, COURSE, and GRADE designs and
sample data. Are all three tables STUDENT in 3NF? The COURSE and GRADE
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 9
Data Design
9 .6 Data Normalization
294
rabies arc in 3NF. STUDENT is not in 3 F, however, because rhe ADVISOR NAME
and OFFICF fields depend on the ADV1SOR 1UN1BER field, which 1s nor part of che
STUDFNT primary key. To convert STUDENT co 3NF, the ADVI OR NAME and
OFFICE fields are removed from che STUDE. T cable and placed into a cable with
ADVISOR NUtvl BER as che primary key.
COURSE In ZNF
STUDENT In ZNF
STUDENT I STUDENT
NUMBEll , NAME
lOlS
''
llr>da
ITOTAL I GPA
47
'
CREDIT
HOURS
ADVISOR
NAME
3.60
49
Smith
B2U
BUSlOS
2
CREDITS
OFFICE
COUllSE
NUMBER
ADVISOR
NUMBER
I'
3397
Sam
l.00
49
Smith
B2U
CHM112
4
4070
Kelly
2.90
23
Jones
C333
CSClSl
4
ENG101
3
MKTlU
3
GRADElnZNF
STUDENT
! COURSE
I GRADE
'
'
'
+
'
'
'
NUMBER
NUMBER
I
I
1n2NF
• All fields now depend
on the whole pnmary
key, but some fields
aleo might depend on
other fields lhat are nol
pan of the pnrnary key
• The pnrnary key of
GRADE ls a unique
combination of two
foreign key values.
STUDENT NUMBER
and COURSE NUMBER
1035
CSCJ.51
B
1035
MKT212
A
103S
ENGlOl
a
lOlS
CHMU2
A
lOlS
BUSlOS
A
3397
ENG101
A
3397
MICT2U
c
3397
CSCUl
a
4070
CSCUl
a
4070
OiMlU
c
4070
ENG101
c
4070
BUSlOS
c
c.........
FIGURE 9-28 The STUDENT, COURSE, and GRADE tables In 2NF. Notice that all fields are functionally
dependent on the entire primary key of their o-espective tables.
Figure 9-29 shows the 3NF versions of rhe sample data for ST UDENT, ADVISOR,
COURSE, and GRADE. The final 3.NF design is:
ST UDENT (STUDENT NUMBER, STUDE1''T NAME, TOTAL CREDITS, GPA,
ADVISOR NUNIBER)
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
- Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
- ·~• -fllllie<'f •,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Sys tems Design
295
9.6 Data N ormalizat ion
ADVISOR (ADVISOR NUMBER, ADVISOR A?vlE, OFFICE)
COURSE (COURSE NUMBER, CREDIT HOURS)
GRADE (STUDENT NUMBER, COURSE NUfy1BER, GRADE)
STUDENT In ZNF
STUDENT
NUMBER
I
STUDENT
NAME
I
TOTAL
CREDITS
IGPA I ADVISOR
NUMBER
. ADVISOR
: NAME
I
OFFICE
1035
Linda
47
3.60
49
Smith
8212
3397
Sam
29
3.00
49
Smith
8212
4070
Kelly
14
2.90
23
Jones
033
....•............
'
STUDENT In 3NF
'
STUDENT
NUMBER
INAME ICREDITS I
STUDENT
101)
3397
ADVISOR In 3NF
TOTAL
GPA
47
Sam
4070
14
'''
INUMBER
ADVISOR
'
ADVISOR
NUMBER
I ADVISOR I OFFICE
NAME
3.60
49
Smith
B2U
3.00
23
Jones
C333
2.90
23
FIG URE 9-29 STUDENT. ADVISOR. COURSE. and GRADE tables in lNF. When the STUDENT table 1s
transformed from lNF to lNF, che result is tw0 tables: STUDENT and ADVISOR.
Figure 9-30 hows
the complere ERD after
normalizarion. Now rhere
are four entities: STUDENT,
ADVISOR, COURSE,
and GRADE (which is
an associative entiry).
Note how Figure 9-25,
which was drawn before
GRADE was identified as
an entity, shows that che
M:N relationship between
STUDENT and COURSE
has been converted inco
two l:M relationships:
one relationship between
STUDENT and GRADE
and rhe other rclacionship
bcrween COURSE and
GRADE.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
1
ADVISOR
ADVISES
M
STUDENT
1
RECEIVES
M
1
COURSE
SHOWS
M
GRADE
l
assoc1atm
enllty
FIGURE 9 °30 The entity-relationship diagram for STUDENT. ADVISOR. and COURSE after
normaliution. The GRADE entry was idemified during the normaliution process. GRADE is an
associative enoty that links the STUDENT and COURSE tables
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 9
Data Design
9.6 Data Normalization
296
-,..._
- .
To creare 3NF designs, the nanire of first, second, and
rhird normal forms must be understood. A S)' rems analyst will encounter designs that are much more complex
than the examples in this chapter.
,. .......
-- \• -----·- . .--- ....I -·\.. -·------ I
-T-
•
•
•
Magic J\i\ aintenance: .Nlagic Maintenance
provides on-sire service for eleccronic equipment. Figure 9-31
shows the overall database design drnr such a finn might use.
The 6guce contains examples of many concepts described
earlier. The database consists of seven separate rabies, all
joined by common 6elds, so they form an integral data
scructure.
Figure 9-32 shows even more derail, including sample
dara, primary keys, and common fields. Nore rhat rhe
eariries include customers, technicians, service calls,
EXAMPLE 2:
~
FIGURE 9-31 A relational database design for a
computer service company uses common fields co link
the cables and form an overall daca structure. Notice the
one-to-many notation symbols and the primary keys.
which are indicated with gold-colored key symbols.
lW
lAllOR COD£
Sl5.00
•
$<U.OO
•
•c
C~T-NUM
•
•
•
•
•
~soo
. 0
SMOO
x
<Um>MIR
HOURLY-RATl •
• A
-
s
".J
IAIOll ('OOf \
· CUSHAST · ' CVSHlllST • ' CUST·A~S • CUH-Cll'f • CUU·STAT( ·
Dtnv..JonH
Albo'1
•J0.11.DrM
co
1011 H1lllop Rood Chotlott•
~c
vatdt:J
1nn1
Gonutez
67UthSttHt
Stott It
WA
Jul"I
1456
1913
2S16
---
a.111
6121
ll7<iO
SAruono
· 1848
:::J
.
CAU· NUM • lABOR-CODE
'10796
" cA
107'6
10791
B
10799
c
10799
D
A
10801
::;J SEIMCC Pi ITTOfTAll \
CAU·lllUM
PART·NUM
107'6
00-9192
SS·llll
10796
10797
AB-6784
10799
AB-6784
10799
XC-3133
SS-1024
10800
.
I i1] PARTS \
'
PART· NUM
• AB-6784
• 00-9192
• SS-1024
I
• SS-1099
• 5$-lUI
• XC·llll
.
lABOR·HOURS
,....
3;JlSm!1hUM
.
.
CAU·N~JM
•
•
•
•
LS
2.0
s.o
LS
14)6
10796
10797
10791
10799
1456
6J21
14)6
• 10801
T
"'A
H\.ldlOn
Fl
OATf
.
U/U/2019
U/13/2019
11/13/201'
12/l.S/2019
U/16/201'
1211"'2019
2136
- 10800
I
1.S
CUST·NUM .
s."
.....
..,
CA
Jat1nto
'""•bt"V c.....
JIC~le
~ SOMCf <ALl\
x
SUMCl 1.-'- OOAll'
101 MJlti Slfoet
thly
x
T[(H·NUM
.
04
17
04
21
21
09
2.5
.
PART·DESC
MffiR
DISC
COVER
EMBLEM
JUMPER
CABLE
;:J
x
QTY
.
TI'OI
'
TECH NUM
4
• 04
2
• 0'9
~
6
1
T£CH·lAST .
.
Robison
Wh1tf1eld
Kaplan
Chood
Johnson
17
• 20
• . 21
15
TECH FIRST
GefTY
oa..d
~··
L11land
Mane
.
x
HlRE·OATI
6/1/'1008
8/1/2001
1/1/l'J93
U/1/2003
10/1/2014
.
8
. Tcosr. PRICE
.
x
QTY-ON·HANO
SL30
$125.00 33
$1.69 220
$16.00
$19.7'9 71
S38.00
S50.00 41
SlS.00 3
$98.50
SU.SO
<:6 75
.
•'
Primary Keys
Common fields
<=7.9!1 77
FIGURE 9-ll Sample data, promary keys, and common fields for the database shown in Figure 9-31 .
The design is in )NF. Notice that all nonkey fields functionally depend on a primary key alone.
~- )U,
-Woip-M ._..,..
r..a...w...,..._...., ..I_,.. 41 11.,.. .................,.t11ru
..
(....,..... J:gl( . . . . .
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
__.~~c.....,..~
.........,..,. ..
._.,.,.,.......c:-..•~-".....-""'*"....,.._...,..
..
Phase l
Systems Design
29 7
9.7 Codes
and parts. Orher tahles srore dara abour labor and pans char are used on specific
service calls. Also nore that all rabies use a single field as a primary key, except the
SERVICE-L.ABOR-DFTAIL and SERVICE-PARTS-DETAIL rabies, where the primary
key requires a combinarion of rwo fields to uniquely identify each record.
9.7
CODES
A code is a ser of letters or numbers thar represents a data item. Codes can be used to
simplify outpur, inpur, and data formars.
9.7. I Ove rview of Code s
Because codes can represent dara, they are encountered constantly in everyday life.
Student numbers, for example, are unique codes to identify srudents in a school
regisrr:irion ~ystem. Three srudents with the name j ohn Turner might be enrolled ar
the same school, bur <lnly one is srudenr number 268960.
A poswl code is another common example. A nine-digit posta l code contain~ n lot
of inform:irion. Por example, the first digit idenciifies 1 of 10 main geographical areas
in the United St:Jtes. The combinarion of the next three digits idencifies a major city
or m:ijor distribution poinc. The fifth digit identifies an individual post office, an :irea
within a city, or a specific delivery unit. The lasr four digirs identify a post office box
or a specific ~rreet address.
For example, consider the zip code 3290 1-6975 shown in Figure 9-33. This is
called the "5+4" zip code format. The first digit, 3, indicares a broad geographical
area in the southea~rem Unired Srares. The nex't two digits, 29, indicate the area
east of Orlando in Florida. The next rwo digits, 01, represent the city of Nlelbourne,
Florida. The last four digits represent the specific location of the Florida institute of
Technology: 150 W. University Blvd.
Codes can be used in many ways. Because codes are shorter than the data they
represent, they save storage space and costs, reduce dara transmission time, and
decrease data entry rime. Codes also can be used ro reveal or conceal information.
The last two digits of a seven-digit part number, for example, mighr represent the
supplier number or the maximum discounr thar a salesperson can offer.
Finall)', codes can reduce dara input errors in situations when the coded data is
easier to remember and enter than the original source data, when only certain valid
codes arc allowed, and when something within the code itself can provide immediate
verification that the entr y is correct.
Broad geographical
locallon In
soUlheastem US
FL
Ot1ando
East
Melbourne
3
29
01
Florida Tech
150 W. Unlvers11y Blvd.
6975
F IG URE 9 -33 A zip code Is an example of a significant digit code that
uses groups and subgroups to store data. Th is example is for the zip code
32901-6975. which Is the location of the Florida Institute or Technology in
Melbourne, Florida.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 9
Data Design
9.7 Codes
298
9.7.2 Types of Codes
Companies use many djfferent cocling methods. Because information system users
mu~c work wirh coded data, the codes should be ea!>y to learn and apply. If it is planned
to create new codes or change existing oaes, comments and feedback from u~rs should
be obtained. The following section describes seven cominon coding methods.
1. Sequence codes are numbers or leners assigned in a specific order. equcncc
codes contain no additional information ocher than an indicarion of order of
enrry into the sy tern. For example, a human resource sysrem issues consccurive
cmplo)•ec numbers ro identify employees. Because the codes arc as~igned in the
orde r in which employees are hired, rhe code can be used to 'ce thar employee
number 584 was hired after employee number 433. The code, however, does
not indicate the starting date of either person's emplo)'ment.
2. Block sequence codes use blocks of numbers for different classifications. College course numbers usually are assigned using a block sequence code. JOO-level
courses, such as Chemistry 110 and Mathematics 125, are freshman-level
courses, whereas course numbers in the 200s indicate sophomore-level courses.
Within a particular block, the sequence of numbers can have some addirional
meaning, such as when English 151 is rhe prerequisite for English 152.
3. Alpha betic codes use alphabet lecters to distinguish one item from another
ba~ed on a category, an abbreviation, or an easy-to-remember value, called a
mnemonic code.1'tlany classification codes fir more than one of the following
definitions:
a. Category codes identify a group of related items. For example, a local
department store uses a two-character category code ro identify the
department in which a product is
sold: GN for gardening supplies,
....
HW for hardware, and EL for
electronics.
b. AbbreYiation codes are alphabetic
abbreviations. For example, standard
state codes include NY for New York,
ME for ~l aine, and MN for Minne.................
sota. Some abbreviation codes arc
called mnemonic codes because they
..
_
.
__
....
use a specific combination of lcncrs
_,........ ..
.....
that arc easy to remember. Many
three-character airport codes such
_, _____. .....
..... .......
as those pictured in Figure 9-34 arc
mnemonic codes, such as ATL for
Atlanta and MIA for Miami. I Iowcver,
.............
.........
..-... ....
----·~
some airport codes arc not mnemonic,
such as ORD (Chicago O'Hare) or
Abbreviations for some of the world's busiest airports.
MCO (Orlando).
' "
ATL
ORO
u-IR
HNO
LAX
__
-------oFW FRA aDG
OEN
-·--- AMS
···PHX
IAH
HKG
--- LAS
--- MAD
-.-... . ._
.
MSP o1W
-·-- aKK SFO MIA
JFK
LGW
EWR
SIN
NRT
---·- -~....... ...
PEK
_._
- sTL
------ seA
-·---- MCO VY!
FIG UR E 9-3 4
4. Significant digit codes distinguish items by using a series of subgroups of digits.
Postal codes, for example, are significant digit codes. Ocher such codes include
inventory location codes that consist of a rwo-digit warehouse code, followed
by a one-digir floor number code, a two-digit section code, a one-digit aisle
number, and a two-digit bin number code. Figure 9-35 illustrates the invenrory
locarion code l 1205327. \~bat looks like a large eight-digit number is actually
five separarc numbers, each of which has significance.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-
Woip-M ._..,.. - ·~•-fllllie<'f •,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
299
9.7 Codes
Section code
Warehouse location code
Bin number
'
11
'
2
05
3
'
27
A
Floor number - - - - - - -
number
FIGURE 9.35 »mple o( a code that uses signifle3nt digits to pinpoint the loation of an inventory item.
~------ Aisle
5. Derivation codes combine data from different
item attributes, or characteristics. Most magazine subscription codes arc derivation codes.
For example, one popular magazine uses a
subscriber's five-digit postal code, followedl by
31749 ADE 34 EBE
the first, third, and fourth letters of the subscriber's last name, the last two digits of the
subscriber's house number, and the first, third,
FIGURE 9-36 A magazine subscriber code is derived from
and fourth letters of the subscriber's street
various parts of the name and addreu.
name. A sample is shown in Figure 9-36.
6. Cipher codes use a keyword to encode a number. A retail store, for example,
might use a 10-letter word, such as CAMPGROUND, to code wholesale prices,
where the letter C represents 1, A represents 2, and so on. Thus, the code,
GRAND, indicates that the store paid $562.90 for the item.
7. Action codes indicate what action is to be taken with an associated item.
For example, a student records program might prompt a user to enter or dick
an action code such as D (to display a record), A (to add a record), and X (to
exit the program).
9.7.3 Designing Codes
H ere arc some code design suggestions:
• Keep codes concise. Do not create codes that are longer than necessary. For example,
if a code is needed to identify each of 250 customers, a six-digit code is not needed.
• A/10111 for expansion. A coding scheme must allow for reasonable growth
in the number of assigned codes. For example, if the company currently has
eight warehouses, do not use a one-digit code for the warehouse number. If
rwo more warehouses are added, rhe code must be increased ro two digits
or changed ro a character code in order to identify each location. The rule
also applies to u~ing a single letter as a character code hecause more than 26
data items might be needed in the future. Of course, more characters can be
added, which is just what the airline industry has done. Most airlines now use
six-character codes char allow millions of combinations.
• Keep codes stable. Changes in codes can cause consistency problems and
require data updates. During the changeover period, all the stored occurrences
of a particular code and all documencs containing the old code will have to
change as users switch ro the new code. Usually, both the old and new codes
arc used for an interim period, and special procedures arc required to handle
the two codes. For example, when telephone area codes change, either area
code (old or new) can be used for a certain time period.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~----···---~~-.,.-"~
...........
Chapter 9
Data Design
300
9.7 Codes
• Make codes unique. Codes used for idencification purposes must be unique co
have meaning. If che code H\V can indicace hardware or houscware, che code is
nor ver)' usefu I.
•
Use sortable codes. If products with three-digic codes in the I OOs or the 300s
are of one type, while produces with codes in the 200s are a different type, a
simple sort will nor group all t he products of one type together. In addition,
be careful rhar single-digit character codes will sort properly with double-digit
codes-in some cases a leading zero must be added (0 1, 02, 03, ere.) to ensure
char codes sorr correcrly.
•
Use a simple structure. Do noc code some part numbers wich two letters, a
hyphen, and one digit, and ot hers with one letter, a h)•phen, and two digits.
Avoid allowing both letters and numbers to occupy the same positions wichin a
code because some of those are easily confused. This situation mighc be a good
place co u~e an inpuc mask to assure that the correct data type b entered.
•
Avoid co11f11sio11. It is easy ro confuse the number zero (0) and the uppercase
letter 0, o r the num ber o ne (1 ) with the lowercase lette r L (I) or uppercase
lcrrer I. For example, rhe five-character code 5Z08 l easi ly can be misread as
5Z08I, o r 52081.
• Make codes meaningful. Codes should be easy to remember, user-friend ly,
convenient, and easy to interpret. Using S\Xl as a code for the southwest sa les
region, for example, has far more mea ning than t he code 14. Using ENG as t he
code for t he English department is easier to interpret and remember than eicher
XVA or 132.
•
•
Use a code for a single purpose. Do not use a code co classify unrelaced attributes. For example, if a single code is used to identify the combination of an
employee's depa rtment and t he employee's insurance plan C)'pe, users will have
difficulty idenrifying all the subscribers of a particular plan, or all the workers
1n a particular depa rtment, or both. A separare code for each separate characteristic makes much more sense.
Keep codes consistent. Foe example, if the payroll system al ready is using twodigir codes for departments, do not create a new, different coding scheme for
rhe personnel sysrcm. lf the two systems already arc using differen t coding
schemes, cry to esrablish a consistent coding scheme.
CASE IN POINT 9.3: MADERA TOOLS
Madera Tools operates a small business that specializes in hard-to-find woodworking
tools. The firm advertises in various woodworking magazines and currently accepts mail
and telephone orders. Madera Is planning a website that will be the firm's primary sales
channel. The site will feature an online catalog. powerful search capabilities, and links to
woodworking information and resources.
Madera has asked you, an IT consu leant, whether a set of codes would be
advantageous. What codes would you suggest? Provide at least two choices for a
customer code and at least two choices for a product code. Be sure to describe your
choices and provide some specific examples. Also include an explanation of why you
selected these particular codes and what advantages they might offer.
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
Phase l
Systems Design
301
9.8 Data Storage and Access
9.8
DATA STORAGE AND
Access
Data storage and access involve scraregic business cools, such as data warehousing
and data mining software, as well as logical and physical storage issues, selecrion of
data storage formats, and special considerations regarding storage of date fields.
9.8. 1 Tools a nd Techniques
Companies use data warehousing and data minj11g as srraregic tools to help manage
the huge quanriries of data they need for business operations and decisions. A large
number of sofr.vare vendors compete for business in chis fast-growing IT sector.
Large firms maintain many darabases, which mtght or
might not be linked together inro an overall structure. To provide rapid access to this
i11formation, companies use software packages that organize and store data in special
configurations called data warehouses. A data warehouse is an integrated collection
of daca that can include seemingly unrelated information, no matter where it is stored
in the company. Because it can link various in£0C1Ination systems and databases, a data
warehouse provides an enterprise-wide view to supporc management analysis and
decision making.
A darn warehouse allows users to specify certain din1ensions, or characteristics. By
selecting values for each characteristic, a user can obtain multidimensional information from the stored data. For example, in a typical company, n1ost data is generated
by transaction-based systems, such as order processing systems, inventory systems,
and payroll systems. If a user wants ro identify the customer on sales order 34071, he
or she can retrieve the data easily
DliMn•lon•
from the order processing system
by entering an order number.
On the other hand, suppose rhat
Sales
a user warns co see June 2019 sales
T!ITl8Penod
results for che sales rep assigned
to jo-l\1ar lndusrne . The data 1s
stored 111 rwo different systems
wirh different darabases: the sales
information ~ystcm and the human
DATA WAREHOUSE
resources informarion ~ystem, as
!.hown in Figure 9-37. Without a
Human
data warehouse, it would be diffiResources
cult for a user to extract darn char
Information
Information
Results
System
spans several information systems
System
Sates ref)<esenta1ive 121
and time frames. Rather than
sold $375.784 10 Jo·Mar
Input data
Input data
accessing separate system~, a data
lndustnea during Juno 2019
warehouse stores transaction data
in a format that allows users to
FIG URE 9-3 7 A data warehouse stores dat3 frolTl several systems. By selecting data
retrieve and analyze the data easily.
dimensions. a user can retrieve specific Information without having to know how or
where the data is stored.
While a data warehouse typically spans the entire enterprise,
many firms prefer to use a data mart, which is designed to serve the needs of a specific department, such as sales, marketing, or finance. Each data mart includes only
the data that users in that depanmcnc require co perform their jobs. There arc pros
and cons to both approaches, and the best solution usually depends on the s pecific
situation.
DATA WAREHOUSING:
\
1
I
r
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
1
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 9
Data Design
9.8 Data Storage and Access
302
Regard less of rhe overall approach, storing large quanriries of dara is like building
a house-ir doesn'r jusr happen. A well-constructed dara warehouse needs an archirecrure rhar includes derailed planning and specifications.
DATA MINING: Da ta mining software looks for meaningful data patterns and rela-
tionships. For example, dara mining sofrware could help a consumer products firm
identify porenrial customers based on their prior purchases. lnformalion about customer behavior is valuable, but data mining also raises serious ethical and privacy
issues, such as the example in the Question of Ethics feature in rhis chapter.
The enormous growrh in e-commerce has focused attention on dara mining as a
marketing tool. In an article called "Data Mining on the Web" that appeared in the
January 2000 issue of New Architect, a web-based magazine, Dan R. Greening noted
thar web hosrs rypically possess a lot of information about visito rs, bur most of it is
of lirrle value. His article mentions tbar smart marketers and business analysts are
using data mining techniq ues, which he describes as "machine learning algorirhms
thar find buried parrerns in databases, and report or act on those findings." He concludes by saying tha r "the great advan tage of web marketing is thar you can measure
visiror interactions more effectively rhan in brick-and-morrar srores or direct mail.
Dara mining works best when you have clear, meas urab le goals." Some of rhc goals he
suggesrs are :is follows:
•
Increase the number of pages viewed per session.
•
•
Increase the number of referred customers.
Reduce clicks to d ose, which means average page views
to
accomplish a pur-
chase or obtain desired information.
•
Increase checkouts per visit.
•
Increase average profit per cbeckour.
This t)'pe of darn garhering is sometimes called clickstteam storage. Armed with
this inform:ition, a skillful web designer could build a profile of typical new cusromers,
returning customers, :ind customers who browse but do not buy. Although this inform:irion would be very valua ble to rhe retailer, clicksrream storage could raise serious legal
:ind privacy issues if an unscrupulous firm sought to link :i customer's web behavior to
:i specific n:ime or email address and then sell or otherwise misuse the informarion.
Because ir can derect parrerns and trends in large amounts of data, dara mining is
a valu:ible rool for m:inagers. There is a well-known story about a chain of superm:irkers that performed a derailed affiniry analysis of purchases and found chat beer and
diapers were often purchased rogetber. Ir is unclear whether or not this story is true,
but without actempting to explain this correlation, the obvious tactic for a retailer
would be to display these irems in the same area of the store. This data mining technique relies on associariou r u.le learning and is often called mar ket basker a nalysis.
9.8.2 Logical Versus Physical Storage
It is important to uuderstand the difference between logical stornge and physical
storage. Logical sto rage refers to data that a user can view, undersrand, and access,
regardless of how or where that information actually is organized or stored. Tn contrast, phy~ical storage is strictly hardware related because it involves the process of
reading and writing binary data ro physical media such as a hard drive, CD/DVD, or
network-based sroragc device. For example, portions of a documenr migh t be stored
in differcnr physical locations on a hard drive, but the user secs the document as a
single logical entiry on the compurer screen.
(....,..... J:gi( . . . . . I_,.. 4111.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase 3
Systems Design
303
9.8 Data Storage and Access
Logical storage consists of alphaberic and numeric characters, such as rhe letter A
or the number 9. As de cribed earlier in rhis chapter, a sec of related characters forms
a field, which dc~cribes a single characteristic, or anribure, of a person, a place, a
thing, or an event. A field also is called a data element or a data item.
When designing fields, space should be provided for che largesr values char can be
ancicipared, wichour allocaring unnecessarily large storage capacities char will nor be
used. For example, suppose a cuscomer order enrry sysrem is being designed for a firm
with 800 cusromers. Ir would be a mistake co lim ic the customer numher field to chrce
or even four characters. Instead, a five-character field wirh leading zeros thar could
store cusromer numbers from 00001 ro 99999 should be considered.
A mix of alphabetic and numeric characters can also be considered, which many
people find easier co view and use. Alphabetic characcers expand the storage capacity
because there arc 26 possible values for each character position. Mose airlines now
use six alphabetic characters as a record locator, which has over 300 million possible
value!>.
A logicaJ record is a set of field values that describes a single person, place, thing,
or event. For example, a logical customer record contains specific field values for a
single customer, including the customer ntunber, name, address, telephone number,
credit limit, and so on. Application programs see a logical record as a group of related
fields, regardless of how or where t he data is stored physically.
The term record usually refers ro a logical record. Whenever an application progran1 issues a read or write command, the operating system supplies one logical
record to the program or acceprs one logical record from the program. The physical
data might be stored on one or more servers, in the same building or thousands of
miles away, bur all rhc applicarion program sees is rhe logical rccord-rhe physical
srorage locacion is irrelevant.
9.8.3 Data Coding
Computers represent data as bits (shorr for binary digits) that have only two possible
values: I and 0. A computer understands a group of bits as a digital code that can
be transmitted, received, and stored. Computers use various data coding and storage
schemes, such as EBCDIC, ASCII, and binary. A more recent coding standard called
Unicode also i!> popular. Also, the storage of dates raises some design issues that mu~t
be considered.
EBCDIC, ASCII, AND BINARY: EBCDIC (pronounced EB-see-dik), which stands
for Extended Binary Coded Decimal Interchange Code, is a coding method used on
mainframe compurers and high-capacity servers. ASCII (pronounced ASK-cc), which
stands for American Standard Code for In£ormatJion Interchange, is a coding method
used on mosr personal computers. EBCDIC and ASCII both require eight bits, or one
byre, for each characrer. For example, the name Ann requires 3 bytes of srorage, chc
number 12.345 requires 5 bytes of storage, and the number 1,234,567,890 requires
10 byres of storage.
Compared with character-based formats, a binary storage format offers a more
efficient storage method because it represents numbers as actual binary values, rather
than as coded numeric digits. For example, an integer format uses only 16 bits, or
nvo byres, to represent the number 12,345 in binary form. A long integer format uses
32 bits, or four bytes, co represenr the number 1,234,567,890 in binary form.
UNICODE: Unicode is a more recent coding srandard rhar uses two byres per
character, rather than one. This expanded scheme enables Unicode co represent more
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 9
Data Design
9.8 Data Storage and Access
304
than 65,000 unique, mu ltilingual characters. Why is this important? Consider rhe
challenge of running a multinational information system or developing a program
that will be sold in Asia, Europe, and North America. Because it supports \irtually all
languages, Unicode has become a global standard.
Traditionally, domestic software firms developed a product in English and rhen
tran lated t he program inro one or more languages. This process was e\.pcnsive,
slow, and error-prone. In contrast, Unicode creates translatable content right from
the srart. Today, most popular operating systems support Unicode, and the Unicode
Consornum maintains standa rds and support, as shown in Figure 9-38.
~ The Unicode Consortium
c.-. .,, , .,. _ , s-
---- .
... _
.
-.
_
..
-.
,.Q
n.c
n.-- ...
OuktlUr>b
C:-0-
•
•••
n.u............
..
.............. (C\.OllQ
"1t• I w.-O.
..
......... o...
UTC_,.._
•
a.Oii
QJTC
•
7
CW-11-
..
UTC~ ........
•
........
•
-- ~~.Jd!Llf!JA&Ht0soctrQl.llll t''
't W l:lV'IVGil
-·~
wr--110 . . pp1t• l'll.._~
l!lll.Lll!lllllll.Jj--.il!C-
,_., ...,
FIGURE 9-38 Unicode Is an international coding format that represents charaeters as Integers, using 16 bits (two bytes)
per character. The Unicode Consortium maintains standards and support for Unicode.
SouK.t ""'
,,,... "'
STORING DATES: What is the best wa)' to store dares? ·me answer depends on how
the dates will be displayed and wbether rhey will be used in calculations.
At the beginning of the twenty-first century, man)' firms that used only two digits
to represent t he yea r were faced wirh a major problem called the Y2K issue. Based
on rhar experience, most date formats now are based on the model established b)' the
International Organization for Standardization (ISO), which requires a format of four
digits for rhe year, rwo for the month, and two for the day (YYYYMMDD). A dare
stored in rha r format can be soned easily and used in comparisons. If a dare in lSO
form is larger rhan another date in the san1e form, then the first date is later. For example, 20150504 (May 4, 20 15) is later than 2013092 7 (September 27, 20 L3 ).
But wbat if dates must be used in calculations? For
example, if a manufacturing order placed on June 23 takes
three weeks co complete, when will the order be ready? If a
• .!. •
•
1 M
payment due o n August 13 is nor paid until April 27 of the
DI
, following year, exactl y how late is the payment a nd how
c
0
t
•
•
much inteTesr is owed? In these s ituatio ns, it is easier rouse
2'
1
absolu te daces.
•s
An absolute date is the total number of da ys from some
specific
base date. To calculate the number of days berween
'I,
rwo absolute daces, one dare is suhtracccd from rhc other.
t(21fU
•
For example, if the base date is January I, 1900, then May
10
UIS
4, 2015, bas an absolute date of 42 128. Similar!)', Seprember
,,11
27, 20 13, has an absolute date value of 41 544. If rhe earlier
FIGURE 9.39 Microsoft Excel uses absolute dates In
dace value is subtracted from the later one, che re ult is 584
calculations. In this example. May 4, 2019, ls displayed as
days. A spreadsheet can be used ro determine and displa)
43589.and September 27. 2015.ls displayed as 42274.
The difference between the dates Is 13 I5 days.
a bsolute daces easily, as shown in hgure 9-39.
- ..
-·
(....,..... J:gi( . . . . .
I_,.. 4111.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,...... .,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~--- t fta111&....-.~~ ij
__.~~ c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
305
9.9 Data Control
9.9
DATA CONTROL
]use as it is important co secure the physical part of the syscem, as shown in
Figure 9-40, file and database control must include all measures necessary to ensure
that data storage is correct, complete, and secure. File and database control is also
related to input and ourpur techniques discussed earlier.
FIGURE 9_.0 In addition to network monitoring, system securicy includes access codes, data
encryption, pa,sswords. and audit crails.
A well-de 1gned DBM must provide built-in control and secunty features, including subschemas, passwords, encryption, audit rrajl files, and backup and recovery
procedures to maintain data. The analyst's main responsibility is to ensure that the
DBMS features are used properly.
Earlier in this chapcer, it was explained that a subschema can be u ed ro provide a
limited view of the database to a specific user or level of users. Limiting accei.s to files
and database& is the most common way of procecting stored data. Users must furnish
a proper ui.er ID and password co access a file or database. Different privileges, also
called permi~si on~, can he associated wid1 differenc users, so some employees can be
limited ro read-only access, while ocher users might be allowed ro update or delere
data. For highly sensitive data, additional access codes can be established thar restrict
i.pecific records or fields within records. Stored data also can be encrypted to pre·
vent unauthorized access. Encr yption is the process of converting readable data into
unreadable charnccers to prevent unauthorized access to the data.
All system fi les and databases must be backed up regularly and a series of
backup copies must be retained for a specified period of time. In the event of a file
catastrophe, recovery procedures can be used to restore the file or database to its
current state at the time of the last backup. Audfr log fil es, which record details
of all accesses and changes to the file or database, can be used to recover changes
made since the last backup. Audit fields, which are special fields within data
records to provide additional control or security information, can also be included.
Typical audit fields include the date the record \Vas created or modified, the name
of the user who performed the action, and the number of times the record has been
accessed.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter 9
Data Design
9.10 Summary
306
Tip Top Toys is a relatively small division ofWorldwide Enterprises. Worldwide has nine
other divisio ns, which include insurance, health-care products. and financial planning
services, to name a few.
The cor porate marketing director for Worldwide has requested Tip Top's customer
shopping data to target people who might be likely to purchase items o r ser vices from
other Worldwide divisions. The database manager is not totally comfortable wich chis and
pointed out Tip Top's web privacy policy, which states "Tip Top Toys. a division of Worldwide Enterprises, will not share personal data with other companies without a customer's
consent."
The marketing director replied that the statement only applies to outside companiesnoc other Worldwide divisions. He said he checked with the corporate legal department.
and they agreed. The database manager replied, "Even if it is legally OK, it's not the right
thing co do. Many people take our statement co mean that their data does not leave Tip
Top. At the very least, we should give customers a choice, and share the data only with
their consent."
Do you agree with the marketing director? Why or why not?
9. I 0
SUMMARY
This chaprer conrinued the scudy of the systen1s design phase of rhe SDLC. Ir was
explained rhar files and tables contain data abour people, places, things, or evenrs that
affect the information system. File-oriented systems, also called file processing systems, manage data stored in separate.
A database consisrs of linked tables that form an overall data St ructure. A DB~1S
is a collection of tools, features, and inrerfaces that enable users to add, update, manage, access, and analrze dara in a dat abase.
DBMS designs are more powerful and flexible than crad1tional file-oriented srstems. A database environment offers scalabiliry, support for organization-wide access,
economy of scale, data sharing among user groups, balancing of conflicring user
requirements, enforcement of standards, controlled redundancy, effective security,
flexibility, better programmer productivity, and data independence. Large-scale databases are complex and require extensive security and backup/recovery features.
DBMS components include interfaces for users, DBAs, and related systems; a
DM L; a schema; and a physical data repository. Other data management techniques
include data warehousing, which stores data in an easily accessible form for user
access, and da ta mini ng, which looks for meaningful patterns and relationships
among d:ira. Dara mining also includes clickstrearn storage, which records how users
interact with :i site, :ind marker baskec analysis, which c:in iJentify pro<luct relacionships :ind consumer buying patterns.
In a web-based design, the Internet serves as the front end, or interface, for che
DBMS. Access to the database requires only a web browser client and an Internee
conne<..-cion. Middleware can interpret client requests in HTML form :ind cranslate
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
Phase l
Systems Design
307
9.10 Summary
the requesrs into commands rhar rhe database can execute. \'Veb-based dara must he
secure, yet easily accessible ro authorized users. To achieve this goal, well-designed
systems provide security ar rhree levels: rhe database itself, the web server, and the
telecommunication links that connect rhe componencs of the system
In an information system, an entity is a person, a place, a thing, or an event for
which dara is collected and maintained. A field, or attribute, is a single characteristic
of an entity. A record, or tuple, is a set of related fields that describes one msrance of
an entity. Dara 1s 5torcd in files (in a file-oriented system) and cables (in a database
environment).
A primary key is the field or field combination that uniquely and mimmally identifies a specific record; a candidare kc)' is any field rhat could serve as a primary key. A
foreign key is a field or field combination that muse match rhe primary key of another
file or table. A secondary key is a field or field combination used as the basis for sorting or retrieving records.
An ERD is a graphic representation of all system entities and the relationships
among them. The ERD is based o n entities and data stores in DFDs prepared during
rhe systems analysis phase. The three basic relationships represented in an ERD are
one-to-one ( l: 1 ), one-co-many ( J :M), and many-to-many (M:N). In a M:N relationship, the two entities arc linked by an associative entity.
The relationship between cwo entities also is referred to as cardinality. A common
form of cardinality notation is called crow's foot norarion, which uses various symbols co describe rhe characteristics of the relationship.
Normalization is a process for avoiding problems in data design. A I NF record
has no repeating groups. A record is in 2NF if it is in I NF and all nonkcy fields
depend on chc cncirc primary key. A record is in 3NF if it is in 2NF and if no field
depends on a non key field.
Dara design tasks include creating an initial ERD; assigning data elements ro an
entity; normalizing all table designs; and completing the data dictionary entries for
files, records, and data clements.
A code is a set of letters or numbers used to represenr data 111 a system. Using
codes can speed up data entry, reduce data storage space, and reduce transmission
time. Codes also can be used to reveal or to conceal informacion. The main types
of codes are ~equence codes, block sequence codes, classification codes, alphaberic
codes (e.g., caregory codes, abbreviation codes, and mnemonic codes), sig111ficanr digit
code5, dcnvarion code~, cipher codes, and action codes.
Logical storage is information seen through a user's eyes, regardless of how or
where rhat information actually is organized or stored. Physical srorage 1s hardware
related and involves reading and writing binary data to physical media. A logical
record is a related set of field values that describes a single person, place, thing, or
event. Dara storage formats include EBCDIC, ASCH, binary, and Unicode. Dares can
be siored in several formats, including ISO and absolute forma t.
File and database control measures include limiting access to the data, data
encryption, backup/recovery procedures, audit trail files, and internal audit fields.
.........""_.. ....-.................
_..__
("..,_..., llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ·· · ---~~-.,.- " ~
...........
Chapter 9
Data Design
Key Terms
308
Key Terms
I: I .\ type of en!lt) rcl:111onsh1p. A one-ro-one relarionship, abbreviated I: I, e'1srs when exactl) one of
the ~ond enm) occurs for e-.ich instance of the first eouty.
I :M A rype ol cnnn rc'3rion)h1p. A one-to-man>• refanomhip, abbre,·iatctl I :M, cx1>t> when one <><:cur·
rcm.e of the finr cnt1ry .:an be related ro many 0<:currcncc\ of the '-"LOntl cnnty, hut each ou:urrcncc
of the -.ccontl enriry can be associated with only one occurrence of the fil'or cnnl)'.
ahhrc~iat;on cock Alphal>etic ahhreviarion. For example, ~randartl \t,lle codt..., include
'"Y for '-:ew
York, ME for ~faine, 3nd MN for Minnesot:L
abwlute date lbe total number oi days from some specific bnse date. fo calcufotc the number of da)'S
between two .1bsolute dat.-s, subtract one date from the other. For example, usmg a bJse date of Janu·
Jr) 1, 1900, September 27, 2012, has an absolute date "alue of 4117!1 Jnd Jul) JJ, 2011, has an absolute dare of 40737. If rhc earlier dar<' value is subrracted from the IJtcr one, the result is 442 d,1rs.
acuon code Indicates whJt ,1crion is robe taken with an associJted Item. For exJmple, a student records
progrnm might prompt a user ro enter or click an action code such as D (to d1spla> the student's
record}, A (ro add a record), and X (co exit the program).
alphabetic rntlc Use' alphab"c leacr~ to tlisringuish one item from another ha\Cd on a catci:ory, an
Jbhrcvint1011, C>r an ea,y·tC>-remcmber value, ca lled a mnemonic code.
A~Cll
ScanJ, for American Standa rd C.<Jde for Information lntcrchani:c, a lLita 'mrasc coding method
u'ed on mo~t pcrmna I computers and workstation<.
a~~ociath·e
cnriry An enriry thar hns its own set of .irrributes .rnd ch,uacrcnstics. AssoctJt1\·e enrirics are
used to link between many-to-many (M:N) relationships.
attribute A srngle chJractenstic or fact abottt an entiry. An arrnbute. or field. 1s the smallest piece of dJta
th.u h.is meanmg within ao information system. For example • .t 5oc1JJ ~urtC) number or company
n.1me could l>e examples of an armbure. Ln ob1ect-oneored .m.ilys1s, an atmbute as pan of J class d1a·
gram th.it describes the characrenstics of objects in the class. Also kno\\n as J data elemeot.
3.udu field\ <;pccial fields ,~;rhin data records ro provide additional control or '>«Uri!)' informarion.
T)•pical audu fields include rhe dare the record was created or modified, the name of the user who
performed rhe action, and the number oi rimes che record hJ'> been an:.,.,.,.,J.
:audit IO)I file\ Roxord detail~ of all accesses and change> co a file or tl.naha\C and can he u'>Ctl to nx:o•cr
changes made since the last backup.
bad.up fhe process of saving a series of file or data copies to be retJtned for a specified period of mne.
Data can he hacked up conunuously, or ar prescribed intervals.
binary qora~e format A formar that offers efficient storage of numeric data . For t.'xample, when numeric
data t) pes are specified using Microsoft Access, there are a variety of sroragc formats choices, includ·
mg mteger and long mteger, among others.
bit The 'niallc.i unit of darn is one bin:try digit.
block ;cqucncc code Cipher that u;e; blocks of numberb for different cla;~ification'>.
by1e A group of e1ghr bus is called a byre, or a character. A ser of byres forms .1 field, which is an ind1v1tl·
u.11 f.1ct about a person, a pl.ace, a thi11g, or an event.
candidate key ~omctim~ iris po<sible ro have a choice of field~ or field comhinauon~ to use as the pri·
mary key. Anr field thac could serve as a primary key is called a candid.ire kc).
cardinaliC) i\ concept rhar de<cribes how instances of one cnnl)· relate to instance< of another cnriry.
Described in FRDs br norarion rhar indicates combinarions rhat include 1cro or one·rn·many, one-co·
one, anti many-to-man}.
c.ud1naht) notation Code rhat shows relationships between emmes.
o;'jtci;ory cod.~ Cipher;. that identify a group of related 1tem>. !'or e.,a.mplc, j lo..al tlepJrtmcnr >tore ma>
use a l'•o·charactcr category code ro identify the deparrmenr 1n whKh a produll "sold.
~JD»(".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_._....~~
...
...............
_ .... ~---11rt~
-,..~---~~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Phase l
Systems Design
309
Key Terms
char.1c1cr A i:roup of c111h1 hot> i~ .:ailed a characrer, or a brre. A ..et of brr~ fonm a field, which i, an
1nd1V1dual f.11.t ahouc a pcr\on, a place, a rhing, or an cvenr.
cipher cod<:'> Use of a kcrword 10 encode a number. A reratl srore, for example, may use a I 0-lctter
word, \uch as Cl\Ml'GROU:-<D, ro code wholes.ile prices, where chc lcncr C reprcscnr~ I, A rep·
rescncs 2, and so on. Thus, the code, GRA:>.D, would indicate char the store paid $562.90 for che
uecn.
clich 10 close fhe average number of page views 10 accomplish a purchase or obtam des1ted
mformJt1on.
did..,trcam \10ra11c R<-<;ordini; wch Vl\itor hchav10r and traffic trend, for later dara m1n1ni:.
U\c.
cudc A -.er of lcrter\ or numhef\ chat represents a data item. Codes can be used to ,;mplify output, input,
and darn formats.
combination key A type of dara validation check d1at is performed on rwo or more fields 10 ensure that
they arc consistenr or reasonable when considered rogecher. Even diough all the fields involved in J
combutauon check might pass th~ir ind iHdual validation checks, the combi11,11io11 of the field v.1lue>
nught be inconsasccnr or unreasonable.
common field An attnburc rhar appears in more rhan one euriry. Common fields can be used ro link
entities in vacious types of relarionships.
compmire key Somcrime< it i< nccc<<ary for a primary ker m comi\I of a combination of field,. In that
case, the primary key i< called a comhinarion key, composite key, concatenated key, or multivalued key.
conca1e11atcd key Sec ;:on•P<hllc kc) .
cro" ·, £001 oot.iuon A type of cardinaLit) notation. Ir is called crow·s foot 1101atio11 because o( rhe shapes,
wruch uiclude c1tdes, bars, and S)'mbols. that mdtcate vanous poss1btlmes. A sangle bar uid1c.11es one, a
double b.lr and1c.11es one and onl) one, a cU'cle mdicares zero. and a crow's foot mdicates m.iny.
data clement A single char.1ctcrm1c or fact about an enriry. Adara element, field, or .mnbute cs the
smallest pac~ce of data that bas meanmg within an information system. for ex.implc, a Social Sccurit)
number or comp.in) name could be ei..amples of a data l'lemenr. The rean d.J/J item is also used.
data 11cm Sec Jara clement.
data manipulation h1n11uai.:c (0\.fl) A DML controls database operations. including ~torini:. rctncving,
up<latini;, and dclc11n11 data. Mo<e commercial DBMSs, such as Oracle and IBM\ DBl, use J DMI..
data lllMI A spe<1ahled d.u.1base designed 10 serve the needs of a spectfic department, such JS sales,
m.irkeung, or finance. Each data marr includes only rhe dara rhat users m rhac dep.irtment require to
perform their 1obs.
daca mining Lookmg for meaningful patterns and relationships among dt\ca. For example, data mm
ing software could help a consumer products firm identify potential cw.tomers based on their prior
purchases.
data 'tructurc A mcaninf;fu l combination of related daca clements that is indudcd in a data flow or
retained in a d<1ra >tore. A framcwork for organizi ng and storing data.
data woirchnu~c An inrcgrarcd collccrion of darn that can Sltpporr managemcnr analysi~ and dcci~ion
making.
dntaba~c odmoniHr.itM (OBA! Someone who manages a DBMS. The DBA assesses overall requirement~
and ma1or.11ns the darabai.c for the benefit of the entire organuacion rather than a smgle deparrmenr
or user.
Jatab.i>e mJna11cmcn1 >) ;ccm (OBMS i A rnllecnon of cools, features, .ind interface> that enable> u>er> co
add, update, manage, acce~~. and analpe dara in a darabase.
dcnv01tion code Comhonmg dara from different item attributes, or charactcrisnc~, ro build rhc code.
Mo\t magazine sulxcnpnon codes are dcrivarron codes.
~JD»(".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_._....~~
...
...............
_ .... ~---11rt~
-,..~---~ ~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Chapter 9
Data Design
Key Terms
3 10
f BCOIC Stands for E..'l.tended Bina!") Coded Decimal lntercbaoge Code, a cod mg method used on mamframe .:ompmers and M>me high-capacity secvers.
cwnonl\ of ,~.de The inhcrenr cfficienc)' of high-volume proces>ing on larger <omputer>. Databa>e
de"gn allmY'> better uulizanon of hardware. If a company maintain\ an enrerpri,e-w1dc databa...,, procc<>\lng i~ le<>\ ex~n'i"e using a po\vcrful mainframe server instead of u~ing <.C\'eral \mailer compmers.
cncrn>tinn A proce-;~ where data i~ coded (convened into unreadable char.1cter•) '>O rhar only
the required nurhori1ation can access rhe data (usuallr via de<oding ,oftware)
tho~
wirh
entity A person, a place, a thing, or an e'·enr for which dara is coUcacd and mamtJ1ned. ~or example, an
onlme sales S)Stem may inc.:lude entities named CUSTOM..l:.R, ORDJ:.R. l'RODUCf, and SUPl'UER.
cnllt)·-rclauon>lup diagram (ERO) A grapluca1 model of the mformation system that depicts the relanonslups among system enri11es.
fidd A 'inglc ~harnctcrl<,tic or fact about an cntiry. A field, or attribute, i' the 'mallc~t piece of data that
ha' meaning with in an infnnnation ')'stem. For example, a Social Sccurit)' numhcr or company name
cou ld he examples of a field. The terms data element, data item, and field are u'cd intcrchani;cably.
file Each file or rahlc comnins dam a hour people, p laces, things, or evenLs that intera..-1 w ith the informa-
tion 'Yl>lcm.
iile-oricnicd sy~tcm A ftle-onented system, also called a file processlllg system, stores .ind manages d.ita
Ill one or more separare files.
first normal form ( LNI') A record is said to be in lNF 1£ 1t does not contain a repe.mng group (,1 set of
data items that can occur any number of times in a single record).
forci~n
key A field in one table that must match a primary key \"aluc: in another table in order ro esrabll\h rhc rcl;uion'>hip between the two tables.
fun•'tionall) dcp<ndent Funnional dependence is an imponant concept for under\tanding the 2l-.'F. The
field X "'aid to be fun,·wm.11ly dependent on rhe fidd Y 1f the \·aluc of X depend, on the \·alue of Y.
For example, an order date is dependent on an order number. for a pamwlar order numhcr, rherc 1s
only one \'alue for rhe order dare. Jn conrra<r, rhe product de-;cription os not dependent on the order
number. For a panicular order number, there might be ~veral product dc><:ription\, one tor each item
ordered.
lntemauonal OrganiLation for 5tandardiLation (150) A networL. of nauon.il ~tand.irds 1m111u1es lrom
over a hundred counmes working in pannership wub 1mcrnanon.il orgaml.lnons, govcmmenrs,
industncs, and bus111css and consumer representanves. The ISO acts as a hndgc llCtween public and
private seetors.
ja\a databa\c conncctivit) UDBC) A >tandar d that enables Java application~ to cxch;mge data with any
darJbase th.It uses SQL statements and is ODBC-compliant.
key field\ Ui,ed during the ~)''terns design phase ro organi1e, accc>>, and mainrnon data \tructure,, The
four typt·~ of key fields arc primary keys, candidate key>, foreign keys, and ~crnndary key~.
lo11ica l record A lo11ical record concain< field values that describe a ~inglc pcr>on, place, thin11, or event.
Applicncion program< see a logica l record as a set of field<, rcgard lcs'> of how or where the data is
'torcd phy<1cally.
logical \tOraAc Refer& to informa tion as seen th rough a user's eyes, regardlcs~ of how or where that
information 1; organiLed or srored.
M:l\ A rype of encity relationship. A man}·to-m.1.n} relauouslup, abbrevi.ued M:N, exist> when one
instance of the firq enrity can be related ro many instance<> of the second enmy, and one 1n~t.incc of
the ~ond cnm) can he related 10 many instances of the first ent1t).
man}-to-man) rdatiomhip See \{:N.
markrt h.1d.:et analy<i< A rype of analysis rhat can derecr pattern~ and trend~ in large amounts of data.
~JD»(".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_._....~~
...
...............
_ .... ~---11rt~
-,..~---~~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Phase l
Systems Design
311
Key Terms
m1ddlc\\arc 5oft\\arc that conne.:t~ d1\>1m1br apphcanons and enables them to communicate and
c'\,hange data. For c\amplc, m1ddlcwarc can lmk a dcpa rtmcntal databa..c to a \\ cb \cn·cr 1ha1 can
be accessed by client computers via rhe lnrcmcc or a company inrranet.
mnemonic code Cipher~ u~ing a ~p«1fic combanarion of lerrers that arc easr co rcmembcr. Man)'
thrce<haractcr J1rpon codes are mnemonic codes. For example, LAX represents Lo> Angeles.
mulcivalued kc~ Someumes Jt 1s necessary for a primary key co consist of a comb111Jrion of fields. In that
case, the prill1Jry key 1; ~ailed a combuiauon ke), composite key, concatenated key, or mulm alued key.
nookcy field Any field that i'> nor a primar) kc)' or a candidate key;,, called a nonkey field.
nor1nal1uuon A pr<"'"" hv which analy'll• 1dent1fy and corn-ct inherent problems and complc\illc' m
their record dc,ign,.
one·to-man)
rclat1on~h1p
See J :M.
one-to-one rclauon\hip Sel' I: I.
open databa>c connectivity (ODBC) An inclusrry-standard protocol that make' it po~'ihlc for ;oftwa1·c
from different vendors ro inrcrncr nnd exchange dnrn.
orphan An unassociared or unrelared record or field. An orphan could be created if J cusromer order
was emercd in an order table where rhar cuscomer did nor already exist in che cuscomer tJble. Refer·
cntial integrity would prevent rhc creation of thi~ orphan.
permissions Uscr-spcc1f1c pnv1ley.es th.Jr derermme the rype of access a user has to a dacabJsc, file, or
dtrectory. Also called user nghrs.
phrical 'tl'f1111t Information 'ttorai;c mcd1ani'rn that is <tri~Tly hardwari; related, ~"t;rnw it invuh·c-- the
process of rcadmg Jnd writing binaf) data to physical me<lia. such .is a h•ud dri\e, fl.ish drive. or DVD.
primal) t..,") \ field or comhm:mon of fields rhar uniquely and minimally identifie' a particular member
of an cnut). For example, 111 a c.:u,t0mer mhle the cu~tomer number is a umquc pnmal') kc) hct:au-.e
no mo c.:u>tomcr' .:an have the !hlmc ~-u>tomer number. That kc) aho i~ m1n11nal bccau-.e n contain.,
no mfnrmannn bcrond what " needed ro identify rhc cusromcr.
query b)
c~ampk
QRf 1 A language allow~ the user co pro,;dc an example of the data reque,ted.
quef) lanRuagc Allows a user ro ~rcc1f)· a task wirhour spccif)'ing how the task wtll be accomplished.
Some query languagrs use natural language commands that resemble ordinaf) English senrencrs
record A set of related fields that describes one instance, or member of an emit), ;uch as one customer,
one order, or one produu. A record m1gl11 have one or doreus of fields, depeudmg ou "hat mformauon 1s needed. Al~o called a ruple.
rcco,cry procedure Pmce" for resrorin11 data and rcsrarrin~ a ~ys1cm after an interruption. Recovery
procedure' can be UM"d m rc<rorc a file or database ro its current state at the time of rhc la~r backup.
referential integrity A rypc of validity check. Referential inregriry i< a sec of rule<> thar avoid< dara incon
'i~tcncy and quality problem\.
rela1iooal databa~c A darahnse in which rnhles are related by common fields, creating a unified d.1C,1
strucrnre th.11 provides improved data qua licy and access.
relational model A model u;ed in relational databases. The relattonal model was mtroduced du rang the
1970; and be'ame popular bec.1usc n was fleXtble and powerful.
rcpca111111 group A >CC of one or more field; char can occur any number of rime; in a single rc<:ord, wuh
each occurrence having d1ffcrenr values.
scalabtlit) A characrcri~ric implying rhc system can be expanded, modified, or dowmi1cd easily m meet
che raptdl> changing need~ of a business enterprise.
~cbema
The complete definmon of a database, indudmg descriptions of all fields, records, and
relaoon;lups.
~JD»(".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_._....~~
...
. ..............
_ .... ~---11rt~
-,..~---~ ~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Chapter 9
Data Design
Key Terms
312
u
~c~ond normal form
(2'\1- A record design is in 2NF if ic is Ill l;\J and all fields thar arc not pan of
che pnmJI) Ley are depeudem on the enure primar) ke). lf .Ill) field in .1 l~ l rC\:orJ depend; on only
one of rhe fu~lds ma combmanon prunary key, then the record 1s not m 2::-;1. A I ::-;1 record wirh a
primary key rhac ts a single field is aucomaricallr m 2::>:F.
\ccondal') kC} .\ field or comhinarion of fields char can be u~ ro a•CC\S or rcrric,·e rcc:ord\. ~ondary
key \'.llue; are nm unique. For example, co acces; records for only tho..e lu,comcr\ m a '11<!dfic p<>'>-ral
rndc. rhc Jl(l\CJI •ode field could he used as a secondary ke).
\cquenlc wdc Number- ()r letter- assigned in a specific order. Sequcnlc: rndc\ lontain no add111onal
information other than an indicanon of order of entry inro a ;y\ttm.
s111nific;m1 d1111c code Cipher rhar d1srmguishes items by usmg a series of subgroups of dagm. U.S. l'osra l
Service ii p codes, for example, arc significant digir codes.
\Candard nocarion formm A rcprcscnrnrion cha r makes designing cables easier as ic clearly ~how~ a mblc's
s1ruc1ure, fields, and primary key.
Strucrna·cd Query Uinguagc (SQL) t\ query language char allows
and mainframe computcn..
PC u~er' co communica te with 'crver.,
'ubi.d1cma t\ view nf rhc datab:isc used by one or mo re: syMem; or u;cr;. t\ .,ub.,lhcma defi ne., only
rho' c p<>rtiom of the database char a parncular ' YStcm o r u' cr need' or i' allowed m accc".
rablc Lach file or r-.ible contains darn abour people, places, thmgs, or events ch.11 uueracc wirh rhe uuormauon S)'~tem.
rablc de\ign Speofies the fields and identifies che primary key in a p.1rricular rable or file.
third normal form ( 3"11') A record design is in 3:-.'F if it i< in 2NF and if no mmkC)' field i< dcpcndcm on
anocher nonkey field. A nonkey field is a field that is nm a candidare ke) for the pram:iry key.
ruplc ,\ ruple (rhyme., with .:ouple), or record, is a >et of relace<l ltcld... chat de-..:nbc<. one in~t:1nce, or
mc:mhc:r of an c:ntatv, wch a; one: c~romcr, one order, or one: produ~'t. A cu pie nui:ht h;l\c: one or do7cn< of field<, depending on whac information is needed.
l.,nacode A relam·dy recem coding merhod thar represents duracrers JS mcegers. Unlike l:.BC.:DIC and
ASCII, which use e1gh1 btts for each characrer, Unicode requires 16 bars per characcer, which allows IC
to rcpr~nr more than 65,000 unique cbaracrers.
Uru6c<l \iodclmg Language (Ui\il) A widely used method of vi!.uafumg and documenung sofrware
sy.rems des111.n. U~lL uses ob1ecc--0nemed design conceprs, but 1t 1s tndepcndent of any specific
progra nurnng language and can be used to descrihe busmess processes .ind requaremcms genera II).
unnonnali1cd ;\ record rhar contains a repeating group. wh ich mean> rhac a "ngle record ha> mu lt iple
uccurrcnce< of a particular field, with each occurrence having diffcrcnr value<.
Y2K i\\UC 1\ problem faced by mnny fi rm< in rhe rear 2000 hecau'e their C()mpurcr '>Y'>tcam used only
f \\ O di1:1r' IO represent rhc yc:ar; most dares now use 11 four-digit format for rhc yea r (YYYYM MDD ).
~JD»(".............. .-\l ........... .,.... _.,."'flllll.~-....-..-"*-·,..,_o.:
.........,. _ _ .._ ......... ..,
..
..,,.........,..~_.......,_,_,_._....~~
...
...............
_ .... ~---11rt~
-,..~---~ ~
....._
.......... _ _ _ , _ • .......,.. ....................
C'ftlpll"&.-..,~fw
Phase 3
Systems Design
313
Exercises
Questions
I.
1.
3.
4.
5.
6.
7.
8.
9.
I 0.
\Xlhar is a dam srrucrurc?
Brief!)' describe the componenrs of a DB.\ILS.
Lisr the major characrerisrics of web-based design.
l:.xpl;un primary key, candidate key, secondary key, and foreign key.
What arc ERDs and how are they used?
How do you convert an unnormalized design to lNF? Lo your answer, refer ro specific pages and
figures in rh1s chapter.
How arc codes used in data design?
Whar is data warehousing and dara mining?
How would a specific date, such as March 15, 2019, be represented as an absolute date?
How arc permissions used ro control access ro data?
Discussion Topics
I. Jn the auto shop examples in Section 9.1.2, what arc some problems thar might arise in Mario's
system? \Xlhy won 'r Danica run into the same problems? Provide ~pecific C'Camples in your answer.
2. Many large organizations have had tbeir database system hacked and customer dara srolen. How
should rhe secunry for rhe database be differenr than security for the resr of rhe system? Does ir make
a difference for web-based dara designs? lf so, how?
3. Suggesr rhree rypical business siruacions where referenrial integnry avoids data problems.
4. \Xie use tors of codes m our personal and business live!>. How many can you name?
5. Are there erhical issues ro consider when planning a database? For example, should sensitive personal
dara (such as medical information) be stored in the same DBMS rhar manages employee salary and
benefirs data? \Vhy or why nor?
Projects
I. Consider an automobile dealership with chree locations. Dara fields exist for srock number, vehicle
identificarion number, make, model, year, color, and invoice cost. Identify rhe possible candidate keys,
the likely primary key, a probable foreign key, and porenrial secondary keys.
2. Vis1r the bookstore ar your school or in your area. Interview the manager or store employees ro learn
more about the business and the entiries rbar are involved m book~tore operations. Remember that
an cmiry is a person, a place, a thing, or an event that affects an information system. Draw an ERD,
including cardinality, which describes the bookstore's operarions.
3. Cludadwy Chairs sells a parented sear rhar spectarors can take ro youth soccer games. The scat folds
so it is small enough ro fir in rhc glove box of most vehicles. The company opcr:ites a facrory in Kansas and also contr:icts irs manufacturing projects ro small firms in Canada and Mexico.
An unusual problem has occurred for this small multinationa l company: People are gemng confused about dares in internal memos, purchase orders, and email. When the company's database was
originally designed, the designer was nor aware that the format for dares in Canada and Mex~ico
was different from the format used in the Unired Stares. For example, in Canada and Nlexico, the
notation 7/ 1/19 indicates January 7, 2019, whereas in the Uni red Stares the same norarion indicates
July l, 2019. Although ir seems like a small point, the date confusion has resulted in several order
cancellations.
Cludadw) Chairs has asked for your advice. You could suggest writing a simple program ro convert
the dares automaticall)' or design a switchboard command thar would allow users ro select a date
r..,,...JID)r-..1-.. 4• 11_.. • ...__. ~... . ... .,...~ • ........._ . ....._.,.,.. o-... ..,._.,,.,.. _ ..,.~ ,........., ................. .._... .., .,. ..,.~"
................... ..., ...................... .... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
Chapter 9
314
Data Design
Exercises
formar as d:na is cnrcrcd. You reali1e, however, rhac Cludadwy Chairs mighr wanr ro do business in
orhcr councrics in rhe fururc. \Xlhar would be che besc course of accion? Should rhc compan)' adapr ro
rhc ~randard of each counrry, or should ic mainrain a single international formar? \Xlhar arc che argumenrs for each opnon?
4. Use ~11crosofc Access or sinular dacabase software co create a DBMS for the imaginar)' company
called TopTexc Publishing, which is dt'scribed in Cast' in Poinr 9.1. Add several sample records co each
rable and report 10 the class on your progress.
5. Search rhe internet to find information about date formats. Determine whether rhe date formar used
in chc Unired Stares is rhe most common formac.
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
~
~ ... _
JIJ»C....... ~ Al RlilfD
l,eocl\olld.,...,. _WOlfi'l'l.~• ......-W.Mdk«iil,_._DIK•dtc--.: ......,_ . . . ,_.,~-.lit .......... .._.,._.__..,~•\
. . . _ . .... ..., ~...,.._,_..,..., J\&."9 ... --.11 ......... ~ C'dptl"~~d.tt ...... -
............ -
..... -
..........
-.-.....w--...-.11
Chapter I 0
System Architecture
System
Architecture
Chapter I 0 is the final chapter in the systems design
phase of the SDLC. This chapter describes system
architecture. which translates the logical design of an
information system into a physical blueprint. Designing
the system architecture requires consideration of servers.
clients, processing methods, networks, and related issues.
The chapter includes three "Case in Point"
discussion questions to help contextualize the concepts
described in the text. The "Question of Ethics" explores
the trade-offs between the potential benefits of Installing
tracking software on users' computers to Improve the
system's response to common usage patterns versus the
ethical issues related to invasion of privacy by constant
monitoring of employees' online activity.
LEARNING OBJECTIVES
W/Jen you finis/, this chapter, yo11 should be able
to:
CONTENTS
I . Provide a checklist of issues ro consider when
selecting a system architecture
2. Trace the evolution of !>ysrem architecrure from
mainframes ro current designs
3. Explain client/server architecture
4. Describe Lhe impacl of the lnterner on syi.rem
archirecrure
5. Compare in-house e-commerce dcvclopmenr
with packaged solutions and service providers
6. Explain online and barch processing
7. Describe network models, including hierarchical,
bus, ring, star, and mesh topologies
8. Explain network devices, including routers, gateways, and proxy servers
9. Describe wireless networking, including wireless
standards, topologies, and trends
I 0. 1 Architecn1re Checklist
I 0.2
I 0.3
I 0.4
I O.S
I 0.6
I 0. 7
I 0.8
I 0. 9
I 0. 10
Case in Point I 0. J: ABC Systems
The Evolution of Sysrcm Archirccrurc
Client/Server Arcbirecturc
The Impact of the lnrcrnct
E-Commerce Architecture
Case in Poinr 10.2: Small Poraroc~
Processing l\1cthods
crwork Models
Wireless Networks
Case in Point 10.3: Spider IT Services
Sysrems Design Completion
A Question of Ethics
Su mmary
Key Terms
Exercises
IO. Explain rhe final activities in rhe systems design
phase
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
.. ~ ........................._ .... ._
Phase l
Systems Design
317
I 0.1 Architecture Checklist
I 0.1
ARCHITECTURE CHECKLIST
At this point in the SDLC, the objecrive is ro determine an overaU architecture to
implement the information system. System architecture translates the logical design
of an informarion system into a physical structure that includes hardware, sofrware,
network support, processing methods, and security. The end product of the systems
design phase is the system design specification. If this document is approved, the next
step i systems implementation.
Just as an architect begins a project wirh a lisr of the owner's requirements, a system analyst must consider several issues char will affect the architecture choice. This
is done with an overall architecture checklist:
•
Corporate organiz.arion and culrure
•
Enterpri c resource planning (ERP)
•
Initial and total cost of ownership (TCO)
•
•
Scalability
Web integration
•
Legacy system interface requirements
•
Processing options
•
Secu riry issues
•
Corporate portals
I 0.1.1 Corporate Organization and Culture
To be successful, an information S)'Stem must perform well in a company's
organization and culture. For example, consider cwo large bicycle brands, Green Bikes
and Blue Bikes. Each firm has three operating di,·isions: an Asian subsidiary that
manufactures the bicycles, a factory in Los Angeles that produces bike accessories and
clothing, and a plant in Canada that makes bike carriers, racks, and custom trailers.
On the surface, the t\\ o fi rms are similar, bur they have very different
organ11.ations and corporate culrures. Green Bikes is highly cenrrali1ed and oversees
day-co-day operations from its Los Angeles office. Blue Bikes also has a Los Angeles
executive office hut allows its three business unirs co operate separatel)•, with minimal
corporate oversight. Both firms are successful, and it is unlikely that their managerial
sryles will change anytime soon.
Suppose borh firms asked a consultant to suggest a n IT architecture that would
boost productivity and reduce costs. How might corporate organization and
culture issues affect the consultant's recommendation? l11ere is no easy a nswer ro
that question. The best approach probably would be to srudy day-to-day business
functions, talk ro users at a ll levels, and focus on operational feasibility issues, jusr as
was done earlier in the development process.
I 0. 1.2 Enterprise Resource Planning (ERP)
Many companies use e nterpri~e resource planning (ERP) software to establish a
company-wide strategy for using IT chat includes a specific architecture, standards
for data, processing, nerwork, and user interface design. A main advantage of ERP is
that it describes a specific hardware and software environment, also called a platform,
which ensures connectivity and easy inregrarion of furure systems, including in-house
sofrware and commercial packages.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter I 0
System Architecture
I 0.1 Architecture Checklist
318
Many companies are extending internal ERP systems to their suppliers and customers, using a concept called supply chain management ( CM). For example, in a
totally integrated supply chain system, a customer order could cau~c a manufacturing
system to schedule a work o rder, which in n1m rriggers a call for more parts from one
or more suppliers. In a dynamic, highl)' competitive economy, CM can help companies achieve faster res ponse, bener customer service, and lower operating costs.
Oracle 1s an example of a company offering ERP solutions. A~ shown in Figure 10-1,
Oracle's ERP products are cloud-based services that support emplO)'ec collaboration,
provide access to information from mobile devices, and deliver data analytics capabilities co gain insight into business processes.
FIGURE I 0- 1 Oracle offcn ERP solunons as a cloud-based service.
Sour«:~O
•
I 0.1.3 Initial Cost and TCO
The importance of considering economic feasibility and TCO during systems planning and analysis was discussed earl ier. TCO includes tangible purchases, fees, a nd
contracts called hard costs. However, additional soft costs of mnnagement, supporr,
training, and downtime are just as important but more difficult to measure.
A TCO analysis should address tbe following questions:
•
If in-house development was selected as the best altcrnarive initially, is it still
rhe best choice? ls rhe necessary technical expertise avai lable, and docs the
o riginal cost estimate appear r ealistic?
•
If a specific package was chosen in itially, is it still the best choice? Arc newer
versions or competitive products available? H ave any changes occurred in pricing or support?
Have any new rypes of outsourcing become available?
I lave any economic, governmental, or regulatory events occurred that could
affect chc proposed project?
•
•
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
319
I 0.1 Architecture Checklist
•
•
•
Have any significanr rechnical developments occurred char could affect rhe proposed project?
I lave any major assumprions changed since the compan)' made the build versus
buy decision?
Are chere an)' merger or acquisirion issues ro consider, whereby rhe company
might require comparibiliry wirh a specific environment?
•
Have any new crends occurred in the markerplace? Are new products or technologies on rhe verge of being introduced?
•
Have rhe original TCO estimates been updaced? If so, are there any significanr
differences?
The answers ro rhese questions mighr affecr the initial cost and TCO for the proposed
system. The system requirements and alternarivcs should be reviewed now, before
proceeding ro design rhc sysrem architecture.
I 0. 1.4 Scalability
A nerwork is composed of individual nodes. A node represents a physical device,
wired or wireless, rhar can send, receive, or manage network data. For example,
nodes can be servers, compurers, shared printers, mass storage devices, wireless access
points, or tablets.
Scalability, somerimes also called exrensibiliry, refers co a system's ability co
expand, change, or downsize co meet the changing needs of a business enterprise.
Scalability is especially important in implementing systems char are volume relared,
such as rrans::iction processing S)'Stems. A scalable system il> necessary to suppon a
dynamic, growing business. For example, a scalable nerwork could handle anywhere
from a few dozen nodes co thousands of nodes, and a scalable DB!vlS could supporr
the ::icquisition of an enrire new sales division. When invesring large amounts of
money in a projecr, management is especially concerned about scalability issues rhar
could ::iffecr the system's life expectancy.
I 0.1.S W eb Integration
An mformation system includes applications, which are programs that handle rhe
input, manage the processing logic, and provide the required ourpur. The systems
analyst must know if a new application will be pan of an e-commerce strategy and
the degree of integration with ocher web-based components. As mentioned earlier, a
web-centric architecture follows internee design protocols and enables a company co
integrate the new application into its e-commerce strategy. Even where e-commerce is
not i1wolved, a web-centric application can run on the luterner or a company inrraner
or cxrrancr. A web-based application avoids many of the connectivity and compatibility problems rhar typically arise when different hardware envirornncnrs arc involved.
In a web-based environment, a firm's external business partners can use standard web
browsers to import and export data.
I 0.1.6 Legacy Systems
A new system might have co interface with one or more legacy systems, which arc
older systems that use ourdared rechnology bur still are functional. For example, a
new markering information system might need co report sales data co a server-b::iscd
accounring system and obtain product cosr data from a legacy manufacturing S)' rem.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~----···---~~-.,.-"~
...........
Chapter I 0
System Architecture
I 0.1 Architecture Checklist
320
Interfacing a new system wirh a legacy system involves analysis of data formats
and compatibility. In some cases, a company will need co convert legacy fil e data,
which can be an expensive and rime-consuming process. ~1iddleware, which is
di cussed later in this c hapter, might be needed to pass dara between new systems
and legacy systems. Finally, to select the best architecture, rhe analyst mu~t know
if the new application eventually will replace the legacy system or will coexist
With it.
I 0. 1.7 Processing Options
In planning the architecture, designers also must consider how the S)'Stem will process
dara: on line or in batches. For example, a high-capacit)' transacrion processing system, such as an order entry system, requires more network, processing, and darn storage resources than a monthly billing system that handles data in batches. Also, if the
system must operate online, 24 hours a day and seven days a week (24/7), provision
must be made for backup and speedy recovery in tbe event of system failure.
The c haracteristics of on.line and batch processing methods are described later in
this chapter, with examples of each type.
I 0. 1.8 Security Issues
From the simple password prorecrion shown in Figure I 0-2 ro complex intrusion
detecrion systems, security th.rea rs and defenses are a major concern co a systems analyst. As the physical design is translated into specific hardware and software, the analyst must consider security issues and determine
how the company will address rhem. Security is
especially imporrant when dara or processing is
performed at remorc locarions, rather than at a
cenrralized facility. In mission-critical systems,
securiry issues will have a major impact on system architectu re and design.
Web-based systems introduce addmonal security
concerns, as critical data muse be protected in che
lnrerner environment. Also, firms that use e-commerce applications must assure custo mers rhar
their pen.onal dara is safe and secure. The lamentable number of high-profile securiry breaches in
large corporations in recent years suggest~ that
security issues should play an even larger role in
FIGURE I 0 -2 User IDs and passwords are tr:tditional elements of
system architecture considerations. System secusyscem security.
rity concepts a nd strategies are discussed in detail
in Chapter 12.
I 0. 1.9 Corporate Portals
Depending o n the system, the planned architecture might include a corporate
portal. A portal is an entrance co a multifunction website. After entering a portal, a
user can navigate to a desrinarion using various tools and features provided by the
portal designer. A corporate portal can provide access for customers, employees,
suppliers, and the public. A well-designed portal can integrate with various other
systems and provide a consistent look and feel across multiple organizational
divisions.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
I 0.2 The Evo lut ion of System Archite ctu r e
CASE IN POINT 10.1:
ABC SYSlRiS
You are a systems analyst at ABC Systems, a fast-growing IT consulting finn, that provides a wide
range of services to companies that wane co establish e-commerce operations. During the past
18 months, ABC acquired two smaller finns and sec up a new division that specializes 1n SCM.
AligningABC's intemal systems was quite a challenge, and top management was not especially
happy With the integration cost or the timetable. To avoid furure problems, you have decided
to suggest an ERP strategy, and you plan to present your views at the staff meeting tomorrow.
ABC's management team is very informal and prefers a loose, flexible style of management.
How will you persuade them that ERP is the Wirf to go?
I 0.2 THE
EVOLUTION OF SYSTEM ARCHITECTURE
Every business informarion sysrem musr carry ou r three mai n functions:
•
Ma nage applications tha r perform che processing logic
•
Handle dara sroragc a nd access
•
Provide ~1n interface rhar allows users ro i1ueract with the system
Depending on the archi recrurc, rhc three functions are performed on a server, on a
clienr, or arc divided berwecn rhc server and che clienr. During system design, rhc analyst must dererminc where rhe functions will be carried our and ascertain the advanrages and disadvanrages of each design approach.
I 0.2. 1 Mainframe Archite cture
A sen er 1s a computer thac supplies dara, p rocessing services, or other support to
one or more compurers, called client>. The earliesr servers were mainframe computers, and a sy~rem design where che server performs all rhe p rocessing someume~ is
described as mainframe architecture. Alt hough che actual server does nor have robe a
mainframe, the term mainframe architecture typicalJy describes a multiuser environment where the ~erver is significanrly more powerful than the client). A sy~tem) :inalysr should know the history of mainfrrune architecrure ro understand the :.erver's role
in modern system design.
In the I 960:., mai nfra me architecture was che 011/y choice. In addition to centralized data processing, the earl iest systems performed all data input and outpur at a
centra l locat ion, often called a data processing center. Physical dara was delivered or
tra nsmitted in some manner ro the data processirng center, where it was enrered into
rhe sysrem. Users in the o rga nization had no input or o utput capa biliry, except for
pri nted reporrs rhat were d istri b uted by a corpora te IT depa rtment.
As nerwork technology adva nced, compa nies inst alled terminals a t remote locations, so t ha t use rs could c nrer a nd access da ta from a nyw he re in the organization,
regardless of where rhe ccnr ralized computer was locared. A terminal included a
keyboard and display screen co handle in put a nd o utput but lacked independenr processing capabi liry. In a cenrralized design, as shown in Figure 10-3, rhe remote user's
keystrokes arc cransmirred from his or her renninal to the mai nframe, which responds
by sending screen outpur back co che user's screen.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
321
Chapter I 0
System Architecture
I0.2 The Evolution of System Architecture
322
Today, mainframe architecntre still is used in indusrrie~
that require large amounts of processing that can be done
at a centra l location. For example, a bank might use mainframe servers to update customer balances each night. In a
blend of old and new technology, man y organi1arions arc
moving s ome of thei r dara processmg off their mainframes
and into the cloud. Indeed, a mainframe can be used ro
implement part of a cloud co mpunng infrastruccure.
Mainframe
I0.2.2 Impact of the Personal Computer
FIGURE I O·l In a centralized design. the remote user's
keystrokes are transmitted to the mainframe, which
responds by sending screen output back to the user's
screen.
Pnnter
When PC tecl1nology exploded in the 1990s, powerful
microcomputers quickly appeared on corporate desktops.
Users found that they could run their own word pro·
cessing, spreadsheet, and database applications, without
assistance from the IT group, in a mode caJJed stand-alone computing. Before long,
companies linked the stand-alone computers into networks that enabled the user cli ents to exchange data and perform local processing.
When an individual user works in stand-alone mode, the workstocion performs
a II the functions of a server by storing, accessing, and processing do ca, as well as
providing a user interface. Although stand-alone PCs improved employee productivity
and a llowed users to perform tasks that previously required IT department assistance,
~rand -a l one computing could be inefficient and expensive. Even worse, mainraining
data on individual workscarions ra ised major CODCerns about data security, inregrity,
and consistency. Without a central srorage location, it was impossible to protect and
back up valuable business data, a nd companies were exposed ro enormous risks. In
some cases, users who were frustrated by a lack
of support and services from the IT department
Scanner
created and managed their own d:nabases. In
addition co security concerns, rhis led ro data
inconsistency and unreliability.
I 0.2.3 Network Evolution
As technology become available, companies
resolved the problems of stand-alone computing
by joining clients into a local area ncl\\Ork
Client
(LAN) that allows haring of data and hardware
resources, as shown in figure 10-4. One or
more LANs, in turn, can connect to a centralized
server. further adv;:inces in technology made it
possible to creote powerful nerworks that could
use satelUte li11ks, high-speed fiber-optic lines, or
AllUllil
Client
the
Internet to share data.
Client
A wide area network (WAN) spans long
FIGURE I 0-4 A LAN allows sharing of data and hardware, such as
distances and can connect LANs rhat are conprinters and scanners.
tinents apart, as shown in Figure 10·5. \Xlhen
a user accesses data on a LAN or WAN, the network is transparent because users see
the data as if it were stored on t heir own workstation. Company-wide systems that
connect one or more LANs or WANs are called distributed systems. The capabilities
of a distributed system depend on the power and capacity of the underlying data
LAN
I
(....,..... J:gi( . . . . .
'Q
····-
I_,.. 41 11.,.. .................,.t11ru
- Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
- ·~•-fllllie<'f •,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
323
I 0.3 ClientlServer Architecture
communication network. Compared to mainframe architecture, distributed systems
increase concerns about data securiry and integriry because many individual clients
require access to perform processing.
'- ToronlO
I
I.AN
London
WAN
I
~:Jv
LAN
Brisbane
FIGURE I 0-5 A WA N can connect many LANs and link
users who are continents apart.
I 0.3
CLIENT/SERVER ARCHITECTURE
Today's interconnected world requires an information architecture that spans the
entire enterprise. Whether it's a departmental net'.vork or a multinational corporation,
a systems analyst works with a distributed computing strategy called client/server
architecture.
The term clienr/server generally refers to systems that divide processing between
one or more networked clients and a central server. In a typical client/sen·er system,
the client handles the entire user interface, including data entry, data query, and screen
presentation logic. The server stores the daca and provides data access and database
management functions. Application logic is divided in some manner between the
server and the clients.
In a client/server interaction, the client submits a request for information from
the server, which carries out the operation and responds ro the client. As shown in
Figure 10-6, the data file is not transferred from the server to the client--only the
request and lhe result arc transmitted across the network. To fulfill a request from a
client, the server might contact other servers fo r data or processing support, but that
process is transparent to the client.
cue111 submits data
query 10 ser.ier
Q
Client
Server 1tan&mits onto/ the
'9$uftS Of lhe client query
0
CINJnl
FIGURE I 0-6 In a client/server design.data is stored and usually processed on the 5enlel".
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"-> - "'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,..., ~ ..,._.. ..... ...... ... ~..
__....
~~·~---- ···---~~ - .,.-" ~
...........
Chapter I 0
System Architecture
324
I 0.3 Client/Server Architecture
Figure I 0-7 lists some major differences between clienc/server and traditional mainframe systems. M any early client/server systems did nor produce expected savings
because few clear standards existed, and development costs often were higher than
anticipated. Implementation was expensive because clients needed powerful hardware
and software to handle shared processing tasks. In addition, many companies had an
installed base of data, called legacy data, which was difficult to access and transport
to a client/server environment.
Comparison of Client/Server and Mainframe Systems
Characteristics
ClientlServer
Mainframe
Basic archHecture
Very ftex1b!e
Very rigid
Appl1cabon
dollelopmont
Flexible
Fast
Objecl -oriented
Highly structured
Slow
Traditional
User environment
PC-based
GUI
Empowers the user
Improves productivity
Uses terminals
Text interlace
Constrains the user
Limited options
Security and control
fealures
Decentralized
DifficuJt to control
Centralized
Easier to con1rol
Processing options
Can be shared and
configured In any form
desired
Extensive and
programmable
Data storage
options
Can be distributed to
AUdata 1s stored centrally
place data closer to users
1-tardWare/sottware
1ntegrabon
Very l1;ex1ble
MultJvendor model
Very 1191<1
Single proprietary 119ndor
FIGURE I 0-7 Comparison of the characteristics of d1entlserver and
rrn11nframe systems.
As large-scale networks grew more powerful, client/server systems became more
cost-effccrive. Many companies invested in clienr/server systems to achieve a unique
combinacion of computing power, flexibility, and support for changing business operacions.
Today, client/server architecture remains a popular form of systems design, using
Internet protocols and nerwork models such as the ones described later in this chapter.
As businesses form new alliances with customers and suppliers, the clienr/scrver concept
continues ro expand tO include clientS and servers outside the organization. Serviccoriented architecture (SOA) is an example of a networked system where a service can be a
client and a server simulta neously, and it can exist ourside of corporate boundaries.
Cloud computing is seen by some observers as an entirely new concept. Others sec
it as the u ltimate form of client/server architecture, where Internet-based computing
becomes the server part of client/server and hand les processing rasks, while che T1nernet itself becomes the platform that r eplaces traditional networks. The bottom line is
chat it doesn't marcer whether cloud computing is part of a client/server evolution or
a whole new way of thinking about computing. Eicher way, successfu l systems must
support business requirements, and system archirecnrre is an imporranr step in the
systems development process.
I 0.3.1 The Client's Role
The client/server relationship must specify how the processing will be divided between
the client a nd the server. A fat client, also called a chick client, design locates all or
(....,..... J:gi ( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,...... .,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~--- t fta111&....-.~~ ij
__.~~ c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~- " .....- ""'*" ....,.._...,.. ..
Phase l
Systems Design
325
I 0.3 ClientlServer Architecture
most of the application processing logic at the client. A chin client design locaccs all or
most of the processing logic at rhe sen •er.
In the late 1990s, un Microsystems (now part of Oracle) was a strong advocate
of thin-client computing, which was also referred to as net-centric computing. The
thin client was a Java-powered terminal, which communicated using standard
Internet protocol~ with powerful servers. Thin cliencs were expected co provide lower
T CO, since maintenance was centralized. However, many users rebelled at the hmtted
funcnonaliry provided by thin clients (e.g., no Microsoft Office) and the latency
problems mherenr in network access to remote applications and dara. In the end, far
clients (e.g., regular PCs) remained popular, even with all their management issues
and higher T CO.
Today's l:iptop computers, cablets, and smarrphones a re so powerful rhat the allure
of thin clients has mostly passed, with the exception of access to the cloud for large
datasets and specialized processing needs. The app ecosystem has also changed the
TCO equation in favor of powerful computing for clients at the edge of the system
architecture.
I 0.3.2 Client/Server Tiers
Early client/server designs were called two-tier designs. In a two-tier design, the user
interface resides on the client, all da ta resides on t he server., and tbe application logic
can run either on the server or on the client or be divided between the client and the
server.
Another form of client/server desit,'11, called a mree-rier design, has become more
popular. In a three-tier dcsi~ , the user interface runs on the client and the dara is
stored on the server, just as with a rwo-cier design. A three-tier design also has a
middle l:tyer between the client and server that processes the client requests and
translate!. them inm data access commands that can be understood and carried
our by rhe server, a'> shown in Figure 10-8 . The middle larer can be considered an
application \ en cr, because it provides rhe application logic, or bu ~inc~~ logic, required
by che system. Three-tier design~ also are called 1r-rier design~ . to indicate char some
designs use more than one intermediate layer.
Application logic
0818
Two-tier
..,..
Server
FIGURE I 0-8
____ _ _____ ,..
-- --
Application
serwr
-
Three-tier
C~racteristJcs
.........""_.. ... .-.................
-- --
Cllenl
Client
of two-tier versus three-tier client/server de$ign.
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
User interface
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter I 0
System Architecture
I0.3 Client/Server Architecture
326
The advantage of the application logic layer is thac a three-tier design may enhance
overall performance by reducing rhe data server's workload. The separate application
logic la)'er also relieves clients of complex processing tasks. Because it can run on a
sen·cr that is much more powerful than the typical client work'itarions, the middle
layer i'> more efficient and cost-effective in large-scale sy~ems. Figure I 0-9 hows
where the data, the application logic, and the user interface a re located on various
architectures. In a diem/server system, the tiers communicate using software called
middleware, as described in the following section.
Architecture
Cenlral data
processing center
Central server with
remote terminals
Server
Data
Apphcat1on
Logic
User
Interlace
x
x
x
x
x
x --
Client
Server
Client
Sland·alone
client
Sel'ller
l\.vo·tier
cllenVserver
Sel'ller
1
x
x
Client
Client
Application server
,.Client
x
---,
x
•
I
I
x
Data server
Three-tier
cllenVserver
x
x
x
x
I
x
I
FIGURE I 0-9 The location ol the data. the application logic, and the user Interlace
depend on the type of architecwre .
I 0.3.3 Middleware
In a multitier system, special software called middlev.'aJ'C enables the tiers to communicace
and pass data back and forth. Middle·.vare is sometimes called glueware because it i'i
used co connecr two or more software components in a federated system archirccrure.
Middleware plays an important role in integrating legacy systems and web-based and/
or cloud-based applicarjons. !vtiddleware can also be seen a<: representing the slash in che
term clie11tlser11er.
I 0.3.4 C ost-Benefit Issues
To support business requirements, information systems need co he scalable, powerful,
and flexible. For most companies, client/server systems offer the best combination of
features co meet those needs. Whether a business is t:xpanding or downsizing, client/
server systems enable the firm to scale the system in a rapidl y changing environment.
As the size of t he business changes, it is easier to adjust the number of clients and
the processing functions they perform than it is to a lter the capability of a large-scale
cencra I server.
Client/server computing also allows companies to transfer applications from
expensive mainframes to less-expensive client platforms, sometimes moving heavyweight processing needs ro rhe cloud\. ln addition, using common languages such as
SQL, clients and servers can communicate across multiple platforms. Thar difference
is important because many businesses have substantial investments in a variety of
hardware and software environments.
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
327
I 0.4 The Impact of the Internet
Finally, client/server systems can influence nerwork load and improve response
times. For example, consider a user at a company headquarrers who wants information about total sales figures. In a client/server system, che server locates the data, performs the necessary processing, and responds immediately co the client's request. The
data retrieval and proces~ing functions are transparent to the client because they are
done on the server, not the client.
I0.3.S Performance Issues
\Xlhile it provides many ad\'ancages, client/server architecture does involve performance is~ues that relate co che separation of server-based daca and networked clients
chat must access che data.
Consider che difference between clienc/server design and a centralized environment,
where a server-based program issues a command that is executed by the server's own
CPU. Processing speed is enhanced because program instructions and data boch travel
on an internal syscem bus, which moves data more efficiently than an external network.
In contrast co the centralized system, a clienc/server design separates applications
and data. Nerworked clients submit data requests ro the server, which responds by
sending data back to che clients. When the number of clients and che demand for
services increases beyond a certain level, network capacity becomes a constraint and
syscem performance declines dramatically.
According co IBM, the performance characteristics of a clienc/server system arc
nor the same as a centralized processing environment. Clienc/server response times
increase gradually as more requests are made, but then rise dramatically when rhe
sysrem nears its capacity. This point is called the knee of the curve, because it marks a
sharp decline in che system's speed and efficiency. To deliver and maintain acceptable
performance, system developers must anricipace the number of users, network rraffic,
:.erver size and locarion, and design a clienc/server architecture that can support current and furure business needs.
To enhance performance, client/server systems musr be designed so the client contacts the server only when necessary and makes as few rrips as pos~ible. This is one of
the goab of the HITP/2 prorocol used berween a server and a web brow~er.
Another issue that affecrs client/server performance is data storage. Jusc as processing can be done at various places, data can be stored in more than one location using
a di~tributed databa\e management ~y~tem (DDBMS). Using a DDBMS offers several
advantages: Dara stored closer ro users can reduce network traffic; the sysrem is scalable, so new data sires can be added without reworking the system design; and with
data scored in various locations, the system is less likely to experience a cacasrrophic
failure. A potential disadvantage of distributed data storage involves data security: It
can be more difficult to maintain controls and standards when data is stored in various locations. In addition, the architecture of a DDBMS is more complex a nd difficult
to manage. From a system design standpoint, the challenge is that companies often
want it both ways-they want the control that comes with centralization and the
flexib il ity associated with decentralization.
I
0.4 THE
IMPACT OF THE INTERNET
The internet has had an enormous impact on system archirecrure. The internee has
become more than a communication channel-many IT observers see it as a fundamentally different environment for system development.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter I 0
System Architecture
I 0.4 The Impact of the Internet
328
I 0.4. 1 Internet -Based Architecture
Recall rhar in a rradirional client/server system, rhe client handles the user interface,
shown in Figure 10-9 , and the server (or servers in a mulritier system) handles
the dara and application logic. In a sense, part of che syscem run~ on che client, part
on che server. In contrast, in an Internet-based architecture, in addition co data and
application logic, the entire user ince rface is provided by che web server in the form
of HTML documents char are displayed by the client's browser. hifnng the responsib1liry for the interface from the client co the server simplifies data transmission and
results m lower hardware cost and complexiry.
The advantages of Internet-based architecture have changed fundamental ideas
about how computer systems should be designed, and we are moving rapidly to a
coral on line environment. At the same time, millions of people arc using web-based
collaboration and social networking applications to accomplish casks that used to be
done in person, over the phone, or by more traditional Internet channels.
a~
I 0.4.2 Cloud Computing
C loud com puring refers to tbe cloud sy1ubol that often is used ro represent the Internet. The cloud computing concept envisions a cloud of remote computers rhar provide a total on line software and data environment thac is hosted by third parties. For
example, a user's computer does not perform all the processing or computing tasks-the cloud dues some or all of it. This concept is in contrast to today's computing
model, which is based on networks that strategically distribute processing and data
across che enterprise. In a sense, the cloud of computers aces as one giant computer
that performs rasks for users.
Figure I 0- 10 shows users connected co che cloud, which performs che computing
work. Inscead of requiring specific hardware and software cm che user's compucer,
cloud computing spreads rhe workload co powerful remote ~)'Mems chac are part of
che cloud. The user appears to
be work ing on a local c;ystem,
but all compuring is acrually
performed in rhe cloud. o
Cloud
sofcware updates or system
maintenance are required of the
user.
Cloud computing effectively
eliminates comparibilit)' issues,
because the Internet itself is the
platform. This architecture also
provides scaling on demand,
which marches resources to
needs at any given time. For
Web server
example, during peak loads,
additional cloud servers mighr
come online auromarically ro
support rhe workload.
Cloud com puring is an ideal
platform for powerful Software
as a Service (SaaS) applications.
As described in Chapter 7,
SaaS is a popular deployment
FIGURE I 0-10 Cloud computing.
c
,/\
D I
8 8
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
329
I 0.5 E-Commerce Architecture
method where software is nor purchased bur is paid for as a service, much like one
pays for electricity or cable TV each month. In rhis a rchitecn1re, service providers can
easily make updates and changes ro services without involving the users.
Even though cloud computing has tremendous advantages, some concerns exist.
First, cloud computing may require more bandwidth (the amount of data that can
be transferred in a fixed rime period) than traditional clienrl erver networks. Second,
because cloud compurmg is Internet-based, if a user's Internee connecnon becomes
unavailable, the user will be unable to access any cloud-based services. In addition,
there are security concerns associated with sending large amouncs of data over the
Internet, as well as concerns about scoring it securely. Finally, there 1s the issue of
control. Becau e a service provider hosts the resources and manages data storage
and access, rhe provider has complete control of the system. Many firms are wary of
handing over control of mission-critical data and systems to a third-parry provider.
This is particularly true when the cloud provider's servers arc physically located in
another jurisdkrion or country.
Future technology advances will make cloud computing even more feasible, desirable, and secure. As the IT industry moves coward a web-based architecture, cloud
computing is being marketed aggressively and growing rapidly. Ir has become a cornerstone of enterprise system a rchitecture and will continue to be for the foreseeab le
future.
I 0.4.l W eb 2.0
The shifc to Internee-based collaboration has been so powerful and compelling that it
has been named \Xleb 2.0. \Xleb 2.0 is not a reference to a more technically advanced
version of the current web. Rather., Web 2.0 envisions a second generation of the web
that will enable people co collaborate, interact, and share information more dynamical!)'· Some view Web 2.0 as a stepping stone toward the semantic web, called \Xleb
3.0 b)• !>Orne, where the documents shared on the Internee have semantics (meaning)
and not just syntax (I IT.ML markup).
Social networking sires, such as Facebook, T\viner., and Linkedln, are seeing explosive growth in the Web 2.0 environment. Another form of social collaboration is
called a wiki. A wiki is a web-based repository of information char anyone can access,
contribute to, or modify. In a sense, a wikj representS the collective knowledge of a
group of people. One of the best-known wikis is \Vikipedia.org, bur smaller-scale
wikis arc growing rapidly at businesses, schools, and other organizations thar want to
compile and share informarion.
One of rhe goals of Web 2.0 is to enhance creativity, interaction, and shared ideas.
In rhis regard, the \Xleb 2.0 concept resembles the agile development proces~ and
the open-source software movement. Web 2.0 communities and services are based
on a body of dat~1 created by users. As users collaborate, new layers of informarion
are added in an overa ll environment known as the Internet operating system. These
layers can contain text, audio, images, and video clips rhat are shared with the user
community.
I 0.5
E-COMMERCE ARCHITECTURE
The huge expansion of online commerce is reshaping the IT landscape. Internet business solutions must be efficient, reliable, and cost-effective. When planning an e-commerce architecture, analysts can examine in-house development, packaged solutions,
and service providers. The following sections discuss these options.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter I 0
System Architecture
330
I 0 .5 E-Com me r c e A rch itectu re
I O.S. I In-H ouse Solutions
Chaprer 7 descri bed how to analyze adva ntages and disadvantages of in-house de\'clopmenr versus purchasing a software package. The same basic principles apply to
system design.
If a decision is made to proceed with an in-house solution, there musr be an
overall plan to help achieve the project's goals. Figure I 0-1 t offers guidelines for
companies developing e-commerce st rategies. An in-house solution usually requi res a
greater mirial invest ment but provides more fl exibility for a company tha t must ada pr
quickl)• in a dyna mic e-commerce en\'iron ment. By working m-house, a company
has more freedom to inregrarc wit h c usromers a nd suppliers and is less dependent o n
vendor-specific solutions.
Guidelines for In-house E-commerce Site Development
'
Analyze 1he company's busmess needs and dovelop a clear stalement ol
your goals. Consider the experienoe of other companies wllh similar
projects.
Obtain lnpu1 from users who understand lhe business and technology
Issues involved in the projecL Plan for future growth, but alm lor ease of
use.
Oe1ermme whether the rT staff has the necessary skills and experience to
lmplomenl the project. Consider tra1n1ng, additional resources, and the
use or consultants 1r necessary
Consider integration requirements for ex1st1ng legacy systems or
emerprise resource planning. Select a physical 1nfras1ructure carolully so
It will support the appt1cat1on, now and later.
Develop the project in modular form so users can lest and approve the
funchonal elements as )IOU go along
Connect the applicaooo to ex1shng in·house systems and verdy
interactivity
Test every aspect of the site exhauslively. Consider a preliminary rollout to
a pilot group to oblain feedback before a lul launch
FIGURE I 0- 1 1 G uidelines for companies developing e·commerce strategies.
For s ma ller companies, the decision about in-house web development is even mo re
critical, because this approach will require fina ncial resources a nd management attentio n tha t many small companies might be unable or unwilling to commi t. An in-house
strategy, ho weve r, can pro vide valua ble benefits, including the fo llowing:
•
•
•
•
•
A unique website, with a look and feel consistenr with the compa ny's orher
ma rketing effo rts
Complete control over the orga nization o f the site, the num ber of pages, a nd
the size of the fil es
A scala ble structure to handle increases in sales a nd producr offerings in rhe
fu ru re
More flex ibi lity to modify a nd manage the site as the company changes
T he opp<irrun iry to integrate rbe fi rm's web-based business systems with its
o ther informa rion systems, c reating rhe po tential for more savings a nd berrer
customer service
(....,..... J:gi ( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,...... .,..~
r..a...w...,..._...., ..
-
Woip-M ._..,.. - ·~•-fllllie<'f •,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. - ~--- t fta111&....-.~~ ij
__.~~ c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase 3
Systems Design
331
I 0.5 E-Commerce Architecture
Whether a firm uses an in-house or a packaged design, the decision abour web hosting is a separare issue. Alrhough inremal hosring has some advanrages, such as grearcr
control and security, the expense would be much greater, especially for a small- ro
medium-s11ed firm.
I 0.5.2 Packaged Solutions
If a small company is reluctant ro cake on che challenge and complexity of developing
an Internee commerce ~ire in-house, an alternati,·e can be a packaged olurion. rh1~
is crue even for medium- to large-sited firms. Many vendors, including IBM and
Microsoft, offer turnkey systems for companies thac wanr to get an e-busmess up
and running quickly, as shown 111 Figure 10-12 . For large-scale sysrems thac mu~t
integrate wirh exisring applications, packaged solutions might be less attractive.
- ---
IBM
82C and 828 commerce platform for your omnichannel business
Willl •
.,...,......._._....
.......,.. . wtl~--·
.._.,.._
................. 9',...... , ..............,.CM.............._..,... .. ,._....___
~--
ZldtA
a
·~
... .,............
.................. .._,......... ...,...,_.-.r1 ... ...--
(
I .........
FIGURE I 0-12 IBM WcbSphere Commerce offers software solutions for companies that want to get an e-business up and
running quickly.
SoUll"C:.:
I
O'
I WI
I 0.5.3 Service Providers
Another a lternative is to use an application service provider (ASP). As explained in
Chapter 7, an ASP provides applications, or access to applications, by charging a
usage or s ubscription fee. Today, many ASPs offer full-scale lntcrnet business services
for companies char decide to outsource rhose functions.
A sysrcms analys r confronrs a bewildering array of producrs and strategics when
implementing Lntcrnet-bascd sysrcms. A good starring point might be to conJ.ider the
experience of other companies in the same industry. Many firms offer the names of
clients and customers, along wirh chcir success stories. Alrhough chis information may
nor be reliable, it can provide valuable knowledge regarding a vendor's products and
services.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter I 0
System Architecture
I0.6 Processing Methods
332
CASE IN POINT 10.2:
S.\tALL PoTAT0 1.~s
Small Potatoes is a family-operated seed business that has grown rapidly. It specializes in supplying home gardeners with the finest seeds and gardening supplies. Until now, the finn has done all
i ts business by placing ads in gardening and health magazines and taking orders using a toll-free
telephone number.
Now, the family has decided to establish a website and sell online. but there 1s some
disagreement about the best way to proceed. Some say it would be better to develop the
site on their own, and one of the employees, who is a recent computer science graduate,
believes she can handle the task. Others feel it wou ld be better to outsource the site and
focus on the business itself. Suppose t he family asked for your opinion. What would you
say? What addit ional questions would you ask?
I 0.6
PROCESSING METHODS
ln selecting an architecture, the systems analyst must determine which transactions
will be handled online, and what functions, if any, can be carried out using a batch
processing method.
I 0.6. 1 Online Processing
Early computer systems were designed to handle data records as a group, or batch.
Fewer systems use that model today. H owever, even the most advanced online systems
must perform maintenance, post large quantities of data during off-hours when
network traffic is low, and carry out housekeeping tasks just as their legacy computer
ancestors did. This section discusses the online processing capability that is at the core
of powerful, modern systems, and the following section describes the evolution of
batch processing.
An online system handles transactions when and where they occur and provides
output directly to users. Because it is interactive, online processing avoids delays and
allows a constant dialog between the user and the system.
An airline reservations system is a familia r example of online processing. When
on line customers visit the ai rline's we bsite, they can enter their origin, destination,
travel dates, and rravel times. The system searches a database and responds by
displaying avai lable Aighrs, rimes, and prices. The customer can make a reservation, enter a name, address, credit card informa tion, and other required data, and
the sysrem creates the reservation, assigns a seat, and updates the flight datab~1se
immed iately.
Online processing also can be used with fi le-oriented systems. Figure 10-13
s hows what happens when a customer uses an ATM to inqu ire about an account
balance. After the ATM verifies the customer's card and password, rhe customer
enters the request (Step l ). Then, the system accesses the account master file using
the account number as the primary key and retrieves the customer'i> record (Step 2).
The system verifies the account number and displays the balance (Step 3). Data is
retrieved and rhe system transmits the current balance to the AT~1, which prints it
for rhe customer.
r..,,...JID)r-..1-.. 4•11_.. •...__. ~....... .,...~ • ........._ ......_.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._... ..,.,...,.~"
.. ~ ........................._ .... ._
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _
Phase 3
Systems Design
333
I 0.6 Processing Methods
Online processing systems have four typical
characteristics:
ATM QUERY PROCESS
1. The system processes transacrions completely when and where they occur.
2. Users interact direct!) with the informaaon !>ystem.
3. Users can access data randomly.
4. The information system must be available
whenever neces~ary to support business
functions.
J_§~j
E
Step 1:
Customer enters his or
her account number and
requests an account
balance
St ep 2:
Retrieves current
account balance
St ep 3:
Verifies bank account
number and displays
balance on ATM screen
E
J :::::::::::31
ONLINE
PROCESSING
SYSTEM
I 0.6.2 Batch Processing
Batch processing means char data is managed in
groups or batches. That was an acccprable choice
in the 1960s, and for most firms, it was the only
choice. Today, all businesses need real-rime inforCUSTOMER
FILE
mation to operate, and batch processing is not
always desirable. However, batch methods can
be efficient and convenient in some siruations.
FIGURE I 0 - 13 When a customer requests a balance. the ATM
For example, batch processing can be used
system verifies the account number. submits the query. retrieves the
for large amounts of daca rhat must be procurrent balance, and displays the balance on the ATM screen.
cessed on a routine schedule, such as weekly
paychecks, daily credit card transaction updates,
or clo~ing stock data that must be calculated and published in the following da)•'s
new!> media. The advantages of batch methods include the following:
•
Tasks can be planned and run on a predetermined schedule, without user
mvolvement.
•
Batch programs that require major network resources can run at nmes when
costs, and impact on other t raffic, will be lowest.
•
A batch method is well suited to address securicy, audit, and privacy concerns,
because it runs in a relatively controlled environment.
I 0.6.3 Example
The diagram in Figure I 0- 14 shows how a point-of-sale (POS) terminal, such as that
used in a supermarket, migh t trigger a series of onJinc and batch processing events.
Note rhat chc sysrcm uses onlinc processing to handle data entry and inventory
updates, while reports a nd accou nring entries are performed in a batch. A company
would choose a mix of onlinc and batch processi111g when it makes good business
sense. Consider t he following scenario in a typical retai l store:
•
•
During business hours, a salesperson enters a sale on a POS terminal, which is
part of an on line system that handles daily sales transactions and maintains an
up-co-date invencory file.
\Vhen the salesperson enters the transaction, online processing occurs. The
sy~tem performs calcularions, updates the inventory file, and produces output
on the POS rerminal in the form of a screen display and a printed receipt. At the
same time, each sales transaction creates input data for day-end hatch processing.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter I 0
System Architecture
334
I0.7 Netwo rk Models
When rhe ~core closes, rhe system uses the sales transactions to produce che
daily 5ales report, perform the relaced accounting enrries, and ::maly1e rhe data
to idencify slow- or fasr-moving irems, sales crends, and related issue -such as
store discounrs for rhe next day.
•
POINT-OF-SALE (POS) PROCESS ING
POS
Terminal
-4 -
...
POS
Sales
Daily Sales
Program
Transaction
File
Program
(Online)
(Batch)
_ .,.
Daily
Sales
Report
t
t
Accounllng
Files
Inventory
FIGURE 10- 14 Many retailel"l use a combination of online and batch processing.When a salesperlon enters the sale
on the POS terminal, the online system retrieves data from the item file, updates the quantity in stock, and produces a
sales transaction record. At the end of the day. a batch processing program produces a daily sales report and updates the
accounting system.
Online or barch processing are totally different bur can work well together. In this
scenario, an online system bandies POS processing, wbich must be done as it occurs,
while a batch mechod provides routine, overnight processing and marketing analysis.
Online processing allows tbe daca to be entered and validated immediately, so the
informarion always is up ro date. However, a heavy volume of online transaction~ can
be expensive for smaller firms, and data backup and recover)' also add to IT costs. In
contrast, when used properly, bacch processing can be cost-effective and less vulnerable to system disruption.
I 0. 7
NETWORK MODELS
A network allows rhe sharing of hardware, software, and data resources in order
co reduce expenses and provide more capability co users. When planning a network
design, chc sysccms analyst must consider network terms and concepts, including the
OSI model, network modeling tools, network topology, network protocols, and wireless networks, which arc covered in rhis secrion. Other imporranc issues, such as nccwork performance and security, arc covered in Chapter 12.
10.7. 1 The OSI Model
The discussion of system architeccure earlier in this chapter already inrroduced basic
network terms such as client, server, LAN, WAN, clienr/scrver architccrurc, cicrs, middlcwarc, and cloud computing. To fully understand how nerworks are configured, che
Open Sy~rcm~ Interconnection (OSI) model should also be understood. The OSI model
describes how data moves from an application on one computer to an applicarion on
anorher nenvorked compuccr. The OSI model consists of seven layers, and each layer
performs a specific function. The OSI model provides physical design srandards rhar
assure seamless nerwork connectivicy, regardless of che specific hardware environmcnc.
(....,..... J:gi( . . . . . I_,.. 41 11.,.. ~- )U,
..,...,.......,..~
r..a...w...,..._...., ..
-Woip-M ._..,.. -·~•-fllllie<'f•,...
.................,.t11ru ..
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase 3
Systems Design
335
I 0.7 Network Models
10.7.2 Ne tworkTopology
The way a necwork is configured is called the net\>.'ork copology. Topology can
refer co a physical or a logical view of che network. For example, phy~ical copology
describes che actual network cabling and connections, while logical copology
describes che way the components inceract. le is importanc to understand the
disnncrion, because a specific physical topology might be able co support more than
one logical topology. For example, it is noc uncommon to run cabling in a certain
pauern because of physical installation and cosc issues but to use a different partern
for the log1cal topology.
Compucers may be physically arranged in a circular shape, but that mighc or might
not reflect che network topology. The examples shown in Figures 10-15 to 10-19
represent a logical copology, as seen by network users, who may not know or care
about che physical cabling panern.
LAN and WAN networks cypically arc arranged in four patterns: hierarchical, bus,
ring, and star. The concepts are the same regardless of the size of the network, but the
physical implementation is different for a large-scale WAN that spans an entire business enterprise compared wi th a sma ll LAN in a single department. These four common topologies arc described in the following sections.
HIERARCHICAL NETWORK: Jn a hierarchical network, as shown in Figure 10- 15,
one or more powerful servers control the entire nerwork. Departmental servers control lower levels of processing and network devices. An example of a hierarchical network might he a retail clothing chain, with a central computer rhac store& data about
sales activity :ind inventory levels and local compucers char handle ~core-level operations. The ~tore:. tran:.mit data co the central computer, which analyze~ ~ales trend~,
detennine~ optimum stock levels, and coordinates a SCM system. In chis l>ituacion, a
hierarchical network might be used, because it mirrors the acrual operational flow in
the organizanon.
--
FIGURE 10- 15 A hierarchical network with a single server that controls the network.
.........""_.. ... .-.................
_..__
("..,_...,llll!O( ...... . . - - . .\) ....... ~
...................
--......
"->-"'Allf'W ~- ...............,.. o-....._ ...... _ ... ,..,...,...,~..,._.. .............. ~..
__....
~~·~---- ···---~~-.,.-"~
...........
Chapter I 0
System Architecture
I0.7 N etwork Models
336
One disad,·antage of a hierarchical network is that if
a business adds additional processing levels, the network becomes more complex and expensive ro operate and maintain. Hierarchical networks were often
used in traditional mainframe-ba<;ed S)'Stems but are
less common today.
PC
g
-
g
PC
~B>--~~-- ~
U
Termnals
Q --Ci}
PC
PC
s
Ci}
In a bu~ net\\ Ork, as shown m
Figure 10-16 , a single communication path connects
cbe central server, departmental servers, workstations,
and peripheral devices. [nformation is transmirted
in either direction between networked devices, and
all messages travel over the same central bus. Bus
networks require less cabling than ocher topologies,
because only a single cable is used. Devices can also be
attached or detached from the network at any point
without disturbing the rest of the network. Jn addirion,
a fa ilure in one workstation on the network does nor
necessaril y affect other workstations on the network.
O ne major disadvan tage of a bus network is that
if rhe central bus becomes damaged or defective, the
entire network shuts down. Anorher disadvantage is
that overall performance decl ines as more users and
devices are added, because all message traffic must
flow along the central bu~. This does nor occur in the
treelike srruccure of a hierarchical nerwork or the huband-spoke design of a star network, where nerwork
paths are more isolated and independent.
The bus nerwork is one of the oldest LAl ropol·
ogies and is a simple way co connect mulriple work·
scarions. Before the proliferation of scar nerworks,
bus networks were very common. They share char·
acceriscics of hardware bus nerworks. Today, che bus
design is less popular, but some fim1s have retained
bus networks co avoid the expense of new wiring and
hardware.
BUS NETWORK:
Te1mina1s
~/
FIGURE I 0-1 6 A bus network with all the devices
connected to a single communication path.
g
RING NETWORK: Although ring networks arc
st ill around, they are somewhat outdated. rBM
was a leader in ring network technology when they
introduced their token ring LAN, and large companies
who use [BNl mainframe equipment sti ll deploy the
ring network design. A rinA network, as shown in
Figure L0- 17 , resembles a circle where the data flows
Oepartmon1a11etver
in only one direction from one device to the nexr. In
function, a ring network can be thought of as a bus
FIGURE I 0 - 17 A ring network with a set of computers that
network with rhe ends connected. One di~advanrnge
sends and receives data flowing In one d1rect1on.
of a ring network is that if a network device (e.g.,
a PC or a server) fails, the devices downstream from the foiled device cannot
communicate with the network.
PC
PC
(....,..... J:gi( . . . . .
I_,.. 41 11.,.. .................,.t11ru
-Woip-M ._..,..
..
r..a...w...,..._...., ..
~- )U,
..,...,.......,..~
-·~•-fllllie<'f•,...
0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
__.~~c.....,..~
........ .,..,. .. ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase 3
Systems Design
337
I 0.7 Network Models
STAR NETWORK: Because of its speed and versa-
tility, the star network i a popular LAN topology.
A ~tar network has a central networking device
called a switch, which manages the network and
Oepartmenllll
acts a~ a communications conduit for all network
traffic. In the past, a device known as a hub was
used to connect star ncrworks, but a switch offers
advanced technology and much better performance. A hub or switch functions like a familiar
mulnsocket power strip but with network devices
such as servers, workstations, and printers plugged
in rather than electrical appliances. The hub broad~nner
casts network traffic, called data f
Download