Scott Tilley - Systems Analysis and Design-Cengage (2020)
- Keine Tags gefunden...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
·-
#"" '- 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..,..,........., "' ..-. ""' . . .................. . ......"""'."'"""<"'.,.. Dartn .......... "'" •.-.........,,
......., ....,....,....,.,.......,,
... ~--. . ~~~
C.....""_..,...._..,...,. ....,....._.,.,...._• .._,. ......,~.n....-..-..ilk...,.~C~ ......_ __......_..,,,.. ..__........_..., _..... 4 ......,__........._• .,._.1111:
,:_ 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
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
Senior Marketing D1re<1or: Michele McTlghe
Execu1lve Marketing Monoger: Cossle Cloutier
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
O..tamaiocs. Ltd.
Cover unage iStock.com/Nongkran_ch
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
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
ISBN: 978-0-357· 11781-1
Cengage
20 Channel Center Sueet
Boston, MA02210
USA
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~n tatlve 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.
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 ~,._._~ .,..., -<.....,._~~
r.....l __ .._......,..,_..,.,............_.,.....,..._...,.....,_..,.,,_., ._..~~a-.e.._..,...,.,,._. __ .....,.__.t__.•.._a..,.. .......... ,......_... ..........
iii
DEDlCATION
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
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
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
Chapter 4 Requirements Engineering 104
Chapter s Data and Process Modeling 144
Chapter 6 Object Modeling .1 80
Chapter 7 Development Strategies 200
PHASE 3: SYSTEMS DESIGN 227
Chapter 8 User Interface Design 228
Chapter 9 Data Design 268
Chapter 10 System Architecture 316
p
~
•
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
vi
TABLE OF CONTENTS
PHASE I : SYSTEMS PLANNING
Introduction to Systems Analysis
and Design
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
1.2 Information System s
1.2.1 Hardware
1.2.2 Software
1.2.3 Data
1.2.4 Processes
1.2.S People
Case In Point I. I. Data B~. che
1.3 Internet Business Strategies
1.3.1 The lnttrnet Model
I .J 2 82C (BuS1ncsMo·Consumer)
I .J.3 828 (Business·tO· Buslness)
1.4 Modeling Business Ope rations
1.5 Busines$ Informa tion Systems
1.5 I Enterpriu Computing
l.S.2 T rmuccion Processang
I .SJ Business Support
l.S.4 Knowled&e Mana&e"*"
I .S.5 User Producov1ty
I .S 6 D1giul Assistants
1.5 .7 Systems lnteinuon
C..• ~ 1n P.
t I 2: Au 1n• '"'° ~ h I •
1.6 Organiu.tional Information Models
1.6 I Functions and Organlzadonal l.eve:s
1.6.2 Top Man~ers
1.6.3 Middle Maniiers •nd Know1ed&• Worker>
1.6.4 Supervisor> and Team Leaders
1.6.5 Operadonal Employees
2
3
3
4
"
4
5
5
6
7
7
8
8
8
8
9
9
11
II
II
12
13
14
15
15
5
16
16
16
17
17
17
1.7 Systems Deve lopment 17
1.7.1 StructuredAnalysls 18
1.7.2 Object-Oriented Analysis 2 1
1.7.3 Agile Methods 22
1.7.4 Prototyping 24
1.7.5 Tools 24
1.8 The Information Technology Department 26
1.8.1 Appllcatlon Development 27
C;ue in Point 1.3: Global Hotel~ and Momma's Motels 27
1.8.2 Systems Support and Security 27
1.8.3 User Support 28
1.8.4 D•toboseAdmlnt>trotJon 28
1.8.5 Network Adminlstrodon 28
1.8.6 Web Support 28
1.8.7 Qu>l1ty Assuranco (QA) 28
I. 9 The Systems Analyst
1.9.1 Role
1.9.1 Knowledge. SIUlb. and Ecb::auon
l.9J Certification
1.9.4 c..reer Opportunities
1.9.5 Trends"' lnformabon Technology
A Question of Ethics
1.10 Summary
Key Terms
Exercises
Analyzing the Business Case
Learning Objectives
2. I Strategic Planning
2.1 .1 Strategic Planning Overview
Case in Point 2.1; Pets for Rent
2.1.2 SWOT Analysis
2.1 J The Role of the IT Dep1rtmenc
2.1 Strategic PlanningTools
2.l The Business Case
2.4 Systems Requests
2.5 Factors Affecting Syste m s Projects
2.5. 1 lntern>I Factors
2.5.1 Extern>! Factors
2.6 Processing Systems Requests
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 Feuibtlity Studies
2.7.2 Operauon>l FeaS1bthty
2.7.3 Ecooom<e Feasib1l1ty
2.7.4 Teclvlical F<!asibillty
2.7.5 Schedule Feasfblllty
2.8 Setting Priorities
2.8.1 Dynamic Priorities
2.8.2 F•«ors That Affect Priority
2.8.3 Discretionary and Nondlscretoonary Projects
Case in Point 2.3: Attaway Airline , Part Two
2. 9 The Preliminary Investigation
2. 9.1 Planning the Preliminary lnvesclgadon
2.9.2 Performing tho Preliminary lnvesdgatlon
2. 9.3 Sumtmn•mg the Preliminary lnvestlg-.tion
A Question of Ethics
2. 10 Summary
Ke:yTerms
Exercises
28
28
29
31
32
33
35
35
37
42
44
45
45
45
45
46
47
47
49
so
50
52
54
54
54
54
SS
56
56
57
57
58
58
S9
59
59
60
60
60
61
61
68
69
69
70
72
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, - Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Table o f Contents
vii
Managing Systems Projects
Learning Objectives
3. 1 Overview of Project Management
3.1 I Whn Sh>peS a Project•
3.1 2 What Isa Project Tnansfe'
3.1.3 What Does a Protect ~nager Do'
3.2 Creating a W ork Breakdown Structure
3.2.1 Gontt Clwu
3.2.2 PERT/CPM Charts
3.2.3 ldent1fyi11g Tasks In a Wori< B<cakdown Structure
Ca•~ in Point l. I . S onri Sottw;i.n
3.2.4 Foctors Affecting Dul'O\don
3.2.S Displ;ay111g the Wori< Breakdown Structure
3.3 Task Patterns
3.3.1 Using Task Boxes to Create a Model
3.3.2 Task Pattem Types
3.3.3 Working with Complex Task Pattems
Case In Point 3.2: Parallel Services
3.4 The Crltica.I Path
3.4.1 Calculacing the Cntlcol Path
3.5 Project Monitoring 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 Reporting
3.6 I Project Status M .. anis
3.6.2 Project Statui Rtporu
3.63 0..long woth Problems
3.7 Project Management Software
3.8 Risk Management
3.9 Managing for Success
C. P, 1t l J 1me Software
3 9 I Buslnen luues
3.9.2 Budget Issues
3.9.3 Schedule Issues
A Question of Ethics
3. 10 Summary
Key Terms
Exer cises
PHASE 2 : SYSTEMS ANALYSIS
Chapter 4
Requirements Engineering
Learning Objectives
4. 1 Syste m Req uirements
4.1.1 Types of Requoremenu
4.1.2 Requlremenu Challenges
4.1.3 Additional Conslderatlons
4.2 Team-Based Techniques
4.2.I )olntAj>pl1ca11on 0..elopment
Case in Point 4.1: North Hills College
74
75
7S
7S
76
76
76
n
78
80
80
81
82
82
83
8"
SS
85
85
87
87
87
87
1)7
88
88
88
89
93
94
95
95
95
96
96
96
98
100
104
105
105
106
107
108
109
111
4.2.2 Rapid Apphcadon Development
4.2.3 Agile Methods
4.3 Gathering Requirements
4.4 Gathering Requirements Through Interviews
4.4.1 The lnterv>ew Process
4.5 Gathering Requirements Using Other
Techniques
4.5.1 Document Review
4.S.2 Observation
4.5.3 QueJtionnaires ond Su~
4.S.4 Interviews Venus Quescionnaires
4.S.S S...ns«>rmin&
4.5.6 Sampling
4.S 7 Research
Case in Point 4.2: CyberStuff
4.6 Gathering Re quirements In Aglle Projects
4.7 Representing Requirements
1.7.1 Natural Language
Case in Point 4.3: Digital Pen Transcription
... 7.2 Diagrams
1.7.3 Models
4.8 Validating and Verifying Requirements
4.9 Tool.s
A Question of Ethics
4. 10 Summary
Key Te rms
Exercises
Chapter S
Data and Process Modeling
Leaming Objectives
5.1 Logical Versus PhysicaJ Models
5.2 Data Flow Diagrams
S.3 Data Flow Diagram Symbols
5 3 I Proun Symbol>
5.3.2 Data Flow Symbols
5.3.3 Data Store Symbols
5.3.4 Enticy Symbols
5.3S Usin& DFD Symbols
5.4 Drawing Data Flow Diagrams
5.5 Drawing a Context Diagram
5.6 Drawing a Diagram 0 DFD
S.7 Drawing Lower-Level DFDs
Case In Point 5.1 : Big Ten University
5.8 Data Dictionary
5.8.1 Documenting the Data Eltmenu
5.8.2 Documentinc the Data Rows
5.8.3 Documenting the Data Stores
5.8.4 Documenting the Processes
5.8.5 Documentm& the En"tles
5.8 6 Documenung the Records
5.8.7 Data Dlcuonary Reporu
5.9 Process Description Tools in Modular Design
5.9.1 Procen Descnpcions 1n Obiect·Oriented [)eo.lelopmen1
S.9.2 Modubr Design
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-.............. . ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~----···---~~-.,.-"~ ...........--......
111
113
114
116
116
12 1
122
122
123
124
115
125
126
127
127
128
128
129
129
13 I
Ill
134
137
137
139
142
144
145
145
146
147
147
149
ISi
152
152
154
155
158
163
164
161
165
166
167
167
167
168
169
169
169
viii
Table of Conte nts
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. 1 0 Summary
Key Terms
Exercises
Chapter 6
Object Modeling
Learning Objectives
6.1 Object-Oriented Analysis
Case In Point 6. 1: Travel Biz
6.2 Objects
6.3 Attributes
6.4 Methods
6.5 Messages
6.6 Classes
6.1 Relationships Among Objects a.nd Classes
6.8 The Unified Modellng language (UML)
6.8. I Use Cue Mod~1n1
6.8.2 Use Cue Ofagnms
Case in Point 6.l : Hilltop Moton
6.8..3 Cius 01ograms
use in Point 6 .3: Train the Trainers, Inc.
6.8.4 Sequence O.airams
6.8.S State Transition Oiograms
6.8.6 Activity Diagrams
6.8.7 Susineu Process Modeling
6.9 Tools
A Question of Ethics
6.1 0 Summary
Key Terms
Exercises
Chapter 7
Development Strategies
Learning Objectives
7. 1 Traditional Versus Web-Based Systems
Development
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
7 33 Purclwin1 • ~ Pac.kage
170
170
174
175
175
176
176
177
179
180
181
181
181
183
183
183
184
186
187
187
189
189
l'JO
191
192
192
193
194
195
195
195
197
199
200
201
201
201
202
203
203
204
205
7.3.4 Custom1%1ng •Software Pad<ogc 206
7 .3.S Cre.tlng User Appli<att0ns 207
Case in Point 7 . 1: Doug's Sporting Goods 108
7 .4 Outsourcing 208
7.4. I The Growth ol Ouuourc"'I 108
7.4.2 Outsouran& Fees 209
7A3 Ouuourong Issues and Concerns 1 10
7 .5 Offshoring 210
Case in Point 7.2: Turnkey Services 211
1.6 Software as a Service 211
7.7 Selecting a Devefopment Strategy 211
7.7. I The Systems Analysts Role 212
7.7.2 Analyzing Cost and Bcnefiu 212
7.7.3 Cost-Benef1tAnalysls Checkllot 213
Case in Point 7.3: Ster1ingAssoclates 214
7.8 The Software Acquisition Process 214
Step I: Evaluate che Information Synem Requirements 214
Step 2: Identify Potential Vendors or Outsouroing Options 2 I 6
Step 3: Evaluate the Alternatives 217
Step 4: Perform Cost-Benefit Analysis 219
Step S: Prepare a Recommendation 219
7.9 Completion ofSyscemsAnalysisTasks 219
7.9.1 System Requirements Document 219
7.9.2 Presentation to Management 220
7.9.3 Transition to Systems Des1&n 221
A Question of Ethics 222
7. 10 Summary 222
KeyTefms 224
Exercises 226
PHASE 3 : SYSTEMS DESIGN
Chapter 8
User Interface Design
Leaming Objectives 228
8.1 User Interfaces 229
8.2 Human-Computer Interaction 230
Case in Point 8. 1: Casual Observer Software 232
8.3 Seven Habits of Suceessful Interface Designers 232
8.3.1 Undeni:and the Busman 232
8.3.2 Maxlml1e Graphical Effectiveness 232
8.3.3 Think like a User 233
8.3.4 Use Models and Prototype> 233
8.3.5 Focus on Usability 233
8.3.6 Invite Feedback 233
8.3.7 Document Everythln& 234
8.4 Guidelines for User Interface Design 234
8.4.1 Create an Interface That Is Easy to Learn and Use 234
8.4.2 Enhance User Producuvlty 235
8.4.3 Provide Flexibility 236
8.4.4 Provide U1en wich Help and Feedback 236
8.4.5 Create an Atll'lctove Layout and Oesl&n 137
8.4.6 Enhance che Interface 238
8.4.7 Focus on Oaa Entry Screens 240
8.4.8 Use Validation Rules 143
8.4.9 Manoge Data Effectro'Oly 245
8.4.10 Reduce lnputVolume 145
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, - Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~----···---~~-.,.-"~ ...........--......
Table o f Contents
ix
Case in Point 8.l : Boolean Toys
8.5 Source Document and Form Design
8.6 Printed Output
8.6.1 Report ~'II'
8.6.2 Report ~lgn Pnndples
8.6.3 Tn- of R"'°ru
Ca.e in Point 8.3: Luy Eddie
8.7 Technology Issues
8.7.1 Output Technology
8.7.2 Input TechnolocY
8.8 Security and Control Issues
8.8. I 0uq>Vt Secumy and Control
8.8 2 Input Securtl}' and Control
8.9 EmergingTrends
8.9.1 Modulor Deslsn
8.9.2 Re•pon•lve Web Design
8.9.3 Prototyp1n1
A Question or Ethics
8.10 Summary
Key Terms
Exercises
Chapter 9
Data Design
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
9.1 DBMS Components
9.2. I lnU!rfaces lor Usen, Database Administrators. and
Related Systems
9.2.2 Schema
9.2.3 Physical Data Repository
9.3 Web-Based Design
9.4 Data Design Terms
9.'4.1 Definitions
9.'4.2 Key Field•
9.'4.3 Refttential Integrity
9.5 Entity-Relationship Diagrams
9.5.1 Drawing an ERO
9.5.2 Typos of Refadon•hlps
9.5.3 Cardinality
Case In Point 9. 1: Top Text Publishing
9.6 Data Normalii.ation
9.6. I Saindard Notation Format
9.6.2 First Normal Form
9.6.3 Second Normal Form
9.6.'4 Third Normal Form
Case In Point 9.2: CyberToys
9.6.S Two Re>l-World Examples
9.7 Codes
9.7. 1 Ottrv.-ofCodes
9.7.l Types of Codes
9.1.3 Designing Cod.s
2'46
146
2'47
2'48
248
250
251
251
252
25'4
255
255
156
257
257
158
258
260
260
262
266
268
269
269
269
271
272
273
2n
273
274
275
175
276
279
280
180
180
183
284
284
285
286
287
290
291
291
297
297
298
299
Case 1n Point 9.3= Madera Tools
9.8 Data Storage and Access
9 8.1 Tools and Techniques
9.8.2 Logial Venu• Phytical Storage
9 8.3 O.ta Cod•ng
9.9 Data Control
A Question or Ethics
9.10 Summary
KeyTe,.ms
Exercises
Chapter 10
System Architecture
Learning Objectives
I 0. 1 A,.chitecture Checklist
I 0.1.1 Corporat0 Organludon and Culture
I 0.1.2 Enterprise Resource Planning (ERP)
I 0. 1.3 lnltQI Cost and TCO
I 0. 1.'4 Sal•b•lity
I 0. 1.S Web Integration
I 0.1.6 Legacy Systems
10. 1.7 Processing Options
I 0.1.8 Security Issues
10.1 9 Corporote Portals
Case in Point 10.1 ABC Sy.terns
I O.l The Evolution of System Architecture
I 0.2.1 Mainframe Arch1tec:wre
I O.l.l Impact of the Ptrsonal Computer
I 0.2.3 Network Evoluuon
I 0.3 Client/Server An:hitecture
10.3 I The Client's Role
I 0.3.2 OoentJSeM1er Tiers
I 0.3.3 M1ddleware
10.3.'4 Cost-Benefit luues
10.3.S Ptrformanco Issues
I 0.4 The Impact of the Internet
10.4 .I lntemet·BuedArchiteca.o,.
I 0.'4 2 Cloud Computing
10.4.3 Web 2.0
I 0.5 E-Commerce Architecture
I 0.5.1 In-House Solutions
I 0.5.2 Packaged Solu11ons
I 0.5.3 Service Providers
Case in Point I O.l . Small Potatoes
I 0.6 Processing Methods
I 0.6.1 Online Processing
I 0.6.2 Batch Processing
I 0.6.3 Example
10.7 Network Models
I 0.7. 1 The OSI Model
10.7.2 NetworkTopology
10.7.3 Network Devices
I 0.8 W ireless Networks
I 0.8.1 Stand•rds
I 0.8 2 Topolog1u
1083 Trends
300
301
301
302
303
305
306
306
308
313
316
317
317
317
318
319
319
319
320
320
320
321
321
321
322
322
323
324
325
326
326
327
327
328
328
329
329
330
33 1
33 1
332
332
332
333
333
334
331
335
337
338
338
339
339
x
Table of Contents
Case In Point I 0 .3: Spider IT Services
10.9 Systems Design Completion
10.9.1 System DHlgn Speclflcauon
I 0.9.2 Us..-ApprCMI
10 9.3 PreS4'lc11lons
A Question of Ethics
I 0.1 0 Summary
Key Terms
Exercises
340
341
341
3'12
342
3 43
343
346
350
'--
I
I l.93 Dati Conve.-..on
11.9.4 Training
11.9.S Post-lmplementadon Tasks
~
tdwtrica
A Q uestion of Ethics
I I. I 0 Summary
Key Terms
Exercises
382
383
387
391
391
394
398
PHASE 4 : SYSTEMS
IMPLEMENTATION
PHASE S : SYSTEMS SUPPORT
AND SECURITY
Managing Systems Implementation
Managing Systems Support
and Security
Learning Objectives
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
I 1.2 Application Development
11.2.1 Review the System Design
I 1.2.2 Application De..lopment Tuks
I l.2J Syncms Development Tools
I I .3 Structured Development
11.J. I Strvcture Chuts
I I 3.2 CohesK>n .nd Coupl 111
11.3.3 Drawing a StrvCture Chart
11 .4 Object-Oriented 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&
I 1.5 Agile Development
11 5.1 en.-Programml11g
11 S 2 UJ1r Scones
11.5.3 Iterations and Releases
11 .6 Coding
I I. 7 Testing
11.7.1 Unlt Teulng
11.7.2 Integration Tesung
11.7.3 System Tesdng
C:... I M...,.,lnc.
11.8 Docum 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
I I • 9 Installation
11.9.1 Operational andTest Environments
11.9.2 System Changeover
352
353
353
3S3
355
356
356
356
357
359
360
361
362
364
365
366
366
367
368
369
369
369
370
370
372
372
3 l
373
374
374
375
375
376
3 78
378
379
Lear ning O bjectives
12. 1 User Support
12.1.1 UserTralnlng
12.1.2 Help Desks
12.1.3 Outsourcing Issues
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
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
1n:lng, Inc,
12.4 System Performance Manage ment
12.4. I fault Management
12.4.2 Performance and Workload Measurement
12.4.3 Cap•clty Planning
12.5 System Security
12.S. I System Security Concepts
12.S.2 Risk Management
12.S.3 Attacker Promos and Attacks
12.6 Security Levels
12.6.1 Physical Security
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
400
401
401
401
403
403
404
404
406
406
407
7
408
408
409
410
411
412
412
414
4 14
414
416
417
419
419
420
421
423
423
426
426
429
431
432
434
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, - Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~----···---~~-.,.-"~ ...........--......
Table o f Contents
xi
c. l'uw 17 C on L 1 Consulting, Inc.
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 Retirement
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
4)4 12.9.4 CnocalThonkln&Skills
435
12.9.S Cybcretllla
435 A Question of Ethics
435 11.10 Summary
436
Key Terms
437
Exercises
438
438 Glossary
+40
+41
Index
442
442
443
443
446
452
453
471
~ 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
xiii
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 challenging 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 rho e
roles.
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 analyst 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 strong analytical and crincal
thinking skills. They 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 lT 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 company'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
Systems 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.
New 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, discussion 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.
Organization 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, analysis,
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 also includes invaluable resources. Cross-functional toolkits provide
scudents with che basic skills soughc after by organizations 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.~,,... .. - ... ,...,•_....,.._....,,..._.t._.,doA..,._~ •.
a:.a.ww~ ... ...,,..,.., ..,.......,,,... ........ _.._...,~ .. ., ... cn11.,.__..........,,..-:&-c~..,.--:c--•.,,. .. -~....._.....,.. .... ..,,, ......... ,... ........... ..,._.._
Preface
xv
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 Interface 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 I 0 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._.._ ........ _ _ ..,.._.,......,..._..,....._...., ..
xvi
Features
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 think 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 dedicated to providing you all the tools you 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.~,,... .. - ... ,...,•_....,.._....,,..._.t._.,doA..,._~ •.
a:.a.ww~ ... ...,,..,.., ..,.......,,,... ........ _.._...,~ .. ., ... cn11.,.__..........,,..-:&-c~..,.--:c--•.,,. .. -~....._.....,.. .... ..,,, ......... ,... ........... ..,._.._
About The Author
x v ii
• 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, 2014), 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:
1. Describe rhe impact of informarion 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 analysis, objeceorienccd
analysis, and agile systems development
methods
8. Lise rhe tools chat enable rhc syseems analyse
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
CONTENTS
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>_... ........ _ .. ~ ........................ ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase I
Systems Planning
I. I Information Technology
3
I. I INFORMATION TECHNOLOGY
Information technology (IT) refers to the combination
of hardware, software, and services that people use to
manage, communicate, and share information. Companies
use information as a way to increase productivity,
deliver quality products and services, maintain customer
loyalty, and make sound decisions. In a global economy
with intense competition, information technology can
mean the difference berween success and failure.
l\1ore than ever, business success depends on information
technology. IT is driving a new digital economy,
where advances in hardware, software, and connectivity
can provide enormous benefits to businesses and individuals.
Although economic trends affect IT spending
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
IT curve. Conver&ely, when the economy slows down,
firms often use IT co reduce operating costs a nd improve
efficiency.
Fh c More Sillies Ban
Driver Toting
Digital Cure fo r
Health Care Costs
Social Media
Explodes!
Another Home Run
for Apple'!
1Math: 1Pod +
i Phone
---·
+ 1 Pat! =
SS$
FIGURE 1- 1 These headlines Illustrate the enormous
impact of information technology on our lives.
lnforn1Jtion technology a lso has profound influence 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 and 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, who live a nd work in this exciting world, to
realize r h~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 that identified characters by the location of punched holes,
founded IBM's predecessor company in 1896. A deck of hundreds or even thousands of
these cards could 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
revolutionized the business world and was in use into the 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.
Chapter I
Introduction to Systems Analysis and Design
4 1.2 Information Systems
1. 1.2 Systems Analysis and Design
S)stcms anal ys i ~ and design is a step-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 day-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 professionals like these are 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
[ Q. Information lecltnology & ~ FMelboume. FL ____ _.
. ., ... Information technology & Information systems Jobs In Melbourne, Florida (1081 Jobs Found)
Find Jobs • Caree< Resource• • Post a Resume C<lmpany Profiles
FIGURE I ·2 Monscer.com is an example of an online job search website that IT professionals can use.
Sourc.r. n I 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 must 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 documentation.
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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
1.2 Information Systems
Phase I
Systems Planning
s
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
equipment, fiber-optic cables, mobile devices, scanners, digital
capture devices, and other technology-based infrastructure.
A l::irge concentration of networked computers working
FIGURE 1-l Consider the amazing technology
that enabled the Hubble telescope to capture this
Image.
Sourcet Co..rt y of it,.. I "'-j,j
together is called a data center. As new technologies emerge,
manufacturers race to market the innovations and reap the rewards.
Hardware purchasers today face a wide array of technology choices and
decisions. In 1965, Gordon Moore, a cofounder of Intel, predicted that the
number of rransisrors on an inregrared circuir chip would double abour
every 24 months. His concept, called Moore's law, has remained valid for
over 50 )'Cars. Fortunately, as hardware became more powerful, it abo
became much less expensive. Large businesses with thousands or millions
of sales rranc;actions require company-wide information systems and powerful
servers, which are often now in the cloud, such as those shown in
Figure 1-5.
1.2.2 Software
I
l
[
I
I
1111111 ••
8ol••
.,...
.. 111111
.....
Soh\\arc refers to the programs rhar control the hardware and produce the
desired information or resulrs. Somvare consists of S)'Stem sofrware and
application software.
System software manages the hardware components, which can include
a single computer or a global network with many thousands 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.
......... ""_.. ...
.-.. ............... _
/
~ . I
• s
'
'
•
<
y
s
T
E
~ T
M
FIGURE 1-4 An Information
system needs these components.
.. __ __.... ................... ~~·~---- ·· · ---~~-.,.- "~ ........... --......
("..,_..., llll!O( ...... ..--. .\) ....... ~ "->-"'Allf'W ~-............... ,.. o-.... ._ ...... _ ... ,..,...,...,~..,._.. .............. ~ ..
/
I.ii
Chapter I
Introduction to Systems Analysis and Design
6 1.2 Information Systems
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 auto 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 dat aba~cs are gaining in popularity due to their ability ro scale to extremely
large and unstrucrured datasets.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
1.2 Information Systems
7
P>yl'tnod
Hoors Wotlrtd
fMPl,OVff
9 Employet No
Otpt
Ply Rott
f1rs.tNlMt
Ml
ltrt N1mt
Strt:tt
CllY
CUAAENTOfDUCTIONS
fmplQYet No
I Otduruon Codt
Amount
O!OUCTION OPTIONS
t Oedu<:llon Code
Otsalpllon
frtqvtn()'
FIGURE I ·6 In a typial payroll system using a relational model, daa is st0ttd on separate ables that are hnked to
fonn an overall daabase.
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
8 1.3 Internet Business Strategies
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 companies that
will require innovative IT solutions.
Business mday is being shaped by rhree major trends: rapidly increasing globalization,
technology integration for seamless information 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 on line cr::insactions because web-based processing cost~ are lower than traditional
methods. By making Aight information available online to lase-minute 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 out that same transaction 0 11 the Internet, che company must
develop an online 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
1.4 Modeling Business Operations
9
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 ~ines s- ro-busine~s ) transactions is many rimes greater. Industry
observers predict that 828 sales will increase sharply 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
10
1.4 Modeling Business Operations
Ched< Customer
Status
P1ocess
Veriy Customer
Cred~
Verily Customer
Credit
Process
Enter Customer
Order Data
Enter Customer j
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
_____ ... _
·-- g Q.
0000
0 0 00
0000
oooa
V0(9@
001 (
I
OciCJO
00011
11==
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 ne ss process
modeling notation (BPMN). BPMN includes standard shapes 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.
--
.,_
.. ~- · - ·
=====================··
__
......_....
-·-
·- -
0
•
•
... .
.._.. __ _
.. -
·-
-·
o.i:.c:..o
0000
QoO•
fcoOo
0 -A><>
. . ;: .
FIGURE I ·9 Lucidchart allows you to drag and drop various symbols and connect them to model a business process.
Sowc.« Lu.. ,iJ s. ... .,..,_
....
..
C=i
~
•
·--·-·
Cl
0
'
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
1.5 Business Information Systems
I I
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 enterprise 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 array 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
Check
Credit
Status
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, manufacturing, 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.
Check
Stock
Status
~\
FIGURE 1-1 0 SAP is a leading vendor of ERP solutions that can boost productivity.
s...r. ..
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.
Post to
Accounts
Aece1vabla
Verify 1 6
nsactlon
Data
Customer
• ,.,. Sates
Adjust
Inventory
Levels
Update
Sales Fie
FIGURE I · I I A single sales transaction consius of six separate
tasks. which the TP system processes as a group.
T P syscems are efficient because they process a
set of transacrion-relatt:d command~ as a group
rather than individually. To protect darn incegrity,
however, TP systems ensure that if any single
elemenc of a cran s~1 c tio11 fai ls, the system does not
process the rest of the transaction.
E .5.3 Business Support
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.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
1.5 Business Information Systems
13
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 were called management information 'Y~ tem s
( ~U S) 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 support
system immediately. Automated
data acquisition is possible using
technology such as radio frequency
identification (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.
An imporrant feature of a
b~mess supporr system is decision
support capability. Decision supporr
FIGURE 1- 1 l With an RFID tag. items can be tracked and monitored throughout
the retail process.
~
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 knowledge management 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 natural language front end that
understands user queries in several domains. As shown in the figure, these domains
include mathematics, science and technology, society and 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
14 1.5 Business Information Systems
• WolframAlpha --
• I
_..,_
Matte• a:1 •• Sdnn & '!echnclagy• Sodo!y & Culluze • ~Ult
1 ...
.!:!
• .,.,...,._ .a """" • -·-
t.:
--
>: 1 1 -
-·- s -
1
--
. .
m
v
FM 4' Nl.0'• 1 •tfl.
tto.fh<ll41 ~
Ho!.lw1014IV1W\
rt' ........ ._ .. ~ .,_,
\v; ..,...,~, IMPo"lllWWIW
J ...
·-
•
t ............... [). C::...,,nt.oqo; Sclfl'ICll
~ ._.,,rtNl>Q
•
..,,,,,!C.""1CM ~
.. \ ~1'9"1i.tll• .. •'Hll'll ~
-·
•
Poll*'lfAOtrt""J'
..... •
T.clfly
:.:..i ·-
11111 ,._,,~ "':!JI( f•1o''*POtUt1Clrl
... " .. ... ...... •
...... ...
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 systems 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 groupware,
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~ ..
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,....
Phase I
Systems Planning
1.5 Business lnforma cion 5yscems
IS
\'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 natural language processing have made a
new rype of business information system possible: the personal
digital ab5i!.tant. T hese i.ysrems are combinations of knowledge
management systems and user productivity systems, enhanced
with artificial intelligence and machine learning capabilities.
They are typica lly cloud based and can be embed ded in
hardware devices of various sizes and types.
Digital absisrants are exemplified by products such as
Amazon.com's Alexa, Apple's Siri, and 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·rure 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 require 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 and a quality control system
with decision support capabiliries. A qualiry control engineer uses what-if analysis to
determine if the firm should make product design changes to reduce warranty claims.
lo this example, a TP system is inregrated with a knowledge management sy!ttem and a
business support system with decision support 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
16 I .6 Organizational Information Models
1.6 ORGANIZATIONAL INFORMATION MODELS
Corporate organizational 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
Organizational Levels
Business Functions
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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
1.7 Systems Development
17
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. Just 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 that 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 l ternative~ are !itructurcd analysis, which is a traditional 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 the laresc trends in software development.
Figure 1-17 provide~ an overview of the three 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
18
I. 7 Systems Development
STRUCTURED
ANALYSIS
OBJECT-ORIENTED
ANALYSIS
AGILE
METHODS
Description
Represents !he system in terms
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 I M!l ltS. desipl.
ConstruCOOl'I. testing. and
mamtenanee & e\IOlution. Iteration
is possible among !he phases.
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.
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.
FIGURE 1-17 Comparison of structured, object-oriented, and agile development methods.
Regardless of rhe devclopmenr strategy, 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
1.7 Systems Development
19
~ys tems development 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 · I Rf GIST RATION PROCESS MODEU>FD)
li F~t [d< Vo<w °"''°"' Rq>OMt"')' 0..gftm Tools W.ndow -" Help
CJC!J:.l W .J1' ~ '1.a ia l • 4 ~ o""'a "' .. ,"\ ..,, , T
1~ vj •4 14, I .J • ol I
[J x
- " .
SCHOOL REGISTRA TIO~ SYSTEl\1
Sl\JDENTS
COURS{OATA
.....--------1.t ~DC..''TS
REGI STRA TIOll Oo\T A
R£CIST£R 1---------M
OUTPUT
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
Systems
Security and
S upport
• System
teqUitements
document
• Systrim
design
spec1ftcat1on
• Functioning
system
• Fully
operahonaJ
system
FIGURE 1-1 9 Development phases and deliverables are
shown in the waterfall model. The circular symbols indie1te
Interaction among the phases.
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 with a formal request to the IT department,
called a systems request, which describes problems
or desired chaDges in an information system or
a business process. In many companies, IT systems
planning is an integral part of overall business plan
Ding. When managers and users develop their business
plans, they usually include lT requirements thar generate
systems requests. A systems request can come
from a rop manager, a planning team, a department
bead, or the IT department itself. The request can be
very siignificant or relatively minor. A major request
might involve a new informarion system or the
upgrading of an existing system. In contrast, a minor
request might ask for a new feature or a change to the
user interface.
The purpose of this phase is m perform a
preliminary investigation co evaluate an IT-related
business opportunity o r problem. The preliminary
investigation is a critical step because the outcome will
affect the entire development process. A key part of
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.
Suppose a systems analyst receives a request for
a system change or improvement. The first step is to
determine whether it makes sense co launch a preliminary
investigation at all. 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 other 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 analyst
invc~tigates business processes and dlocuments what the new system must do to satisfy
users. Requirements engineering continues the investigation that began during the
system~ planning phase. To understand rhe system, fact-finding using techniques such
as interviews, surveys, document rev iew, ob:.ervacion, and sampling is performed. The
fact-finding results are used to build business models, data and process models, and
object models.
The deliverable for the systems analysis phase is the ~>~te rn requirements
document. The system requiremencs document describes management and user
requirements, costs, and benefits and outlines alternative development strategies.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
1.7 Systems Development
21
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 archirecrure 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 specification, 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 systems 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 and perform any necessary modifications. The objective of the
systems implementation phase is to deliver a completely functioning and documented
information 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, and performing
the actual transirion to the new system.
The systems implementation phase also includes an 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 during 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, maintarnable, 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 analysis 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 model rea l-world business processes and operations.
The result is a set of software objects that represent actual people, things, rransactions,
and events. Using an 0 -0 programming language, 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
22
Introduction to Systems Analysis and Design
1.7 Systems Development
INSTRUCTOR
Name
Address
Dale ol Bir1h
Otlice Location
Olllce Phone
PERSON
Name
Address
Date of S.rih
lnhefll&d
properties
Other -{
properties
STUDENT
Name
Address
Dale of Birlh
GPA
Adv<SOr
FIGURE I ·20 The PERSON class includes INSTRUCTOR and
STUDENT objects. which have Inherited properties and their own
properties.
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.
In 0-0 design, built-in processes called
nzethods can change an object's properties. For
example, in an online catalog store, an ORDER
o bject might have a properry called STATUS that
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
specific behavior or information from another
object. For example, an ORDER object might send
a message to a CUSTOM ER ob1ect that requests
a shipping address. When it receives the message,
the CUSTOMER object supplies the information.
The ORDER object has the capability to send the
message, and the CUSTOMER object knows what
actions to perform when it receives the message.
0-0 analysis uses object models to represent data
and behavior and to show how objects affect other
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 fol low 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.
I. 7 .3 Agi ~e Methods
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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
1.7 Systems Development
Phase I
Systems Planning
23
lQ Scrum.org
...., ____ Q
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: e aha rs from tar lb.ing
IOC4~
International Conference on Data Science, £-learning
and ln(ormot/on Systems 2018
0 0t lob.< I Z018 9 Mi\dnd
READ MORE
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.
s~.l ~ ,.,,.,, 1
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-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
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 L C 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, analysts should recognize char
these approaches have advantages and disadvantages. By their nature, agile methods
can allow 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,
certain 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 Prototyping
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 protot}pe is an early working version
of ::in information sysrem. Jusr as an aircrafr 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 application lifecycle management (ALM), also called
product li fccycle management (PLM); integrated development environments (IDE);
::ind computer-aided systems enginee ring (CASE), also called computer-aided 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
1.7 Systems Development
Phase I
Systems Planning
25
Tools make ir easier ro build an informarion system, thereby 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 de-. bl.ltd lftl Ind "'IN99 ...,.,pla tcftwllt• S)"lle!M on I un.lltd
100 pert8'l - Dl..O 10M-lNl W"4S llNll leltnl « "'°""'"°'
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
- .. fHt«r - mo<e ,_, M1ilt
~nmg- - lr«Nblr.ty ond
~ty lr>•o your oppll(11.,., 1 let)dc
D
Polarion REQUIREMENTS
Ehoiwfy ~'-· ..,.,_••W-ond
,.,.._,_.,_II for complu SJ"I_,.
K1otS ........ pqea lifK)'des
D
Polarlon QA
"°"ides comclle•~ IOI...,_ qunty .....,_..
ondtnt>ng~
D
Variants Add-on
ll<ipidly INI el!.ttiwfy o..ign. ~Ind
~· complu f1mlfies CJf ptodUtl _...,,,.
1NI va-11 wilh lndintty lffcf"'ll -logy
1NI lr-tegrll"'"'
D
Polanon Pro
unify Chl"llO ....... met'I. llSli & is....
trodJoog 11'<! _
contribt.itof5 Kf'Cl55 tre entefp\M
,_.."9 KrOU 111 P'O)KI
D
Polarlon Reviewer
[Nble ln~nll •nd Ule<nel It.I~ IO
,....,...""and COftVT1iil"M on ""°'t. ,..,... M'ld
piOlllcle lndunry-complio<U tl«-
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
26 1.8 The Information Technology Department
--
Visual Studio IDE ·- -
·- -·-
I' ..---
·---
-
·-
·-· •
:==:...
·-·
·- ==::....
Download Vo~ual Studio for Mac .!. ··-
No Magic
t - ,,,,,_.'-, ----··
.......... =----........................... --..
Fully-featurtd 1ntt.'9rak-d o.:vdoprrn:t l t:riwonment
·
(IOE)
··
--
•
fo< Android. 10S. rnacOS, web, and doud
-
- . ··
·· - .
··- ·-
t' , 7111 I • .._
-·-
-·-
I"------··
.-.... ~ ........-~
I
r". -·oo=
-
~=~-
- • -~ J
-·-
- -
••
- .
- ••
- -
FIGURE I ·24 Microsoft Visual Studio is a fully-feawred integrated development environment (IDE).
Sour<e: """ •o • tt Co• p• .. 1
Cameo Systems Modeler
c-~ .... MrDllllw .." .. ~" ..... cnw.--~ CClllabar•Nit Modllt B.wlofld ..,.,....(•......
~lllillltbiilll & I ......a..,-°""*'~,....Wld~"'feoolsto.... tne*.lftel~.al---bOI
tt'AWIR thtMGAM a d cx .... Srr'IMlmidelSD...,., lllt••••w••• ...................
. ........,_... ~ ...--..--.....-·..........
• c. '••CNdl......-<v
• 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 suppon, 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
(....,..... J:gi ( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,....
Phase I
Systems Planning
1.8 The Information Technology Department
27
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 Department
I I_
Apphcauoo l Syslems Support
Development and Secunty
I
User
Support
Otrector
lnlonnation Technology
I
Database
AdminlstrallOn
~ '-
Network
Administration
_ I_
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 of 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 f ust acquired 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 additional
information 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
28 I. 9 The Systems Analyst
1.8.3 Use r Support
User support provides u ers with technical informarion, training, and produccivicy
support. The user support 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 graphics 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. Regardless of company size, mission-critical database
applications require continuous attention and technical support.
1.8.5 Network Administration
Business operations depend on networks chat enable company-wide information systems.
Network administration includes hardware and so~wa re maintenance, support,
and security. In addition to controlling user access, network administrators insrall,
configure, m::inage, monitor, and maintain network appl ications. Nerwork administration
is discussed in more detail 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 lly critical for companies engaged in e-commerce.
1.8. 7 Quality Assurance (QA}
Many large IT deparrments also use a quality assurance (QA) team thac reviews
and 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 investigates, analyzes, designs, develops, insralls, evaluates, and
maintains a company's information systems. To perform chose tasks, a sysrcms analyst
constantly interacts with users ai!ld managers within and outside rhe company.
The fo llowing sections describe a systems analyst's role, knowledge, skills, education,
certifications, and career opportunities.
1.9. 1 Role
A systems analyst helps develop IT systems rhar support business requirements. To
succeed, analysts often must ace as translators. For example, when chey descri be
business processes to programmers, they muse speak a language thar programmers
will undersrand clearly. Typically, the analyse builds a series of models, diagrams,
and decision rabies and uses other descriptive cools and technique . Similarly, when
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
1.9 The Systems Analyst
29
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 skills, 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 and the position.
In a rapidly changing fT marketplace, a syste1ns analyst must manage his or her own
career and have a plan for professional development.
TECHNICAL KNOWLEDGE: Sracc-of-the-a rt knowledge is extremely import·
ant in a rapidly changing business and technical environment. The 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
~ r -~- - ~ , -
. -- - . '
WHAT ts S¥SltMS CNGIN((llllNG1
L .. ,, • .ai.u1 1hit .._, .. nr..e .......
)
IMCOSl"S IMPACT
l•Mlf\& t~ rwtt.1.r• of 5"'i•m'
En1•1'\ff_rif'1g
GIOW IN SYSTCMS £NGINClllllHG
V..pe lh• •~Id en4 .tw..w-e ,_., C•t..-t
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
30 I. 9 The Systems Analyst
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~ srrong 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.., qf IM W<ll«t IO ...,..q of UH~
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 Con-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 ..,.batinginl'o11118fiongalhatad Imm. otgane,.led by,~
--18-. 1eftadlol1, IMIOllfng, ot ~ H •~IO belef and •clan. ln 1111 ....... ry fotm, l
le - on uni-01111 ;t• - lt>at Itel-id oubj9ct - dMelont doallly. 9CCUtaeY I" oclal<>ot
--..Y. ••••""'· ---good-, do!#>. blMdth. IRI r--.
FIGURE 1-28 The Critical Thinking Community Is a nonprofit organlzadon that provides encouragement and
resources for critical thinkers.
Soun:. 0 ..r ,~,..."'
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
1.9 The Systems Analyst
31
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 critical 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 professionals and the employers who hire thetin.
THINK Watson
- - ,..,.. I 'nloU- I -· I ... I - I c.ua
The Gold Standard Critical Thinking Test
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.
• menti
---- ---- -
--- -·
--· _,
':···~ii!!'
-----·---
=---::. W .:-.:---a.:;::_:::
- ...----::---..---
·
• •
~"'"'=='-- .- =-- -..._~==-- -..__________
------ ==----
. :::-::::::::..~ . --------
. ==-----====---·--=:.--
--
- - r
--:::-----~--
• _,......,. Ct1ttcll tfll"9 ... ltlfllty 1'1111 dldCD\ ll'IUi"I
• fllrecilcll JUOrttnt. ~ to1"""1. CNlllmtty, GPrMm io c;cpc •w» I "'°'9
• ~ '-ttary of UM tft Mlf'IJ'll. F' I '""* It, WICI ~r:iort
• c.r.i..t" '#ftl'I ot•'-d'i,. IOCtty Md Pl"'O'll'''Y t-.i
• °'4 .,.......,.,._flClfl It -ltfl~ CDtl • !?Br;~ t!!!ll p.tl\ utnWW;
. "*" 4 "IM'I ""'-..,,,. C1'mla mt -.tth """"'twpxt .. ciptfon&
FIGURE 1-29 Employers lllce co hire people who can think logically and effectively.
Sourc.,. lu
1111 _ ic, _ _., !!O>rt
ll>"ll\Jo'f Cn11<o!lv
-.>•uQln>""'°""'
·--·
1bp Scat .. on W G twlp "odlCt
.... itudr. lill " ...".. ret'WI\
• l*'fca WWW l (at!W ,,...,, U'IC9 ~
........
kDfftl 1111 h ...... ~ ..,. ~
efW.tliDr't-GIM« ............ ..
_
("..,_...,llll!Ot...... 1.--s .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ...,..,...,...,~..,._................ ~ .......,..""_......-................. ..____..................... ~~·~----··----~~-.,.-"~ ...........--......
Chapter I
Introduction to Systems Analysis and Design
32 I. 9 The Systems Analyst
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.
JOB TITLES: 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 are found in positions rirled computer specialist, programmer,
programmer/analyse, sysrems designer, software engineer, and variou~ ochers. Be sure
rhc responsibilities of the job are stated clearly when considering a position.
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 company
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 carefully before deciding which position
is most suirablc.
CORPORATE CULTURE: fn addition to having goals, methods, and information
systems requirements, every firm has an underlying corporaLc culLure. A corpora re
culture is the set of beliefs, rules, traditions, values, and attitudes char define a company
and influence its way of doing business. To be successful, a systems anal) 1 St 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 work.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
1.9 The Systems Analyst
33
Our Salesforce culture.
M~..._Ol.At°*'"f/llMl. Wl..., .. Gllllft.....,,,Mll .... llf ... ~~W ... ~ew---.9'11t......,,,_MfN•
..... Ow .........w-.-ONflllM,,_.li a M,~Md ......... to~'ftlf"*--._
IS ZW-
Our Ohana blazes trails
¥111>W artM•1' .... ,....,_....-:1MWOft. 9
,..., ................ ...._._..
~ ·f~ LlMHMC*•
Our values connect and 1nsp1re us
_,..,,,,......_,.,.. ........ 0...---... ...- ,_.,. _..,, .. .,_DNA
Trust OJ<,t~r Sore@S.~ lnnOlr.ltlOll
" ..... ~.,,,~.,.,
~ ................... 0wr weiw....,, w p I ...
.....,.,. .._ °"' ONN Oii. :pl ,........ ra- ,,...,,.,.,., 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 or 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 already 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 heavyweight 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
34 I. 9 The Systems Analyst
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<> additional
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 URE 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.
Product-oriented 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. 1 lowever, 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I Systems Planning
I. I 0 Summary
35
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 hardware, 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 everything 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.
Most s u cces~fu l companies offer a mix of produces, technical and financial
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-business
(B2B) transactions that use Internet-based digital marketplaces or private electronic
data interchange (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 business models that represent business
processes, which describe specific transactions, 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 representation 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>_... ........ _ .. ~ ........................ ._ .... ._
Chapter I
Introduction to Systems Analysis and Design
36 I. I 0 Summary
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 and information needs.
Three popular system development approaches are structured analysis, which is a
traditional 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 analysis uses a series of phases, called the systems development lLfe
cycle (SDLC) that usually is shown as a waterfall model. Structured analysis uses an
overall plan, similar to a blueprint for constructing a building, so it is called a predictive
approach. This method uses a set of process models co describe a system graphically
and also addresses data organization and structure, relational database design,
and user inrerfacc issues.
Objecr-orienred analysis 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, ca lled 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 strategy, 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 support, user support, database administration, network administration,
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 criticall y, and commUI\icace effectively. Valuable credentials such as certifications
arc available to systems analysts. A systems analyst's responsibilities depend
on a company's organization, size, and culture. Systems analysts need to consider salary,
location, and 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
Key Terms
37
Key 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 ntraditional ~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 graphical 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 mamrnin 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 overall framework for systems development. The 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 J cornpau) and mflu·
em:e 1r< wa) of doing business.
... ~ JD» (".............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:. .............._ .... ~---11rt~ -,..~---~~
.........,. _ _ .._..........., ..,,.........,..~_.......,_,_,_ ._....~~.. C'ftlpll"&.-..,~fw ..... _ ..........___,_ • .......,......................
Chapter I
Introduction to Systems Analysis and Design
38 Key Terms
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
Key Terms
39
i1aa1ht: An ;idapme method I) pictll) use,, a spiral de,·elopmenr model, which builds on J series of
ncrauoru..
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 rrndinonal documcnr., to dc<ii;n la rg:e·,calc <rtcm' and convey information
hctwccn cngi nee 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 dara,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).
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 meaningful infom1anon. ln data Aow diagram5, a
p mce'~ receives input darn and produces nurput thar has a different content, form, or hoch.
procl~\
produc1 lifccycle management (Pl .M) See application lifocycle management (ALM.).
product oriented Comp,m ie~ that manufacture computers, routecs, or microchips.
projccc management The proccs5 of planning, scheduling, moni roring, conrrolling, and reporting upon
the development of nn informarion sys1cm .
propcrtic' In oh1t.'Ct·oriemcd (0·0) analysis, characteristics rhat 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
40 Key Terms
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 the 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 rradmon,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 materials, 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 software Programs that control the comp uter, including chc opcranng sysrcm. de' ice drive~ that
commumca1e \~uh hardware, and lo"·level utilities.
\)>IClll\ 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,.
');tcm\ anal)\i\ pha\c The >ewnd SDLC phase. The purpose of this ph.i;e I> to build a log"al model of
rhc new sr,rcm.
systems anal) st A person who plans, analyzes, and implemcnrs mformanon systems. They 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 tho•c acnvirics a nd foncrions fit mro a partkular mcthodolofly. The SDI 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
Key Terms
4 1
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
42 Exercises
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 tools rhar enable che sysccms analyst to develop, 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 roles and responsibilities 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 development. 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 analyses 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 this tool's capabilities. 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:
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.
9. Explain how systems requests arc prioritized.
I 0. Conduct a preliminary invesrigarion.
CONTENTS
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
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
Phase I
Systems Planning
2.1 Strategic Planning
45
2 I 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-related proposal, project, and systems
request ro determine if it presents a strong business case, or justification.
T he following sections provide an overview of strategic planning, a description of
SWOT analysis, and a look at the role of the IT d epartment.
2. 1. 1 Strategic Planning Overview
Strategic planning starts with a mission ~ tatemen t that reflects rhe firm's vision, purpose,
and v:ilues. Mission statements usually focus on long-term challenges and goals,
the importance of the firm's stakeholders, :rnd a commitment to the fi rm's role 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-term 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 factor 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 strengths, weaknesses, opportunities, and threats. A SWOT analysis 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
46
2.1 Strategic Planning
STRENGTHS
• Excellent web design staff
• low systems analyst
turnover
• Recently upgraded notwork
OPPORTUNmES
• Well-pos1Uoned for expansion
• Can be first with new
software
• High potenbal tor B2B
growth
An enterprise SWOT analysis usually 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?
WEAKNESSES
• Still using 58\/eral legacy
systems
• Budget Increase was turned
down
• Documentation needs updaUng
THREATS
• Aggressive new web
competition
• Impact ol new FCC rules
• Other firms oller bener
benefits
FIGURE 2 - 1 A SWOT analysis might produce l"e$Ults similar to those
shown here.
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, opportunities,
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
strategic planning. Some managers
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
realistic SWOT assessment, ic might
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 partment
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 analysts should focus on the larger, strategic role of the IT department
even as they carry out their day-to-day technical tasks.
Experienced analysts know that planning is essentia l for IT project success, and it
must srarr as early as possible. Careful 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase I
Systems Planning
2.3 The Business Case
47
During the planning process, management
and IT should be closely linked. In
the past, a typical IT department handled
Strengths
all aspects of systems development and
consulted uc;er~ only when, and if, the
• Our patent covers valuable
technology that we can use in
depamnent wanted user input. Today,
popular products
systems development 1c; much more
team-onenred. New approaches to systems
development, such as agile methods,
Patent
typically involve groups of users, managers,
Opportunities
and IT staff working together right from
• We can use the technology on
the start of the project.
more products, license 11 to
Although ream-oriented development
others, or seek more patents.
is the norm, some companies still sec the
role of the IT department as a gatekeeper,
responsible for screening and evaluating
systems requests. Should the IT department
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.
SWOT Analysis of a Corporate Patent
Weaknesses
• Our patent has a hmrted Me
Whetl 11 expires. the technology
will no longer be prot8C1ed
Threats
• A compehtor might develop
similar technology thal does
not legally lnfnnge our patent.
FIGURE 2-2 This SWOT analysis example focuses on a specific asset: a
company patent.
2 2 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 tvlicrosofc
\'(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
c..
Chapter 2 Analyzing the Business Case
48 2.3 The Business Case
Ahal -- _, -
_,,
-
.....
-
0 Strategy first
- - -
.....,..............,,... ... .......... I"'
.... ....-.;,~ -=---
-
·-~-- ·-- .-- ••• • •
=
- -
,_. ._..,_,............ --
~
_.,. .......... .,_, .. ...,., .. .,.... ....
... -"«.,... ..... ..., ......
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 OJl investment and payback period?
• 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?
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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
2.4 Systems Requests
49
2.4 SYSTEMS REQUESTS
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 currenr 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.
More
Suppo<1
Improved t/
Service _J
Stronger
Controls
Systems
Request
Better
Performance
J
Reduced
Cos1
I
More
lnlormatt~
STRONGER CONTROLS: A system must
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 controls
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
customer number, the order processing
system should reject the entry immediately
and prompt the user to enter a valid
FIGURE 2-4 Six main reasons for systems requests.
FIGURE 2-5 Apple Face ID uses advanced machine leamirig co recognize users.
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 insufficienc,
incomplere, 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 requiremencs.
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 customers
or users within the company. For instance, allowing mutual fund investors ro
check their account 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 automacic 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 important 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 usually
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, - Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
2.5 Factors Affecting Systems Projects
5 1
Government
External Factors
Lr-----
Teclinology
l.._ ____ ~J -...
Suppliers
The Economy l.
------
Competitors J L -----
Custome~
FIGURE 2·6 Internal and CKternal factors that affect IT projecrs.
USER REQUESTS: 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,
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.
INFORMATION TECHNOLOGY DEPARTMENT: 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.
EXISTING SYSTEMS AND DATA: 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 overall 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.
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 financial 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
•
FIGURE 2·7 QR Code.
2.S.2 External Factors
Exrernal facrors include technology, suppliers, cusromers, comperiror<;, the economy,
and government.
TECHNOLOGY: 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 virtually all products. Some industry experts predict that
bar code technology, which is over 40 years old, will be overshadowed
in the furure by electronic product code (EPC) technology that uses
RFID 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. They contain more information than
traditional bar codes, but less than RFID rags. T hey do ha vc the advantage
of being less expensive to use than RFID rags, and they can be
printed on almost anything-including online advertisements.
The Internet-of-Things (JOT) is a newer development that involves
almost all electronic devices con1municating with one another over a computer
network. The communication can use radio signa l ~, 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. Io T devices
also raise new security and privacy concerns that the systems analyst must coru.ider.
SUPPLIERS: With the growth of clcctroaic data interchange (EDI), relationships with
suppliers arc crirically importanr. For example, an automobile company might require
that 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
FIGURE 2·8 IBM 81ockcha1n.
Sourt• »1(
,....~.....nc:rwe,..; ,.._..___,.
......
_
......._.___.
..
.........
----~----- __...._,.,._...,..,. ._.. .....__ ..__ .......
-..............
--·--
._ ......
---
..... _,..._
---- ......
.....--------.
. .............. ".
.-....
-
-........__
(....,..... J:gi ( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
2.5 Factors Affecting Systems Projects
Phase I
Systems Planning
53
CUSTOMERS: 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.
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.
COMPETITORS: 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.
THE ECONOMY: 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.
GOVERNMENT: 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.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter 2 Analyzing the Business Case
54 2.6 Processing Systems Requests
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 should include enough space for all required information and )hould indicate
what supporting documents
are needed. Most companies
use onJine systems request
Submit Roqueet
forms rh:H users submit electronically
because the form can
Tech Support Request Sysleni 1/ •• r1,.:.. ·"~' :: .. ·, ~· ,,, "'·'"''· 1
o-awio .. ~
__ ., olllllO Cl• 7 • )
oa- .... o ...
FIGURE 2- 10 Example of an onhne systems request form.
be processed automatically.
When a systems request
form is received, a systems analyst
or IT manager examines it
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
requires an immediate response.
For example, if the problem
involves a mission-critical system,
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.
2.6.2 Systems RequestTools
\Xfhen the number of requests su bmitted through automated fo rms becomes significant,
or if the requests can originate from internal sources as well as extern a I customers,
special-purpose systems request tools can be used to help manage the work flow. For
example, Figure 2-'l 1 ill ustrates the service request capabilities from l'nregrify that captures,
manages, and routes requests to systems analysts based on definable business
rules. In th is way, requests 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 tban an individual, and one person's bias is less likely ro affect
the decisions.
(....,..... J:gl( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
2.6 Processing Systems Requests SS
A rypical committee consists of
the IT director and several managers
or representarives from other
departmencs. The IT dirccror usuall)'
serve:. as a technical consultant
co ensure that committee members
are aware of crucial issues, problems,
and opportunities.
Although a committee offers
many advantages, some disadvantagei.
exist. For example, action
on requescs must wait unril the
committee meets. Another potential
disadvantage of a committee is
that members might favor projects
req uested by their own departments,
and internal political differences
could delay important decisions.
M any sma ller companies rely
on one person to evaluate sysrem
requests instead of a committee. If
C . ··• •' "' .... c • • • • '·' p ::::. GM11o.rno
Service Request Management
-·----................... ~ ...........
.... &"!ilil• ~ ---·-----~----.... ·--
.. ........
---.....
._ ~ .......
--~..-.........................
...,.._,___..., _
_.. .... ,... .............. _... ......
- ........ ---..... ,..._ ...................... ~o..
.........
.........;ill........._.............,. ___
-- -- -
--
s..1.....-r .. -
FIGURE 2- 11 A service request management system from lntegrify.
only one person has the necessary IT skills and ex perience, that person must consult
closely with users and managers throughout the company to ensure that bu5iness and
operational needs arc considered carefully.
\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 accounting 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 priorities be determined? To answer chose questions, the individual or the
commirtce muse assess rhc feasibiliry of each request.
__ , . . . - . . ~
. CASEJN ;.P.OINfl:,.2.2: ,A TIT AWAY 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
Schedule
• Can we do 11 in
time?
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 already 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
order, 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?
0pe1"8tlonal
• WiH If be easy to
team and vse?
Fualble?
Technlcel
• Do we have the
tech resources?
Economic
=:=a • Will b enefits
e'Kceed costs?
FIGURE l -1 l A feasibility study examines operational, technical, economic,
and schedule factors.
• 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?
• Can the proposal be accomplished
within an acceptable rime frame?
To obtain more information about a
systems request, initial fact-finding might
be accomplished by studying organization
charts, performing interviews, reviewing
current documentation, 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.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
2.7 Assessing Request Feasibility
57
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 feasibility 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 ownenhip ( fCO),
which 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 areas:
• 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
58 2. 7 Assessing Request Feasibility
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
properly with external systems operated by customer~ and suppliers?
• Will the combination of hardware and software supply adequate performance?
Do clear expectations 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 hardware, software, or expertise becomes available. Development
costs might decrease, or the value of benefits might increase enough that a systems
request eventually 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase I
Systems Planning
2.8 Setting Priorities
59
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 result 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
Chapter 2 Analyzing the Business Case
60 2.9 The Preliminary Investigation
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 measure 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~c recion 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:it waiting for com111irtee approval delays critical nondiscrecionary projects unnecessaril
y. Others believe tbat submitting all requests to the systems review keeps the committee
aware of all projects that compete for IT resources. As a result, 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 preliminary investigation to study the systems request
and recommend specific action. After obtaining 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
2.9 The Preliminary Investigation
61
2.9.1 Planning the Preliminary Investigation
Before starting a preliminary inve rigarion, iris importanr co let
people know about chc invcstigarion and explain the role of the
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
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.
Employee attitudes and reactions arc important and must be
considered.
When interacting with users, use the word problem carefully,
because ir has a negative meaning. When users are asked
about problems, some will stress current system limitations
Problem or
Opportunity
Projec1 Scope
and Cons1ra1nts
rather than desirable new features or enhancements. Instead
of focusing on difficulties, question users about additional capability 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 Performing 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.
Benefits
Costs
Report to Management J
FIGURE 2- 13 Model ofa preliminary
Investigation. Note the Importance of fact-finding
In each of the four areas.
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
departments, 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.
•
•
0
0
Undersland the problem or opponun11y
Dehne fhe pro1ect sc;ope and consframts _J
Perform lact-fond1ng
• Analyze organlzauon charts
• Review documentauon
• Observe operaflons
• Conducf a user survey
Study usablhty, cost, benefit. and schedule data
Evaluate feaslbllity
• Operational
• Technical
• Economic
• Schedule
FIGURE 2- 1 ~ Five main steps in a typical preliminary
invesug~uon .
_
.........""_......-................. ..__
("..,_...,llll!O( ...... ..--. .\) ....... ~ "-> - "'Allf'W ~-............... ,.. o-.... ._ ...... _ ... ,..,...,..., ~ ..,._.. .............. ~ ..
__.... ................... ~~·~---- ···---~~ - .,.-"~ ........... --......
Chapter 2 Analyzing the Business Case
62 2. 9 The Preliminary Investigation
A popular rechnique for investigaring causes and effecrs is called a fi 5hbone
diagram, 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 Morale, 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 analyst 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 - 1 S 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 statement, 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. This 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 authorization, 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
2.9 The Preliminary Investigation
63
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 c on~train t 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 the constraint something that must be met as soon as
the system is developed or modified, or is the constraint necessary ar some fucure time?
INTERNAL VERSUS EXTERNAL: Ls the consrrainr due ro a requirement within the
organization, or docs some external force, such as government regulation, impose it?
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 Constraints Shown byTlming, Type, and Urgency
("'E;';'mple A: New IRS
I
I ~must be used 1n
!he payroll system as
as poSSlble
Example B: Sometime neX1
year our largest cus1omer wdl
require a seounty code for all
onhne transactlOlls
Present
Future
I • Mandatory constraint
•
£ • Desirable constraint
Internal
Example C: Managemen1
prefers that the project be
completed now rather
than next quarter
Example 0 : Starting next
week, the marketing system
must track all repeat visits
to the webslle.
Example E: To reduce raw material
costs. we should build supply chain
management capabthty Into lhe next
versoo of our purcnasmg system
FIGURE l - t 6 Examples of v.1nous types of constraints.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter 2 Analyzing the Business Case
64 2. 9 The Preliminary Investigation
• 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 objective 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 information is needed to investigate the systems
request, fact-finding might consume several hours, days, or weeks. For example, a
change in a report format o r data entry screen might require a single telephone call
or email message to a user, whereas a new inventory system would involve a series
of interviews. During fact-finding, the analyst might analyze organization charts,
conduct interviews, review current documentation, 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 charts are available, their accuracy should be verified. Keep in mind
that an organization chart shows formal reporting relationships but nor the informal
alignment of a group, which also is important.
Customer Service Department
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.
primary merhod of obraining
information during the preliminary
investigation is the interview. The
interviewing process involves a
series of steps:
CONDUCT INTERVIEWS: The
1. Determine the people to
interview.
2. Establish objecri vcs for the
interview.
-
3. Develop interview questions.
4. Prepare for the interview.
~ 5. Conduct the interview.
6.
7.
Document the interview.
Evaluate rhe interview.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
2.9 The Preliminary Investigation
65
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 information is accurate and complete.
OBSERVE OPERATIONS: 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.
CONDUCT A USER SURVEY: 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 rerurn 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.
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.
- -- - .....
-
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.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter 2 Analyzing the Business Case
66 2. 9 The Preliminary Investigation
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-. .... _ ...........
~-
-
~
-
II
• p
• .A ' •
·- - - - ·-
•
..
Network Response Time vs. Number of Users
• .. •
I
-
.. .
. .
••
..
• • • •
---
• •
--- • •
- • ••
• p I
n ...... t n...,...1 .,..
. ......_ ... -
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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
2.9 The Preliminary Investigation
Phase I
Systems Planning
67
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 feasibility 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 information must be obtained, 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 with 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 means that a system will be used effectively, this is a vital area
of concern.
ECONOMIC FEASIBILITY: Using che fact-findi ng data, financial analysis tools can
be applied to :i~sess feas ihiliry. The cost-benefit dara 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.
TECHNICAL FEASIBILITY: The fact-finding data should identify the hardware, software,
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 expectations
regarding acceptable timing and completion dares. As mentioned previously,
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter 2 Analyzing the Business Case
68 2. 9 The Preliminary Investigation
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 extra 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
action, which is a summary of che pi:oject request and a specific recommendation.
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 results 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 also should be noted.
• Expected Benefits-this section includes anticipated tangible and intangible
benefits and a timetable that shows when they are to occur.
• Appendix- an appendix is included in the report if supporting information
must be attached. 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 the report's findings should be retained for future reference.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
2. 10 Summary
69
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 discussion 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 department, software and hardware vendors, technology, cu~tomers,
competitors, the economy, and government.
During the preliminary investigation, the analyst evaluates the systems request and
determine~ whether the project is feasible from an operational, technical, economic,
and schedule standpoint. 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>_... ........ _ .. ~ ........................ ._ .... ._
Chapter 2 Analyzing the Business Case
70 Key Terms
Key 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;1 1ied 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
Key Terms
71
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 outcomes that can be measured in dollars. The)' can resulr from ,1 decrc.1se 1n
expenses. an increase in revenues, or botb.
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
72 Exercises
Exercises
Questions
1. Why should a S)'Stems analyst be interested in strategic planmng?
2. Lisr the four factors invoked in a S\'V'OT analysis.
3. Describe how CASE rools can support strategic planning.
4. List five que~tions rhe business case should answer.
5. What arc the six main reasons for sysrems requests?
6. Explain the two main factors affecting systems requescs.
7. Describe the role of rhc sy~rems review committee in processing systems requests.
8. Define operational, economic, technical, and schedule feasibility.
9. List seven questions the sysrcms analyst should consider when assessing project priorities.
10. 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
here where rhc work gets done." How would you reply?
2. Discuss how a company's financial status can affect systems projects.
3. 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?
4. 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. How would you reconcile projects thar
can produce good results in che shorr rerm versus projects rbac can produce excellent resulcs in rhe
long term?
5. The final cask 1n rhe preliminar)' invesngation is to summan1e chc r~ults and recommendations in a
report and/or 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 lly 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.
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.
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 schedule
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
CONTENTS
3.1 Overview of Project Nlanagemcnt
3.2 Creating a Work Breakdown Structure
Case in Point 3.J: Sun r 1~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>_... ........ _ .. ~ ........................ ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
3.1 Overview of Project Management
Phase I
Systems Planning
75
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
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
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,
or a schedule driven by factors beyond the firm's control.
PICK ANY TWO
FIGURE l· I You can't get
everything you want; you have to
make chokes.
Time
FIGURE l·l A typical project triangle includes
coSt. scope. and time.
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 project 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 requirements 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 Gantt 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 array, with time shown on the horizontal axis. The position of the bar
shows the planned starting and 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase I
Systems Planning
3.2 Creating a Work Breakdown Structure
77
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 group 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
only about 80% done and is running behind schedule; Task 3 should have started,
bur no work has been done; Task 4 actually 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 Evaluation Re' iew Techniq ue (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 ritical Path Method (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 bou om-up ccchnique 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 other siruations, several tasks can be performed at the
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 diagran1, is shown in
che lower screen in Figure 3-4.
Chapter 3
Managing Systems Projects
78 3.2 Creating a Work Breakdown Structure
I
w ~--- - ---
.... ... -
- - L.:
.. ... ·-· - - ... - ~- ... ·---- . .
- .
... -
... - - --
-- = --
---
_ ,c......_ ----
• ....c............. i . ....__...___
I ..,,..._.............,..
-·-----~
- - a
~ .,. . (_...._........... = .
,.. ... -. ._. ,.._ ..._ ..._ ·- ...... .
1
• '-+ •
'""' S kNI out lntorvlow t<hedulo
Stut Tuo 9/3/19 10 5
fon11h Tue t/S/19 Dut I d• v
Ars
FIGURE 3-4 The top screen shows a Gantt chart with six tasks.The PERT
chart in the bottom screen dlsplnys an easy-to-follow task pattern for the same
project. When the user mouses over the summary box for Task 5, the derails
become visible.
- ......
Although a Gantt charr offers a
valuable snapshor view of the projecr,
PERT charts are more useful for
scheduling, moniroring, and controlling
the actual work. \'(.lith a PFRT chart,
a project manager can converr task
start and fini sh rimes to acrual dates
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
Gaorr charts are not mutually exclusive
recltniques, and project managers often
use both methods.
FigLtre 3-4 shows both chart types.
T he top screen is a Gantt chart with six
tasks. The PERT chart below it shows
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.
3.2.l Identifying Tasks in a Work Breakdown Structure
A WB musr clearly identify each task and include an estimated duration. A task,
or an acrivity, 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, selecting software, waiting for the delivery
of eq uipment, or training users. Tasks are basic units of work that the project
manager plans, schedules, and monitors-so they should be relatively small and
manageable.
In addition 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% of program testing"
would not be useful information unless it could be determined exactly when that
even c wi II occur.
Figure 3-5 shows casks and events chat might be involved in che creation, distribution,
and tabulation of a questionnaire. Note that the beginning ::tnd end of
e::1ch cask 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-.............. . ,.. o-.... ._......_ ... ,..,...,..., ~ ..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase I
Systems Planning
3.2 Creating a Work Breakdown Structure
79
Start work oo
ques110no8"•
All
Prepare
quesbonnaire
Awart return of
questioma&res
Tabulate
questionnaJre
responses
Prepare repon
00
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.
LISTING THE TASKS: While this step sounds 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,
similar to the one shown in Figure 3-7, with columns for cask
number, description, duration, and predecessor casks, which
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 true that two people couJd complete chc same
task in 10 days or that I 0 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 analyst needs two hours to interview a user, two
analysrs also 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 best-case e~ timatc
(B), a probablc-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:
First, reserve the meeting room Then order
the marketing materials and brief the
managers After the bne~ngs. send out
customer emails and upload program to the
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.
Firs1. rr; ve t mr o.... Then orcJer
t> ,.,. '"'9,.., 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.
-----
• 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.
(B+4P+W)
6
FIGURE l-6 The three versions show how to
transform a wk scatement into a list of specific
casks for a work breakdown strucwre.
Chapter 3
Managing Systems Projects
80 3.2 Creating a Work Breakdown Structure
•
2
3
4
Description
Reserve the meeting room
O rder the marketing materials
Brief the managers
Send out customer emails
Duration
(Days)
Predecessor
Tasks
5 Upload program to the app store ......._____.._____.....
6 Load the new software
7 Do a dress rehearsal
FIGURE 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 formula, the expected task durarion 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 I 00 person-days. does it matter whether two people in SO days,
five people 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,
one 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"
equation? Taking the concept a step further. is there an optimum number 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. 1 luman resources
3. Experience with similar projects
4. Constraints
PROJECT SIZE: As described in Chapter 1, infom1acion systems have various charactcriscics
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>_... ........ _ .. ~ ........................ ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "-> - "'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,..., ~ ..,._................ ~ .........""_......-................. ..__ __....................... ~~·~---- ···---~~ - .,.-"~...........--......
Phase I
Systems Planning
3.2 Creating a Work Breakdown Structure
81
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 preliminary
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. 1 lowever, 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
2
3
" s
6
7
Description
Reserve the meeting room
Order the marketing materials
Brief the managers
Send out customer emails
Upload program to the app store
Load the new software
Do a dress rehearsal
Duration
(Days)
9
2
3
3
2
Predecessor
Tasks
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.
Chapter 3
Managing Systems Projects
82 3.3 Task Patterns
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, Task 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 .. • - ...........
.,_
--
,_ _
·-
~ • · ~.I - • o • ....,_ :=,.::.. :J.....
... ..................... --:::~....
...,_ .... ....
-
.
ct:= "-:- #,_,.,'- I I t
_ ....._____
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, large 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 Model
In a PERT/CPM chart, project tasks are 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 BOX FORMAT
Start Day/Date
Task Name
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.
TASK NAME: The task name should be brief and descriptive, bur it
docs not have to be uJlique in the project. For example, a cask named
Conducr Interviews might occur in several phases of the project.
TASK ID: The task ID can be a number or code that provides unique
id en ti ficati<>n.
TASK DURATION: The duration is the amount of time it will rake to
complete a task, which is not necessarily the same as rhe elapsed rime.
For example, a cask that takes eight botirs of effort to complete would
be done in one day by a person dedicated lOO o/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.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
3.3 Task Patterns
83
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 completion.
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.
DEPENDENT 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,
because Task 2 can nor start unril Task 1 is completed. In this
example, the finish time of Task 1, Day 5, controls
the start dare of Task 2, which is Day 6.
FIGURE l - 11 In a relay race. each runner is
dependent on the preceding runner and cannot start
until me earlier finishes.
Y- F n
E XA~I PLE OF A DEPENDE NT TASK
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.
Prepare Oull"'8
CtNlllOocumenl
.
Start Day 1 ID 1
. Start Day6 ID. 2
Finish. Day S Dur S 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 MULTIPLE SUCCESSOR TASKS
Arrange Interviews
MULTIPLE PREDECESSOR TASKS: Suppose
that a task requires two or 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
_
.........""_......-................. ..__
Develop Plan ,J4
Slart Day 1 ID: 1
Finish: Day 30 Dur 30
S1ar1: Day 31 ID: 2
Finish· Day 60
Dur30
~
Design Survey
Start Day 31 ID 3
Finish Dey 40 Dur 10
FIGURE 3- 1 l 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.
("..,_...,llll!O( ...... ..--. .\) ....... ~ "-> - "'Allf'W ~-............... ,.. o-.... ._ ...... _ ... ,..,...,..., ~ ..,._.. .............. ~ ..
__.... ................... ~~·~----···---~~ - .,.-"~ ........... --......
Chapter 3
Managing Systems Projects
84 3.3 Task Patterns
EXAMPLE OF MJLTIPLE PREDECESSOFl TASi<S
aic.ri Authonullon
Start Day 1 10 1
Fi111Sh; Day 15
°"' 15
Cnlale Job Oeecripl!On
Slllrt Day 1 10 2
Aoish Oay5
0urs
[\
~
Conduct 1i .........
Start Day 16 ID 3
Anlsh: Day 45 Our30
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.
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 contro l ~ 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.
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 I ·I 2
1 2
4
FIGURE 3-1 S Dependent tasks.
FIGURE 3 - 16 Dependent tasks and multlple successor tasks.
1 2
FIGURE 3 - 17 Dependent tasks, muldple successor wks. and multiple
predecessor tasks.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
3.4 The Critical Path
85
DEPENDENT TASKS: Perform Task 1. \Vhen Task 1 is complete, perform Task 2.
DEPENDENT TASKS AND MULTIPLE SUCCESSOR TASKS: 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, 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 risk overmanaglng the work
and spending more time on monitoring than actually performing the tasks.As a member
of the team, which 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- J 8 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
86 3.4 The Critical Path
Plan Training
Obtain Authorization
Hire Analysl
ID: 3
)"
Dur : 5
~
Announce Training
ID· 1 ~ ID: 2 tD· 5
Dur: 10 Dur: 30 Arrange Logistics Dur: 30
\. ID: 4 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
Hire Analyst
)" Start: Day 41 ID: 3 ~
Finish: Day 45
Dur: 5
Announce Training
Start: Day 1 ID. 1
_.
Start. Day 11 ID:2 Start Day 66 ID: 5
Finish: Day 1 O Dur: 10 Finish: Day 40 Our: 30 Arrange Logistics Finish: Day 95 Dur: 30
\. Start: Day 41 ID: 4 V'
CRITICAL PATH:1·2·4·5 Finish: Day 65 Dur: 25
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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase I
Systems Planning
3.6 Reporting
87
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 delays. By monitoring and controlling the work, the project manager
tries to anticipate problems, avoid them or minimize their impact, identify 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
Chapter 3
Managing Systems Projects
88 3.6 Reporting
that can be undersrood easily, adds comments and explanations if needed, and submits
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 supervisor, 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 graphica ll y.
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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
3.7 Project Management Software
89
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, and cost tracking. As shown in Figure 3-2 1,
M icrosoft Project is a full -featured program that holds the dominant 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 d~ C'liv..
FIGURE 3-2 1 Microsoft Proje~
'°"ref': ,.. '
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 tool that is available on multiple platforms (Windows, Mac OS X, and
Linux). It can produce Gantt 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
90
3.7 Project Management Software
A new way to manage your projects
..
,;
Pion Orgon11e Trock In one VISUO~ colloboroltve space
Sprint
0
Spmt2(TMWffli)
I
11> ... p""' ...., ~ ...
""""'°Pon:..
I
"-••Part. IOM brnp
Spr1m 1 (IA11 _,
I
,,,... .......
I ---Ito-.
Allignfl St11u1 Epic E111m1110n 0
"
"'9
HOllWl>lge
ii ' '!M Fdrurt
1 c1o,.
OJllayo
Ollllyt
,....,.
s..1 ... Epoc Ettlf'l'lll~ 0
lkJ9
02doft
Hew I g 01-,.
u.,.
-
FIGURE 3-22 Monday is a project management tool that is tailored toward Mac users.
Sour«< ...,
............ _
• a
,_ Don'•--~ ...
n -Ut
............ ~CNdft!A ~
,,.,,...n.n orH'*9 1 filil "°"1 • Ofll. ,_., o..g. a
• tt• fD
Ill
~r '*•••
- " '
-
-FIGURE 3.23 Trello is a project management tool that is tailored toward agile development.
__ ___
,
•
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
3.7 Project M anagement Software
9 1
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.
FIGURE 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
92 3.7 Project Management Software
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 day-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
I
i
..... ,o.e-,,,.,............... ~-......................... ,
....
·~~.......... u ....
•9\"
...........,.._..... ....,...... ,..,..
...
• .,.-.-_....,...
-·-
~.-......... ...
---- · ...
_ • .,.............................. t_.
................... ·-
... fl'lllWllll....... . ....
--- -····
PERT Chart View
............ ...
-
C11lendarVlew
~· .
...
-
'
..
..
..
--... ......... u
--· _ • •
-·--
-
-•ft• h_..,, ••
--...
........ ·~- ~
... _
..... ~
-........
-
"". .. • • ...
,_
.... ~
...
......... -...... ·
.... fl'Wl1 ., •
.... I...,.
'+ ,._,., WV.•
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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
3.8 Risk Management
93
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 that 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 ·would depend on the specific proj
Cl'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 the potential impact of the risk.
• Analyze the risks. This typically is a rwo-step process: Qualitative 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
Risk Matrix
High impact •
High probability
10..->o~---~-------~~~~~~~
9
8
7
t;
"' 8
~ 5
-"
.!! 4
a:
3
2
1
Medium impact
Medium probabt~ty
Low Impact
High probability
•
0 *-~~~~~~~~~~~~~..;..-~~~~--!
.--~'"-----. 2
Low Impact
Low probabiltty
3 4 5 6
Risk Probability
7 8 9 10
4 4 t • ~· .:. ~ ------ •
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
94 3. 9 Managing for Success
The purpose of quantitative risk analysis is to understand rhe actual impact in
terms of dollars, rime, project scope, or 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, and update any other areas of rhe risk
management pla11.
Forrunarely, there is a wide variety of risk management ~ofrware available to help
a project manager with these casks. Most packages allow a project manager to assign
specific dares as constraints, a lign task dependencies, note external factors rhat might
affect a task, track progress, and displa)' casks that are 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
the crincal factor. When a project manager first recognizes that a project 1s 111 trouble,
what options arc available? Alternatives can include trimming 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 on time and within budget if several
less critical requirements are trimmed. The system can be delivered to satisfy the
mosr necessary requ irements, and additional features can be added later as a part of a
maintenance or enhancement project.
If a project is in trouble because of a lack of resources or organizational support,
management 1night be willing to give rhe project more commitment and higher priority.
For example, management might agree to add more people to a project that is
behind schedule. Adding staff, however, will reduce the project's completion time only
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
help might be obtained from IT consultants or part-time staff. Adding sraff
can mean training and orienting 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 adding 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 emp l oyee~ whose own productiviry was
reduced according!)'.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase I
Systems Planning
3.9 Managing for Success
95
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 optimisric 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>_... ........ _ .. ~ ........................ ._ .... ._
Chapter 3
Managing Systems Projects
96 3.10 Summary
3.9.3 Schedule 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 the project is certain co foil. Even
when factors outside his or her control contribute to the fai lure, the project manager
is responsible for recognizing the early warning signs and 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 that the project can catch up and says that a bad report on a major
project could result 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. Planning 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 thar 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 monitor the progress, eva luate the results, and cake corrective
action when necessary to control the project and stay on carget. Project reporting
includes regular progress reports ro management, users, and the project ream itself.
Effective reporting requi res st rong communication skills and a sense of what others
want and need ro know about the project. A successful project must be completed on
time, be within budget, and deliver a quality product that satisfies users and meets
requiremen cs.
A project triangle shows three legs: project cost, scope, and time. A project manager
musr find rhe besr balance among 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>_... ........ _ .. ~ ........................ ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase I
Systems Planning
3.10 Summary
97
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 scheduling, 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 chart 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 assignment 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 order 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, anticipating, and monitoring
risks 10 minimize their impact on the project.
In ihe end, project management involves the same skills as any other 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.
Chapter 3
Managing Systems Projects
98 Key Terms
Key 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 10 a !are soft·
\I ar~ proiect 01il) mak~ 11 later.
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 critical
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.11 sequence.
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 to monitor pmgre" and manage a
projccr. See also event.
ncmnrk d1agr:im A PF.RT chan al~o is referred to 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
Key Terms
99
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, evaluating. cracking, and controlling 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 beginning 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 information
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
100 Exercises
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
Projects
I. When using a project rriangle to illustrate conflicti-ng priorities, Microsoft suggests rhar if rhe problem
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?
2. lf you are managing a large project, would you prefer Gantt charts or PERT/CPM charts ro represent
project status? Explain why.
3. 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?
4. Some project management applications can be quire expensive. As a manager, how would you justify
the purchase of this sofrware?
5. 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?
1. Think of all the tasks chat you perform when you p urchase a car. Include any research, decisions,
or financial issues that rel are 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 L tasks. 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. Recall 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
Exercises
I 0 I
• I
2
3
..
5
6
7
B
9
10
II
Descr ipt ion
Develop Plan
Assign Tasks 4
D uration
( Days)
Obtain Hardware 17
Programming 70
Install Hardware 10
Program Test 30
Write User Manual 25
Convert Files 20
System Test 25
User Training 20
User Test 25
Predecessor
Tasks
2
3
..
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:
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
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~
CONTENTS
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
f"........., ,.,.r...., t ..... 4•111..-.•...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........,.., ........... ._ ... ..,.,...,.~"
~------.. ... ~ ........................ -..,.n..-.....-ik-sc~ c....,a..-.,.,...,. ..... ID>_... ........ _ .. ~ ....................... ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase 2
Systems Analysis
4.1 System Requirements
105
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 the 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.
Chapter 4
Requirements Engineering
106 4.1 Syscem Requiremencs
• 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 the 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 usually represcnccd
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.rakeholders 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 requirement may be a high-level abstract statement of a service or of a system
constraint, bur it can also be a derailed mathematical specifica tion. T his is because
requirement~ often berve rwo functions: as a basis for a bid for a contract, and 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 the
systems analyse and rhe client can agree on whether or nor a specific requirement has
been met.
In theory, requirements should 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 describe the requirements for a complex system.
A requirement 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 challenging.
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 particularly true for
long-lived projects where the personnel involved change over rime. This phenomenon
is known as "feature creep."
Rapidly changing requirements can cause numerous problems for systems analysts
and other ream members. This is particularly true for project!. that follow a traditional
waterfall model of the SDLC. It is partly for this reason rhar agile methods are
popular: They explicitly address changing requirements as part of rhe project's management
structure.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
I '
I
Phase 2
Systems A nalysis
4.1 System Requirements
107
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 and 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 information affeccs
fucure hardware decisions. In addirion, wich realistic volume projeccions, reliable cosc
estimates for rcl:ued expenses, such as postage and online charges, can be provided.
Similnrly, to ensure thac a web-based hotel reservation system is sufficiently 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 all systems development.
incorporating security as a first-class requiretnent is particularly important in light
of the seemingly endless news reports of 1nassive data breaches. These hacks tele:isc
personal information from online 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 that 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.
Chapter 4
Requirements Engineering
108 4.2 Team-Based Techniques
57°10
v
TOTAL COST OF OWNERSHIP: 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. Even if accurate figures
are unavailable, syscems
analysts should try to identify
TCO for Cloud Computing
indirect costs and include them
in TCO estimates.
Because cost control is
29°10
FIGURE 4-1 Total cost of ownership when migraung co the cloud can be significandy less
than current computing platforms.
so important, vendors ofren
claim that their products or
services will reduce T CO significantly.
For example, one
of the most common reasons
to migrate n legacy system to
the cloud 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
pay-as-rou-go pricing model.
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
structured analysis and consulted users onlr when their inpur or approval was
needed. Although the TT staff still has a central role, and structured analrsis remains
a popular merhod of systems development, mosr IT managers 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
I '
I
Phase 2
Systems Analysis
4.2 Team-Based Techniques
109
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 Application Development
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 µrofessionals who work 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
JAD protect leader
Top management
Managers
Users
Systems analysts and
other IT staff members
Recorder
ROLE
Develops an agenda. acu as a facilitator. and leads the JAD session
Provides enterprise-level authorization and support for the project
Provide department-level support for the project and understanding of
how the project must support business functions and requirements
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
Provide technical assistance and resources for JAD team members on
issues such as security, backup. hardware. software. and network
capability
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.
Chapter 4
Requirements Engineering
I I 0
4.2 Team-Based Techniques
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 shown 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
Top management (sometimes
called the project owner or
sponsor)
Project leader
Open discussion session,
moderated by project leader
JAD team members working
in smaller group sessions,
supported by IT staff
--------
Group leaders
Open discussion session,
moderated by pro1ect leader
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
• Explain the reason for the project and express top management
authorization and support
• Provide overview of the current system and proposed project
scope and constraints
• Present outline of specific topics and issues to be investigated
• 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
• Discuss and document all system requiremenu
• Develop models and prototypes
• Report on results and assigned tasks and toptcs
• Present issues that should be addressed by the overall
JAD team
• Review reporn from small group sessions
• Reach consensus on main issues
• Document all topics
• 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 group is too large
relative co the size of rhe project. M any companies find, however, that JAD a llows
key users to participate effectively in the requirements 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 accurate statement of system requirement , a better
understanding of common goals, and a stronger commirment to the success of the
new system.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
' I
I
I
Phase 2
Systems Analysis
4.2 Team-Based Techniques
I II
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 development (RAD) is a team-lbased technique that speeds up
information systems development and produces a functioning information system.
Like JAD, RAD uses a group approach bur goes much further. \Xlhtle the end product
of J AD is a requ irements model, the end product of RAD is the new information 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 and 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, determine 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: requirements
planning, user design, construction, and cucover, as shown in Figure 4-4. 1
ote
the continuous inreraction between the user design and construction phases.
Requirements planning. The requirements planning phase combines element~ of the
systems planning and l>ystems analysis phases of the 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 processes, outputs, and
inputs. T he RAD group or subgroups typically use a combination of JAD techniques
and CASF, rools co translate user needs into working models. User design is a continuous,
interactive process that allows users to u nderstand, modify, and eventua ll y
approve a working model of the system that meecs cheic needs.
Construction. The construction 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.
Cutover. 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
I 12
4.2 Team-Based Techniques
Requi rements Plannlng
Task s
• Users, managers, and IT
staff agree upon business
needs, project scope, and
systems requirements
• Obtain approval to
continue
Continuous interaclton
between the user design
and construction phases
User Design Tasks
• Interact with users
• Build models and
prototypes
• Conduct intensive
JAD-type sessions
User
Design
Construction Tasks
• Program and
application
development
• Coding
• Unit, Integration,
and system testing
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.AD 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 might 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.,.. ~- )U, - Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
Phase 2
Systems A nalysis
4.2 Team-Based Techniques
113
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
-
- •
,.
- - a-
I
•• 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 scrum.
_
("..,_...,llll!O(........--. .\) ~ "-> - "'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,..., ~ ..,._................ ~ .........""_......-................. ..__ __....................... ~~·~---- ···---~~ - .,.-"~...........--......
Chapter 4
Requirements Engineering
I 14
4.3 Gathering Requirements
FIGURE 4-6 In a rugby scrum. team members prepare to lunge at each other to achieve their objectives .
.... ~~ tlCf h~~ ""'
AGILE METHOD ADVANTAGES AND DISADVANTAGES: 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.
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 analyst will use various teclu1jques, including interviews, document review,
observation, surveys and questionnaires, sampling, and research.
Although software can help gather and analyze requirements, no program actually
gathers them automatically. First, the information needed must be identified. Typically,
this activity begins by asking a series of questions, such as the following:
• \'<i'hat bu'>iness functions are supported by the current system?
• What strategic objectives and business requirements must be supported by the
new sysrem?
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
I '
I
Phase 2
Systems A nalysis
4.3 Gathering Requirements
llS
• \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 also must ask another very important question: why.
Some examples of rhese questions are 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 all.
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 low? 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.
CURRENT SYSTEM
PROPOSED 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.
Chapter 4 Requirements Engineering
I 16
4.4 Gathering Requirements Through Interviews
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 objectives 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 right 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 1 #.f"Sl-- .....ay LU"'
4
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
I '
I
Phase 2
Systems A nalysis
4.4 Gathering Requirements Through Interviews
I 17
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 also 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 and 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 standard 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 advantages in the proposed system?"
Open-ended questions. Open-ended questions 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?
Chapter 4
Requirements Engineering
I 18
4.4 Gathering Requirements Through Interviews
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. C lo~ed -ended questions limit or restrict the response.
Closed-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 reports 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. Range-of-response questions are closed-ended questions
chat ask the person ro evaluate something by providing limited answers ro
specific responses or on a numeric scale. This method makes it easier co tabulate the
answers and interpret che results. Ra nge-of-response questions might include the
fol lowing:
• On a scale of 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 developing
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 or
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 department 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 advance 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 analyst did in the email shown in Figure 4· 10.
(....,..... J:gi ( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "-> - "'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,..., ~ ..,._................ ~ .........""_......-................. ..__ __....................... ~~·~---- ···---~~ - .,.-"~...........--......
I '
I
4.4 Gathering Requirements Through Interviews
•••
d •• I) 0
-
°"""'-·
Phase 2
B
Systems A nalysis
119
From: Soon Tiiiy- t• f~ ....
-I em~ M U..Mw,.....,. ,....a~..,_.. I ....o .......... fWe .-.out uw""" •••a. Miii I wetM ..._• ""9l!t _.. tie¥Wlll
~ ol,,...... ..rr'° ~ tN 1'11.W IYlhl'ft. ,._.. iM. me io.w 6 O'lt ,.....,.. 9CNdlolle • OK:
•ff__....,_
·-i-..-11.. , .-
. _ ..........-:u.. 1·-
1 ... ,.. k1'0W, I MM to,,,.. ..... .,.,, ottw.,..... WI ,...., ••• tl•*'lll..,. r. ~w ~It netCS4f I Nft ta~ ..... tfllt .... leml
.,......., .,,.... ..... tM end ti the~ ... rt ........... copy"' ct. ayllCm ... ~ dow"*" .. toon .. ~ ...... ble u.,.... M¥t ·~
~ . ...... ·-~ Tt\tnld,
FIGURE 4-9 Sample message to a department head about interviews .
•••
d •• I)
0
8
Cc:
llcc
TM-....,..,_"'¥~""'°'.,.., \fl ....,.~• l oa.-., oa.o. 1.L rm~.,. .. ,.... t....o ~ "°"""',....,...,..,
..... ..,. x ,._...., , ..,., .. _.,...,.~...,.~~.-e~w . .,..~u.'" wcu.,...,.tN __
-• Wt'
tJ'W,.. ~ M"'f •s...,•• "*'.....,at .. ~ 1octbotl&1
• 0. .,._...,. ~,..... .......... ~ ~ tit tN: ... .,"""' ,,..,-?
• W"llC ..,,,,., ~ .... 0 ..... .,. ,...,.,.. .,. the,..... ~?
• HIDW....,. .. .,.... ·~~ !ft
• Wt'9 .. ~· .ll'\ tht~411cltMAon~"
~,.,... wipiCll
If""" h9W! "'" ~-..,.....,,..or-..... O\IC dOni '*" thl: GM"IWft s...-em. P'MM No-.. UIOl9 ....._.._•I wn rnicw ""-"".._,.we nllefll
TM"b ,_yew~
.......
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
Chapter 4
Requirements Engineering
120 4.4 Gathering Requirements Through Interviews
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,
tactfully 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 answers. T he analyst's primary responsibility during an interview is
co listen carefully to the answers. Analyses sometimes hear only what they expect co
hear. Concentrate on what is said and notice an)' nonverbal 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 questions have been asked, summarize the main points covered in
the interview and explain the 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 and
makes ir harder ro establish a good rapport.
After conducting the interview, record the information 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 minutes. 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
Phase 2
Systems A nalysis
4.5 Gathering Requirements Using Other Techniques
121
interviewee. Assure the interviewee rhar rhe recording will be erased after its contents
are transcribed into note form and that 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 interviewee 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. The inrerviewce could be more
cooperarive later, or the analyse might find the information required elsewhere. If fai l
ure to obtain specific information will jeopardize rhe success of the project, the supervisor
should 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
122 4.5 Gathering Requirements Using Other Techniques
4.5. 1 Document 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 knowledge 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 and 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 information 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 shown 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.,.. ~- )U, - Woip-M ._..,.. - ·~• -fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-.. • ~-" .....- ""'*"....,.._...,.. ..
I '
I
Phase 2
Systems A nalysis
4.5 Gathering Requirements Using Other Techniques
123
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 obtain 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
124 4.5 Gathering Requirements Using Other Techniques
,._ ..._...._
........................ _ .. _... ...-~...............
.......... ...... ..._,...... to answer rhe questions. Heading~ also arc used to
_....,._._.,,......__....... ---·-
tt•W .... __ .._., .......... -.----·· ...
-
I_ ............,..,...._........__
,,_
·· · -·-
a.0.,. ............--.........
l
...
--· •••
··-
....
,.
---
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 information?
For example, it might be important to know what
percentage of users need a certain software feature, but
..........,....___.....,..l 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 such as " H ow well has your super
---
....,,.. lUOOltT'IOMI
.............................. , ...... visor explained the system to you?" In such cases, anonymous
responses might provide better information.
Wben designing a questionnaire, the most importa.
..........................,...,............,_____,..
_....,,,__.._IN.............
ant 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 anticipated
questions.
- -
FIGURE '4-12 Online version of a sample questionnaire.
Does it follow the suggested guidelines!
• 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 group.
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 layout 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, - Woip-M ._..,.. - ·~• -fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---t fta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-.. • ~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "-> - "'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,..., ~ ..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
I '
I
Phase 2
Systems A nalysis
4.5 Gathering Requirements Using Other Techniques
125
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 questionnaire 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, work 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.
Chapter 4
Requirements Engineering
126 4.5 Gathering Requirements Using Other Techniques
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 an 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.
---
......_...._
~...._ ......... <-. -
-- ~-·
--~
.,,..._. __
........ ~
........ ~
.
r...J ..... ~c:.ar...
_......._..,._
__
\
f\>llllcal Rtallly: Buy Ads ._ on Fatfbook or lllik
_............. Loi.Ins the ElecUoo
...,._ ...
... --··
..........
-·-· ..
_ -..
.......... -- -
,....._.,_,.. ~ _ ....,............. ------·~
... ,_._
....... ·- .......___
_...,... __ _
... .....__........,_ .......................
--
·--
......_...................._._... -...............
...,_~ ..... --........ . -----·
__ .....,._...,._
-
1--
_.,._
1
"'
• -
·--·- ~
---- .. --· ,_...._,.
!-··!
FIGURE 4. 13 The WoH Sr:reetjoumo/'sTechnology website contains valuable infonnadon
for IT professionals.
~re-= .. ~ ~• n.l.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
' I
I
I
Phase 2
Systems Analysis
4.6 Gathering Requirements in Agile Projects
127
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 questionnaire the best approach, or would interviews be better? And whether you
use interviews, a questionnaire, or both techniques. should you select the participants 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 requirements gathering, a variation on interviews
that focuses on features, user ~tories , scenarios, and 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 requiremenrs
or user stories, and a priority. Features 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 I user 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>_... ........ _ .. ~ ........................ ._ .... ._
Chapter 4
Requirements Engineering
128 4. 7 Representing Requirements
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 successful systems
development. As information is garhered, the importance of a single item can be
overlooked or complex system derails can be forgotten. The ability ro manage infor-
1narion 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 should 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 natural 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, and chey are likely to have access co it already.
An improvement upon unstructured natural language is structured natural language.
This representation rags part of 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 natural 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
' I
I
I
Phase 2
Systems Analysis
4.7 Representing Requirements
129
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 required 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.
FIGURE 4-14 TheVolere shell.
~ A tr• \... 1 r
Volere
CASE IN POINT 4.3:
DIGITAL 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!.enr 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 requirements 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 diagrams, then they study the diagrams to determine whether
additional face-finding is needed. To help chem understand system requirements,
analysts use fu nctional decomposition diagrams, business process diagrams, and dara
flow diagrams. Any of these diagrams can be created with CASE cools or stand-alone
drawing tools if desired.
FUNCTIONAL DECOMPOSITION DIAGRAMS:
A fun ctional decomposition
diagram (I-OD) is a mp-down representation 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
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
Chapter 4
Requirements Engineering
130
described in Chapter I, a bu\iness proce~ s
i
~
!
a
E
.. ..
~·
,. model (BPM) represents one or more
Pfoce11 Order
Create Sh1.pp1ng
-t Prepare 81111no H
busi11ess processes, such as handling an
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
!!
Q.
syntax called business process modeling
~
i '
Assign
a s Obtain Crtidil " Validate Credit Customer
notation (BJ>MN). BPMN includes
011• I-+
3 '-
--
Status
H
Number various shapes and symbols to represent
events, processes, :1 nd workflows.
4. 7 Representing Requirements
systems development. During requirements 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.
Human
Resources
Finan: e &
AccOUlbng
Operalons
Budge:ing
Bock
Management
Personnel
AssigfT1'1ef11
Add&
Remove Books
CheckolJ&
RetumBooks
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~
I
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
separate customer areas are c:alled swim lanes.
When creating a business process diagram
using a CASE tool such as Visible
Analyst, the diagram automatically
becomes part of the overall model. In
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.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
Phase 2
Systems A nalysis
4.7 Representing Requirements
131
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 orher, related DFDs. Daca and process
modeling is deM:rihed in derail in Chapter 5 .
.. Add----
Boob
,.
Bool<Tllo ---2..!.. - ~ .
Ir'"':' - -
AWlOl's
A61'S"'
~ Boob Updaled AIA!"Ol'S
Doob
'.
'.
Boolcs
"
• •
4. 7 .3 M odels
FIGURE 4-1 7 This Visible Amlyst DFD shows how books are added and
removed 1n a library system.
'
Models provide a more formal representation of system requirements. They arc often
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\llL provides various graphical cools, such as use case diagrams and sequence
diagrams. During requirements engineering, a systems analyse can utilize the
UJ\llL co represcnc the informacion syscem from a user's viewpoinr. Use case dia
!,'Tams, sequence diagrams, and other U~1L concepcs are discussed in more derail in
Chaprer 6, along with other object-orienced analysis conceprs. A brief description of
each technique follows.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
~~~~~~~~~-
Chapter 4
Requirements Engineering
132
4. 7 Representing Requirements
Customer
Submits
card O..ta
FIGURE 4-18 This Visible Analyst use case diagram
shows a sales system, where the actor Is a customer and
the use case is a credit card validation.
' ¥<' I I f "'" f "1\/ •4 'Y'i I C ~ I •I Jll'I
USE CASE DIAGRAMS: During requirements engineering,
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
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 that integrate the use cases into the
overall systems design.
Figure 4-18 shows a simple use case diagram for
a sales system where the actor is a customer and
the use case involves a credit card validation that is
perforn1ed by the system. Because use cases depict
the system through the eyes of a user, common
business language can be used to describe the
transactions. For example, Figure 4-1 9 shows a table that documents the credit
card validation use case, and Figure 4-20 shows a student records system, with
several use cases and actors.
SEQUENCE DIAGRAM: A sequence diagram shows the timing of interactions
between objects as they occur. A systems analyst might u~e a sequence diagram to
show all possible outcomes or focus on a single scenario. Figure 4-21 shows a ~imple
sequence diaE,'Tam of a successful credit card validation. The 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:
Actor:
Description:
Successful Completion:
Alternative:
Precondition:
Postcondition:
Assumptio ns:
Credit card validation process
Customer
Describes the credit card validation process
I. Customer clicks the input selector and
enters credit card number and e)(piration date
2. System verifies card
3. System sends autho rization message
I. Customer clicks the input selector and
enters credit card number and e)(piration date
2. System rejects card
3. System sends rejection message
Customer has selected at least one item and
has proceeded to checkout area
Credit card information has been validated
Customer can continue with order
None
FIGURE 4-19 This table documents the credit card validaaon use case shown in Figure 4-18.
(....,..... J:gi ( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,....
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ...,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~----···---~~-.,.-"~ ...........--......
I '
I
Phase 2
Systems A nalysis
4.8 Validating and Verifying Requirements
133
Registration
System
Student
Advisor
lnstruttor
Record
Grades
Registrar
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'\-
Customer Credll
Card Cutlomen
Enter Card Number
V•lldate
Card.:Credll Card
Cu1toma11
I
I
I
I Verify Card Number
I
I
I
I
Authortlation
FIGURE 4·21 ThisVlsibleAnalyst sequence diagram shows a
credit card vatldatlon process.
Soutt•:ti. V..ll. wl'1;:> onl -iV ·bicS~~ ·
4.8 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:
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 i remcn 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
(and perhaps other key scakeholders) should be involved in the reviews. The reviews
can be formal (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 software programs are 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 graphics, 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 capability 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
I '
I
Phase 2
Systems A nalysis
4.9 Tools
135
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
-· ., Ll _;__...J
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 organize 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, such 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 graphical
formar often is used in qualiry conrrol analysis because it highlights problems and
their po sible causes, and iris effective when presenting results to management. A
common tool for showing rhe disrribution of questionnaire or sampling 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.
Chapter 4
Requirements Engineering
136 4.9 Tools
.,
•
... - -
....
Ii..
'1l
..
e
..
A B c D E (j
1 Question 2:
2 What percenblge of your time do you spend processing niqulsltlon•?
3
4 C•l!QO'Y Number
s < 20% 11
6 20-3t% 21
1 .o.tit% 36
8 60-7t% 2A
9 80% or mora !I
10
11
12
13
14
1 !>
16
11
18
Question 2 results
40 -
35
30 +-------1> Jl-------1
25 'll---:::::----1
20 +-------a. . ~-'
15 .___-f.; :1--1 ,,1--1 .1-----1
10 -'--'....,._ _,, ..._ ... ..._ ...
5 ..... ; --n-~
·
0 ~-.._.-........... -.....................- ..
<20% 20- 40- 60- 80% or
39% 59% 79% more
,. 194 • •1 SheetJ St (11.-u ID • ~-======::=======================~·
____ . _ __,'
FIGURE 4·ll This histogram displays the results from Question 2 In the questionnaire shown
In Figure '4-12.
Presenrarion graphics software, such as tvlicrosoft PowerPoint, is :i powerful tool
for organ i.ling and developing formal presentations. Presentation graphics programs
enable the creation of org:inizarion charts that can be ui.ed in a preliminary inve~cigation
and later during requirements engineering. These 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 wi ll 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,
-.._ - --
I "
'•
~
fJ c: •. ]l
:l·
0
..
-
•••
- •I•
1
FIGURE 4-24 Th1sV1sio drawinc uses drag-and·drop shapes
to represent a business process.
and shapes. An analyst can use Visio co create
many types of visual models, including business
processes, flowcharts, network diagrams, organization
charts, and many more. For example,
in Figure 4-24, the :inalyst used drag-and-drop
shapes to represen r a business process .
For more forma l models of rcquircmcnrs,
special-purpose tools such as IBM Rational
DOORS are used. These cools faci litate the use
of UML (and SysM L) co model sysrcm requirements
in a way that enables desirable characteristics,
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
of the capabilities of DOORS Next Generation.
le
(....,..... J:gi( ..... I_,.. 4 111.,.. ~- )U, - Woip-M ._..,.. - ·~• -fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-.. • ~-" .....- ""'*"....,.._...,.. ..
' I
I
I
Phase 2
Systems Analysis
4.10 Summary
137
FIGURE 4-25 IBM DOORS Is a to0I for capturing. analyzing, and 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>_... ........ _ .. ~ ........................ ._ .... ._
Chapter 4
Requirements Engineering
138 4.10 Summary
engineering irself is composed of three main parts: ( 1) garhering rcquiremenrs,
(2) represenring requiremencs, and (3) validating and verifying requiremenrs.
During requiremcnrs engineering, che business-relared requircmenrs for rhe new
information sysrcm are 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 estimated to idenrify all coses, including
ind1 recr cos rs.
Popular team-based approaches include JAD, RAD, and agile methods. JAD 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 informarion sysrems dcvelopmenc
and produces a functioning information sysrem. RAD is a complete methodology,
with a four-phase life cycle that parallels the cradirional SDLC phases.
Agile mechods attempc co develop a system incremenrnlly by building a series
of prototypes and constantly adjusting them to user requirements. Tools are often
:ivoided and repbced with simpler ailds, such as whiteboards and sticky notes to faci l
itate communication.
The requirements gathering process includes interviewing, document review, observation,
questionnaires, sampling, and research. Successful interviewing requires good
planning and strong interpersonal and communication skills. The sysrems analyst
musr decide on rhc people to interview; 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 various 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
the 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 and 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 documenr factual information as it
is collected, and various software tools can help an 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 correctly.
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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
' I
I
I
Phase 2
Systems Analysis
Key Terms
139
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.1-
lyst 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, which can develop from prcvi
ou~ work n~~ignmcnr~, physical rruximiry, unofficial procedures, or per~ona l rclation~ h ip>.
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
140 Key Terms
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 A phase ch:u combines elements of the systems plJnrung Jnd systems Jn:1l
)S1s phas~ or rhe SDLC.
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 downsized
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
~unc)
pas~'·
A dcxument conra1n10g a number of standard questioll!i rhat t:J.11 b.: .ent to mJny 111J1v1<lual>.
Also called a que~11onMirc.
... ~ JD» (".............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:. .............._ .... ~---11rt~ -,..~---~~
.........,. _ _ .._..........., ..,,.........,..~_.......,_,_,_ ._....~~.. C'ftlpll"&.-..,~fw ..... _ ..........___,_ • .......,......................
' I
I
I
Phase 2
Systems Analysis
Key Terms
I 4 1
swim lane> In .i bu•ine'; pr<><.e<>\ diagram, che overall diagram is called a pool and the des1gna1ed C:U>
tomer area> are c:alled >w1m !:inn.
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 ·1 be 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 (UMI ) 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 informati<>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
142 Exercises
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 lawthorne 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 difference 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 requirements. 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 narural 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 they 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
143
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>_... ........ _ .. ~ ........................ ._ .... ._
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
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
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
r..,,...JID)r-..1-.. 4• 11_.. • ...__. ~ ....... .,...~ • ........._ . ... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... .., .,. ..,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase 2
Systems Analysis
5.2 Data Flow Diagrams
145
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 allows 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 analyst 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
Chapter S
Data and Process Modeling
146 5.3 Data Flo w Diagram Symbols
Chaprer 6 (Object Modeling), 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 OFDs. In his seminal book The
Visual Display of Quantitative 11(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 through 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. Thac 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 that represent processes, data flows, data stores, and
entities. Several different versions of DFD symbols exist, but they all serve the same
pu rpose. DFD examples in this rexr use the Gane and Sarson symbol set. Another
popular 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
Symbol Name
Yourdon Symbols
APPLY
PAYMENT
Process
APPLY
PAYMENT
BANK DEPOSIT
Data Flow
BANK DEPOSIT
I I
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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
Phase 2
Systems A nalysis
S.3 Data Flow Diagram Symbols
147
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 COMMIS
SION, 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
148 5.3 Data Flow Diagram Symbols
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 COMMIS
SION. 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 rNVOICE process. A process symbol can have more than one
outgoing data flow, as shown 111 tbe 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 ther symbol, including another process
symbol, 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
l
o
w
a:
a:
0
0
SUBMITIED WORK
HOURS WORKED
PAY RATE
GRADE
STUDENT
WORK
CALCULATE
GROSS
PAY
STUDENT GRADE
GROSS PAY
ORDER
VERIFY
ORDER
ACCEPTED
ORDER
ASSEMBLE
ORDER
INVENTORY
CHANGE
FIGURE S-3 Examples of correct combinations or data flow and process symbols.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
I '
I
Phase 2
Systems A nalysis
S.3 Data Flow Diagram Symbols
149
Figure 5-4 shows three data Aow and process combinations that must be avoided:
• Spontaneous generation. 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, and 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
dara that the system stores because one or
more processes need to use the dara ar a
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 deduction
data during the year in order ro print
\Y/-2 forms with total earnings and deductions
ar the end of rhe year. A DFD does nor
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.
The phy ical characteristics of a daca &tore
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
a transaction is processed or a period of
months while data is accumulated for yearend
processing. What is important is that a
process needs access to the data at some later
APPLY
POLICY NUMBER INSURANCE PAYMENT AMOUNT
PREMIUM
HOURS WORKED
DATE OF BIRTH
CALCULATE
GROSS PAY
CALCULATE
GRADE
PAY RATE
FINAL GRADE
IFIGURE 5-'4 Examples of Incorrect combinations of data flow and
process symbols. APPLY INSURANCE PREMIUM has no input and is
called a spontaneous generation process. CALCULATE GROSS PAY has
no outputs and is called a black hole process. CALCULATE GRADE has
:an input that is obviously unable to produce the output. This process is
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 right 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.
....
(.)
UJ
a:
a:
0
0
z
Chapter S
Data and Process Modeling
I SO
5.3 Data Flo w Diagram Symbols
A data store must be connected to a process with a data flow. Figure 5-5 illustrates
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.
POST
PAYMENT
CREATE
INVOICE
ADMIT
PATIENT
1-
u
w
a:
a:
0
DAILY
PAYMENTS
CUSTOMER
PAYMENT
u
DAI LY INVOICE
PAYMENT DETAIL
INVOICE
ACCOUNTS
RECEIVABLE
PAYMENT
DETAIL
ADMISSION
FORM
PATIENTS ·1
SYMPTOM
TREAT MENT
PREPARE
DEPOSIT
POST
PAYMENT
DIAGNOSE
PATIENT
TREAT
PATIENT
FIGURE 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 data stores lack either an outgoing or incoming data flow.
1-
u
w
a:
a:
0
u
z
COURSES
CLASS
LIST
I
POST
PAYMENT
CUSTOMER
PAYMENT
BOOK
FLIGHT
FLIGHT
RE OU EST
STUDENTS
I
DAILY
PAYMENTS
I
PASSENGERS
I
FIGURE 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
Phase 2
Systems A nalysis
S.3 Data Flow Diagram Symbols 151
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 \XflTHHOLDI 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 CALCULATE 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 name 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.
l
o
w
a:
a:
0
CUSTOMER
APPLY
PAYMENT
VERIFY
TIME
CARD
PAYMENT
BANK
PREPARE
DEPOSIT
BANK
DEPOSIT
ORDER
CUSTOMER
VERIFY
ORDER
INVOIC E
TIME
CARO PAYCHECK CREATE
EMPLOYEE
PAYCHEC1<
FIGURE 5-7 Examples of correct uses of e>nemal entitles on a cnu flow diagr.tm.
PAYROLL
DEPARTMENT
CUSTOMER
BANK
I-
0 w
PAYCHEC K
a:
PAYMENT BANK
DEPOSIT
a:
0
0
z
ACCOUNTS DAILY
RECEIVABLE
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.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
I
Chapter S
Data and Process Modeling
152 5.4 Drawing Dae.a Flow Diagrams
S.3.S Using DFD Symbols
\'<'ith an 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
Process
to Process
./
LJ D
Process
to External Entity
./
LJ
Process to Data Store
I I ./
- '·
D D x
External Entity to External Enllty
D
I I
External Entity to Data Store
x
'-I I I I
Data Store to Data Store
x
FIGURE S-9 Examples of correct and incorrect uses of data flows.
5.4 DRAWING DATA fLOW DIAGRAMS
During requirements 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, -Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
I '
I
Phase 2
Systems A nalysis
S.4 Drawing Data Flow Diagrams
153
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 the 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 PRO
DUCE GRADE REPORT.
• Use unique names within each ser of symbols. For instance, the diagram in
Figure 5-10 shows only 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 appears, 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 restrict the 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 analysis
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.
STUDENT
RECORDS
SYSTEM
FINAL
GRADE
SUBMITTED
WORK
STUDENT
o ...
CLASS ...... GRADED
ROSTER ~ WORK
GRADING
SYSTEM
process o
represents lhe .
entire gred1ng sys1em
GRADING
PARAMETERS
'
'
GRADE REPORT
unique reference
number for
each process
INSTRUCTOR
FIGURE 5- 10 Context diagram DFD for a grading system.
Chapter S
Data and Process Modeling
I 54
5.5 Drawing a Context Diagram
• 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 inside 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 aU 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, STU
DE :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:
COtvlPLETED ORDER. Finally, the CUSTOMER entity has two outgoing data flows,
O RDER and PAYMENT, and rwo incoming data flows, ORDER REJECT OTICE
and INVOICE.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
Phase 2
Systems A nalysis
S.6 Drawing a Diagram 0 DFD
155
CUSTOMER
ORDER
- PICKING
ORDER UST
REJECT
NOTICE
WAREHOUSE
INVOICE 0
PAYMENT
ORDER
SYSTEM
COMPLETED
ORDER
CASH
BANK
RECEIP TS
COMMISSION DEPOSIT ENTRY
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 that 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.
EXAMPLE: DIAGRAM 0 DFD FOR A GRADING SYSTEM: 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 REPORT) 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.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter S
Data and Process Modeling
156
5.6 Drawing a Diagram 0 DFD
Conlexl Diagram for Grading System
STUDENT
RECORDS
SYSTEM
FINAL
GRADE
SUBMITTED
WORK
STUDENT
CLASS
ROSTER
0
GRADING
SYSTEM
GRADED
WORK
GRADING
PARAMETERS
•
GRADE
REPORT
INSTRUCTOR
Diagram 0 for Grading Syslem
STUDENT
RECORDS
SYSTEM
2
ASSIGN
FINAL
GRADE
STUDENT
GRADE
3
GRADE
STUDENT
WORK
FINAL
CLASS GRADE GRADING
ROSTER
DETAIL
SUBMITTED
WORK
GRA OED
WOR K
1
ESTABLISH
GRADEBOOK
CLASS
GRADEBOOK
01 GRADEBOOK
I
STUDENT
GRADING
PARAMETERS
4
CLASS
DETAIL
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, -Woip-M ._..,.. -·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
Phase 2
Systems A nalysis
S.6 Drawing a Diagram 0 DFD
157
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 SYS
TEM 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, the 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), and 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
158 5.7 Drawing Lower-Level DFDs
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.
ORDER
1
FILL
ORDER
PICKING
UST
CUSTOMER
ORDER
REJECT
NOTICE
WAREHOUSE
INVOICE
2
CREATE
INVOICE
COMPLETED
ORDER
DI ACCOUNTS
RECEIVABLE
INVOICE
DETAIL 3
PAYMENT
DETAIL
PAYMENT
COMM,SSION
APPLY
PAYMENT
BANK
DEPOSIT
CASH
RECEIPTS
ENTRY
SALES
DEPT
BANK
ACCOUNTING
FIGURE 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
Phase 2
Systems A nalysis
S.7 Drawing Lower-Level DFDs
159
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.
EX AMPLE: LEVELING EXAMPLES: 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 work 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 ORDER process labeled as process 1. Now
consider Figure 5- 14, which provides an exploded view of the RLL O RDER process.
Note rhat FILL ORDER (process l ) actually consists of three processes: VERIFY
O RDER (process 1. 1 ), PREPA RE REJECT NOTICE (process L.2), and ASSEMBLE
ORDER (process 1.3).
CUSTOMER
ORDER
ORDER
REJECT
NOTICE
1.1 I 2
PREPARE
VERIFY
REJECT
ORDER REJECTED NOTICE
PRODUCT
ORDER
DETAIL CREDIT I
STATUS
ACCEPTED
ORDER D2 CUSTOMERS
CREDIT
HISTORY
I
1.3
PICKING
PICKING
DETAIL
LIST
D3 PRODUCTS ASSEMBLE
WAREHOUSE
ORDER
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
160 5.7 Drawing Lower-Level DFDs
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
only when rwo or more processes use that data store. The CUSTOMER and PROD
UCTS 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 and 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
ORDER
REJECT
NOTICE
1 1 1.2
PREPARE
VERIFY
REJECT
ORDER REJECTED NOTICE
ORDER
PRODUCT
DETAIL CREDIT
I
STATUS
ACCEPTED
ORDER
D2 CUSTOMERS
CREDIT
HISTORY
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 EXAMPLES: 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.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
Phase 2
Systems A nalysis
S.7 Drawing Lower-Level DFDs
161
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 ,
ORlJEA
flil
ORDER
P<CKING
UST
CUSTOMER
ORDER
REJECT
NOTICE
I
WAREHOUSE
INVOICE
I D1 I ACCOUNTS
2
CREATE
INVOCE
COMPLETED
ORDER
I
RECEIVABLE
-- -""
ll"YMENT
DETAIL
INVOICEf
DETAIL 3
I
.
PAYMENT
-
I
APF'\.Y
COMMISSION
-
PAYMENT I
•
' - -i ' !!AN!!'
DEPOSIT
CASH
RECEIPTS
ENTRY
SAlES !IANJ( ACCOUl"1"NO
DEPT
Order System Diagram 3 DFD
I
I
I
I
I
I
I
CVS TOMER
1NllOICE
DEll'&. ID' ACCOU'<TS
I
, - - - t I RECEIVAlll.E I
I
31
' PAYMENT
I
I
POST I
PAYMENT I PAYUENT I
I \
OET.tJL
-- - - - - - - ,, - - - - - .. - --...
CUSTOt.IER
DAILY
PAYMENT
1
I
"'I
32 33
PAYMENT
tw1.Y OOMMISS
AAl'MENTS
EARNED
ACCOUNT1NG
PAYMENT
PREPAA£
DEPOSIT
ACCOUNTING
I
..
PAYMENT ENTRY
I
- 1 BANK - -----
~
DEPOSIT
RECEIPTS ENTRY
<.'Xst-1'" ---
H
ION
I
I
I
I
I
I
I
I
PAY
COMMISSION
- - -
i~: ss~ ON
BAM<
ACCOIJNf,NG
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
162 5.7 Drawing Lower-Level DFDs
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 were 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
... uo.c ..,. .... ,," ' T
• I• 1-.
EXTERNAL INPUT DATA OUTPUT DATA EXTERNAL
ENTITY A FLOW1
-----
FLOW 1 ENTITY C
1 .
I
I
I
I OUTPUT DATA
INPUT DATA
I PROCESSO
FLOW2
I FLOW2
I .
• •
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 -' • •
----------------,
3
I
1
I INPUT DATA UT OATA I
-
EXTERNAL • FLOW I FLOW I I EXTERNAL
ENTITY A PROCESS 1 PROCESS3
ENTITYC
I
' I
I
I INTERNAL INTERNAL I
DATA DATA
I
I
FLOW1
.
FLOW2
I
I 1041 DATA STORE 1 los DATA STORE 2 I
I
I
INTERNAL
INTERNAL
I DATA DATA
I
FLOW3 FLOW4
I
I
I 2 I
INPUT DATA
OUTPUT DATA
I
EXTERNAL I FLOW 2 FLOW 2
EXTERNAL
ENTITY 8 I PROCESS2
•
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.
I
(....,..... J:gl( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
' I
I
I
Phase 2
Systems Analysis
S.7 D raw ing Lower-Level DFDs
163
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?
1 2 3
STUDENT ID
TENTATIVE
MEET
CHECK
NUMBER
SCHEDULE
ASSIGN
WITH
OPEN
AO\llSOR AOlllSOR CLASSES
FINAL
CLASS
SCHEDULE
INSTRUCTOR
CLASS
ROSTER
05 CLASS ROSTER
STUDENTS
ATTENDING
SCHEDULE
OF OFFICE
HOURS
D6 SEATING C HART
4
STUDENT ID
FINAL
NUMBER CALCULATE GRADE
STUDENT 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
164 5.8 Data Dictionary
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 elements are combined into records,
also called daLa structures. A record is a meaningful combination of related data elements
that 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, and list price.
Significant relationships exist among the items in a data diction~iry. For example,
darn stores and data flows are based on data structures, which in rurn are composed
of data clements. Data flows are connected to data stores, 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 repository 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.tvlBER. 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 online or 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.tvlBER might be recorded in the Visible Analyst dara dictionary.
Regardless of the terminology or method, the following attributes usually arc
recorded and described in the data dictionary:
• 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
CURRENT BALANCE, various users might refer to it by alternate names such
as OUTSTANDING BALANCE, CUSTOMER BALANCE, RECEIVABLE
BALANCE, or AMOUNT OWED.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
Phase 2
Systems A nalysis
S.8 Data Dictionary
165
• 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.
• Default 11al11c. The default value is the
value for the data clemenr if a value
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.
• Acceptable t•al11es. Spccificarion of
the data element's domain, which is
the set of values permitted for rhe
data element. These values either can
i.w I SOCIAi. sicUltl'TY NUMlllJt I of4
Enbybpc
~ 1-s.a..cy-
A!Us: SSH
:::===:::___
\/oJues & TJ!I< n lengsh: !IN
~ O.twlt.- None
Acc.-- Mf-"'9'1--
Notes; 5oufCC Appl1c1tton rorm
Sttun1y Pl)"Oll dq>tnmonl
long Nome:
R"'f>O"sib~ \Ml". PoyniH d~l
A rtOO!bi't objt<t llbfl an bt uP to 128 ctilrxt11s ID!lo. Jlld tllt Int c:IQ/xtt1 l'l\&St bt
• mtter.
FIGURE S-20 A VlsibleA!Qlyst screen describes the data element named
SOCIAL SECURITY NUMBER.
be specifically listed or referenced
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 authorized co
access dara in a read-only mode.
• Responsible 11ser(s). Identification of the user(s} responsible for entering and
changing values for the data clement.
• Description and comments. This part of the documentation permits che entry
of addirional norcs.
S.8.2 Documenting 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-21 shows
che definition of a data score named lN 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
P hase 2
Systems A nalysis
S.8 Data Dictionary
167
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.
2. These data flows
will be described
spcclflcally elsewhere
in the data
diccionary.
"""'
...,..r,,.-
1 '1--1+- ·• ·
L'""'""""
_____ __,
°'8qlpl!Oft [ ftc.(tf'l tit •¥rt~.....,_ NMd tifl l·-W ....... IN<t h•IWiWltf
rr,,. .,._, .._. ~ .. Cltttlll UAl\l!o MfJO! "1 OflM
"9cMc
~ 0...-4.lf.t.._ UCllD<mll:~ M.CllflOOlllllll
- [
-- ,___, -.. ....
--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
168 5.8 Data Dictionary
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 dictionary.
• De(i11itio 11 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...... ......
laMI
EIU'.Dlt STAM
""'Y lYPI'
Oac.vP'IOftl I C:witomtr (fedC d.tt•
.
Alflf\:
Attrlbults: ....... ,,,, ....glh
...
lftJ ill !JI CUSTOMllt MJMll!l Ch• CUSlOMlll STATUS Ch" ......
.....
FIGURE S·ll A Visible Analyst screen that documents a record. or data
structure. named CREDIT STATUS.
'"' J
y
l
I.
2.
This data structure
is named CREDIT
STATUS.
The CREDIT
STATUS data
structure consists
ofcwo data
elements:
CUSTOMER
NUMBER and
CUSTOMER
STATUS CODE.
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 developed and is updated
constantly as rhc system is implemented, operated, and maintained. In addition co
describing each 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 showing all characteristics of data elements, records, dara
flows, processes, or any ocher selected item stored in the dara dictionary
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,....
I '
I
Phase 2
Systems A nalysis
S.9 Process Description Tools in Modular Design
169
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.
5.9.2 Modular 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.
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 rest 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.
3. Iteration. 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.
VERIFY
PRODUCT
CODE
-
PRICE
VERIFY
FIGURE 5-2<4 Sequence structure.
NO
YES
FIGURE S-25 Selection structure.
YES
NO
FIGURE 5-26 lte~tion structUre.
VERIFY
STOCK
LEVEL
CALCULATE
OVERTIME
PAY
PAYCHECK
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter S
Data and Process Modeling
170 5.9 Process Description Tools in Modular Design
&oorltP< --==-----~
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 strucrured English, be mindful of the following
gu1delt11es:
....
• Use only the three building
blocks of equence, selection, and
iteration.
~ f •••'f"C<•~.,.... NW!lf 9fll1 -dl1 ~Y1.,..,_,~,~ I • Use indentation for readability.
........
"-'c- 111pt.1f Ml..._. 01U1U. C'-'0!1 STAlUl, H<OJC1 OOAl
On«sll_. ~ ...._. fllfwll llUCTlD°'°"MXlPTmOltCtl
-
~--
,_.. M Ch OftOIJt
W CUSltWO!Sl~MCOOl •" """''~004'1. • OtC
o....- AC<CPTlOO«DU
[I,.
OV!pue '1•CttDOfl0.-l
°""' ......
+---1---1 Structured English
statements
FIGURE 5.27 The VERIFY ORDER process description includes logical rules and
a structured English verst0n of the policy. Note the alignment and indentation of
the logic statements.
• Use a Ii mired vocabulary, including
standard terms used in the dara
dictionary and specific words that
de cri be the processing rules.
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.
Structured English might look
familiar to programming srudenrs
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 under
Mandahle to users who must confirm that the process is correct, as well as to other
analysts and programmers wbo must design the information sy~rem from the
descriptions.
S.9.4 Decision Tables
A decision table is a logical structure that shows every combination of conditions and
outcomes. Analysts often use dccisio11 tables to describe a process and ensure that
they have considered all possible situations. Decision rabies can be created using tools
such as M icrosofr PowerPoint, Word , or Excel.
TABLES WITH ONE CONDITION: 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.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, - Woip-M ._..,.. - ·~• -fllllie<'f• ,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&. ...-.~ ~ij
r..a...w...,..._...., ...., ...,...... .,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-.. • ~-" .....- ""'*"....,.._...,....
I '
I
Phase 2
Systems Analysis
S.9 Process Description Tools in Modular Design
I 7 1
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 co ntain~ 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 doubles each time another condition is added.
For example, one condition creates two rules, two ,conditions create four rules, three
conditions create eight rules, 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 ~
process ma I 2 l 4
heading at
~ Credit status is OK
y y N N
the top left.
\!,/---. Product 1s in stock
y N y N
2. Enter the
conditions
under the
heading. with
one condition
per line.
to represent
the customer
status and availability
or products.
3. Enter all potential
combinations ofY/N
for the conditions.
Each column represents
a numbered
possibility called a
rule.
4. Place an X on the
actJon entries area for
each rule to indicate
whether to accept or
reiect the order.
Accept order
Reject order
x
}--W
x x x --@
FIGURE 5-29 Example or a simple decision table showing the processing logic or the VERIFY ORDER
process. To create the table. follow the four steps shown.
VERIFY ORDER Business Process with Three Conditions
__ _.
• An order will be accepted only if the product is in stock and the customer's credit status is OK.
• The credit manager can waive the credit status requirement.
• All other orders will be rejected.
FI GURE 5-30 A third condition has been added to the VERIFY ORDER business process. For an order to be
accepted, the product must be in stock and the customer must have an accepable credit status. However. the
credit manager now has the authority to waive the credit saws requirements.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter S
Data and Process Modeling
172 5.9 Process Description Tools in Modular Design
First, the Y-N patterns must be filled in, as shown in Figure 5-3 1. The best way
to assure that all 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 y y y y N N N N
Product is In stoek y y N N y y N N
Waiver from credit manager y N y N y N y N
Accept order x x x
Re1ect order 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 rule, represents a different set of conditions. The logic muse be
carefully analyzed and che outcome for 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.
MULTIPLE OUTCOMES: In addition co mu ltiple conditions, decision rabies can have
more than 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 more, and 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.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,....
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-.............. . ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
I '
I
Phase 2
Systems A nalysis
S.9 Process Description Tools in Mo d ular Design
173
VERIFY ORDER Process with Credit Waiver (with rules marked for
combination)
I 2 3 .C 5 6 7 8
Credit status 1s OK y y N N
Produet 1s in stock y y N N y y N N
Waiver from credit manager
y N
Jt
Accept order
x
Re1ect order x x 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 Credit Waiver (after rule combination and
simplification)
I 2 3 .C
(COMBI NES
(COMSINES
PREVIOUS 1, l) (PREVIO US S) (PREVIOUS 6) PREVIOUS J, 4, 7,1)
Credit staws Is O K y N N
Produet is in stock y y y N
Waiver from credit manager y N
Accept order x x
Reject o rder x x
FIGURE S-32 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 to a 5% discount and an
additional 5% discount rf they use our charge card.
• Preferred customers who do not order S 1,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 y y y y N N N N
O rdered S 1,000 or more y y N N y y N N
Used our charge card y N y N y N y N
5% d iscount x x
Additional 5% discount
x
$25 bonus coupon x x
$5 bonus coupon x x x x
FIGURE S-34 This decision table 1s based on the sales promotion policy in figure S-33.This 1s the 1n1t1al
version of the table before simplification.
Chapter S
Data and Process Modeling
174 5 .9 Pro c ess Description Tools in Modular Design
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 honus 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 dashes 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
Additional 5% discount
x
$25 bonus coupon x x
$5 bonus coupon x x x x
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 understand,
and programmers fi nd it easy to work from a decision table when developing code.
CASE IN POINT 5.2: llocK SouD 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 $ I 00 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
S.9 Process Description Tools in Modular Design
175
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 right side of che
tree.
Preferred
customer?
y
Ordered
$1 ,000 or
more?
Y
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 POINT 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
176 5.10 Summary
This is your first week in your new job at Safety Zone, a leading producer of IT modeling
software. Your prior experience with a. smaller competitor gave you an edge in landing the
job, and you are excited about joining 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 about one 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 about 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 considered 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
additional detail of the information s,ystem through the 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
Key Terms
177
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 building 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 conditions, 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 general,
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
178 Key Terms
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.
logical 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)ll)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 cxtcrn,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 rable?
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
When you fi11is/J this chapter, yo11 should be
able to:
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. Explain obiect artribures
4. Explain objecc mcrho<ls
5. Explain objccr messages
6. 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
lO. Explain how roob can bupporr object modeling
CONTENTS
6. 1 Objecr·Orienrcd Analysis
Case in Point 6.1: TravelBiz
6.2 Objects
6.3 Attributes
6.4 ~lethods
6.5 ~l essages
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
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
' I
I
I
Phase 2
Systems Analysis
6.2 Objects
181
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 maintain.
Object-oriented (0 -0 ) anal y~ i s 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 step is ro understand basic 0 -0
terms, incl uding objects, attributes, methods, mes.sages, and classe~ . This chapter
shows how systems analysts use those terms 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 customer 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 object as a rectangle with the object name at
tbe cop, fo llowed by rhc object's attributes and methods.
Figure 6- 1 shows a PAR ENT 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 PA RF.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
182
6.2 Objects
PARENT Object
Instances of
the PARENT Object
Cllaracter.stlCS
that describe tile
PARENT object
Task.s tllat the
PARENT objoct
can perform
Name
Age
Sex
Hair color
Attributes
...........
•a "ill
a1111112m ui.-.
Mary Smith
Age25
Female
Red
Ahmec:IAll
Age34
Male
Brown
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.
Characteristics
that describe the
CHILD Object
Tasks that the
CHILD objecl can
perform
CHILD Object
CfSD
Attributes
Name
Age
Sex
Hair color
Number of slbllngs
•...,
-··
tl?h•lfr
.........
,..,
D Ji I
Instances of
the CHILD Object
James Smltll
Age3
Male
Red
Amelia All
Age 1
Female
Brown
MlatyGreene
Age t2
Female
Blonde
FIGURE 6-2 The CHILD object has rive attributes and five methods.James Smith. Amelia Ali. and
Mosty Greene are Instances or the CHILD object.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,....
I '
I
Phase 2
Systems A nalysis
6.5 Messages
183
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
BRAKES when it is sent a message by pressing the
brake pedal. A method defines specific tasks that
:in object can perform. Ju~r ::is objects are similar co
nouns ::ind ::irrribuces are similar to adjecrives, meThods
resemble verbs rhar describe what and how an object
does something.
Consider a server who prepares fries in a fascfood
re!.taurant. A systems analyst might describe the
operation as a method called r.10RE FRIES, as shown
in Figure 6-3. The t.10RE FRIES method includes the
steps required to heat the oil, fill the fry basket with
frozen potato strips, lower it into the hot oil, check for
readines!>, remove che basket when ready and drain the
oil, pour the fries into a warming tray, and add salt.
Method:
MORE FRIES
Steps:
t Heat oll
2. All fry basket with frozen
potato strips
3. Lowe< basket Into hot oil
4. Check for readiness
5. When ready, raise basket
and let drain
6. Pour fries Into warming
lfllY
7. Add salt
FIGURE 6-l The MORE FRIES method requires the
server to perform scvcn specific steps.
6.5 MESSAGES
A message is ~1 command that tells an
object co perform a certain method. For
example, the message Pf CK UP TOYS
directs rhe CHILD class to perform
a ll 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
PARENT
Causes Ille
PARENT oo,ect lo
read a bedlime SlQ(y
Message: GOOD NIGHT
DOG
Causes the DOG
obJOCI to go ro sleep
CHILD
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
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter 6
Object Modeling
184 6.6 Classes
INSTRUCTOR
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 right 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 that have been tested and verified. For example,
in Figure 6-5, an INSTRUCTOR object sends an ENTER GRADE message roan
Message:
ENTER GRADE
STUDENT
RECORD
FIGURE 6-5 In a school Information system. an INSTRUCTOR object sends an
ENTER GRADE message to an instance ol the STUDENT RECORD class.
instance of the STUDENT RECORD
class. Note that the INSTRUCTOR
object and STUDENT RECORD class
could be reused, with minor modifications,
in ocher school information
systems where many of the attributes
and mcrhocls would be similar.
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 all 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 superclass called BOOK, because all novels are books in
this example. T he NOVEL class can have subclasses called HARDCOVER, PAPER
BACK, and DIGITAL.
Similarly, consider a fitness cenrer illusrrared in Figure 6-7 char might have
students, instructors, 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
Phase 2
Systems A nalysis
6.6 Classes
185
Class
Subclass
Common
allnbulH
Common
methOds
Make
Model
Yur
Weight
Color
...
-..
Vlllat E
Attributes
Attributes
lmlYAN
Attributes
Uncommon
ottnbutes
Attributes
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
'""
Uncommon
allttbutes
SCHOOL BUS
Attributes
Emergeoncy e•il location
FIGURE 6-4 The VEHICLE dass includes common attributes and methods.
CAR. TRUCK. MINIVAN. and SCHOOL BUS are instances of the VEHICLE class.
Superclass
Supeictass
name
Common
attnbu1os
r:Com:::::mo=n'---,:A.111
PERIOH
Attributes
Name
--:r Date of birth
........
•11 ..
Class
name
Class
Attributes
Social Security number
Uncommon Telephone number
attributes Hire date Subelass
methods ... name
Title
Uncommon ...
Pay rate
7 0
Giit ....
llJltiodl
Uncommon
attrlbutos
methods 0
•
Uncommon
methods
Subclass
WllRUCIOR
Attributes
lnatructor type
Avatlabillty
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
186 6.7 Relationships Among Objects and Classes
6. 7 RELATIONSHIPS AMONG OBJECTS AND CLASSES
Relationships enable objects to communicate and interact as they perform business
functions and transactions 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 relationship 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 the example in Figure 6,9,
the INSTRUCTOR object (child) inherits many traits 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 STRUCTOR. 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
Parent
Attributes
So<:lal Security number
Telephone number
Hire date
Title
Pay rate
....•••llOlllt
1lt LS
CIAO 7 'ct 111'
Child Inherits
•llWCIOR
Attributes
Type ol lnslNCtor
So<:lal Security number
~:.,.._--h Telephone number
Hlredate_J
Tiiie
Pay rate
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 shows 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.,.. ~- )U, - Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
I '
I
Phase 2
Systems A nalysis
6.8 The Unified Modeling language (UML)
187
EMPLOYEE
Isa
MANAGER
OFRCESTAFF
INSTRUCTOR
Indicates
avallabillty
RTNESS-CLASS
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 Case 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
use case being used. Figure 6- 12 shows an example where a
student adds a fitness class and PRODUCE FITNESS-CLASS
ROSTER uses the results of ADD FITNESS-CLASS to
generate a new fitnes.'>·clas.'> roster. Similarly, if an instructor
changes hts or her availability, UPDATE TNSTRUCTOR
h FORMATIO 11ses the CHA GE AVAILABILITY
PATIENT
(Actor)
MAKE APPOINTMENT
(Use Case)
FIG URE 6- 11 In a medical office s11tem. a
PATIENT (actor) can MAKE APPOINTMENT (use
case). The UHL symbol for a use case is an oval.The
actor is shown as a stick figure.
Chapter 6
Object Modeling
188
6.8 The Unified Modeling Language (UML)
Student
Instructor
Add Rtness-Class
Change Avallablllty
<<U5eS>>
<<USeS>>
Produce Frtnes~lass
Roster
Update lnslructor
ln1ormatlon
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
her availability, UPDATE INSTRUCTOR INFORMATION uses the CHANGE AVAILABILITY use
case co update the Instructor's Information.
use case to update the
instructor's in formation.
To creare use cases, start
b)' reviewing rhe information
that gathered during
the requirements modeling
phase. The obrective is to
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
of the use case, the actor, a
description of the use case,
a step-by-step list of the
ra~ks and actions requi red
for successful completion,
a description of alternative
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
Add New Student
Name:
Actor:
Description:
Successful
completion:
Alternative:
Precondition:
Postcondition:
Assumptions:
Add New Student
Student/Manager
Describes the process used to add a student to a fitness-class
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
1. Manager checks FITNESS-CLASS SCHEDULE object for availability
2. Fitness-class Is full
3. Manager notifies student
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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
' I
I
I
Phase 2
Systems Analysis
6.8 The Unified Modeling Language (UML)
189
\'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>_... ........ _ .. ~ ........................ ._ .... ._
Chapter 6
Object Modeling
190 6.8 The Unified Modeling Language (UML)
Use Case Diagram: Auto Service Department
Requests
service
Writes
Customer
Update
Service
Writer
Update
Work
Schedule
Mechanic
Performs
work
Prepare
Invoice
FIGURE 6-1 S A use case diagram to 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 cardinality, 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 might have no spouse or 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.,.. ~- )U, - Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
' I
I
I
Phase 2
Systems Analysis
6.8 The Unified Modeling Langu age (UML)
I 9 1
UML Nature of the Example Description
Notation Rellltlonshlp
o .•
Zero or many
0 .• 1 Zero or one
Employee
Payroll Deduction
1 0 . •
Employee
H
Spouse
0 .. 1
1 One end only one I Office Manager
H
Sales Office
t: One or many
1 1
An employee can have no payroll
deductions or many deductiOns
An employee can have no spouse or
one spouse
An olfoce manager manages one and
only one olfice.
Order
H Item Ordered One order can include one or many
items ordered
t..•
FIGURE 6· 16 Examples of UML notations that Indicate the narnre of che relationship between instances of one class
and instances of another class.
S11h!s Manager
Attributes
1
Manages
Methods
Manages
Methods
1 1
Assigned
o ..•
Attributes
Methods
Methods
Attributes
Includes
1 . .-
Items Ordered
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 T ralner 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
192 6.8 The Unified Modeling Language (UML)
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
I
I
Focus Focus I
I
Message 2
I
I
I
I ~ Lifeline
*
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.
FOCUSES:
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.
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 ~ i t ion diagram 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
I '
I
Phase 2
Systems A nalysis
6.8 The Unified Modeling language (UML)
193
Request
I
I
fitness-class Check I
I I I
I Notify
Focus I I I
I Pay I I
I Register I
I
I
I
*
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
Act
Existing
Customer closes account
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 are 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.
Chapter 6
Object Modeling
194
6.8 The Unified Modeling Language (UML)
Customer
Inserts
ATM card
Card is
accepted
Custom41r
enters PIN
PIN ts
accepted
Customer
requests
~sh
Sufficlenl funds available
ATM
ltd Justs
balance
ATM
provides
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·-·
l'M•WflftN
•
Ollcv.on 0••.
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.,.. ~- )U, - Woip-M ._..,.. - ·~• -fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---t fta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-.. • ~-".....-""'*"....,.._...,.. ..
' I
I
I
Phase 2
Systems Analysis
6.10 Summary
195
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: They 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 that 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 family, are typically used. These rool
underlttand the 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 important feature in the SDLC that links design artifacts backward ro
requirements and fo rward to development and 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
This 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 analysis, which treats data and processes
separately, objects include data and processes that can affect 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>_... ........ _ .. ~ ........................ ._ .... ._
Chapter 6
Object Modeling
196 6.10 Summary
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 ubcla s~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 state transition
diagram 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
' I
I
I
Phase 2
Systems Analysis
Key Terms
197
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· rc l 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 analybb.
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 1 he
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
198 Key Terms
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;, independent 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
199
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 relationship 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 and 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>_... ........ _ .. ~ ........................ ._ .... ._
Chapter 7
Development Strategies
Development
Strategies
Chapt er 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.sentation 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:
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:.horing
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
process
9. Describe a requesr for proposal (RFP) and a
request for quotation (RFQ)
I 0. Summarize the rasks involved in completing the
srstems analysis phase of rhe SDLC
CONTENTS
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
r..,,...JID)r-..1-.. 4• 11_.. • ...__. ~ ....... .,...~ • ........._ . ... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... .., .,. ..,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "-> - "'Allf'W ~-.............. . ,.. o-.... ._......_ ... ,..,...,..., ~ ..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase 2
Systems Analysis
7.1 Traditional Versus Web-Based Systems Development
201
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 Microsoft'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
consultants.
• 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.
Chapter 7
Development Strategies
202 7.2 Evolving Trends
7.1 .2 W eb-Based Development: In a web-based systems development
environme 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 software usually requires additional layers, called middleware, to
communicate 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.
NIST Cloud Computing Program - NCCP
DESCRIPTION
a.....,...i. .........................
---.-
,
""""""....,..n..,... .....,..,..... ,••
.
~,.......,. ...
.., ~
---
~ ..... !'@I.....
.... ~,...~
fltolt• Wwt.f~
llltl'Klloa. TNldeuf
___ ... _
NIST Cloud
Computing
Program
... ~.,"" ....... ~ ....... Will l#IW• ......"""*' l(Q1l.
18M(f ..........."'*"" ....... ~,_ ....... Cf ..... ~~ ...
~ CS...S~ C..."*'" •••"""9(P'HSi,a-.... ~ ••...... tM-S ... ...
................... ~ hlkm.tlJl!rtiN ~ ....,.,..-....111•...............,ta...................,................_... ca
._,...,.nm..,................_.~
llirClilwf~ ~"'~-................................ ...
....._••__............._......,.,._......,.... w,,....,..,.
...............-.c...--................................ Ml'W"
............................................_,a...
......... ~.._. .......... WI*" •• kll ....,.,.............
..,.._. ....... .......
FIGURE 7- 1 NIST definition of cloud computing.
5-«< "'
Many IT professionals use the term \''cb 2.0 ro describe
a second generation of the web rhat enables people ro
collaborate, interact, and share information much more
effectively. This new environment is based on conrinuously
available user applications rather than Static HTJ\-1 L wcbpages,
wirhour limitations regarding rhe number of users or
how they access, modify, and exchange data. The Web 2.0
environmenr enhances interactive experiences, including
wikis and biogs, and social networking applications such as
Facebook, Linkedln, and Twiner .
As shown in Figure 7- 1, the National Institute of Standards
and Technology (NIST) defines cloud computing as
"a model for enabling ubiquitous, convenient, on-demand
network access ro a shared pool of configurable computing
resources (e.g., networks, servers, storage, applications, and
services) chat can be rapidly provisioned and relea ed with
minimal management effort or service provider interacrion."
Cloud computing is often represented by a cloud symbol
that indicates a network or the Internet. Cloud computing
can be viewed as an onlioe SaaS and data environment supported
by powerful computers that makes Web 2.0 possible.
(....,..... J:gl( .....,_,.. 41 11.,.. ~-""'_..,.Olp" • ._..,.. -·~·-"*<'f•,... 0w.,,,.._._,..." .......,_,.,..,....,. -~,__.., ,,.......... ~~ij
r..a...w...,..._...., ....,...,.......,..~................. t11ru ..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
7.3 In-House Software Development Options
Phase 2
Systems A nalysis
203
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 adding
custom features and 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
204 7.3 In-House Software Development Options
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 organi-
7ations may need verrical applications to handle their unique business requirements
bur often use horizontal applications for basic business needs, such as payroll proce s
ing 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
Saosfy unique business requirements
Minimize changes in business procedures
and policies
Meet constraints of existing systems
Meet constraints of existing technology
Develop Internal resources and capabilities
Satisfy unique security requirements
REASONS FOR PURCHASING A
SOFTWARE PACKAGE
Lower costs
Requires less time to implement
Proven reliability and performance
benchmarks
Requires less technical development staff
Future upgrades provided by the vendor
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 variery 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
Phase 2
Systems A nalysis
7.3 In-House Software Development Options
205
requirements, minimize changes in business procedures and policies, meet constraints
of existing systems and existing technology, and develop internal resources and
ca pa biliries.
SATISFY UNIQUE BUSINESS REQUIREMENTS: Companies often decide to develop
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 on 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 delivery
trucks. If existing software packages cannot handle those requirements, then in-house
developed sofcware might be the only choice.
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 almost 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 require 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
development 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.re Package
If a companr decides not to outsource, 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
206 7.3 In-House Software Development Options
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 and integrated into the systems environment,
which can rake a significant amount of time. Also, even though implementation
is quicker, TCO can be higher due to added training expenses and software
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
certainly 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 version 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.
Trying 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
Phase 2
Systems A nalysis
7.3 In-House Software Development Options
207
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, and
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-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter 7
Development Strategies
208 7.4 Outsourcing
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 require spreadsheets, dacabase management programs, and other
software packages to meet their 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
Traditionally, firms out~ourced IT tasks as a way of controlling coses and dealing \vith
r:ipid technological 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. The outsourcing trend abo has ::1ffecred
software vendors, who have adjusted their marketing accordingly.
A fi rm drnr offers outsourcing solutions is called a service provider. Some service
providers concentra te on specific software applications; others offer business services
such as order processing and customer billing. Still others offer enrerprise-w idc software
solutions that integrate and manage functions such as accounting, manufacturing,
and inventory control.
Two popular outsourcing options involve application service providers and firms
tha t offer Internet business services. These terms are explained in the fo llowing
sections.
APPLICATION SERVICE PROVIDERS: An application sen ice provider (ASP) is a
firm that delivers a software application, 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
Phase 2
Systems A nalysis
7.4 Outsourcing
209
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 ~e r\ 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
210 7.S Offshoring
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 the history and financial condition of an
outsourcing firm before making a commionent.
Mergers and acquisitions also caa affect ou tsourcing clients. Even with large,
financially healthy fi rms, a merger or acquisition can have some impact on clients and
customers. If stability is important, an outsourcing client should consider these issues.
Outsourcing can be especially attractive 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 consulring 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 staff 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 outsourcing 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 than it is to ship bulky
raw materia ls, bui ld factories, and deal with tariffs and transportation issues. Several
years ago, rhe IT consulting firm Gartner, Inc., accurately forccasted the steady
growth of offshore outsourcing and predicted that outsourcing would evolve from
labor-intensive maintenance 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, workers, customers, and shareholders in some companies
have protested this trend and have raised public awarenes5 of possible economic
impact. Even more important, offshore outsourcing involves unique concerns regarding
project control, security issues, djsparate cultures, and effecrive communicarion
with critical functions rhar might be located halfway around the globe.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
' I
I
I
Phase 2
Systems Analysis
7.7 Selecting a Development Strategy
211
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 them the righr to use the
software under the terms o f the license agreement. Although this model still accounts
for a large percentage of software acquisition, a new model, called Software as a
Service (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
:!. -Offo<•
Wood hul
-
Documents
Reunt
FIGURE 7-6 Microsoft Office 365 provides web-based access to the complete Office suite.
SOU'rc~ l"'l tn tC' itp01·14•,,
7. 7 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
212 7. 7 Selecting a Development Strategy
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 and a formal presentation, which is described later
in this chapter.
Even a single system can use a mjx of sofrware alternatives. 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 and 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 critical faccors
arc not overlooked and that a sound choice is made. The evaluation 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 alternatives rhar arc feasible,
and present the viable alternatives to management for a final decision. The process
begins with 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 analysis determines how long it takes an information
system co pay for itself through reduced costs and increased benefits. Rclurn on
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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
P hase 2
Systems A nalysis
7.7 Selecting a Development Strategy
213
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 alternative. Be sure to indicate when
co~ t s 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 financial analysis rools to each alremarive.
• Srudy the resu lt ~ and prepare a report ro management.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter 7
Development Strategies
2 14 7.8 The Software Acquisition Process
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 acquisition.
Step I: Evaluate the Information System Requirements
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 l evel~ , 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 shows chat the website will genera re more new
customers, process almost 80o/o more orders, and substantia lly 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 Analysis
7.8 The Software Acquisition Process
215
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)
Customers 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
Order Processing 2 4 3
Support Staff
Producu 600 650 900
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 informacion
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 shows 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
216 7.8 The Software Acquisition Process
Unweighted Evaluation Model for a Network Project
Instructions: Rate each vendor on a scale from I (low) to I 0 (high). then add vendor scores
to calculate total points.
VENDO R C
Price 6 s 9
Completion Date 2 s 8
Layout/Design 8 8 5
References 10 6 3
TOTAL POINTS 26 24 25
Weighted Evaluation Model for a Network Project
Instructions: 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.
Price
Compledon Date
Layout/Deslp
References
TOTAL POINTS
WEIGHT
FACTOR
25
25
35
IS
100
VENDOR A
6 * 25=150
2 * 25 = so
8 * 35 = 280
10 * IS= ISO
630
VENDOR B
5 * 25 = 125
5 " 25 = 125
8 . 35 = 280
6 * 1S = 90
620
VENDOR C
9 . 25 = 225
8 . 25 = 200
s .. 35 = 175
3 * IS = 4S
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.
645
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 arc 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.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, - Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,....
I '
I
Phase 2
Systems Analysis
7.8 The Software Acquisition Process
217
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
forums 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-nity. w.·,. here to help!
--
= 0 ,~ DJ 0 CJ.
- - - - -
~ e co e
-
L>
--- -- --- -- ..
-·-
FIGURE 7-10 Microsoft Community is a valuable resource for IT professionals.
Sovt<tet ~ .. ,. ""
Step 3: Evaluate the Alternatives
After identifying the alternatives, the analyst must select the one that best firs the
company's needs. Information about the options should be obtained from as many
sources as possible, including vendor presentations and literature, product documcntarion,
trade publications, and 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 consultants and ~ofrware
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
218 7.8 The Software Acquisition Process
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 mostly 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 transaction
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
- - ·-
-- ·-·-· ·--
·--··- ----·~
-
- e
(1 AHO::i ,1(1,1f1,
Gctxwl
'" CISCO
.If-
FUJITSU ~
-
IBlt 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«:..
• '"'~~ '1""'Nl' Cb.t'llt.(:C
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I '
I
Phase 2
Systems A nalysis
7.9 Completion of Systems Analysis Tasks
219
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 allow 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
The 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 following section.
7. 9 COMPLETION OF SYSTEMS ANALYSIS TASKS
To complete the systems analysis phase, the anal)'St muse finalize the system requirements
document, present their findings co management, and 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 created at char
nme. Various examples of system requiremenrs are listed in Chapter 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 Manageme 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 alternative, 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:
• lmplemenr 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
I '
I
Phase 2
Systems A nalysis
7.9 Completion of Systems Analysis Tasks
221
• 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) 1 Stems 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 all further work. The decision mighr be based on the analyst's recommendation,
a shift in priorities or costs, or for o ther reasons. Whatever rhe reason,
if that is managemcm's decision, then there are no additional tasks for the project
other than ro file all 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 development 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, all these tasksand
more-are inregrated and managed together.
Regardle~s o f the developmenr method, systems design requires accurate documentation.
Traditionally, a sy!>tem requirements document provided detai led specifications
for output, input, dara, processes, and whatever else was needed. Although agile
merhocli. do not require :.t particular form of documentation, a s uccei.~ful development
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 construction 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,
Chapter 7
Development Strategies
222 7.10 Summary
the analyst might 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 changed.
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 want that job, we' ll have to come up with a
better answer." Thinking about it, the analyst isn't comfortable with anything but a straight
answer. Is this 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 I BSs. ASPs charge
subscriprion fees for providing application sofrware packages. IBSs offer powerful
web-based servers, software hosting,, and 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>_... ........ _ .. ~ ........................ ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
I '
I
Phase 2
Systems Analysis
7.10 Summary
223
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.
Chapter 7
Development Strategies
224 Key Terms
Key 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.irdwarc 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 fun~-rions and feature-., and rhc relanon,hip<
among ir, componenn..
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 bmld 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 tbar Jre nor permanenrly terhered ro a
desk. They connect to 1he ncrwork wirelessly.
nc1 present l'alue (Nl'V} The rocal va lue of rhe beneffrs minus the total v.1lue of the coqs, with both the
cost~ and benefits being adjusted to reAecr the poinr in tome .it which they 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 ou t~ide
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 to pa) for uself through
reduced costs and increased henefirs.
... ~JD»(" .............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:..............._ .... ~---11rt~ -,..~---~~
.........,.__.._..........., ..,,.........,..~_.......,_,_,_._....~~.. C'ftlpll"&.-..,~fw ....._ ..........___,_ • .......,......................
' I
I
I
Phase 2
Systems Analysis
Key Terms
225
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 centralized 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 ,oftwarc application that ;, duwnlondcd
and in,tallcd 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 to mrernet more
effectively with an applicanon. See <1/so graphical user interface (GUI).
' 'alU•'-addcd rc-.dlcr (VAR ) A firm tha t enhances a commercial package by adding custom feature~ and
conf1gunng 11 for a parucular mdusrry.
vertical application A ,oftwan: package that has been developed ro handle informnrion requirement\ for
a •pcc1fic rype of bu,i n e,~ .
\\'ch 2.0 A ' ccond 11cncr:irion of 1hc web ihnt enables people to collaborate, interact, Jnd ,h,irc on formation
much more dynamically, ba~ed on concinuously available user applications rather than Sto rie
HTM L. web page~. lnrcracrivc experience is n hallmark ofWeh 2.0.
... ~ JD» (".............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:. .............._ .... ~---11rt~ -,..~---~~
.........,. _ _ .._..........., ..,,.........,..~_.......,_,_,_ ._....~~.. C'ftlpll"&.-..,~fw ..... _ ..........___,_ • .......,......................
Chapter 7
Development Strategies
226 Exercises
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
Projects
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?
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 contextualize 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:
1. Explain user interfaces
2. Explain che concept of hum:m-computer imeracrion,
including user-friendly interface design
3. Summarize the 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
9. Describe output and input security and conrrol
issues
10. Explain emerging user interface trends, including
modular design, responsive web design, and
CONTENTS
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 Control Issues
8. 9 Emerging Trends
A Question of Ethics
8.10 Summary
Key Terms
Exercises
prototyp e~
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase l
Systems Design
8.1 User Interfaces
229
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 longer 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 exceptional user
incerfoce is essential 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.
Chapter 8
User Interface Design
230 8.2 Human-Computer Interaction
- - - -
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 element 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 (HCij describes tbe relationship between computers
and the people who use rhcm ro perform rheir jobs, like the worker shown
in Figure 8-2. HCT concepts apply to everything from smarrphones to global
networks. In its broadest sense, HCI includes all the communications and
instructions necessary ro enter inpul to the system and to obtain output in the form
of screen displays or printed reports.
Early 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
8.2 Human-Computer Interaction
231
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 -
:--..·- -
... = ............ ,....OWl.tll~aMtir---....-....
......... .,.., .. ~ .. ,,. ............ o.. ...... ...
.,., ..... ,.,......,a"'49 ... ~till-....... ....
Olllr~ to ftilt prodllC'bMI ..,_....,..,..............,..._
111•~·~-.....
______
l•chillilo:OC*:oew ..... HuMM~
ill'Wtlt' ...............,.,,.,.. ~...._,. ..,..............
............ l'ld ...........""........... . ltd .................'"....
.._ ..... Ny
..._,
...,...,.....,..,...........,....,..
-=--I.:..:.- ..-
: ·•di.·•• . ~J.~ --~
.. coWiiJrwe - j SOCl'"'I
c otlon . ·'' &- .c "
: [::( ~-1 1=--- · :-~ ~ ,t
- - ' • ' -·,-..Iii 1 • .. Cl)
' !
' I !/j
. o.,.. ......................... ~ .. -~
AtH011wad•••• ... ....,..,~ .. .....,..._.. .. .,....,,.. . ........ td....._ •.,..,.,..
....,...,.,,_....,... ..... ,.,.,.,._..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
User Interface Design
232 8.3 Seven Habits of Successful Interface Designers
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 Perspectives
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, and noc everyone is happy about it-particularly
phy)icians who often struggle with electronic health records ( !:'. HR\ ) systems that
are poorly designed. In her article, 1'1s. Gardner 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 \\',\RE
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 underlying business funcrions and how
the sysrem supports individual, departmental, and enrerprise goals. The overall objective
is ro design an inrerface thar helps users to perform their jobs. A good srarting
point mighr be ro analyze a functional decomposition diagram (FDD). As descri bed in
Chapter 4, an FDD is a graphical 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. The immense popularity of Apple's
iOS and ~1 ic rosoft 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
8.3 Seven Habits of Successful Interface Designers
233
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 and 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
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.
8.3.6 Invite Feedback
-
Register
SludenlS
Enter Grades
STUDENT SERVICES
I
I
Pnnt Grade
Repof1S
Help
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.
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, 1 lclp 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 Everything
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 similar co a menu rree. U er-approved skerches and sroryboards
also can be used to document the user interface.
B)• applying 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 powerful 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 successfu 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 Create an Interface That Is Easy t o Learn and Use
I Dau -••IOildl Pluse s1an --..
I Dat a ts nol sultablP.
a-It ti... 1ru.1rucuoru for this
taslt and ti..."'""''°"' tast l
I Not enough a l• to prOCHd.
I T'"' data Is lncorrec:I.
Ple•stt use l he proper format:
Three lette.,. f ollowed by three
numMrs. with 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.
1. Focus on system design objectives, rather than calling arrention
ro the interface.
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."
3. Provide commands, actions, and ~y rem re~ponses that are
consistent and predictable.
4. Allow users ro correct errors easily.
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.
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.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
8.4 Guidelines for User Interface Design
235
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, and 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 duplicate 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 feature 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 alternatives, 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~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
238
User Interface Design
8.4 Guidelines for User Interface Design
3.
4.
5.
6.
7.
Use hyperlinks that allow users to navigate to related topics.
Group related objects and information. Visualize the screen the way a user will
see it, and simulate the tasks that the user will perform.
Screen density is important. Keep screen displays uncluttered, with enough
white space co create an artracrive, readable design.
Display titles, messages, and instructions in a consistent manner and in the
same general locations on all screens.
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 should 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 automatically
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.
___ ...._............ __
...
.... __ ...,..,.
- -
_,.,,.,.. ............. ....
..
FIGURE 8-8 An e~mple of a switchboard introducing
Turbo Tax. 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 • • ,
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 .
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 Turbo Tax introducing a tax preparation program.
The main options are clearly displayed on an uncluttered
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
8.4 Guidelines for User Interface Design
239
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.
-
0
•
- ..
r
STUDENT REGISTRATION SYSTEM
-..1cv ...
2019-2020
Cont.ct IT Help at Ext. 2236
for user support
x
SSH 111 .. 11 .. 11 11
Liil N•nwt H.amftton
rlotN..,.e R...,
M I M ,
City New Hope
ST PA
Zlp l2J45
HornePo"°""(S55)9"--
E2I AdYhof Aj•ls~
!a tr•n.al~t Olt
• rvll TlrM
Street 607 w .. 1 5princ Strfft Worll Pl>oM (555) SU-- O PMITune
Courses
Pref · • Nutnbel • SKtJon •
MAT lU 2
-
OS
·
l
IUS
Find Student
Print Record
HELP
--r-ltudtnU
-by•h«llritU.,ol
-"'~""' ,_ -
Fond~
•
P!Nse ent~ a SocYl Security Numbe<.
use the format w u · UU.
a
x
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 available choices. If rhe lisr docs not 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 button, 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 different message (Choose all that
apply). Use a black dot to show selected options.
9. If check boxes 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 rhe 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 source document is completed on the
screen.
2. Restrict user access ro screen locarions where data is entered. For example, in
the Eventbrirc event management data entry when rhe screen in Figure 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 auromarically 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 I
--- -. o --
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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase l
Systems Design
8.4 Guidelines for User Interface Design
241
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 rder 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) or 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 should 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 created, 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 rule 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.
Chapter 8
User Interface Design
242 8.4 Guidelines for User Interface Design
.. -
p
Hllp . .
l_..... ............
...__
----
........... ---.------...... ,.. __ ...........
---
-- ---
-
- .............
.........................................
-·--- ....
-....-------..
Q:li. \lt-tti.l .........
.,__ ,.. .......... __ .......... .,..,, ..
._, __ ..,.
c-... _.,.....__.........,....._....
c-.. -•••
__
__...
....... .......... ..............
~
_., ~"---~
--~---__,.
-... ...................... ________ -.---................
......,....,.. •
... p
Htlp . .
• 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, - Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
~ s...
8.4 Guidelines for User Interface Design
Phase l
Systems Design
243
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
•
~-------.......
--
..
..
.. ...
-·-
-
--
...,, ___
... ..... _
....
____ ,...,._
.... -----.-.---
_____ __.....,. ...-...._._..._
....--~
.____ _
..,
........ .....-......
.. _
• •
•
•
.. ,.... .. _.....__.._.._............... l!OJ • ____ ..._
-·•mtiau
. ---......... -. ..• ,....,_ -~ ..... .._,
............. -_...51111 .......... __._
..... .., ......
........................ _............ ____ ,,,,. ___ _
----... - •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
244 8.4 Guidelines for User Interface Design
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 allow the user to save the record until he or she enters a suitable value in
the Social Security number field.
3. A dara I ) pc check can rest to ensure that a data item fits the required data
type. For example, a numeric field must have only numbers or numeric symbols,
and an alphabetic field can contain only the characters A through Z (or a
through z).
4. A range 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 that a payment amount is greater than zero, but not specifying
a maximum value, is an example of a limit check.
5. A reasonableness check identifies 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 validity 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, that 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 combination 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 particular item has an
input discount rate applicable only for purchases of I 00 or more 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 quantities. 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
8.4 Guidelines for User Interface Design
Phase l
Systems Design
245
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.
Chapter 8
User Interface Design
246 8.5 Source Document and Form Design
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 would 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 an 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>_... ........ _ .. ~ ........................ ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase l
Systems Design
8.6 Print ed Output
24 7
Heading
Zone
Control
Zone
lnstructioo Zone
Body
Zone
Totals
Zone
Authorization Zone
FIGURE 8-13 Source document zones.
lnformanon should 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 also 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 online 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?
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 answered.
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 Report 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 accurately.
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. Rightly 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 Report 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
registration 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 Report Design Principles
Printed reporrs must be attractive, 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, such as Store
Number, changes, a control break occurs. A control break usually causes specific
actions, such as printing subtotals for a group 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
8.6 Print ed Output
Phase l
Systems Design
249
REPORT HEADER.SAND 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.
PAGE HEADERS AND FOOTERS: Every page should include a page header, which
appears at the rop of rhe page and includes the column headings that identify the
lden~fying ftelds
Employee Hours
Week ending date: 6128/2019
hours fields
Store Employee Regular Overtime
Number Name Position Hours Hours
Total
Hours
report header
}
} page header
8 Andres, Marguerite Clerk 20.0 0.0
8 Bogema, Michelle Clerk 12.5 0.0
8 Davenport, Kim Asst Mgr 40.0 5.0
8 Lemka, Susan Clerk 32.7 o.o
8 Ramirez, Rudy Manager 40.0 8.5
8 Ullery, Ruth Clerk 20.0 0.0
control break
on Store Store 8 totals: 165.2 13.5
Number field
20.0
12.5
45.0
32.7
48.5
20.0
178.7
}
group footer
17 De Mar!Jnl, Jenniler Clerk 40.0 8.4
17 Haff Lisa Manager 40.0 00
17 R1ttenbery, Sandra Cterk 40.0 11 0
17 Wyer. Elizabeth Clerk 20.0 00
17 Zeogler Cealle Clerk 32.0 00
48.4
40.0
51.0
20.0
32.0
Store 17 totals: 172.0 19 4
Grand totals: 337.2 32.9
191.4
370.1
Page 1
}
}
report footer
page footer
FIGURE 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 should be shorr but descriptive. Avoid abbreviations unless the
users will understand 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
250 8.6 Printed Output
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.
kind"' di!_ you deolgn- - .,.,
pUllll9l1 Ol'lllne
Not•: Tl* - _,, llllPll' "'----tho
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 Reports
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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
8.7 Technology Issues
251
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 that were not delivered wi-rhin a specified time period.
SUMMARY REPORTS: Upper-level managers often want ro sec toral figu res and 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. Similarl y, a personnel 111:111-
ager 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 printed 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 technology
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 would 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 interfaces that display
ourpur and nccept input from cusromers. For example, a business can link irs invenmry
system to its website so the ourput from the inventory system is displayed as an
on 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
audiences.
EMAIL: 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, and schedules and to share business-related
information they need to perform th eir jobs. In many firms, email has virtually
replaced traditional memos and pri nted correspondence.
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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase l
Systems Design
8.7 Technology Issues
253
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 IDEO: Sounds, images, and video clips can be captured,
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.
AUTOMATED FAX SYSTEMS: An automated fax or f~back sy:.rem allows a
customer ro request a fax using email, via the company website, or by telephone.
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 downloaded
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.
SPECIALIZED FORMS OF OUTPUT: An incredibly diverse marketplace requires
many forms of specialized output and devices. For example:
• 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
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 business
activity requires online data en try. The online method offers major advantages,
including the immediate validation and availability of data. A popular online input
method is ~o u rce data automation, which combines online dara entry and automated
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
8.8 Security and Control Issues
255
data capture using input devices such as radio frequency idenrificarion(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 and
update inventory dara
• Libraries that use hand held scanners co read optical strips on books
TRADE-OFFS: Although on line input offers many advantages, it does have some disadvanrages.
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 t y protects privacy rights and shields the organization's proprietary
data from theft or unauthori.ted access. To ensure output securirr, several important
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter 8
User Interface Design
256 8.8 Security and Control Issues
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 always 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 ~ kl css workstation 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
8.9 Emerging Trends
257
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 audir 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 and 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 conrinues 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 d c ~ign , individual componenrs, 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. Modular design is explained in more detail in Cha 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 areas 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 allows 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 anything from a new 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 testing 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 ourpurs, inpurs, inrerfaces, and processes. Users can " tesr-drivc" rhc model in
a risk-free environmenr and 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 only ro validate user requirements and is discarded
afterward.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
8.9 Emerging Trends
259
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 that 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
260 8.10 Summary
• 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,
mistakenly 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 thar 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>_... ........ _ .. ~ ........................ ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase l
Systems Design
8.10 Summary
26 1
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.
Chapter 8
User Interface Design
262 Key Terms
Key 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 calculates 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~ua ll y causes specific a•-rion~ to occur, ~ud1 .I'> pnn11n11 >ubtotal> for a
11roup of records.
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
control 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 lidation 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
Key Terms
263
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 only 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 phase 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 to enter data. Often used 111 automated
forms to guide an unfamiliar user.
limi1 check Occurs when a validmion check involl'~ a minimum or a maximum value, hut nor both.
Checking 1hat a payment amount is greater than zero, bur nor specifying a maximum 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 values 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
264 Key Terms
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 .1 ume; a
selected opuon contains a black dor. See also option button.
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 values 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 value' 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 other 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
Key Terms
265
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' le'~ dct.1il
than report• u-.cd b) lower· le,·el employees.
"'itchboard The U\C of 'ommand burrnns in a u-;er inrerfoce to enable users ro navigate a 'Y'tem and
-eled from 11rou1h of related ta\k-.
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.
tu!(!\lc hutton A GUl clcmcnr used tn rcprc'Cnt on or nff statu•. Clicking the COffillc button >Witchc' tu
the other >rntu•.
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, aural, 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
266 Exercises
Exercises
Questions
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
answer.
6. What are the main principles of source document design?
7. What is che difference berween a derail report, a summary report, and an exception report?
8. How has input technology changed in recent years?
9. What is output security?
10. 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
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?
2. 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?
3. 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?
4. 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?
5. 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
without their explicit consent.
LEARNING OBJECTIVES
Wl1e11 you finis/J t/Jis c/Japter, you should be
able to:
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 simplify ourpur, input, ;:ind dara
formats
8. Explain dara storage roots and techniques,
including logical versus physical srorage
9. Explain data coding
CONTENTS
9. 1 Dara Design Conceprs
9.2 DBMS Components
9.3 \'<'eh-Based Design
9.4 Data Design Terms
9.5 E.ntiry-Relarionship Dtagrams
Case in Point 9.1: Top Text 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. 1 O Summary
Key Terms
Exercises
I 0. Explain darn control mea~urcs
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase l
Systems Design
9.1 Data Design Concepts
269
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.
r;w ____ __.
CUSTOMERS
.. ~lliiM
~ 53914
U ·ll-2019 86.S2
Transaction ' Cuatomff O.te I Code lunovnt
flumber , Number
109823497 53914
2100485/6 53914
994184424 X9810
11-03 2019 °'4<g!!
11-04 2019 Re1 .. n
11 04-2019 Owlrgr
no.so
FIGURE 9-1 A credit card company that posts thousands of daily transactions might consider a file processing
option.
23.98
62.67
Over time, the modern relational darabase became a standard model for systems
developers. The following example of an auto service shop wi ll 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.
Chapter 9
Data Design
270 9.1 Data Design Concepts
FIGURE 9-2 In the example shown here. data about the
mechanic, the customer, and the brake job might be stored in a
file-oriented system or In a dacabase system.
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
places, and the data might or might not be consistent.
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 Jones' pay rate is shown as $18.90 in
the IvlECHANIC SYSTEM. file and$ L9.80 in the JOB SYSTEM file.
r
MECHANIC SYSTEM
-No
MECHANIC
-,.,,_
""°"' 5UIUS
......,....,.
~
!:i!MIOW«
Mecham< N, • Name . Pay Rate . HtreOate . ~lotus . ''"•nee .
112 Le•ir, Robert $15.00 4/17/'lfJlO PMt time No
11 Jones, Jim $15.70 1/15/1998 full ti""' y.,.
13 r
JOB SYSTEM
JOB
JobNo
Worl: Coclf
Houn
Dolt
r..wchan.cNo
~
Poy Rlt•
a
~
...
,!:ll IOll
lob No ·· Wot~ Cod. . Hoon . 0.•~ . M«hanlc No . N""'"
. P.y AAte •
TUN £ l .2 U/6/l019 U l Pilf. Rotwr' s1~.oo
i '"'
110
l\IW<CS ... 0 U/)/201q 11 J.,.,...,fm SllSO
1.14 ALIGN .J.O 12/6/lOJS 2J
"""'"'\\.. 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
9.1 Data Design Concepts
271
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 relational 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 .......... l lSl'CI tJt:'Jtl'Jlllf ...... V• 1IO (iqN(l.S fl l~n
H .... .-i_ '10111 1 ti-1n:r.-- Y• lM M.-oN :SO IZWl!H9
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:
• Scalability. Scalability means chat a system can be
expanded, modified, or downsized easily co meet
the rapidlr changing needs of a business enterprise.
SALES
DATABASE
FIGURE 9-5 In chis enmple, a sales dacabase an
support four separate business systems.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~----···---~~-.,.-"~ ...........--......
Chapter 9
272
Data Design
9.2 DBMS Components
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
Database
Adm 1 n1s1rators
maintain. The compromise, in many cases, is a
clienr/server design, where processing is shared
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 COMPONENTS
Users
RelatedtJ
Information
Systems
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.
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.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
9.2 DBM S Components
Phase l
Systems Design
273
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: 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 query by example (QBE) language, che user provides an example of the data
requested. Many database programs also use Strucrured Query Language (SQL),
·which is a language that allows 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 at the bottom of Figure 9-7.
DATABASE ADMINISTRATORS: A DBA is
responsible for DBMS management and supporr
OBAs 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.
~
--·-
--
---
--
.._ ____ ......
- --
• ... -- --
- -- -= ~--
II
• - --•
--
..
--ll
-
-__ " _,..,......,._,.......,.._ ,..
....
__
~-===-=·~· ·-..... ~.....
-.c-..............
_..,.
)
)
QBE
request
SOL
commands
RELATED INFORMATION SYSTEMS: A DBMS
can support several related information systems that
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.
9.2.2 Schema
FIGURE 9-7 Using QBE.a user can display all 2019 Ford
Fusions that have a power moonroof and are either Ume
Squeeze or Blue Candy color.
The complete definition of a database, including descriptions of all fields, tables,
and relationships, is called a schema. One or more subschemas can also 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 indjvidual 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
274 9.3 Web-Based Design
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). JDBC 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 I 0, 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
requires 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
Global access
Ease of use
Multiple platforms
Cost effectiveness
Security issues
Adaptability Issues
EXPLANATION
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.
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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
9.4 Data Design Terms
Phase l
Systems Design
275
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
276 9.4 Data Design Terms
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 relationships 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, also 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.
RECORD: 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, such a~ one customer, one
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 also 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 course,
the primary key must be a combination of student number and course ID. In that
case, the primary key is called a combination key. A combination key also can be
called a composite key, concatenated key, or multivalued key.
Figure 9-10 shows four different tables: STUDENT, ADVISOR, COURSE, and
GRADE. Three of these tables have single-field primary keys. Note thar in the
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-.............. . ,.. o-.... ._......_ ... ,..,...,..., ~ ..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase l
Systems Design
9.4 Data Design Terms
277
GRADE rable, however, the primary key is a combination of rwo fields: STUDENT
NUMBER and COURSE 'UMBER.
STUDENT I STUDENT TOTAl ' GPA I ADVISOR
1'
NUMBER NAME CREDITS NUMBER
1035
3397
407D
Linda Mllrk
SamCerr
Kelly Goldman
14
9
8
3.40
3.75
2.50
49
49
23
i----1 common fields ,_ __.,
23
49
Alice Jones
Carlton Smith
8 230
0 ·331
~====~+======~}k•~~~~---11~~ 1
STUDENT II COURSE I GRADE
NUMBER NUMBER I
COURSE I COURSE I CREDIT
NUMBER DESCRIPTION 1 HOURS
CHM112 General Chemistry I s
CSClSl
ENG101
MKT2U
Computer Science I
EnsfLSh Composition
Macfoeting Management
FIGURE 9- 10 Examples of common fields, primary keys. candidate keys. foreign keys, and seconcbry keys.
3
3
3
Chapter 9
Data Design
278 9.4 Dat a Design Terms
CANDIDATE KEY: 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: Contrary 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.
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 NUMBER fie ld appears in both the STUDENT table and
the ADVISOR table and joins the tables together. Note that ADVISOR NUMBER is
a primaqr key in the ADVJSOR table, where it uniquely identifies each advisor, and
is a foreign key in the STUDENT table. A foreign 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 STU
DE 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.
SECONDARY KEY: A secondary key is a field or combination of fields that can be
used to access or retrieve records. Secondary key values are not unique. For example,
to access records for only those customers in a specific postal code, the postal code
field would be used as a secondary key. Secondary keys also can be used to sort or
display records in a certain order. For example, the GPA field in a STUDENT fi le
could be used ro displny records for all students in grade point order.
The need for a secondary key arises because a table can have only 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.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
9.4 Data Design Terms
279
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 unless 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 has 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 table 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 into 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
MlCHAN:C
-· Patble
Httt O•tt
status
lmutanc:t
Edll Re~11onsh1ps
Houn
°"'' IM<NIN<No
-Ply RM>
1 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
280 9.5 Entity-Relationship Diagrams
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 orders. An information system muse recognize the relationships among
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 structures.
A doctor
treats
a patient
DOCTOR
TREATS
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 r e larion~hips rhar
link chem. Ar rhis stage, a simplified method can be used ro show rhe
relationships between entities.
Although there are different ways co draw ERDs, a popular merhod
is ro represent entities as rectangles and relationships as diamond
shapes. T he entiry rectangles are labeled with singular nouns, and
the relarionship diamo nds a re labeled with verbs, usually in a cop-tobottom
and left-to-right fashion. For example, in Figure 9- l2, a DOC
TOR entity treats a PATIENT entiry. Unlike dara flow diagrams, ERDs
depict relationships, not data or information flows.
PATIENT
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
VEHICLE ID
NUMBER
SOCIAL
SECURITY
DEPARTMENT
HEAD
1
1
1
1
HEADS
ASSIGNED
TO
ASSIGNED
TO
CHAIRS
FIGURE 9-13 Examples of one-to-one (1:1) relationships.
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 each of the two connecting lines ro indicate the
I: I relationship.
1
1
1
1
OFFICE
VEHICLE
PERSON
DEPARTMENT
A one-to-man)' relationship,
abbreviated l :M, exists when one occurrence
of the first entity can relate to many
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 relationship herween
DEPARTMENT and EM PLOYEE is
one-to-many: One deparrment can have
many employees, but each employee
works in only one deparcmenr at a time.
Figure 9-14 shows several l:M relationships.
T he line connccring the many
entity is labeled with the Jeerer M, and
the number l labels the other connecting
line. How many is many? The first
I :NI relationship shown in Figure 9-14
shows the entities IN DIVIDUAL and
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "-> - "'Allf'W ~-.............. . ,.. o-.... ._......_ ... ,..,...,..., ~ ..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase l
Systems Design
9.5 Entity-Relationship Diagrams
281
AUTOMOBILE. One individual mighr
own five auromobile , or one, or none.
Thus, many can mean any number,
including 1ero.
A many-to-man} relation\hip, abbreviared
M:N, exisrs when one instance of the
first entity can relate ro many 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.
DEPARTMENT
INDIVIDUAL
CUSTOMER
FACULTY
ADVISOR
1
EMPLOYS
OINNS
PLACES
ADVISES
FIGURE 9-14 Examples of one-to-many (l:M) relationships.
EMPLOYEE
M
---' AUTOMOBILE
M
M
ORDER
STUDENT
STUDENT
M
ENROLLS
IN
N
CLASS
REGISTRATION
PASSENGER
M
RESERVES
SEATON
N
FLIGHT
RESERVATION
---------------l assocoahve entity
ORDER
M
LISTS
N
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.
Chapter 9
Data Design
282 9.5 Entity-Relationship Diagrams
Note that an M:N relationship is different from 1 :1 or 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
CUSTOMER
PLACES
M
ORDER
WAREHOUSE
M
ORDER LINE
LISTS
STORES
assocla11ve
enllty
/
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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
9.5 Entity-Relationship Diagrams
Phase l
Systems Design
283
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 cardinality
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.
......... ""_.. ... .-.. ............... _
UML
SYMBOL MEANING REPRESENTATION
I 111
I p1
Oneorm•ny
I po
Zero,
One •nd only one 1
1.:
or one, o.:
or m•ny
I I I 0 Zero, or one 0 .. 1
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
INCLUDES
One and only one ORDER can Include one ITEM ORDERED or many.
ITEM
ORDERED
EMPLOYEE HAS SPOUSE
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.
FIGURE 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.
.. __ __.... ................... ~~·~----···---~~-.,.-"~ ........... --......
("..,_...,llll!O( ...... ..--. .\) ....... ~ "-> - "'Allf'W ~-.............. . ,.. o-.... ._ ...... _ ... ,..,...,..., ~ ..,._.. .............. ~ ..
Chapter 9
Data Design
284
9.6 Data Normalization
l..ibracy System Data Model
USER
BOOK
ADO NEW
BOOK
AUTHOR
FIGURE 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: TorTE..'\I Pusus11L'\G
Top Text 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. Top Text sells to
schools, colleges, and individual customers. Many authors write more than one book for
Top Text, and more than one author writes some books. Top Text maintains an active list of
more than 100 books, each identified by a universal code called an ISBN. How would you
draw an ERO for the Top Text information system, including cardinality notation!
9.6 DATA NORMALIZATION
Normalization is the process of creating table designs by assign ing specific fields
or attributes to each table in the database. A table design specifics the fields and
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 that 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 formulated the basic principles of relational
database design.
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
Phase l
Systems Design
9.6 Data N ormalizat ion
285
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 group is shown in Figure 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 (subsidiary) records
contained within the parent (main) record.
pnmary key
for ORDER
primary key tor
repeating group
OllDER (Unnor11 1H1 1 ii)
these two
orders have
repeating
croups
OllD£R '1 DATt ii 'M>l>UCT I DUCall'TION NUMUll I SU,"1.1£11 SVl'Plllll ISO
NUMllll OllOfll!D NVMllll NAME
86223 9·1l 2019 304 Bluepdget 7 A-602 Ac:me Yes
633 ~v 1 J 9'1S J~ No
684 Sui-sizmo 4 C-876 Ce bot YM
86390 g 14 2019 121! Stttlw• 12 A-602 Ac~ Ye•
304 Bluepdget 3 A-602 Ac:me ve,
86467 9- l S-2019 304 Blue gadget 144 A·602 Ac:me Yes
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 NUMBER 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
286 9.6 Data Normalization
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 Normal 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.tvlBER, 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-21 has a combination primary
key. The primary key of the lNF design cannot be the ORDER field alone, 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
NUtvlBER, 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, - Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
9.6 Data Normalization
287
ORDER lnlNF
in 1 NF. 1he primary key Is a unique
combmabon of a specific ORDER
and a speofic PRODUCT NUMBER
OllDER I DAT£ PRODUCT : DESCltll'TlON NUMBER I SUPPLIER SUPPLIER ! ISO
NUMBER I I ORDERED ' NUMBER NAME 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 I NF.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
288 9.6 Data Normalization
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 1 NF 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
1
AME, 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
9.6 Data N ormalizat ion
Phase l
Systems Design
289
ORDER ln2NF
PRODUCT In 2NF
ORDER
86223
ORDER
DATE
9-13·2019
'1 PRODUCT DESCRIPTION I SUPPLIER SUPPLIER
NUMBER NUMBER NAME
128 ' Steel widget A-602 Acme
ISO
Yes
86390
9·14·2019
304
Blue gadget
A ·602
Acme
Yes
86467
9·1S·2019
j
633
Assembly
1·995
Jones
No
·~
684
Supergjzmo
C·876
Cabot
Yes
I CJWll UNE In JNf
I
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
customer has ordered che product? A dummy order number could be used and
later replaced with a real order number when the product is ordered ro solve
the problem, 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.
~~~~~~~~
Chapter 9
Data Design
290 9.6 Data Normalizat ion
9.6.4 Third Normal Fo rm
A popular ru le of thumb is that a design is in 3NF if every nonkey field depends on
the key, the whole key, and nothing but the key. A 3NF design avoids redundancy
and dara inccgriC) problems chat Still can exisr in 2NF designs.
Continuing the ORDER example, now review che PRODUCT rable design in
Figure 9-23:
PRODUCT (PRODUCT NUMBER, DESCRIPTION, SUPPLIER NUMBER,
SUPPLfER NA tvlE, ISO)
PRODUCT In 2NF
'
NUMBER
.•
•
PRODUCT I DESCRIPTION SUPPLIER : SUPPLIER I ISO
NUMBER ; NAME
•
128 Steel widget A-602 : Acme Yes
•
304 Blue gadget A-602 Acme Yes
633 Assembly J-995 Jones No
.
684 Super gizmo C-876 Cabot Yes
....................
•
PRODUCT In 3NF
'
PRODUCT
NUMBER
128
''' '
DESCRIPTION I SUPPLIER
Steel widget
NUMBER
A-602
'
SUPPLIER In 3NF
SUPPLIER I SUPPLIER
NUMBER NAME
A-602 Acme
1so
Yes
304
Blue gadget
A-602
J-995
Jones
No
633
Assembly
J-995
C876
Cabot
Yes
684
Supergizmo
C-876
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 JNF because ic has no repeacing group~ . T he c:i ble also
is in 2NF bcc:iusc the primary key is a single fi eld. But the table still has four potcncial
problems:
I. To change a supplier name, every record in which that name appears must be
changed. With hundreds, or even thousands of records, the process would be
slow, expensive, and subject to input errors.
2. The 2NF design allows a supplier co have a different name or ISO starus in
different records.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
9.6 Data Normalization
29 1
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 third 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 NUMBER, DESCRIPTION, SUPPLIER NUMBER)
SUPPLI ER (SUPPLIER NUMBER, SUPPLIER NAME, ISO)
CASE IN POINT 9.2:
CYBERTOYS
You handle administrative support for Cyber Toys, 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 normalization is to apply the
rules to a representative situation. This section presents
two different scenarios: first a school and tben a rechnical
service company. If a step-by-step process is followed, data
designs can be created that a re efficient, maincainable, and
error-resistant.
EXAMPLE I : Crossroads College: Consider the familiar
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.
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
292 9 .6 Data Normalization
M
ADVISOR ADVISES STUDENT
TAKES
N
COURSE
FIGURE 9°25 An Initial entity-relationship diagram for ADVISOR, STUDENT.
and COURSE.
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
decision 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:
STUDENT (STUDENT NUMBER, STUDENT NAME, TOTAL CREDITS,
Gl'A, ADVISOR NUMBER, ADVfSOR NAME, OFFICE, (COURSf. .
CREDIT HOURS, GRADE))
~l..!.i.~B~R,
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 I STUDENT TOTAL I GPA I ADVISOR I ADVISOll I OFRCE '1 COUllSE I CREOIT I GllAOE
NUMIEll NAME CREDITS NUMBEll ! NAME NUMIEll HOURS
101) Unda 41 l.fiO 49 Smith 82.12 CSCUl 4 a
MKT212 3 A
ENGlOl 3 a
CHM112 4 A
BUS105 2 A
3397 Sam 29 ].(]() 49 Smtih 8212 ENGlOl l A
MKT212 ! c
CSCl.Sl 4 a
4070 Kelly 14 2.90 23 Jones C333 CSCUl 4 B
CHMlU 4 c
ENG101 3 c
BUS1~ 2 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, -Woip-M ._..,.. -·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
9.6 Data Normalization
Phase l
Systems Design
293
Figure 9-27 shows the 1 NF 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.
STUDENT In lNF
111 1 NF. 1he pnmary key is a unique combmatlO!l ol a
STUDENT NUMBER and a speofic COURSE NUMBER
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 Sm 1th B2U
ENGlOl
l
B
1035 l..nd1 47 3.60 49 Smrth B2U
1015 Un.U 47 3.60 49 Smith Blll
3397 Sam 29 l.00 49 Smith 82U
3397 5.tm 29 l.00 49 Smith 82U
3397 s.tm 29 3.00
"'
Sm 1th
82U
4(J7Q kelty 14 2.90 23 Jones 033
<IOJO Kelly 14 2.90 23 Jones C333
<IO'IO Kelly 14 2.90 23 JO<> es Clll
"°'°
Kelly 14 2.90 23 Jones 013
CHMll2
8US105
ENG101
MICT2U
CSCUl
CSClSl
CHM Ill
ENGIOl
lkJSUIS
4 A
2 A
l A
3 c
4 B
4 8
4 c
3 c
2 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 of 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 CREDITS, GPA,
ADVISOR NUMBER, ADVISOR NAME, OFFICE)
COURSE (COURSE NUMBER, CREDIT HOURS)
GRADE (STUDENT NUMBER, COURSE NUMBER, GRADE)
The original I F STUDENT 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
294 9.6 Data Normalization
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.
STUDENT In ZNF
STUDENT I STUDENT I TOTAL I GPA ADVISOR ADVISOR OFFICE
NUMBEll , NAME CREDITS NUMBER NAME
lOlS ' ' llr>da 47
3.60 49 Smith B2U
COURSE In ZNF
'
COUllSE
NUMBER '
CREDIT
I HOURS
BUSlOS 2
3397 Sam
4070 Kelly
l.00 49 Smith B2U
2.90 23 Jones C333
CHM112 4
CSClSl 4
ENG101 3
MKTlU 3
GRADElnZNF
STUDENT
''' +
! COURSE
''' I GRADE
NUMBER I NUMBER
I
1035 CSCJ.51 B
1035 MKT212 A
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
c.........
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
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:
STUDENT (STUDENT NUMBER, STUDE1''T NAME, TOTAL CREDITS, GPA,
ADV ISOR NUNIBER)
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, - Woip-M ._..,.. - ·~• -fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
9.6 Data N ormalizat ion
Phase l
Systems Design
295
ADVISOR (ADVISOR NUMBER, ADVISOR A?vlE, OFFICE)
COURSE (COURSE NUMBER, CREDIT HOURS)
GRADE (STUDENT NUMBER, COURSE NUfy1BER, GRADE)
STUDENT In ZNF
STUDENT I STUDENT I TOTAL I GPA I ADVISOR . ADVISOR I OFFICE
NUMBER NAME CREDITS NUMBER : NAME
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
....•...........
'
ADVISOR In 3NF
' ''' '
STUDENT I STUDENT I TOTAL I GPA I ADVISOR
NUMBER NAME CREDITS NUMBER
ADVISOR I ADVISOR I OFFICE
NUMBER
NAME
101) 47 3.60 49 Smith B2U
3397 Sam 3.00 23 Jones C333
4070 14 2.90 23
FIGURE 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.
......... ""_.. ... .-.. ............... _
ADVISOR
COURSE
1
1
ADVISES
M
STUDENT
1
RECEIVES
M
SHOWS GRADE
l
M
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
.. __ __.... ................... ~~·~---- ···---~~-.,.-"~ ........... --......
("..,_...,llll!O( ...... ..--. .\) ....... ~ "->-"'Allf'W ~-............... ,.. o-.... ._ ...... _ ... ,..,...,...,~..,._.. .............. ~ ..
Chapter 9
Data Design
296
-
-- - \
I T-
• ·-
• -
- .. .
-- - - .. ..
•
I ·- \
·-- •
.. -
,..._ .. ,. .......
-
~
-- --
-- -
-
--
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.
9.6 Data Normalization
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 .
EXAMPLE 2: 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,
lW IAIOll ('OOf \
lAllOR COD£
HOURLY-RATl •
• A
Sl5.00
• • $<U.OO
• c
~soo
. 0 SMOO
:::J SUMCl 1.-'-OOAll'
CAU· NUM • lABOR-CODE .
'10796 A
"
107'6 c
10791 B
10799 c
10799 D
10801 A
-x
".J <Um>MIR s
C~T-NUM · CUSHAST · ' CVSHlllST • ' CUST·A~S • CUH-Cll'f • CUU·STAT( ·
• 1456 JonH Albo'1 •J0.11.DrM Dtnv..- co
• 1913 vatdt:J 1nn1 1011 H1lllop Rood Chotlott• ~c
• 2S16 Gonutez Jul"I 67UthSttHt Stott It WA
• 6121 a.111 thly 101 MJlti Slfoet s." Jat1nto CA
• ll7<iO SAruono JIC~le
'""•bt"V c ..... ..... .., "'A
· 1848
---
,
.... 3;JlSm!1hUM H\.ldlOn Fl
~ SOMCf <ALl\ x
x
T
lABOR·HOURS .
• 10796 -14)6 U/U/2019 04
LS • 10797 2136 U/13/2019 17
2.0 • 10791 11/13/201' 04
CAU·N~JM . CUST·NUM . OATf . T[(H·NUM .
s.o • 10799 1456 12/l.S/2019 21
LS - 10800 6J21 U/16/201' 21
1.S I • 10801 14)6 1211"'2019 09
2.5
::;J SEIMCC Pi ITTOfTAll \
CAU·lllUM . PART·NUM .
107'6 00-9192
10796 SS·llll
10797 AB-6784
10799 AB-6784
10799 XC-3133
10800 SS-1024
x ;:J TI'OI
x
'
QTY . TECH NUM . T£CH·lAST . TECH FIRST . HlRE·OATI .
4 • 04 Robison GefTY 6/1/'1008
• 0'9 Wh1tf1eld oa .. d 8/1/2001
2
6 ~ 17 Kaplan
1/1/l'J93
~··
1
• 20 Chood L11land U/1/2003
15
• . 21 Johnson Mane 10/1/2014
8
I i1] PARTS \
I
x
'
PART· NUM . PART·DESC . Tcosr. PRICE . QTY-ON·HANO .
• AB-6784 MffiR $98.50 $125.00 33
• 00-9192 DISC SL30 $1.69 220
• SS-1024 COVER $16.00 $19.7'9 71 Primary Keys
• SS-1099 EMBLEM S38.00 S50.00 41
• '
Common fields
• 5$-lUI JUMPER SU.SO SlS.00 3
• XC·llll CABLE <:6 75 <=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.
(....,..... J:gl( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_, .,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,....
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase l
Systems Design
9.7 Codes
29 7
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 Codes
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 john 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 postal 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 32901-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 entry is correct.
Broad geographical
locallon In
soUlheastem US
FL
Ot1ando
East
Melbourne
Florida Tech
150 W. Unlvers11y Blvd.
3 29 01 6975
FIGURE 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.
Chapter 9
Data Design
298 9.7 Codes
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
order 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. Alphabetic 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.
ATL ORO u-IR HNO LAX
--- .... __ ------
oFW FRA aDG
-·---
AMS OEN
···-
PHX LAS MAD IAH HKG
--- --- - .-...... ._ .. ~....... ... .................-
MSP o1W aKK SFO MIA
-·-- .....
.. _. __ .... _, ...... .....
JFK LGW EWR _, ___ _...... -·--- ---
SIN ..... NRT
-.......
PEK seA MCO VY! sTL
------ -·---- ---
-·~
......... ..-... -.... ............. _._
FIG URE 9-34 Abbreviations for some of the world's busiest airports.
' "
b. AbbreYiation codes are alphabetic
abbreviations. For example, standard
state codes include NY for New York,
ME for ~l aine, and MN for Minnesota.
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
MCO (Orlando).
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, - Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
9.7 Codes
Phase l
Systems Design
299
Section code
Warehouse location code
'
11 2
'
05 3
'
27
Bin number
Floor number-------
A
~------ Ais le number
FIGURE 9.35 »mple o( a code that uses signifle3nt digits to pinpoint the loation of an inventory item.
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
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,
and fourth letters of the subscriber's street
name. A sample is shown in Figure 9-36.
31749 ADE 34 EBE
FIGURE 9-36 A magazine subscriber code is derived from
various parts of the name and addreu.
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 (01, 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 others 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, or the number one (1 ) with the lowercase letter L (I) or uppercase
lcrrer I. For example, rhe five-character code 5Z08 l easi ly can be misread as
5Z08I, or 52081.
• Make codes meaningful. Codes should be easy to remember, user-friendly,
convenient, and easy to interpret. Using S\Xl as a code for the southwest sa les
region, for example, has far more meaning than the code 14. Using ENG as the
code for the 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 department and the 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 department, or both. A separare code for each separate characteristic
makes much more sense.
• Keep codes consistent. Foe example, if the payroll system already 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 different 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
9.8 Data Storage and Access
301
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 and 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.
DATA WAREHOUSING: 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
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 \ 1 I
wirh different darabases: the sales
information ~ys tcm and the human
resources informarion ~ystem, as
!.hown in Figure 9-37. Without a
data warehouse, it would be diffi-
cult for a user to extract darn char
spans several information systems
and time frames. Rather than
accessing separate system~, a data
warehouse stores transaction data
in a format that allows users to
retrieve and analyze the data easily.
While a data warehouse typ
r
Information
System
Input data
DATA WAREHOUSE
Results
Sates ref)<esenta1ive 121
sold $375.784 10 Jo·Mar
lndustnea during Juno 2019
Sales
1
Human
Resources
Information
System
Input data
FIG URE 9-37 A data warehouse stores dat3 frolTl several systems. By selecting data
dimensions. a user can retrieve specific Information without having to know how or
where the data is stored.
ically 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 specific
situation.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter 9
Data Design
302 9.8 Data Storage and Access
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: Data mining software looks for meaningful data patterns and relationships.
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 visitors, bur most of it is
of lirrle value. His article mentions tbar smart marketers and business analysts are
using data mining techniques, which he describes as "machine learning algorirhms
thar find buried parrerns in databases, and report or act on those findings." He concludes
by saying thar "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, measurable 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 purchase
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 valuable 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 ru.le learning and is often called mar ket basker analysis.
9 .8.2 Logical Versus Physical Storage
It is important to uuderstand the difference between logical stornge and physical
storage. Logical storage 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,
ph y~ica l 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 might 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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase 3
Systems Design
9.8 Data Storage and Access
303
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 the 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
..
Chapter 9
Data Design
304
9.8 Data Storage and Access
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 the 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 standards and support, as shown in Figure 9-38.
~ The Unicode Consortium c.-. .,, ,.,._ , s-
n.-
OuktlUr>b
C:-0-
n.c •••
•
n.u............ ..
--
..............(C\.OllQ ..
-_ _ -
a.Oii
UTC_,.._
.
QJTC
"1t• I w.-O. •
......... o... CW-11-
7
UTC~ ........ •
... ...
---- ,.Q .•
..
........ -.
• -- ~~.Jd!Llf!JA&Ht0soctrQl.llll t''
wr--110 .. pp1t• l'll.._~
l!lll.Lll!lllllll.Jj--.il!C - ,_., ...,
't W l:lV'IVGil
-·~
- ..
DI
•
2 '
1
•
s
',
I
•
10
11
,,
• 1 M
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 ""'
• c
,,,... "'
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 the year 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 rhar 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, 2015) is later than 20130927 (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
payment due on August 13 is nor paid until April 27 of the
0
t , following year, exactly how late is the payment and how
much inteTesr is owed? In these situations, it is easier rouse
• .!. •
-·
t(21fU
UIS
FIGURE 9.39 Microsoft Excel uses absolute dates In
calculations. In this example. May 4, 2019, ls displayed as
43589.and September 27. 2015.ls displayed as 42274.
The difference between the dates Is 13 I 5 days.
absolute daces.
An absolute date is the total number of days from some
specific base date. To calculate the number of days berween
rwo absolute daces, one dare is suhtracccd from rhc other.
For example, if the base date is January I, 1900, then May
4, 2015, bas an absolute date of 42 128. Similar!)', Seprember
27, 2013, has an absolute date value of 41 544. If rhe earlier
dace value is subtracted from the later one, che re ult is 584
days. A spreadsheet can be used ro determine and displa)
absolute daces easily, as shown in hgure 9-39.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
9.9 Data Control
305
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 ~s i 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
306 9.10 Summary
Tip Top Toys is a relatively small division ofWorldwide Enterprises. Worldwide has nine
other divisions, which include insurance, health-care products. and financial planning
services, to name a few.
The corporate marketing director for Worldwide has requested Tip Top's customer
shopping data to target people who might be likely to purchase items or services 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 Structure. 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
DML; 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 data mining, 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
9.10 Summary
307
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 on 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 format.
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
308 Key Terms
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, called a mnemonic code.
ScanJ, for American Standard C.<Jde for Information lntcrchani:c, a lLita 'mrasc coding method
u'ed on mo~t pcrmna I computers and workstation<.
A~Cll
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 ,~; rh in 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
Key Terms
309
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 indiHdual 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;ful combination of related daca clements that is indudcd in a data flow or
retained in a d<1ra >tore. A framcwork for organizing 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 (OBMSi 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
3 10 Key Terms
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 tho~ wirh
the required nurhori1ation can access rhe data (usuallr via de<oding ,oftware)
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 within an infnnnation ')'stem. For example, a Social Sccurit)' numhcr or company name
could 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 with the information
'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 >tandard 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 logical record as a set of field<, rcgardlcs'> of how or where the data is
'torcd phy<1cally.
logical \tOraAc Refer& to information 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
Key Terms
311
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 qualicy 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
312 Key Terms
~c~ond normal form (2'\1- A record design is in 2NF if ic is Ill l;\J and u 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'osral
Service iip 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 PC u ~er ' co communicate with 'crver.,
and mainframe computcn ..
'ubi.d1cma t\ view nf rhc datab:isc used by one or more: syMem; or u;cr;. t\ .,ub.,lhcma defi ne., only
rho' c p<>rtiom of the database char a parncular ' YStcm or 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 do7-
cn< 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
progranurnng language and can be used to descrihe busmess processes .ind requaremcms genera II).
unnonnali1cd ;\ record rhar contains a repeating group. which 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 year (YYYYMMDD ).
... ~JD»(" .............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:..............._ .... ~---11rt~ -,..~---~~
.........,.__.._..........., ..,,.........,..~_.......,_,_,_._....~~.. C'ftlpll"&.-..,~fw ....._ ..........___,_ • .......,......................
Phase 3
Systems Design
313
Exercises
Questions
I. \Xlhar is a dam srrucrurc?
1. Brief!)' describe the componenrs of a DB.\ILS.
3. Lisr the major characrerisrics of web-based design.
4. l:.xpl;un primary key, candidate key, secondary key, and foreign key.
5. What arc ERDs and how are they used?
6. How do you convert an unnormalized design to lNF? Lo your answer, refer ro specific pages and
figures in rh1s chapter.
7. How arc codes used in data design?
8. Whar is data warehousing and dara mining?
9. How would a specific date, such as March 15, 2019, be represented as an absolute date?
I 0. How arc permissions used ro control access ro data?
Discussion Topics
Projects
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?
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 multinational 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
Data Design
314 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:
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
IO. Explain rhe final activities in rhe systems design
phase
CONTENTS
I 0. 1
I 0.2
I 0.3
I 0.4
I O.S
I 0.6
I 0. 7
I 0.8
I 0.9
Architecn1re Checklist
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
I 0. 10 Su mmary
Key Terms
Exercises
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase l
Systems Design
I 0.1 Architecture Checklist
317
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 an 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 answer ro
that question. The best approach probably would be to srudy day-to-day business
functions, talk ro users at all 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 nt e rpri ~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.
Chapter I 0
System Architecture
318 I 0.1 Architecture Checklist
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 order, 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 response, 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, and
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
original 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~----···---~~-.,.-"~ ...........--......
Phase l
Systems Design
I 0.1 Architecture Checklist
319
• 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.
Chapter I 0
System Architecture
320 I 0.1 Architecture Checklist
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 chapter, 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 characteristics 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.rears 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.
FIGURE I 0-2 User IDs and passwords are tr:tditional elements of
syscem security.
I 0. 1. 9 Corporate Portals
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 customers 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
system architecture considerations. System security
concepts and strategies are discussed in detail
in Chapter 12.
Depending on 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
I 0.2 The Evo lut ion of System Architectur e
321
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 our three main functions:
• Manage applications thar perform che processing logic
• Handle dara sroragc and access
• Provide ~1n interface rhar allows users ro i1ueract with the system
Depending on the archirecrurc, 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 Architecture
A sen er 1s a computer thac supplies dara, processing 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 processing someume~ is
described as mainframe architecture. Although 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:., mainfra me architecture was che 011/y choice. In addition to centralized
data processing, the earliest systems performed all data input and outpur at a
central location, often called a data processing center. Physical dara was delivered or
transmitted in some manner ro the data processirng center, where it was enrered into
rhe sysrem. Users in the organization had no input or output capabiliry, except for
printed reporrs rhat were distributed by a corpora te IT department.
As nerwork technology advanced, companies installed terminals at remote locations,
so that users could cnrer and access data from anyw here in the organization,
regardless of where rhe ccnrralized computer was locared. A terminal included a
keyboard and display screen co handle input and output but lacked independenr processing
capabiliry. In a cenrralized design, as shown in Figure 10-3, rhe remote user's
keystrokes arc cransmirred from his or her renninal to the mainframe, 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>_... ........ _ .. ~ ........................ ._ .... ._
Chapter I 0
System Architecture
322 I 0.2 The Evolution of System Architecture
Mainframe
Today, mainframe architecntre still is used in indusrrie~
that require large amounts of processing that can be done
at a central location. For example, a bank might use mainframe
servers to update customer balances each night. In a
blend of old and new technology, many organi1arions arc
moving some of their dara processmg off their mainframes
and into the cloud. Indeed, a mainframe can be used ro
implement part of a cloud compunng infrastruccure.
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
AllUllil
Client
I
I 0.2.2 Impact of the Personal Computer
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 allowed 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 raised major CODCerns about data security, inregrity,
and consistency. Without a central srorage location, it was impossible to protect and
back up valuable business data, and companies were exposed ro enormous risks. In
LAN
Scanner
' Q
Client
····
Client
FIGURE I 0-4 A LAN allows sharing of data and hardware, such as
printers and scanners.
some cases, users who were frustrated by a lack
of support and services from the IT department
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
(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
the Internet to share data.
A wide area network (WAN) spans long
distances and can connect LANs rhat are continents
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 their 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
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, - Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase l
Systems Design
I 0.3 ClientlServer Architecture
323
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
Server 1tan&mits onto/ the
'9$uftS Of lhe client query
Q
Client
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. Many 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 Flexible Highly structured
dollelopmont Fast Slow
Objecl -oriented
Traditional
User environment PC-based Uses terminals
GUI
Text interlace
Empowers the user Constrains the user
Improves productivity Limited options
Security and control Decentralized Centralized
fealures DifficuJt to control Easier to con1rol
Processing options Can be shared and Extensive and
configured In any form programmable
desired
Data storage Can be distributed to AU data 1s stored centrally
options
place data closer to users
1-tardWare/sottware Very l1;ex1ble Very 1191<1
1ntegrabon MultJvendor model 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 simultaneously, 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 ultimate form of client/server architecture, where Internet-based computing
becomes the server part of client/server and handles processing rasks, while che T1nernet
itself becomes the platform that replaces 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 and the server. A fat client, also called a chick client, design locates all or
(....,..... J:gi ( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~- " .....- ""'*" ....,.._...,.. ..
Phase l
Systems Design
I 0.3 ClientlServer Architecture
325
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 are 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 data 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 ~ in c~~ logic, required
by che system. Three-tier design~ also are called 1r-rier d esign ~ . to indicate char some
designs use more than one intermediate layer.
0818
Application logic
User interface
Two-tier
Server
..,.. ____ _ _____ ,..
Cllenl
Three-tier
-- - --
Application
serwr --
- --
Client
FIGURE I 0-8 C~racteristJcs of two-tier versus three-tier client/server de$ign.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter I 0
System Architecture
326 I 0.3 Client/Server Architecture
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 are located on various
architectures. In a diem/server system, the tiers communicate using software called
middleware, as described in the following section.
Apphcat1on
User
Architecture Data Logic Interlace
Cenlral data Server x x x
processing center
Client
Central server with Server x x
--
remote terminals Client x
Sland·alone Sel'ller 1
client Client x x x
l\.vo·tier Sel'ller x x ---,
cllenVserver Client x x I
Data server x I
Three-tier
cllenVserver Application server x I
,.Client 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 Cost-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 rapidly changing environment.
As the size of the business changes, it is easier to adjust the number of clients and
the processing functions they perform than it is to alter 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.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase l
Systems Design
I 0.4 The Impact of the Internet
327
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.
I 0.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 and 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.
Chapter I 0
System Architecture
328 I 0.4 The Impact of the Internet
c ,/\
D I
8 8
FIGURE I 0-10 Cloud computing.
I 0.4. 1 Internet-Based Architecture
Recall rhar in a rradirional client/server system, rhe client handles the user interface,
a~ 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.
I 0.4.2 Cloud Computing
Cloud 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 working 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.
Web server
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
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
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase l
Systems Design
I 0.5 E-Commerce Architecture
329
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 architecn1re, 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 architecture and will continue to be for the foreseeable
future.
I 0.4.l Web 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.
Chapter I 0
System Architecture
330 I 0.5 E-Com mer ce A rch itectu re
I O.S. I In-H ouse Solutions
Chaprer 7 descri bed how to analyze advantages 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 strategies. An in-house solution usually requires a
greater mirial investment but provides more fl exibility for a company that must adapr
quickl)• in a dynamic e-commerce en\'ironment. By working m-house, a company
has more freedom to inregrarc with cusromers and suppliers and is less dependent on
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 smaller companies, the decision about in-house web development is even more
critical, because this approach will require financial resources and management attention
that many small companies might be unable or unwilling to commit. An in-house
strategy, however, can provide valua ble benefits, including the fo llowing:
• A unique website, with a look and feel consistenr with the company's orher
marketing efforts
• Complete control over the organization o f the site, the number of pages, and
the size of the fil es
• A scala ble structure to handle increases in sales and producr offerings in rhe
fu ru re
• More flex ibi lity to modify and manage the site as the company changes
• The opp<irruniry to integrate rbe fi rm's web-based business systems with its
other informarion systems, creating rhe potential for more savings and berrer
customer service
(....,..... J:gi ( ..... I_,.. 41 11.,.. ~- )U, - Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase 3
Systems Design
I 0.5 E-Commerce Architecture
331
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 ·~ ....,............ ( I .........
...................._,............,...,_.-.r1......--
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 alternative 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 subscription fee. Today, many ASPs offer full-scale lntcrnet business services
for companies char decide to outsource rhose functions.
A sysrcms analysr 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
332 I 0.6 Processing Methods
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
its 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 would be better to outsource the site and
focus on the business itself. Suppose the family asked for your opinion. What would you
say? What additional 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 airline'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 information, 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
shows what happens when a customer uses an ATM to inquire 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
I 0.6 Processing Methods 333
Online processing systems have four typical
characteristics:
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.
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 information
to operate, and batch processing is not
always desirable. However, batch methods can
be efficient and convenient in some siruations.
For example, batch processing can be used
for large amounts of daca rhat must be processed
on a routine schedule, such as weekly
EJ_§~j EJ :::::::::::31
ONLINE
PROCESSING
SYSTEM
CUSTOMER
FILE
ATM QUERY PROCESS
Step 1:
Step 2:
Step 3:
Customer enters his or
her account number and
requests an account
balance
Retrieves current
account balance
Verifies bank account
number and displays
balance on ATM screen
FIGURE I 0 - 13 When a customer requests a balance. the ATM
system verifies the account number. submits the query. retrieves the
current balance, and displays the balance on the ATM screen.
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 traffic, 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, might 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 and accounring entries are performed in a batch. A company
would choose a mix of onlinc and batch processi111g when it makes good business
sense. Consider the 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 I 0.7 Network 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) PROCESSING
POS POS Sales Daily Sales Daily
Terminal -4 - ... Program Transaction Program _ .,. Sales
(Online) File (Batch) Report
t
Inventory
t
Accounllng
Files
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, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase 3
Systems Design
I 0.7 Network Models
335
10.7.2 NetworkTopology
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 with 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
336
I 0.7 Network Models
g
PC
-
g
PC
~B>--~~--~
Termnals U PC
Q - - -
PC Ci} Ci}
s
~/
FIGURE I 0-1 6 A bus network with all the devices
connected to a single communication path.
PC
Oepartmon1a11etver
Te1mina1s
g
PC
FIGURE I 0-17 A ring network with a set of computers that
sends and receives data flowing In one d1rect1on.
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.
BUS NETWORK: 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
necessarily affect other workstations on the network.
O ne major disadvantage 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.
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
in only one direction from one device to the nexr. In
function, a ring network can be thought of as a bus
network with rhe ends connected. One di~advanrnge
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.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "-> - "'Allf'W ~-.............. . ,.. o-.... ._......_ ... ,..,...,..., ~ ..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase 3
Systems Design
I 0.7 Network Models
337
STAR NETWORK: Because of its speed and versatility,
the star network i a popular LAN topology.
A ~tar network has a central networking device
called a switch, which manages the network and
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 broadcasts
network traffic, called data frames, to all
connected devices. In concrasr, a switch enhances
network performance by sending traffic only ro
specific network devices that need co receive the
data.
A star configuration, as shown in Figure 10-18,
provides a high degree of network control, because
all traffic flows into and our of the switch. An inherent
disadvanragc of the srar design is rhar rhe entire
Oepartmenllll
~nner
FIGURE I 0-18 A star network with a switch, departmental server,
and connected computers and devices.
network is dependent on the switch. However, in most large star networks, backup
switches arc available immediately in case of hardware failure.
MESH NETWORK: In rhe me~h network shown
in Figure I 0-19 , each node connects to every other
node. While this design is extremely reliable, it also
is very expensive to install and maintain. A mesh
network resembles the lnrerner in that a message
can travel on more than one path. Originally
developed for military applications, the primary
advantage of a mesh ncrwork is redundancy,
because multiple paths provide backup if
communication problems arise or some nodes
become inoperable.
I 0. 7 .3 Network D evices
Nerworks such as LANs or W'ANs can be interconnected
using devices called rourers. A router is a
device thar connects network segmen rs, determines
the most efficienr data path, and guides the flow of
data.
Ci:
I
~.m~
Switch
/; ·~
I ~M•
.,... ~
• 4-------~
Pnnter
PC
•
FIGURE I 0-19 A mesh network is used In situations where a
high degree of redundancy is needed. such as military applications.
The redundant design provides alternate data paths but is
expensive to Install and maintain.
Using a router, any network topology can connect to a larger, dissimilar network,
uch as the Internet. This connection is called a gateway. The example in Figure 10-20
show a star topology, where a switch connecrs nodes in rhe LAN and the router links
the network to the Internet. A device called a proxy server provides Internet connectivit}'
for internal LAN users. The vast majoriry of business nerworks use routers to
integrate che overall network archirecmre.
Chapter I 0
System Architecture
338
I 0.8 Wireless Networks
Departmental
server
1i1,~ I ~
1i1 ~ ,,_~
1i1 / ~ "'~'
0 Q
PC
PC
Proxy server
Router
Internet
FIGURE I 0·20 Routers can be used to create g:iteways between different network topologies and large. dissimilar networks such as che
Internet.
I 0.8 WIRELESS NETWORKS
Alrhough a wired LAN provides enormous nexibility, the cahling cost can be substantial,
a~ well as the inevirnble wiring changes char occur in a dynamic o rganization.
~!any companies find wireless technology co be an arrracrive alternative. A " i rele~~
local area ncrnork (\VLAN) is relatively inexpen~ive co install and is well suited co
workgroups and users who are nor anchored co a specific de~k or location. ~l ose
notebook computers and other mobile devices are equipped with huilt-in wireless
capability, and it is relatively simple to add this fearure to exi ting desktop computers
and workstations in order co sec up a wireless network.
Like their wired counterparts, wireless networks have certain :.tandards and ropologie~,
which are discussed in the following seccions.
I 0.8. 1 Standards
Wireless networks are based on various standards and protocols that still arc evolving.
The mosr popular of these is called IEEE 802.11, which is a family of standards developed
by the Institute of Electrical and Electronics Engi11ccrs (IEEE) for wireless LANs.
Current wireless networks are based on variations of the original 802. 11 standard.
Severa l versions, or amendments, were intended to improve bandwidth, range, and
security. The IEEE 802.11 set of standards changes very rapidly, in large pare due to
pressure from consumer groups and industry leaders moving toward ever-fasrer wireless
nerworks. Wireless network speed is measured in megabits per second (M bps) or
gigabits per second (Gbps).
For example, when the 802.llb standard was introduced in 1999, rhe average
speed was I I I bps. Larer versions, such as 802 .1 l g and 802.11 n, increased bandwidth
to 54 Mbps and 450 Mbps, respeccively, and were widely accepted by rhe
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-.............. . ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase 3
Systems Design
I 0.8 Wireless Networks
339
IT industry. Current standards, such as 802.1 l ac, can theoretically reach speeds of
nearly 7 Gbps. The increased speed is accomplished using multiple input/multiple
output (MIMO ) technology to boost performance. MIMO relies on mulciple data
paths, also called multipath design, to increase bandwidth and range.
If wirelesc; capacity continuec; to expand and security issues can be overcome,
\'VLANs could replace wired networks in man)' situations. \'Vireless security is discussed
in detail m Chapter 12.
I 0.8.2 Topologies
Like wired networks, wireless networks also can be arranged in differenc topologies.
The rwo most common network topologies available for IEEE 802. I I WLANs are
the Basic Service Set and the Extended Service Sec. Figure J0-21 shows simplified
models of these topologies.
The Basic Service Set (BSS), also called the infrastructure mode, is shown at the
top of Figure 10-2 1. In this configuration, a central wireless device, called an access
poiJlt or wireless access point (WAP), is used to serve all wireless clients. The access
point is similar to a hub in the LAN star topology, except it provides network services
to wireless clients instead of wired clients. Because access points use a single communications
medium, the air, they broadcast all traffic to all clients, just as a hub would
do in a wired network. Typically, the access point itself is connected to a wired network,
so wireless clients can access the wired ae~vork.
The second wireless topology is the Extended Service Set (ESS), as shown at the
bottom of Figure I 0-21. An ESS is made up of two or more BSS networks. Thus,
using an ESS topology, wireless access can be expanded over a larger area. Each access
point provides wireless services over a limited range. As a client moves :iway from one
access poinr :ind closer to another, a process called roaming automatically allows rhe
client to associate wich the srronger access point, allowing for undisrupted service.
I 0.8.3 Trends
\Vireless cechnology has broughr explosive change co the IT industry and will concinue
co affect businesses, individuals, and societ)·. Even in the ever-changing world of
IT, it would be difficulr ro find a more dynamic area than wireless technology.
With the growing popularit)' of 802.1 1, many firms offer networking products,
services, and information. One of the most significant groups is the \Vi-Fi Alliance,
which maintains a website at www.wi-fi.org. According to che site, the Alliance is a
nonprofit international associ:ition formed in 1999 to certify interoperability of wireless
network produces based on IEEE 802. I J specifications. Products that meet the
requirements arc certified as wireless fidelity (Wi-Fi) compatible. The stated goal of
the Wi-Fi Alliance is to enhance the user experience through product interoperability.
Even though they have many advantages, wireless networks also have limitations
and disadvantages. For example, devices that use the 2.4 GHz band can pick up interference
from appliances such as microwave ovens and cordless telephones that use the
same band. More imporranr, wireless nerworks pose major security concerns because
wireless transmissions arc much more susceptible to interception and intrusion than
wired networks. These issues are discussed in detail in Chapter 12.
ln addition co \Xii-Fi, another form of wireless transmission called Bluetooth is very
popular for short-distance wireless communication that does not require high power.
Examples of Bluerooth devices include wireless keyboards, mice, printers, cell phone
headsets, and digital cameras, among others. People with Bluetooth-equipped phones
or tablets can even beam information ro each other and exchange digital notes.
Chapter I 0
System Architecture
340
I 0.8 W ireless Networks
.. -
i:J ... _ ·--- ··~- ~ --· - :. --
•
-~ .............
....
n
0
...
•
-
...
n
•
- ~·>
-
(Cc~
FIGURE I 0-21 The user in the upper sc:reen has moved out of the BSS
c:overage area and cannot communicate. In the lower sc:reen, the user roams Into
another ESS coverage area and the transition is seamless.
CASE IN POINT 10.3: S1 1 IDER IT SER\'ICLS
Spider IT Services specializes in cuscom network design and installation. Firms hire Spider to
do an overall analysis of their network needs, including a detailed cost-benefit scudy. Recendy,
a problem arose. One of Spider's clients complained that the relatively new network was too
slow and lacked sufficient capacity. Reviewing the case, Spider's top management realized that
the rapidly growing client had simply outgrown the network much earlier than anticipated. How
could this problem have been avoided?
r..,,...JID)r-..1-.. 4• 11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... .., .,. ..,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase l
Systems Design
I 0.9 Systems Design Completion
341
I 0. 9 SYSTEMS DESIGN COMPLETION
System architecture marks the end of the systems design phase of the SDLC. Recall
that in the systems analysis phase, all functional primitives were identified and documented
with process descriptions. The objective then was to identify the system's
functions and determine what each logical module would do, without actempring to
determine how that function would be carried our. ~1oving from analysis to design
tasks, the development process continued wirh consideration of output and user
interface design, dara design, and sysrem architecrure issues. Now, based on a clear
definition of system requirements and design, software applications can be developed,
documented, and reseed as parr of the systems implementation phase of the SDLC,
which is described in Chapter 11.
Developers must also consider system management and support cools that can
monitor system performance, deal with fau lt management, handle backup, and provide
for disaster recovery. These topics are covered in detail in Chapter 12.
The fina l activities in the sysrems design phase are preparing a system design specification,
obtaining ui.er approval, and delivering a presentation to mnnagement.
I 0. 9. I System Design Specification
The system design ~pecifiCltion is a document that presents the complete design for
the new information system, along with detailed costs, staffing, and scheduling for
completing the next SDLC phase-systems implementation.
The system design specification is the baseline against which the operational system
will be measured. Unlike the system requirements document, which is wrirten for
users to understand, the system design specification is oriented toward the programmers
who will use it to create the necessary programs. Some sections of the system
requirements documenr are repeated in the system design specificarion, such as process
descriprions, data dicrionar)• enrries, and data flow diagrams.
The system design specificarion varies in lengrh, so it should be organized carefully.
One rypically includes a cover page, a detailed table of contents, and an index.
The contents of the system design specification depend on company standards and
the complexity of the system. A typical system design specificarion includes rhe following
sections.
I. Management summary. TI1is is a brief overview of the project for company
managers and executives. It outlines the development efforts to dare, provides a
current status report, summarizes project costs, reviews the benefits of the new
system, presents the syscems implementation schedule, and highlights any issues
that management will need to address.
2. System c<>mponents. This section contains rlie complete design for the new
system, including the user interface, outputs, inputs, fi les, databases, and ncrwork
specifications. Sou rce documents, reporr and screen layouts, DFDs, and a ll orher
relevant documentation should be included. Jn addition, the requirements for all
support processing, such as backup and recovery, start-up processing, and file
retention should be included. If the purchase of a software package is part of the
strategy, include any interface information required between the package and the
system being developed. If a CASE design tool is used, design diagrams and most
other documentation can be produced directly from the tool.
3. System e11viro11me11t. This section describes the constraints, or conditions,
affecting the sysrem, including any requirements that involve operations, hardware,
systems sofrware, or security. Examples of operational consrramts include
Chapter I 0
System Architecture
342 I 0.9 Systems Design Completion
transaction volumes thar muse be supported, data storage requirements, processing
schedules, reporring deadlines, and online response rimes.
4. lmpleme11tation req11ire111e11ts. In chis secrion, scare-up processing, initial data
enrry or acquisition, user craining rcquiremenrs, and software tesr plans arc
specified.
5. Time and cost estimates. This section provides derailed schedules, cost esri·
mates, and sraffing requiremears for the systems development phase and
revised projections for the remainder of the SDLC. Toral cosrs-ro·date for the
project and a comparison of those costs with prior esrimates are also presented.
6. Additional material. Other material can be included at che end of the sysrem
design specificarion. In this section, docu1nents from earlier phases can be
inserted if rhey would be hclpfuJ ro readers.
I 0.9.2 User Approval
Users must review and approve the interface design, report and menu designs, data
entry screens, source documents, and ocher areas of the system th<H affect them. The
review and approval process continues throughout the systems design phase. When
the design for a report is complete, the systems analyst should meet with users to
review the protorype, adjust the design if necessary, and obtain wricten approval.
Chapter 8 contains guidelines and suggestions about report design.
Securing approvals from users throughout the design phase is very important.
Thar approach ensures char a major task of obtaining approvals is nor left to rhe end,
it keeps rhe users involved with the system's development, and ir provides feedback
about wherher or nor the project is on target. Some sections of rhe sysrem design
specificarion might not interest users, bur anything rhar docs affect them should be
approved as early as possible.
Ocher IT deparrmenr members also need to review the system design spccificarion.
IT management will be concerned with staffing, costs, hardware and sysrems somvare
requirements, network impact, and the effect on the operating environment when
the new system is added. The programmjng team will want co get ready for its role,
and rhe operarions group will be inreresred in processing support, report distribution,
nerwork loads, integration with other systems, and any hardware or software issues
for which they need to prepare. As a lways, a systems analyst must be a good communicator
co keep people up to dare, obtain their input and suggestions, and obtain
necessa ry approvals.
When rhe system design specification is complete, the document is disrribured to a
rargec group of users, IT deparonent personnel, and company management. Ir should
be distributed at lease one week before a presentation to allow the recipients enough
time to review che material.
I 0.9.3 Presentations
Usually, the systems analyst will give severaJ presentations ar the end of the systems
design phase. The presentations offer an opportunity to explain the system, answer
question~, consider comments, and secure final approval.
The first presencation is to the other systems analysts, programmers, and rechni·
cal support staff members who will be involved in future project phases or operational
support for the system. Because of the audience, the presenration is rechnicall>•
oriented.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase 3
Systems Design
10. 10 Summary
343
The nexr presenrarion is to department managers and users from departments
affected by the sy rem. As in the first presentation, rhe primary objective is to obtain
support and approval for the systems design. This is nor a technical presentation; it
is aimed ar user inreracrion wirh rhe system and management's interest in budgers,
schedules, staffing, and impact on the producrion environment.
The final presentation is delivered ro managemenc. By the rime rhis presenrarion
is delivered, all necessary approvals should have been obtained from prior presenranon
, and the users and IT department should be on board. Jusr like the managemenr
presentation at rhe end of rhe systems analysis ph ase, this presenranon has a key
objecnve: ro obrain management's approval and support for the next development
step-systems implementarion-including a solid commitment for financial and other
resources needed.
Based on rhe presentation and the data subniitted, management might reach one of
three decisions: proceed with systems development, perform additional work on the
systems design phase, or terminate the project.
The new accounting system is operational, but feedback from users has been negative.
The most common complaint is chat the system is not user-friendly. Some people in the
IT department think that more user training would solve the problem. However, the IT
manager is opposed to a fresh round of training. "Let's just set up the network to monitor
the users' keystrokes and mouse clicks, and see what the patterns are," he suggested. "We
can analyze the data and come up with tips and suggestions that would make the system
easier to use."
Your initial reaction is chat the IT manager is wrong for two reasons. First, you believe
that monitoring would not be an effective method to learn what users really want. In your
view, that should have been done in the system requirements phase. Second. you are bothered
by an ethical question: Even though the proposed monitoring would involve company
business, the company network, and company time, you feel chat many users would resent
the unannounced monitoring and might feel that their performance or other computing
activities were being appraised without their knowledge.
The IT manager has asked to you to write up a recommendation. What will you say
about the ethical question chat troubles you!
I 0.10 SUMMARY
An information system combines hardware, software, data, procedures, and
people into a system architecture. The architecture translates the system's logical
design into a physical srrucrure that includes ha rdware, software, and processing
methods. The software consists of application programs, also called applica tions,
which handle rhe input, manage the processing logic, and provide the required
output.
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
Chapter I 0
System Architecture
344 I 0.10 Summary
Before selecting a system archirecrure, rhe analyst must consider FRP, initial cosr
and TCO, scalabiliry, web integration, legacy interface requirements, processing
options, sccuriry issues, and corporate portals.
ERP c tablishes an enterprise-wide strategy for IT resources and specific
srandards for dara, processing, network, and user interface design. Companies can
extend ERP sy terns to suppliers and customers in a process called SCM. A systems
analyst must assess initial cost and TCO and ensure that the design is scalable.
Scalability means that a system can be expanded, modified, or downsi1ed easily
to meet business needs. The analyst also musr consider 1f the system will be webcentric
and follow Internet design protocols and if ir musr interface with existing
S)'Stcms, called legacy systems. Sysrem security is an imporranr concern throughout
the design process, especially for e-commerce applications that involve credit card
and personal data. Processing options affect system design and resources required.
The planned architecture can include a corporate portal that is an entrance to
a multifunction website. Corporate portals can provide access for customers,
employees, suppliers, and others.
A system architecture requires servers and clients. Servers arc computers that
supply data, processing services, or other support to one or more computers called
clients. In mainframe architecture, the server performs all processing, and terminals
communicate with the centralized sysrem. Clients can be connected in distributed systems
to form LANs or WANs.
Client/server architecture divides processing berween one or more clients and a
central server. In a typical cliear/servcr system, the client handles the entire user interface,
including data entry, data query, and screen prescnrarion logic. The server stores
chc dara and provides dara access and database managemcnc funccions. Applicacion
logic is divided in some manner between che server and rhe clients. In a rypical client/
server inreracrion, che client submits a request for informarion from the server, which
carries our the operation and responds to the client. Compared to file server designs,
clienr/~erver systems are more scalable and flexible.
A fat, or thick, client design places all or most of the application processing
logic at the client. A thin client design places all or most of the processing logic at
the server. Compared with mainraining a cenrral server, TCO for fa1 clients can be
higher than for thin clients because of initial hardware and sofcware requirements
and the ongoing expense of mainraining and updating remote client computers.
However, the foe clienl design may be simpler to develop, because the architecture
resembles rradi1ional file server designs where all processing is performed at the
client.
Client/server designs can be rwo-tier or three-tier (also called 11-tier). In a two-
1ier design, the user interface resides on the client, all data resides on the server,
and the application logic can run eit11er on the server or on rhe client or be divided
between the client and the server. In a three-tier design, the user interface runs on the
cl ient and rhe data is stored on the server, just as with a two-tier design. A three-tier
design also has a middle layer between the client and server char processes the client
requests and translates them into data access commands that can be understood and
carried out by the server. T he middle layer is called an application server, because
it provides the application logic or business logic. Middleware is software that
connects dissimilar applications and! enables them ro communicate and pass data.
In planning the system design, a systems analyst also must consider cost-benefit and
performance issues.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "-> - "'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,..., ~ ..,._................ ~ .........""_......-................. ..__ __....................... ~~·~---- ···---~~ - .,.-"~...........--......
Phase l
Systems Design
I 0.10 Summary
345
The Internet has had an enormous impact on system architecture. In implementing
a design, an analyst should consider e-commerce architecture, the availabiliry of
packaged solutions, and service providers. The anal)'St also should understand the
concepts of cloud computing and \Veb 2.0, which are shaping the future of Internet
computing. Cloud computing u~es a cloud symbol co represent the Internee. The
cloud, which is transparent to u er , provides a hardware-independent environment
where remote server<; handle all processing and computing functions, and the lnremer
irself replaces traditional nerworks. \Veb 2.0 refers co a new generation of the web
thar encourages people co collaborate, interact, and share information more dyn::imically.
Web 2.0 1s fueling rhe explosive growth of social networking and group-based
commun1canons.
The mosr prevalent processing method today is online processing. Users interact
directly with on line systems th::it continuously process their transactions when and
where they occur and conrinuously update files and databases. In contrast, batch systems
process transactions in groups and execute them on a predetermined schedule.
Many online systems also use batch processing co perform routine tasks, such as handling
reports and accounting entries.
Networks allow the sharing of hardware, software, and data resources in order to
reduce expenses and provide more capability to users. T he network is represented by
a seven-layer model called rhe OSI model.
The way a network is configured is called the network topology. Nerworks typically
arc arranged in five patterns: hierarchical, bus, ring, star, and mesh. A single
mainframe computer usually controls a hierarchical network, a bus nerwork connects
workstations in a single-line communication parb, a ring network connects workstations
in a circular communication path, a star nerwork connects worksrarions to a
central computer or networking device called a s'vitch, and a mesh nerwork connects
every network node to every other node. Wireless networks, or \X'LANs, based on
IEEE 802. I I standards, have seen explosive gro,vth, especially in situations where
the flexib1liry of wireless is important. The IEEE 802.1 lac standard uses 1\ill~I O, or
multipath rechnolog)', which has increased wireless network speed and range. \X'LANs
ha,·e two major topologies: BSS and ESS. Although wireless networks are very popular,
they do have some limitations and disad\•antages, includ111g interference and secunry
concern~.
The system design specification presenrs the complete systems design for an information
~yscem and is the basis for the presentations that complete the sy~tem~ de~ign
phase. Following the presentations, che project either progresses to the systems development
phase, requires additional systems design work, or is terminated.
Chapter I 0
System Architecture
346 Key Terms
Key Te rms
802.11 A famil) of wireless network specifications developed by 1he ll'fl:..
802.1 lac An IEE.I:. wireless network specification, appro,·cd in 2014, that uses c,p.mdcd MIMO technol·
og) to ach1e\e rheoreucal speeds of nearlf ~Gbps \\bile incrcasrng the wireless range and i> backward
companblr w1rh 802.1 la, b, g, and n.
802.11 b An IFEE w1rdc.,, network 'pcoficatton 1111roduced 111 1999 ha"4:d on a fn:c.iue119 of 2.4 Cliz
and maximum handwidrh of 11 Mbp>. Replaced by 802.1 lg.
1!02. I lg \n IFFf. wircle<.• network 'l>Ceification inrroduccd in 200.l ha\cd on a frequency of 2.4 C.H1
and maximum handwidrh ot 54 Mbps; compatible with and replaced 802.11 h, and ha' hcen super·
-eded hy the 802.11 n \londard.
802.l ln An ILEE wireless nerwork specification :idopred in 2009 1h.1t uses J\UMO 1echnology 10 achieve
speeds of 200+ Mbps wlule increasmg rhe wueless r.inge and LS backw.1rd companble wuh 802.1 la, b,
and g.
accc~~ point A ccnrral wireless dC\'1ce rhar provides nerwork services ro wircles~ cl1ems.
ap1llicarion Pnrt of rhe infonnarion sy,tcm, an application handles rhc mpur, mnnnµcs rhc procc"ing
logic, and provides rhe required ourpur.
appli"uion logic The underlying blLsiness rules or logic for an application.
application scf\cr A cornpurer acring as "middlemen" between customers and an organizltion's da1a·
bases and .tpphc:uions. Ofren used to facilit.ire complex business lt'.lllSJCtlons.
b.ind" idtb lbe amoum of data that 1he system can handle in :i fixed ume penod. Bandwidth reqwre·
menrs are expressed tn bus per second {bps).
Ba\I< 'icn ice \<I (B<,'il A wirdcs' ncrwork configuration in wh11:h a central wtrdc'' dcv1<:c called an
a4'.ccss point is uS<"d ro 'iCrve all wfreless clienrs; also called infrastrunure mode.
Bluctnoth \ form of wireless rransmission ,-ery popular for short·di,tancc w1rclc" communication thar
doc' nor require high power.
bu$ nel\\Ork A computer nerwork where a single communication path connect) the mJinframe computer,
server, worh1a11olb, and peripheral devices. loformauou is rr:l.lbmmed m either dtre.:tion from an)
works1anon to another worksraaoo, and any message can be ducc1cd 10 J sprc1f1c de\ICC.
bu\incs> logic Rules reflecrmg the operational requuemenrs of the busmess that determme how a S)·s1em
handles data and produces useful information. E.xamples include adding 1he prop<'r .imoum of sales
tax 10 invoices, calcuforing customer balances and finance charges, and determining whether a cus-
1omer is eligible for a \ olwue-bascd discount.
cl1cn1 \Vork..ia1ion 1ha1 u~crs interact within a client/server de>ign. The": work~tation,, <>r ~ompucer\, arc
'upplicd da1a, procc,>ing scrv1<;cS, or other support from other compu1cr>, 'ailed .,ervcr\.
cl1cn1/,crvcr architecture Generally refer., to systems that divide procc~;,IDJI between one or more net·
worked dienr~ nnd a cenrral ~erver. In a typical client/ server system, rhc dicnr handlc5 rhc entire user
imerfoce, including dnrn cnrry, darn query, and screen prc~enrnrion logic. The ~crvcr ~rorc~ the dnrn
and provides da1a access and database managcmcnr functions. Applicniion logic is divided in some
manner between the ~crvcr and the clients.
corporate ponal A website rhat provides V•triou; tools and fe.itures for .Lil orgnnitauon's customers,
employees, ~upp l icrs, .tnd the public.
d.ita frame~
rrJff1c 0 1 a compurer network.
dara procC\\ing center A ccnrral location where physical data was delivered or trJnsmined in ~ome man·
ncr and entered inro rhe 5ystem. Uo;ers in rhe organi7.at1on had no input or ourpur capabihry, except
tor primed reporrs that \\ere distributed by a corporate IT dcp.inmcn1.
d..,mhu1cd dat.iha•c management >t>lcm !DDB.\.tS) A S)Stcm for managing dat.1 >lorcd .11 more than one
l<><:.mon. U;mg a DDB~S offer~ several advantage;,; Dat.i >1orcd do>er 10 users can reduce nc1work
... ~JD»(" .............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:..............._ .... ~---11rt~ -,..~---~~
.........,.__.._..........., ..,,.........,..~_.......,_,_,_._....~~.. C'ftlpll"&.-..,~fw ....._ ..........___,_ • .......,......................
Key Terms
Phase l
Systems Design
347
traffic; the sysrem 1s sc.1lable, so new dara s11es can be added without reworking the system design;
and with dat.1 stored in \'Jrtous locanons, the system is less likely to experience a car.1Stroph1c failure.
A potcnnal d1sad"amage of d1smbutcd data storage in"olves data security. Lt can be more difficult to
m.llnwm ~omrob and M.mdards "hen data is stored in various loc.uioos.
dLStnbutcd system C.ompan)'"" 1de S)Stcms th,tt are connecred by one or more LANs or \\IA..'-s. lbe
capab1L1th of a d1smbu1cd system depend on the power and capacity of the underl)mg data communicatton
network.
cntcrpriw rc\ource plannin11 (ERP) \ proces~ that establishes an emerprio;e-wide ~tratq,')' for IT
re-.our~c\. ERP defines a 'pet:ific ar.:hitecrure, including scandard.' for data, proces>mg, network, and
U\er 111tcdac:e dc'>l)\11.
[xtendcd Service \cl (E.\S) A wircle" nc1work configuration made up of rwo or more BSS nc1worh,
which nlluw' wircle" client• to roam from RSS to BSS.
c"tcn,ibil11y Refer\ mo ')'Mcm'• nbility m expand, change, <>r downsize ea~ily to meet the chnnging
need' of a bu~inc'' cmcrpri,c. Also known as 'calability.
for diem A network design drn1 locMes all or most of the application processing logic at the client. Also
c.1lled a truck client design.
gatewa) ( 1) lo business process mg modeling notation, a fork in the process. allo" mg the flow to go one
w.t) or .rnother. (2) A router or other nerwork device used to connect to a larger, d1ssin11lar rypc of
network. such .is the lntcruet.
gigab1ts per second tGbps) A bandwidth or throughput measurement.
glueware Su middlew:irc.
hicrarcharnl nctnork A network Jc,ign where one compurer <rrpicallr a m:tinframe) control; the entire
nemor~. 'ia1cll1tc computer\ or 'ervcn, control lower levels of procc~ml\ and network devic:c,.
HlTP/2 The \CCOnd ma1or \'Cl'\ion or the network protocol used by the web. Rdca,cd '1\ :I 'tandarJ 1n
2015.
hub The center of a star network. Switches in modern nerworks ba\e large!> replaced hubs.
infrJstructurc mode A wireless network configuration in which a central wireless dencc called Jn access
polllt is used to sen e all wrrele~s clients; al>o called BSS.
lruutute or Lle•trical and tlectronics Engineers (1.£IT} A profess1on.1l Of!rauuatton that ~1abhshes srandard,
for tcle<:ommunic:arion•.
Internet npcr:llanjl 'Y'ICm Parr of the Web 2.0 model, an on line compunng environment created by
onlinc communitie• and services, bao;cd on layer• of shared inforn1arion that can contain rcxc, 'mmd
hrte!>, image-., and video clap•.
knee ur 1hc L'Ur\c t\ t)crformance char.1cccriscic of a clienc/~rver computing environme111. Clicnlf~cr•cr
rc,pon~c time' 1cnd IO incrcao;e gradually and then rise dramatically a> the system nears 1r' capacity.
The point where response rimes increase dramatically.
legacy da1a The d<1ra associated with an older, less technologically advanced legacy sysrem.
lcgaC) ~y~tcm Term used to describe older systems that are rypically less technologically advanced than
currently Jvailable s)>rems.
local area ocl\,otk (LAN) A ncrwork design chat allows the sharing of data and hardware, ~uch n; printers
.111d ;•anner;,. Advan,es 1n dJt:t commumcanon 1eclmology ba\e made ar po;;1ble to create powerful
nerworks 1h.11 u~ ~tell1te link~, high-speed fiber-opric lines, or the lntemer to ~hare data.
logical topolORY I\ view ol .1 nc1Work rhac describes rhe way rhe components inreract. rather than the
actual nerwork cabling and connecrions.
mainframe archatc•ture A system Jc.ago where chc server performs all rhe proces;ing.
m~abll\ per ~ccond ( \lbp, A band\-.Jtb or throughput mcasllremcnt.
... ~JD»(" .............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:. .............._ .... ~---11rt~ -,..~---~~
.........,.__.._..........., ..,,.........,..~_.......,_,_,_._....~~.. C'ftlpll"&.-..,~fw ....._ ..........___,_ • .......,......................
Chapter I 0
System Architecture
348 Key Terms
mc\h nemork A ne"•ork design in "hich each node connects m c•ery ocher node. \X'hilc this design is
\Cl) rcltable.111s abo expensl\e to install and main!allL
m1ddk,•Me Softw.tre 1h.tt connects d1ss1m1lar appltcaaoos and enables them to communicate and
exchange dara. l'or example, middleware can link a depamncntal database to a Web server thar can
be accessed by client computers ~;a rhe lnrcmet or a company mrranct. Su also glucwarc.
multipath dc,ign A ne"''ork design char relies on multiple data paths to increase bandwidth Jnd range,
u~mg ~UMO technology.
multiple 1nput/mul11plc ourput (MlMO) A wireles; ncru•urkmg c ... <hnolojt) 1n~uqwrated in the IEEE
802. 11 n and 802.1 lac \tandard' that u>e' multiple data \trcam\ and multiple antenna' ro achieve
higher tran,mi"ion 'peed~ and substantially increase wire l c~> range over earlier <iandard,.
nct·ccnnic computing A di~rributcd environment where application' and data arc down l oad~d from
\Crver' :ind e..:changcd wirh peer\ acros$ a ne"vork on an :L\·nt:eded ha\i\.
ncmork wpolog} The W:l)' a nerwork i> configured. LAN and \VAN networb cypically nre nrrnnged in
one of four common parccrns: hierarchical, bub, star, :ind ring.
node A ph)'s1cal device, wired or wireless, rhar can send, receive. or 111Jn.1ge network d,11,1.
11-11cr dc~ign A mulnlcvel design or archirecrure. For example, rhree·uer design~ also .trc called n·ricr
designs, to u1dic:11c char some designs use more 1hao one incermediare IJycr.
onlinc sysccm 11.mdling cr.msactioos when and where they occur and providing ourpur directly ro users.
Bc.:au'c it i, inrerntrive, on line proce~bing avoids tldavb and allo\\., a conbt.1nt dialog bccwten the
u'cr and the ')''tcm.
Open <;~,tern' Interconnection (OST) model Describes how data actually move-. from an application on
one computer roan application on another necworkcd compmcr. The OSI con'i'r~ of ~ven layers,
and c.-ach layer perform' a 'pecific function.
ph) \leaf topolog, The Lonnet.-rion 'rrucrure c>f an acrual network\ cablmi;.
pbrfonn A specific lwrdware and software coofiguraaon char supports l r bus111ess goals such .ts hard·
"are connecunry and easy tnregraciou 0£ furure applicauons. Also called an environment.
po1nt·of·sale {PO!>) Ilic part of an information system that handles datl) sales transaction' and ma111·
tains the onltne mvemory file.
portal An tntrancc ro a multifunction website. After encenng a portal, a user can navig;tce ro a desrina·
rion, using' .trious tools and features pro,ided by the portal desig11er.
pro~y \cncr A ne1work111g device that provides lncerner connccrivtty for 1111ernal I AN u'er..
rin11 nct\\orl. A network re>cmbling a i;ircle of computers rhal communu:ate with each other. A ring net·
work often '' u<cd when proccss111111s performed at local site• rather than ar a ccnrral location.
roamin11 A proce~< rhac allows wireless clicnrs to move from one acccs< point to anorher, auromnricnlly
as<oci:iting wirh rhe srronger acce<~ poinr· and allo \\~ng for uninterrupted ~crvicc.
router A device that connects ne~ork segments, determines the most efficient 1.1.lra pnrh. and guides the
flow ot dJra.
sc.11.lbiltt) A characteristic implying rhe sysrem can be exp;rnded, modiCied, or downsized to meer rhe
r.1 p1dl) changing need< of a business enrerprisc.
~c.1ling on demand The abiliry co macch network resources to needs at any given umc; a feature of cloud
computing. For example, during peak loads, additional cloud ~erver• migh1 come on line aurom.ui·
cally to wpporr mcrcabed workloads.
\cm.imk \\Cb An evolunun of rhe web where the d0<;umen1• •hared on the Internet have .emannc•
(meaning) and not just >ynrax (1-ITML tn."lrkup). Sometimes called Weh 3.0.
~cr"\cr
Compurer m a chent/scr"\'Cr destttn rhat suppbcs data, procc~mg, and ser"\1ccs ro chcnr
"ork~tanon<.
... ~ JD» (".............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:. .............._ .... ~---11rt~ -,..~---~~
.........,. _ _ .._..........., ..,,.........,..~_.......,_,_,_ ._....~~.. C'ftlpll"&.-..,~fw ..... _ ..........___,_ • .......,......................
Phase l
Systems Design
Key Terms
349
stand -~lonc When personal computers first appeared ID large numbers ID the 1990, users found that rhey
could run rhe1r own word processing, sprcadsheer, and database apphcarions. without assistance from
tht' IT group, an a mode called stand-alone computing.
~tar nL"t"ork A ncrwork de,ign ,~,th a central device and one or more workstation'> connected w 1r in a
way that torm' a 'it.lr panern.
'uppl~ cham mana11cmen1 (SCM) The i:oordinacion, incegrarion, and management of material'>, mformation,
and finance' a\ they m(l\e from 'upplier~ to customers, both\\ 1thin and between umipamc,.
In a totally mtcgrarcd \Upply cham, a cu.,"tomcr order could cause a produL"tlon plannm11 'Y'tcm ro
..chcdulc a work order, which in rum could trigger a call for certain pan.. from one: or more 'upplier\.
switch Cenrral networking device an ,, srar nerwork, which manages the network and acts as a conduit
for all network traffic
system architecture A rransl.111011of1be logical design of an information sysrem into ~1 physical structure
that iududes h.irdw.ue. sofrware, network support, and processing methods.
'>'tern dc,i11n \pccifti:ation A document tl1:1t r1·c,c 1H~ rhe complete dco,ii;n for rhe new 111for111n1ion 'Y~·
tcm, along wirh dcta1lcd cmr., 'taffing, and 'chcduling for completing the nc"X"t SOLC pha,c, 'Y'tcm•
implementation. Al•o cnlled the technical design •pecification or the detailed dc•ign specification.
thick client A ')'•tcm Jc,ign thnr locate• mo•r or all of the application proce,,ing logic at chc client. Al•o
called a lat dienc Je,i!,'11.
th.in diem A sysrem design that locates most or JIJ of the processing logic ar the server.
In J chrtt·tier design. the user 1merface runs on che cl.tent aud the d.ua lS stored on the
sener, 1ust as in a rwo-ner des1y,11. A three-nee design also has a nuddle byer between the client Jnd
server rhat processes the chcnr requests and transl.ares rhem into data access commands th.11 c.in be
unde~tood and earned out h) the server.
thr~e - tier d•~igo
tramparcnt A network ;, rran,parcnr i( a uo;er •ee• the daca as if it were stored on hi' or her own
work\tariun.
mo-uer de-.1gn A network de"gn where rhe u,er 1ncerface resides on the client, all data n:,iJ.,., on the
'>Ctver, and the apph.:atton loi;k .:an run either on the ,,.-rvcr or on the client or be divided between the
client <1nd the -.cn·cr.
"cb-ceotnc A strategy or approach that emphasizes a high degree of inregrauon wnh other web-based
component,. A web-cenrric archnecrurc follows Internet desjgn protocols and cnabks a company to
integrate rhe ne\\ applicanon inro its e-commerce strategy.
wide area oemork (\\AN) A network sp.mning long dmances chat can link user> who art commenrs
.ipan.
~r, . 11 Alli.1ncc A nonprofit international a>,ociation formed in 1999 to c:crri(y i111eroperJbil1ry of wire·
lc's network product~ ha~cd on IF.FE 802.11 ~pccificarions.
wiki A wch- ha~cd repository of information [har anyone can access, contribute to, or mudif)'.
\'\'i-1\1:" ll· EE 802.16 speci(ic.11io11~. wh ich .ire expected co enable wireless mulrimcd1.1 npplic.mo11~ w1rh
a range of up to 30 male,.
wirclcs; occc;; pomt (WAPI A cenrral wireless device thar provides network services ro wircles~ clients.
Alsu called Jn Jcce;s point.
\\irclc" ftdclit> (\'l.'i-Fi) F.11111ly of popular IEEE LAN wireless nerworking standard;, abo known as
802. l I, mdudmg 802.1 I a, b, g, and n. 802.11 n is the most rt.'Ccnt Manda rd. 802.11 ac and !!02. I I ad
arc proposed new standard~.
wirclc" local area ncmorl.. ( \'I. LAN) A wircle\s ncrwork that is rclanvdy mexpcns"·e to tn~tall .md i<
well ~mtcd to workgroup' and users who are nor anchored to .i spcciftc desk or locatton.
... ~JD»(" .............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:..............._ .... ~---11rt~ -,..~---~~
.........,.__.._..........., ..,,.........,..~_.......,_,_,_._....~~.. C'ftlpll"&.-..,~fw ....._ ..........___,_ • .......,......................
Chapter I 0
System Architecture
JSO
Exercises
Exercises
Que stions
I. If )'OU had to rank rhc items in the archirecrure checklist, from most important to least important,
what would )OUr liM look like?
2. Whar are the rhree functions rhat every business iniormation srstem must carry our, irrespective of
system architecrure?
3. Whar ts client/server arch1recture?
4. What has been the impact of rhe Internet on system architecture?
5. What are the differences between in-house e-commerce development with packaged solurion~ and
service providers?
6. What are the advantages of on line and batch processing, respectively?
7. Explain the five main network models.
8. What functions do routers, gateways, and proxy servers serve in a nerwork?
9. What role do srandards play in wireless networking?
10. List the sections of a system design specification and describe the contents.
Discussion Topics
I. How i~ the proliferation of mobile devices that are locally powerful, use app) in)tead of fullfledged
Jpplications, and rely on wireless network connectivity changing sy)tcm architecture design
considerations?
2. E-commerce has seen explosive growth in recent years. \Vhat are the most important reasons for this
trend? \Vi ii it continue? \'Vhy or why not?
3. ls batch processing )rtll relevant? Why or why not?
4. What are the main differences bcn,1een the BSS and ESS wireless topologies?
5. One manager scares, "\'Vhen a new S)'Stem is proposed, I want a wrinen report, not an oral presentation,
which is like a sales pirch. I only want to see the facts abouc coses, bcnefirs, and schedules.~ Do
you agree w1rh thar poinr of view?
Projects
1. Visit the IT department at your school or a local company ro learn about the network they use.
Describe the network and draw a sketch of the configuration.
2. Prepare a 10-minutc ralk explaining Web 2.0 and cloud computing to a college class. Using the text
and your own Internet research, briefly describe the five most important point~ you will include in
your presentation.
3. Perform research on the Internet to identify a service provider that offer~ web- ba~ed busincs5 solutions,
and wrire a reporr describing rhe firm and its services.
4. Perform research on the Tnterner to learn about emerging trends in wireless networking and typical
costs involved in the install::irion of a wireless LAN.
5. Examine the role wireless networks arc having in the developing world. Why are some pl::ices bypassing
LANs and physical cabling altogether and moving ro a wireless S)'Stem archirecrure? What are the
advantages and disadvantages of this?
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
PHASE
SYSTEMS IMPtEMENTA~ION
Systems implementation is the fourth of five phases in the systems development life cycle. In
the previous phase, systems design, a physical model of the system was developed. The output
of that phase. the systems design specification, is used as input to the systems implementation
phase. where a completely functioning information system is created.
Successful systems implementation requires considerable effort. After all, without a working
system delivered to the customer, all other phases of the SDLC have little meaning. In
software engineering. the construction phase is often jokingly referred to as "a small matter of
programming"- but of course it's no small matter at all.
Chapter 11 focuses on managing systems implementation throughout the useful life of the
system. This includes quality assurance, application development (structured. object-oriented,
and agile). coding. testing, documentation, and system installation.
351
r..,,...J1DOr-..1-.. 4• 11_.. • ...__. ~ ....... .,...~ • ........._ . ... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... .., .,. ..,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
Managing Systems
Implementation
Chapter I I descnbes the systems implementation phase
of the SDLC. Managing systems Implementation involves
paying constant attention to quality assurance throughout
the activities of application development. coding, testing,
documentation, and installation. The system design
specification serves as a blueprint for constructing the
new system. The initial task Is application development.
which requires systems analysts and programmers to
work together to construct the necessary programs and
code modules. Before a changeover, the system must be
tested and documented carefully. users must be trained,
and existing data must be converted. After the new
system is operational. a formal evaluation of the results
takes place as part of a final report to management.
The chapter includes three "Case In Point"
discussion questions to help contextualize the concepts
described in the text. The "Question of Ethics"
concerns with an issue that all testers have to deal:
when to stop testing. In the example, there is an ethical
question raised about whether or not a 90% pass rate
is sufficient to ship the product, assuming the remaining
bugs will be fixed once the system Is operational.
Whe11 you fi11ish this d1apter, you sho11/d be able
to:
1. Explain quality assurnnce and three techniques
co help improve Lhe finished product
2. Ourline application developmenc
3. Appl)' structured development
4. Apply object-oriented development
5. Apply agile development
6. Explain coding
7. Explain unir, integration, and system resting
8. Diffcrenti:ue between program, system, operations,
and u&er documentation
9. Explain the role of online documentation
I 0. Describe rhe five tasks involved in sysrem
installation
c
I I. I
I 1.2
I 1.3
I 1.4
I 1.5
I 1.6
I 1.7
11.8
11.9
T
Qualiry Assurance
Application Developmcnr
Structured Development
Objecr-Orienred Development
Agile Development
Coding
Testing
Case in Point 11.1: Your Move, Inc.
Documentation
lnsralla ti on
Case in Poinr I 1.2: Globa 1 Cooling
Case in Po inr 11 .3: Yorktown lndusrries
A Question of Ethics
11.10 Summary
Key Terms
Exercises
r..,,...JID)r-..1-.. 4• 11_.. • ...__. ~ ... . ... .,...~ • ........._ . ... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., .... ............. .._ ... .., .,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ .... .................... ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
if' uuo 4
y.st:o1ns; rnp1o:n
I 1.1 Qualicy Assurance
f f 1 ll I ITV -.
353
In toda)''S competitive business environment, companies are intensely concerned
with the quality of their products and services. A successful organization must
improve quality in every area, including its information systems. Top management
must provide rhe leadership, encouragement, and support needed for high-quality
IT resources.
No marrer how carefully a system is designed and implemented, problems can
occur. Rigorous testing can detect errors during implementation, bur it is much less
expensive ro correct mistakes earlier in che development process. The main objccrive
of quality assurance (QA) is co avoid problems or co identify chem as oon as possible.
Poor qualiry can result from maccurace requirements, design problems, coding
errors, faulry documentation, and ineffecrive cesring.
To improve rhe finished produce, sofrware systems developers should consider best
practices in sofrware engineering, systems engineering, and incernarionally recognized
quality sr:1ndards.
I 1. 1.1 Software Engineering
Software engineering is rhe disciplined application of engineering principles to the
creation of complex, long-lived applications. le is an amalgam of people, process, and
technology. Software engineering is broader than just development. Ir includes five
technic:1l activity areas: requirements, design, construction, testing, and maintenance
and evolution. Jc is supported by nontechnical ac1tiviries such as cost and effort estimation,
project management, and process improvement.
The website for rhe Sofrware Engineering Insricure (SEJ) ar Carnegie Mellon
University is shown in Figure J 1-1. SEI is a leader in software engineering and
provides quality standards and suggested procedures for software developers
and systems analysts. SEl's primary objective is ro find better, faster, and lcssexpensive
methods of software development. To achieve thar goal, SEI designed an
influential ser of software development standards called tbe Capabilit) Maturity
M odel (C~lM ) , which has been used successfully by thousands of organizations
around the globe. The purpose of the model is ro improve software quality, reduce
development rime, and cur costs. The five maturity levels of the software CM~1 arc
shown in Figure 11-2.
After rhc original software CMM was released and updated, orher CMMs were
introduced. Evcnrually the SET csrablished a new model, called Capability Maturiry
Model Integration (CMMI)•, that integrates software and systems development
into a much larger framework. The CMMI tracks an organization's processes,
using Five maruriry level~, from Level I, which is referred to as unpredicrable,
poorly controlled, and re:1crive, ro Level 5, in which rhe optimal result is process
improvemenr.
11.1.2 Systems Engineering
Systems engineering nor only builds upon software engineering bur also includes
ocher parts of the overall sysrem, such as hardware, networks, and interfaces. Trade
organilarions such as INCOSE and the IEEE Systems Council provide guidance on besr
practices :111d emerging technologies in systems engineering. As shown in Figure 11-3,
systems analyses can bcnefir from a holistic approach to large-scale problem solving by
adopting a broader pcrspccrivc.
354
I I. I Quality Assurance
(.ar---llrlJ..nlal\rnih
~~ln<toMP
FIGURE 11 -1 The Software Engineering Institute at Carnegie Mellon University has had profound
Influence on software engineering research and pracoce.
~ c." ... "
Process improvement
strategies defined and used
Level 5
Op11m1z1ng
Quality management
strategies defined and used
Level4
Managed
Level 3
Defined
Process management
procedures defined and used
Level2
Repeatable
Product management
procedures dellned and used
Level 1
Initial
Essentially uncontrolled
FIGURE 11 · 2 The CMM has five maturity levels. from Level I (1nldal), which is
essentially uncontrolled development. to Level S (opamiz1ng). In which process
Improvement strategies are defined and used.
~~ c;c.,, ... ,
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
I 1. 1 Qualicy Assurance
if' uuo 4
y.st:o1ns; rnp1o:n
355
WHAT IS SYSTEMS ENGINEERING?
Systems .ngonttrs •re M the heart of ueatJng successful new Systems TMy are responsible for the system concept.
Mehotect~ •nd design. They •Nly?e and manage compluoty and risk. TMy dKide how 10 menure whether the deployed
System actually works as lntendtd. They are responsible for a mynad of ocher facets of system ueatoon. Systems
engoneenng Is the d•scophne that makes th~ succl!SS possible - thetr tools, techmques, methods. knowledge, standards.
pnncop~. and concepts The launch of successful Systems can invariably be traced to ~trw and effearw systems
eng1neenn1
FIGURE 11-3 INCOSE's view of systems engineering.
So1.lrceJ INC°O~( !Pl I 1•""' C ""I' lf> ~)' ~ 1 F 1! ''11
I 1. 1.3 International O rganization for Standardization
\Vhar do automobiles, water, and software have in common?
Along with thousands of other produi;:ts and servii;:es, they are
all covered by standards from the International Organization
for Standardization (ISO), which was discussed in Chapter 9.
ISO standards include everything from internationaUy
recognized symbols, such as those shown in Figure 11-4
to the ISB1 numbering system that identifies this text. In
addition, ISO seeks to offer a global consensus of what
constitutes good management practices that can help firms
deliver consistently high-quality products and servicesincluding
software.
Because software is so important to a company's success,
1nany firms seek assurance that sofrwace systems, either
purchased or developed in-house, will meet rigid quality
standards. In 2014, ISO updated a set of guideljnes, called
ISO 9000· 3:2014, that provided a QA framework for
developing and mainraining software.
A company ca n specify ISO standards when it purchases
sofrware from a supplier or use ISO guidelines for in-house
software developmcnr to ensure rhat rhe fina l resulr measures
up to ISO standards. ISO requires a specific development
plan, which ourlincs a step-by-seep process for transforming
user requiremencs inco a finished product. ISO standards can
be quite detailed. For cxt1mplc, ISO requires that a software
supplier document all tesung and maintain records of rest
results. If problems are found, they must be resolved, and
any modules affected muse be retested. Additionally, software
and hardware specifications of all test eqwpmenr must be
documented and tncluded in the test records.
p
''
r
+
FIGURE 11-4 ISO symbols include lntemationally
recogni:ted symbols.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~----···---~~-.,.-"~ ...........--......
356 I 1.2 Application Development
I ~
Application development is the process of constructing the programs and code
modules that serve as the building blocks of the information S)'Stem. In Chapter I,
it was explained that structured analysis, object-oriented (0-0) analysis, and agile
methods are three popular development options. Regardless of the method, the
objective 1s to translate the design into program and code modules that will function
properly.
Regardless of whether structured analysis, 0-0 design, or agile methods are used,
even a modest-sized project might have hundreds or even thousands of modules. For
this reason, application developmenc can become quite complex and difficult to manage.
At this srage, project management is especially important co control schedules
and budgets.
Users and managers are looking forward to the new system, and it is very important
to set realistic schedules, meet project deadlines, control costs, and maintain quality.
To achieve these goals, the systems analyse or project manager should use project
management tools and techniques similar to those described in Chapter 3 to monitor
and control the development effort.
I 1.2.1 Review the System Design
At this point, it is helpful to review t he tasks involved in the creation of the system
design:
• Chapter 4 focused on requirements modeling and how to use functional
decomposition diagrams (fDDs) to break complex business operations down
into smaller units, or functions.
• Chapter 5 focused on structured data and procel.!t modeling, and dara flow diagrams
(DFDs). The development of process descriptions for functional primitive
processes that documented the businebS logic and proces~ing requirements
was also discussed.
• Chapter 6 focused on an 0-0 model of the new system that included use case
diagr:ims, class diagrams, sequence diagrams, state transition diagrams, and
activity diagrams.
• Chapter 7 focused on selecting a development strategy.
• Chapter 8 focused on designing the user interface.
• Chapter 9 focused on data design issues, analyzing relationships berwecn system
entities, and constructing entity-relationship diagr:ims (ERDs).
• Chapter LO focused on overall system architecture considerations.
Taken together, this set of tasks produced an overall design and a plan for physical
implementation.
I 1.2.2 Application D evelopmentTasks
If traditional strucmred or 0-0 methods were used during system design, the process
of translating the design into a functioning application can begin. If an agile development
method was selected, development begins with planning the project, followed
by laying the groundwork, assembling the team, and preparing to interact with rhe
customers.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
if' uuo 4
y.st:o1ns; rnp1o:n
I 1.2 Application Development
357
TRADITIONAL METHODS: Building a new system requires careful planning. After
an overall strategy is e tablished, individual modules must be designed, coded, tested,
and documented. A module consists of related program code organized into small
units that are easy to understand and maintain. After the modules are developed and
tested individually, more testing takes place, along with thorough documentation of
the entire system, as shown in Figure 11-5.
DEVELOP - +f
~ Test Document
~ .__M_od_uJ_es__, .__Mod
u_le-:s~,,
• Integration
Te.sting
•
System
Tesung
•
Ooa.unentahon )
FIGURE 11-S The main steps in tnditional application development.
When program modules arc created using suucrured or 0-0 methods, the
process starts by reviewing requirements documentation from prior SDLC phases
and creating a set of program designs. Lf a documentation file was built early in
the development process and updated regular!}', there is a valuable repository of
information. The documentation centerpiece is the system design specification,
accompanied by diagrams, source documents, screen layouts, report designs, dara
dictionary entries, and user comments. If a CASE tool was used during rhe systems
analysis and design process, the analyst's job will be much easier. At this point, coding
and resting taskl> begin. Although programmers typically perform the actual coding,
IT managers usuall y assign systems analysts co work with them as a team.
AGILE METHODS: If an agile approach is decided upon, intense communication
and collaboration will now begin between the IT ream and the users or customers.
The objective is to create the system through an iterative process of planning, designing,
coding, and testing. Agile projects use various iterative and incremental models,
including Extreme Programming (XP) as shown in figure 11-6. Agile development
and XP arc discussed more later in this chapter.
11 .2.3 Systems Development Tools
Each systems development approach has its own set of tools that has worked well for
that method. For example, structured development relies heavily on DFDs and structure
charts; 0-0 methods use a variery of UML diagrams, including use case, class,
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
358 I 1.2 Application Development
sequence, and transition state diagrams; and agile methods rend ro use spiral or orher
iterative models such as the example shown in Figure 11-6.
System developers also can use multipurpose rools to help them tr:mslatc rhe system
logic into properly functioning program modules. These generic tools include
ERDs, flowchnrrs, pseudocode, decision table , and decision trees.
Test
.scenarios
New user S1ory
r:::=-1 Preparation
~
Release
planning
New
Customer
version Acceptance approval r:==1
.. test• ·~
Next
iteration
FIGURE I 1-6 Simplified model of an XP project. Note the empt.a.sis on lte~tlon and testing.
ENTITY-RELATIONSHIP DIAGRAMS: During data design (Chapter 9), the use of
ERDs to show the interaction among system entities and objects was described. An
ERO is a useful tool regardless of which methodology used, because the various
rel:nionships (one-to-one, one-to-01any, aod many-to-many) must be understood and
implemented in the application development process.
FLOWCHARTS: As described in Chapter 5, flowcharts can be used to represent
program logic and arc very useful in visualizing a modular design. A flowchart
represents logical rules and interaction graphically, using a series of symbols
connected by arrows. Using flowcharts, programmers can break large systems into
subsysrems and modules char arc easier to understand and code.
PSEUDOCODE: Pseudocode is a technique for representing program logic.
Pseudocodc is simi lar co srrucrured English, which was explained in Chapter 5.
Pseudocode is nor l::inguage-specific, so it can be used to describe a software module
in plain English without requiring strict syntax rules. Using pseudocode, a systems
an.ilyst or a programmer can describe program actions that c.in be implemented in
any programming language. Figure 1 1-7 illustrates an example of pscudocode th.it
documents a sales promotion policy.
DECISIONTABLESAND DECISIONTREES: As explained in Chapter 5, decision
tables and decision trees can be used ro model business logic for an information
system. In addition ro being used as modeling tools, analysts and programmers can
use decision tables and decision trees during system development, as code modules
chat implement the logical rules are developed. figure l l -8 shows .in example of a
decision tree that documents the sales promotion policy shown in Figure 11 -7. Nore
that the decision tree accurately reAecrs che sales promotion policy, which has three
sep.irare conditions and four possible outcomes.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
if' uuo 4
y.st:o1ns; rnp1o:n
I 1.3 St ructured Development
359
SAMPLE OF A SALES PROMOTION POLICY
• Preferred customers who order more than $1.000 are entided to a 5% discount. and
an additional 5% discount if they used our charge card.
• Preferred customers who do not order more than $1.000 receive a $25 bonus
coupon.
• All other cuStomers receive a $5 bonus coupon.
PSEUDOCODEVERSION OF THE SALES PROMOTION POLICY
IF customer is a preferred customer, and
IF customer orders more than $1 ,000 then
Apply a 5% discount. and
IF customer uses our charge card. then
Apply an additional 5% discount
ELSE
ELSE
Award a $5 bonus coupon
Award a $25 bonus coupon
FIGURE 11 ·7 Sample of a sales promotion policy with logical rules (top) and a pseudocode version of the
same policy (bottom). Note the alignment and indentation of the logic statements in the pseudocode.
Preferred
customer?
y
Ordered
more than
$1,000?
Used our
charge card?
y
---
N
5% discount and
an addltlonal 5%
discount
5% discount
"'-~~~~~~~~~~~- S25bonuscoupon
N
N
SS bonus coupon
FIGURE 11 ·8 Sample decision tree char refleas che sales promotion policy 1n Figure 11-7. Like a decision
table. a decision tree shows che aa1on co be taken based on certain properties.
I I l STD• 1t"'T'11 s:n S:VS:t nP - -
Structured application development usually involves a top-down approach, which
proceeds from a general design ro a derailed structure. After a systems analyst docu·
ments the system's requirements, he or she breaks the system down into subsystems
and modules in a process called partitioning. T his approach also is called modular
design and is similar co constructing a leveled set of DFDs. By assign ing modules to
different programmers, several development areas can proceed at the same time. As
explained in Chapter 3, project management software can be used to moniror work
on each module, forecast overall development time, estimate required human and
technical resources, and calculate a critical path for rhe project.
Because all the modules must work together properly, an analyst must proceed
carefully, with constant input from programmers and IT n1anagemcnt to achieve a
sound, well-integrated structure. The analyst also must ensure that integration capabilit}
is built into each design and thoroughly rested.
_
("..,_...,llll!O(........--. .\) ~ "-> - "'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,..., ~ ..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
360 I 1.3 Structured Development
I 1.3. 1 Structure Charts
Srrucrure charrs show rhe program modules and rhe relarionships among rhem. A
~rructurc chart consists of recrangles rhac represenc rhe program modules, wich arrows
and other symbols rhar provide additional informarion. Typically, a higher-level module,
called a control module, directs lower-level modules, called ~ubordinate module~ . In
a srructure charr, symbols represenc various actions or conditions. Structure charr
symbols represent modules, data couples, control couples, conditions, and loops.
MODULE: A rectangle represeocs a module, as shown in Figure I J-9. In the figure,
vertical lines ac rhe edges of a rectangle indicate char module 1.3 is a library module. A
library module is reusable code and can be invoked from more than one poinr in rhe chart.
DATA COUPLE: An arrow wich an empty circle represents a data couple. A daca
couple shows dara that one module passes to another. In rhe dnra couple example
shown in Figure 11 -10, rhe Look Up Cuscomer Name module exchanges data with
rhe Maintain Customer Daca module.
Module I
Maintain Customer Data
•
I IModde 1.311}
Library
Module
Subordinate
Module
FIGURE 11-9 An example of structure c.han modules.
I Look Up Customer Name
FIGURE 11 - 10 Anexampleof
a structure cha.rt data couple.
CONTROL COUPLE: An arrow wirh a filled circle represenrs a conrrol couple. A
control couple shows a message, also called a status flag, that one module sends ro
:inorher. In the example shown in Figure 11-11, rbe Update Cusromcr File module
sends an Account Overdue flag back to the Maintain Customer Data module. A
module uses a flag to signal a specific condition or action ro another module.
Maintain Customer Data
Control
Couple
Check
Customer Status
Update
Customer File
FIGURE 11 - 11 An example of a Strucrure chan control couple
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
if' uuo 4
y.st:o1ns; rnp1o:n
I 1.3 St ructured Development
361
CONDITION: A line with a diamond on one end represents a condirion. A condition
line indicates that a conrrol module determines which subordinate modules will be
invoked, depending on a ~pecific condition. Jn the example shown in Figure 11-12,
Sort Inventory Parr is a conrrol module with a condition line that trigger~ one of the
three subordmare modules.
Sort Inventory Parts
Sort By Part Name Sort By Part Number Sort By Inventory Value
FIGURE I 1-12 The diagram shoW$ a control module that triggers three subordin~te
modules.
LOOP: A curved arrow represents a loop. A loop indicates that one or more modules
are repeated. In the example shown in Figure 11-13, the Get Student Grades and
Calculate GPA modules are repeated.
Produce Grade Reports
Get Student Grades calculate GPA I Produce Grade Report I
The curved arrow Indicates that these modules are repea1ed.
FIGURE 11- 13 The diagram shows a structure chan; loop with two repeating modules.
I 1.3.2 Cohesion and Coupling
Cohesion and coupling are important cools for evaluating the overall design. As
explained in the following sections, it is desirable to have modules that are highly
cohesive and loosely coupled. Otherwise, system maintenance becomes more costly
due to difficulties in making changes to the system's structure.
Cohesion measures a module's scope and processing characteristics. A module that
performs a single function or cask has a high degree of cohesion, which is desirable.
Because it focuses on a single task, a cohesive module is much easier to code and
reuse. For example, a module named Verify Customer Number is more cohesive than
a module named Calculate and Prinr Statements. If the word and is found in a module
name, this implies char more rhan one cask is involved.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
362 I 1.3 Structured Development
If a module must perform mulriple tasks, more complex coding is required and
the module will be more difficulr to create and mainrain. To make a module more
cohesive, split it into separate units, each with a single function. For example, by
splirtmg the module Check Customer Number and Credit Limit in Figure 1 1-14 into
two separate modules, Check Customer 'umber and Check Customer Credit Limit,
cohesion is greatly improved.
More
Cohesive
Check Customer
Number and
Credit Limit
Less
Cohesive
Check Customer
Number
Check Customer
Credit limit
FIGURE I 1- 14 Two examples of cohesion. Note that the single module on the left is less cohesive than the
two modules on the right.
Coupling descrihes the degree of interdependence among modules. Modules that
are independent are loosely coupled , which is desirable. Loosely coupled modules
are easier ro mainrain and modify, because che logic in one module does nor affecc
other modules. If a programmer needs to update a loosely coupled module, he or
she can accomplish the task in a single location. If modules are rightly coupled,
one module is linked to internal logic contained in another module. For example,
Module A mtght refer to an internal variable contained in Module B. In that case,
a logtc error in the Module B will aifect the processing Ill Module A. For that
reason, passing a status flag down as a message from a control module is generally
regarded as poor design. It is better to have subordinate modules handle processing
tasks as independently as possible, to avoid a cascade effect of logic errors in the
control module.
In Figure .11-15, rhe tightly coupled example on the left shows that the
subordinate module Calculate Current Charges depends on a status flag sent down
from the control module Update Customer Balance. It would be preferable to have
the modules loosely coupled and logically independent. Jn the example on the
right, a status flag is not needed because the subordinate module Apply Discount
handles discount processing independently. Any logic errors arc confined co :i single
location: the Apply Discount moduJe.
I 1.3.3 Drawing a Structure Chart
If :i strucrnred analysis method was used during system design, the structure charts
will be based on the DFDs created during data and process modeling.
Typica lly, three steps are followed when cre:iting a structure chart. DFDs arc
reviewed to identify the processes and methods, identify the program modules and
determine control-subordinate relationships, and add symbols for couples and loops.
Afterward, the structure chart is analyzed to ensure chat it is con-;isrenr wirh the system
documentation.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
if' uuo 4
y.st:o1ns; rnp1o:n
I 1.3 St ructured Development
363
TlghUy
Coupled
Update Customer
Balance
..
I ] t?
-z
.8
E
'
i1 .
z
-
::>
l
~
z ~
()
!
()
l
rJ
Ji!
0
I
Update Customer
Balance
~
-
f5
.8
~ ~1
E
::>
ff
z
a -
..
§
~
.,,
Loonly
0
R ::> Coupled
~
-
'l
~
j
.s
~
.$ ~ z
'lJ"' ;:;
!; ~
I
,j
i
()
8 .,
8
j
..
il
i
z
Calculate Current
Charges
Apply
Discount
Calculate Current
Charges
FIGURE 11-15 An example of clghdy coupled and loosely cou,pled structure charu.
STEP I . REVIEW THE DFDS: The first step is co review all DFDs for accuracy and
complereness, especially if changes have occurred since the sysrems analysis phase. If
objecr models also were developed, rhey should be analyzed co identify the objecrs,
the methods that each ob1ecr musr perform, and rhe relationships among the objects.
A method is similar ro a functional primirive and requires code co implement the
necessary acrions.
STEP 2. IDENTIFY MODULES AND RELATIONSHIPS: Working from rhe logical
model, functional primirivcs or object methods arc transformed into program
modules. When analyzing a sec of DFDs, remember chat each DFD level represenrs
a processing level. If DFDs arc being used, one works way down from the context
diagram to the lower-level diagrams, identifying control modules and subordinare
modules, until rhe funcrional primitives are reached. If more cohesion is desired,
processes can be divided into smaller modules chat handle a single rask. Figure 11-16
shows a structure chart based on the order system from Chaprer 5. Note how the
three-level structure chart relates co the three DFD levels.
STEP 3. ADD COUPLES, LOOPS, AND CONDITIONS: Next, couples, loops, and
conditions arc added ro rhe scrucrure chart. If DFDs are being used, rhc data flows
and the data dictionary can he reviewed co identify the dara elements rhac pass from
one module to anorhcr. In addirion madding che data couples, control couples arc
added where a module is sending a control parameter, or flag, ro another module.
Loop:. and condirion lines char indicate repetitive or alremative processing seeps arc
also added, as shown in Figure 11- 16. If an object model w:is developed, the class
diagrams :ind object relationship diagrams can be reviewed co be sure char the inceraction
among the objeccs is fully undersrood.
364
I 1.4 Object-Oriented Development
Order System
ModuleO
Relalea to context
diagram
Fill Order
Module 1
Create Invoice
Module2
Apply Payment
Module 3
Relates to diagram
ODFD
Relalea to diagram
1 DFD
VenfyOrder
Module 1.1
Prepare Reject
Nolice
Module 1.2
Assemble Order
Modu:e 1.3
FIGURE 11 - 16 A structure chart based on the order system DFDs in Chapter S.The three-level structure
chart relates to the three DFD levels.
At this point, the structure cbart is ready for careful analysis. Each process, data
element, or object method should be checked ro ensure that the chart reflects all previous
documentation and that rJ1e logic is correct. All modules should be srrongly
cohesive and loosely coupled. Often, several versions of the chart must be drawn.
Some CASE tools can help analyze the chart and identify problem areas.
I I
" •-=,.,-.
0 -0 methods were described in Chapter 6. 0-0 analysis makes it easier to translate
an object model directly into an 0-0 programming language. This process is called
object-oriented development (OOD). Although many structured design concepts also
apply to 0 -0 methodology, there are some differences.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, - Woip-M ._..,.. - ·~• -fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
if' uuo 4
y.st:o1ns; rnp1o:n
I 1.4 Object-Oriented Development
365
I 1.4.1 Characteristics of Object-Oriented Development
When implemenring a ~rrucrured design, a structure chart is used ro de5crihe the
interaction herween program modules, as explained earlier. In contrast, when
implementing an 0 -0 design, relationships between objects already exist. Because
object interaction is defined during rhe 0-0 analysis process, the object model 1rself
represenrs rhe application's strucrure.
As Chapter 6 explains, ohjecrs contain both dara and program logic called
methods. Indt\lidual ob1ect instances belong to classes of objects with similar
characteristics. The relationship and interaction among classes are described using a
class diagram, such as the one shown in Figure 11-17. A class diagram includes rhe
class attributes, which describe the characteristics of objects in rhe class, and methods,
which represent program logic. For example, the Customer class describes customer
objects. Customer attributes include Number. ame, Address, and so on. Methods for
the Customer class include Place order, Modify order, and Pay invoice, among others.
The Customer class can exchange messages \vith the Order class.
Customer
Attributes
Number
Name
Address
...
Methods
Place order
Mod1ly order
Pay invoice
...
1
Places
o .. •
Order
Item
Allflbutes
Number
Customer
Allnbutes
Number
Description
Date
o .. • Includes 1 ~ .• Price
.. ..
Methods
Verify credil stalus
Verify Item status
Apply discount
... .
Methods
Change stock level
Change min-max
Reorder
FIGURE 11 -17 A simplified class diagram for a customer order
processing system.
In addition ro class diagrams, programn1ers get an overview of object interaction
by using object relationship diagrams char were developed during rhe 0 -0 analysis
process. For example, Figure I 1- 18 shows an object relationship diagram for a fitness
center. Nore chat rhe model shows the objects and how rhey interact co perform business
functions and transactions.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
..
366 I 1.4 Object-Oriented Development
EMPLOYEE
ts a
MANAGER
OFFICE STAFF
INSTRUCTOR
Determines
A TNESS·CLASS
SCHEDULE
rostor
Takos
Adds
STUDENT
FIG URE I 1- 18 An object-relationship diagram for a fltness center.
Properly implemented, object-oriented development can speed up projects, reduce
coses, and improve overall quality. However, these results arc nor always achieved.
Organizations sometimes have unrealistic expectations and do nor spend enough
rime learning about, preparing for, and implementing the OOD process. For example,
no one would build a bridge without an analysis of needs, supporting data, and a
derailed blueprint-and the bridge \Vould nor be opened for traffic until it had been
carefully inspected and checked ro ensure that all specifications were met. 0-0
software developers sometimes forger that the basic rules of architecture also apply to
their projects.
In summary, ro secure the potential benefits of 000, systems analysts must carefullr
analyze, design, implement, cesc, and document rheir 0-0 projccrs.
I 1.4.2 Imple mentation of Object-Oriented Designs
\Xi'hcn a programmer translates an 0 -0 design into an application, he or she ana·
lyzcs the classes, attributes, methods, and messages that arc documcnred in rhe object
model. During chis process, the programmer makes neces~ary revisions and updates to
class diagrams, sequence diagrams, state transition diagrams, and activity diagrams.
The programmer's main objective is co translate object methods into program code
modules and <lerermine what evenr or message will trigger the execution of each module.
To accomplish the task, rhe programmer analyzes sequence diagrams and scare
transition diagrams that show the events and messages that trigger changes t(> an
object. 0 -0 ::ipplicacions are called event-driven, becau~e each event, transaction, or
message triggers a corresponding action. The programmer can represent the program
steps in pseudocode initially or use CASE tools and code generators ro create 0-0
code directly from the object model.
I 1.4.3 Object-Oriented Cohesion and Co upling
The principles of cohesion and coupling also apply to 0-0 application development.
Classes should be as loosely coupled (independent of other classes) as possible. In
addition, an object's methods also should be loosely coupled (independent of other
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
if' uuo 4
y.st:o1ns; rnp1o:n
I 1.5 Agile Developmenc
367
methods) and highly cohesive (perform closely related actions). By following the e
principles, classes and object arc easier ro understand and edit. 0-0 programmer
who ignore cohesion and coupling concepts may end up creating a web of code that
is difficult to maintain. \'(then code is scattered in various places, editing becomes
complicated and expensive.
.. .... ... VJ:I nPM!'" ·-
As stared in Chapter I, agile development is a distinctly different systems development
method. le shares many of the steps found in traditional development bur uses a
highly iterative process. The development team is in constant communication with the
primary user, who is called the customer, shaping and forming the system to match the
customer'~ specifications. Agile development is aprly named because it is based on a
quick and nimble development process that easily adapts to change. Agile development
focuses on small teams, intense communic.1tion, and rapid development iterations. The
four key values of agi le software development are shown in Figure 11-19.
Manifesto for Agile Software Development
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
FIGURE 11- 19 The manifesto for agile software development.
$ck.lr'(.el r 4 l'I ...,. TM
Programmers can use popular agile-friendly lai1guages such as Python, Ruby, and
Perl. However, agile methods do not require a specific progra1nming language, and
programmers also use various 0-0 languages such as Java, C++, C#, and others.
As with traditional methodologies, agile development has both positive and negative
characteristics. Today, agile methodology is very popular for software projects. Its
supporters boast that it speeds up software development and delivers precisely what the
customer wants, when the customer wanes it, while fostering teamwork and empowering
employees. However, rhcre arc drawbacks ro this adaptive rather than predicrivc
method. Critics of agile development often claim chat because it focuses on quick
iterations and fasr releases, ir lacks discipline and produces systems of que rionablc
quality. In addition, agile methodology generally does not work as well for larger
projects becau e of rheir complexity and chc lack of focus on a well-defined end product.
368 I I .S Agile Development
Before implementing agile development, the proposed system and development
methods should be examined carefully. As experienced IT professionals know, a
one-si1c-firs-all solution does nor exist. For more information on agile method , refer
to the discussion of systems development methods in Chapter I and agile methods
such as Scrum in Chapter 4.
I 1.5.1 Extreme Programming
XP is an agile development method. It is an iterative approach, as shown 111 1-igure 11 -20,
where a ream of users a nd developers immerse them elves in sy~tems development. XP
supporters emphasize values such as simplicity, communication, feedback, respect, and
courage. Success requires strong con1minnent to the process, corporate support, and
dedicated team members.
= :J ~ ~ The Values of Extreme Programming
............... .. ,._ ,
Extreme Programming (XP) is based Feedba.ck: We will Lake every iteration
on values. The rules we just examined are the commitment seriously by delivering working
natural extension and consequence of software. We demonstrate our sonwarc early
maximizing our values. XP isn't really a set of and often then listen carefully and make any
rules but rat.her a way to work in harmony changes needed. We will Ullk about lhe
with your personal and co.rporate values. Start project and adapt our process 10 it, nol the
with XP's values listed here then add your other way around.
own by reflecting them in the change$ you
make to the rules.
Respect: Everyone gives and reels the respect
they deserve as a valued team member.
Simplicity: We will do what is needed and Everyone cootributes value even ir it's simply
asked for, but no more. This will maximize enthusiasm. Developers respect the expertise
the value created for the investment made to of the customers and vice versa. Management
dale. We will take sma.11 simple steps to our respects our right 10 accept n:spon ibility and
goal and mitigate failures as they happen. We receive authority over our own work.
will create something we are proud of and
rnainlllin it long tcnn for reasonable oosts.
Communication: Everyone is part of the
team and we communicate face lo face daily.
We will work together on everything from
requirements to code. We will create the best
solution 10 our problem that we can together.
FIGURE I 1-20 The five core values of XP.
Courage: We will tell the tJUth about
progress and estimates. We don't document
excuses for failure because we plan to
succeed. We don't fear anything because no
one ever works alone. We will adapt to
changes when ever they happen.
XP uses a concept called pair programming. In pair programming, rwo
programmers work on the same task on the same computer; one drives (programs)
while the ocher navigates (watches). The onlooker examines the code strategically to
sec the forest while the driver is concerned with the individual trees immediately in
front of him or her. The two discuss their ideas continuously rhroughour rhe process.
Another important concept in XP is that unit rests are designed before code is
wricten. This rest-driven development (T DD) focuses on end results from the beginning
and prevenrs programmers from straying from their goals. Because of rhc magnitude
and intensity of the multicycle process, agile testing relies heavilr on automared
resting methods.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
if' uuo 4
y.st:o1ns; rnp1o:n
11.6 Coding
369
I 1.5.2 User Stories
uppose that a cu~tomer has requested a sales rracking system. The first step in an
agile process, like any other de,·elopment method, would be to define the system
requirements. The customer begins by meeting with programmers and providing user
stories. A u\er ~tOI) is a short, simple requiremencs definition. Programmers review
user stories to derermine the project's requirements, priorities, and scope. Here are
three user story examples:
• As the sales manager, I want to identify fast- or slow-moving items so I can
manage 011r i11ve11tory more effectively.
• As a store manager, I need enough lead tinie to replenish my stock, so I don't
nm 0 111 of hot items.
• As a sales representative, I want to offer the best selection of fast-selling items
and clear out the old stock that is not moving.
User stories do nor deal wirh technical details and arc so short that they arc often
written on index cards. Each user story is given a priority by the customer, so the
requirements can be ranked. Jn addition, programmers assign a score to each user
story that indicates rhe esrimared difficulty of implementation. This information helps
the team form a plan and assign irs resources. Projecrs are often composed of many
user stories, which taken rogerher form epics, from which programmers can estimate
the scope, time requirements, and difficulty of the project. In addition to the user stories,
frequent foce-ro-face meetings with customers provide a higher level of derail as
rhc project progresses.
I 1.5.3 Iterations and Re leases
The team must also develop a release plan, which specifies when user storie will be
implemented and the timing of the releases. Releases are relatively frequent, and each
system release is like a prototype that can be rested and modified as needed.
User stories are implemented in a series of iteration cycles. An iteration cycle
includes planning, designing, coding, and testing of one or more features based on
user stories. At the beginning of each iteration cycle, which is often two weeks long,
the team holds an iteration planning meeting to break down the user stories into
~pecific tasks chat arc a~signed co ream members. As new user storie~ or feature~ are
added, the team reviews and modifies the release plan.
A~ with any development process, success is determined by the customer's
approval. The programming team regularly meets with the customer, who tests prototype
releases as they become available. This process usually results in additional
user ~tories, and changes are implemented in the next iteration cycle. As che project's
code changes during each iteration, obsolete code is removed and remaining code is
restructured co keep rhe system up to dace. The iteration cycles continue until all user
stories have been implcmcnrcd, tesred, and accepted.
Coding is the process of rurning program logic into specific instructions char the
computer system can exccure. Working from a specific design, a programmer uses a
programming language co transform program logic inro code statements. An individual
programmer might creare a small program, while larger programs typically arc
divided into modules char several individuals or groups can work on 5imultaneously.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
370 I I. 7 Testing
Each developer has rheir favorire programming environment and s randard~ ro
make coding easier. Visual Basic, Java, and Python are examples of commonly used
programming languages, and many commercial packages use a proprietary set of
commands. As the trend roward Internet-based and mobi le applications continues,
HTM UXM L, JavaScripr, Swift, and orher web-centric languages will be used
extensively.
To simplify the inregrarion of system components and reduce code development
time, many programmers use an integrated development en' ironmcnr (IDE). IDEs can
make 1r easier to program interactive software products by providing built-in tools
and advanced features, such as real-rime error derection, syntax hmrs, highlighted
code, class browsers, and version control. Apple Xcode and Microsoft .NET are
popular ID Es. In addition ro these commercial packages, programmers can use opensource
ID Es such as Ecl ipse.
Earlier chapters explained rhar systems analysts use application generators, report
writers, screen generarors, fourth-generation languages, and other CASE tools that
produce code directly from program design specifications. Some commercial applications
can generate edirable program code directly from macros, keysrrokes, or mouse
actions. For example, IBM's RationaJ toolser can generate code fragmenrs based on
UML design documents. T his can help with QA.
After coding, a programmer must rest each program co make sure it functions correctly.
Lacer, programs are reseed in groups, and finally che developmenc ream must
test the entire sysrem. T he first step is co compile the program using a CASE. rool or
a language compiler. This process detects syntax errors, which arc language grammar
errors. The programmer corrects the errors unril the program executes properly.
Next, rhe programmer desk checks the program. Desk checking is rhc process of
reviewing the program code co spot logic errors, which produce incorrect results.
This proccs can be performed by the person who wrore the program or by other
programmers. Many organizations require a more formal type of desk checkmg called
a ~tructurcd walk-through, or code review.
Typically, a group of three ro five IT staff members participares in code review.
The group usually consists of project team member~ and might include other programmers
nnd analysts who did not work on the project. The objective is ro have a
peer group identify errors, apply quality standards, and verify that rhe program meets
the requirements of the system design specification. Errors found during a structured
walk-through are easier co fix while coding is still in the developmental stages.
In addition to analyzing logic and program code, the proje~-r team usually holds a
session with users called a design walk-through, to review the interface with a cross
section of people who will work with the new system and ensure that all necessary
features have been included. This is a continuation of the modeling and prototyping
effort that began early in the systems development process.
The next step Ln application development is co initiate a sequence of unit testing,
integration resting, and system testing, as shown in Figure 11-21.
I I. 7. I Unit Testing
The testing of an individual program or module is called unit testing. The objective is
to identify and eliminate execution errors that could cause rhe program to terminate
abnormally and logic errors that could have been missed during desk checking.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
if' uuo 4
yst:o1ns; rnp1o:n
11.7 Testing
37 1
system test
Unit Test
Program 1
1ntegrabon test
Unit Test
Program 2
integrabon test
-
UM Test
Program 3
Integration test
Unit Test
Program 4
-
UnttTest
Program 5
UnitTest )
Program 6
integration test
FIGURE 11-2 1 The ftrn step in testing is unit testing. followed by integration testing and
then system tesung.
Test data should contain both correct data and erroneous data and should test
all possible situations that could occur. For example, for a field that allows a range
of numeric values, the test data should contain minimum values, maximum values,
values outside the acceptable range, and alphanumeric characters. During resting,
programmers can use software tools to determine the location and potential causes of
program errors.
During unit resting, programmers must test programs that interact with other
programs and files individually, before they are inregrared into the system. This
requires a technique called stub resting. In stub testing, rhe programmer sin1Ulares
each program outcome or result and displays a message to indicate whether or nor
the program executed successfully. Each stub represents an entry or exit point that
will be linked later to another program or data file.
To obtain an independent analysis, someone other than the programmer who
wrote rhc program usually creates the test data and reviews the results. Systems
analysts frequently create tcsr data during rhe sysrems design phase as part of an
overall rest plan. A tc\t plan consists of derailed procedures that specify how and
when rhe resting will be performed, who will participate, and what rest data wi ll be
used. A comprchen ive rest plan should include scenarios for every possible siruarion
the program could encounter.
Regardless of who creates the tesr plan, the project manager or a designated
analyst also reviews the final test results. Some organi1..ations also require u~r~ ro
approve final unit resr resulcs.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
372 I I. 7 Testing
11.7.l Integration Testing
Testing two or more programs that depend on each other is called integration
te\ting. For example, consider an information system with a program that checks
and validates customer credit status and a separate program that updates data in the
customer master file. The output from the validation program becomes input to the
master file update program. Testing rhe programs independently does nor guarantee
that the data passed between them is correct. Only by performing mregranon restmg
for this pair of programs can one ensure that the programs work together properly.
Figure 11-21 shows integration testing for several groups of programs. Note that a
program can have membership in two or more groups.
Systems analysts usually develop the data tbey use in integration testing. As is the
case with all fonns of testing, integration test data must consider both normal and
unusual situations. For example, integration resting might include passing cypica I records
between rwo programs, followed by blank records, to simulate an unusual event or an
operational problem. Test data that simulates actual conditions should be used because
the interface that links the programs i.s being tested. A testing sequence should not move
ro the integration test scagc unless it h.as performed properly in all unit tests.
I I. 7 .3 System Testing
After completing integration resting, system testing is performed, which involves
the entire information sysrem, as shown in Figure 11-21. A system test includes al l
likely processing situations and is intended to assure users, developers, and managers
that rhe program meets al l specifications and that all necessary features have been
included.
During a system test, users enter data, including sample:. of acrual, or live, data,
perform queries, and produce reports to simulate actual operating condirions. All
processing options and ourputs are verified by users and the IT project development
ream to ensure char the S)'Stem functions correctly. Commercial !>Ofrware packages
musr undergo sysrem testing similar ro that of in-house developed systems, alrhough
unit and integration resting usually are nor performed. Regardless of how rhe system
was developed, system resting has rhe following major objectives:
• Perform a final rest of all programs
• Verify that the system will bandle aU input data properly, both valid and
invalid
• Ensure char the IT staff has the documentation and instructions needed to
operate the system properly aod that backup and restart capabilities of the
system arc adequate (the derails of creating this sort of documentation are discussed
later in this chapter)
• Demonstrate that users can interact with the system succe!>sfully
• Verify that all system components are integrated properly and rhar actual processing
situations will be bandied correctly
• Confi rm that rhe information system can handle predicted volumes of dara in a
timely and efficient manner
Successful completion of system resting is the key rouser and management
approval, which is why system tests sometimes are called acceptance tests. f inal
acceptance resrs, however, are performed during systems installation and evaluation
wirh actual user data, as described later in this chapter.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
1'111110 ~y.stonu; !ilf!IOOl
11.8 Documentation
373
How much testing is necessary depends on rhe situation and requires good
judgment and input from other IT staff members, users, and management.
Unfortunate!), IT projccr managers often are pressured ro finish resting quickly and
hand the system over to users. Common reasons for premature or rushed tesnng
are demands from u~er~, righr systems development budgers, and demands from top
management to finish projects early. Those pressures hinder the resring process and
often have detrimental effects on rhe final product's quality.
Tesring can be a cost-effective means of providing a quality product. Every error
caught durmg resting eliminates porenrial expenses and operational problems. No
system, however, is I OOo/o error-free. Often, errors go undetected until the system
becomes operational. Errors that affect the integriry or accuracy of data must be corrected
immediately. Minor errors, such as typographical errors in the user interface,
can be corrected later.
Some users want a system that is a completely finished product, whi le others
realize that minor changes can be treated as maintenance items after the system
is operational. ln the fi nal analysis, a decision m ust be made whether or nor to
postpone system installation il problems are discovered. If conflicting views exist,
management will decide whether or not to install! the system after a fu ll discussion
of the options.
You work at Your Move, Inc., a large retailer specializing in games of all kinds. The company is in
the final stages of developing a new inventory management system. and the IT manager wants
you to handle the testing.
"Be sure you put lots of errors into the test data." she said. "Users are bound to
make mistakes, and we need to design built-in safeguards that will catch the mistakes, and
either fix them automatically or alert the user to the problem."
Of course. this comment makes a lot of sense, but you've never done this before. and
you wonder how to proceed. Should you try to invent every possible data error1 How will
you know that you've thought of every siwation that could occur1 Consider the problem,
develop an approach, and write up your plan in a brief memo.
Docu1ne11tation describes an info rmation system and helps the users, managers, and
IT staff who must interact with it. Accurate documentation can reduce system downtime,
cut costs, and speed up maintenance tasks. Figure 11-22 shows an example of
the Rigi research environment that can automate the documentation process and help
software deve l ope r ~ generate accurate, comprehensive reference material through
derailed source code analysis.
Documentation is essential for successful system operation and maintenance. In
addition co supporting a system's users, accurate .documentation is essential fo r IT
staff members who must modify the system, add a new feature, or perform maintenance.
Documentation includes program documentation, system documentation,
operations documentation, and user documentation.
r..,,...JID)r-..1--. 4•111.-.•.._..... ,~.n .... .,...~ • ........._ .... ..__..,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
374 11 .8 Documentation
-..,,,_...., __ 7'1lGIO)W.JID
Science of Computer Programming
R -
Rigi- An environment for software reverse engineering, exploration,
visualization, and redocumentation
Holger M. Kienle, Hausi A. Miiller·
'"'-"""'"'"~
AlTICLE INP O
_.......,,
liet'ffltd JO IWlwtllbtt lOOt
ltctCcNed lt1 tf\llifd form 15 oet*t 2009
Acttplfd JO Orrullit'r DB
Av•lllble Df'lw 10 NOYf'mbrf 2009
ll)'wiorG:
,....,. lllrwr4e ~flllntttm& __•Ion
,.... ..... 1<11 ..
Tool requltttlWfttl
ABSTRACT
Th• Rlp envtronlTlC'llt IJ 1 lllitWt rewth tool di.It P<O'idet lllnaJon•l•tl' to .....,.
l'fllinttr toltw.,. sy><<nu. Wlth Rill Lorae JYSl..,,t <1n bt1n1lyud. lntm<1t..iy .. plattd,
tummorlztd. ind da<umm...S. TblJ IJ 1uppon<d with P•ll•fS to tJClt.a lnfonNdon from
10Urce code • .n f'XCNote fonNt to 5CO~ tJttrac:ltd ln!orm•tion. ~Ml)"Ht ro m.nsform
and •bwact lnform.uton. • scripdl\I l>l\IUil&• and llbmy to '"'°""'" ch• _..,,
ind i Yl:SiYllution tna(nt to rnttr•ctivel.)' oplore 1nd m•nlpu.1~tt lntorm.ulon fn tht
fonn or cyp<d. dltoct<d. hl<mthlc.l 1roplu. In thl• P<P<f we dr>cnbt Rlal't m.iln
compoaents ..nd funruomlltlo!. ond ,...., Its lmpoct on ..,..,.., .,,p,.,..riO& ,.,.,rdi.
1\11tbennot .. wt ditcuu Rlp't Mdllt<a"" ind dttiCn dtdJlont thlt led to • dtcouplln&
tJI l!Qjor functiaruli~ •nd ~ble LOOI vc:1tn~bU11y1 inttropen.bibty md tnd .. uwr
programm.tbltity.
Cl 20<IG llMYitt IV All "&hti m<Md
FIGURE 11 ·ll Rigl Is a research environment that uses reverse engineering technology to
provide software redocumentation capabilities to support program understanding.
Sow-<•
•:O'l.. ·If"'
I 1.8. 1 Program Documentation
Program documcntacion describes the inputs, outputs, and processing logic for all
program modules. The program documentation process stans in che systems analysis
phase and continues during systems implementation. Analrsts prepare overall documentation,
such as process descriptions and report layouts, early in the SDLC. This
documentation guides programmers, who construct modules chat are well supported
by internal and external comments and descriptions that can be understood and
maintained easily. A systems analyst usually verifies that program documentation is
complete and accurate.
System developers also use defect tracking software, sometimes called bug tracking
~oft ware, ro document •ind track program defects, code changes, and replacemenc
code, called patches.
I 1.8.2 Syste m Documentation
System documentation descri hes the system's functions and how they arc implemented.
System documentation includes dara dictionary entries, DFDs, object models,
screen layouts, source documents, arnd the systems request that initiated the project.
System documentation is a necessary reference material for the programmers and
:rnalysts who must support and maintain the system.
Mo5t of rhc system documentation is prepared during rhe sy~cems analysis and sys·
rems design phases. During the systems implementation phase, an analyst musr review
prior documentation co verify thar ic is complete, accurate, and up to dace, including
any changes made during the implementation process. For example, if a screen or
report has been modified, the analyst must update the documentation. Updates co the
system documentation should be made in a timely manner to prevent oversights.
(....,..... J:gl( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,....
I 1.8 Documentation
if' uuo 4
y.st:o1ns; rnp1o:n
375
I 1.8.3 Operations Documentation
If the informanon system environment involves a mainframe or centrali1ed servers,
the analyst must prepare documentation for the IT group that supports cenrrali1ed
operations. A mainframe installarion might require the scheduling of batch johs and
the distribution of printed reports. In this type of environment, the IT operations staff
serves as the first point of contact when users experience problems with the system.
Operations documentation contains all the information needed for processing and
distributing on line and printed output. Typical operations documentation mcludes the
following information:
• Progr:im, systems analyst, programmer, and system identification
• Scheduling mformation for printed output, such as report run frequency and
deadlines
• Input files and where they originate; output files and destinations
• Email and report distribution lists
• Special forms required, including online forms
• Error and informational messages to operators and restarc procedures
• Special instructions, such as security requirements
Operations documentation should be clear, concise, and available online if possible.
If the IT department has an operations group, the documentation should be
reviewed with them, early and often, to identify any problems. By keeping the operations
group informed at every phase of the SDLC, operations documentation can be
developed as the project progresses.
I 1.8.4 User Documentation
User documentation consists of instructions and information to users who will interact
with the system and includes user manuals, help screens, and online tutorials.
Programmers or systems analysts usually create program documentation and system
documentation. To produce effective and clear user documentation-and hence have
a successful project-someone with expert skills in this area doing the development
is needed, just as someone with expert skills developing the software is needed. The
skill set required to develop documentation usually is not the same as that to develop
a system. This is parttcularly rrue in the world of online documentation, which needs
to coordinate with prinr documentation and inrranet and lnternet information. Technical
writing requires specialized ski lls, and competent technical writers are valuable
members of the IT team.
just as a \ystem cannot be thrown together in several days, documentation cannot
be added at rhe end of the project. While this has always been rrue of traditional
user documentation, thi~ i ~ an even more critical issue now that online help and context-sensitive
help are often used. Context-sensitive help is part of the program and it
has to be rested roo.
Systems analysts usually arc responsible for preparing documentation LO help users
learn the system. In larger companies, a technical support team that includes technical
writers might assist in the preparation of user documentation and training materials.
Regardless of the delivery method, user documentation must be clear, understandable,
and readily accessible to users at all levels.
User documentation includes the following:
• A system over\'iew that clear!}' describes all major system features, capabilities,
and lim1rations
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
376 11.8 Documentation
• Description of source document content, preparation, processing, and samples
• Overview of menu and dara entry screen options, contents, and processing
instrucrions
• Examples of reports that are produced regularly or available at the user's
request, including samples
• Security and audit trail information
• Explanation of responsibiliry for specific input, output, or processing
requirements
• Procedures for requesting changes and reporting problems
• Examples of exceptions and error situations
• frequently asked questions (FAQs)
• Explanation of how to get help and procedures for updating the user manual
I 1.8.S Online Documentation
Most u~ers now prefer online documentation, which provides immediate help when
they have questions or encounter problems. Many users are accustomed to context-sensitive
help screens, hints and tips, hypertext, on-screen demos, and other userfriendly
features commonly found in popular software packages; they expect the same
kind of support for in-house developed software.
If the system will include online documentation, that fact needs to be identified
as one of the system requirements. If someone other than the analysts who arc developing
the system will create the documentation, that person or group needs to be
involved as early as possible to become familiar with the software and begin developing
the required documentation and support material. In addition, system developers
must determine whether the documentation will be available from within the
program or as a separate entity in che form of a tutorial, slide presentation, reference
manual, or website. lf necessary, links should be created within the program that will
take the user to the appropriate documentation.
Effective online documentation is an important productivity tool because it
empowers users and reduces the time that IT staff members must spend in providing
telephone, email, or face-to-face assistance. Interactive tutorials are especially
popular with users who like to learn by doing, and visual impact is very important.
The use of You Tube as a host for tutorial videos has become commonplace. f or
example, Figure 1 1-23 shows LeamCode.academy, which is a popular YouTube
channel offering free web development and website design tutorials.
In addition to program-based assistance, the Internet offers an entirely new level
of comprehensive, immediate support. Many programs include links to websites,
intranet sites, and Internet-based techllical support. f or example, the Cisco Systems
website shown in Figure l l-24 offers a wide range of support services and social
media links that allow Cisco users to collaborate and share their knowledge.
Although online documentation is essential, written documentation material also
ii. valuable, especially in training users and for reference purposes. Systems analysts
or technical writers usually prepare the manual, but many companies invite users to
review the material and participate in the development process.
No matter what form of user documentation the system requires, keep in mind that
it can take a good deal of rime to develop. The time between finishing software coding
and the time when a complete package- including documentation-can be released to
users is entirely dependent on how well the documentation is planned in advance. If
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, - Woip-M ._..,.. - ·~• -fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---t fta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-.. • ~-".....-""'*"....,.._...,.. ..
if' uuo 4
y.st:o1ns; rnp1o:n
I 1.8 Documentation
377
LeamCode.academy
56 1169 ..iblcnbefs
HOME
VIDEOS
Pl.AYLISTS
COMMUNITY CHANNELS ABOUT
161.822 •• 10 mot" .... '°
A complete roedmep to being 1 succe11ful web elev In 20181
The mlndmap wnh aa of lht links; http /lbl1 lyt2p63dS9
Node.JS course!: Imps l/gumrl*d com/1/lqGFI
Jump 10 •section:
• Buie Front End 2 04
• No Matter Which ROUie You T1ke: 4 57
• Front End Englne«: 7 29
R£AOMORE
Fl GU RE I 1 ·ll LearnCode.academy Is a popular You Tube channel offering free web development tutorials, website design
tutorials. and more.
5ourc~ 1- n I"" ""
c ...
"'
Cisco eommun.ty
·---
-- •
•
-
·-
-·- .__ - -·-
FIGURE 11-24 The Cisco Support Community invites users co contribute valuable experience and documentation using
soc:ial media.
the completion of the project includes providing user documentation, this issue needs
to be addre~ed from the very beginning of the project. Determining what the user
documentation requirements are and ascertaining who will complete the documents
are critical co a time!)' release of the project.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
378 I I . 9 Installation
eglecring user documentation issues until after all the program i complete often
lead to one of two things: (1) the documenrarion will be thrown rogether quickly jusr
ro gcr it our the door on rime, and ir more than likely will be inadequate; or (2) ir will
be done correctly, and rhe product release will be delayed con~iderably.
User training typically is scheduled when rhe system is installed. The training
<;essions offer an ideal opportunity ro distribute the user manual and explain rhe
procedure~ for updaring it in rhe future. Training for users, manager~, and IT sraff is
described l:1rer in this chapter.
I I 0 I ~ 1 :Ttn
After system resting is complete, the resulrs are presented to nrnnagement. The test
results should be described, the sratus of all required documentation updated, and input
from users who participated in syste1n testing su1nmarized. Oemiled time schedules,
cost estimates, and staffing requirements for making the system fully operational
should also be provided. If system resting produced no technical, economical, or
operational problems, management determines a schedule for system insralhnion.
T he following syste1n installation tasks are performed for every information systems
project, whether the applicarioll is developed in-house or purchased as a commercial
package:
• Prepare a separate operational and test environment
• Perform system changeover
• Perform daca conversion
• Provide training for users, managers, and IT staff
• Carry our posr-implemenrarion rasks
I I. 9. I Operatio nal and Test Environments
Recall thar an environment, or platform, is a specific combination of hardware and
sofrw:1re. The environment for the actual system operation is c:1lled the opcrnrional
en\ ironmenr or production environment. The environment char analysts and
programmers use ro develop and maintain programs is called rhe t c~ t environment.
A separate rest environment is necessary to maintain sysrem securiry and integriry
and prorecr rhe operarional environment. Typically, the resr environment resides on a
limited-access worksration or server located in the IT department.
Access co the operational environment is !United to users and must strictly be controlled.
Systems analysts and programmers should not have access ro the operational
environment except co correct a system problem or to make authorized modific:1rions
or enhancements. Orherwise, IT department members have no reason ro access rhe
day-LO-day operorional system.
T he rest environment for an infor mation sysrem contain~ copies of all programs,
procedures, and resr data files. Before making any changes to an operational sysrem,
rhe analyst must verify them in rhe resr environment and obtain user approval.
Figure 11-25 shows the differences between test environments and operational
environments.
An effective resring process is essenrial co ensuring product qualiry. Every
experienced systems analyse can teU a story about an apparent!)• innocent program
change char was introduced without being tested properly. In chose stories, rhe
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
if' uuo 4
y.st:o1ns; rnp1o:n
11.9 Installation
379
innocent change invariably ends up causing some unexpected and unwanted changes
to the program. After any modification, rhe same accepcance tests that were run when
the system was developed should be repeated. By rescricring access to the operational
area and performing all tests in a separate environment, the system can be protected
and problems that could damage data or interrupt operations avoided.
IT Staff
Test Environment
Authorized
Changes
Users
Procedures
Programs
Programs
FIGURE 11 -lS The teSl environment versus the operational environment. Note that access
co the test environment is limited to IT staff. while the operational environment is restricted co
users.
The opcrarional environment includes hardware and sofrware configurarions
and settings, syMem uriliries, telecommunications resources, and any ocher
component!> that might affect system performance. Because network capability is
critically important in a clienc/ser\'er environment, connectivity, specificatiorn., and
performance muse be verified before installing any applicarions. All communication~
features in the rest environment should be checked carefully and then checked again
after loading the apphcarions into the operational environment. The documentation
should identify all network specifications and settings, including technical and
operational requiremencs for communicarions hardware and software. If network
resources must be built or upgraded to support the new system, the platform muse be
tested rigorously before system installation begins.
11 .9.2 System Changeover
System changeover is the process of putting the new information system online and
retiring the old system. Changeover can be rapid or slow, depending on the method.
The four changeover methods are direct cucover, parallel operation, pilot operation,
and phased operation. Direct curover is similar to throwing a switch that instantly
changes over from the old system to the new. Parallel operation requires that both
systems run simultaneously for a specified period , which is the slowest method. T he
other methods, pilot and phased operation, fall somewhere between direct cutover
and parallel operntion. Figure 1 1-26 illuscrates the four system changeover methods.
DIRECT CUTOVER: The direct curover approach causes the changeover from the
old system to the new sysrem to occur immediately when che new system becomes
operational. Direct cutover usually is the leasr expensive changeover method because
the IT group has ro operate and maintain only one system at a rime.
380 I I . 9 Installation
OldSJ I tr
DIRECT CUTOVER
Old9)111R
Ntlw &ylfen I
PARALLEL OPERATION
PILOT OPERATION
Oldew••••
PHASED OPERATION
FIGURE 11 -26 The lour system changeover methods.
Direct cutover, however, involves more risk than other changeover methods.
Regardless of how thoroughly and carefully testing and traming is conducted, some
difficulties can arise when the system goes into operation. Problems can result from
data situations that were not rested or anticipated or from errors caused b)• user<; or
operators. A system also can encoun ter difficulties because live data typically occurs
in much larger volumes than test data.
Although mitial implementation problems arc a concern with all four
changeover methods, they are mosr significant when the direct cutover approach
is used. Detecting minor errors also is more difficult with direct cutover because
users cannot verif)' current output by comparing it to output from the old system.
~lajor errors can cause a system process to terminate abnormall y, and with the
direct cutover method, reverting to the old system as a backup option is not
possible.
Companies often choose rbe direct cutover method for implementing commercial
software packages because they feel tbat commercial packages involve less risk
of total system failure. Commercial software is certainly not risk-free, but the software
vendor usually ma intains an extensive knowledge base and can supply reliable,
prompt fixes for most problems.
For systems developed in-house, most organizations use direct curover only for
noncritical situations. Direct cutover might be the only choice, however, if the operating
environmenr cannot support both the o ld and new systems or if the old and new
sys rem~ arc incomparible.
Timing is very important when using a direct cutover strategy. Most systems operate
on weekly, monthly, quarterly, and yearly cycles. For example, consider a payroll system
that produces output on a weekly basis. Some employees are paid twice a month,
however, so the system also operates semimonthly. !vlonthly, quarterly, and annual
reports also require the system to produce output at the end of every month, quarter,
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
if' uuo 4
y.st:o1ns; rnp1o:n
11.9 Installation
381
and year. When a C)'clical information system is implemenced in che middle of any cycle,
complete processing for the full cycle requires information from both the old and rhe
new !.ysrems. To minimize rhe need ro require information from rwo different systems,
C)•clical information sy terns usually are converted using rhe direct cutover method at
the beginning of a quarter, calendar year, or fiscal year.
PARALLEL OPERATION: The parallel operation changeover merhod require chat
both the old and the new information systems operate fully for a specified period.
Data is input 1nco boch systems, and output generated by the new system is compared
with che equivalent output from the old system. When users, management, and
the IT group are satisfied chac the new system operates correctly, rhe old system is
terminated.
The mosr obvious advanrage of parallel operation is lower risk. lf the new system
docs not work correctly, rhe compall)' can use the old system as a backup until appro·
priace changes are made. lr is much easier co verify that the new system is working
properly under parallel operation rhan under direct cutover, because the output from
both systems is compared and verified during parallel operation.
Parallel operation, however, docs have some disadvantages. First, it is rhc costliest
changeover method. Because both the old and the new systems are in fu ll operation,
the company pays for both systems during the parallel period. Users must work in
both systems and the company might need temporary employees to handle che ex'tra
workload. In addition, running both systems might place a burden on rhe operating
environment and cause proces~ing delays.
Parallel operation is not practical if the old and new systems are incompatible
technically or if rhe operaring environment cannot support both systems. Parnllcl
operation also is inappropriate when the rwo systems perform different fum: rion~ or
if rhe new sysrem involves a new method of business operarions.
PILOT OPERATION: The pilot operation changeover method involves
implementmg the complete new system ar a selected location of the company.
A new sales reporrmg system, for instance, might be implemented in only one
branch office, or a new payroll system mighr be installed in only one department.
In these examples, che group char uses the new system first is called the pilot
sire. During pilor operation, the old system continues to operate for rhe entire
organization, including che pilot sire. After the system proves successful ar the
pilot sire, ir is implemented in the rest of the organization, usually using rhe direcr
curover method. Therefore, pilot operation is a combination of parallel operation
and direct cutover methods.
Restricting the implcmenrarion co a pilot site reduces the risk of system failure,
compared with a direct curover method. Operating both systems for only the pilot
site is less expensive than a parallel operation for the entire company. ln addition, if
a parallel approach ro complete the implementatEon is used lacer on, the changeover
period can be much shorter if the system proves successful ar rhe pilot sire.
PHASED OPERATION: The phased operation changeover method allows rhe new
sysrem to be implemented in srages, or modules. f or example, instead of implementing
a new manufacturing system all at once, the materials management subsy~tem
is installed first, then rhe production control subsystem, then the job cost subsystem,
and so on. Each subsysrem can be implemented by using any of the other three
changeover methods.
Analysts sometimes confuse phased and piloc operation methods. Both methods
combine dtrecc cutover and parallel operation to reduce risks and costs. With phased
_
("..,_...,llll!O(........--. .\) ~ "-> - "'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,..., ~ ..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
382 I I. 9 Installation
operation, however, only a part of the system is given to all users, while pilot operarion
provides the enrire system burro only some users.
One advantage of a phased approach is that the risk of errors or failures is limited
co the implemented module only. For instance, if a new producnon control subS)'Stem
fail5 to operate properly, thar failure might not affect the new purcha5ing subS)'Stem
or the ex1sring shop floor conrrol subsystem.
Phased operation is less expensive than full parallel operation because the analyst
has to work with only one part of the system at a time. A phased approach is not possible,
however, if the system cannot be separated easily into logical modules or segments.
In addition, 1f the system involves a large number of separate phases, phased
operation can cost more than a pilot approach.
Figure 11-27 shows that each changeover method has risk and cost factors. A
systems analyst must weigh the advantages and disadvantages of each method and
recommend rhe best choice in a given situation. The final changeover decision will be
based on input from the IT staff, users, and management-and che choice must reflect
the nature of the business and the degree of acceptable risk.
R
I
s
K
High
Medium
Low
,__
low
I
Direct
cut over
-
Pi IOI
operation
Phased
operabon
. -
-
Parahel
operabon
Med1Um
,______ ____ __,
COST >
•
High
FIGURE 11-27 Relauve risk and con charactensacs of the four c~ngeover methods.
You are a systems analyst at Global Cooling. a leading manufacturer of air conditioning units.
You are leading a team that i.s developing a new production scheduling system. The project is
now in the application development stage. You are in the final stages of integration testing. Your
supervisor is eager to implement the new application ahead of schedule and asked if you could
trim system testing from two weeks to three days and use a direct cutover method instead
of the parallel changeover method that originally was planned. Write a brief memo expressing
your views.
11.9.3 Data Conversion
Data conversion is an important pan of the system installation process. During data
conversion, existing data is loaded into the new system. Depending on the system,
data conversion can be done before, during, or after the operational environment is
r..,,...J1DOr-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
if' uuo 4
y.st:o1ns; rnp1o:n
11.9 Installation
383
complete. A data conversion plan should be developed as early as possible, and rhe
conversion process should be resred when rhe resr environment is developed.
When a new system replaces an existing sysrem, rhe data con\'ersion process
hould be automated, if possible. The old sysrem might be capable of exporting data
in an acceptable format for che new system or in a srandard format, such as A Cll
or ODBC. Open database connecri\ iry (ODBC) is an industry-standard protocol
that allows DB~lSs from various vendors ro interact and exchange data. Nlost database
vendors provide ODBC dri,·ers, which are a form of middleware. As discussed
in Chapter 10, middleware connects dissimilar applications and enables chem to
communicate.
If a srandard format is nor available, a program co extract the data and convert
it to an acceprable format must be developed. Data conversion is more difficult
when the new system replaces a manual systetn, because all data must be entered
manually unless it can be scanned. Even when the data conversion is automated,
a new system often requires additional dara items, wbich might require manual
entry.
Strict input controls should be maintained during the conversion process,
when data is extremely vulnerable. System control measures should be in place
and operational to protect data from unauthorized access and to help prevent
erroneous input.
Even with careful data conversion and input controls, some errors will occur. For
example, duplicate customer records or inconsistent pan numbers mighr have been
tolerated by rhe old system but will cause the new system to crash. Mosr organizations
require that users verify all data, correct all errors, and supply every missing data item
during conversion. Alrhough rhe process can be time consuming and expensive, ic is
essenrial rhar rhe new system be loaded with accurate, error-free dara.
11.9.4 Training
No S)'Stem can be successful without proper training, whether ir in,•olves software,
hardware, or manufacturing. A successful informarion system requires training for users,
manager;, and IT staff members. The entire systems development effort can depend on
whether or noc people undersrand the system and know how ro use it effecrivel)•.
TRAINING PLAN: A training plan should be considered early in the syscems
development process. As documentation is created, consider how to use the material
in future training sessions. When the system is implemented, it is essential ro provide
the right training for che right people ar the right rime. The first step is ro idenri fy
who should receive training and whar training is needed. The organjzation should be
carefully examined to determine how the system will support business operations and
who will be involved or affecced. Figure 11-28 shows specific traini11g topics for users,
managers, and IT staff. Nore rhat each group needs a mix of general background and
detailed informarion ro understand and use the system.
As shown in Figure I 1-28, the three main groups for training are users, managers,
and IT staff. A manager docs not need to understand every submenu or feature, but
he or she does need a system overview to ensure chat users are being trained properly
and are using the system correctly. Similarly, users need to know how to perform their
day-ro-day job functions, bur they do not need ro know how rhe company allocates
system operational charges among user departments. IT staff people probably need
the mo r information. To support the new system, they must have a clear understanding
of how the system functions, how it supports business requirements, and rhe skills
that users need ro operate the system and perfonn their tasks.
......... ""_.. ...
_
.-................. ..__
("..,_...,llll!O( ...... ..--. .\) ....... ~ "->-"'Allf'W ~-............... ,.. o-.... ._ ...... _ ... ,.., ...,..., ~..,._.. .............. ~ ..
__.... ................... ~ ~·~ --- - ·· ·---~~-.,.- "~ ........... --......
384
I I. 9 Installation
System overview
Key terms
Start·up and shut down
Main menu and submenus
Icons and shortcut keys
Ma)Or system functions
Onkne and external Help
Frequent y asked questions
Troubleshooting guide
Hand ing emergencies
G otect origin
Cost-benefit analyslS
Support for business goals
Key IT contact people
Handt ng system charges
Major reports and displays
Requesting enhancements
User training
USERS
MANAGERS
TRAINING
Project history and justification
System architecture
System documentation
Typical user questions
Vendor support
Logging and resolving problems
Technical training for IT staff
User and management lraming
IT STAFF
FIGURE 11-28 Examples of tr.lining topics for three different groups. Users. man~ers . and IT saff members
have different training needs.
Afrcr the ohjccrives arc idenrified, how the company will provide rraining must be
determined. The main choices are to obtain training from vendors, outside training
firms, or use IT sraff and other in-house resources.
VENDOR TRAINING: If the system includes the purchase of sofrware or hardware,
then vendor-su pplied training is one of the fea tures that should be included in the
requests for proposal (RFP) and requests for quotation (RFQ) chat are sent to potentia
l vendors.
Many hardwa re and software vendors offer training programs free or at a nominal
cosr fo r the products they sell. [n other cases, the company mighc negotiate the
price for training, depending on their relationship with the vendor and the prospect of
fu ture purchases. The training usuall y is conducted at the vendor's sire by experienced
trainers who provide valuable hands-on experience. If a large number of people need
training, classes mar be held at the co111pany's location.
Vendor training often gives the best return on training dollars because it is focused
on products rhar the vendor develop ed. The scope of vendor training, however,
usually is limited to a standard version of the vendor's software or hardware. The
vendor's training may have robe supplemented with in-house training, especially if
the IT staff customized the vendor's package.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, - Woip-M ._..,.. - ·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,.. ..,. - ~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
if' uuo 4
y.st:o1ns; rnp1o:n
11.9 Installation
385
WEBINARS, PODCASTS, AND TUTORIALS: Many vendors offer web-based
craining options, including webinars, podcasts, and rucorials. A webinar, which
combines che words web and seminar, is an Internet-based rraining session thac
provides an inceracrivc experience. Most webinar are scheduled evencs with a group
of preregistered users and an online presenter or instructor. A prerecorded webmar
session al o can be delivered a a webcast, which is a one-way cransmission, whenever
a user want~ or needs training support.
A podcast refers to a web-based broadcast that allows a user co download multimedia
files to a PC or portable device. Podcasrs can be prescheduled, made available on
demand, or delivered as auromaric updares, depending on a user's preference. An ad\'antage
of a podcast is chac subscribers can access the recorded material anywhere, anytime.
A tutorial ts a series of on line interactive lessons that present materia I and provide
a dialog with users. Software vendors can develop tutorials, or a company's IT team
can develop them. They can also be developed by chird parties for popular software
packages and sold separately online.
OUTSIDE TRAINING RESOURCES: Independent training firms can also provide
in-house hardware or software training. If vendor training is not practical and the
project organization docs not have the internal resources to perform the training, outside
training consultants can be a viable alternative.
The rapid expansion of informarion technology has produced tremendous growth
in the computer-training field. Many training consulranrs, institutes, and firms are
available that provide either standardized or customized training packages. For example,
many people now use one of the many sources of online training, such as Udemy
shown in Figure 11-29, ro sarisfy their training needs. Assistance can also be sought
from nonprofit ources with an interest in training, including universities, industry
associarions, and information management organizarions.
Q --.......... .._____ 'U ..... -
.....
l'ht,..,.,.,..,..... ........., <OWf'Mt.
c.... ...... llCIO.l9_,......,.
...._,...........,....
. - ..
-
-- ..
.. .
... .__
FIGURE 11-29 Udcmy 1s one of many sources of onltne uaining.
So.ft.:
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~----···---~~-.,.-"~ ...........--......
386 I I . 9 Installation
TRAININ G TIPS: The IT sea ff and user departments often share re pon~ibiliry for
developing and conclucring rraining programs for internally developed software. If rhe
organi1ation has a service desk, their staff might be able to handle user training.
Multimedia is an effective training method. Presentation software, such as
Microsoft PowerPoint or Apple Keynote, can be used to design training ses ions that
combine slides, animation, and sound. Programs that capture actual keystrokes and
mouse action,, such as Camtasia and Panopto (shown in Figure 11 -30), can be used
to replay rhe screens as a demonstration for users. If a media or graphic arrs group
is available, they can help prepare training aids such as videos, charts, and orher
insrrucnonal materials.
Panopto
• .......... c-.t
'°'....... f'O'ldl«.e!O\ lllncuas ~ -
• LM ...... W.."""°' ..,.._ ~ ..
Flexible video recording software for any
presentation .
.......
..................,.................. llll'llla,,.., ! ~.,
.......... ~ ............ ......,_...~........ ,.._.~•--••"'1.,.:1 tad.witll'...,. .. llfiM tOll.-0
..................... ....... ~_...., .,.~
__... .... .............
.....-.;
~ (.... ~ ·-- .... = •
..,., ....... _.... ,.,...,..
.......... ~.., ...... _......___.09 ....... .,....,...., .......
FIGURE 11 -30 Panopto is a screen capture and video presentation program that can be used to prepare
webcasu and online l~ ming materials.
~tc:• J'~~ CO'"'
Keep the following guideJjnes in mind when developing a training program:
• Tram people in grottps, rvith separate tra111i11g programs for d1st111ct groups.
Group training makes the most efficient use of rime and training facilities.
In addiuon, if che group is small, trainees can learn from the questions and
problems of ochers. A training program must address the job interest and
skills of a wide r::inge of participants. For example, IT sta ff personnel and
users require very different information. Problemi. often a r i~e when bome
participants have technical backgrounds and others do not. A single program
will not meet everyone's needs.
• Select the most effective place to conduct the training. Training employees at
rhe company's location Qffers several advantages. Employees incur no travel
expense, they can respond to focal emergencies that require immediate arten·
tion, and training can take place in the actual environment where the system
will operate. There can be some disadvantages, however. Employees who are
distracted by telephone calls and other duries will not get the full benefit of
the training. In addition, using the organization's computer facilities for rrain·
ing can disrupt normal operarions and limit rhe amount of actual hands-on
trJ111111g.
• Provide for learning by hearing, seeing, and doing. Some people learn best
from lectures, discussions, and question-and-answer sessions. Others learn best
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
if' uuo 4
y.st:o1ns; rnp1o:n
11.9 Installation
387
from viewing demonstrations or from reading documentation and other material.
Most people learn besr from hands-on experience. Training that support
each type of learning hould be provided.
• Rely 011 prev1011s trainees. Airer one group of users has been trained, they
can assist others. Users often learn more quickly from coworker~ who share
common experience and job responsibilities. Using a train-the-trainer strategy,
knowledgeable users can be selected who rhen conduct sessions for others.
When utilizing train-the-trainer techniques, the initiaJ training must include not
only the use of the application or system but also some instruction on how to
present the materials effectively.
INTERACTIVE TRAIN ING: Usually, a relationship exists between training methods
and costs. Training an airline pilot in a state-of-the-arr simulator is quite different
from helping corporate users learn a new inventory system. Obviously, training budgets
arc business decisions, and IT staff sometimes has ro work with the resources
that are available, rather than the resources they wish chey had. Most people prefer
hands-on training. However, other less-expensive methods can be used, including
training manuals, printed handouts, and online materials.
If a new ~ysrcm is being launched and the resources to develop formal training
materials are lacking, a series of dialog boxes chat respond with help information
and sugge tions whenever users select various menu topics can ~rill
be designed.
A good user interface also includes helpful error messages and hints, as discussed
in Chapter 8. However, rhe most effective training is interaccive, self-paced, and
multimedia-based. Online training and video rucorials are discussed in the following
sections.
ONLINE TRAINING: Regardless of the insrrucrional method, training lessons should
include step-by-step instructions for using the fearurcs of the information system.
Training materials should resemble acrual screens, and tasks should be typical of a
user's daily work-the more realistic, the better. Video lessons arc particularly popular
onlinc. For example, Figure 11-31 shows a sample lesson on learning Python in an
online rutorial from lynda.com.
Sophisticated online training systems may offer interactive sessions where users
can perform practice rasks and view feedback. Online training materials also should
include a reference section that summarizes all options and commands, lists all possible
error messages, and lists whar actions rhe user should take when a problem
arises.
When training is complete, many organizations conduct a full-scale rest, or
~i mula ti o n , which is a dress rehearsal for users and lT support srnff. Organizarions
include all procedures, such as those thar they execute only ar the end of a month,
quaner, or year, in the simulation. As questions or problems arise, the participants
consult the system documenrarion, help screens, or each other to determine
appropriate answers or actions. This h1ll-scale test provides valuable experience
and builds confidence for everyone involved with the new system.
11.9.S Post-lmplementationTasks
Once the new system is installed and operational, two additional tasks must be performed:
(J) prepare a post-implementation evaluation, and (2) deliver a final report
to management.
......... ""_.. ...
_
.-................. ..__
("..,_...,llll!O( ...... ..--. .\) ....... ~ "-> -"'Allf'W ~-........ . ...... ,.. o-.... ._ ...... _ ... ,..,...,..., ~ ..,._.. .............. ~ ..
__.... ................... ~ ~·~--- - ·· ·---~~-.,.- "~ ........... --......
388
I I. 9 Installation
Python Euentlel Training
o. .... -i.w Trenscrlpt View Oflllne El<Ofdse Fllft
_ - -(5)
..
D\Atto _ - ·-~--ft K-~GI""""'
owv• .._.-... ..,_..,
""""'°V Gooll'O •.,__... •-""Ill'..._.....,""""' J."'
au•astiowlOUM~llOC.- •rq;.s.,_.,.._......,.~
TM CW (Orrililfl N ~al N lllnQl.-oe Jyl'W Md 1M09. 11 ..... IO I aid,._,_
wct\•.,...oa•:&::4.,.,• .......... LWf'....,JtoMatlld~n.....,•-...:
"""''°
__
... ~ ,...... ~ Udant..end ,.,..,"'°"'...............
..... , "·--.. Ol ... '11111--0!L
-"'-""" ·-·· -... ~-----.. """"'-
FIGURE 11 -31 A sample lesson on learning Python in an onhne tutorial from lynda.corn.
Sout"CS " "f1 • •• ~
•• 1
-
'ih''
'l&''P.'
-
POST-IMPLEMENTATION EVALUATION: A post-implemencauon evaluarion
assesses rhe overall quality of rhe information systen1. The evaluation verifies rhar the
new &ysrcm meets specified requirements, complies wid1 user objectives, and produces
the anticipated benefirs. In addition, by providing feedback to the development ream,
the evaluation also helps improve IT development practices for future projects.
A posr-implemenration evaluation should examine all aspects of the development
effort and the end product-the developed in.formation system. A typica l evaluation
includes feedback for the following a reas:
• Accuracy, completeness, and timeliness of information system output
• User satisfaction
• System reliability and maincainabiliry
• Adequacy of system controls and securit)' measures
• Hardware efficiency and platform performance
• Effectiveness of database implementation
• Performance of the IT team
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
if' uuo 4
y.st:o1ns; rnp1o:n
11.9 Installation
389
• Completeness and quality of documencation
• Quality and effectiveness of training
• Accuracy of cost-benefit estimates and development schedules
The same fact-finding techniques can be applied in a post-implementation evaluation,
wluch were used to determine the system requirements during the systems analysis
phase. \Xlhen evaluating a system, the following should be done:
• Interview members of management and key users
• Observe users and computer operations personnel actually working with the
new information system
• Read all documemation and training materials
• Examine all source documents, output reports, and screen displays
• Use questionnaires to gather information and opinions from a large number of users
• Analyze maintenance and help desk logs
Figure 11 -32 shows the first page of a sample user evaluation form for the new
information system where users eva luate 18 separate elements on a numerical scale,
so the results can be tabulated easily. Following that section, the form provides space
for open-ended comments and suggestions.
- -
iili ~._,,_ . ................. oc Cl
,.._a-'"- ........
...... ..........,., •
" •
(!)
t!:I
x
•
Q
~
POI DOCUMI NI lJBRARY.
U..,tv. ......... ,...M
,.,,_ ,
"""tit.,....._ ttlf ~,,._ r
,..,......,yow .~
jo.t·
,~.. __ ,...__,.,..._,..... ..._..._ ..........
llM•I IDOi
mmo °"""'
I """'................ .
1 J s
t ~ ...... o1111.tm111Kiof! I 2 l s
l l.e«olv.e l 2 J '
• .-.......- l J • s •
'
___ _
USll INfUtfACI
> 0.l'ffyol._Ntt .....
,
l s •
......_ 2 l > I
I ( ;ne ~---.. 2 l > •
I
, J s
• °' '
(\lrlJy tttOf mttallf'l I z J • s 6
..
~lty
-II c..-
10 " twnlO\ol lrlPIA tnOr• l • s •
INK>ltMAllON lfCHHOlOG't' STAFF
U toop.,r .11on
·----'
,
J 5
•
2 ,
"_... ky
6
t l ~· - I J ' $ 6
I• ~Jnt of Pl()flN 2 J $
•
S'i ~IQl\·,.t.Jlt J • s
•
,.._lllG
,
_ __ I 2 l
" """"""- • s
, 11 ..
""iOlltWffti!'9
'
I J 5 J • 5
•
'
'
FIGURE 11 -32 Sample user evaluation form.The numerical scale allows easy tabulation
e1f resulu. FolloWing this section. the form provides space fe1r open-ended comments and
suggestions.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-................ ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .......,..""_......-................. ..__ __.... ................... ~~·~---- ··----~~-.,.-"~...........--......
390 I I . 9 Installation
\'(lhcncvcr possible, people who \·vere not directly involved in developing the system
should conduct the post-implementation evaluation. IT sraff and users usually
perform the evaluation, although some firms use an internal audit group or independent
auditors to ensure the accuracy and completeness of the evaluation.
\'(then to perform a post-implementation evaluation for a new system is nor always
clear. Users can forget details of the developmental effort if too much time clap cs
before the evaluation. Afcer several months or a year, for instance, users might not
remember whether they learned a procedure through training, from user documentation,
or by experimenting with the system on their own.
Users also might forget their impressions of IT team members over nme.
An important purpose of the post-implementation evaluation is to improve the
quality of IT department functions, including interaction with users, rraining, and
documentation. Consequently, the evaluation team should perform the assessment
while users arc able to recall specific incidents, successes, and problems so they can
offer suggestions for improvement.
On the other hand, if the evaluation is done too soon, the users may not be able to
provide sufficient feedback due to la.ck of experience with tbe new system. Post-implementation
evaluation is primarily concerned with assessing the quality of che new
system. If the ream performs the evaluation too soon after implementation, users will
not have enough time to learn the new system and appreciate its strengths and weaknesses.
Although many IT professionals recommend conducting the evaluation after
at le3st six months of system operation, pressure to fin ish the project sooner usually
results in an ea rlier evaluation in order to allow the IT department to move on co
other tasks.
Idea ll y, conducting a posr-implemenrarion evaluation should be srandard practice
for all information systems projects. Sometimes, evaluations are skipped because
users are eager co work with the new sysrem or because IT staff members have more
pressing priorities. In some organizat ions, management might nor recognize the
imporrance and benefirs of a post-implementation evaluation. The evaluations are
extremely important, however, because they en3ble the development ceam and the
IT department to learn what worked and what did not work. Otherwise, developers
might commit the same errors in another system.
FINAL REPORT TO MANAGEMENT: At the end of each SDLC phase, a final report
is submined to management, and the systems implementation phase is no exception.
The report should include the following:
• final versions of all system documentation
• Planned modifications and enhancements to the system that have been
identified
• Reca p of all systems development costs and schedules
• Comparison of actual costs and schedules to the origin31 estimates
• Post-i mplcmcncation evaluation, if it has been performed
The final report to management nla!ks the end of systems development work. T he
nexc chapter examines the role of a systems analyst during systems operation, security,
and support, which is the final phase of the SDLC.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
1'111110 ~y.stonu; !ilf!IOOl
11 . 10 Summary
39 1
You like your new job as lead systems analyse at Yorktown Industries. You were pleased that
your development team completed the new human resources system ahead of schedule and
under budget. You looked forward to receiving the post-implementation evaluation because you
were confident that both the system and the development team would receive high marks from
users and managers.
After the system operated for one month, you received a call from your supervisor.
who told you that you would have to handle the evaluation-even though you headed
the development effort. You told your supervisor that you did not feel comfortable
evaluating your own team's work. You explained that someone who was not involved in
its development should do an independent evaluation. Your supervisor responded that
he had full confidence in your ability to be objective. He explained that no one else was
available and he needed the evaluation quickly so he could move forward with the next
stage in the corporate development plan.
You are troubled about the situation. What should you do, and why?
A team member is handling the testing for the new accounting system, and right now she
is very upset about the most recent results. "It seems like every time we fix one problem.
another pops up! After ten days of testing and adjusting, we are meeting over 90% of the
goals and benchmarks. If we're looking for perfection, we'll never make the implementation
deadline for the new system, and the users will be all over us. Not to mention top
management's reaction to a delay. I'm sure we can resolve some of these issues after the
system becomes operational."
How would you respond to this statement? Are ethical issues involved? What are your
respons1b11ities, as an employee, as an IT professional, and as a coworker?
'I 10 u,.. ...
The systems implcmencarion phase consists o f app lication development, resting,
installation, and evaluation of the new system. During application development,
analysts determine the overa ll design strategy and wo rk with programmers ro
complete design, coding, resting, and documentation. QA is essenti:.il during rhc
implemencation phase . .tvlany companies utilize software engineering concepts and
quality srandards esrablished by the ISO.
Each systems development approach has its ow n set of tools. For example,
structured development relies heavily on DFDs and structure charts. A ~tructure chart
consists of symbols that repre ent program modu les, data couples, control couples,
conditions, and loops. 0-0 methods use a variety of U.tvlL diagrams, 111clud111g
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
392 11.10 Summary
use case, class, sequence, and rransirion srare diagrams. Agile methods tend ro u~e
iterative and incremental models.
System developers also can use more generic tools ro help them translate the system
logic inco properly functioning program modules. These tools include FRDs,
nowcharcs, p~eudocode, decision tables, and decision trees.
Cohesion measure a module's scope and processing characterisncs. A module that
performs a single function or cask has a high degree of cohesion, which is desirable.
Coupling measures relationships and interdependence among modules. Modules
that are relanvely independent are loosely coupled, which is desirable. Cohesion and
coupling concepts are nor only used in structured development but also applicable to
000.
Typically, three steps are followed when creating a structure chart. DFDs and
object models arc reviewed to identify the processes and methods, identify the program
modules and determine concrol-subordinace relationships, and :idd symbols for
couples and loops. The structure chart is chen analyzed co ensure char it is consistent
with the system documentation.
If an agile development approach is used, then the customer creates user stories
char describe required feat ures and priority levels. In agile methodology, new system
releases arc made after many iterations and each is test-driven carefully by rhe
customer.
Programmers perform desk checking, code review, and unit testing rasks during
application development. Systems analysts design the initial rest plans, which include
rest steps and rest data for integration resting and system resting. Integration testing i ~
necessary for programs char interact. T he final step is system resting for the completed
sysrcm. System resting includes users in the resting process.
In addition co system documentation, analysts and technical wricers al~o prepare
operations documentation and user documentation. Operations documenration provide<>
instructions and information co che IT operations group. User documenrarion
consists of instructions and information for users who interact with the ~ystem and
includes user manuals, help screens, and tutorials.
During the installation process, an operational, or production, environment is
established for the new information system char is completely separate from the test
environment. The operational environment concains live data and is accessible only
by authorited users. All future changes co the system must be verified in the rest
env1ronmenc before they are applied co the operational environment.
System changeover is the process of putting che new system into operation. Four
changeover methods exist: direct cutover, parallel operation, pilot operation, and
phased operation. With direct curover, the old system scops and the new system
:.tarts simultaneously; direct cutover is the least expensive but the riskiest changeover
method. With p:irallel operation, users operate both the old and new information
systems for some period of time; parallel operation is the most expensive and least
risky of rhe changeover methods. Pilot operation and phased operacion represent
compromises bccween direct cutover and parallel operation; both methods arc less
risky than direct cu rover and less costly than parallel operation. With pilot operarion,
a specified group within the organization uses the new system for a period of time,
while the old system continues to operate for the rest of the users. After the system
proves successful at the pilot sire, it is implemented throughout the organization. With
phased operation, the system is implemented in the entire organization, bur only one
module at a rime, until the entire system is operational.
Dara conversion often is necessary when installing a new informarion system.
\'Qhcn a new system replaces a computerized system, rhe dara conversion process
~hould be automated if possible. The old system might be capable of exporting data
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
if' uuo 4
y.st:o1ns; rnp1o:n
I 1.10 Summary
393
in a format rhar the new system can use, or the data might have to be extracted and
converted to an acceptable format. Dara conversion from a manual system often
requires labor-intensi,·e data entry or scanning. Even when data con,·ersion can he
automated, a new ystem often requires additional data items, which might require
manual entry. Strict mpur controls are important during the conversion process ro
protect data integrity and qualiry. Typically, data is verified, corrected, and updated
durmg the conversion process.
Everyone who interacts with the new information system should receive training
appropriate co his or her role and skills. The IT department usually 1s responsible for
training. Software or hardware vendors or professional training organizanons also
can provide training. When a training program is developed, remember the following
guidelines: train people in groups; utilize people already trained to help train others;
develop separate programs for distinct employee groups; and provide for learning by
using discussions, demonstrations, documentation, training manuals, tutorials, webinars,
and podcasts. Users learn better with interacrive, sell-paced training methods.
A post-implementation evaluation assesses and reports on rhe quality of the new
system and the work done by rhe projecr ream. Although it is best if people who
were not involved in rhe systems developmenr effort perform the evaluation, that is
not always possible. The evaluation should be conducted early so users have a fresh
recollection of the development effort bur nor before users have experience using the
new S)'Stem.
The final report to management includes the final system documentation, describes
any furnre system enhancements that already have been identified, and details the
project coses. The report represents the end of the development effort and the beginning
of the new system's operational life.
394 Key Terms
Key Terms
dcccptancc tc>t lesnng involves the ennre information syscem. mdudtng JU typic.il pro.:essmg suuanons.
During .m acceptance cesr. users emer data. indudmg samples 0£ actual or lne datJ, perform queries,
and produce report< ro simulace acrual operating condmons. All proce~~mg options and ourpuc~ arc
'enfied by users and the IT project de,·elopmem ream ro ensun• rh.11 chc S)Scem funetion~ correetl).
~metunc> known as ii syscem 1e.1.
apphcarion dc1 clopmcnr The pro.:ess of construeting the programs and code module> thJt are the
building blocks of dn mformarion syscem. Application devdopmelll 1s b.1ndled by an apphcanon
development group w1thtn a traditional IT deparrmem thac 1s composed 0£ systems analyses and programmers
who h.indle information system design, dc1·clopmcnr, and 11nplc111cm.11ion.
aurihutc A <ingle characreri<ric or face ahout an entity. An anrihuce, or field, 1' rhe 'mallesc piece
of darn chat hn' meanini; wi chin an information system. For example, n Social Sei.;uncy number
or company name could he examples of an attribute. In 0-0 ana ly'i', an a11ribu1c ;, pan uf
a da" dinµram rhat dc~cribe< the characteri\tic' of objnr' in the da''· Al'o known a' a Jara
element.
hui: tmcking ,oftwarc System developers use defect tracking ,oftware, 'omctimc' en lied huµ tr;ick·
inµ >11ftwarc, ro document and crack program defects, code chanµc~, and replacement code, c:illed
p.Hchc,,
Capabtliry Marurtty Model (Ci\L\.1)• A model developed by ~El th.u in1egra1es software nnd sysrems
developmem into a process 101provemenr framework.
Cdpahility Maturity Model lntq;ration (Cl\1 \11)" An SF.1-dcvdopc:d procc" to improve quality, reduce
development time, and cm co~t<. A C:0-1\.1 track~ an organi1 .• 11inn·, ,.,ftware development goal• .ind
pracuces, using f1,e maturity levels, from Level 1 (relarively urutJble, inefrectwc software) 10 Level 5
(S-Ofl\\.ire rh.u 1s refined, efficient. and reliable).
code rc\lcw A rcv1c\\ ot 3 projcu ream member'~ work by other member\ of rhe team 10 'POI logic
error<. Generali)', ~ yHem• analV'lts review the work of other ')'tern' anal)'"'• and proJ,'Tam·
mer> re,·iew the work of other prO!!rammers, as a form of peer rc,1ew. 'itrucrured walk-rhrough•
'hould rake place rhroughour the SDLC and are called requirement\ review,, de•ii;n rcl'icw<>, code
re1 IC\\,, or te>ring re\ie\\ ,, depending on che phase in which they 1ic.:ur. 1\1\0 known :I\ 3 ,crucrun:d
walk-1hrouµh.
codini: The procc'' of turning program logic into specific in~truction> thar a compurer \)\!Cm can
cxccure.
,ohcs1on A measure of a module's scope and processing characreris11c~. A module 1ha1 performs a ~mgle
funcnon or task ha~ a high degree of cohesion, which is desirable.
conduion A specified action or state in a structure chart.
control couple Tn a ~rrucrure chart, a concrol couple shows a message, al'o called a flag, which one mod·
ule stnds to an11thcr.
control module In a >1ruc1urc chart, a control module is a hi17her-lcvcl module rhar dirc•t~ lower-level
modulc•., called •ubordinate modules.
coupling Mea~urcs rebrionships and imerdependence among modules. The opposue of cohesion.
cu~romcr
Primary u~er of a system, service, or product.
clat.1 c<1nvcl"\1nn Fx1sring data i~ loaded into the new system, transformed as needed. Depcndin~ on the
~y~ccm, dara convcr,ion can be done before, during, or after the opcranonJI environment is complcre.
dacn couple In a structure chart, a daca couple show' data that one module pas'c' to another.
defect rrad.in~ soft\\arc Sysrem dc,·elopers use defect tracking software, sometime; called hug track·
ing software, ro document and crack program defects, code change>, and replacemenr code, called
p3t<hC>.
... ~ JD» (".............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:. .............._ .... ~---11rt~ -,..~---~~
.........,. _ _ .._..........., ..,,.........,..~_.......,_,_,_ ._....~~.. C'ftlpll"&.-..,~fw ....._ ..........___,_ • .......,......................
ftn:aso
Sy5to11u; ril I n1
Key Terms
395
dc>igo ".ilk-through A scss.1on wuh users to rev1e" the mtexface "1th a cross secnou of people who will
work with 1hc new system. This is a connnuanon of the modelmg and protorypmg cffon that ~an
eMl) m the S)Stems de,·clopmcnr proccss.
dc'ik chccl.11111 The pr11<:c\\ of rc,;cwing the program code tel spot logic error<, which produce mcorrcct
raults.
dir"ct cut0,cr The dircu cumver approach cau\C'l the changeover from the old •y,tem to the new\) 'item
w oc~ur 1mmediatd) "hen the new 'Y'tcm hec:omo operational.
docurnen1.11Jon M.11enJl 1h.11 explJll> a •y>1em, helps peopll' intl'ract with it, and mdude. progrJm documemauon,
system documencarion, operations documenranon. and user documenta11on.
Oowchar1 A diagram used to describe program logic that represems logic-JJ rules and iutcracuon graphically
u'mg a <enc~ of srmhols connected by arrows. flowcharrs can be useful m v1sualmng modular
progr.un designs.
integrated dc,clopmcnt en\ irunmcnt (IDE) A suire uf inrq,'f.nted mols co make it eaoier w plan, con
\trt11:t, and maintain l 'flCcific ,ofcware produce. An fDE is designed to allow the easy mtewation of
>Y\tcm componcnl' with le.- 1i111e hcing >pent on developing code for lnreractive module,.
1nlL)lrat1on to,ung The tc,ting of two or more prowams that depend on em:h other.
JSO \1000-3:2014 A se1 of gu1delmes established and updated by the ISO ro provide a QA £r.11neworl..
for de, eloping and m.1itUJmu1g software.
iteration <:>de An Jg1le development cycle tha1 includes planning, designing. coding. and tes11ng one or
more features based on user stories.
i1eration planning mcctmg In agile developmenc, a meeting held ar rhe beginning of each iteration qdc
to break down u'>C:r \toric<> into '>pe-:1fk t:isks that are a~ig:ned co ream membc:".
l1hra11 module In ;i \tructurc chart, a l1bral) module 1> a module that" re~hlc and can be invoked
from more than one p<"nt in the chart.
logic error M1s1akes m the undcrlring logic that produce incorrect results.
loop lo ;i s1ructure chart, a loop md1cates that one or more modules are repeJted.
loo.,cl) rnuplcd \lodulc• that arc rclath·dv independent. loosely coupled module> arc easier 10 maintain
and modify, h«au•e the logic in one module d<>e!i not affect ocher modules.
method., In a clas' diagram, methods repre<;enr program logic.
modular design A de,ign thai can be broken down into logical blocks. Also known as parnnonang, or
top-down design.
module A module cons1srs of related program code organized mro small urnts thar are eJS)' to understand
and 111a111t;11n. A complex program could have hundreds or even rhousauds of module~.
obic<l-urion1cd dc,tlo1>mcn1 (OOD) The proce;s of translating an object modd di reedy mio an 0 -0
r rogramming lani;ungc.
onlinc dornmcntation Provides immediate help when u•crs have questions or encounter problem,.
open da1.1ba•c connec1ivi1y (ODUC) An ind115try-srnndard prococol that make' it po,5ihlr for ~oftwarc
from different ~endors to inrer.1c1 and eAcbange data.
opcrotiooal cnvirunmcnt The environmenr for rbe actual sysrem operation. It includes hardware and
softw.ue wnf1gurnrion~. S]Stcm urilicies, and communications resoutces. Also ~.tiled the produ<tmn
en\ Lronment.
opcrauon~ documcntauon Contains all the mformarion needed for processing and d1smbut1n1t onlmc
and printed output.
pair pro11rammmiz A practice 111 XP in which rwo programmers work on che same ca•k on the 5ame
computer; one drive., (program5) while rhe other navigates (warchcs).
... ~ JD» (".............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:. .............._ .... ~---11rt~ -,..~---~~
.........,. _ _ .._..........., ..,,.........,..~_.......,_,_,_ ._....~~.. C'ftlpll"&.-..,~fw ....._ ..........___,_ • .......,......................
396 Key Terms
parallel opcra1io11 The parallel operauon changeo"ec method reqwres th.it bo1h the old and 1he new
mforma11on srsrems opera~ fully for a specified period. Data ts mpur mto both systems, and ourpur
gcncrarcd by rhc new srsrcm is compared with rhe equ1\'alenr ourput from the old system.
part111on1ni; The hreakmg down of ovaall ohjecti"e> inro subsyMem~ and module,.
p.itch Replacement code th:11 1s applied co fix bugs or i.e.:urn:y bolo in ~oft ware.
phased opcrnuon rhe phased operarion method allows a new system to be tmplemenred m srages, or
modules.
pilot opcr.uioo fllc pilot operation changeover method involves implemen11ng rhe complete new sysrem
at J selC'Cted location of the company.
pilor me In a pilot operauon. the group chat uses the new sysrem first ts cJlled the p1lo1 sne.
podca•t A wch·ha,ccl hroadca>i that allows a u'cr co r1.-.:civc audio or multimedia files U\in)l mu\ic
player software, <uch a• iTune<, and listen co chem on a PC or download them to a portable MP ~
pbycr or •man phone.
pm1-1mplcment;uion evaluation An assessnu:m of chc overall qualiry o f the information •}Stem. The
cvalunrion vcrific~ that the new system meet;; 'pccificd rcc1uircmcnr,, complic• w11h u<cr ohjcctivc,,
and achieve' rhc anticipawd benefits. In addition, by providinJl feedback to rhc development team, chc
evaluntinn nl"' help' im prove IT development practice.\ for future project\,
procch improvement The framework used to integrate software and systems development by a new Sf.I
model, CM.i\11.
produccion cmoronmcnt fhe envttonmenr for the actual system oper.iuon. Ir mcludes hudwarc .rnd
wfrwarc configurations, S)Stcm uulitics, and communications resources. Also cJllcd rhc operauonal
enHronmcnr.
program documen1.mon Preparation of program documenrauon StJrtS Ul the systems .1nalys1s phase
and con11nues durmg systems unplemenration. Systems arul)sts prepare overJll documentanon, such
as process dc<;enpuons ;ind report la}·outs, earl)' in the SDLC. Programmers pro' 1de documcnrauon
b} construcnng modules that are well supported b)' internal and external comments and descnprions
thJt can be under~rood and m.iimamed easily.
p'cudt><:odc A techmquc for rcprcscnnnll program IOf,'1C on !K"mi-~rrucrured pro\c.
qu:ahl) a\\urnncc (QA) A proce~~ or procedure for mimmmng error< and cn,unng quality in product'I.
Poor qualil)' can result from inaccurace requirements, design problem~. coding error~, faulcy documcnra11on,
and ineffecrive ce~ring. A QA ceam reviews and res~ a ll .1pphca t 10n~ and ')'rem' chanse'>
co vcrof) >pccifi~ation' and ;,oftware quality Mandard!>.
release plan ln agile development, a plan chat specifies when user stones will be 11nplemc111ed and the
riming of the release~. ReleJses arc relanvcl)' freq uent, and each rclc.isc is treated .1s a system proro
C)'PC rhor can be rested and modified as needed.
>1mul.11ion A dress rehear.al for users and IT supporr staff. Org.111i.t.a11ons typ1c.tlly mclude all procedures,
such .ts those thar rhey execuce only ar the end of a month, quarter, or ye.1r, 111 their simulations.
~ofr".1rc engineering A software dc'"elopmem process rhar scrcsscs solid design, effcc1ivc structure, occurnrc
documcnr.trion, and careful testing.
\l.ttu1 Oa11 In >trucrured opplicnrion development, an indicator thac nllows one module 10 send a mes·
>.lgc IO .rnothcr module.
strunurc chart A top-down representation o f business fu nctions and proc:cs~n. Also ca lled an FDD.
~tructurcd "alk-through A re1·iew of a project ream member's work b) other memher> of the ream. Generally,
\ysrcms onalyi.rs review che wock of other systems analysts, and programmer<; review the work
of other programmers, as a form of peer review. Strucmred wall-through> ;,bould tJke pla<e throughout
the SDL(. and .ire called rcqu1remenrs reviews, design reviews, code renews, or resnng re1·1ews,
dcpcndini; on rhc phase in which they occur.
... ~JD»(" .............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:..............._ .... ~---11rt~ -,..~---~~
.........,.__.._..........., ..,,.........,..~_.......,_,_,_._....~~.. C'ftlpll"&.-..,~fw ....._ ..........___,_ • .......,......................
ftn:aso
Sy5to11u; ril I n1
Key Terms
397
>tub te>ring A form of tc,ring where the programmer simulates each program outcome or re; ult and d1> ·
pla)> a m.:1>>agc to 1ndKate whether or not the program executed >OCC~>full). Ea,h ,tub rcprc>cnh an
enrry or c,11 point that will be linked later to another program or data file.
subordinate module A lower-leHI modul<' ma structure chan.
S)nt.i" error l'rogramnung languag<' grammar error.
\y\lcm d1angc0>cr The pro<.e" of punin11 the new information S)'Stcm onlinc and re11nni: the old '>''"
tern. ('hangcovcr can he r:ipid or 'low, depending on rhc method.
~)>tern documcntarion A de\Criprion of a <;y~rem\ functions. and how thcr are implemented. The analy't
prepare' mo\t of the ~)'\tern documentation dunng the sy><ems :rnaly.,1s and '>)'\tern'> de.,ign pha'e'.
Sy;,tcm do1.u111cnrarion indude;, d:1ta dictionary enrries, DFD>, object model;, i.<:recn la)·our-, ,uur<.c
document,, and the 'Y'tcms rcquc't that i111tiatcd the pro1cct.
system tcsuug A form of tesnng mvolving .rn enrtre informariou system and t0cludcs aU typ1c.tl processing
sirnat1ons. During a system rest, u~crs cnrcr dara, inch1ding samples of acrnal or live darn, perform
queries, and produce reports to simulate acrnaJ opcraring conditions. Al l processing oprions and
outputs :ire verified by users .md the rr project development team ro ensure rhat the system funcnons
correctly.
1est data The dJtJ used tn un1r resting. Tesr dara should conrain both correct data and erroneous d.Ha
and should test all possible sm1arion.s that could occur.
tc\1-dri>cn dc,clnpment (mO) i\n XP concept that unit rests arc dc,igncd before code i' written, fucm·
inf: on end rc,ulr; and prc,·cnring programmers from 'rmyini.; from their goak
te..I cm ironmcnr The cmironmcnr that :maly<ts and programmers uo;e rn develop and maintain
program,.
t~I plan A plan designed b> a S)Stems .tnalrsr that includes test steps and test dat.1for1megrauon test·
mg .ind S)Stem tesnng.
u11htly coupled If modules are nghd) coupled, one module refers to internal logic contained in another
module.
top-dm• n approach \ dc<il,'ll approach, alw called modular dc<ign, where the <)"'Item< analrr define<
the overall ohicctivc, of rhe <)"<tern and rhen hreaks them down into <ubsyscem\ and module\. This
brc:akmg-down procC\~ al .. o "c:illc:d paninoning.
training plan A .. uc1.c\\ful information '>"cm requires training for users., manager,, and n ;tall
mcmhcr.,. ll1c cnnrc: <y<rcm< dcvclopmcnr effort can depend on wherhc:r or nor people undcr\tand
the 'l'~tcm and know how m u<c ir effecri,·dy. The training plan is a document that derail' tht\C
requirement~.
train-the-trainer A strategy where one group of users has been rrained and can assist others. Users ofrcn
le:1m more qutGkly from coworkers who share common experience and job respo11s1b1li11es.
tutorial A serie; of onhne imeracuve les;ons that present material Jnd provide a di:1log with user;.
unit tc\ling The 1c,ting of an indi vidu:il program or module. The objective i> to idc111ify :1nd eli minate
c-ccc:ution error~ that could ca u'c: rhc program ro tcm1inate abnormally ,111d logic errors that could
have been mi5,cd during desk checking.
mer dncumcntat1on l n<trucnon~ and information ro users who will interact with the sy~tem. I nclude~
u\Cr manua l ~, help ~rcen<, :ind rurorials.
user stOf} In agile de"elopmcnt, a \horr, simple requirements definition provided b) the (u.,tomer. Pro
grammers u;,e uoer storieo t0 detem1ine a project's requirements, prioriue>, and scope.
"ebca>l A one-wa) rr:imm1ss1on of mformarion or rraining materials, such as a webmar i.es;ion, J\J1lable
on dcru;rnd or for a opec1fic period to onlme pan1apants.
"cb1oar An lntcmct·bJ;,ed rra1mng '~>Ion that provides an mteracuvc experience. The word u•tbmilr
combines the words web and semmilr.
... ~JD»(" .............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:. .............._ .... ~---11rt~ -,..~---~~
.........,.__.._..........., ..,,.........,..~_.......,_,_,_._....~~.. C'ftlpll"&.-..,~fw ....._ ..........___,_ • .......,......................
398 Exercises
Exercises
Questions
I. Whar i~ QA?
2. Whar is appl1carion dcvclopmenr?
3. Explain how srrucrure charts are used in application developmenr.
4. Should classes be rightly coupled or loosely coupled in 000? Explain why.
5. Whar is pair programming?
6. What role do IDEs play in coding?
7. Describe three main rypes of rcsring and the order in which they arc performed.
8. Whar are the differences be1ween program, system, operations, and u~er documentation?
9. Whar is rhe role of onlinc documentation?
10. What is the difference be1wcen :rn operational environment and a test environmenc?
Discussion Topics
I. Di~cuss the three technique~ u~ed m improve QA.
2. What arc rhc mosr significant differences among structured, 0-0, and agile merhods? Whar do rhey
have in common?
3. Experienced programmers sometimes eschew IDEs for handcrafted mols, ofren connected in a pipeline
to facilitate complex work flows. What advantages and disadvantages would this approach have over
sophisricared IDF..s?
4. Your supervisor said," lnregrarion testing is a waste of rime. If each program is tested adequately,
integrarion res ring 1sn 'r needed. Instead, we should move on to system testing as soon as possible. If
modules don't interact proper!)', we'll handle it then.~ Do you agree or disagree with this commenr?
E.xplain your answer.
5. Suppose rhar you designed a rurorial ro rrain a person in chc use of specific sofrware or hardware,
such as a web browser. \'<'har specific informacion would you want co know about the rcc1p1enr of che
training? How would rhat information affecr che design of che training material?
Projects
1. Using rhe marerial in chis chapter and your own Internet research, prepare a presemation on rhe pros
and cons of agile development methods.
2. In this chapter, you learned abour rhe importance of testing. Design a generic rcsr plan char describes
rhe testing for an imaginary sysrem.
3. Which sysrcm changeover mcrhod would you recommend for an air traffic conrrol system upgrade?
Explain your answer.
4. Design a generic posr-implemen tation evaluation form. The form should consist of questions char you
could use co eva luate any information system. The form should evaluate the training received and any
problems associarcd wirh rhe program.
5. C reate an online training module using one of the systems discussed in this chaprer, such as Udemy or
lynda.com, on the topic of managing systems implemenrarions.
r..,,... JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-s c~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
PHASE
Systems support and security is the final phase in the systems development life cycle. In the
previous phase, systems implementation. a functioning system was delivered. The system now
moves Into the support phase, where the analyst maintains the system, handles security issues,
protects the integrity of the system and its data, and is alert to any signs of obsolescence.
Security concerns have become a matter of national importance. Major security breaches at
large corporations are unfortunately quite commonplace. Sadly, system security Is rarely solved
by a simple app--it requires a disciplined approach that affects virtually all wks in the SDLC.
Chapter 12 focuses on managing systems support and security throughout the useful life of the
system. This includes user support, maintenance tasks. maintenance management. performance
management. security levels, backup and recovery, system retirement. and future challenges and
opportunities.
399
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
Chapter 12
Managing Systems Support and Security
Managing
Systems Support
and Security
Chapter 12 describes systems support and security
wks that continue throughout the useful life of the
system. The systems support and security phase begins
when a system becomes operational and continues until
the system reaches the end of its useful life. Throughout
the development process, the objective has been to
create an Information system that is efficient, easy to
use, and affordable. After delivering the system, the
IT team focuses on support and maintenance tasks.
Managing systems support and security involves three
main concerns: user expectations, system performance,
and security requirements.
The chapter includes three "Case In Point"
discussion questions to help contextualize the concepts
described in the text. There are cwo "Question of
Ethics" scenarios in this chapter. The first scenario
concerns known security vulnerabilities In a system and
what should be done about them. The second scenario
is about divulging personal information, social media, and
free speech.
LEARNING OB ECT VES
W/Je11 you fi11is/J this d1apter, you s/Jould be able
to:
I . Describe u!ter supporc acr1viries
2. Define the four rypcs of maincenance
3. Explain seven strategies and cechniques for
maintenance managemenr
4. Describe techniques for system performance
management
5. Explain l>yscem security concepts and common
attacks against rhc system
6. Explain three tasks related ro risk management
conceprs
7. Assess syscern security at six levels: physical
securit>', nerwork security, application security,
file security, user security, and procedural security
8. Describe backup and disaster recovery
9. Lt~t six foccors 1nd1canng chat a sy~tem has
reached the end of its useful life
10. Lise future challenges and opporcunities for IT
professionals
CONTENTS
I 2. 1 User Support
I 2.2 ~1aintenance Tasks
Case in Poinc 12. I: Oucback Outsourcing, Inc.
12.3 ~1aintcnance Managemenr
12.4 System Performance Managcmenr
12.5 System Security
I 2.6
Security Levels
Case in Point 12.2: Outer Banks Counry
Case in Point 12.3: Chain Link Consulcing, Inc.
12.7 Backup and Recovery
12.8 System Retirement
12.9 Future Challenges and Opporrunitics
A Question of Ethics
I 2. 1 0 Su111mary
Key Terms
Exercises
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
Phase 5
Systems Support and Security
12. 1 User Support
401
12.1 USER SUPPORT
A systems analyst is like an internal consultant who provides guidance, support,
and training. Successful systems often need the most support because users want
to learn the features, try all the capabilities, and disco\·er how the system can help
them perform their tasks. In most organizations, more than half of all IT department
effort goes into supporting existing systems. Companies provide user support in
many forms, including user training and a help desk to provide technical support and
assistance. This help can be provided in-house or outsourced.
12. 1.1 User Training
Chapter 11 described rhe initial training that is performed when a new sysrem is
introduced. Additionally, new employees must be trained on the company's information
systems. If significant changes rake place in the existing system or if a new version
is released, the IT department might develop a user training package. Depending
on the n~llure of the changes, rhe package could include online support via email, a
special website, n revision to the user guide, a training manual supplement, or formal
training sessions. Training users about system changes is similar to initial training.
The main objective is to show users how the system can help them perform their jobs.
12. 1.2 Help Desks
As systems become more complex, users need constant support and guidance. To
make data more accessible and ro empower users, many IT departments create help
desks. A help desk, also called a service desk, is a centraJized resource staffed by IT
professionals who provide users with the suppon they need to do their jobs. A help
desk has three main objectives: (1) show people bow to use system resources more
effectivclr, (2) provide answers to technical or operational questions, and (3 ) make
users more productive by reaching rhem how to meet their own information needs. A
help desk is the first place users rum when they need information or assistance.
A help desk does nor replace traditional IT maintenance and support activities.
lnsread, help desks enhance productivity and i1nprove utilization of a company's
infomiarion resources.
Help desk representatives need strong interpersonal and technical skills plus a
solid undersranding of the business because rhey interact with users in many departments.
A help desk should document carefully all inquiries, support rasks, and activity
levels. The information can identify trends and common problems and can help build
a technical support knowledge base.
A help desk can boost its productivity by using remote control ~oftwa re , which
allows IT staff ro ta ke over a user's workstation and provide support and troubleshooting.
One example of such a software application is GoToMyPC by Citrix,
shown in Figure 12- 1.
During a rypical day, rhe help desk staff members might have to perform the fo l
lowing casks:
• Show a user how to create a data query or report that displays specific business
information
• Resolve network access or password problems
• Demonstrate an advanced feature of a system or a commercial package
• Help a user recover damaged data
......... ""_.. ...
_
.-....... .......... ..__
("..,_...,llll!O( ...... ..--. .\) ....... ~ "-> - "'Allf'W ~ -........ . ...... ,.. o-.... ._ ...... _ ... ,..,...,..., ~ ..,._.. .............. ~ ..
__.... ................... ~ ~·~--- - ···---~~-.,.-"~ ........... --......
Chapter 12
Managing Systems Support and Security
402 12.1 User Support
• Offer rips for bener operation
• Explain an undocumented software feature
• Show a user how to use web conferencing
• Explain how to access the company's intranet or the Internet
• Assist a user in developing a simple database to rrack rime spent on variou5
projecrs
• Answer questions about sofcware licensing and upgrades
• Provide informarion about system specifications and che cosr of new hardware
or software
• Recommend a system solution that integrates data from differenr locations to
solve a business problem
• Provide hardware support by installing or reconfiguring devices such as scanners,
printers, network cards, w ireless devices, optical drives, backup devices,
and multimedia systems
• Show users how to maintain data consistency and integrity among a desktop
computer, a notebook computer, and a hand held computer or smartphone
• Troubleshoor sofrware issues via remote control utilities
Work more efficiently wit h Go ToMyPC Remot e Desktop Software
No matter where you are or what you nttd to do. remote access benefits both you and your business.
~~\\\\\\llllUIQ~~
:s ~~\\\\IUU/11.1,,
or
IS ~
~
~ ~
"-
~ 0 0 fl:!
~ ~
N
'11111 11\\\ •
'
Reduce Your Commute Connect While Traveling Be Home More
Avood ttwdodv u&lhc~ m •nd.,,... ,_..,.,
~by wort<~ from homeduroncnJV\.,.,...
No rnore wpor>tlon """ielV - .......,comp..ter it
....,"VI• coupleU1>uwov. Just IQ&., from
MM>thet computer or mcboledeYi<At.
"'"''" tho. Pf"-"' Mn ond Mt-b VoU ,_
IOdovau< job. ond be'-In Ii""' !..-d...,,.,
FIGU RE 12- 1 Remote access software, such as Go ToMyPC shown here. lets users access their PCs from anywhere-even with their
smartphones or tablets.
s~ru: r.otorntot. ('Q'TI
In addition to functioning as a valuable Lnk between IT staff and users, the help
desk is a central contact point for all IT maintenance activities. The help desk is
where users reporr system problems, ask for maintenance, or submit new systems
requesrs. A help desk can utilize many types of automated support, just as outside
vendors do, including email responses, on-demand fax capability, an online knowledge
base, frequently asked questions (FAQs), discussion groups, bullerin boards,
and automated voice mail. Many vendors now provide a live chat feature for online
VISltOrs.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
12.2 Maintenance Tasks
Phase 5
Systems Support and Security
403
12. 1.3 Outsourcing Issues
As discussed in Chapter 7, many firms outsource various aspects of application
development. This trend also includes outsourcing IT support and help desks. As with
most business dec1s1ons, oucsourcing has pros and cons. Typically, the main reason
for outsourcing is cosr reduccion. Offshore caU centers can rrim expen~es and free up
valuable human resources for producr development.
However, firms have learned char if tech supporr quality goes down, customers
are likely co notice and might shop elsewhere. Critical factors might include
phone wait rimes, supporr sraff performance, and online support cools. The
real question is wherher a company can achieve rhe desired savmgs wichouc
endangering It~ reputation and customer base. Risks can be limited but only
if a firm rakes an acrive role in managing and monitoring support quality and
consistency.
12.2 MAINTENANCE TASKS
The systems supporr and security phase is an important component of toral cost of
ownership (TCO) because ongoing maintenance expenses can determine the economic
life of a system. Figure 12-2 shows a typical pattern of operational and maintenance
expenses during the useful life of a system. Operational coses include items
such as supplies, equipment rental, and sofrware leases. ore that the lower area
shown in Figure 12-2 represenrs fixed operational expenses, while che upper area represents
maintenance expenses.
TOTAL
($)
maintenance
expenses
operalional
costs
----------Systems Operation---------_.
TIME
FIGURE 12-2 The total cost of operating an information system includes operational and maintenance costs.
Operational costs (green) are relatively constant. while maintenance costs (purple) vary over t,ime.
Maintenance cxpen~cs vary significantly during the system's operational life
and include spending to support maintenance activities. Maintenance activities
include changing programs, procedures, or documentation to ensure correct
system performance; adapting the system to changing requirements; and making
the system operare more efficiently. Those needs are met by different types of
mamcenancc.
Chapter 12
Managing Systems Support and Security
404 12.2 Maintenance Tasks
Examples of Maintenance Tasks
12.2. 1 Types of Maintenance
Corrective Maintenance
Diagnose end foe logoe errora
~ de19d1119 ..iwont calllong
Restore p<oper conllgure1ion aeaingt
Debug P<OQfllfO ooOt
Update clnvers
Uti ize remote control aoftwate tor problem cflagnosls and resotuuon
Adaptive Maintenance
Add Online capabiltty
Add support tor mobda devlCM
Add new data ontry Held 10 109u1 screen
Install links 10 wobslta
Create employee portsl
Perfective Maintenance
Upgrade or replace ouldalo<I hardware
Wnle macros to hllndle rope111o11e tasks
Compress syslem filea
Opumize user desklOp Mllllngs
Upgrade w1raless network capablllty
Install m0ta povterlul network tetVer
Preventive Maintenance
Install new anWltUS toftwaro
OevelOp standard bed<up ecl>edllfe. oncludong o"·a.te
and do<ld-basecl stral9glea
lmplemeol reg.-.ir Clefragmenia1 en pioceu
Analyze J)<Olllom t9pot1 lot i-.. r,,.
TVilen •• ~ connecltOnS
Oe\191op .-g.-ccwnng conliden1.alcy rulM and
unaul>orm1d use of company IT r-..
Alrhough some overlap exists, four q rpes of maintenance rasks can be idenrified, as
shown by the examples in Figure ·12-3. Corrective maintenance is performed to fix
errors, adaptive maintenance adds new capability and
enhancements, perfective maintenance improves efficiency,
and preventive maintenance reduces the possibility
of future system failure. Some analysts use the term
mai11tena11ce to describe only correcti'e maintenance
that fixes problems. It is helpful, however, to view the
mainteoancc concept more broadly and identify the
different types of tasks.
Maintenance expenses usually a rc high when a
system is implemented because problems must be
detected, investigated, and resolved by corrective
maintenance. Once the system becomes stable, costs
usually r emain low and involve minor adaptive
maintenance. Eventually, both adaptive and perfective
maintenance activities increase in a dynamic business
environment.
Near rhe end of a system's useful life, adaptive and
corrective maintenance exp enses increase rapidly, bur
perfective maintenance typically decreases when ir
becomes clear that the company plans ro replace the
system. Figure 12-4 shows rhc typical pancrns for each
of the four classifications of maintenance acriviries over a
system's ]ife span.
FIGURE 12-3 Co~rove maintenance fixes errors and
problems.Adaptive maintenance provides enhancemcnu
to a system. Perfective maintenance improves a system's
efficiency. reliabihty. or maintainability. Prevcnuve
maintenance avoids future problems.
12.2.2 Corrective Maintenance
Corrective maintenance diagnoses and corrccr errors in
an operational system. To avoid introducing new problems,
all maintenance work requires careful analysis
before making changes. The best maintenance approach
is a scaled-down version of the SDLC itself, where investigation,
analysis, design, and testing are performed before
implementing any solution. Recall from Chapter 11 the
differences between a test environment and an operational environment. Any maintenance
work that could affect the system must be performed first in the rest environment
and then migrated to the operational system.
IT support staff respond to errors. in various ways, depending on the namre and
severity of the problem. Most organizations bave standard procedures for minor
errors, such as an incorrect report title or an i1nproper format for :i data clement.
In a typica l procedure, a user submits a system request rhat is evaluated, prioritized,
and scheduled by the system admiojstrator or the systems review committee. If the
request is approved, the rnaintenance tean1 designs, tests, documents, and implements
a solution.
As stared in Chapter 2, many organizations use a standard online form for systems
requests. Jn smaller firms, the process might be an informal email message. For more
serious situations, such as incorrect report totals or inconsistent dara, a user submits a
system request with supporting evidence. Those requests receive a high priority and a
maintenance team begins work on the problem immediately.
(....,..... J:gi ( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....- ""'*" ....,.._...,....
_
("..,_...,llll!O(........--. .\) ~ "-> - "'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,..., ~ ..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
12.2 Maintenance Tasks
Phase 5
Systems Support and Security
405
Immediately Earty Middle Later
After Operallonal OperatlOl'lal Operational
lmplementatlon Lrle Life Life
Correcnve
Maintenance
High Low Low Htgh
AdaplMI
Maintenance
(Minor
Enhancements)
Adaphve
Maintenance
(Ma1or
Enhancements)
None Medium Mecium
None None Medium to High Medium to High
Perfective
Maintenance
Low
Low to Medium Medium Low
Preventive
Maintenance
Low Medium Medium Low
FIGURE 12-4 Information systems maintenance costs depend on the type of maintenance and the age
of the system.
The wor~r-case siruarion is a sysrem failu re. If an emergencr occurs, rhe mainre·
nance ream bypa ses the initial steps and cries to correct rhe problem immediately.
This often requires a parch, which is a specially 'vrin en sofrware module chat provides
temporary repmrs so operations can resume. ~1eanwhile, a wrirren systems
request t~ prepared by a user or a member of the IT department and added to the
maintenance log. When rhe system is operational again, rhe maintenance ream determines
the cause, analyzes rhe problem, and designs a permanenr solution. The IT
response ream updates rhe rest data fi les, thoroughly tesrs rhe sysrem, and prepares
fu ll documentation. Regardless of how the priorit ies are sec, a standard ranking
method can be helpful. For example, Figure 12-5 shows a three-level framework for
IT supporc potential impact.
PRIORITY
Level I
Level 2
Levell
IMPACT
Significant impaa on IT operations,
secur ity. or business activity that r equires
Immediate attention.
Some impact on IT operations, security,
or business activity. Requires prompt
attention, but operations can continue.
Little or no impact on current IT
operations, security, or business activity
Implement patch as soon
as possible.
Patch as necessary and
begin Implementation
prior to next release.
Implement in the next
release.
FIGURE 12-5 This three-level ranking framework for IT support considers potential impact and response
urgency.
Chapter 12
Managing Systems Support and Security
406 12.2 Maintenance Tasks
The process of managing sysrem support is described in more detail in Section 12.3,
including an overview of maintenance tasks and a procedural flowchart.
12.2.3 Adaptive Maintenance
Adaptive maintenance adds enhancemenrs roan operarional system and makes the
sy~rem easier to use. An enhancemen t is a new feature or capability. The need for
adaptive maintenance usually arises from business environment changes ~uch as new
produces or ~ervices, new manufacturing technology, or support for a new web-based
opera non.
The procedure for minor adaptive maintenance is similar to routine corrective
maintenance. A user submits a system request that is evaluated and prioririzcd by
che systems review committee. A maintenance team then analyzes, designs, tests, and
implements the enhancement. Although the procedures for rhe two types of main tenance
arc alike, adaprivc maintenance requires more IT department resources than
minor correcti ve maintenance.
A major adaptive maintenance project is like a small-scale SDLC project because
rhe development procedure is similar.Adaprive maintenance can be more difficu lc
than new systems development because the enhancements must work within rhc con·
straints of an existing system.
12.2.4 Perfective Maintenance
Perfective maintenance involves changing an operational system to make it more
efficient, reliable, or maintainable. Requests for corrective and adaptive mainte·
nancc normally come from users, while the lT department usually iniriares perfective
mamrenance.
During system operation, changes in user activity or dara panerns can cause a
decline m efficiency, and perfective maintenance might be needed ro restore performance.
\'Vhen users are concerned about performance, it should be determined if a
perfecrive mamrenance project could improve response rime and sysrem efficiency.
Perfecrivc maintenance also can improve system reliabtliry. For example, input
problems mighr cause a program ro terminate abnormally. By modifymg the daca
entry process, errors can be highlighred, and users notified that they must enter
proper daca. \'Vhen a sysrem is easier co maintain, support is less cosrl)' and less risky.
In many cases, a complex program can be simplified to improve mainrainabiliry.
In many organizations, perfective maintenance is not performed frequently enough.
Companies with limited resources often consider new systems development, adaptive
maintenance, ::t nd correcti vc maintenance more important than perfective maintenance.
Managers and users constantly request new projects, so few resources arc available for
perfective maintenance work. As a practical matter, perfective maintenance can be performed
::ts part of another project. For example, if a new function must be added to a
program, perfective maintenance can be included in tbe adaptive maintenance project.
Perfective maintenance usually is cost-effective during rbe middle of the system's
operational life. Early in systems operation, perfective maintenance usually is nor
needed. Later, perfective maintenance might be necessary bur have a high cosr. Perfective
maintenance is less important if the company plans ro discontinue rhe system.
When performing perfective maintenance, analysts often use a technique called
sofrwarc rccngineering. Software reengioeering uses analytical techniques to identify
potential quality and performance improvements in an information system. In rhat
sense, sofrware reengineering is similar ro business process rccngmcering, which seeks
ro simplify operations, reduce cosrs, and improve quaJiry.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase S
Systems Support and Security
12.2 Maintenance Tasks
407
Programs rhar need a large number of mainrenance changes usually arc good
candidares for rcengineering. The more a program changes, rhe more likely iris ro
become inefficienr and difficulr ro maintain. Detailed records of maintenance work
can idenrify systems wirh a hi rory of frequent corrective, adaptive, or perfecr1ve
maintenance.
12.2.5 Preventive Mruntenance
To avoid problems, preventive maintenance requires analysis of areas where trouble is
likely ro occur. Like perfective maintenance, tbe IT department normally miriares preventive
maintenance. Preventive maintenance often results in increased user satisfaction,
decreased downttme, and reduced TCO. Preventive maintenance competes for IT
resources along with other projects and sometimes does nor receive the high priority
that it deserves.
Regardless of the cype of maintenance, trained professionals must support computer
systems, just as skilled technicians must service the particle detector at CERN
shown in Figure 12-6. In both cases, the quality of the maintenance will directly affect
the organization's success.
FIGURE 12-6 Technicians use a motorized Ii~ to get into position by the
ATLAS particle detector at CERN. Regardless of the type of system. tr;ioned
professionals must perform high-quality maintenance.
Soi.lrc:e: Al iA r 11 ~ N
You are a systems analyst at Outback Outsourcing, a firm that handles payroll processing for
many large companies. Outback Outsourcing uses a combination of payroll package programs
and in-house developed software to deliver custom-made payroll solutions for its clients. Lately,
users have flooded you with requests for more new features and web-based capability to meet
customer expectations. Your boss, the IT manager, comes to you with a question. She wants to
know when to stop trying to enhance the old software and develop a totally new version better
suited to the new marketplace. How would you answer her?
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
Chapter 12
Managing Systems Support and Security
408 12.3 Maintenance Management
12.J MAINTENANCE MANAGEMENT
System maintenance requires effective management, quality assurance, and
cost control. To achieve these goals, companies use various strategics, such as
a maintenance ream, a maintenance management program, a configuration
management process, and a maintenance release procedure. In addition, firms use
version conrrol and baselines ro rrack system releases and analyze the system's life
cycle. These concepts arc described in the following sections.
12.3. 1 The Maintenance Team
A maintenance team includes a sysrem administrator and one or more systems
annlyst& and programmers. The system administrator should have solid technical
expertise, and experience in troubleshooting and configuring operating systems and
hardware. Successful analysts need a strong CT background, solid analytical abilities,
good communication skills, and an overall understanding of business operations.
SYSTEM ADMINISTRATOR: A system administrntor manages computer and network
systems. A system administrator must work well under pressure, have good
organizational and communication skills, and be able to understand and resolve complex
issues in a limited time frame. In most organizations, a system administrator has
primary responsibility for the operation, configuration, nnd security of one or more
system•,. The system administrator is responsible for routine mninrennncc and usually
is nuthoriz.cd to rake preventive action to avoid an immediate emergency, such as a
server crash, nerwork outage, security incidem, or hardware failure.
SYSTEMS ANALYSTS: Systems analysts assigned to a maintenance tenm nre like
skilled derecrives who investigate and rapidly locate the source of n problem by using
analysis and synrhesis skills. Analysis means examining rhe whole in order ro learn
abour rhe individual elements, whiJe synthesis involves srudying rhe pnrrs roundersrand
the overall sysrem. In addirion to strong technical skills, an annlrst must have a
solid grnsp of business opernrions and functions. Analysts also need effecrive mrerpersonnl
and communications skills, and chey musr be creative, energeric, and enger for
new knowledge.
PROGRAMMERS: In a small organizarion, a programmer might be expected ro
handle n wide variety of tasks, but in larger firms, programming work rends robe
more specialized. For exnmple, typical job titles include nn npplicn tion~ programmer,
who works on new systems development and maintenance; a systems proi,rrammer,
who concentrates on operacing system software nnd utilities; nnd a database
programmer, who focuses on creating and supporting lnrge-scnle dntabnse S) 1 Stems.
Many IT departments also use a job title of programmer/analyst to designntc
positions thnr require n combination of systems analysis and programming skills.
ORGANIZATIONAL ISSUES: IT managers often divide systems nnalysts and
programmers into two groups: One group performs new system development,
::ind the other group handles maintenance. Some organizations use a more flexible
approach and assign IT staff members to various projects as they occur. By
integrating development and suppont work, the people developing the system assume
responsibility for maintaining ir. Because the team is familiar with the project,
additional training or expense is unnecessary, and members are likely to have a sense
of ownership from the onser.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase 5
Systems Support and Security
12.3 Maintenance Management
409
Unfortunately, many analysts feel that maintenance is less interesting and less creative
than developing new systems. In addition, an analyst might find it challenging
to troubleshoot and support someone else's work that might have been poorly documented
and organi1cd.
Some organi1ation5 that have separate maintenance and new systems groups
rotate people from one assignment to the other. \Xfhen analysts learn different skills,
the organization is more versatile, and people can shift to meet changing business
needs. For instance, S)'Stcms analysts working on maintenance projeccs learn why it is
important to design ea5ily maintainable systems. Similarly, analyses working on new
systems get a better appreciation of the development process and the design compromises
necessary co meet business objectives.
One disadvantage of rotation is chat it increases overhead because rime is lost
when people move from one job co another. When systems analysts constantly shift
between maintenance and new development, they have less opporruniry to become
highJy ski!Jed at any one job.
Newly hired and recently promoted IT sraff members often are assigned to maintenance
projects because their managers believe that tl1e opportunity ro study existing systems and
documentation is a valuable experience. ln addition, tl1e rnini-SDLC used in many adaptive
maintenance projects is good training for the full-scale systems development life cycle. For
a new systems analyst, however, maintenance work might be more difficult than systems
development, and it might make sense to assign a new person to a development ream
where experienced analysts arc available ro provide training and guidance.
12.3.2 Maintenance Requests
Typically, maintenance requests involve a series of steps, as shown in Figure 12-7.
After a user submits a requesr, a system adminisrcator determines whether immediate
action is needed and whether chc request is under a prescribed cost limit. ln nonemergencr
requests char exceed the cosr limit, a system review committee assesses the
request and either approves ir, with a priority, or rejects it. The system administrator
notifies :iffccced users of the outcome.
Users submit mosr requests for corrective and adaptive maintenance when rhe
S)'Srem is nor performing proper!)• or if they wane new features. IT staff members usually
initiate requesrs for perfective and preventive maintenance. To keep a complete
maintenance log, all work must be covered by a specific request that users submir in
writing or by email.
INITIAL DETERMINATION: When a user submits a maintenance requesc, the sy~rcm
administrator m:ikcs an initial decermination. If rhe request is justifiable and involves
a severe problem chat requires immediate attention, the system administrator rnkes
action at once. In justifiable, but noncritical, situations, the adminisrraror determines
whether the request can be performed within a preau thorized cost level. If so, he or
she assigns rhe maintenance tasks and monitors the work.
THE SYSTEM REVIEW COMMITTEE: When a request exceeds a predetermined cost
level or involves a major configuration change, the system review committee either
approves it and assigns a priority or rejects ir.
TASK COMPLETION: The system administrator usually is responsible for assigning
maintenance tasks to individuals or to a maintenance ream. Depending on rhe
situation and the company's policy, the system administrator might consider roraring
assignments among rhe IT staff or limiting maintenance tasks ro certain individuals or
teams, as explained in the pre\•ious section.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter 12
Managing Systems Support and Security
410
12.3 Maintenance Management
Start
User sends maintenance
request IO system
edminostralor
Systems review commlnee
>---1 assesses requost and
assigns prooroty or rejects
Yes
Yes
System administrator
assigns maintenance
tasks and monuOfS
Che wO<I<
No
Yes
System admn1strator
adv ses systems revoew
comm.nee and al'ected
users of Che staws and
outc0me
End
FIGURE 12· 7 Although the procedure varies from company to c;ompany. the chart shows a typical
process for handling maintenance requests.
USER NOTIFICATION: Users who initiate main tenance requests expect a prompt
response, especially if the situation rurectly affects their work. Even when corrective
action cannt1t occur immediately, users appreciate feedback from the ~ystem administrator
and should be kept informed of any decisions or actions that could affect chem.
12.3.3 Establishing Priorities
ln man)• companies, the system review committee separates maintenance and new
development requests when setting priorities. In other organizations, all requests are
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase 5
Systems Support and Security
12.3 Maintenance Management
411
considered mgethcr, and the most important project gets top priority, whether it is
maintenance or new development.
Some IT managers believe that evaluating all projects together leads to the best
possible dec1s1ons because maintenance and new development require similar IT
department resources. In IT departments where maintenance and new development
are nor integrated, it might be bener to evaluate requesrs separate!>'· Another
advantage of a c;eparate approach is that maintenance is more likely to receive a
propornonal share of IT department resources.
The most important objective is to have a procedure that balances new
development and necessary maintenance work to provide the best support for
business requirements and priorities.
12.3.4 Configuration Management
Configuration management (CM), sometimes referred to as change control (CC), is a
process for controlling changes in system requirements during software development.
CM also is an important rool for managing systea1 changes and costs after a system
becomes operational. Jvlost companies establish a specific process that describes how
system changes must be requested and documented.
As enterprise-wide information systems grow more complex, CM becomes critical.
Industry standards have emerged, such as the IEEE's Standard 828-2012 for CM in
systems and software, as shown in Figure 12-8.
• Wort<1111 Group
Standard Details
lhll ~~-the mlnlmwn reqv•••~ iu for proc.ues ror
Conflslntaon ~ment(CM} in sysiems and softw•r• ·~·na. The
-.>pUCltion or tNs sund¥d applies to 11f1 form. ci.u. or type of soflw•re or
syst..,,. Th.s rwlSiOn of the sunclatd tl<Plnds the plWIOOJS _...,n to ticpllln
CM. indud11& ldMIJl)'vl& and Kq<Wlng confliurltJOn lltmS. conuolinc chqn.
rtpOfllng the sutUS of conllgur•non Items. os -11 u sollYwe builds and
ffiuse enganH<lna. Its ptedecesso< defined only the contentS or• soflw•re
configurallon rnanagtmtnl plan. This stllldard ..xlruMS wNI CM l(IJVltlff are
10 be don._ wtwn thty are to~ In the ure cycle. and wh.11 plllnnlnc end
mouras are roqu~. It Blso descrlba the content areas ror •CM Plan. The
SUlnd•rd 5UppolU ISOllEC/IEEE 12207'.20081nd ISOllEC/IEEE 1528&:2008and
adheres to the terminology In ISO/IEC/IEEE Std 2•765 Ind the 1nrormatlon Item
requlrtrnents of 1£EE Std ~5939TM
FIGURE 12· 8 IEEE Standard 828-2012 for configuration management in systems and software engineering.
Soul'C« r
Ctvl is especially imporranc if a system has mulciple versions that run in different
hardware and software environments. C?vf also helps to organize and handle documentation.
An operational system has extensive documentation that covers develop·
ment, modification, and maintenance for all versions of the installed system. Most
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter 12
Managing Systems Support and Security
412 12.3 Maintenance Management
documcncation material, including the inicial systems request, project management
dara, end-of-phase reports, dara dicrionary, and the IT operations and user manuals,
is stored in the IT departmenr.
Keeping track of all documentation and ensuring that updates arc distributed
properly arc important aspectS of CM.
12.3.S Maintenance Releases
Keeping track of maincenaDce changes and updates can be difficult, especially for a
complex system. When a maintenance release methodology is used, all noncritical
changes arc held u11til rhey can be implemented at the same time. Each change is
documented and installed as a new version of the system called a maintenance release.
For an in-house developed systcn1, the rime between releases usually depends on
the level of maintenance activiry. A new release ro correct a critical error, however,
might be implemented immediately rather than saved for the next scheduled release.
When a release method is used, a numbering pattern distinguishes the different
releases. In a typical system, the initial version of the system is J .0, and the release
that includes the first set of maintenance changes is version l. l. A change, for
example, from version 1.4 to 1.5 indicates relatively minor enhancements, while
whole number changes, such as from version 1.0 to 2.0 or from version 3.4 to 4.0,
indicate a significant upgrade.
The release methodology offers several advantages, especially if rwo reams per·
form maintenance work on the same system. \'Vhen a release methodology is used, all
changes arc rested together before a new system version is released. This approach
results in fewer ver~ions, less expense, and less interruption for users. Using a release
methodology also reduces the documentation burden because all changes arc coordinated
and become effective simultaneously.
A release methodolo&'Y also has some potential disadvantage~. Users expect a rapid
response to their problems and requests, but with a release methodology, new fea·
tures or upgrades are available less often. Even when changel> would improve sy~rem
efficiency or user productivity, rhe porential savings must wait until rhe next release,
which might increase operational costs.
Commercial software suppliers also provide maintenance relea!>CS, often called
ser.ice packs, as shown in Figure 12-9. As Microsoft explainl>, a service pack contains
all the fixes and enhancements that have been made available since rhe last program
version or service pack.
12.3.6 Version Control
Version control is the process of tracking system releases, or versions. When a new
version of a system is installed, rhe prior release is archived or stored. If a new version
causes a system ro fail, a company can reinstall the prior version ro restore operations.
In addition to tracking system versions, the IT sraff is responsible for con fig·
uring systems that have several modules at various release stages. For example, an
accounting system mighr have a one-year-old accounts receivable module that must
interface wirh a brand-new payroll module.
Many firms use commercial applicarions to handle version control for complex
S)'Stems. There are also numerous free and open-source alternatives. For example, one
of the most popular version control systems is git, which is shown in Figure 12-10.
Git 1s a free and open-source program designed for dil>tributed systems. It is relatively
easy to use, is available across most major platforms, and is supported by the dcvel·
oper community.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase 5
Systems Support and Security
12.3 Maintenance Management
4 13
Service Pack and Update Center
.. • '
.. _
,
~--
:]
A-pod<Clllil•----..,.~--......... -
----..--.. ~ ... ot ~Oftlht ___
t«~ Mld ,..bu.,.. lmptc nlWJ'll.Md fl4IPO". b MWt)'pa ot Jwdwwt....,.......,.. rc-i ~
h t.te:1 MtWCt peck 10 h$ t..,, W"~ CO._ Slt'w<e PICb W tt:lowl lO "'"""-"to .,,,g1.
....,..... .............. ,..,,~....... -
...,........,,,,._
1 .......__ fhe it<OllWl•odlld '1tftd H1ol.a0""1f I009'-~ W(h l'I 'Mf'lk• p«ks II to tum or. "1t
u "" lo<Wl-l.l,Wl_& .... ly ,..,.____...
)'OU Mid ft reedy to~ tn ~ 10. t.ipdten M '"'°"""l<Aftt d0w1 °m lldld """*"',.,.,. \ltlf'lt
• """"""connec:llOn. lttm 1NWW llbo.C. ~ W"""'°"" tO \IP to
FIGU RE 12-9 A Microsoft service pack provides access to updated drivers. tools. security patches, and customerrequested
product changes.
Source: I
It
+ git local bmnchmg-on-the-chcap
Git is a frtt and OP"l llOUn:C di.stn"buted ~control ~em
daigned 10 handle ~ihing from small to \-et)' large projects ,.;th
~and efficimcy.
Cit u easy to lt'M'll and has a tmy foolprint "1th ligbJ
pmonnancc. It outc:a-SOI tools like Sub>usion. CVS, Perforce,
and CleatCue Wlth features like chap k>al brandii ft • con~ment
aaglng atta!', and mulupl wort1lows.
·----
About
,._,. a "°"~
t>ownload•
"' .
"'""" ... -
CUlcL.-1'et111r .. W..,, rdrM..
..... ~ ......
°"---
Documeni.tlon
,,.
Community
o..-..i· .......................
•nd--
-FIGURE 12-1 0 Git is a popular free version control system.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~----···---~~-.,.-"~ ...........--......
Chapter 12
Managing Systems Support and Security
414 12.4 System Performance Management
12.3. 7 Baselines
A baseline is a formal reference point that measures system characrenstics at a
specific time. Systems analysrs use baselines as yardsticks to document features and
performance during che systems development process. The three t ype~ of baselines are
functional, allocated, and produce.
The functional baseline is the configuration of the system documented at the
beginning of the project. It consists of all rhe necessary system requirements and
design constraints.
The allocated baseline documents the system at the end of the design phase and
identifies any changes since the functional baseline. The allocated baseline includes
resting and verification of all system requirements and features.
The product baseline describes the system at the beginning of system operation.
The product baseline incorporates any changes made since the allocated baseline and
includes the results of performance and acceptance tests for the operationa 1 system.
12.4 SYSTEM PERFORMANCE MANAGEMENT
Years ago, when most firms used a central computer for processing data, ir was relatively
simple to manage a system and measure its efficiency. Today, companies use
complex networks, client/server systems, and cloud computing environments to support
business needs. A user ar a client workstation often interacts with an informacion
system that depends on ocher clients, servers, networks, and data located throughout
the company. Rather than a single computer, it is the integration of all those components
thac determines the system's capability and performance.
To ensure satisfactory suppon for business operations, chc IT department muse
manage system faults and intern1ptions, measure system performance and workload,
and anticipate furure needs. In many situations, IT managers use automated software
and CASE tools to help wich these tasks. Automated tools can provide valuable assistance
during the operation and supp-Ort phases. ~!any CASE tools mclude system
evaluation and maintenance features, such as the followmg:
• Performance monitors that provide data on program execution times
• Program analyzers chat scan source code, provide data element cross-reference
information, and help evaluate the impact of a program change
• Interactive debugging analyzers char locate the source of a programming error
• Reengineering rools
• Automated documentation capabilities
• Network activity monitors
• Workload forecasting tools
In addirion w CASE tools, spreadsheet and presentation software ca n be used to
calcularc trend~, perform what-if analyses, and create attractive charts and graphs ro
display the results. Information technology planning is an essential part of the business
planning process and often part of the presentations made co management.
12.4. 1 Fault Management
No matter how well it is designed, every system will experience some problems, such
as hardware failures, software errors, user mistakes, and power outages. A system
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-.............. ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-..................- .................................. ~~·~---- ···---~~-.,.-"~...........--.......
Phase 5
Systems Support and Security
12.4 System Performance Management
415
administraror muse derecr and resolve operational problems as quickly as possible. That
cask, often called fault management, includes monitoring the system for signs of trouble,
logging all S)'Stem failures, diagnosing the problem, and applying corrective action.
The more complex the system, the more difficult ir can be ro anal)'Ze S)'mptoms
and isolare a cause. In addition ro addressing the immediate problem, it i~ important
ro evaluate performance patterns and trends. For example, the Acrivicy ~1onitor
applicarion shown in Figure 12-11 runs on Apple's :\1ac OS X to display CPU, memory,
energy, disk, and network accivicy of all running applicarions in real time. Similar
programs, such as the Resource Monitor, are available on \Vindows. Faulr managemenr
software can help identify underlying causes, speed up response rime, and
reduce service outages.
""1/i4y MoMar !All P-J
CPU JHrnoty Energy OiSk +g_tgj.j,i Q-
"9cfftHt'"f
....,.,..lff-
0 -.. .,..~-
_...,.a
_ " ....
UMft'411\Aigtnt
--
.......
_ .,..., _.,.... -- -- PIO IJMr
IUtOll 70tCI 27,207.480 7,•'7 ... • 0-
11;, Ml 11.1 Ml '°·"" 74,.... ,, •• WIMy
8 t Ml 64 $ M8 45_,115 itt,t2t 112 .., 1tO!Mdnn•tnl"'-"''"'"'
')Ml .,, "' 12,21• 12,228 '' '°°'
no u .. 2 "' s,11<1 1, 111 n• -
'11 l(ll . _. ... . .... 7,21(1 1117 ... ..,
2toU JI !Cl 2i1 J2 H16& ,...,..,
22,Ka 2eM1 4.:S7-S M-,Ne 45111 JW'**"i
12KI t45U 105 1•1 M1>4 ltllbfr
121(8 ,.,_ 397 6 u -
70.. 10.. 1H 1H 1111 -
UQ M1Q "'4 7tl 20«....,
11 ICI 210 227 111 11 ...
... 1(1- 111 Q u ,... 1121 ....,
I
-
- ow
·-- ---
.........
--
"'"'
0 llCtliio ......
..
.. ..... ~-·· '()... ~.
...... JCftd
-- ...
........
11Q ,.... .. - --
15~ ,_,... 171 1,J:l• 20J1....,
.... -!Ca .. '70 1M< -
•21<• .... u .. 1171 -
na aoca 11 n 1--
•G. 1JD 14 tt llM .-.Y
7q 00 U l1 1110-
IQ
IQ
'"''
7D U
,.
21
21 no•
DI...,,.,
....,____
4 Q IOICB 10 •2 tMO....,
• u ,, ic:a 12 , . l0201 ,...,.
.... ,... .. 11 .... -
SQ Maby\ell 11 11 1817 .....,
10 ID I 12 171~
10 7U SS1 1a tOOt 1Ulley
1U >OU It 11 111 toec
-- 20- • 7 20•• -
,,..,,.. o- 2 a '°-
_,. 0..... 0- 0 0 11 -
-- 0- o.,,.. 0 0 ... -
"---~~~~~~......;.~~~-'-~~~~~~~~ ~~~~
- WI 40' 011.261
""'-.... Ha.711.,.
PtJCMt• llf\i'MO;
....,.,....,... 2.7•2
FIGURE 12· I I The Activicy Monitor application on Apple·s Mac OS X displays CPU,
memory, energy. disk. and network activity of all running applications in real time.
Soi.Ire.•: •1 I
Although sysrem adminisrrarors must deal wicb system faults and interruptions as
they arise, the besr strategy is to prevent problems b}' monitoring system performance
and workload.
Chapter 12
Managing Systems Support and Security
416 12.4 System Performance Management
12.4.2 Performance and Workload Measurement
In e-busine s, slow performance can be as devastating as no performance at all. erwork
delays and applicarion borrlenecks affect customer sarisfocrion, user product1viry,
and business resulrs. In fact, many IT managers believe that network delays do
more damage than actual s roppages because they occur more frequently and are difficult
to predict, derecc, and prevent. Customers expect reliable, fast respon~e 24 hours
a day, seven days a week. To support rhac level of service, companies use performance
management software.
To measure system performance, many finns use benchmark testing, which uses
a set of standard rests to evaluate system performance and capacit)'· In addition co
benchmark testing, performance measurements, called metri c~ , can monitor the number
of transactions processed in a given rime period, che number of records accessed,
and che volume of online data. Network performance metrics include response time,
bandwidth, rhroughput, and turnaround rime, among others.
RESPONSE TIME: Response time is the overall ti1ne between a request for system
activity and the delivery of the response. In the typical online environment, response
time is measured from the instant the user presses rhe Enter key or clicks a mouse
burron until the requested screen disjplay appears or printed output is ready. Response
rime is affected by the system design, capabilities, and processing methods. If the
request involves network or Internet access, response rime is affected by data commu·
n i ca ri on factor~.
Online users expect an immediate response, and they are fru~rrared by any appar·
cnr lag or delay. Of all performance measurements, response time is the one that users
notice and complain about most.
BANDWIDTH AND THROUGHPUT: Bandwidth and throughput are closely related
terms, and many analyses use them interchangeably. Bandwidth describes the amount
of data chat the system can transfer Ui a fixed time period. Bandwidth requirements
are expressed in bits per second. Depending on the system, bandwidth can be
measured in kilobits per second (Kbps), megabits per second (Mbps), or gigabics per
second (Gbps). Analyzing bandwidth is similar to forecasting the hourly number of
vehicles thar will use a highway in order to determine the number of lanes required.
Thro ughput measures actual system performance under specific circumstances
and is affected by nerwork loads and hardware efficiency. Like bandwidth, throughput
is expressed as a data transfer rare, such as Kbps, Mbps, or Gbps. J usr as traffic
jams delay highway traffic, throughput limitations can slow system performance and
response rime. Thar is especially true with graphics-intensive systems and web-based
systems rhar arc subject to Internet-related conditions.
In addition to the pcrfonnance metrics explained in rhe previous sccrion, system
administrators measure many other ;performance characteristics. Although no standard
set of metrics exists, several typical examples arc as fo llows:
• Arrivals: The number of items that appear on a device during a given observation
rime.
• Busy: The rime that a given resource is unavailable.
• Completions: The nwnber of arrivals that are processed during a given obser·
vation period.
• Queue length: The number of requests pending for a service.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase 5
Systems Support and Security
12.4 System Performance Management
417
• Service time: The rime ic rakes to process a given rask once ir reaches rhe front
of che queue.
• Think nme: The rime it takes an application user to issue another requesr.
• Urili1arion: How much of a gh•en resource was required to complete a task.
• Wait time: The time that requests must wait for a resource to become available.
TURNAROUND TIME: Turnaround time applies to centralized bacch processing
operations, such as customer billing or credir card sratement processing. Turnaround
rime measures the time between submitting a request for information and the
fulfillment of the request. Turnaround time also can be used to measltre the quality
of IT support or services by measuring the time from a user request for help to the
resolution of the problem.
The IT department often measures response time, bandwidth, throughput, and
turnaround time to evaluate system performance both before and after changes to
the system or business information requirements. Performance data also is used for
cost-benefit analyses of proposed 111ainte11a11ce a111d to evaluate systems that are neari11g
the end of their economically useful lives.
Finally, management uses current performance and workload data as inpur for the
capacity planning process.
12.4.3 Capacity Planning
Capacity planninA is a process rhar monitors current activity and performance levels,
anricipares future acriviry, and forecasts rhe resources needed to provide desired levels
of service.
The firsr srep in capacity planning is ro develop a current model based on the
system's prcscnr workload and performance specifications. Then future demand and
user requircmcnrs arc projccced O\'er a one- co three-year time period. The model
is analyzed to see whar 1s needed to maintain satisfactory performance and meet
requirements. To assist in the process, a cechnique called what-if analys1 can be used.
\'('hat-1f analysis vanes one or more elements in a model m order to measure rhe
effect on other elcmenrs. I-or example, what-if analysis might be used to answer
questions such as the following: How will response rime be affected if more client
workstations were added to the network? Will the client/server system be able to
handle the growth in salelt from the new website? What will be the effect on server
throughput if more memory is added?
Powerful spreadltheet tools also can assist in performing what-if analysis. For
example, Microsoft Excel contains a feature called Goal Seek that determines what
changes are necessary in one value to produce a specific result for another value. ln
the example shown in Figure 12-12, a capacity planning worksheet indicates rime the
system can handle 3,840 web-based orders per day, at 22.5 seconds each. Excel calculates
this automarically using the simple formula =86400/B4 for cell BS. (There arc
86,400 seconds in a 24-hour day.} The user wants to know the effect on processing
time if the number of transactions increases to 9,000. As the Goal Seek solution in the
bottom figure shows, order processing will have co be performed in 9.6 seconds to
achieve that goal.
During plan capacity, detailed informarion is needed about the number of
transactions; the daily, weekly, or monthly transaction patterns; the number of
Chapter 12
Managing Systems Support and Security
41 8 12.4 System Performance Management
., . . .
.. ....._ ..... ..l....... '"'"'.. u..t.a ~ ... _ lw.·~ • -~.... """'-"
.. •
.. I ( 0 f •
CAPAOTY PlANNING ANALYSIS
DATA:
• Proc~..nc lirlw lsteonds) per Web si11!' ore!«: 22.S
> M.J•imum WPb b.i"'!d ordl'fs 11tr day 3.MO
•
1
--
..
I
9
10
ll
u
,.
11 -.~ ...
IS
It
11
"••
_,
1 CAPAcnv PLANNING ANALYSIS
_
?
"
fclul MU t
.....
gs- 't
DATA:
•
PrO<:~\in& 11me (S«onds) per Web site order· 96
, MilXlmum Web ·b.l~ orders per day 9.000
•
1 Goo<S.-S.-
• "4ill i •.._...n Cd IS
tOWlillaMM--..
' 10
ICCO
II
,........ t,.GCIC
ll
u I Co I
I) "'
16
17
II
...
-·
FIG URE 12- 12 In this Goal Seek example, the user wants to know the effect on processing time if the number of
daily transactions Increases from 3.840 to 9,000.
'
)(
queries; and the number, type, and size of all generated reports. If rhe system
involves a LAN, network traffic levels must be estimated to determine whether or
not the existing hardware and software can handle the load. If the system uses a
client/server design, performance and connectivity specifications must be examined
for each platform.
Mosr important, an accurate forecast of future business activities is needed. If
new business functions or requirements arc predicted, contingency plans should be
developed based on input from users and management. The main objective is to ensure
that rhc system meets all future demands and provides effective support for business
opcrarions. Some firms handle their own capacity planning, while others purchase
software such as ldcra's Uptime ln&astructure Monitor, shown in Figure 12-13.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase 5
Systems Support and Security
12.5 System Security
419
I D :::: R A - ,_t_ - - ·· • ..,._
... ..... • a.ii. .. _.:..
--- --
•
Unify IT Performance Monitoring end Oplim1Z11tion
Upt m I f str ct Mo tor
- -
Iii
--
<'>
A,t I .. llCe ~ ........,.. c.,.aty~
c-c...--l'OU' -~llul·----·:t-... ein
Mr:.iwor QIW1 JO,.! dOeP. ~.,_,COL C' 1; ft ~ f9'DO"llnO •*C*' *es
•-N"8QT._ _..,,....,_,.....,... -
...,,~ .,.......--y-
.,........-...,io--. ...)IOU~.......... al._.,,
--.. ._,..,11--·-
--pjlnnlng
~--...-
-y ,,,.,.._,. ~""" Uk!XINX.
-H"U..NovvOQ. Yi111111W.....
- Cll*!llt_,.,.....__._
..,_- ~
-~--·"""'-
_ond_)IOU_llel1g!W- \J!JllPlelnloonu<V•---
... _ "'" ... collOdlW""" """"'"' ....... .-- -111<141b1 ._ -
~ ...,_
... _. ............ .
C.,.Cft)t ~and PtotetM ........."",.
• ~/ lod$ JM ptebl1m• tMlar9 i1'~ twcJpert trw f'IOe dltlceraf
___,,<O"""'Y____ -.--·--..
boet ~ I 't4Wt.;ei 9"AOiilNrG ~ larlQdng.....,, hltlf'l Qf'..,,. an 01iCAI
.. -
~----...................
·
__...,"""'O~ CP\A ond llQ ._................ -
------~-....
--1ay0u-..go<- ... _...,.,., __ ._. ..
Start for FREE
FIGURE 12· I 3 ldera's Uptime lnfristru«u~ Mo'1itor i$ ~11 ~pl~ of taPit;ity planning software ;ind
services.
S.WC« .Js;lrl.
....._.
I 2.5 SYSTEM SECURITY
Security is a viral part of every informarion system. Security
protects the system and keeps it safe, free from danger, and
reliable. Jn a global environment char includes 1nany types of
cbreacs and anacks, security is more important than ever. This
section includes a discussion of sysrem security concepts, risk
management, and common attacks against the system.
12.5.1 System Security Concepts
The CIA triangle in Figure 12- 14 shows the three main elements
of system secu rity: confidentiality, integrity, and availability.
Confidentiality protects information from unauthorized
disclosure and safeguards privacy. Integrity prevents
unauthorized users from creating, modifying, or deleting
information. Availability ensures rbat authorized users have
timely and reliable access co necessary information. The first
step in managing IT securiry is ro develop a securiry policy
based on these rhree elements.
Confidentiality
Integrity
lntoml8tlon
Availability
FIGURE 12-1 4 System security must provide
Information confidentiality. integrir:y, and
avallabilir:y (CIA).
Chapter 12
Managing Systems Support and Security
420
Risk Management
ldenllly
FIGURE 12-15 Risk management requires
continuous risk identification, assessment, and
control.
12.5.2 Risk Managem e nt
12 .5 System Security
In the real world, absolute security is not a realistic goal. Instead,
managers must baJance the value of the assets being protected,
potential risks co the organi1arion, and security costs. For example,
it might not be worth installing an expensive video camera monicoring
system co protect an empty warehouse. To achieve the best
results, most fi rms use a risk management approach that involves
constant arrenrion co three interactive casks: risk identification, risk
assessment, and risk control, as shown in Figure I 2- 15.
Risk identification analyzes the organi1arion's assets, threats,
and vulnerabilities. Risk assessment measures risk likelihood and
impact. Risk control develops safeguards that reduce risks and their
impact.
RISK IDENTIFICATION: The first step in risk identification is to
list and classify business assets. An asset might include company
Threat Categorie s and Examples
THREAT CATEGORY
Extortion
Hardware and software failures
Human erTOr or failure
Natural disasters
Service railure
Software attack
Technical obsolescence
Theft of physical or intellectual
property
Trespau and espionage
Vandalism
EXAMPLE
Hacker steals trade secrets and threatens to release
them if not paid.
Router stops functioning. or software causes the
application server to crash.
Employee accidentally deletes a file.
Rood destroys company bu1ld1ng and necworked
systems.
Electricity is disrupted and brings the entire system
down for hours.
A group planes destructive software, a vi rus, or a worm
into a company network.
Outdated software is slow, difficult to use. and
vulnerable to attacks.
Physical server is stolen, lncellectual property is
stolen or used without permission: may be physical or
electronic.
Employee enters unlocked server room and views the
payroll data on a forbidden system.
Attacker defaces website logo, or destroys CEO's hard
drive physically or electronically.
FIGURE 12- 16 System threats can be grouped into several broad categories.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase 5
Systems Support and Security
12.5 System Security
421
hardware, software, data, networks, people, or procedures. For each asser, a risk
manager rares rhe impacr of an arrack and analyzes possible rhrears. A threat is an
internal or exrernal entiry rhar could endanger an assec. For example, rhrear caregones
might include narural disasters, software attacks, or theft, as shown in Figure
12-16.
Next, the risk manager identifies vulnerabilities and how they might be
exploited. A 'ulncrabilit) is a security weakness or soft spot, and an exploit 1s an
arrack thar takes advantage of a vulnerability. To identify vulnerabilities, a risk
manager might ask questions like these: Could hackers break through the /)roxy
server? Could em/)loyees retrieve sensitwe files without pro/)er a11thorizat1011?
Could people enter the computer room and sabotage our servers? Each vulnerability
is rated and assigned a value. The ourput of risk identification is a list of assets,
vulnerabilities, and ratings.
RISK ASSESSMENT: In IT security tern1s, a risk is the impact of an attack
multiplied by the likelihood of a vulnerability being exploited. For example, an
impact value of 2 :ind a vulnerability raring of 10 would produce a risk of 20. On
the other hand, an impact value of 5 and a vulnerability rating of 5 would produce
a risk of 25. When risks are calculated and prioritized, critical risk~ will head the
list. Although rntings can he subjective, rhc overall process provides a consistent
approach and framework.
RISK CONTROL: After risks are identified and :issessed, they must be controlled.
Control me:isure might include rhe following examples: We could place" firewall
on the proxy server. \Ve could assign permissions to sensitive files. \Ve could
install biometric devices to guard the computer room. TypicaU)', management
choo es one of four risk control straregies: avoidance, mirigation, transference,
or :icceprnnce. A"o1dance eliminates the risk by adding protective s:ifegu:irds. For
example, to pre\ent unauthorized access to LAN computers, a secure firew:ill
might be insr:illed. ~1i1igarion reduces the impact of a risk by careful plannmg
and preparntion. For example, a company can prep are a disaster recovery plan
in case a natural disaster occurs. Transference shifts the risk to another asset or
party, such as an insurance company. Acceptance means that nothing is done.
Companies usu:illy accept a risk only when the prorection clearly is nor worrh rhe
expense.
The risk managemenr process is ireracive-risks arc constantly identified, assessed,
and controlled. To be effective, risk managers need a combination of business knowledge,
IT skills, :ind experience with securiry roots and rechniques.
12.S.3 Attacker Profiles and Attacks
An attack is :i hostile act that cargets the system, or the company itself. Thus,
a disgruntled employee, or a hacker who is 6,000 miles away, might launch an
arrack. Attackers break into a sysrem to cause diamage, steal informarion, or gain
recognition, among o rher reasons. Attackers ca n be grouped into categories, :is
shown in Figure 12-17, while Figure 12-18 describes some common types of
attacks. Companies combat security threats and challenges by using a multilevel
srrategy.
Chapter 12
Managing Systems Support and Security
422 12.5 System Security
Attacker Charact eristics
ATTACKER
C yberterrorist
Employee
Hacker
Hacktivlst
Script kiddie
Spy
DESCRIPTION
Attacks to advance political. social. or ideological goals.
Uses unauthorized information or privileges to break
into computer systems, steal information. or cause
damage.
Uses advanced skills to attack computer systems with
malicious intent (black hat) or to expose Haws and
improve security (white hat).
Attacks to further a social or political cause; often
involves shutting down or defacing websites.
Inexperienced or juvenile hacker who uses readily
available malicious software to disrupt or damage
computer systems, and gain recognition.
Non-employee who breaks into computer systems to
steal information and sell it.
SKILL SET
High
Vanes
Vanes
Low
High
FIGURE 12-17 IT security professionals have names for various types of attackers.
Types of Attacks and Examples
ATTACK
Back door
Denial of service or
distributed denial of
service
Dumpster diving
Mail bombing
Malicious code
Man in the middle
Password cracking
Phishing
Privilege escalation
EXAMPLES
Attacker finds vulnerability in software package and exploits it.
One or more computers send a stream of connection requests to
disable a Web server.
Attacker scours the trash for valuable 1nformatt0n that can be
used to compromise the system.
Enormous volumes of email are sent to a target address.
Attacker sends infected email to the target system. Attackers may
use viruses, worms, T ro1an horses. keystroke loggers. spyware, or
scripts to destroy data. bog down systems. spy on users, or assume
control of infected systems.
The attacker intercepts traffic and poses as the recipient, sending
the data to the legitimate recipient but only after reading the
traffic or modifying it.
Hacker attempts to discover a password to gain entry Into a
secured system. This can be a dictionary attack. where numerous
words are tried, or a brute force attack. where every combination
of characters is attempted.
F<llse DNS (Domain Name Server) information steers the user to
the attacker's website. Attackers trick users into thinking they are
visiting a legitimate site, such as a bank site. then attempt to obtain
bank account numbers. usernames. and passwords.
Employee tricks a computer into raising his or her account to the
administrator leYel.
(continues)
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f •,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
12.6 Security Levels
Phase 5
Systems Support and Security
423
ATTACK
Sniffing
Social engineering
Spam
Spoofing
EXAMPLES
Network traffic is intercepted and scanned for valuable
information.
An attacker calls the service desk posing as a legitimate user and
requesu that his or her .password be changed.
Unwanted, useless email is sent continuously to business email
accounts, wasting ome and decreasing productivity.
IP address is forged to match a trusted host. and similar content
may be displayed to simulue the real site for unlawful purposes.
FIGURE 12- 18 Attacks can take many forms. as this table shows. IT security managers must be able to detect
these attacks and respond with suitable countermeasures.
12.6 SECURITY LEVELS
To provide i.ystem security, six separate but intenrelated levels must
be considered: physicn l security, network security, application secu·
rity, fi le security, user security, and procedural security. Like the
chain shown in Figure 12- 19, system security is only as strong as
the weakest link. The following sections describe these secltrity lev·
els, and the issues that must be addressed. Top management often
makes the final strategic and budget decisions regarding security,
but systems analysts should understand the overall picture in order
to make informed recommendations.
12.6. 1 Physical Security
The first level of system security concerns the physical environment,
including IT resources and people throughout rhe company. Special
anention must he paid ro critical equipment located in operations centers,
where servers, network hardware. and related equipment operate.
Large companies usually have a dedicated room built specifically for
Security Levels
Physical
Network
Application
File
Procedural
IT operations. Smaller firms might use an office or storage area. Regnrdless of its si1e and
shape, an operations center requires special protection from unwanted intrusion. In nddi·
tion to centrally located equipment, all computers on the nerwork mu~t be secure because
each server or work~mtion can be a potential access point. Physical access ton computer
represencs an enrry point into rhe system and must be conrrolled and protected.
OPERATIONS CENTER SECURITY: Perimeter security is essential in nny room or
area where computer equipment is operated or maintained. Physical access must be
controlled tightl y, and each entrance must be equipped with a suitable security device.
AU access doors should have internal hinges and electron1agnetic locks that arc
equipped with a bnn ery backup system to provide standby power in the event of a
power outage. When the battery power is exhausted, the doors should fa il in a closed
position, but it :.hould be possible for someone locked inside the room to open the
door with an emergency release.
To enhance security, many companies are installing biometric scanning ~}'!.tem!i , which
map an individual's facial fcarures, fingerprints, handprint, or eye characrerisrics, as
shown in Figure 12-20. These high-tech authentication systems replace magnetic identi·
ficntion badges, which can be losr, stolen, or altered. Apple's Face ID system, described
in Chapter 2, is an example of a biometric security system for smarrphone and mobile
......... ""_.. ... .-.. ............... _
User
FIGURE 12-19 Each security link has a
specific focus. and the overall chain Is only as
strong as the weakest ltnk.
.. __ __.... ................... ~~·~---- ···---~~-.,.-"~ ........... --......
("..,_...,llll!O( ...... ..--. .\) ....... ~ "->-"'Allf'W ~-............... ,.. o-.... ._ ...... _ ... ,..,...,...,~..,._.. .............. ~ ..
Chapter 12
Managing Systems Support and Security
424 12.6 Security Levels
FIGURE 12-20 Companies use biometric scanning to analyze
the features of the eye's iris. which has more than 200 points that
can be measured and used for comparison.
devices, as discussed in the section on portable
computers char follows.
Video cameras and morion sensors can be used
to monitor computer room securiry and provide
documenrarion of all ph)'5ical acriviry in rhe area.
A morion sensor uses infrared technology ro decect
movement and can be configured to provide audible
or silent alarms, and to send email messages when
one is triggered. Other types of sensors can monitor
remperacure and humidity in the computer room.
Morion sensor alarms can be accivated at rimes
wben there is no expected acrivity in the computer
room, and authorized technicians should have codes
co enable or disable the alarms.
SERVERS AND DESKTOP COMPUTERS:
If possible,
server and desktop computer cases should be
equipped with locks. This simple, bur important,
precaution might prevent an intrude; from modifying the hardware configuration
of a server, damaging rhe equipment, or removing a disk drive. Server racks should
be locked to avoid the unauthorized placement and retrieval of keystroke loggers. A
keystroke logger is a device that can be inserced between a keyboard and a computer.
Typically, the device resembles an ordinary cable plug, so it does not call attention
to itself. The device can record everything that is typed into the keyboard, including
passwords, while rhe system conrinues to function normally. Keysrroke loggers can
be used legitimately co monitor, back up, and restore a system, but if placed by an
intruder, a keystroke logger represen cs a serious security threat.
In addition to hardware devices, keystroke logging software also cxi5ts. A keystroke
logging program can be disguised as legitimate software and downloaded from the
Internet or a company network. The program remains invisible to the user as it records
keystrokes and uploads the information to whoever installed the program. uch malicious
oftware can be removed by antivirus and antispyware software, discussed farer
in the Application Security section.
Tamper-evident cases should be used where possible. A tamper-evident case is
designed co show any attempt co open or unJock the case. In the event that a computer
case has been opened, an indicator LED remains lit until it is cleared with a
password. Tamper-evident cases do nor prevent intrusion, but a security breach is
more likely co be noticed. Many servers now arc offered with tamper-evident cases as
part of their standard configuration.
Monitor screen savers chat hide tbc screen and require special passwords to clear
should be used on any server or workstation that is left unattended. Locking the screen
::after a period of inactivity is another safeguard. A BIOS-level password, also called a
boot-level password or a power-on password, can also be used. This password muse
be entered before the computer can be started. A boor-level password can prevent an
unauthorized person from booting a computer by using a secondary device.
Finally, companies must consider electric power issues. In mission-critical systems,
large-scale backup power sources are essential to continue business operations. Jn other
cases, computer systems and network devices should be plugged into an uninterruptible
power \upply (UPS) that includes battery backup with suitable capacity. The UPS
should be able to handle shorr-rerm operarions in order ro permir an orderly backup
and sysrem shutdown.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase 5
Systems Support and Security
12.6 Security Levels
425
PORTABLE COMPUTERS: When assessing physical securiry issues, be sure ro
consider additional security provisions for notebook, laptop, and tablet computers.
Because of their small size and high value, rhese computers are tempting rargets
for thieve and indusrnal spies. Alrhough rhe following suggesrions are incended
as a checklist for notebook compurer securiry, many of rhem also apply ro de:.ktop
workstations.
• Sclecr an operaring system rhar allows secure logons, BIOS-level passwords,
and srrong firewall prorccrion. Log on and work wirh a user account char has
limited privileges rather rhan an adminisrraror accounr and mask rhc administrator
account by giving ir a different name chat would be hard for a casual
intruder ro guess.
• Mark or engrave the computer's case with the company name and address, or
a teach a tamper-proof asset ID tag. Many hardware vendors allow corporate
customers to add an asset ID tag in the BIOS. For example, after powering up,
the following message may appear: Property of SCR Associates-Company
Use Only. These measures might not discourage a professional thief, but might
deter a casual rhief, or at leasr make che computer relatively less desirable
because it would be more difficult to use or resell. Security experts also
recommend using a generic carrying case, such as an artache case, rather than a
custom carrying case chat calls attention ro itself and its contents.
• Consider devices that have a builc-in fingerprint reader or facial recognition
-·
sy1item.
••
• ,\itany notebook computers have a Universal Security
Slot (USS) that can be fastened co a cable lock or laprop
alarm. Again, while these precautions migbt nor deter professional
rhieves, they might discourage and deter casual
thieves.
• Back up all viral data before using the notebook computer
outside the office. Save and rranspon highly sensitive
data on remo' able media, such as a flash memory device,
insread of the compurer's hard drive.
• Use tracking sofrware char directs the laptop to periodically
contact a ecuriry cracking center. if the notebook is
stolen, the call-in identifies the compurer and its ph)•sical
location. Armed with this information, the security tracking
center can alert law enforcement agencies and communications
providers.
• Apple, Google, and Microsoft offer services to locate lost
customer sma rtphones. The services also permit remote
data wipe and factory reset of the devices. For example,
Apple's Find My iPhone app is shown in Figure 12-21.
Apple also provides a similar cloud-based service.
• While traveling, try co be alert to pocential high-risk situations,
where a thief, or thieves, mighr create a disc:racrion
and attempt to snatch the compure r. These situations often
occur in crowded, noisy places like airport baggage claim
areas, rental car counters, and security checkpoints. Also,
when travelmg by car, score rhe computer in a trunk or
lockable compartment where 1t will nor be visible.
Find My iPhone
-
ApplelO a~
FIGURE 12-21 Apple's Find My 1Phone app
helps customers locate lost devices and perform
remote data wipes and factory resets if needed.
~.. ....
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~----···---~~-.,.-"~ ...........--......
Chapter 12
Managing Systems Support and Security
426 12.6 Security Levels
• Establish stringent password protection policies that require minimum length
and complexity and set a limit on how many rimes an invalid password can be
entered before the system locks itself down. In some situations, con ider establishing
file encryprion policies to protect extremely sensiti\'e file~.
Outer Banks County is a 200-square-mile area in coastal North Carolina. and you are the
IT manager. The county has about a hundred office employees who perform clerical tasks in
various departments. A recent budget crisis has resulted in a wage and hiring freeze. and morale
has declined. The county manager has asked you to install some type of keystr0ke logger to
monitor employees and determine whether they are fully productive. After your conversation,
you wonder whether there might be some potential privacy and security issues involved.
For example, does an employer have a duty to notify its employees that it is monitor·
ing them/ Should the employer notify them even if not required to do so/ From a human
resources viewpoint, what would be the best way to approach this issue/ Also, does a
potential security Issue exist/ If an unauthorized person gained possession of the keystroke
log, he or she might be able to uncover passwords and other sensitive data.
What are your conclusions? Are these issues important, and how would you respond
to the county manager's recommenda-tion/ Before you answer. you should go on the
Internet and learn more about keystroke loggers generally. and specific products that
currently are available.
12.6.2 Network Security
A network is defined as two or more devices that arc connected for the purpose of
sending, receiving, and sharing dara, which is called nerwork traffic. In order ro connect
to a network, a computer must have a network interface, which is a combination
of hardware and software thar allows rhe computer to inccract wich rhc nerwork. To
provide security for nerwork traffic, data can be encrypted, which refers to a process
of encoding the data so it cannor be accessed withour authoriLation.
ENCRYPTING NETWORK TRAFFIC: Nerwork traffic can be intercepted and possibly
altered, redirected, or recorded. For example, if an unencr) pted, or plain text,
password or credit card number is transmitted over a network connection, it can be
stolen. When the traffic is encrypted, it still is visible, but its content and purpose arc
masked.
Two commonly used encryption techniques are private key encryption and public
key encryption. Private key encryption is symtnctric because a single key is used co
encrypt and decrypt information. While this method is simple and fast, it poses a fun·
damenral problem. To use symn1etric encryption, both the sender and receiver must
possess chc sa me key beforehand, or it must be sent along with the message, which
increases the risk of interception and disclosure.
In contrast, public key encryption (PKE) is asymmetric, because each user has
a pair of keys: a public key and a private key. Public keys are used to encrypt messages.
Users can share their public keys freely, while keeping their private keys tightly
guarded. Any message encrypted with a user·s public key can only be decrypted with
that user's private key. This method is commonly used in secure onlinc e-commerce
S)'Stems.
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
Phase 5
Systems Support and Security
12.6 Security Levels
427
WIRELESS NETWORKS: As discussed in Chapter 10, wireless nerwork M:curity is a
vital concern because wireless transmission is much more vulnerable than traffic on a
wired nerwork. H owever, if wireless traffic is encrypted, any data that is intercepted
by an unintended recipient will be useless to the intruder.
The earliest form of wireless security, called Wtred Equi\'alent Pri\'aC} (\VEP),
required each wireless client to use a special, pre-shared key. Although many home
and small office nerworks used rhis method, it provided relatively weak protection.
WEP was replaced by \Vi-Fi Protected Access (WPA), which offered major security
improvements based on prorocols created by the Wi-Fi Alliance. The most
recent wireless security enhancement, called WPA2, further strengthens the level of
wireless protection. WPA2 is an extension of \VPA based on a full implemenration
of the IEEI::. 802.11 i Standard. According co che Wi-fi Alliance, the WPA2 standard
became mandatory for all new devices seeking Wi-Fi certification after 2006. WPA2 is
compatible with WPA, so companies easi ly can migrate co the new security standard.
PRIVATE NETWORKS: It is not always practical to secure all network traffic.
Unfortunately, encrypting traffic increases che burden on a nerwork, and can decrease
nenvork performance significantly. Jn situations where network speed is essenti:i l,
such as a web server linked to a database server, many firms use a private network
to connect the computers. A private network is a dedicated connection, similar to a
leased telephone line. Each computer on the private nerwork must have a dedicated
inrerface to the network, and no interface on rhe network should connect to any point
outside the network. In this configuration, unencrypted traffic safely can be transmitted
because it is not visible and cannot be intercepted from outside the network.
VIRTUAL PRIVATE NETWORKS: Privare nenvorks work well with a limited num·
ber of computers, but if a company wanrs to esca blish secure connections for a larger
group, it can create a \•irrual private network. A virtual private network (VPN) uses a
public network, ~uch as rhe lncerner or a company inrranet, to connect remote users
securely. Instead of using a dedicated connection, a VP1 allows remote clients to use
a special key exch::inge that must be authenticated by the VPN. Once authentication
i~ complete, a secure nerwork connecrion, called a runnel, is established berween che
client and the access point of the local incranet. All craffic is encrypted through the
VPN tunnel, which provides an additional level of encr)•prion and ~ecurity. As more
companies allow employees to work from home, a VP can provide acceptable levels
of security and reliability.
PORTS AND SERVICES: A port, which is identified by a number, is used to route
incoming traffic ro rhc correct application on a computer. In T CP/lP networks, such
as the Lnternet, all traffic received by a computer contains a destination port. Because
the destination port determines where the craffic will be routed, the computer sorrs
the traffic by port number, which is included in the transnutted data. An analogy
might be a large apartment building with multiple mailboxes. Each mailbox has the
same street address, but a different box number. Port security is critically important
because an ;Htacker could use an open port to gain access to the system.
A senice is an application thar monitors, or listens on, a particular port. For
example, a typical email application listens on pore 25. Any traffic received by that
port is routed to the email application. Services play an important role in computer
secu rity, and they can be affected by pore scans and denial-of-service attacks.
• Port scans. Port scans attempt to detect the services running on a computer
by trying to connect to various pons and recording the pons on which a
connecrion was accepted. For example, the result of an open poet 25 would
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter 12
Managing Systems Support and Security
428 12.6 Security Levels
indicate that a mail server is running. Port scans can be used to draw an
accurate map of a nerwork, and pinpoint possible weaknesses.
• Denial of service. A denial of service (DoS) attack occurs when an attacking computer
makes repeated requests co a service or services running on certain pores.
Because the target computer has to respond to each requesc. it can become bogged
down and fail co respond to legitimate requests. A much more devastating attack
based on this method is called a distributed denial of service (00oS) attack. This
attack involves multiple attacking computers that can synchronize DOS attacks
and immobilize a server, as shovm in Figure 12-22. A DDoS attack is an example
of the type of serious cyberanacks that United States Computer Emergency Readiness
Team (US-CERT), shown in Figure 12-23, was created to address.
Attacker
Bornet
Target
FIGURE 12-22 In a DoS attack. an attacker s;ends numerous authentication requests with false recum
addresses. The server tries unsuccessfully to send ovt authentication approval and IS evenruatly disabled by the
Roor of requests. More sophisticated DoS attacks are distributed (DDoS).as shown In rh1s figure. Instead of a
sangte computer, the atacker uses an army of botnets (computers unknowingly infected wirh malware that are
difficult to trace) to attack the argeL
US-CERT ..
..... Ml & .. >lr'!l.. (A"f••\ f'~,K4'<W\ ... , ••,~.,,_ •t1•'l >•t'I..•,,••• ••
0
FIGURE 12-23 The US-CERT is a key player in the battle against cybersecurlty threats.
Sol.ire« JL ~
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase 5
Systems Support and Security
12.6 Security Levels
429
FIREWALLS: A firewall is the main line of defense berween a local nerwork, or
inrranet, and the lnterner. A firewall musr have ar leasr one nerwork inrerface wirh rhe
Internee, and ar lease one nerwork inrerface with a local network or inrraner. Firewall
software examines all nerwork rraffic senr to and from each nerwork inrerfoce. Preset
rules esrabli~h certain conditions that determine whether the firewall will allow the
traffic to pass. \Xlhen a matching rule is found, the firewall automatically accept~.
re1ecrs, or drops the traffic. When a firewall rejects traffic, it sends a reply md1cacing
chat the traffic 1s not permissible. When a firewall drops traffic, no reply is sent.
Firewalls can be configured to detect and respond co denial-of-service arcacks, port
scans, and ocher suspicious acriviry.
Figure 12-24 shows a basic set of firewall rules for a company chat has a web
server and a mail server. In this example, the firewall would accept public web server
traffic only on ports 80 and 443 and public n1ail server traffic only on port 25. The
firewall would allow private LAN traffic to any destination and port.
INTERFACE
DESTINATION
PORT
ACTION
Public
Web Server 80
Accept
2
Public
Any
Web Server 443
Accept
3
Public
Any
Web Server
Any
Reject
4
Public
Any
Mail Server
2S
Accept
5
Public
Any
Mail Server
Any
Reject
6
Public
Any
Any
Any
Drop
7
Private
LAN
Any
Any
Accept
FIGURE 12-24 Exampll!S of rull!S !hat detenn1ne whether U,., firewall will allow traffic to pass.
NETWORK INTRUSION DETECTIO N : Suppose an intruder attemprs to gain access
co the system. Obviously, an intrusion alarm should be sounded when certain acriviry
or known attack patterns are detected. A network intrusion detection system (NIDS)
is like a burglar alarm that goes off when it detects a configuration violation. The
NlDS also can alert the adminisrrator when it detects suspicious network traffic patterns.
An NIDS requires fine-tuning to detect the difference between legitimate nerwork
traffic and an atrack. It is also important that an NIDS be placed on a switch or
other nerwork device that can monitor all netwolfk traffic. Although an IDS requires
some administrative overhead, it can be very helpful in documenting the efforts of
attackers and analyzing network performance.
12.6.3 Application Security
In addition to securing the computer room and shielding network traffic, it is necessary
to protect all server-based applications. To do so, the analyst must analyze the
application's functions, identify possible security concerns, and carefully study all
available documentation. Application security requires an understanding of services,
hardening, applicarion permis~ion s , input validation techniques, software parches and
updates, and software logs.
Chapter 12
Managing Systems Support and Security
430 12.6 Security Levels
SERVICES: The necwork security secrion explained how a service is an applicacion
char monitors, or listens, on a particular port. Which sen'ices arc running can be
determined by using a port scan utilicy. If a particular application is nor needed, ir
should be disabled. This will improve syscem securiry, performance, and reliability.
An unnecessary or improperly configured service could create a vulnerability called
a \ecurity hole. For example, if a loosely configured File Transfer Protocol (FTP) service
i~ available co a hacker, he or she might be able to upload desrrucnve code co the
server.
HARDENING: The hardening process makes a system more secure by removing
unnecessary accounts, services, and features. Hardening is necessary because the
default configuration of some software packages might create vulnerability. For
example, inicial software settings often include relatively weak account permissions
or file sharing controls. Hardening c:an be done manuall)' or by using a configuration
template, which speeds up the process in a large organization.
Hardening also includes additional protection such as antivirus and ancispyware
sofrware. These programs can detect and re1nove malware, which is hostile software
designed to infilcrace, damage, or deny service co a computer syscem. Malwarc
includes worms, Trojan horses, keystroke loggers, and spyware, among ochers.
APPLICATION PERMISSIONS:
Typically, an application is configured to be run
on ly by users who have specific rights. For example, an admini~crntor account,
or superu~cr account, allows essentially unrestricted access. Other users mighc
be allowed co enrer darn, but nor ro modify or delete existing data. To prevenc
unaurbori.Ged or desrrucrive changes, rbe application should be configured so char
non-privileged users can access rhe program but cannot make changes to built-in
funccions or configurations. User rights, also called permis~ion~ , are discussed in more
detail in the file security section.
INPUT VALIDATION: As discussed in Chapcer 8, when designing che user interface,
input validation can safeguard data integrity and security. For example, if an application
requires a number from 1 to 10, what happens if an alphabetic character or the
number J 1 is entered? If the application is designed properly, it will respond wich an
appropriacc error message. Chapter 8 also explained daca entry and validarion checks,
which are imporcanr techniques char can improve data integrity and qualiry. Failure
to validate input data can result in output errors, increased maintenance expense, and
erratic system behavior.
PATCHES AND UPDATES: In an operational system, security holes or vulnerabilities
might be discovered at any rime. Patches can be used co repair these holes, reduce
vulnernbiliry, and update che system. Like any other new software, pacche~ mu~c be
tested carefully. Before applying a parch, an effort should be m•1de ro decermine the
risks of 110/ applying the patch, and the possibi lity chat rhe p•HCh might affect ocher
areas of che system.
lvlany firms purchase software packages called third-party software. Patches
released by third-party sofrware vendors usually are safe, but any parch must be
reviewed carefully before it is applied. Because researching and applying patches is
time consuming and expensive, many software vendors offer an automatic update
service chat enables an application to contact the vendor's server and check for a
needed patch or update. Depending on the configuration, available patches can be
downloaded and installed without human intervention or might require approval by
IT managers. Although it is convenient, automatic updating carries substantial risks,
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase 5
Systems Support and Security
12.6 Security Levels
431
and should be used only if changes can readily be undone if unexpected results or
problems develop.
SOFTWARE LOGS: Operating systems and applications typically maintain a log
that documents all event:., includmg daces, cimes, and other specific information. Logs
can be important in understanding past attacks and preventing future intrusions. For
example, a partern of login errors mighc reveal the details of an intrusion arrempt.
A log also can include S) stem error messages, login histories, file manipulauon, and
other informauon that could help track down unauthorized use. Sofrware logs should
be monitored constantl)• to determine if misuse or wrongdoing has occurred. As
explained in the nerwork security section, an NIDS can alert a system administrator
whenever suspicious events occur.
12.6.4 File Security
Computer configuration settings, users' personal information, and other sensiti ve data
arc stored in files. The safccy and prorccrion of these files is a viral clement in any
computer security progrnm, and a systems analyse needs to consider the importance
of encryption or encoding fi les ro make them unreadable by unauthorized users, and
permissions, which can be assigned co individual users or to user groups.
ENCRYPTION: As explained in che section on necwork secu rity, encryption scrambles
the contents of :i file or document to protect ic from unauthorized :iccess. All
corporate data must be protected, bur encryption is especiaUy important for sen!>iti ve
macerial such as personnel or financial records. User data can be encrypted u&ing features
built-in to most modern operating systems.
PERMISSIONS: File security is based on establishing a set of permissions, which
describe the rights a user has to a particular file or directory on a server. The mosr
common permissions are read, write, and execute. Typical examples of permissions
include the following:
• Read a file: The user can read the contents of the file.
• Write a file: The user can change the contents of the file.
• Execute a file: The u~e r can run the file, if it is a program.
• Read a directory: The user can list the contents of the directory.
• Write a direcrory: The user can add and ren1ove files in the directory.
When assigning file permissions, a system administrator s11ould ensure that each
user has only the minimum permissions necessary ro perform his or her work-nor
more. In some firms, the system administrator has broad discretion in assigning these
levels; in ocher companies, an appropriate level of management approval is requi red
for any permissions above a standard user level. nn any case, a well-documented and
enforced permissions policy is necessary co promote file security and reduce system
vulnerahiliry.
USER GROUPS: Individual users who need to collaborate and share files often
reque~c a higher level of permissions char would enable any of chem co change file
content. A better approach, from a system adminisrracor's viewpoint, might be to
create a user group, add pecific users, and assign file permissions to the group,
rather than to the individuals. M any firms use chis approach because it allows a
user's rights to be determined by his or her work responsibilities, rather than by
_
.........""_......-....... .......... ..__
("..,_...,llll!O( ...... ..--. .\) ....... ~ "-> - "'Allf'W ~-............... ,.. o-.... ._ ...... _ ... ,..,...,..., ~ ..,._.. .............. ~ ..
__.... ................... ~~·~--- - ···---~~ - .,.-"~ ........... --......
Chapter 12
Managing Systems Support and Security
432 12.6 Security Levels
job title or rank. If a person is transferred, he or she leaves certain groups and joins
others that reflect current job duties.
12.6.S User Security
User ecunry involves the identification of system users and consideranon of user-related
security issues. Regardless of other security precautions and fearures, security
ullimarely depends on S)'Stem users and their habits, practices, and willingness to support
security goals. Unfortunately, many system break-ins begin with a user account
that is compromised in some way. Typically, an intruder accesses the S)Stem using
the compromised account a11d may attempt a privilege e\calation attack, which is an
unaurhorilCd ancmpt to increase peirmjssion levels.
User security requires identity management, comprehensive p:issword protection,
defenses :igainst social engineering, an effective means of overcoming user resistance,
:ind consideration of new technologies. These topics arc discussed in the following
sections.
IDENTITY MANAGEMENT: Identity management refers to controls and procedures
necessary to identify legitimate users and system components. An identity management
strategy must balance technology, security, privacy, cost, and user productivity.
ldenrity management is an evolving technology that is being pursued intensively by
corporations, IT associations, and governments.
Carmer has described identity management as a "set of electronic records that
represent ... people, machines, devices, applications, and service ."This definition
suggests that not just users, but also each component in a system, must have a veri·
fiable identiry rhar is based on unique characteristics. For example, user :iuthenrica·
rion might be based on a combinacion of a password, a Social Securit)' number, an
employee number, a job title, and a physical locarion.
Bec:iuse of rhe devasraring consequences of intrusion, IT managers should give rop
priority to 1denrity management strategies and solutions.
PASSWORD PROTECTION: As the section on physical security point our, a secure
system must have a password poucy rhar requires mjnimum length, complexity, and a
limit on invalid login attempts. Although passwords are a key element in any security
program, users often choose passwords that arc easy to recall, and they sometimes
resent having ro remember complex passwords. For example, for several years in a
row, one of rhe most common computer passwords has been" 123456," an unfortu·
narc choice rhar is trivially easy to crack.
As long as passwords are used, IT managers should insist on passwords rhat have
a minimum length, require a combination of case-sensitive letters and numbers, and
must be changed periodicall y. Unforrunately, any password can be compromised if a
user writes it down and stores it in an easily accessible location such as a desk, a bulletin
board, or under the keyboard.
Several yea rs ago, a hacker made headlines by gaining acccs~ to the email account
of a political candidate. The intruder signed on as the candidate, requested a new
password, guessed the answers to the security questions, and was ahle ro enter the
accounr. These actions were totally illegal and constituted a serious felony under federal
law.
SOCIAL ENGINEERING: Even if users are protecting and securing their passwords,
an intruder might anempt to gain unauthorized access to a system using a
tactic called ~ocia l engineering. In a social engineering attack, an intruder uses social
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase 5
Systems Support and Security
12.6 Security Levels
433
interaction ro gain access ro a computer system. For example, the intruder might pretend
robe a new employee, an outside technician, or a journalist. Through a serie of
questions, rhe intruder tries to obtain the information chat he or she needs to compromise
the system. A common ploy i~ for the attacker to contact several people in the
same organi1ation and use some information from one source ro gain credibility and
entry to another source.
An mrruder also might contact the help desk and say, " Hi. This is Anna Dressler
from accounting. I seem to have forgotten my password. Could you give me a new
one?" Although this request might be legitimate, it also might be an attacker trying to
access the system. A password never should be given based solely on this telephone
call. The user should be required to provide further information to validate his or her
identity, such as a unique employee TD, a telephone extension, and a company ema ii
address.
One highly publicized form of social engineering is called pretexting, which is a
method of obtaining personal information under false pretenses. Pretexting is commonly
used as part of identity theft, wherein personal information or online credentials
are stolen and used for illegal purposes. The Federal Trade Com1nission's division
of Privacy, Identity & Online Security has a section dedicated to helping consumers
battle identify theft. The best way to combat social engineering attacks is with
employee education, more training, and a high level of awareness during day-ro-day
operations.
USER RESISTANCE: Many users, including some senior managers, dislike tight security
measures because rbe measures can be inconvenient and time consuming. Sysrems
analyst11 should remind users chac rhe company owes the best possible securiry co its
customer~, who have entrusted personal information to che firm; ro its employees,
who also have personal information stored in company fi les; and ro its shareholders,
who e"<pecr the company co have a uitable, effective, and comprehensive security
program char will safeguard company assets and resources. \Vhen users understand
this overall commirmenr ro security and feel that rbey are pan of ic, they are more
likely ro choose hener passwords, be more alen co security issues, and contribute ro
che overall success of the company's security program.
NEW TECHNOLOGIES: In addition to traditional measures and biometric devices,
new technologies can enhance security and prevent unauthorized access. For example,
the security token shown in Figure 12-25 is a
physical device that aurhenticares a legitimate
user. Some firms provide employees with security
cokens that generate a numeric validation
code, which the employee enters in addition to
his or her norm::d password.
Unfortunately, new technology sometimes
creates new risks. For example, a powerful
search application can scan all the files, documents,
emails, chars, and stored webpages nn
a user's computer. Although this might provide
a convenient way for users ro locate and
retrieve their data, ir also can make ic easier
for an intruder ro obtain private information,
especially in a multiuser environment, because
che program can recall and display almost
anything stored on the computer. Also, if an
FIGURE 12-25 Security tol<ens, which come in various forms. can
provide an addmonal level of secunty.
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter 12
Managing Systems Support and Security
434 12.6 Security Levels
inrrudcr uses rhc rerm password in a search, the program mighr be able ro find password
reminders char are srored anY'vhere on che computer. To increase privacy for
multiuser compurers, each user shou Id have a separate accounr, wirh individual u ernamcs
and passwords.
Business and personal users also should use caurion when they consider cloudbased
srorage and services. In this environment, where rhe rechnology changes
rapidly, rhe besr ber may be ro work wirh well-established vendors, who can provide
significant cloud securiry experience and safeguards.
12.6.6 Procedural Security
Procedural security, also called operational security, is concerned with managerial
policies and controls that ensure secure operations. In fact, many IT professionals
believe that security depends more on managerial issues than technology. Management
must work to establish a corpora te culture that stresses the imporra11cc of security
ro the firm and its people. Proced ural security defines how particular tasks arc to
be performed, from large-scale data backups to everyday tasks such as storing emails
or forms. O ther procedures might spell o ut how co update firewall software o r how
security personnel sho uld treat suspected attackers.
All e mployees sho uld understand tha t they have a personal rcspcrnsibiliry for security.
For exam ple, an employee handbook mig ht require that users log o ut of their system
accounts, clear their desks, and secure a ll documents before leaving for the day.
T hese policies reduce the risk of dumpster diving attacks, in which an inrruder raids
desks or trash bins for valuable information. In addition, paper shredders should be
used to destroy sensitive documents.
Procedural securiry also includes safeguarding certain procedures chat would be
valuable to an anacker. The most com mon approach is a need-to-know concepr,
where access i~ limited to employees who need the information to perform sccuriry-related
tasks. ~1any firms also a p ply a set of classification levels for access to
company documents. For example, highly sensitive technical documents mighr be
available only to rhe IT support ream, while user-related materials would be available
to mo~t compa ny employees. If classification levels a re used, they hould be identified
clearly and enforced consistently.
Procedural security muse be supported by upper ma nagement and fully explained
to all employees. The organization must provide training co explain rhe procedures
and issue reminders from time to time that will make securiry issues a prioriry.
Chain Link Consulting is an IT consulting firm that specializes in system security issues. The company's
president has asked you to help her put together a presentation to a group of potential
clients at a trade show meeting next month. First, she wants you to review system security issues,
considering all six security levels. Then she wants you to come up with a list of WWi'fS that Chain
Link could test a client's security practices, in order to get a real-world assessment of vulnerability.
To make matters more interesting, she told you It was OK to be creative in your recommendations,
but not to propose any action that would be illegal or unethical. For example.
it would be OK to pose as a job applicant with false references to see if they were being
checked, but it would not be appropriate to pick a lock and enter the computer room.
Your report is due tomorrow. What will you suggest?
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase 5
Systems Support and Security
12. 7 Backup and Recovery
435
12. 7 BACKUP AND RECOVERY
Every sysrem musr provide for data backup and recovery. Backup refers ro copying
data at prescribed intervals, or continuously. Recovery in,·olves restoring the data and
restarting the system after an interruption. An overall backup and recovery plan that
prepares for a potential disaster is called a disaster recovery plan.
12.7. 1 GlobaJTerrorism
The tragic events of eptember 11 , 2001, and increased concern about global terrorism,
have led man)' companies to upgrade their backup and disaster recovery plans.
Heightened focu!. on di~asrer recovery has spawned a whole new industry, which
includes new cools and srrategies. Many rT professionals fee l that terrorism concerns
have raised security awareness throughout che corporate world. Although they are
separate topics, backup and disaster recovery issues usually are intertwined.
12.7.2 Backup Policies
The cornerstone of business dara protection is a backup policy, which contains
detailed instructions and procedures. An effective backup policy can help a firm continue
business operations and su rvive a catastrophe. The backup policy should specify
backup media, backup types, and retention periods.
BACKUP MEDIA: Backup media can include rape, bard drives, optical storage, and
onlinc storage. Physical backups must be carefully identified and stored in a secure
location. Offsiting refers to the practice of storing backup media away from the main
business location, in order ro mitigate the risk of a cacastrophic disaster such as a
flood, a fire, or an earthquake. Even if the operating system includes a backup utility,
many system administrators prefer to use specialized third-part)' software that offers
more options and ben cr controls for large-scale operations.
In addition to on ire data storage, cloud-based storage is growing rapidly. Many
companies use onlinc backup and retrieval services offered b)• leading vendors. For a
small- or mcdium-si1ed firm, this option can be cost effective and reliable.
BACKUP TYPES: Backups can be full, differential, incremental, or contmuous. A full
backup is a complete backup of every file on tbe system. Frequent full backups arc
time consuming and redundant if most fiJes are unchanged since the last full backup.
Instead of performing a full backup, another option is to perform a differential
backup, which is foster because it backs up only the files that are new or changed
since the last full backup. To restore the data to its original state, the last full backup
is restored first, and then the last differential backup is restored. Many IT managers
believe that a combination of full and differentia! backups is the best option because
it uses the least amount of storage space and is simple.
The fastest method, called an incremental backup, only includes recent files that
never have been backed up by any method. This approach, however, requires multiple
steps to restore the data--One for each incremental backup.
Most large systems use continuous backup, which is a real-time streaming method
tbat records all system activity as it occurs. This method requires hardware, software,
and substantial network capacity. However, system restoration is rapid and
effective because data is being captured in real time, as it occurs. Continuous backup
often uses a redundant array of independent disks (RAJD ) system that mirrors the
data. RAID S)'Stcms are called fault tolerant because a failu re of an)' one disk docs
Chapter 12
Managing Systems Support and Security
436 12. 7 Backup and Recovery
not disable the system. Compared co one large drive, a RAID design offers better
performance, greater capacity, and improved reliability. \X/hen installed on a server,
a RAIO array of multiple drives appears co rhe computer as a single logical drive.
Figure 12-26 shows a comparison of various backup methods.
Comparison of Backup Methods
BACKUP TYPE CHARACTERISTICS PROS AND CONS
Full Backs up all files. Slowest backup time and
requires the most storage
space. Rapid recovery
because all files are restored
in a single step.
Differential Only backs up files that Faster than a full backup and
are new or changed requires less storage space.
since the last full All data can be restored in
backup.
just two steps by using the
last full backup and the last
differential backup.
Incremental Only backs up files that Fastest backup and requires
are new o r changed the least storage space
since the last backup of because it only saves files
any kind.
that have never been backed
up. However. requires many
restore steps-<>ne for each
incremental backup.
Continuous Real-time, streaming Very expensive hardware.
method that records software, and network
all system activity. capacity. Recovery is very
fast because system can be.
re.stored to just be.fore an
interruption.
TYPICAL
FREQUENCY
Monthly or
weekly.
Weekly or daily.
Daily or more
often.
Usually only
used by large
firms and
network-based
systems.
FIGURE 12-26 Comparison of full, differential. incremencal,and continuous backup methods.
RETENTION PERIODS: Backups are scored for a specific retention period after
which they are cicher destroyed or cbe backup media is reused. Retention periods can
be a specific number of months or years, depending on legal requirements nnd company
policy. Stored media must be secured, protected, and in ventoried periodically.
12.7.3 Business Continuity Issues
Global concern nbout terrorism has raised awareness levels and increased top
management support for a business continuity strategy in the event of an emergency.
A disaster recovery pion describes actions to be taken, specifics key individuals and
rescue authorities to be notified, and spells out the role of employees in evacuation,
mitigation, and recovery effons. The disaster recovery plan should be accompanied by
a test plan, which can simulate various levels of emergencies and record the responses,
which can be analyzed and improved as necessary.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase 5
Systems Support and Security
12.8 System Retirement
437
After personnel arc safe, damage to company assets should be mitigated. The plan
might require shutting down systems to prevent further daca loss or moving physical
assets to a secure location. Afterward, the plan should focus on resuming business
operations, including the salvaging or replacement of equipment and the reco,·ery
of backup data. The main objective of a disaster recovery plan is ro restore busmess
operations to pre-disaster levels.
Disaster recovery plans are often part of a larger business continuity plan (SCP),
which goes beyond a recovery plan, and defines how critical business functions can
continue m the event of a major disruption. Some BCPs specify the use of a hot sire.
A hot site is an alternate IT location, anywhere in rhe world, that can support critical
systems in the event of a power outage, system crash, or physical catastrophe. A hoc
site requires data replication, which means that any transaction on the primary system
must be mirrored on the hot site. If the primary system becomes unavailable, the
hot site will have the latest data and can function seamlessly, with no downtime.
Although hot sites are attractive backup solutions, they are very expensive. I lowever,
a hot site provides the best insurance against major business interruptions. In
addition to hot sires, business insurance can be important in a worst-case scenario.
Although expensive, business insurance can offset the financial impact of system failure
and business interruption.
12.8 SYSTEM RETIRE"1ENT
At some point, every system becomes obsolete and is ripe for retirement. For example,
in the 1960s, punched cards represented the cutting edge of data management. Dara
was stored by punching holes at various positions and was retrieved by machmcs char
could sense the presence or absence of a punched hole. Mose full -size cards stored
only 80 characters, or byres, so more than 12,000 cards would be needed ro store a
megabyte. Punched cards were even used as checks and utility bills. Today, this technology
is obsolete.
Con~rantl)' changing technology means char every srsrem has a limited economic
life span. Analysts and managers can anticipate system obsolescence in several ways
and ir never should come as a complete surprise.
A system becomes obsolete when it no longer supports user needs, or when the
platform become!. outmoded. The most common reason for di~conrinuing a sy!.tem is
that it has reached the end of irs economically useful life, as indicated by the following
signs:
• The system's maintenance history indicates that adaptive and corrective maintenance
are increasing steadily.
• Operational cosrs or execution times are increasing rapidly, and routine perfective
maintenance docs not reverse or slow ·che trend.
• A sofnvnre package is available that provides che same or additional services
faster, better, and less expensively than the current system.
• ew technology offers :.t way to perform the same or :.idditional functions more
efficiently.
• ~lainrenance changes or additions are difficult and expensive ro perform.
• Users request significant new fearures to support business requirements.
Systems operation and support continue until a replacement system is installed.
Toward the end of a system's operational life, users are unlikely ro submit new
Chapter 12
Managing Systems Support and Security
438 12. 9 Future Challenges and Opportunities
requests for adaptive maincenance because they are looking forward to the new
release. Similarly, the IT staff usually does nor perform much perfective or preventive
maintenance because rhe system will nor be around long enough to justify rhe cost.
A system in it final stages requires corrective maintenance only to keep the system
operational.
User sati~faction typically determines the life span of a system. The critical success
factor for any system is whether or not it helps users achieve their operanonal and
business goals. All negative feedback should be investigated and documented, because
it can be the first signal of system obsolescence.
Ar some point in a system's operational life, maintenance costs stare to increase,
users begin to ask for more features and capability, new systems requests arc
submitted, and the SDLC begins again.
12. 9 fUTURE CHALLENGES AND OPPORTUNITIES
There is an old saying that rhe only constant in life is change. The same is true for
information technology-except thait the rate of change in IT seems to increase every
year. Rapid change can present numerous challenges to organizations and individuals,
but it can also offer exciting new oppornmicies. The secret to success is to be ready
for the changes that are bound ro occur and be proactive, nor reactive.
No prudent professional would Starr a complex journey without a map and a plan.
To navigate the futu re of information technology, companies require ~rrategic plans,
which were discussed in Chapter 2. An individual also needs a plan co reach to a specific
goal or desrinarion. This section discusses rrends and predictions rhar will affect
all IT professionals. To prepare for the challenges ahead, individuals will need to plan
and develop their knowledge, skills, and credentials.
12.9. 1 Trends and Predictions
Navigaring an IT career can be compared to sailing a ~mall ship in difficult seas.
Even a veq• good captain with a clear map for guidance will be subjected to forces
and circumstances that are sometimes beyond their control. What can be done is co
understand these forces and try to prepare for them. Figure 12-27 describes some
w111ds of change rhat may influence IT trends, including globali1arion, cechnology
integration, service orientation, cloud computing, and the workplace of the future.
In addition ro the trends described in Figure 12-27, most firms will face economic,
social, and political uncertainty. 1vlany IT experts believe that in this environment, the
top priorities will be the safety and security of corporate operations, agility and the
abi liry to quickly respond to changing market forces, and bottom-line TCO. Herc arc
some examples of possible trends and developments over the next few years:
• Cybcrcrime will increase significantly, with negative financial, social, and
national securit)' implications.
• Smartphoncs and tablets will become the dominant computing plarform for
mosr users, bypassing the trad itional PC or laptop as the device of choice.
• Software as a Service (SaaS) will become the norm, which will affect business
models and consumer costs as the industry moves from a purchase ro a leasing
model for computer applications.
• Cloud computing will become the principal computing infrastructure for rhe
enterprise, which in turn will enable software-as-a-service and lower TCO.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Phase 5
Systems Support and Security
12.9 Future Challenges and Opportunities
439
TREND
DESCRIPTION
IMPACT ON IT
GENERALLY
IMPACT ON FUTURE
SYSTEMS ANALYSTS
Globalization
New lands of corporaoons will
be globally integrated. driven
by the Internet. and free of
traditional trade barriers.
language skills will be exi:remely
important. Technology will open
new opportunities for developmg
countries to compete more
effectjyely. Knowledge worl<ers
will communicate and collaborate
across borders and boundaries.
Work will be done 24'7 across
multiple time zones.
Systems analysa will be directly
affected by global uends. They will
probably wort< for more finns '"
their careers. be exposed to more
mfonnati0n, need more teehnical
skills. and see greater change than
at any time in history.
Technology
Int egration
Powered by an enormous
mcrease in computing
power. new IT models will
include networks with smart.
interconnected deVJces such
as communication systems.
automobiles, entertainment,
transportation lnfrastrucwre,
and "smart" power grids.
New tec.hnology will drive ma1or
changes in how persona.I and
business services are provided.
Firms will compete in a global
marketplace that will reward
Innovation. creativity, and positive
soc.ietal outcomes.
The systems analyst will need
a. mix of business s~ and
technical skills. He or she will have
a unique opporwnity to work
at the Intersection of business
operations and IT. Synergy
between technology growth and
globalization will create jobs and
opportunities for people with the
right skills.
Service
Orie ntation
A business model of computing
where processing capabilities
and data storage are leased
(rented) instead of bought
(owned). Computing capabilities
are seen as servtees used
on-demand. hke electricity or
water, rather than as managed
programs.
Service orientation is a paradigm
shift. It represents a matunng
of the field. where end users no
longer care about technical details
as much as business functionality.
IT systems will be built using SOA
(service-oriented architecture)
to enable current and new
functionality to be delivered as
services to customers.
Systems analysts will need to
Increase their business acumen to
wort< effectively in a service-oriented
IT enwonment. Technical slolls wtl
still be needed. but services are
about fulfilling business requirements.
Cloud
C o mputing
Cloud computing is a new
model for delivering business
and IT services. It will have a
profound impact on business
strategies, including product
innovation, markeong. customer
relationships. and social media.
Cloud computing provides the
IT infrastructure that enables
service orientation.
The full potential of cloud
computing will be realized by
firms that can integrate cloud·
based infrastructure. services.
servers. data access, and a secure
environment. Creativity and
innovation will be rewarded. and
competition will be intense. Cloud
computing will lower TCO by
reducing capital expenditures.
Like any new technology. systems
development for cloud-based
applications will be a challenge
for some and an opportunity
for others. Regardless of the
development method or platform.
an analyst will need business savvy
and technical know-how to help an
organization take full advantage of
the cloud.
The Wortcplace
In the face of worldwide
competition and enormous
technology change, finns will
stress innovaoon. vision, and
the ability to adapt rapidly. The
abihty to think critically will be
Vita).
Successful IT workers must be able
to innovate. analyze. communicate
effectively, and "think outside the
box." The winners will be those
who can adapt to change and
embrace new technology and new
ways of doing business.
Students prepanng for the
workplace of tom0rrow will
need a strong skill set. Systems
analysts will be expected to bnng
convnunlcations, modeling. problem·
solvtng. decision malung. and critical
thinking skills to the workplace -
and to be aware of ethical issues that
might afect them.
FIGURE 12-27 Major trends and their impact on IT in general and on future systems analysts.
Chapter 12
Managing Systems Support and Security
440 12. 9 Future Challenges and Opportunities
• lnsourcing (the moving of jobs from off-shore location~ back home) will
increase, due to economic factors such as higher wages in emerging markers,
improved automation through che use of sophisticated manufacturing robots,
~ecurit)' concerns from outsourced components (hardware and software) developed
overseas, and political pressure co pre erve johs.
It is entirely possible that large enterprises would require suppliers to certify their
security credentials and sourcing policies. Another issue might relate to the growth of
cloud computing and large-scale data centers such as the one shown in Figure 12-28.
Access controls and issues related co international law concerning ownership and
surveillance of network acriviry between the data centers and cusromers around the
world will become progressively more imporrant as the digital life of companies and
individuals are placed online.
FIGURE 12-28 The rapid growth of data centers and cloud computing has increased security
and privacy concerns.
Oleo y ... I'\ •tod ...,
It's also possible that large enterprises will require suppliers to certify their green
credentials and sourcing policies. One issue might relate ro the explosion of data
sLorage and server farms, such as tbe one shown in Figure 12-28. These server farms
can use massive amounts of electricity, for normal operation and for cooling, which
affects the environment and the corporate bottom line.
12.9.2 Strategic Planning for IT Professionals
A systems analyst should think like a small business entrepreneur who has certain assets,
potential liabilities, and specific goals. Individuals, like companies, must have a strategic
plan. The srarring point is to formulate an answer to the following question: I lave career
goals been scr for rhe next year, che next chree )'Cars, and the next five years?
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Phase 5
Systems Support and Security
12.9 Future Challenges and Opportunities
441
Working backward from these goals, intermediate milestones can be de\'cloped. An
analyst's career can be managed just as an IT projecr would be managed. The project
management tool~ described in Chapter 3 can be used to construct a Gantt chart or a
PERT/CPM chart using months (or years) as rime unics. Once the plan is developed, it
should be monitored regularly to stay on track. As with an agile enterprise, progress
toward satisfying career goals should be corrected as needed.
12.9.3 IT Credentials and Ce rtification
In recent years, cechmcal credentials and certification have become extremely important
to IT emplo} ers and employees. In a broad sense, credentials include formal degrees,
diplomas, or certificates grnntcd by leanling institutions to show that a certain level
of education has been achieved. The rerm certification also has a special meamng that
relates 10 specific hardware and software skills that can be measured and verified by
examination. l·or example, a person might have a two- or four-year degree in Information
Systems and possess an JSTQB foundation level certification shown in Figure 12-29,
which attests to the person's software testing knowledge and skills.
~B -S--.'-'flo.. ___ ...
Cortollcatlont
l1nefit.1
Resources
Certifications
Whether you test software most of your day or just part of your day, software
testin& certifications build your path to jobs and promotions.
ISTQ8 C.." ........,, 11 the most "°"""'' sol-'· .... 1..una certif\c:atlon "" the .....id with mote than
570.000 tKtmt cert;.'lcates awarded .aoss 100+ count.-. ASTQB is lhe o!lk:ial U.S. ctnillcato>
tic.d tor ISTQ8. That's wily American COllllM!HS d1edt With us to se•ul you are~ !'led.
•
• --hoall.\J
• l
Foundation level Certlftcatlon (CTFL)
• -Tm!na CASTQe)
lSTOB Found.11lon Lovd M>ttwaie tntlna certiflatoon <CTFU os a cuecr e:;$C!llial '°' those
l nit soltwa .. Whether you IOS1 IOftware all clay or jUSt part llme !llrou£h A&ll o..ot>s
Of Conl l'IUOll1 De!IW<y you need ISTQB Found411on level te: "I cortfhcat en (C'Tfl.)
c ..... -
•
•
• T • Anolpt(ISTQIJ
FIGURE 1 l-29 ASTQB has created a very successful scheme for certifying software testers.
S~tte:Arr t 1r1S. tt· . .1111 ._( .di .d '"• • :rn
Rapid changes in rhe IT field require professionals adopr a life-long learning
approach ro managing their career. Even advanced degrees from universities have
a short half-life, which means continuing education credits are needed to maintain
competency. Nlany professional organizations offer continuing education courses and
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ...,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Chapter 12
Managing Systems Support and Security
442 12. 9 Future Challenges and Opportunities
crcdcnrialcd ccrrificarcs, such as che ACM and the IEEE, as do IT industry leaders
such as tvl icrosoft, Cisco, and Oracle.
12.9.4 Critical Thinking Skills
In addicion co ccchnical skills, S)'Stems analysts must have soft skills, such as communications,
interpersonal, and perceptive abilities. In fact, employers often lament the
fact that their new hires are technically adept but lacking in these ocher areas. For a
successful career, these areas must be mastered too-parucularly for more M:nior leaderlthip
positions in the organization.
IT professionals also need critical thinking skills to succeed in the workplace.
Perhaps the most important skill taught to students in school is how to learn, so chac
chey can adapt to dynamic enviromnents later in their career. For example, it's not so
imporcanL for developers to know che lacest programming languages as it is for them
robe able to learn a new programming language very quickly.
T he importance of critical thinking skills has been recognized for some time. They
have been part of the higher cognitive levels of Bloom's taxonomy of learning objectives
in education for many years. What has changed-particularly within information
technology-is rbe relative importance of critica l thinking skills for long-term
ca recr success.
Our digital society is inundated with massive amounts of data. Data mining,
sophisticated algorithms, and technical innovation are important, but the most valuable
asset is an employee who can solve problems. The IT community has become
interested in critical chinking skills that can help a person find, organize, analyze, and
use che information that he or she needs on the job. Many employers now seek critical
thinkers who can locate data, identify important facts, and apply their knowledge
in real-world decisions.
Many training courses exist for technical skills bur developing critical chinking
skills is equally imporrant. Performing practice tasks that resemble actual workplace
casks can develop critical thinking skills. Studying systems analysis and design can
help, because it provides a solid foundation in techniques for developing models,
organi1ing data, and recognizing panerns. Just as with hardware or software skills,
formal cerrificarion is valuable in the job marketplace, but the greatest value is in
lean1ing rhe skills and using them to achieve career goals.
Many 111strucrors find that individual and ream-based exercises can strengthen
critical thinking skills. Examples include games, puzzles, brainstorming, crearive
problem-solving, decision tables, working with ethical questions, Boolean logic, Venn
diagrams, :ind using cause-and-effect tools such as Pareto charts, X-Y diagrams, and
fish bone diagrams, al l of which are found in this text.
12.9.5 Cyberethics
As computers permeate more and more of our lives, the decisions made by IT professionals
can have serious implications. Situations may arise involving ethical considerations
that arc not easy to resolve. Nevertheless, ethical, socia l, and legal aspects of IT
arc ropics that today's systems anaJyst should be prepared ro address.
In the rwo scenarios presented in the following "Question of Ethics" section, ask
yourself what would you do? Where would you draw the line? I low much would
you be willing co risk doing what you thought was the right thing? The decisions you
make could well affect your job and future employment (Scenario I ), bur rhcrc arc
other situations where rhe implications can be even more severe (Scenario 2).
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
12. 10 Summary
Phase S
Systems Support and Security
443
SCENARIO I : You have just completed a routine security audit on the company's
information systems, and you found several areas of vulnerability. For example, file permissions
have not been updated in some time, no comprehensive password policy exists, and
network traffic is not fully encrypted. You noted these areas, among others. in a report to
your supervisor. The report included specific recommendations to fix the problems.
Your supervisor responded by saying that budgets are tight right now. and she could
not approve your requests to resolve these issues. As an IT professional. you are very
uncomfortable with the risk level. but you have been unable to sway your supervisor.
When you discussed the situation with a colleague, he said, "Why worry about itl If it's
good enough for her. it should be good enough for you."
What do you think of your colleague's advice, an.d why! Is this an ethical question I If
you are stiff is uncomfortable, what are your options/
SCENARIO 2: You work for a large IT company. The company is presented with a legal
directive from the federal government to divulge personal data regarding some of the
company's customers who are suspected of wrongdoing.
You feel that this Is a violation of the customers' privacy and you are reluctant to comply
with the request. Your boss tells you the company has no choice; it must follow the
law. You are told you can always resign from the company if you feel so strongly about the
situation.
Instead of complying or resigning, you go public. You use the media to advocate your
point of view for freedom and privacy, even while knowing that your actions will have
far-reaching consequences. Instead of just losing your job, you risk losing your freedom
and your future.
Did you do the right thing! Are you a hero of free speech or a criminal (and possibly
even a traitor)1What other options were available to you1What should the company have
done when you went public! What should the government do1
12.10 SUMMARY
Systems support and security cover rhe period from the implementation of an
information system until the system no longer is used. A systems analyst's primary
involvement with an operational system is to manage and solve user support
reque&ts.
Corrective maintenance includes changes to correct errors. Adaptive maintenance
satisfies new systems requ irements, and per fective maintenance makes the
system more efficient. Adaptive and perfective maintenance changes often are called
enhancements. Preventive maintenance is performed to avoid future problems.
The typical maintenance process resembles a rniniarure version of the systems
development life cycle. A system request for maintenance work is submined and
evaluated. lf it is accepted, the request is prioritized and scheduled for the IT group.
The maintenance team then follows a logical progression of investigation, analysis,
design, development, testing, and implementation .
r..,,...JID)r-..1-.. 4• 11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... .., .,. ..,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
Chapter 12
Managing Systems Support and Security
444 12.10 Summary
Corrective maincenancc projects occur when a user or an IT sea ff member rcporcs
a problem. Standard maintenance procedures usually arc followed for rclacivcly
minor errors hue work often begins immediately when users reporc significant errors.
In concrast to corrective maintenance, adaptive, perfective, and prevcncive maintenance
projects always follow rhe organization's srandard maincenance procedures.
Adaptive maintenance projects occur in response to user requescs for improvements
co meet changes in the business or operating environments. The IT staff usually initiates
perfeccive maintenance projects to improve performance or maintainability.
Aurom:ncd program restructuring and reengineering are forms of perfeccive maintenance.
In order to avoid future problems, IT staff perform prevenrive maintenance,
which involves analysis of areas where trouble is likely to occur.
A maintenance team consists of one or more syscems analyses and programmers.
Systems analysts need the same talents and abilities for maincenance work as chcy use
when developing a new system. Many IT departments arc organized into scparacc
new development and maintenance groups where staff members are rocated from one
group to the other.
Cl\11 is necessary to handle maincenance requests, to manage different versions
of the information system, and co distribute documentation changes. Maintenance
changes can be implemented as they are completed, or a release methodology can
be used in which all noncritical maintenance changes are collected and implemented
simultaneously. A release methodology usually is cost effeccivc and advantageous for
users because chcy do not have to work with a conscantly changing system. Sysrcms
analysts use functional, allocated, and product baselines as formal reference poincs to
measure syscem characreriscics at a specific rime.
Sysrem performance measurements include response rime, bandwidrh, rhroughpur,
and nirnaround rime. Capacity managemenc uses those measurements co forecast
what is needed to provide future levels of service and support. Also, CASE tools that
include S)'Stem evaluation and maintenance fearures can be u cd durmg che S}'Sccms
operation, securicy, and support phase.
Security is a viral pare of every information system. System security is dependent
upon a comprehensive security policy chat defines how organizational a~ets arc co be
procected and how attacks are ro be responded to.
Ri&k management creates a workable security poltq• by idenufying, analy1ing,
anticipating, and reducing risks to an accepcable level. Because mformatton systems
face a wide array of threats and attacks, six separace but interrelated security levels
should be analyzed: physical securiry, network securicy, application security, file
security, user security, and procedural security. Physical security concerns the physical
environment, includi11g critical equipment located in a computer room, as well
as safeguards for servers and desktops throughout the company. Network security
involves encryption techniques, as well as private networks and ocher protective
measures, especially where wireless transmissions are concerned. Application security
requires an understanding of services, hardening, application permissions, input
validation techniques, software patches and updates, and software logs. File security
involves chc use of encryption and pcnnissions, which can be assigned co individual
users or co user groups. User security involves identity management techniques, a
comprehensive password protection policy, an awareness of i.ocial engineering risks,
::111d an effective means of overcoming user resistance. Procedural security involves
managerial concrols and policies that ensure secure operations.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
12. 10 Summary
Phase 5
Systems Support and Security
445
Dara backup and recovery issues include backup media, backup schedules, and
rerenrion periods, as well as backup designs such as RAID and cloud-based backups.
All informarion systems evenrually become obsolere. The end of a system's economic
life usually ts signaled by rapidly increasing maintenance or operating cosrc;,
the ava1lahility of new software or hardware, or new requirements that cannot he
achieved easily by the existing S)Stem. When a certain point is reached, an information
system must be replaced, and the enrire sysrems development life cycle begmc;
again.
Many IT experts predict intense competition in the future, along with economic,
polincal, and social uncertainty. Facing these challenges, top IT priorines will be the
safety and security of corporarc operations, environmental concerns, and borrom-hne
TCO.
An IT professiona 1 should have a strategic career plan that includes long-term
goals and intermediate milestones. An important clement of a personal strategic plan
is the acquisition of IT credentials and certifications that document specific knowledge
and skills. Many IT industry leaders offer cerrification. Ln addition to technical
ability, other skills, such as critical thinking skills, also are extremely valuable.
Chapter 12
Managing Systems Support and Security
446 Key Terms
Key Te rms
acccpt.ancc Ont of four risk control strategies. ln accep1ancc. the nsk is accepted and no1hmg is done.
Ri>L. 1> u>uall)• .iccepted only ti protection from ri>k 1s de.ul} noc worth the expenst.
aJapu-e m:untcnancc AJJs new capabili[)• and enhancements co an exi>lln~ '>)'>lcm.
aJmml\lrator account An :ic.:ount that allows e.-senrtally unrc.,cm.te<l a~.,;e,., to the application.
allo.:atcJ ba.,dine Docwneuts the system ar che end of the de..1gn phase and 1den11fies an> changes since
che funcuonal baseline. The allocared baselme mcludes restmg and Hnf1ca11on of all sysrcm requirements
and fca1urcs.
applications programmer A person who wocks on new systems development and maintenance.
archi'cd The srorage of pre\•ious ,·ersion of a system when a new ver-ion i' in.,mlle<l.
a"ct Hardware, •mftware, daca, nerworks, people, or procedure\ that provide tani:ihle or imangihle hendi1
co an organi7.ariun.
attack A hos1ile ac1 1ha1 cargecs an information system, or an organii.ation itself.
automaiic update service Enables an application 10 conrnct the vendor's server ;rnd check for .t needed
p.trch.
a' ailahili1y One of 1hc 1hrcc main element' <>f sy,cem scciirity: cunfidcnciality, intc:gri1y, and .tvailahilicy
(ClA). t\vailah1licy ensure• chat anthorfacd user' have timely anJ rclinhlc ni;c:c" tu nt-cc"ary
in formarion.
a\Oid:rncc One of four ri<k conrrnl <rracegies. In avoidance, adding prmocci•c <af~uard< eliminate' the ri<k.
bJckup The process of saving a series of file or data copies robe retained for a specified period of time.
l).u.1 CJn be bJcked up eonnnuoudy, or at presenbcd mrer~lls.
b.idup meJ1.1 l.ht.i storage options. including tape. hard drl\e>. opw;Jl stor.ige •• ind onlllle storage.
b.uJ .. up poliC\ Detailed in;m1crion., and procedures for all bad.up>.
b:mJMJlh The amounl of data that the: 1-)'stc:m can hanJlc ma fi'(e<l 11mc pcnod. Band\\ 1dth rcquiremem<
arc cxprc:<;scd in bits pc:r second (bps).
baseline A formal reference pomr rhar measures sysrem charactemllcs at a sp«1fic 11me. !))Siems
analysts use baselines as )'ardsncks co document features and performance during the S)"Stems
developmem process.
b<:ndunark tl!itmg A form of tesung used by companies to measure s»cem performance.
biometric ..canning S) 'tems Mapping an individual's facial tearure~. han<lpnnt, or eye .:haracrerisrio. for
1dc1111fii:at1on purpo...:s.
BIO~-lncl pa\\\\ ord A pa>>word thac must be entered before I he: computer can be Maned. It prevent\ an
unaurhori7cd person from boortng a computer by usmg a secondary device. Also callc.-d a powrr-on
possword or a hom-levcl password.
boo1 lc1·cl password Sec B I O~- lc»cl password.
businc'' continuity plan (BCP) A plan chat defiaes how critical business func1ion~ can continue in cbc
evcnc of a ma1or disruption.
co1p.1ci1> planning A process rhar monitors current activity and performance level~ •• mm:iparc<. furure
Jcllvity, and forcca~t> the resources needed to provide dcsm:d leve l ~ of >crvicc.
ccr1ifica11on A credential an mJ1vidual cams by demonsrra11ng a certain level of knowledge and skill on
a STandardi1cd 1csr.
chanjlc control (CC) A process for controlling changes 111 S)'Stem requirements during software dc\Clnpmcm;
Jim an important tool for managing sy>tem chJnges and .:o•t<. after a s)stCm becomes
oper.:irional.
CIA mangle The three main elements of S)">tem secur1cy: confidenna.1.icy, 1ntegm). and availab1IU).
... ~ JD» (".............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:. .............._ .... ~---11rt~ -,..~---~~
.........,. _ _ .._..........., ..,,.........,..~_.......,_,_,_ ._....~~.. C'ftlpll"&.-..,~fw ..... _ ..........___,_ • .......,......................
Key Terms
Phase 5
Systems Support and Security
447
con6dcnuaht) One of the three main elements of S)'Stem securirr: con.6denrialiry, 111tegnt), and av;11bb1I·
11") (ClA,. Conf1den11aht) prote.:1> inform.moo from uoauthonzed discloser and IHlfeguards pnv.u:y.
confii:urauon manaitemcnt C.\1) A prcxe,s ior conrrolling changes in sy;tem rcqu1remen~ during the
development pha'>C\ or the 'IOLC. CM al'<> is an important tool for managing ')"tern ~hani;e' ;ind
coo;r, after a ')''tern hccomc' opcranonal.
continuou\ backup t\ rcal·rimc 'rreaming backup method chat records all \)'\tern acnv1ty a~ it occur\.
corrccti\c maintenance Changes ro rhe srscem ro fix errors.
credential' Formal qualificarions that include degrees, diplomas, or certificates granted by lcammg msti·
ruuons to •how that a cert.110 le, el of education has been achie,ed.
criucal ri\k When ri~k' nrc categori1.cd and prioriti1..ed, crirical risks (d1o;e with the highe>t 'ulncrabiliry
and impact rauni:sJ he.HJ the li.,t.
cri1ical thinl..ini; ,kilh The ahilot) to compare, da>>ify, evaluate, recogni1.e pancrn;,, analy1c cau'c and
effect, and appl)' logic. Such 'kil l ~ arc valued in the IT indu,try.
data replication In normJl opcraring condirions, any rransaction that occurs on the primary system must
auromt1tic,1lly prop~gace to the hot sire.
datab.i~c programmer A person who focuses on creating and sopporring large·scJle datab,1sc sys1ems.
denial of '>en ice (DOS) An onlinc ;mack that occur' when an attacking computer make~ repeated
rc:quc't' to a >crvic:e or \crvke< running on cermin portS.
differential backup A backup that indudc;, only the file;, chat have changed •mcc the la,t lull hack up.
disaster rcco\ery pl.in A documented procedure consisung of an overlil bJckup and recovery plJn.
distributed drnlJI of ~cn1ce (OOOS) A seC\ice arr.tel. invoh•ing multiple anJcktng computers that can
synchromzc DOS arr.1cks on a su\tr.
dump,tcr dMng R:udmg dc'k' or rra,h hm• For \•aluable informanon.
cn<r)pllon \ prt1<:c<s where data i< coded (convened into unreadable charal'tcr~) w that only tho...: w11h
the required authori1anon c.~n acce-1< the dara (usually via decoding wftwan:).
enhancement A new feature or capabi11ry.
c,pJ011 An arrack that takes advantage oi a system vulnerabiliry, often due to a comb111.mon of one or
more IDlproperly configured seC\ ices.
fault mana111:mcnt The timely detection and rc;,olucion of operarionnl problems. Fault management
include' mon11orini; a\) \!Cm for \l!;n< or trouble, logging :tll sysrcm failun:s, diagno;ini; the problem,
and ~pplyini; n1rrc<t1vc action.
fault 1okran1 A ')"tcm or applicnrion i< <aid robe fault tolerant if rhc failure of one compnncnt doc< not
di•ahlc the rest of rhc ')'<rem or application.
rircwall The main line of defense herwecn a local network, or intrnnet, and the lmcrnet.
full backup t\ complcrc backup of every file on the system.
functional ha,clinc The configurnrion of rhc S)"Stem documented ar the beginning or the project. It con
,ist\ o( .111 the necC>\ary 'l">fCm rcquiremems and design consrrain~.
gigabit> per \ccond (Gbp>) A bandwidth or throughput measurement.
hardenin11 Making a S)'MCm more ;ecure by removmg unnecessary accouor>, oerv1ces, Jnd features.
help dc\k A ccntralit.cd resource staffed br IT professionals th:tt pro•1des user> w11h the ;upport they
need to do their 1obo. A help dcok ha> three main objectives: to sho" people how 10 use\) >1cm
resource~ more cffccuvcly, ro provide an..wcrs co technical or opcranonal questions, and to make
u>er~ more producti\'c b) teaching chem how to meet their own mformation needs. All><> called scrvke
desk or mformauon umrer.
... ~JD»(" .............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:..............._ .... ~---11rt~ -,..~---~~
.........,.__.._..........., ..,,.........,..~_.......,_,_,_._....~~.. C'ftlpll"&.-..,~fw ....._ ..........___,_ • .......,......................
Chapter 12
Managing Systems Support and Security
448 Key Terms
hot \ttc A separate 11 locarion, ''hicb migbr be in anocher state or C\CD another counrr>, dut c.in suppon
crmc.il bu;ma; '>)•tern> lll che evenc of a power outage. S)>tem crJ>b, or ph)>K.11 cata;trophe.
1dcnut1 manallemcnt Concrols and procedures nece,sary to idenul) legmmate U'>Cf\ and >)>tcm
componcnr..
idcntit\ thcfc The \tcalmg of personally idcntil)·ing information nnlinc.
11'1 L ll02. I 11 A <ecumy standard for Wi-Fi wrreless networks chat uses the \VPAl prmocol, currcnrlr
rhc mosr secure encryption method for Wi-Fi nerworks.
incremental backup Sa"1ng a copy oi only the files chat have changed since the last full backup.
mtLf;rit) One of the three main elements of !iyscem security: confidenrialiry, intci;riry, and availability
(CIA). lmcwiry prevent\ unaud1urized asers from creating, modifying, or deleting information.
Khp; (kilobit; per •econd) A bandwidth or chroui,-hput measurement.
kcy;irokc logger A dc"ice that can be iuserred berween a keyboard and a c0Ulp1Her 10 record ke)'Slrokes.
log Record typ1call)' kepr by o perating systems and applic.mons rh ar documems .111 evenrs, incl udmg
dJres, 11mes, and 01her specific information. Logs can be im portant 111 lutdersranding pJst attacks and
prevcnring furure inrrus1ons.
m·:untt·nancc acri,~iric\ Chunging pr<>gra n1o;;, prc>ccdurcs, <lr d<x:un1entati<>n t<> c.:n,urc C<>rrcc."t system
performance. Adapting rhe '>ysrem ro changing requiremenrs, and makini; rhc \)'~rem operate more
dlodcndy. Tho,e need' are mer by correcrive, adapO\'e, perfecuve, and pre\entive maintenance.
mainu:nance ""P"ll't' Cost:' thar vary sii,'llificanrly during the t.y,tem\ operation.ii lite and include
\pcnc.hng to •upport mamttnancc ai;t1vit1C>.
ma101cnancc release A formal release of a new system version that cont.uns a number of changes.
maintenance release methodology A system of numbered releases used bi org.101z.111ons (especially soft
" arc ~endors ) that helps organize mainre:nance clunges and updates.
ma1nren.tnce team One or more 'i)-•rems analyses and programmers workinll on product maintenance
1••ue<> together.
mal\\arc Maliciou\ ;oltware char mighr jeopardize the system\ -.ernriC) or privaq.
megabits per second (.\1bps) A bandwidch or througbpuc measurement.
metric~ Workload measurements, also called metrics, include the number of line> prinred, rhe number of
records accessed, and the number of cransacnons processed Ill a 1.vven tllll<' period.
n111114ation One uf four ri~k c.:ontrul \trarc:gies. Mir1ga1iun reduce; the: 1mpac1 of a mk b) careful pl.1nn11111
and preparanon. For example, a company can prepare a di~a~ter rc<ovcry plan to miri11ate rhc
effecrs of~ narural disaster should one occur.
network Two or more devices rhat a rc connected for the purpme of o;endtng, rc:cciving, nnd sharing dara.
net\\ Ork intcrfoce A combination of hardware and software rhnt allows th<' computer to inrcr.1ct with
the network.
ncc\\orl. intrusion dc1cction ;ystem (NlDS) Software that monitors nerwork traffic to detect •trrempted
111trus1011> or su.picmus nerwork traffic p:atreros and sends a l err~ to network .1dnllm>rr.11ors. Can be
helpful m documenting rhe efforrs o f arrackers and analyzing network performance.
offsit1n14 The practice of srormg backup media away from the main b u ~mc<> lo..:atmn, in c>rder ro mmgare
rhc risk of a carasrrophic disaster such as a Aood, fire, or earthquake.
opcnrnnnal co•rs fypcnses char are incurred after a sysrem is implemented and connnue while the sys
rem is in U\e. E>.amples include sysrem maintenance, supplies, equipment rent.11, and annual ><>ftware
hccn!>C recs.
opcr;s11on,1l ,c<urit) Concerned \\Ith 111.1nageria1 policia and coatrol; th.11 en~urc .e..urc op<ranon;.
Al~o called procedural sccuriry.
... ~JD»(" .............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:..............._ .... ~---11rt~ -,..~---~~
.........,.__.._..........., ..,,.........,..~_.......,_,_,_._....~~.. C'ftlpll"&.-..,~fw ....._ ..........___,_ • .......,......................
Key Terms
Phase 5
Systems Support and Security
449
patch Replacement code that 1s applied to fLx bugs or security boles in software.
!><'rfC~U\e ma1ntcnam.:c Changt."> to a S)'\tem to impr<l\'e efficiency.
permi~~ion\ U.cr-~pe,;1fi. pm 1leg(1, char determine the cype of acco~ a user h~ to a datab.i-.e, hie, or
d1rectol')« Al-.<> called u...:r ni;hl\.
plain tut Data that 1s nor cncryp1ed.
port A posmve 1111e11er rha1 1s med for rouang mcoming traffic to the correct appucaaon on .i computer.
port \c::tn An ancmpl to dct•-.:t 1he '>erncc~ runmni: on a computer by trying 10 conn<'Ct to variou\ port\
and recording the port\ on which a connection wa< accepted.
J><>wCr-un pa\\word 'iu RIOS-lc\cl pa\\word.
prctc,cing Obt.unmg personal inform.uion under false pretenses.
prc,·cnti\c maintenance Change~ to a <ysrem to reduce the possibiliry of fururc f.ulure.
private key cncrypuon A common encryption rcchnoloi;y called PKF.. The private key;., one of a pnir of
key~, and it dcaypt'- data rhnt has heen encrypted wirh the second part of the pair, the puhli<: key.
priva1c ocmork A dcdic,ucd connection, similar ro a leased telephone line.
prhilcge cscalJtion a11.1ck An unciuthorized auemp[ ro increase permission levels.
procedural ,cwrif) Concerned with managerial policies and conrrols char en~ure 'ernre operation;.. Al'o
call.:d op.:r:monal =unty.
produ<I ha,dinc Dc,<ribe, the 'Y'>tcm :It the beginning of optracion. The pro<luu ba..cline inrnrporatc'
an) chani;c' made 'incc the allocated ba•cline and include< rhc results of pcrfunnancc and acceptance
rc't' for rhc operational o;yo;rcm.
progr.immcr/an.llyst A dcs1gn.111on for posinons thar require a combination of S) srems anal) sis and
programming skills.
public key encl") puon (Pll.Ll A common encryption rechnique. Each user on the network bas a pJ1r of
ke) ;: .i pubu~ kc) dnd d pm .ue ke). The public key encrypts dat.i th.it cJU be decrypted "1th 1he
private key.
redundant arny of independent d"k' (R ;\m) A RAID system may be part of an ori;an11.;inun \ backup
and rccO\t~I") plans. A RAID system irurrors the data while processing coorioues. RAU> S)Stems are
called fauh·toleram, be.:ause J failure of any one disk does nor disable the system.
reco,ery The pr<K:c\\ of reqoring data and rescarting a ')'Stem after an inrerrupcion.
remo1e cootrol sofmarc Applications that allow IT staff co rake over a user"s workstanon and pro\lde
.uppor1 and irouble\hooting.
respomc umc The overall ume between a request for sysrem activity and the delivery of 1hc response. In
1he I) p1cal online e11v1ro11111cnt, response mne is measured from the insldnt 1he user presses the l:.NTLR
key or clicks a mou~ hutto11 unril the requesred screen display appears or printed outpur 1s read)'·
rc1ention pcnod Backups are stored for a specific retention period after which they arc either destroyed
or the bJckup media 1; reu;,ed.
rhk An evcnl that could affcu rhc project negatively.
ri-'>k a~~C-'>>ntcn1
Measure; the l1kehhood and impact of risks..
nsk control Develops ;,afeguard~ that reduce the likelihood and irnp.1ct of nsk!..
risk idcnul1cn1ion I 1;ting each risk and asse.,sing the likelihood that it could affect a pro1ect.
risl, management ·1 he proce>S ot idcntif)'ing, evaluating, cracking, and controlling ri;k~ to minimi1e their
1mpa<:t.
security H.irdwarc, ;.ofrwarc, and procedural controls that safeguard and protect a 'Y~tem and 11> data
from intern.ii or e"crnal threats.
... ~JD»(" .............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:..............._ .... ~---11rt~ -,..~---~~
.........,.__.._..........., ..,,.........,..~_.......,_,_,_._....~~.. C'ftlpll"&.-..,~fw ....._ ..........___,_ • .......,......................
Chapter 12
Managing Systems Support and Security
450 Key Terms
\ccurit~
\\.-.:urir~
hole Created bl a comblllarion of one or more improper!)· configured services.
poloq A plan chat addre-.!.t'> che chree main element'> of ~)Mem 'IC<:unt): c:onfidenciahry, mtei,'Ticy,
;ind Jva1bb1ht).
\ccunt\ tol...:n A ph)"cal device char authcnucate< a l~oumac.: u..er, 'u.:h a\ a "nart c-ard or lt,·c;hain
devic:c.
wrv1cc An applocanon rhac morurors, or lisrens on, a pamcular pore.
service des!.. A cenrrahzcd resource staffed by IT professionals due provides users \\1th the support they
need 10 do rheir jobs. Also called help desk.
\crvicc: pacl.. ,\ maintenance relea'IC ~upplied
hy commercial ~oftware ;,upplicr\.
\OCial engineering i\n incruder u;es social interaction co gain acce's co a c;omputcr s)";tcm.
soft ~kills Communications, mterpersonal skills. pecceprive abilities, and crinc.il thinking arc soft skills.
Ir profe&sionals must have soft skills as well as technical skills.
~ofm.1re rcenginccring Uses anal ytical techniques to idenufy potential qualiry .ind performance impcovemcncs
111 .in 1nformatio11 system.
'upcru\cr account A lui;in account thar allows c<~ntially llnrc:,tritted accc" ro rhc: apploc.11ion.
'Y'tcm admonhtrator A pc"on who i< rcspon, iblc for t he CM and mainrcnancc of an organi7:uion',
compmcr nctworh.
'YStem~ programmer A person who concenrraces on oix-rating system ~oftw.ire .ind uttlmes.
rampcr-c,idcnt case A case designed ro show any attempt ro oix-n or unlock the case.
tc't plan II plan de<;i!lTicd by a systems anal}•st that include\ test step< and te<t data for integration cestini:
and ')\tern re-;cing.
rhird·parcy sofr,.arc An application that is not de,·cloped in-house.
threat In nsk man.1gemenc, an internal or external oc external enut) that could endanger an asset.
throup.hpur A measurement of acrual ")"Stem performance under specific drcum\tance< and 1' affected h)
nc:rworl.. load, and hard" arc efficiency. Throughput, like bandwidth, i., cxprc, ....-d .i, a data rran.,icr
rare, such as Khps, ~ l hps, or Gbps.
cran,fcrcncc One of fou r risk control srratcgic:s. In transference:, ri,k "shifted co anorher asset or party,
such a< an insurance company.
tunnel A secure network connection esrahlished between the diem and che access point of the local
rntranet.
turnaround time A measure applied to centralized barch proce•smg oper;mom, ;ud1 :i:. cw.tomer billing
or credit card statement processmg. Turnaro<Uld rime measures the time between submnunp. a request
for informatton and rite fulfillme111 of the request. Turnaround ttmc also can be u<cd ro measure 1he
qualtt) of IT support or services by measuring the time from a user request for help to rhe resoluuon
of the problem.
uncnuyptcd Dara chat is not encrypted.
unintcrrupuhlc power \Upply (UPS) Battery-powered backup power ~ourcc rhat cnah l c~ operation~ to
co1111nue during short-term power outages and surge>.
Un1\cr\a( !>ccurity Slot (U~S )
Can be fastened to a cable lock or laptop :ilarm.
u><r r111ht> U;er-spec1fic privileges chat determine the t) pe of ac;ce;;, J user ha' to .1 Jat.1ba,e, file, or
directory. Also called permissions.
U'Cr 1ra1n1n11 packa11c The main objccnve of a user rra1mnp. package 1s to sho" user< how rhc system can
help them perform their jobs.
•m1on control The process of cracking sysrcm releases.
... ~JD»(" .............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:..............._ .... ~---11rt~ -,..~---~~
.........,.__.._..........., ..,,.........,..~_.......,_,_,_._....~~.. C'ftlpll"&.-..,~fw ....._ ..........___,_ • .......,......................
Phase 5
Systems Support and Security
Key Terms
451
•·inuJI pmate ncmorl.. \P'I U'cs a public network co connect remote users secure)). Allow) a remote
client to u~ .1 ;pt.-ctJI ke) exchange that mu;r be authenticated b) the VP1'.
vulocrab1ltt) A '>C\:urit) weakness or soft 'por.
what-if aiul) \I\ A feature of hu"ne'' \upporr sy>rems char allows analy'1~ to define and a''ount for a
wide varier)' of i\\ue' (indudmg i'>>Uc:<. nor completely defined).
\\"1-h Protected Acee~' (WPA) A common merhod used ro secure a wireless network. l b1s approach
rcqui~ each wireless client be configured manually to use a special, pre-shared kc), rather than kc)
pairs. rhe most recent .ind more secure version is \XfPAl.
\\ired lquh alcn1 Privacy (\\LP) One of the e-.irliest methods used 10 secure a wireless network. ;upcrseded
by WPA .111d WJ'A2.
~ ' l'A2 A wirdc" >cumty >tandard ba,ed on 802. 11 i char providt'l' a s1.inific;i11r increa>e 111 pro1cc11on
mer \WP '1nd WPA.
... ~JD»(" .............. .-\l............,.... _.,."'flllll.~-....-..-"*-·,..,_o.:..............._ .... ~---11rt~ -,..~---~~
.........,.__.._..........., ..,,.........,..~_.......,_,_,_._....~~.. C'ftlpll"&.-..,~fw ....._ ..........___,_ • .......,......................
Chapter 12
Managing Systems Support and Security
452 Exercises
Exe rcises
Questions
I. In what form5 can companies provide user support?
2. De~cribe four rypes of syMem maintenance.
3. \Vhat is CM and why is it important?
4. Define the following terms: response time, bandwidth, throughput, and t11r11aro1111d t1111e. I low are rhe
terms related?
5. What is the CIA triangle?
6. Explain the concept of risk management, including risk identification, assessment, and control.
7. What are the six security levels? Provide examples of threat categories, attacker profiles, and types of
attack~.
8. What arc some key issues that you must address when considering data backup and recovery?
9. Provide an example of technical obsolescence and explain how it can be a threat roan information
system.
10. Why is slratcgic planning important for IT professionals?
Discussion Topics
Projects
I. The four types of IT sy5tcm mainrcnance also apply to other industries. Suppose you were in charge
of aircraft maintenance for a small airline. Whac would be a specific example of each type of
maintenance?
2. Assume that your company uses a release methodology for its sales system. The currenr version is 5.5.
Decide whether each of the following changes would justify a version 6.0 release or be included in a
version 5.6 update: (a) Add a new reporr, (b) add a web interface, (c) add data validation checks, (d )
add an interface to the marketing S}'Stem, and (e) change the user interface.
3. How could you use a spreadsheet in capacity planning?
4. \X'hat are the most important IT security issues facing companies today? I lave these changed m the
last five years, and will they continue to change? H ow should companies prepare themselves for security
threats and problems in the future?
5. ~1any people don't back up rheir dara uncil ir's roo late. Once they go through a carnsrrophic loss of
all their work, they tend ro change their habits. \XThac arc some of the better ways ro perform personal
backups, such as cloud-based services?
I. Develop a process for managing change requests and design a form to handle a generic change
request. The process should include a contingency plan for changes that muse be resolved immediately.
2. Visit the IT department at your school or at a local company and find out whether performance
measurements arc used. Write a brief report describing your findings.
3. Security breaches arc in the news all the time. Document a recent hack involving the theft of employee
information or cusromer data. Suggest ways the arcack could have been avoided.
4. Using the Lnterner, locate a software package desig:ned to automate version control. Lbt the key
feature~ and describe your findings in a brief memo.
5. How do you decide if a car should be repaired or replaced? Develop an assessment framework to aid
this decision proces~. Is the framework also applicable ro software systems?
r..,,...JID)r-..1-.. 4•11_.. • ...__. ~ ....... .,...~ • ........._ .... .._.,.,.. o-... ..,._.,,.,.._..,.~ ,........., ................. .._ ... ..,.,...,.~"
................... ..., .......................... -..,.n..-.....-ik-sc~ c....,a..-.,.,....,. ..... 111>_... ........ _ .. ~ ........................ ._ .... ._
GLOSSARY
I: I A type of enmy rdu1on"11p. A one-ro-one rclanonship, ilbbrcvi·
Jlcd I: I. nt>I> "hen e,l,tly ont ol 1hc k\:Ond enril) oc<:Un> for e.\ch
1n;uJ1<:c of 1he ftl">t enuty.
l:M A l)pc of ennri rrlo11on>h1p. A one to man} rebt1onship. abbre
'iatcd I :~I, C•1>b "hen ooc O<.lurrcll<.e ol 1he hr;t enUI) can be
relarcd to many occurttnccs of the <crond enmy. but each occurrence
ol 1he ~ood ct1111) ~n be as>0<1arcd wuh onlt one occurttnce of the
f1r.1 en111y.
801. 11 A famtl' ol w1rc:b<o network tpte1hcatlons d"' eloped by the
l[l:L
101.1 1 ac An llJ.l wirrle" network >pecifica11on, apprm·cd 111 2014,
d1ar uses e\pandcd MIMO rcchnology to achieve chcorctical speeds of
ncJrly 7 GbP> w htle mtr<J\lnJ; thew trek» range and ts backward
companblc wnh 802.11 J, b, g, and n.
801.1 lb An IEE£ wirelc" network >pl'Cilica11on introduced m 1999
ba;ed " " a fre<1uen•y of 2.4 (,111 and maxunum bandwidth of 11
Mbp>. Replaced hy 802.1 lg.
802.1 lg An IEEF wireless nt'1work spocificntion introduced in 2003
ba;cd on J frcqucn<)' of 2.4 C. 111 nnd ma<imum handwiclth etf 54
Mbps: cetmpJclblc with and rcplnccd 802.1 lb •nd h•s been superseded
by the 802. 11 n 'tJndJrd.
802.1 In An IFFI. wirek" network ~petif1cat1on •dopccd m 2009 rhac
uses MIMO te.hnolo1t) to ach1e>e 'peeds of 200+ Mbps while increos·
Uljt tltc "1relc'' r•ngc and 1; ha< kw.ml rnmpat1blt woth 802.1 IJ, b,
Jndg.
abbreviation code AlphobctK ohbrevution. For example, standard
'tJte Cf>ele. ui.111'1r NY for New York, I\!~ for \13111e, •nd Mt\ for
Minnesota.
absolute date Tho roral numhtr of t!Jys from some specific base dace.
To calculate the numhtr of d•ys between two absolurr dares, subtract
one d•te from the Other. For e'lmple. usmg a b:»e due of January I.
l'JOO. '>eptemhtr 27, 2012, h." •n oi.-.olu1e date value of 41179 and
Juh 13. 2011, h.u •n •l>solure date of 407r. If the eatlier dare v3lue
"•ubtrac1cd from the bter one, the rl'\uh "442 da)'>.
acceptance One of four nsk control nrat<g•"'· In acceptance, the nsk
1s ac<'Cptcd and nothmg 1; done. Rbk " u;uallv accepted only if protec·
lion from ml °' dearf) not \\OMh 1he CXJ'<'n>e.
acceptance te-st Tt\t1ng nt\OI,·~ the cnritt 1nform.Jrion S)''\rt:m,
mdudn'lJl all !) p1<al pnx:e»1nR ;m1a11ons. Durmi: an aettp1aoce rest,
user> cntrr dat•, 1ndudmg <.>mpl"' ol actual or h\e dalJ, perform quc·
nes. •nd produce report> 10 >1mubtc actual operanng condmnns. All
proce>\ln!I opll011' and output> are 'erificd hy user~ and rhe IT pro1ect
development team ro en~un: rhar che srsrem funcnons correcrly. Somenmes
kno" n a> a »•tnn ttlot.
ac:c:es1 point A ccnLral \vtrC'lcss dt\'ICC' that prov1dC's ncrn•ork serv1as
w wirelc;s clients.
action code lndkaccs what ornon t> to be tJken "ith an a;sociattd
ucm. for cx•mplr, a .i11dcn1 rccorJ> program migh1 prompt a u<er 10
enter or click an acii<>n code •uch os I) (rn display rhe student's record),
A (to add J re<=ord), and X (10 c•il the progr.11n).
activity /\ny work rh.11 has J hcginnmg ond on end and requires rhc
ui..e of c.:ouipan) rt.~ourt·c, lnc.ludinH people, thnc, :ind/or moaey. Example\
111t:ludt t:ondut:UllK J ~erie~ of interviews, des1gr11ng a report,
seleermg ~ofiwore, woinn11 for rhc deli\ cry of equipment, and training
users. Su ,1/su tn>k
activity diagram 1\ d1•11ram thar rc<emhlcs n hcmzomal flowchart
that >ho"> the •cuon> and c•cnt• »they occur. t\cuvity diagrams
•how tbe order in -.h1<h •wons tale pla<e ond idennly the ourcome.
a«or An external mrtl) w11h • •pccific role. In • u<e case model.
acron MC used to model 1111era<t1on wuh the ')>rtm.
adiiptift ~ntan;ance Add> "'"' cap.h1l11) and mh2n..:c:mcnt< man
existing ~y'Stcm.
administneor account An account that allo"' e.~mally unrc
•Ulcted acce.• to iM •pphcJtl<lll.
agile methods ~ysrems <k-\clopment m<rhod> th•t attempt to tk•dop
a system mcremcnr.11) h) hmldmg a 'et'I<'• of prorol)·pc, and con·
suntl) ad1usnng them to user requirement~. Also called adapt"e
method,.
aJiu A term U\cd 111 v.tnou~ dat.i dtc.uonan~ to 1nd1e.:Jtr 0111 alternate
name, or a name other than the st.rndard d•ta clement name, thJt is
u;ed tet d<><.rihc the ;3n1e data element.
allocated baseline Do..um<nt• th< >YM<m .u th<" end of the de>1gn
pha<c and idennf1e< nny <hangc' •in<e 1hc funwonJI ha<chne. The
alloc<1ted baseline include> rc;ung ond verif1ca11on of all system
requ1ren1enu. and fe.uurc,,
alphabetic code U>e> nlphahe1 lmcr> to dmini;1mh one ttrm from
•nochcr based on a cJtcgory, "" ahl>rcvfo11011, or on co>r·tO·rcmembcr
value. c•lled • mnemonic .ode.
app t\ software applic.111on that run< on• mobile device, >uch •s J
smart phone or tablet.
application !>art of the mforma11on •rucm, on applk•tton handles the
input. manages the pro<.es;ini: logic, ,md provid~ the required ourput.
application dttelopment rh< pr<x.C>> of <0n\fru<1inj: the pro(tr>lll>
and code modul~ that >re the huildmJI hln.l• ot an 1nforma11on sysrem.
Apphcanon development 1s handlrd h) an apphcanon
dcvelopntCOf jtl'OUp Wllhm a 1uJ1t1ona( rf drp.lrtmcnt rhat IS COm·
posed of 'Y'tcm< an•I) m and pr"l1rammcr\ who handle mfonnanon
s-.tem de.1gn. de• elormcnt. and irnpkmenta11on.
application lifecycle man.a1•~nt (ALM) Actt\lri"' 1h.n cover the
ctlt1tt ~DL(., nt<ludmg ttqu1n:mcnts. dC\ll!J1, dndopmcnt, r<Stlng. and
dcplo) mcnt and management nf softwan: appl1<>11on•.
appliation lock The undrrlpni: bu"""~' nil~ or logic for an apph·
c.31100.
application server A \.<>n1putcr .ic.UnA .l\ ""m1JJl~mc-n • ~'ten cu, ..
tomcr; and .an orgamr.anon'• datal>a<e<i and apphcanon~. Oftrn u<ed to
focilir.ate complex hu.,ncss rransacnons.
appli~tlon servke provider (ASP) A firtn rhat dell\ rr> 2 wfm are
aprlica11on, or acet<>> to an •pphca11on, t>y chJrgrng a usoge or suhscription
fee.
application software Software pn.~ram>, ;u,h n> email, word processors.
spr<ad>heet>, 3nd j;J'.1ph11.' pa.bj.\C-, U>ed by employee\ in typic:il
office \Ccnar1os.
applications programmer A person "ho works on new systems
devclop1ncnt .Jnd mnintcn~tnce.
archived The StofJjl< of previou> V<r>io11 ur a ')'>tcm when J new
vcr"ion I" in\tallC"d.
artificial Int elligence l11e .mempt t0 recre3le natural 1ntell1gencc
through sofiware in mad1ine>.
ASCII S1'111ili for A111criGt11 St.111d,1rJ Code for lnformnuon Inter·
change, a d.tta "orngr <odmi: mrthnJ u<ed 011 mO\I pcr,onnl
computers and worl.<.t•tton>.
asset Hardware. ;ofrware, d,ttJ, network~. people, or prOledures that
provide rang1hle or tntan111ble hentfu roan ori;.in11a1111n.
......... ""_.. ...
.-.. ............... _
.. __ __.... ................... ~~·~---- ···---~~-.,.-"~ ........... --......
("..,_..., llll!O( ...... ..--. .\) ....... ~ "->-"'Allf'W ~-............... ,.. o-.... ._ ...... _ ... ,..,...,...,~..,._.. .............. ~ ..
453
454
Glossary
associative entity An cnmy that has ti> own set oi annburos and
characrcmll•-S. ~'><X1Juve cn1111c< arc u">td to lank ~h\Cen many·toman>
(M:N) rclauo"'hips.
attack A h~nlt act du.t targf't.) an 1nfomuu<1n \))tern., nr n.n orgaru·
uuon itself.
attribute \ '1nglc: ch~r.lctC'rt,11c or fa~r ahout an cnnt)\ An anr1hu1c,
or field. 1s the smalkst p1cct of data that has meaning wnhin an information
S\Sltm. For example. a Soc1•I !.c.:unt) number or cornp•n}
name could he c•.implt"i of an atrnhurc. In oh1m-onented analrsi<, an
attnbute is pan of a dass diagram that d~n~ the charactcrisncs of
ob1«tS rn d1e class. Aho \.nown as• data elcnlt"nt.
audit fields Sp.•ual hdd' within data r<'\.01J, (() rnMde aJdmonal
control or =unry mformannn. l)'r1<.1I .1udn field~ mduJr the dare the
record was created or modified. rhe name of rhc user who performed
the Jlllun, and the number of um<> 1hc 1c,orJ h"' lieen .1,ce-..ed.
audit 101 files Rr<ord derail. ol nil accc'""' nnd <hangcs ro .1 file or
database and can be used ro rc<ovtr ch3ngr< made ~mcc r:he last
backup.
audit trail A r<-..ord of the wur<c of cadt d:na item :ind "hen 1t
cncered 3 syste1n. In Addition tu 1·c,ord1n~ 1he orig1nnl ~ource, ;1n audj1
trail mu<t show how ond when dara 1< acce.-ecl or chaogcd, and hy
whom. AU these action> mu;r be loi:gcd in an audit r:r.111 file and momrore<I
carefully.
authorization zone Puri of ti for111 thJt conra111i any required 'ignatures.
autom:lted fax A sySttm thM allow• a cu~romcr to request a fox
using email, the rnmpJny wtb>11e. 1H .1 tcleph<1ne. The r«po1L•e is
transmmcd m • mJtrrt of sc.onds ba1.k to the u<er's fax machine.
See fa"back.
:lutomatlc update service Enable¥ •n appl1canon 10 contact the 'en·
dor'> scr;cr and chet:k for a nrcdcd pJtth.
anil..t>ility One of the thr.-., m.nn dcmcnr- of <)>rem securu): confi·
drnnalal}\ mrcgnl}·. and ava1l.1h1hf} ((.I \). Ava1lah1lny cn<urc< that
authori.u.-J users h»c umelv •nd rdtJble acct'> to ne<e>>af) tnfoml3-
uun.
;ovoid;once One of four ra>~ control <trJtcg1r<. In avoadanc<. add mg
prorecn•c safeguard< chmanJctl> rhe n~k.
B2B (business·to-buslnHs) A commercial c>:chani;e (e.g .. producrs
or"°" r<.e>) b.:twcrn bu>Ull'>""~· I) pa<Jll) r1ublcJ b) the Internet oc
t"lcctron1c means.
82C (business-to-consumer) A commrmal rxchangc (e.g., produas
or M'.n ich~ bc.-t"·ccn bu.>ult.~~ 3nJ c.on)utncr) c.:<)nducted O\'er the
Internet.
backup The 1mx:e.- <>f <avmf! • <crrc< of file or darn cop1e< ro 1"'
rctamcd for a sp«1f1cd period of ttmc:. Dara c•n l>c backed up connnuously,
or at prL">crrlx-d mtcrvals.
backup media Dara storage options. mdudini: ••pr, hard drhes, oprica1
sroragc, and on line i»torotgc.
backup policy Octaded m<rrurnon< .ind procedures for all hackups.
balancing A proccs< U>Cd tO 111amra1n com1<tc11cy among an entire
series of diagrams, indud1ni: input and ourpur darn nows, d31:t ddinition.
and proccs:'.) dc~crirn1on~.
bandwidth I he nmount of .lnin tlMt thc ,y<rem <a 11 hnndk 1n ,, fixc<i
rime period. ll;Jndwidth rcquireme1m nre e~pre<<ed in b1t1 per second
(bps).
baseline A Formal rc(t"rcncc po1nl t har 1ne~\lJft"S S)'btt'm ch:irattcrisria.
ar .1 <1:><cafic trme. ~y<tcm< anal} \N u•c h.l<cl1n01 •< yardsttck< to docu·
mcnt foar:urcs and pcrforman<C durmg rhc S)·•tcm< dewlopmem
pr<><."t'SS.
Basic Suvice Set (BSS) A w1rcl<\> network wnfigurJt1on m wh1,h •
central mrcl011 dn1cc c.1llcd .in accc<1 point IS used to serve all wireless
cUenrs: also called mfrastru<turc mode.
batch A group of dara, usuolly mpum:d mto an mlormotton system••
the same trmc.
batch control A total used to verify hal(h mpur. Bat<h conrroh might
check dna ircms such a; rc<ord ..:ounh Jnd nunl<n.; field total>. For
example. before cnrcrin11 • bat•h of or.lcr.. J u;cr might •akulate the
roral number ol orders and th.. •um of •II the order qu•nt111cs. \~'hen
rhe barch of order$ as tmtercd, rhe order S}Stem •I~ calcu!JrM the same
two r0<als. If the system tocal• do not mat<h the mpu1 totals, then a
dar:::i entr) error rua. 0<:.urrcJ.
bnch input A pnxe'> \\Ocre Jat3 entr) 1> p<rformcJ on a •pe.1ficJ
nme o;chcdulc, •uch •> d.i1ly, weekly, monthly, or longer. l·or c•.tmplc.
batch input occurs when a pa)'roll dcpanmenr ..:ollcch ume cuds ar
the end of the week and cnrcn the data as a bat<h.
benchmark A llR'la.ure> of the umc a pachA• taka to proca> acertain
number of 1 ransacttons.
benchm;ork tMting A form of re;ung u>CJ by compomc' ro measure
S)'Stem pcrfonn•ncc.
best-case estimate Tiic most opc11n1NU~ ouh.:Onlc.
big data Exrrcmel)' large darasc1; (e.g., pc1ahy1cs) rcquanng 110111rad1-
tion;tl approaches to deal wnh them. ~ometim.- chnrncccri1ed by three
rerms: '"'lu111e, varie1y, .ind vclo<.:.Hy.
binary storage form;ot A form.II r hat uffc" df1cic111 >to1·agc uf
nu11ieric dnta. For e'<.1n1ple, \vhrn nu1n!'rit ttu.1 type!\ nl"'t ~pec i(i cd
using :VUcrosolt Access, rhere are• vnricry of ~torai:c formnrs choice<,
in(ludin.g integt.>r and Joni.; u1tt~t_)t, anio1t~ other),
biometric devices A mei.:h~111~111 u!!ioe<l to unique!) 1Jcntl(y J ~r,on
by a rc:tmJ S<:an or hy 111.1 PP'"ll " f,m.1 I p.ltltrn.
biometric scanning systems /'.lapping .111 1tldl\ 11luul\ foc1al feanircs,
handprinr. or ere charnctcmtrcs for 1den11ficunon purpoo;cs.
BIOS-level password A password tha1 mu11 he cnrercd before the
computer can be stancJ. It pre-ems an unaurhonuJ P<'rson from
boormg a computer bl' using~ sccond•ry J.-i<<. Alw called• poweron
password or a boot-le•cl f'.l>S"ord.
bit llie smallr<t unn of data 1; one lllnaf} d1gu.
black box A mel3phor for a prexes; or an .1<t1on rhat produa' re.uh>
in a noo"{l'ansparem or noo-observ•blc manner. In d.na flow d1Jgrams.
a process appcus a; a bla•k bo' "here th.. input>. output>, Jnd i:encra
I funcnon ol rhc P""""'" •re known, bur the underlying ck131f, Me
nor ,..ho,vn.
bla.ck hole A proce-s thar hu no output.
block sequence code Cipher thJt u""' hlocks of number< for differ·
enr cla~~ifl'---ations.
blockchain A dr>tnbuttd ledger >y>tent. The re<hnologl' under!) mg
B1tco1n.
blog An onlmc 1oun1;1I. The term ts a con1r.1won of"''°" Ing."
Bluetooth A fonn nf wircl"' 1r.n,nm<ion very 1x•pul.r for 'hondisrancc
wirclc" communrc.ttaon thar docs nor require high power.
bOC>t•level password Sec BIOS·levcl pamHard.
bottom-4.tp technique A method for analiting u lnrgc, complex proj
ecr us a series of mdividual 1n,k>, called proj•"<t t<l'k>.
brainstorming A fact-finding tcduuquc for ga111in11111formnuon
through rht use of a small group dl\CU><ion of a 'l''"'f" problem,
opporrunity, or issue.
bring your own device (BYOD) An c-qurpmcn1 m.rn,1gcmcnt model
wh.ere employees a.re in chMge of their devices (e.11., computers, rablecs,
smartphone>) ar work. nor the IT depanment. This 1nduJes dcvi.e
selecnon and serup. program ln\t;.U.111110 and upda11ng, and nerwork
connecrivtf} !including sccunt)").
Brooks' law Frederick Brook .. nn IBM tng1nccr. ol><crved that addini;
more manpower to J lat~ wft"•rc pro1<"<t only make> 11 later.
(....,..... J:gi ( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,....
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ...,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~----··----~~-.,.-"~ ...........--......
Glossary
455
bug tracklna soltware ~t•«m JC\ <lop<"n use Jcf«-r 1r.1dung sohworc,
somctomc' cdllcd bug rrackong software, ro document and rraclc
program ddc-.u. rndc ch.log<>. and ropbctmrot code, called patches.
build or buy A tho1<c bt-c"'"'" JC'\doponjt on-hou'>C >oftwatt and pur·
chasing 'Ofl\\are. often Llllrd • huold or bu), or rndkc or bui. decision.
bus network A cnmputrr network where a single cnmmumcanon
path tonn~h me maontramc mmputer. '>Cne~ \\Orlsrauons, ~d
peripheral ck\lte>. lnformatoon o< tnn<moned on cnher do=-roon from
any worhtanon IO another worhtauon, and any mt>"3gc can be
dlrt'CtN to a >peclfK dc\lce.
bu>iness case Rdcr• m the r<a>0n>. or 1us11f1<anon, for a proposli.
bu1ineu continuity plan (BCP) A plan that ckfincs how cn11cal buson~s.
function~ can conunuc 1n thr C\ent of a ma1or disrupnon.
businus loci< Rule> ro derrrminc how a S)Srcm handles data ~d
producn u"'ful onformanun. rdl~nnll the Op<"ratmnal rcquoromcnt:> of
the busone<<. f.'<ample< include addong rhe proper amounr of sales rilx
to 111\'00<cs, ca kulaunll cu>tomrr balances and fina11cc charges, and
drtermonin11 wh"1her a customer i< elogohle for a \Olume·hased dos·
count. Also .:al led business rules.
business model A graphical rcpre•en1J1ion of bu>onc"'• funtrion>
rhat con~1~ l of bu,1nci.\ prcxC\!tlt.'\, ) Ut...h ai; sa l c~t ,1ccounring. and
purcha•dng.
business process A de.cripuon of 'pccofic event§, tasks, and desired
rt-~ult~.
business proc:eu model (BPM) i\ 11roph1c.1l rq)rc.c111.111on of one- or
1norc hus1nc~, proce'~~.
business process modellna notation (BPMN) A srnndard >Ct of
'hJp<'> aml >)lllOOls u<ed 10 repre<eno tvenos. proceS>e<, and worlcllows
tn rnmputcr·ba;cd rnodclong rool<.
business process outsourdns (BPO) The our<ourcong of a basic
busonc>> pl"O\.c». Su ulsu outwurcing.
busin.ss profile A Jdonouon ol a 1.ompan) '> o.er.111 funcnon;, pr<>
=5"s. org;in11..a11nn, product<, <en•=· customers. suppliers.
~owpetiton, t..:on~tr.11nt), and furure J1rC\.-i1on.
busln.ss rvlM Ho" a \y,tem handl~ data and produces useful informallon.
Bu""°'' ruks. al«> called bu<onc>• logic, refl<et che opcranonal
roquiremcn" of the bu,mcss. f,Jmple. ondudc adding the proper
,;amount o( ~In ta->-. to 10\ t>Kn., uh.:ul3t1n~ ru'tomer b.ilanch and
finance charges, and cktt'Tmonong "hcthcr a cu<romtt is chgiblc for a
\Olume·bascd d1~oum.
businus rules s..~ bu1incs> loi;1c.
bu5ineu 1upport systems Prn"d" 1ub·related onformauon >upporr tu
users at all leHls of• comp•n).
byte A group of coght bor< 1\ c.illcd a byre. or a character. A set of
bytes foron> a foclJ, "111,h "an inJoviJuJI fact about a per.on, a place.
a 1h1ng. or an r\·cnt.
calendar control A <Jkndar control alkm' rhe user to sckct a dace
that the >y>1em will d1>pl•y and -.ore°' a field value.
candidate key ~0111<11me• 11 i, p<>»1ble to ha' c J choice of fielcl> or
focld cmnh1na11on' ro u<r •~the pronrnry key. Anr focld rhat could scn-c
JS a primary key os tailed a .:andidace key.
Capability Maturity Model (CHM) A model developed by SE! rbat
uHcgrJtc~ ~O h\YJrt ;.uuJ ')''t<'nl1t dC'\•clopn1r-nt u1ro :.t prexes~ i111provcmc11r
framework.
Capability Maturity Model lntesratlon (CMM I) An SEI-<lcvdopcd
pr<Xt.)~ lt> tUlptO\'t qu~hr,.•. rtdu(t develc>pn1enr nme, nnd t.:uc CO!>CS-. A
CMM trJcJ..~ an org.11111.111on\ ,oft" arc dc•tlopmeou goals atid practices,
usoni: fivt marurocy level!, from Level l (relaci\'ely unstJble,
oneffccme sofnvattl to Level.~ (wfmarc that i~ refined, efhcicnt, and
rdoalile).
capacity plannina A pro;:e<;, thot mon11ors current acto\'it) and perforrnant.t
lt":\tl.), ;anL11..1p.i1e> future a.._11VU) • .ind foret.:.:ts..u che: resourt:es
n~dcd 10 provide dt<Jtcd le..rh of .en oce.
cardinality A concept 1ha1 des<:ro"-'< how instance. of one cnnry relate
10 instances of another en tu). ~rohed 1n enrol) -rdauonshop
chagran1> bv 001.1000 !hat ondocJte> <ombonanons th.i ondu<l• uro
<X onr-ce>-man)-. onc-t<>-<>lle'~ 3.nd nun)'·ro-n1any.
cardinality notation C.ode th.11 \ho"' rrbroon\hop< bet"ecn en1111es.
a.se for action ~ p.irl o( the prl'hm1n.iry 1n\:c~n1eanon r<"pon m management
that summJ.nzcs pfO!<-.:t requem and nukt< speofic
recommcndJuons.
CASE tools Pm-.rlul \oftw;trt u..ed on rnmputer-aodcd '),rem> engi·
nernng (CASE! tn help S)Sten" an.1lim de,·elop and ma1nt.11n
mfomutioo srstenu.
category codes Cophe..,. thJr 1dtn11f) a group of related irem>. For
cxanlrlr, a loc.:JI dcp~nnlcnt ~tore n1ay uq- .1 l\\<H.:turatt<'r cat~orl
code ro 1den11fy the dcpJrtmcnt on \\hi<h a product os sold.
certification A credential an ind" odual earns by dcmonsrrJring acer·
ta in le\ d of koowl<Jgc JnJ •I.ill on '' •W1dJrd11cJ tt>t.
change control (CC) A pl"O\.e~' for wmrollong chang~ in system
rcquoremen.-. during 'IOftware dcvdopmenr: al<o •n omportanr rool for
managing system chan{:c; and tn>ti after a Sy\lcm bceomes operational.
char:tcter A jlroup of '11\ht bots 1s called a chaucter, or a byte. A set
of b}te' forms .1 l1dJ, whoch ;, an md1v1tlu.1l fO(:r :1hou1 a pe"on, a
place. a thong, 01· an c'cni.
cha.racter-based report A report created usong a s111glc mono-spaced
character !tCr.
check box U.seJ 10 >elect one or onor< choke> from .1 group. A chc.k
mork, or on X, rcprc~em' >elccm.I op111>11'.
child di31ram The lower-level d1.1grom on on cwlodcd DFD.
child ln onhcrotance, • child '' the ohJt" that derive< one or more
arcributes from anorhrr obtrct. called rhe p.tttnt.
CIA trungle The three m~lll dconenh uf l)'ltm ..c..unly: ;confidmii3l-
1ry, mregroty, •nd a-.olabolot>cipher
codu USt of a kc> word to encode a number. A retail Storr. for
example. mat U5" a 10-lettcr word. •ucb a• C..\l\.IPGROUND, ro code
wbole>.1lc pna.. where the lcucr C rcprC'Cnh I, A rcpre>ents 2, .ind"°
on. Thus. the code, GRAND, would 1ndi.:a1c th.11 the store paod
S56l.90 for the item.
class A term m<'ll m ob1c'\.t·oncnt<.J modeling 10 indicate• coUeruon
o( >1m1lar ob1rc1s.
dau di;agram A d01a1led \ICW ol • <mglc u'iC C35", showing the da<se5
that partlCop.tte on me""" ~;c. and documennng the relanomhop
among me das'>C>.
dkkl to do•• The avtragc number of P~I\• Vte\n 10 le<Ompli.Ji.
purchase or obtam doored mformannn.
c:llckltream storage Rcxordm{: \\Ch v1-.1or hehavoor and traffic
trends for later dara mrnonjt. use.
dient Work~tatJOll thJt UiCf'S. interac.:t within a l licnt/M-n er de~1gn.
lOr-!te work.sto1t1on,, or conipurcr<r., J re 'upplir<l <l:u.1, procclis1ng services,
or other •uprort from other computer•, called server•.
client/server architecture Generally refer> tO systems that divide
processing berween one or more nctworJ..cJ docnt• and J central server.
In a rypical dient/ ,ervct\y<1e111, 1hc dm11 handles rho cnurr u<cr inter·
focc, including J ato emry, Jara tiucry. and ~recn prescn1a11on logic.
The server stores the data and provide> dJIJ "'"""and database managen1ent
funf.:UOn~. Applu.~.itlon loAu. 1fi d1' 1ded nl 'orne n13nner
between the server and the clicnr'-
dosed·ended questions Quwe<, rhao limu or re~tnct the range o(
r~pon~. U~ 10 the llllCr\>IC'W pt(.K:C~) \\<hen 'pt'\lfiC 1nformat1on or
f.ict \.'Cr1ficdUOn 1oe: dr:)1rcd.
cloud computlns An online ;oltwarc and data en' oronment on which
apploc.iJ1on• and senoces are otet<sed and used throujth an Internet
~onuc.:11on rJther th.on on .l l0<.ll w111pu1cr; rdc" 10 the douJ •)mbol
for rhe Internet.
456
Glossary
code A set of lcncr> or numbers 1ha1 reprrscnr.. .i d;ua ucm. C.odcs
can be used 10 s1mphf) output, mput, and data fonnats.
code reYiew A re"c" of a pro1~-r team memhcr'> work by other
members o( the et am 10 >pol lo~ erron. Gcncull). S) stcllb an.1ly>t>
review the '' ork of other \)"".item~ anJl)'\:t,. ttnd rrogr.1n1mC'l""'\ rc\:itw
the \\Ork of other programmers •• ,• form of prcr "'""· Strueturcd
"alk-throuith- >hould ul.c pb<e thruuithou1 the SDLC •ml 3re called
rcqu1rl"01C"nt'\ rc'·tC"\\ ~. dn1tui ~ .C"~· t,;.clJ<- rc,~tew\, cw rc'+nng f<'\'K'"'
depending on the pha~ m which they occur. Al'° known as a Structured
"all.-thruui:Ji. S<>e mvc1urcd wall.-1hrough.
coding The proc.c» of 1urn11111pro11r.tm10111• 0010 'l""1f1c 1m1ruccions
that a computer ~)'\:tern can cxrcurr.
cohesion A 1nta>ure of a module\ ;cope and prc>eess1ng •haractcri>rics.
A module 1hat perform> a 100111• funu ion or task has a high degree
of cohesion, which "desirable.
combination check A t)pc of dall •ahd.111on <heck that 1s performed
on two or more fields fQ ensure 1ha1 they are consis1enr or rea<0na ble
when co1md<rcd tOJt<ther. hcn 1huu~h all the l1tlds involved on a cocnhonarion
check m111ht P"" their mdi\'1dual vahdarion checks, rhc
comhinarion of the field value' m1gh1 be mcon•i\!Cnt or unreasonable.
combination key A type of dn tn vnl1darion check chJ1 i> performed
C>n two or n1ore fields to cn~ u rc chac they arc cor1, i.;;rtnr or r~~t1n.1blc
when com1dcrcd mgcrhcr. llve11 1hough .1ll 1he fi e ld ~ involved 11 n com·
bma1ion chctk nui:hr pa~;, their i11J iv1J ual vahd;itinn checks, the
c.:on'lh1nauon of the: field value' n11Kht be 11u.·011 ' 1 ~ 1 <"11 t or unrt:a ~on ah l t.
command button O n ~rten hutton th11t tn1tiJres nn ,tenon '>uch as
prmung a form or requesting I lclp.
common field An n1tnbu1e rhJI nppear. in more than one enciry. Com-
1non fields c~u1 be usc<l 10 hnk cnuut' 1n v.1nou' t )'pes of relauonsh1ps.
composite key ~mrumcs n 15 nt'..:t~\;try for a pnn1ary kc:y to con\isr
of a ~omhmation of foe Id~. In that~•~. the pr11n>I)' key 1~ "a iled~
combwot1on key. compo>1te l cy, cmi.:.11en~ttd l l!y, or mulm·alued kl!t.
eomp<rter "'sourc" committH A ttroup of le) 111ana~cn. and u~rs
rcspom1hk for c-.lu.11111Jt <y<trm< rcqu~rs. The trrm "sy<;1rms rc•~cw
comnuntt • is also used.
compute...aided •oftware en1lneerln1 (CASE) A t.xhnoque that u""
powerful rrogr.1ms •~lied (.A\! 1tlOI' to rrov1dr an meull framework
for srsrem• dn-,,lopITTC11t. The 1001• •uppon a wide vanny of design
methodolll!l1e., mdud111g >1ru.:111r<'<I anal)'" 1nd ob1<'-"t-<>rien1ed
anal>"''· Al«> rdcrrcd to a< rn111pu1tr-.,dcd <) <trm< cng1nttring.
compute~aided systems en1lneerin1 (CASE) Ser computrl"J1dcd
softw.tre engine<'tlng !CASE).
concatenated by Su composi1e key.
concurrent task A task 1ha1 can be comple1ed ar 1he S>me nme as
(tn parallel wuhl another 1.1<k.
condition A specified acro<>n or srnrr 1n a <rrucrure charr.
confidendality One of 1hc tlircc main tlemenis of sy,tcm security:
confidenualuy. int1'i;tit), .ind ava1lnh1hry (CIA). Confidtni ialuy protc-ct<
1nform.1tion fronl unauthortitd d14lc.: lo~rr nnd ~1fc-guard ., p1i vacy.
configuration management (CM) A 11rocr<s for con1rolhng ch.111gc<
in system rcqulr<mcni; •luring the development phaS('S of the SDLC.
CM al;o 1s .111 imp<i11 a111 tool for 111.111n11i11g ' Y" <lll <h.111grs n11d cosrs
J frcr a '>)'\ tclll h-ccornc< opcrt\donn I.
constraint A rcquircmcm or a cond11ion 1ha11hc sysicm musr satisfy
or an outcon1c thnr chc sy~te 1n 111us1 ach1c\ t.
connruction phase A ph;sc 1hn1 focu"'' on proi;rarn and applicntinn
de>clopment ta>ks \imdJr to the !.DI(...
context diagram 1\ iop·lcvrl >icw of an 1nformanon sys1en1 rhar
>hows the bound.tries anJ s.;opc.
conte_xt-sensltive A ftatu~ char a-1 ~nSlt l \l" to th<'. " urrrn1 conditions
"hen it" invoked. ~or ""'nrlr, conte,r-scnmne heir offers ass1st:lllCC
for a 1ask tn progreJ>.
continuous backup A rral-umc >lf<Jmtn)I b.ickup method that
records all system acnmy •s 11 occu".
'ontrol bnak A control bruk u~uall) c•u~ 'pcc1fk acnons 10 occ-ur,
such a. prm1tng >t1b101al> for a group of n.-..ord>
control b~ "'port A dcwl rcpori 1h.11 lnc.u""" nn control brcal\.
control couple In• .iructurc chan. a control couple mow' a mt'Ssagc.
also called a flag, wluch one moJuk M'llds ru another.
control field order In a cootrol break rt!X>fl, the r«ord~ are arranged
or sortt<I m the same order a> 1hc <-Ontrol held>.
control module In a \tn1cture <h~n. • con1rol module" a h1gher-le•·cl
module that din'Ct> lowcr le•d moJuk-;. called 'uhordmaie modulh.
con trol structu"' Scn·e as buildmi: bl0<.k• tor a pr0<.t'Ss. Control
srructurr:s hJvc one cn•ry t1nd c~ 11 pn1n1.1liC') "'·'Y be complt"tcd 1n
scquennal order, as the result of a tc" or cond111on. or repca1cd unhl J
spe-c1fic rondition change>. Aho called lottical >1rue1ure.
corporate culture A >et of bd1ef,, rules, ir.1d 11ion>, v•lun, and amtud
es mar define a company and mAuence 11< way of domg hu<tne«.
corporate portal A website 1hnt provide> ••ariOu'> tool• .111d foaiurt'S
for a n organ izatio n ·~ cus tu 1 ncr~, cntplO)'CC~. ~upplacr\, and the public.
'orrective maintenance Change> 10 ihe ')'<l<m to f" errors.
cou pling Mrasurcs rclatmn,hi1" •nd 1ntcrdepcndcnce nmong modules.
The opposite of cohesion.
credentials Fonn,tl quJlific.11ions 1har i11d udc degree,. diplomas, nr
ccrttfi<a1es granted by lrarn1ng 111>11 iu11011\ to \ hnw ilrnl a ,crrn111 level
of cducacion has been achieved.
path A series of event> and ac11v111cs wuh no ''••k 11me. If an)
crl~ical
activiry along the cnuc.tl p•th f.tll, behind «hedule, 1hc enurc project
sdtedulc is similarly delayed. As the name tntpht'S, a cntical p•th
indudes all acttvicies that are ,·tt•I to the pco1cc1 ~chedule.
Critical Path Method (CPM) Sho"' s J pro1«• "' • net\• ork dtJ)l,r.tm.
The aCU\lltlC"t are ~hown J.\ \let:tor''t J.ntl the c\·cnl\ art J1,pla~eJ l!t'dph·
ically as oodts. Although CPM dc•elopcd ><:par•1cly from 1hc Program
Evaluauon Re\le\\ Technt4u• (PJ.:Rn. the'"" mc1hod> art C-.\Cfluallv
identical. See also l'IC.RT/Cl'M.
critical ri•k When mks arc ca1cgomcd and pnonnud. crmcal n<ks
(rbose "irh the lu~s1 'ulncrab~ll) Jnd 1mpac1 rannJIS head the list.
critical success f.llcton Vii.I oht«U\ o thJI mu>1 bt Jch1e• ed for 1he
enterprise to folr.Jl us mission.
critical thinkine •kills ~ ah1hry to comp.ire, dJ«1fy, C\'Jluatc,
rec<>gnUe pancms. anal)U' CJU>C and dfc.1. Jnd •pply logic. Such
skills arc valued rn 1ht IT ind1l\I').
crow's foot notation A t)pc of cardm•lny 1101'11(>11. It "c.1lled crow's
foot not.1cion because or the shape>. wh1c.h mcludc circl~. bus. and
S)mbols, that ond1caic VJ nous ro>'1b1l111c:>. A "nglc hM md1C>tc> one, a
double ba r md1cau:s one and only one, a circle 1 nd1Car~ zero, and a
C-C()\\ 's foor: 1 nd1C:l U~S ffi:lO)'·
customer Prunar)' mer ot a ~yi.ten1, M:rvite, or prodtu.:t.
customer ,..,Jationship management (CRM) Many comp• 111rs
1mplcrncnr sysrems to 1111egr.11c ,111 cu<tomrr-rclarcd event'! and rransnc·
rio11s includjng marketing, sales. :.i nd customer ~erv i cc aetivit1cs.
cutover phase A ph.1;c 1hn1 rcsc111blc, the fn1.1l rn;k; lit the SDLC
inlplen1entation pha.;c, in4.:luding J at.t C<lnYCl"'tOll. cc~ t i n g, ch,1ng~1ver
co the new system. and user cr.1ining.
data The raw m,11crtal or ba>ic foct> u;cd b) 111format10 11 >}•lcms.
data center A large con<cnir.111011 ol networked com purer> work1n11
together.
data convenion Ex1s11ng datJ 1• loaded rnto the new ~)11cm, transformed
as needed. Depending on the •ys1cm. data conversion can be
done before. durang, or after thC' opcr.u1011.al c11¥1r<lnment 11t cornplttc.
dab couple In a •tructurc ch.in,,, dJ1,1 •Ouplc show, data that one
module passe5 to another.
(....,..... J:gi ( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,....._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~• ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,....
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ...,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Glossary
457
data dictionary A ccnrul srorchousr of inlorma11on abour a sysrcm·s
dara.
d"'ta el&ment A .. nglc durJ•lcmuc or fa.r •bom .m mmy. A data
clement. field. nr armhure 1< t~ <mall~t p1ett of dara rhar has m<an
'"11 \\lthm an mformauon >ysrem. For •~ample, a Social Secuntv
numi,.,r or comp.m) nam< rnuld I'<' <umplts of a data clcm<nt. Also
calll'<I data ncm.
d .. ta n- A path lor WIJ 10 mO\C from on• pan of rhe mformarioo
'}>rem to anothrr.
data flow d~ (DFD) C.raph1cal representation of th• system.
.howmg n sro..-, prtx<"'>\C;, and rran,form> Jara u1to u.tful information.
data frames 1 ralfi< on a computrr network.
data Item ~u data clement.
data manipulation lancuap (DML) A D~R controls database operdl1ons,
1ndud111g •tonnit, ttlnc\ 1n11, upd.mng, and dclenng data. M<1<t
commercial DBMS;. >U<h 3$ Orad< and IBM's 082, use a D~U..
data m..n A •fl<.'<lahzed J31ab:1"' dc"i:,"'ed co serve rhe needs of a
'pcc1fic dqlartmen1, such"' \ale<1, markenng, nr financr. E.acb dara
ma n include> only 1he data rhnc users 111 char dcpamnenr require t0
1wrform thrir 101,.,
data mlnln1 Lookmg for mc;rnmgful pnuerns and rclar1onships
among darn. For example, dnto mining •or"' nre could help a con>umer
prnduct' f1rni 1Jrnu(y potc-ntinl ~u~ ron1 crs ha,cd on their prior purchnscs.
data proceuln1 center A ~entrJI location where physical darn was
dcli\ercJ ~r trJn~1111tttd 1n 'Onle nlJnner Jnd entered into the sys:ten1.
Users in rhc organ1za11on had no input or <>urpur c-Jpab1hty, except for
prnHed report' thJI were d°'rrihurcd i>y J corporarc IT department.
data replication In norm•I npcranni: condmons. any rmnsaccion t har
occ\lrs on the pt1mary >)M•m must aucomatic.1lly propagace co 1be ho1
Site.
d"'t" repository A <) mbol u-cd m DFIX to repr~nt a s1ruattoa in
~ h1ch .& ')''tcnl mu~t rcu1n Jara ~au--e one or more prOt.:.ehe!i. ntt<l
to USC rh•t .iorcd dar.t ·" a I.err nmc. u,ro 1ntrrch•ngcably wnh the
term data store.
data science lmerd1;.;1plmary f1dd rhat bknd> .-omputrr SCICllCC,
math and ~1amn<s, •nd bu<inr.~ methods to analyu large dataS<tS.
Im oh<> :aruf1<.1.il 1nttlhg~11<c. ma<hme le:arnmg and predt<tt\C aoaly1-
1C", and ,... ual11..inon tC\Ch111qucs
dau security Prntccnon of cl.at• from loss nr d.1magc and reco,·crs
dara \\ l><n It " 10>1 or damaged.
data nore Su dara rq>o;1t0<)
data structure \ meanmgful comb1nannn of rclared dara clements
th.II att mcludt:d 1n a dara flow or n:mned m • d:iu store. A framcwor~
for organ11mi; and \lnrmg dar.t.
data type check A t) pc of da1.1 \'alidat1on check mar is used to ensure
tlur a darn ll<m fu; the l't'quired tfata t) pe. For example, a numeric
field musr have only numbers or numeric .ymhol<, and an alphabetic
field can conto111 only 1hc chara.rcrs A rhruugh Z or rhe cbora<:i~rs a
rhrough 1.
data valldatlon rule A mcchnm'm 111 improve inpur qualiry by tcsring
th< dam and re1eu i11~ any enrry that foils to meet specified conditions.
data wa"'house An 111re11r•1cd collccnon of dara that can support
1ntinagcnlcnf {tnn l y~is ond d«t~1on 1n11king.
datab:ue administrator (OBA) Someone who manages• DBMS.
1 he OBA a-<c'"' ovcr.111 rcquire111e 111' and n1amtn1ns rhc daraha<c for
the bcndu of the cnurc organatanon rather than a single department
or user.
datab:ue manacement system (DBMS) /\ cnllccnon of rools, f<arures.
nnd imerfacC\ char enJhles u~rs to add, update, nunage. access,
and analylc data an a database.
database prosrammer .\ p<r.on \\ho focuscs on creanng and supporung
brge-..:alc databaM" >y>tem>.
decision c..ble /\ tJblc that >hO\\S a l<>11ocal >1rucrurc. \\llh all possible
combmanons of conditions •nd ttsulnng acnons.
decision tree A graphic•I rcpr~n1a11on of the conditions. actions.
and rul<-< found 111 a de.:i>mn ul>Je.
decomposins Another \\J) of con'c)mg a P'"'""' or s'"'m that has
been broken 00\\11 from a gC'llcul. IOp-levcl >it\\ m more detail. The
term' cxpln.ld and ('Jrt1tmn~J al'iO ••n i,., u\Cd
default nlue A v•lue !hat a sy,t<m d1spbi-, automancally.
defect tra.ckinc softw..,.. S1·,tem de1elopers usc defc.1 tucking software,
somcttmes cJllcd bug rud..1n11'1lft"\\Jr<,10 dorumcnt •nd track
program ddccts, code d1angC\, 3nd rcplaccmmt code, c.iUed patch<'>.
deliverable A poh>hcd, fmal produ•t, 'u11Jhlc for'" mrended """·
F..nd rroduc" or dehvcrahlr< often coincide w11h the complenon of
e3ch SDLC phase.
denial of service (DOS) An onlmc auack lh.lt <><•ur> when an
attacking con1putcr mJkc\ rcpcdfcd rcquc~f\ to ;i ~Cr'\'1C<' or scn,ccs
ru11n1ng on ctrtain ports.
dependent auk A ta>k " ,.;J to he Jepcndcnt when it ha< 10 be mm·
pleted ma i.cri.11,equerKe.
derivation code Combining dam from different item attributes, or
c:.harac[eri,t1c\, to hu1IJ tht: codi:.1v1tJ\f nlJl-!·''111e ,uh,cripuon code~
arc dcrivtition codes.
design prototyping Crca11ng a protocypc of u-er rcqmremcnt>, after
wluch the pruwtypc i' d1>eartlcd Jnd 11nplcrnenm1on continues. Also
called throwaw,1y prolot)p1ng.
design review Sc~ strucrured \\alk-through.
dcsi1n w:olk-throu1h A ;,c,;io11 with U'Ct\ (()review the ancerface with
a ere><< scctaon of people who wall work wuh the lie\\ l)\lem. Thi< i< a
cominu;itinn of the modehn11 and protot)pmg effort char began e•rly
to the S)">telll> dcvclopmcm pr0<.<».
desk checkins The prn<c" of rc>1c\\ mg the program co.le ro <pot
logic errors. which produce mcOrtt<.1' resuhi.
dewl report A drt.lil n:port produ•C> one or more hn<> of output for
c•ch record proccso,cd.
dj.,gram 0 A diagram deptetmg rhc first level of drta1I below the intnal
context J13i;um. D••IU'•m 0 {zero) toom• 111 on the .:ontnt
diagr•m and <ho"~ ma1or pm.;e\SCS, dJra llo\\ ~. and data stor~ as
well as repeauu~ the C>.tcrnal <nllll<> :md J.ara flo"> 1h:11 appe:u m rh<
contc't d1agra1n.
dialog box Allo"' a ui.cr to cnt<r mfnrma11on about a task rhat a
>y>tem will perform.
differential backup A hJ,kup 1hJ1 1ndutk<. only th< file, thar h;He
changed since the lasr full bJl kup.
direct cutover The direct •Uto\<t approach .:au>t"> the changeover
from the old >t>l<lll to rhc new 't>rcm 10 txcur 1mmedurely when rhe
new •ysrcm becomes orcrataonal.
disaster recovery plan A documented procedure cons1>nng of uo
overall h•ckup and l't'<C>Very pl.in.
discretionary projects Whcr< 111.111.111cmen1 has a chc>1cr an
unplemcnMg a projl"CI, they arc called d1'<Crrtlonary. For cxnmplc,
CJ't"ating a new tcpor1 rur :1 u~c r i ~ ·'" c:xrunpl(' of 3 t.h\Creuonary project.
diskless workstation A racrwork 1crm111al that support< a fu ll-fcarured
user interface bur lim its che pr1111inJ; or copying of darn, ex:cepc ro cerrnin
network rc>oun:c' rh.lt c. 11 be monuorcd and co111rollcd murc easily.
distributed datab:ue mana1ement system (DOBMS) A <ystem for
munaging dum stored nt more thnn one locanon. Using a ODBMS
offers se,era1 .tdv.1t1t~f.tc\: l)Jt.1 \HJrecJ llo-,cr to u"'er~ can reduce
network traffic: the syscem 1s sc~lahlc, '"new data sue• can be added
"11hou1 rcworkmg the •f'tcm design; •nd wuh J,11J >torcd in variou;
loc.1nons. the sprcm "lcs' hkcl) to c~p<n<ncc a carnnroph1c failure.
A potenual d1>.1dvanwgc ol d1smbuced d.lrn smrage 111\olv-. dlta
security. h can be more d1tf1cul1 111 m31111.11n comroJ, anJ standarJs
when datd " stored in ••nous l0<:at1ons.
458
Glossary
distributed denial of service (ODOS) A "rvicc arrack uwolving
muluple an•ckang computer'> that CJn 'ynchrornte DOS attacks on•
server.
distributed system Comp.in) w1Jc 'Y'tem> that art conneued by one
or moro LA:-0:> or WA\:\ I he <•r.1h1ht1c> of• Jo>trihuted S)>tetn
depend on the power dnd c;'lp•c1ry of the underlying d3r.t commumca·
non ncnvork.
Diverging cbta Row A data llu" m whkh the >Jmc data cr.uels to
f\vo or more different locauons.
document review A ,., 1c" of ha«hnc documemanon. A u<cful factfinding
1e<hnique that help' an unal)>t understand how the cum:m
\)')ten\ i~ ~upro!tcd to ,,·orl.
documentation t>latcrldl 1lm <'pl>1n• • 'Y't<n>, hrlp> people mtera<t
\\'ith it, ~uid nKludes pmgr;un dc'k:unlCntJ.uon, >) srenl documenrarion.
opcrJ.taons dOlu1nentJuo1t. and u&ocr documcnrat1on.
domain The'"' of value> pcn111ncJ for a data element.
dumpster dMna R.l1d111K de>k• or tn••h b111> lo1 •ahuble 1nlormarion.
duration The ;unount o( t111\e JI \v1ll La"e tc• co1npJcte a r:isk.
EBCDIC 5tJnds for l'xtendeJ llinary Coded l)eC"im•l lntcrchangc
Code, a coding method u:.cd on mamfrnmc " nnputcrs ~nd some highcdpa<:1ty
~ervt'n ..
e.commerc:e (electronic commerce) 1'"r1•11,ac110114\ (t".H., lluy111g and
selling of goods and 111format1on) that o.:cur cm the lnterner. Includes
both bu~ in l"S!'t·to-cons un1cr and buo.i n cs"~to· bus1nc~'·
economic feaslblllty Achieved ii the prujrcrcd bellefils of the propo;,al
~)\\ tern nul\YC1gh the ~'11 111 a 1 cd 4.:0'it' involvell 111 :u.;t1u1ring,
tnstalling, and opcrJting it.
economy of sa.le The inherent efficiency of h1gh ·\"Olume processing
on l.r11er computer> D.11Jb.1>< J<'ogn Jilow' better utilu.111011 of hard
\\ are. If a 'omrJny mJ111tam\ an emerpn'lt·w1de d .11aba~. proc~sing
,,, le!.~ e.x~1\·c l»tng .i pc>\\Crful ma1nfrJn1c )Cr\t.'r u&ccad of u.s1ng
.c•cral >mailer wmputcr..
electronic dat.o int~hanae (EDI) 1 hr elCchange of bu<rne\S docu·
mcn1> "'""Cett computers """It a standard elrctro111c format.
electronic health ~cord (EHR) An electronic record of a p.1nenr·s
htahb mformauon gcneurcJ a> the paucm enrnunten. \3nom health·
care pro,1der' anJ •h•red Jrnong mul11rk fa<1l111cs and ~genc1 es.
electronic product code (EPC) lechnolngl th.n u<e< RI ID rag< to
•denttfy and mon11or the mo• cmcm of e3<h 111d1ndual produce. from
the factUI) floor to thr n-t.111 <hedou1 <ountcr.
electronic proof of delivery (EPOD) A <urphrr """'RMI)••!;' on
each crate, CJse. or sh1pponi: umr m cre•rc a digical shipping Im to ver·
ti} rl'CC•pt of i:oo<h.
empowe.rme.nt A bu~1~~~ pr.te.;1u.:.C'.' that place~ rnure respon.s.1bihry
and accounr,1h1hty throui:hout all lcvols of an organi1anon.
encapsulation Tlie idea that all data nnJ me thod~ arc ~e lf-co ntain ed,
as in a blatk box.
encryption A proCC$Ci whert darn 1c; ..:o<lcc.1 (4.:onverred inco unreadable
char.1cters) so that only those" uh the required a u1horiw11on cu 1
occess the darn. (usuJlly via dccod1n1t ~ofr:wa rc)
engaaed Ustenlna T he nb1liry to really conccnrutc on what • <lmcone
i"I soty1 11g ,tn<l .tvou.J 1hc tc1np1.111on 10 hc.1r \Vh;u i, expccrcJ . Al~o
1ncludc5 not1c1ng nonvcrha1 co1nniun1cntion.
enhancement A nc\\ feature or cap.1hihty.
enterprise applications Comp.111y·wide urplicarions, such OS order
ptocC'~1ng \}'!!.1Cm~. l'>~l)'roll ,)-,tctn"i, Jn~J con,p.&n ) l:Um11,un1,at1f.>n~
networks.
enterprise computlna lnforma11on ;y\lcm< thnt .upport company
'' 1dc data o:wna~cmcnt rC\jutrt"rnenl.). si1i1.h 3":. .. \1tl1nc re~rv:i 1ions or
crcxht card boll mg 'Y"ems.
enterprise resoun:e planninc (ERP) I\ ptO<'cS> that e<>tahhshcs an
emerpnse-w1de >tr~tei:i for rr rcsoum''· ERP defines a <pecific nrchi·
tecturc. ondudmi: >1and.ud; for Jara. pto<c.>1n11. network, and U><"r
mrcrf.icc design.
entity A person. a place. a thing, or a.n e\cn1 for which Jara is collected
anJ ma1nt3tned. I-or eun1plt, ;i.n onl1ne Yh:~ "t).,itm nt.ly
include cn1111cs named C\JSTOMFR. ORl)I R, PRODUCT, and
SUPPLIER.
entity-reladonshlp dlaaram (ERO) A ~r•phi<al moJd of the inlormanon
system th.it dcp~ the rcl~uon(hJP' .amon~ \>strm cnt1ncs.
epic In an agile pro1cct. a "mplc, high· lc\CI qJremcnr of a rcqu>re·
mcru. Su feature.
evaluation and selection team A i;roup of r .. oplc lll\OheJ "'sde.1·
iot> hardware and software. The group mdud«> 'l"cm\ analy<rs and
u>ers. A team approach cn>urt> that <r>uul fauor> 3re not o• crlookcd
and th:tr a sound cho1ct • ~ n1ade.
evaluation model A technique that U'M a common yard<nck 10 measure
and com~>are vendor ratings.
event A rtferencc point thnt m;a.rks 0 1n3jor (X:Curr.:nce. u~d tu moni·
ior progress and mnnage a proJe<t. ~re al>o milestone.
exception report A document d><playmg <)nly those 1·ecord> that
n1e.et a spe\:i fic condition or c<>n t.lilions. Ex1.cpuon rcpc.)rt'! .irt u>eful
v1hcn the user \Y;tnts 111forn1ac1011 only on reeord' that nu~ht r~uire
acnon bur docs not need to know the derails.
ex>.stence eheclc A I) pe of dar,1 valid.u1on <heck rhar is used for mandatori
dara items. For example, if an employee rernrd r•<iuorcs a Sona I
Securit)' numh<:r, an c><;l<tcncc check wnuld nor nllow rhe user m save
the cccord until he or she enters a suotablr value in rhe SSN fidd.
exploding A Joagram 1> >.ml 111 b" exploded of >t •Jroll, down" m n
more detailed or c'pandcd v1c\\
exploit An arrack that r.1kcs •dvant.1gc of ,1 <y11rm •·ulnerab1hl)',
ohen due t0 J combination of one or more improperly ton figured
~rviccs.
Extended Service Set (ESS) A w1rclcs; network conf1gura11on made
up of cwo or more BS5 net\\ork>. \\ hich allow> w1reln' d1c1m 10 roam
from BSS to BSS.
ertensibility Refers to a>) stem\ ab1hl) 10 c'r.1nd, change, or down·
sue ~soly 10 mett the chani:rng need> of~ hu>tn~ cmcrpme. Al><>
known as '>Cal.ib1l1l).
fa~ct·linding
elicitation.
The proce•s of g;ithcrmg rtquircmcntJ. \tt rcqurrcmcnts
fat dient A nccwork de;,1~ thut locues all or mo>• of the apphcauon
processing 10J\IC at the client. Al>o ullcJ a th1tk docnt Je>i~n.
fault man .. gement 1nc timely dcrcctmn and rcsolunnn of operanonal
problems. Fault management includ"5 mon11orrn11 • si·stem for "II"' of
troublc, lCJAA>OI\ JU S)Stcm faolurh, Jo.lgno\lng th• pmhlrm, .md aprlying
corrective action.
fault tolerant A sys1em or applkanon i< ,.,d ltl be foult tolerant 1f the
failure of one component doe\ not dosahlc tl1e ,.,, or rhc sy>rem ur
•pp11ca11011.
faxback See automated fax.
feasibility study An imtiol invest111anon 10 clt>rly identify the nature
and SCC)pe of tht· husillt» 01lportunil)' or prohkm. Aho called prel iminary
invesriga rion.
feature ln an agllc pru1oc1, a >implr. hii;h· levcl >rJtCmcm of a rc<1uire·
n1e nt. .Set epic.
field A s111gle chao·aCLcri"ic or fa<t ahou1 Ml cn11ry. A field, or attn·
hutc. i> the smallest piece of darn thnt hos meaning wuhin an
iofonnauon sysrem. Fur example. ,1 Suct,11 ~e<unty number or company
name could h<: example' of n field. l'hc term~ Od/11 drmml. dat.i
item, and ftdd arc used interchani:eably.
file E3ch file or cable •OlllJtm dJt,1 Jbuut pwple. pbu~s, th1n11s. or
c\o·cnts that interact \\'1th the 1nform01non '>·~• cm.
fife.oriented system A folc·Otl(ntcJ '>'tern. al>11 ••lied a folc proce,sing
•}Stent, store. and nwugh Jara in one or more ><:parate hi ....
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,....
Glossary
459
fill··in form A 1cmpla1c u...J 10 coll= Jau 011 the ln1emc1 or a cornp3n)'
rnoranrt.
finish day/date The dai• or d•1t when J ta<k "scheduled robe fin·
bhed.
firewall Theo nmn line ol ddcfbC ~ccn • Joal net" ork. or oncnnct.
3ncJ th• l111crnr1.
first nonnal fonn (I NF) A ttcord ''Yid to l>c m I !\F of n doc< noc
conr.un • rtpt'.•nng group (• .ct of data items th.it can ex-cur any nwnb.:r
ol nm"' m • >tn~lco rr.;orJI.
fishbone diaaram An .1nal)m 1<>ol 1h.11r•P"""""1hc pos;1hle c•usn
of. prohlem .1<. vaph1c•I ou1hnc. Alm Cdlled an l•h1kaw• diagram.
fU<ed fee model A <en1'< model tha1 charges a set ftt b'1scd on a
specified lt\el ol s<rv1ce one.I user suppon.
nowchart \ diagram u«d to dc<cnhc program logic rhor represencs
IOjti<.al rule> one.I mt<rJct1011 gr.1plm.Jlly u;ing a series of symbols connecoed
by .1rro"''· l lowd1.r1< c•n he u.efol 111 vi~ u •hLmg modular
progrnm designs.
focus In • 'equencc diagram. a focu; rnd1c.acs wh..-n an ob1cct sends
or receive> .1 mes>n11e. lo 1s 111d1cn1cd bi a narrow venical recrangle cl101
covers 1hc lifel1nc.
foreign key A field 111 one table th.11 must match a primary key val ue
m anoohcr 1:1blc 111 order to csrnbli>h the relntiomh1p between the two
tJblrs.
form filllna A Hf) cffe.;t"e m<1hod of nnhnc da1> cn1ry where a
Mank form rhar dupl1ca1r, or rc-.mble< rhe •ource dncumcnr is completed
on the ~rccn. The u>cr enters the data and then moves ro the
llC\I hdJ.
fonn layout Inc phy'lc.11 appearance and placemenr of dat.1 on a
form. Form layout make• the form easy to complett and promlcs
enoujlh >pJ~. both 1cru{~lly and boruont:tll)'. for us.en to enter che
c.1 ....
fonrm An onlmc J1«.u\\1011 on• ramcubr rnpic, whett ~pie men,
offer suppon. •nd t'l<changc idea•.
fouMnodel .,,proach A phy;i.-al model of the curren1 S) strni. a l<>gial
model of the •urrrnr S) Siem. a IOjllcJI model of me De\\ srsrem, and
a ph) sial model of 1he Ile\\ "'"m •re all de1clopcd.
full backup \ 'omrlc1e badrnp of nery hie on the sy"cm.
functional baseline ~ ronf1gurauon of die S)Sltm documented 31
rhc bq;inmng of the pro1<..:t. lo cons1s1> of all rhe neccs..ar)· sysrem
rrqu1rcme-nr" and ~1gn ..:on\tr.;ur1~.
functional decomposition dlaaram (FOO) A top-down rcprc.c:ntattOn
or hu'1nc>• functtOn' and prol<.-C»CS. Al;o called a structure chart.
functional primitive A •mglc function rhat l< nor exploded funher.
The logic for fu11<.11on•I prim1uves " documented m a da1a diaionary
prn«ss dc"'rtpnon.
functional requir.,ment A \ tattmcn1 of the sen1«>s a system pro·
v1dcs.
functionally dependent Func"trona l dependence 1s an imponant conap1
fur umlcr>1andmf; oltc 2NI'. Thc f1dJ X 1s said to bt fun<.-tionally
dependent on 1he field Y 1f the Y.lluc of X depend~ on the value of Y.
For example, an order dare i~ dependent on nn ordrr number; for a
por11cular order numbcr. 1hcre i> only one value for the order dare. In
conu·as1, tht• produc.:1 de,r1p1tnn 111. nn1 dcpenden1 on Lhe order nuni·
bcr. For n pamcular order numh<r, there might he several prndua
de.criptte>n'· one for each 1tcm ordered.
Gane •nd Sllrson A populJr •imbol ;t1 u>ed rn DFDs. Processes, da1a
now,, cJa13 >IOfC\, ,llld e>tr1nal C11UllC> Jll hdVC ,t unique symhnl.
Gantt chart A homo111.1l l>ar <hart th.111llusrrar<'> a <ehedulc. Dcnlopcd
many ) tar> Jgo hy I lenri L Gantt as a prnducnon control
techmque. Sull arc 111 common use IWa).
garbap in, garbaa• out (GIGO) lbc wn<.cp1 tha1 the qualuy of the
ourpu1 "only,., i;nod a< the quahry of 1he mpur.
pteWlly (I) In bu;mcs. procernng modcl1n11 nooauon, a fork m the
process. allowmg the now to go one WJ} or another. (2) A rourcr or
ocher network dtvi« u!.cd 10 conn"'' tO a lar11cr. d1ssurular type of
OCC\\o'ork, such a~ rht Jntcmct.
gipbits per second (Gbps) A t>andMdoh or 1hrn11ghput mcasurcmm1.
globlll outsourcin& The prJClk:C ol \htfttng IT dntlopment. support.
and OJIC'rauon> 10 ocher countn~.
glueware Su m1ddlcware.
gnphical user interface (GUI) The use of 1tuph1ol ob1«LS and
l("<.:hn1quc!.- allu"'"K Uo,c'r\ 10 ~cHl1n1un1tt.JtC' wuh J ~)'tcrt1. \ v..clldesq;ned
GUI can help u<e" lram • new system r.1r1dly and work with
me sysrtm ·ff~tild).
gray hole A proceu Mth Jn mru1 ob'1ou'I) 11bulf1ctent to gencraoe
1hc <hown ourpur.
iroupware Program; th.11 run on ll network thJI enable""'" to .hare
darn. collaborate on pro1«.1', and work 11 t<.1111>. Al>o <.tllec.l worl·
group <ofowJrc.
hardenlni: Making a ;y,tcm more \Ccurc by removing unn<'Ccss:try
accounts, s.erv1ce:i.. and fe~l1u rc".
hardware The ph) <1c.1l bycr of 1hr 1nfom1Jnon >y"cm, to mdudt
computers, network<. co111mu11tca1ioM equipment. nnd other rcchnol·
ogy-baseJ infrasrruuur<.
hash totals Nm 111can111gful number> 1bem>clvc; bu1 are u>cful for
companson purpo<c<. Also known a< hatch conrrol totals.
Hawthorne Effect A phenomenon whl•rc cmplO)l'<'> who know they
are being ub)lerve<l .irt 1nort produ,ta\.c,
help desk A ce111rall7ed ttmu,.-e ,.,ffed hi Ir profe~1ona l s that rro·
vides user>" 1th 1he suppon the) need to do their 1ob>. A help desk has
thrtt ina1n oh1f\.11\e-.: to 'how ~orl~ how Ct) u~r ')'tc1n rt."M>Ur~e~
mott dfrai,ely, tn pro'1dr >n\\\er< 10 te<hn1c.1I or opera1tonal qucsuo~
and w make U>er> more produ,u'c b) tea,hmi: lhrm ho" 10
mttr 1hc1t own 1nfnrmat1on need-. Al..o ulled .cn ice de,J,, nr infomu·
uon center~
hierlll'Chklll networlc A ncrn ork de.1gn "'here one computer t) pt·
calli a mainframe) <onrrol' the enurr n<IM>rl. \atclluc <ompu1ers or
servers control lo" er Ind< of pro..e;smg and nriwork de'1ces.
histogram A common mot for sho" mg thr d1stnbo11on of question·
D3trc Of >Jmphnjl rc:,uJI,. h tJJ..c, tht form o( ~ \CMlcaJ b.tr<han.
horizontal application A snff\v•re p.id,.;1gc that c•n he used by m.an)'
differenr orpes of orgami.aoon,.
horizontal system A b3'ic >);l<m. •U<h "'on lO\CntOf) or PJ>roU
p3cii.ag.e, 1hat ., -.:<>mn1r•nl¥ u'\.ed h> a ,.1ru:1y <>f l.C>nlpan1c-..
hot site A separate rr locauon, whl<:h might l>c tll another SIJIC or
t:\cn 3nother i..:ounrf), that \:JO .'J,Upport t.:riu~.1 1 bu>nlc>.; ~)~term in th~
C\COt o( ~ pnwer outage, ~y,tcm cra,h, or ph)'\K.al t.lta\ttt>phe.
HTTP/2 The second ma1or vcrnon ol 1hc network protocol used b)
the web. Rel.,,t<t'<l •> n >1andard 111 20 IS.
hub The ce111cr uf a >tar 11<1wurk. ~w11~h•> in 111odtrn network> ha'e
largely replaced huh>.
human-computer interaction (HCI) A dc<cription of the relarionsh1p
berw«n computer. and the people who u>• them to perform
bu,111ess·rclatcd ta<k<. 1 ICI concept< apply I<) c,·crythmg from a PC
desktop 10 1hc ma in menu for a globJl ncm·ork.
identity manai:ement Conrrol; •nc.l prox:cJurc> nece.snry 10 idenciJ)
leguinlatc u\Cri. and ~y~tr1n 1o;;<n11ponenc,,
identity theft The <teahng of pcr<nn•ll) tdenufymg 111for111acion
c>nhne.
IEEE 802. 111 A >«um) ''anJ.ucJ for Wi· F1 w1rrl<>> ne1works that
uses 1he WPA2 protocol, rnrrcntl> 1hc m<»t <ccurc cncriptton method
for Wi-F1 n<rworh.
incremental backup ~ .. mg a cop) ol only thc filo th.1 ha'e changed
sm« the la51 full backup.
c.,,......_ .. <.....,1..,.. "'~~-- ~-•"'fl"ll ~ • ..,._. • ......, •• ,... 0-.. -.-............. ....,,, ....... _,..,....,......._.,..,,.....,.~u,
lM«lllln'_ ............................................ .._.. • .,.._ .. c.s. ....... ~-..... --.......... ,- .. .,,, ................. """"._ ..... ...
460
Glossary
inference n.oles lnsrru•'tmns rha1 direct a knowledge manJgl'menr
»••=to 1Jcnufy dJ1.1 pancm> JnJ rcla11on;h1p>.
Informal nructure An ori;;anotJllQn b•sc:J on 1111trper>0nal relarioosh1ps.
which can dcvrlop from rrcnnu• work a«ognment<. physical
proxonut). unofficoal procedures, or pcNlf!al rela1ionships.
information D.ca thJI lu; bttn <hanged 11110 • u.eful ionn of ootpui.
information 1yst0tm A rnmb111Juon ol 111fonnJ11on 1echnologi. proplc,
and dar• 10 surpon business rtquircmmi.. The five key
componenr> are harJ" .ire. wft"arc, J313, pr<><,.,,;e,, Jnd (><.~pie.
information technol<>sr (IT) A rnmhln• iion of hJrdwarc. "°ft ware.
and crlecommw11ca11ons >V'ICm> 1ha1 <uppon bu me<• opcrJl><>ru,
improve producu\lly, Jnd help m3n;agcr. nuke deci;ion~.
infrastructure mode A w11ele\~ ntcw<>rL. C.:<lnfiJturatton in '''hu.:h a
ccniral w1relcs< dr\ oce c•llcd an acce<s point os used to serve all wire·
less client>; also called BSS.
inhentance A l)pc: of ob1c.1 rda1ion>h1p. l11hcrorance enable. an
oh1cc1 to dmvc one or mote nf ot• aror1bU1l" from another obj<et (e.g .•
an INSTRUCl'O R oh1cct may inhcri1 man) rraors from rhe
E.\IPLOYrE ob1cc1, su<h .1> hore date).
in .. house software An 1n(orn1auon c.:cnn.·r or help dr..;k "'irh1n rhc rr
department responsible for providing u<er •upporr and offering ser·
v1ct:.) ~uch ai, horhnc o~'l'tJll\:C', tr.uninM, Jnll gu1dnnt;( ro u..c'rs \vho
need tccl1111c,1 I hr lp.
Input control The nccc»ary mca;ure> 10 cn>urc thnt inpur darn is
corte...:t. co111plcte, and ~t·•.:u 1 c. A ,y,rer1'' 01'u1ly\t n1u\t focu\ on input
control during ev<r) phase of mpur cl c~ 1 g11, ~1Jrnng with <011rcc documents
char promore da1a .icc ur~cy nnd qualtry.
input ma.sk Ternplart or pJ.tti.·rn 1h ~lr ninl.ei; it ea-.1er for use~ co enter
da1a. Ofren used 111 Ju1om.11cd form' 10 guide .tn unfJmihar us.er.
instance A specific member of a ci.,,,
Institute of Electrical and Electronics Enalneers (IEEE) A profes
>10tUI otg3Jlll~tton char <St> bit.hrs .iandards for tde<ommunkauons.
intanzible benefits Po.itJ>·c ourcom<" 1har arc d1ffoc11h ro mca•urc m
dollars. Howc,·er. mra1wble bc:ndirs can be •ery important in the calcul.ltton
of c.onom1< f.a,,b1l11y. An nample of an m1an111blc bc:ncfir
might be .i new web•n< thar 1mprovrs 3 comp.lny's image.
lntanclble cosu Imm thar arc d1ffKul1 to mea>urc m dollar rcnm.
>uch >i miplo) ec dM:amfawon.
integrated denlopment environment (IOE) A sune of mtcgrated
tools to nu.kt n c.u1cr ro plan. conmuu, Jnd mamum a >pcci£1c soft.
"are produ<t. An IDl " de.1gnt.J w allow 1 he e•>l' uuq;rauon of
S)"tem componcnr• wnh '"'' tJm< btmg 'pent on dcHlop1ng code for
inrcracu'c modull.,,.
intecrated development envlronmenu (IOE) An opplicanon for
bu1ld111g other whwarc applttauom. l >r•cally 111cludcs • '1sual code
ed1tor:. an tntegraced comp1lcr. ~ dcbuAAcr, a configurar1on ma11agement
'Y~te1n, and a h~\I (rJmC'\YtJtk.
integration testlne 1he1c>iin11 of'" o or mort progra m< tha1 dcpcnd
on each 01her.
integrity One of 1he three main demenr> of S) stem >ecurirr: confidentiality.
mtcg.-it)', and ava1l.i bil1 ry ((;IA). lnrcp,rary prevent< unau1horized
users from crcatin&, modifying, or deleting informarion.
lntematlonal Oraanlutlon for Standardization (ISO) A network
of nnt1011al ~ 1 a 11<l :1 r<l') in\;t1t11te\ (ro n1 over a huniJred C(llHllrlt!) \Yt>rking
1n pnrtncrsh1p \V1rh 1ntcrna11on;1I urgnn 1 z01t 1 o n t.~ govern1nents, indus·
tries. and bu..,11101s ._1 n1.I t..:Ol11'Un1er rrpr~:.cnrnri' f"), Tite ISO ncr!t as a
bridge between public Jnd privarc ~ccrors.
lntemet business services (I BSs) ~r\IC~> rhat provide powerful
\\cb-"'1.ed ;uppon for tunsac11ons •uch n< order prl)(Li»ing, biUing,
and 1,;.u\to1ncr rcl.u10111th1p 1n:in.1gen1..:111.
The lntemet-of·Thlnas (IOT) Oc\ICt<> connected to one annrher o•er
a computer U<.'l\\'Otk.
lntemet oper.atina system PJrt of rhe \Veb 2.0 modd, an onlrnc
computing c-nv1ronmcnt crratcJ h)• onhnc commun1ncs and ~n·icc~:\1
b:i4ie.d on la ye.rs t>f )hared inform;auon th~t ~Jn conr31n rexr~ \{)UnJ
byres. tmagcs, and ''dco dips.
inurview A planned mecroni: during" hKh rnforma11on is ol>t3mtd
from anochu person.
ISO 9000.3:2014 A >et of gwdd1no t-.rablr>hcd •nd updat<.J by the ISO
to proude a QA fr;uncwork for dc'dnpmg and m.11111a1n111g soft" are.
iteration cycle An agile de-·elopmcnr qdc chat mdud~ planning.
des.going. codang, and tbong ooc or more fcarurc. "3,,..J on user >lone!..
Iteration plannlna meetln& In agile de• elopmcnr, a mtttmg hrld at
the beginning of ealh tterauon C)ll~ co ~r<"Ak Jo\\ n U\.Ct stories into
<p<'Ctfic ta'k' that arc ""gncd 10 tC•m mcml>cr<
Iteration The complc11on of a process \lep 1ha1 " repeated un11I •
specific condition changes.
iterative An ad.Jpuve uml1od typk.tlly u-c• a ;p1r.1I Jc,dopmem
model, which build• on a '<rics of 11cra11011<.
java database connectivity OOBC) A <iandnrd 1ha1 enohlc< j'1va
apphcauons to exchange dar.1 wnh any databas• that uses .'>QI. sraremeni;
and" ODBC-complmnt.
joint application development OAO) A 'Y>l<m' dcvrln1>111cnt 1.chniq
uc tlm use~ J ra<k fo"e of"'•"· 111a11.1ger<, and Ir profewnn•I~
who work rogethcr to gather information, disc11;s bu.inc;; need>. and
define the new S)'>lcm requ1rcmc1us.
just·in·time OIT) The exch:m11c or delivery of mformancm when 011d
where 1c 1< needed. for exampl<.1u<r·m·timc mvenrory system• rely on
computtr-to<ompute.r d.tt:i cx~hJngc 10 1n1nlm1lC unncc<."»nry 1nvC'ntor).
Kbps (kilobits p<1r second) A b.intlwodrh or throus;hpu1 n1easureme111.
key fields U..,d cfurin)I th< syMCm< design ph3SC 10 or11on1ZC, ,JC<CS>,
and maintain data structures. r hc four rypcs of key fields arc primary
ke>'<· candidate keys, forccgn keis. and s."<:ondJry key>.
keystroke lou"r ,\ d.-1cc rhJt can be inserted bct\<ecn a ke>l>oord
aod a computer ro rttorJ keysrrokc;.
knee ofthe curve A pcrfunnan~.., chauuemlr< of a d1cnr/<eo er
compuung cnvtroruncnr. Chenr/.c.-·cr re>pnnl<' llm<" rend to m.:rcasc
gradualli and then nsc dranuttally a> the >)>tern near> 1rs capaCtt).
The pomt "here re>ponsc um<" lll<:tU>< drama11ullv.
knowledge ~ A rorular \) '1'111' dc.elopmrnt lnhnrque that U'>CS
a group of users, man•Jler<, and ff profe<\lonal~ who work rog•chcr to
gathtr information. di><uss business need>, and define 1he nc" .,·seem
rcqu1ttmmts.
leading questions Qll<'ncs 1ha1 'UAA<"'I or fa\C1r • panrculJr reply.
tepcy d;ota The 11.ita a<..oc1atcd "1th An oldcr, le<s rcchnnlogocally
ad' a need leg;rc)' S) stem.
lepcy system An older system tha1 " typ1alli less te~hnologically
a d va n ~ed 1h3n ~"Urrtn t ly ava 1:.thle \Y\.te1n• ...
leveling The proc'""' of drawing o 'croe' of m<rcJ<ingly dccn1lc<I diagram_<
ro reach the desired level of dcrntl.
libr ary module In a structure cho n. a hbrnry module t< J module rhat
is r e u~ab le and Cln bt- invoked front nlorc lh:.tn one pc.uni in thi: ,hart.
life.line In a sequence diagram, a lifdtnc 1s u;txl tu « 1>rc'<nl rhc 111nr
during which 1hc objccr •bn\'C it 1s •hie 10 internee wnh rhe other
obj ccrs in rhc u•e <n>c. An X n1.trks rhc end ol a lifchn~.
limit check Occurs. \Yhta n \•alidntion \'.hl-ck invol\'f.") :a m1nin1u1n or .l
n1a ximun1 value, but not hoth. Checking ch.u ~1 pay1ncnt n nl<)Ulll i\'.
gre ater than 7cro. hut nor <10p«ify1ng .i m:.tx1n1um value. is an cxnn1plc
of a limit cbcck.
list box An ourpuc me<hamsm that displays a list of <ho1ce. rhat the
user can ~ele~ t.
local area network (LAN) A ncrwor~ ""'II" rhar allow< 1hc •hanng
of data and hardware, ~uch as prrnrcr> and 1<.anncr.. Ad•3nccs m data
communicauon ttdtnology bJ\C made ir r<»"blc 10 ..-rc•I< pow<rlul
nerworks rhar we 5.l!dhrc lmk•, h1gh·spccd f1bcr-Oplt< Im<", or the
Internee to share dar.t.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- t fta111&....-.~~ ij
r..a...w...,..._...., ....,...,...... .,..~.................,.t11ru..__.~~ c.....,..~ .........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,....
Glossary
461
log Record l)pi<•ll) k .. pr hy opcr.umg >y>t<ms and applianons th..,r
docum<nrs .ill t\·tnr<, including dares, nmes, and other Sp<C16c mformnuon.
L~~ '-Jn be 1mponJtU 1n unJt:r,r:and1np, p;)j,t ~rracb and
ptt\·ent1ng furu~ 1ntru\100'-.
lock enw M&.1.kc- m tht unJ..'rl) mg k>glC tholr prodUtt mcomlCt results.
loaial desJan Tht defm111on of an mlomunon '>"em'> hmcnons and
fc..atu~,, and the rcl.Juun~h11"~ tlmnnA 1t~ componrnr~.
loaic&I model ~how• what • ·~°'rem muq do, reg;irdle<s of how ir ";II
be rmplemenr<J ph) >1.:alh
logica.I rteord A l<>g1<JI rn:ord ronmns f1dd ulut"S that dt"scnbt a
smgle pt'l'Wn. plaet. 1h1ng. or C\Cnr • ..\pphcation programs see a logic<'!
re.cord 3\ •I.Cl of f1dd;, rqi;irdl.,..,; of how or \\here tht data" >tored
phy,icall).
locic"I norqe Refer; ro mformanon •• seen through a user's eyes.
rts-trdl<» of how or whtrt 1ha1 mforma11on 1> organu.<d or •tored.
loaica.I structure Ser romrol siruciure.
logic.al topolou A \'l<W of a nrrwork rhar d=nbes the way the componen~
1ntero1C1, rather 1h;.an che .1crual nef\\'Otlc ohhnA :ind connections.
loop In a 'tru,tu« lh.1r1, a loor 1nd1c•re' 1hat one or more niodules
arc repeated.
loopin& Refer> to a t>rou:s' >lCp thnt ;, repcaicd umil • >pedllc rnndition
change<. l·or cx:1mplr, a procoss rhat connnucs m prim paychecks until it
reaches the end of the p;t) roll file is looping. Also known as repetition.
loosely coupled J\lodul-. 1hJ1 arc rel.111vdy mdepcn<lent. Loosdy
coupled module< .ire ea~orr m m,unl3m and modify, hecausc che logic
m one module Joe> not affe.i other module>.
M:N A type of enrny rda11on>hip. A many·to· ma.ny reLrnonship,
aht>rcv1atrd M:N, c\l~ t~ when one m•r•ncc of the firsr enmy can
be related 10 many 111stan<r> of th< >ttond cnm). and one UlStance
of the se<ond enlll) can he related to many onstnnces of the firsr
eornv.
ma.chine 1...,.,,in1 An a.ppli,•11on of rnmpur<r "'~and anilicial
mtrll1grnce th.ir u .... JUIOm.ltcd apf>roncht\ ro panem recognmon and
pred1<.m·e anal) ti<:> b.ikd on lari:c doraseb.
malnfnme architecture A \Y>l<m de\lllfl "hcrc the '<T\ er performs
a.U rhc prt><<'"ng.
ma.inte,,.,,,ce activltle• Chang1ng pn~uim. procedures, or Jocu.
mcn1atKm ttl cn\urc corra.:t \)\tern ptrfonnafkc. Adapung the syscem
to changing requ1,..,menc,, and making the S)"Sron operate more effi·
ticorly. Th~ nttO> ar< m<1 h1 rnrrn:tl\c, adapt1>e, perfccmc, and
prc,·enu\e ma1ntcnarx:t.
ma.inten:ance a&reement A >J><-cificinon of the conduions, charges.,
and tame tr.1nlt' for U\tr' to 4.:0nl:tt.t 1he \'itndur for 3'\~tst.anct ''hen
they h.,·e S) strm problems or qucsnons.
malnten:ance upens.s Cos!\ th.it vary <ignificandy during the system's
opc:ranon31 life ond orn:ludc •pending m '"Pl"'" mamt<nance acrivu:ies.
ma.lntenance l"<llease A formal rclea~ of a nm> <y.rem \'crs1on that
lont.i1n~ a nun1bc1 o( c,;h3nge's.
maintenance l"<lleue methodology A •)>ttrn of numbered rclea$C!S
used by orgoniiauon> (c\pcc1ally \Oftware vendors) that helps Or(l3.rli£C
1nainrc11ancr chan~~s and up<.l:ttc).
maJntenance team ()nc or 1norc lirl)·1ottcm' analy'r" and pr<,gran1mcrs
working on f>roduct 1nn1nrcnance issues together.
make or buy The choice bcrween de>eloping in-house software anti purdia,mg
,oftw,1rc Clftcn "Lnlled n make or buy, nr bwld or buy, decision.
malware Mali,iou< <oftw.irc that nught 1eopardi2e the system's securiL)
or priv3<).
managed hostlna An opcrA11on "managed hy th• our<ide firm, or
hem. Another term for lllS\.
management information •yo<em ( MIS) A computer-b.tS<d tnform.1t1on
\)'tcm u-,cd 1n hu'i1nC'\\ p l.1nn1n1t • ..:onrrQI, dfi-i-,1on making, and
problem >oh mg.
ma.ny-to-many relationship !.u M:1'.
market b;asket •~lysi1 A t)pc: of anal~,,. rh.11 can d<t«t panems
and trtnds in large amounts of data.
m~ per second (Mbps) A b.1nd\\ idrh or throughput measumnem.
menu bar A scr of uscMelntJble -.oft war< appli,Jt1on opnons. \ISuall)
locared a<ro-s 1be lOf' of thr '<teen.
mesh networic A ncrworl Jl'>lgll m "hi<h <a<h node connccrs ro
e\tt) other node. Whal< th" do111n" •crt reliable, II is al..o expc:n'"e
ro install and mo11nta.1n.
message An 0 -0 .:ommand thar tell, an ob1e..1 ro pt'rfonn a cenJio
method.
method Defines •pn:1fic t.td.~ rh.r an ob1m mu'' pe1'form. D«;cnbt•
what and bow •n ob1l..:I Joe, ><>mc1hmi;.
methods In a du\ dui:ram. nmhnd• r<f>tt>ent program logic
metriu Workload 1nc"urcmcnh, al•o called mrtroc•, include the
number of Imes printed, the number of rc..:ord> acccosed, and the number
of tttll\!iH.1C1101l~ prOlC'SSCJ Ill J JC,l\i~O U01(' JXrtOd.
middlcwarc '>oftwarc that connc:crs dm1m1lar apphcanon• and
enables them ro cornmu111cotc and .-change darn. For e~amplc,
middleware 'a11 l111k a departmcnt.11 dntah."c to a Wrh <crvcr that can
be accessed by client computer> vin rhc Internet or a company imrancr.
See ,1/so Mlueware.
milestone A reference po1n1 1ha1 ma l'k• a ma1nr occurrence. Ustd to
moniror progress and mana11c a pro1c,r. See also event.
mission statement A dtx:ur11en1 or )f,lt ~n1 en t that dt"S(;tibcs rhe company
for 1rs stakeholder< and briefly "ate< the wmpnny's overall
purpo.M:, pro<lucb. i.crvu •.:t:~. an<l \i31UC\.
mission .. criticaJ syste.m An 1n(or1nJrton sy-.cem th;i1 '' v1r;1I 10 3 com·
f>:my·, op<:rnnon•.
mitiption One of four ml. control >tra1eii1es. M111~.icion reduces <he
m1p•ct of• ri;k by <.Ueful plJnn11111 ,tnd prcp.uauon. Fur cxampk, a
•Omp•ny can prcp.ue a dba;tcr n-.:u•c<) pl•n lO m111gart the elfoct> of
.i n;uural <ll>a.tcr •hould one 0<.:ur.
mnemonic code C 11>her; u"ng ,, \pt<;1fa comhma11on ol letter\ thar
art easy to remember. Many rhrtt-<oh•racter •irpon codes are mnemoruc
,oc1.,,.. f or cx•mplr, LAX rcpn:..ent' Lt" Ani;d~.
mobile device Smartphoon. t.iblm. and other compunng <kv1cc.
that are not perm.u>cml) tethered to a de.k. The) connect ro the Oft·
work wa~lh,1)-
mock-up When des1gnmg .t repnn. • \•mple rtport 1s prtpared, which
i; a m0<k-up, or protot)'J'<', for u<.<n 10 re-.ew. The umpk should
mcludc typical f1dd \·alur> and rnnraon enough record• ro •how all th<
design fcatutts.
model-based synems encinMrlna ( MBSE) An approach IQ ;prem.
cngmeenng thJ1 rtllt' on domam model•, rather than rrad111onal docu
mems, ro de>i!lll large-;,wile 'YM•m> and con'e) 111formanon between
rng1nccrs.
modelinc A proce« th.11 f>r<>duc ... a grnphocal reprt\tnranon of J concept
or proce;s tha1 \)MCnb developer> can analyte, re>I, and modify.
modular design A dcS1gn tlMl <an he l>rnken down 1nro loi:ocal
blocks. Also known as 1>aruuonin{: c)r 1op-down dc"g11.
module A module rnns1m of rclnccd 1m>i:rnm code organized into
sn1all unll '!t that 11rC' "·''Y 10 undcr,1.1nd nnd 1n:11nta1n. A con1plc;"X program
could have hundreds or e\'Cn rhousands of modules.
Moore's law A predktion that compu11n11 powtr would double every
18 to l4 month, due to 1ncrtn\CJ n11111aturiLation of electron" components.
multlpAth desian A nctworL. Jc>i,:n 1l1J1 reh•-. on mulriflle data parh;
co increase bandwidth and range, u<ing f',·llMO technology.
multiple input/multiple ourput {MIMO) A wirclc~s networking tech·
noloi;> incorporated in rhc 1Lt£ 802.1 1 n and 802.11.ic >fandard> that
uses muluple data s<reJms and mul11ple antenna\ to achieve higher
uan.!truJ~!llon ~pt.'Ct.b anJ ,ub-,c;inuJlly 1n..:rta'IC w1rcle):> r..tnRC O't·ttr e:u·
lier standards.
......... ""_.. ...
.-.. ............... _
("..,_..., llll!O( .....,..___ .\JI..,...~ \b) -
WAlif'W ~-........ •_...••fl" 0-•*._ ......_ ...,..,..,..._, ~ ..,._.,,..,_._, te...-.._""""""._
..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
462
Glossary
multivalued key ~mcromct ot " nrcc>...-.r)" for ·' primary key to consist
of a combmauon or r1dds. In that ca\c, the rrmiary k•> IS called a
combmanon key. compo>UC k•y. conca1ena1ed kcv. or muluvalued key.
natural lanruare A wfrwarc lca111re rhar allows u~ ro 1ype command'
or rcquC>I> 10 normal t:ngl1>h (or other l1nguJgel phra\es_
net-centric computin& A d1>rnbu1eJ cm ironmrm "here applications
and data arc downloaded from srrvcn and c><changrd w1rh rccr<
across a network on an a> needed "'1>1>.
net pN1sent value (NPV) The total 'aluc of the benefits mmus tbc
101al •aluc of the'""'· woth both the""" and bcnd1r. be1111t adjusted
10 reflect th• point m llln• al whoch the) 0<eur.
network T"o or mored°' !Cl's th.i arc connc..1ed for rl>c purpo<e of
srnding. re«ovmi:. and sharing daca.
networtc dJa&ram A PERT chart also is refer~ ro as a network diagram.
network Interlace A wmbmallon or hardware nnJ software that
allo\\'~ tht> t..01nputer tu 111tcrJ1;.1\\11th1he ntt\\.OrL..
network Intrusion detection system (NIDS) Softwan: 1ha1 monuors
network trJffic 10 detccr 011cmp1cd 1ntruw111s or ,uspicoous ncrwork
traffic 1)attcrns and •end> alem tO ncrwork ad1111n1strators. C.111 be
helpful in dcx:umentin11 the tf(om of art3ckcrs nnd analyzing oerwork
perforn1..incc.
network topology l hc way• 11 c1 wor~ "configured. LAN ond WAN
networks tyricnlly a re arranged 111 one of four common parrern<: hierarchicnl,
bu~, b~t, and ring.
node A phy~JlJ_I dcvu:c, "ired or \vi rel-..~, rhat CJn send. recei\•e. or
man.Ji;< ncrwork UJIJ.
nondi.sc retion~ry project:I \X'ht•rt- 1nJ.n~~rmcrn has no chose~ in
1mplemen11ng J pro1cc1. rhey arr called 11ond1-.;rc11onary. For example.
adding a reporr required hy a new federal law.
non.functional requirements A ~iai.-mem of operJnonal syn<m
COCbtratOl>..
nonkey field Any field 1ha1 1~ not a primMy ~" or a candidate key is
called a nonke) field.
normaliution A proct<>s by "h.-h Jnali;ts 1dtnt1f1 and correct inherent
problems and ~omple'1UCS tn 11>cir record des•Wb·
NoSQL d~tab;ases Oatabase ~1.irm• 1ha1 ~a llar, nonrabular (nonrrbnon•I)
•tructurc ro \!or< and procc-. laf!IC·'<'•k data""".
n-tier desirn A mulul.,,cl dc~ogn Of ar.hnecture_ for <•ample, three·
ncr design• also arc called 11·t1cr dc<1gn<. ro md1ca1e that some design<
use more than one unermedtalt la) er.
object In ob1rtt-Ort<nt•'tl a.nal)>t~ or prow•numni:. an obll"-t represen1s
a rral pcr~f•n, plac:t, t\·tnt~ or cran-.ac.;ut~n.
object model Dc;<;rtbc' ob1c..1s. whi<h rnmbme datJ and prcxesses.
Ob1ccr models arc the end produll of 0 0 analysis.
object-oriented (O·O) •nalysls The .1ct nl undersrnndong an mfor·
mntion system by 1dent1fi "'II t hin it~ called objects. An object represents
a real prr!i>un, pla.t:e, evt>nt, or tran~~u.:1u>n. Ohjec;.1 .. orien1ed :1nal)'St\ i.s a
1>opular .1ppn1.1ch th.u ...,.. J >)'>t<m from chc v1<wpo111r of the nhrccts
themselves•> chey function nnd inrcr.1c1 with the <ysrem.
object-oriented development (000) The process of tr.111sb11ng an
objel"t model dire..lly imo an O·O prowam111i1111 lnngunge.
observation A f.1~1·fin<lmg 1c.h111l1uc wh<rc nu 'maly>I see. n system in
3'.'fton. Ob~n·a ti on allo\Y\ 1l1r v\·ri(K..1t1on of 'itJcen't'nts rnade ul lntetv~V').
offshore outsourcing The prnuice of <h1hn111 IT dcvclnpmeni, '<•P·
tlOrt. and operation< ro orher counme<.
offshorln& Sl>e offshore ouisourcing.
offsldnC The pr3Cl1Ce or '10rtog batkUp flll'<iia 3\U)' from tbe mam
busoncss loanon. rn order 10 ntitti;>tc the nsk. of a catastrophic di>astcr
such a~ a A<><xi, fitt', t>r t"arthqu.1k~ .
one-to-many relation•hip \t•r 1 :M.
one-to-one relation•hip \u I: 1
online da.ta entry A Jat• entry mcothod u...:d for mrnt busmcss a<m·
ory. The onlme mcrhod offers ma1or advanragN, including the
immcdme validation and ""ul2b1l1f) or wt•.
online documenQtion Pru"t<lt!i. 11nrnt't.11;i1r heir when U\Cf) h3\ e
qt1e'5t1ons or encounter pmllkn1\.
onllne •yst~m Handhng rransamons "hen and where rhq• occur and
prov1d1ng output dtr~tly to user>. &x-;iu~ n 1; 1nccr3\.lt\e, onl1ne pro·
ccssong amid< delay> and .allo>\< .a con\lant J1alojt hcrween tl>c u<er
and the sptcm.
open database connectivity (ODBC) An ondustt) ·\l,rnd.ud rrorocol
that make> u J'O'>iblc for >0frwarc from d1fkrcn1 •end-Ors to interact
and exchange data.
open source Software that" supponcd hy a large 1troup of u<ers and
de•elopers. The sour« rode os made freely •"aol.ahlc.
Open Systems lnt .. rconnection (OSI) model L>c<nobc> how data
acrually moves from an apphcauon on one .;omputer 10 an applicJtinn
on another networked <0111putcr. The OSI rnn•1>1~ of"'"" la) er;,, and
each l.1yct performs a spec1{k fun<11on.
open·ended que•tions Quero°' that nllow for a range of an..,.•crs.
The)' encourage sponrancou> and un,trtKtured rc>pon'<!> .md orf u~
ful in underst.1ntLing a l.irger pr~cti.s.
operational costs bxpcn>cs tltJc arc onrnrrcd a fter a sysrcm ts implemented
nnd conrmuc whole the •»·Stem 1~ on u<e. fxamplc< include
syscem n1ainrenance, supplic). equip1nc 11t rent.ii, nnd annual sofrwar~
I icense foes.
operationaJ environment 1·hc cnvironn1cnt (or the ~ctual *'Y"t<"1n
operacion. It includes hardware ond software configurorio n ~. sysrcm
utilitic), and conln•unicJuon"I rt-.)Ollr\o.c). J\130 c.:.tllc:d tht proJuc.:uon
environment.
operational fe;aslbllity A sysrcm tha< that "111 he u;cd cffccnvel1· after
ir Dl> been devdo(l(d.
operational security Cun<erncd wnh m•cu11rroal p<1l1<1c-. and controls
that ensure secure opcr.mon\. Al'o called pro..cdural >ecunl).
operations documentation Conca1ns all 1he mformauon nttded for
processmg :wd dmrtbunng onhnr •nd printed ou1pu1.
option button R•d10 button> that rcprc\l'.nt lt'°"fl' of upllon\ The
user can <clccr onl)· one or11on at • nme; a ...,le<:ttd npunn contJin' a
black dot. Su .,/so radio button.
orphan Ao unassoc1ar<d or unrd•tcd r«:orJ or held. An orphan <ould
be ~ared 1f •customer order was entered on an order table whcrr that
cusromer drd nor already e\'.ist on the cusromer table. Referential mregnry
would prevent tbc creatton or th~ orphan.
out:put control Met.hoc!> 10 mam1•1n uutpm mt<gntl and S«Unt}
for example, e\'cry rcporr <hould include an appropriate uric, report
nwnber or code. priming dat<. and umc pcnod <O•cred. Reports
should have p•gc> rhat arc numbered con,<cu11vrl), 1dcnnficd .l< Page
xx of xx. and the end of rhe report should be lat>clcd clearly.
out put security Ou1pu1 securiry protect'! po l\lC)' ni:hrs and <hields
the orga11ll.'111011's pruproo<ary Jara from theft or una11rhun1.cd ac~c".
out sourcing 111e tra n ~ fc r o( infnrn1a1ion ')'(iltnl' de,rlorn1en1, OJ"Cr~t·
t101l, or mainrcn~ncc co an ou1s1dc (1rm th3t provide' t h c~c ~r,·1cc~, for
n fee~ on a 1e1npor:iry or long-tetl'U b.1ii.1~.
page footer Appc.m '11 the bo110111 of the page and i> used tc> Jispla)'
rhc name of rhc report and the p.1gc numhcr.
page header Appears at the mp of rhc p<1ge and ondude< the column
beadini:• tbat 1de 1t1fy 1he dat.o.
pair programming A pr.1.n<r in XP 111 who•h two proi;r.1111mc" Mtrk
on the same rask on the <amc co111p111cr: one drive~ {program~ > wlule
tbc other nangates (war~he>).
parallel operation The pJtallel opcr•llon chJngeover method
requires tbar botb the old and the new tnforrnanon <ynem• opcr.ttc
fully for a s~16cd period. Data IS mpu1 mro horh ~i-ncm~. ~nd output
generated by the new >y .. rm "wmp•red wuh the cqu1v.llcm output
from the old S) stem.
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,....
Glossary
463
pattnt In 1nhcm•ncc, • parent " the obJ"-' from which the other
ob1cct, the child, dcme, one or more annbures.
pattnt diavam in., higher or more cop-le,·el di•gram io an exploded
DH>.
P;areto chart \ •-rn1<:•I bar guph named for a nonncrnrh cenrury
econonu\f. The b;ir., w ht<h rep~r •arious causes of a problem. :ire
.urangcd in dcsundon11 order. '° 1hc learn c•n focus on the most
1mponan1 .:ause-.
p:artitionin1 The breaking down of o•<rall objeaiYes inco subs}.,;rems
and mc1<lule..
patch Rcpl•ccmcn1 code that 1s arphcd 10 h'< bugs or secunty holes m
soft.,""'·
payback analysis A de1crmma11on of ho" loni:: i1 rakes an infomu-
11on 'Y'lem 10 l'•l' for mdf 1hrough reduced co.rs and mcT<ased
benefit>.
perfective maintenance U.•n11c' w • 'Y"•m ro improve cffici~.
pennisslons Us<Mf't'C1f1c l'riv1lq;cs 1ha1 dercrmme 1he l}'p<' of access
a user has io o darn ha~. file, or d1rccrnr)'. Also called user rights.
penonal digital anlstant A proi::rnm char responds rouser requests
lhrtlU8h .1 n.1rur.1 l 1n1crfJ\.t" 1
'U<.'h ;t\ rrgular \j)CC4"h, to pro' 1de ~1 ss1stJllCC
10 i;cncml-purpo><! qucr1e,, Often embedded en dl-viccs such as
lnrern~t<o11n~1..tcd ~rc.1kcr) and <tni.1r1phrlne\.
penonal information manaacr (PIH) A tool 1ha1 helps manage
task< and .chcdu le~. Many handhelJ dcnccs "Jso include this function.
penon-day rhc Jmount of work 1ha1 <me P""on can complete in one
day.
PERT/CPH ·1 he Progr,1m E\.1 l11a11on Rene" Techmque (PERT) wa5
developed b~ lhC U.~. N.wy IO manage V<r) <omple>. proJt'Ct>. Such
as chc con\lru<llon ol nudcar <uhnurcn.-. At approx1maiel) the
•amc time, the Cntrcal Parh :llethoo (CP.\I) was developed b) pri
\.alr 111Ju,lr} to tnt'et 'll1tn1t•r projci..l nun:isem~nf ne~J ... The
1mporrant di.ronc11on< bcrwecn the rwo methods ha\'c d1<app<'Jroo
o•cr nmc. and coda) the 1cchmquc L> called ctthcr PERT. CPM. or
PERTICPM.
ph;ued operation The rh.1scd nperanon method allows a ll<'W S)'Sl'<rn
ro ~ unplcmemed on scagcs, or module>.
phyilal deslan A plan for 1hc .oc1ual 1mplcmcnuuon of chc sy..tcm.
physical model \ model tha1 ck'ICTI.,.._ how • •)'stem ,.,11 be consrructcd.
physical stora1e lnforma11on SIOrJj;C mt'<:h•nosm tbJt L> smal) bard
" arc rcla1cd, i....use 11 '"'·oh cs the rl'OC<'Ss of rcadmg and wntmg
bmary data 10 physical media, such JS a hard dm·e. Oash drive. or
DVD.
physical topology lllc conn<CTion srrucrure of an acrual ncrwork'<
cablnlJZ.
pilot operalion Inc pilot opcro11on choni;cover mec:boJ uwohes
1mplcmcn11ng the cnmrlccr new <y,1cm nt a sclccrcod locanon of the
company.
pilot site In J pilot opcr.1t1on, 1hc group rhot uses rhc new sysrem fuse
" called the r1lo1 "'<.
plain text Dara that cs nm cncrypccd.
platform A >pe<ific ha rdware and software configuration char supports
I r hu~1n<.·~~ goal, 'uch n~ hard\vare connttuvity and cd~Y
mccgranon of fucure apphcar1ons. Also called on cnVJronmem.
podcast A web-hnsed hroaJcnsr rhar allows n user to receive audio or
muhi 111cd1a files using music pla)<r >ofrwarc such as iTum:>. and listen
to them on a PC or download 1hem 10 n ponahlc MP3 pla)tr or snun
phone.
polnt-of·sale (POS) The f"'" of an mfornu11on sy\lcm lh•I hJndLes
d.ul) >a.le> rran .. 1worh and mamtam> 1hc onlmc in' cnrory file.
polymorphism The con.:ep1 1ha1 •message iti'es different meanini:s
to d1flcrcm oh1a:h (c.11 .•• (,0()1) !'\l(,I n mc~sagc 111igh1 produce
diflcrent r~ulti dcpendmg 1f 11 rs rtttl'td by a child or the fanuly dog).
pool The o•tr.a.ll J..agram on SP.\11\.
......... ""_.. ... .-.. ............... _
port A posauve integer 1hat '' u\Cd for rounns 1n1.:om1ng craff1c [O th~
correct applu;a11on on a <ompu1cr.
port scan An ancmp1 ro dctc-, the <oer.•c•' running nn a computcr by
lf)IDIJ to connect to •~nous poM> and ra.ordmp; the portion wbkb a
conn«:t1on \\'a\ accepted.
portal An entrance to • mul11funcnon wcb<.11<. After cntcnnit a ponal.
a mer t"an 1Uv1CJt~ to :a dc>tut3Uon. u.>1ng \3nou~ cool> and f~ture\.
proml.,J h)· th• pon~I dc.,gner.
post-lmplement:ation evaluation ,\n •'~smen1 of tht O•erall quality
of the tnfoflll.11100 ~)>ltm . The cvJluanon 1cnfies tha1 rhe new
sv~1cm mccts spcc1ht'd ttqu1rcmcn1s .... -omplt~ \\-Uh U\C:C oh1c:,t1,-o't and
achine< the .1011c1p.icd bcnefi ... In addmon, h> rro,1dmg fccdhJck m
the devclopmem team. !he C\ alUJllOll JISO help> improve rf developnu.·nt
practlcC"\ fc>r futurt' rto1rcr~.
poweM>n password .S.-r BIOS-levd pa.-w-ord.
predecessor couk A •mglc rnor ta<k upon which rwo or more concurrent
1as~ dcprnd.
preliminary investigation An 1r111onl Jnaly>1< 10 de.rly idc 111fy 1he
nature and scope of chc busi11cos npportu111ty or prohlem. Also cJllcd a
feasibility .rudy.
pretexting Oht.111111lg per'4.•nn l 1nforn1a11un uudcr fJli;e prcren~ei..
preventive malntenanc~ Ch.11lgc' 10 a l\)'~u~ 1 n to rrducc: 1he po~:i. ihiliry
of fururr failure.
primary key A ficl<l or rnmb111a11011 of field' rh.11 uniquely and minimally
idenrif1e, a part1t..:ul.,r 1nembtr of :in enciry. l•or cxan1ple, ln n
customer table chc customer numhcr '' .1 unique prim.1ry key because
no two cus1omcrs <'UR have the >ame cu,tomer number. Th3t key •lso is
minimal b«au.>e 1t conr;uns no 1nrorn1.\t1011 beyond whar 1s needed to
1denrtfy rhc cu~tomer.
priva.te key encryption A 1.'0mmon encrypuon ce.:hnologv call«!
PKE. Tbe pmJ!e L.q "one ul J p•or of kq•, anJ 1t Ja.l)ph data tlut
has been cncryrccd w11h the \CCond part of the rJir, the pultltc key.
private network A dedicated rnnne<:non, \lm1br 10 a lea..ed
rekpbone lmc.
privilege escalation attac:k An unau1honz.,J ancmr• 10 m.:n:asc
permission kvcJ..
probable-case estimate The mo>I Iii.ti) oui<omc is calltd a
probable,,a~ e~tun.alt
procedural secunty ( -oncel'llC'J wuh manag•n•I rol1.1C\ •nd conrrol<
rh•t cn<11rc secure oper•llon•. Also nlled orcranonal secunry.
process Procedure or 13;k 1hat u>cn. manage<'>. •nd IT "aff member,
puform. Also, the loi;JCa l ruin of a <~stem tlta1 are apphcd 10 rrans·
form da1a IOCO mcarungful tnforma11nn. In dat.l no-. diagrams, J
proc:e.s rece.-e> mpu1 dJrn and produce; ou1pu1 1hac ha; a J1ffercm
c..."Qntent, forrn, or hoth.
process 0 In• l)~I). proccs' 0 (1<rol represent< 1hc cnnre information
svstem bur does nof show the on1cnul workmi:s.
process description A Jo.:umcni.mon of a fun1.11onal primiti,,e·,
dcc•il<, which rcprc<cnl\ • <p<'Lif1c 'cl of prtx:c<>1ng <!tp< .ind bu<ine<s
loi;rc.
process improv4'ment T he fr,unework used ro imep;rarc software and
sy.ccms dcvclop111cn1 by• new M:I rnudd. CMMI.
product b;uellne l)e<v1hcs rhc •y;icm nr the hcg1 11111ng of opctalion.
The produc1 baseline incorporatl"> nny change; made since the allotdleU
baselme .ind u1dudc, the rc-.oll' of performan<:c onJ a.ceptance
ccsts for the operational 'Y'lem.
product lifecycle management (PLM) /le. application lifecycle
managcmeo1 (ALM).
production environment The tn\.1ronmcn1 tor 1he ac..ru..tl 'Y~rem
operauon. h include> hardware and <of1warc confogurauom, system
utihues, and commun1cdlions re>our<:-.. Al'o oiled the operational
cnv1ronmenr
productivity softwatt Apploc.11100' <u•h a< word rroccssmg, spreadsheet.
database management, >nd pr~scnmron ~raph1cs programs.
.. __ __.... ................... ~~·~---- ···---~~-.,.-"~ ........... --......
("..,_...,llll!O( ...... ..--. .\) ....... ~ "->-"'Allf'W ~-............... ,.. o-.... ._ ...... _ ... ,..,...,...,~..,._.. .............. ~ ..
464
Glossary
product.o0riented C...ompan1cs thdt n1.1nu(acturr l"01npu tc:~. rourrrs,
or m1croch•p~.
Pl'Olram documentation Prep;ir.inon of program documt ntatton
\laru 111 t~ \);tt1rL-. J.n3l);I~ ph.a.;c .1nJ -.;onunuc:~ Jur1ng "")~rems
1mplcmcnt•non. S)Sl<nl\ •nal)\I< rrrp>re O•erall documenta11on, such
as process d~nption• :and rep<>n la1·out>, earl) m the SDLC.
Programmer'\. pro\ 1dt" dc>Cunttn1.i11on b) ~ans;rru"t•n~ moduk4" th:tt are
well supponed b) 1111tmal and c.icmJI commcnh and descnpttons
dut c•n be undcn.tood •nd mJ1nmned ta,il).
Program Evaluation Review Technique (PERT) Su rERT/CP~I .
Pl"Olrammerlanalyst A dC'\1W1•11on fc>r ros1nnn< that require a com·
bmarioo of ~·stems anJl)SIS and prnt;rammmi: skills.
project coordinator The pen.on" ho handl,., admitu>tramc r"'pon
"bdmcs for tbr dt\do1>1nrnt tram and negottale< wi1h u<er< who
might ba"c co11fhc11ng rcqu1rcmcnr> or "ant changes thar would
require •ddumn.d wnc or e~pen.e.
project creep Inc procc.s by whtth pr<>1«is wtth \cry i;encral scope
dcfin1nons e~pand grndually. wirhom <pcc1fic amhori1ation.
project leader The per-.<111 charRcd w1rh leading• project from •
t('('hn1co l p<rspernvc.
project management rhc pr<>«" of pln1ming, scheduling, mon11oring,
controlling, and rcpor1111g upon the development of M
infor1naaon ~y~ttn1 .
project manager ·1 he pcrwn charged wuh managing• projoc1 frum
an admini<;:tratlvc pcrc;!'>C"Crivc.
project monitoring Guiding. supervl\mg, ond coordinanng che proit<:t
team\ workloJd.
project pl<innina ldcnttlymll pro1«t t." ~' onJ c<timating compleuon
time ond ~<>'>ts.
proiect reportin1 Pro\ 1J1ng ri..-g:ular progri..i.'J reporcs ro managt."menr~
users. •nd the pro1cct tc•m u<cll.
project schedulins rhc crc.mon of,, 'peciftc nmct.1blc m fnciltr4rc
complerion of• project. Also invol··~ ~ l eering ond staffing rhe project
team and ass1w11n11 spcc1li. t•sk; to 1ram member\.
project scope A si-1hc dcttrrmnauon of a pro1e..,\ houndariC" or
extent.
project trianal• The three ma1or cumponm1> ot • pro1ecr: co.,,
scope. and umc. A pro1cct manai;tr rncs ro fmd the opumal balance
among the<e facto~.
properties In obicct-oncnted <0 0 1 analysi>. characteristics cbat
ob1crts mhcm from tht1r da" or I'"'''"' on 1hcir own.
prototype An early, rar1dlt con .. 111x:ted "orking \Cr\1on of rhe prop-OS<'<!
1nformauon >y>1cm.
prototyping The meihod hy which• prmot}p<• "Je>eloped. It
involve< a rcpcltll\e srqucncc of an.11~"'• de"!!"• nl(ldeling, and res1111g.
Ir is a common technique rh•r c11n he u1ed to dc11g11 anything from•
ne''' ho1nc co a compu1er n ctwor~.
proxy server A nerwork1 1111 de' tee 1h:11 provide' ln1ernc1 <onnccnvity
for internal LAN use.-.
pseudocode A tcd1111quc for rcprC>t'llltng progr:im logic in scmi
~Lructurtd pro~.
public key encryption (PKE) A common c11cryrtion technique. bch
user on the network ho < a patr of key" a ruhlic key and a pl'ivare key.
Tbe public key encrypt> data thJt t11n be J <:<rypted wi1h the priv•te
key.
qualitative risk analysis hJluanni: ri ~ k by emmnri11g the probability
that it will occur :ind 1he d<!!l'l.'C ol unpact.
quality :anurM1ce (QA) A rr.x:cs' or prn<eJurc for m1mmi2ing errors
• 10d ensur<ng quah1y 1n produ•t>- Poor qualuy can re.ult from 1nnccu·
rate reqwrrmtnb, de:)1gn problem\, coJ1ng error'-, tnulry
documcn1a11on •• md mcfft:>.hvc tc<11ng. A Qi\ team re"•" s and tests all
npplicrnons and sy>1cms ,hangts to verify <p.'C1ftca110"' and software
qu;ilt1) >tandard>.
quality attributes Su noo·fonc11on•I rrq111rcmcnis.
quantita.tive risk analysis LvJlu>llng mk Ill ttrnh of the acruJI
1mpaet '" tern1s of dollar.. umc, pro1cct ><.ope. or qu.11111.
query by example (QBE) A language allow> the u1<r to provtde Jn
example of the data rrque>l<'<I.
query language Allows a u~r 10 specify • task "tthout spectf) mi;
ho" trn: ta<k \\Ill be accomrh<hed. !>ornc qutr) bnl(UJj:~ U'iC natur31
language commands that resemble ordinary f.ngh•h •rntcncC".
qu~onnaire A document conmmng • numhc:r of >1ambrd qu<"·
nons that can be -.ettt to """Y 111d1nduJl\. Al"1 <.1lleJ J '""C).
radio button Button> th.at rrpk'Cnt grour• of or1Klll' The U\Cr un
select only one opoon at a nmc' a selected oruon con1>1ns a black dor.
See also option button.
radio frequency identification (RFID) T<'<.hnolOjl) thot U>e> h1i:hfrcquc11cy
radK1 wa\c- tu tnt k phr1<JI ohJC<I\.
radio frequency identification (RFID) ta1 An mput device u<cd 1n
source data autonut•on.
.-andom sample A sele.non taken ma rando1n, un planned manner.
For example, a random .. mple 1111gh1 he• sample tha1 <elc.1s any 20
cusromcrs.
range check A type of daca validation check that tC•lS dn1n items tc)
verify 1hat rbey fall h<!twccn a sped lied 1111nml11m and maximum va lue.
The daily hours worked by n11 employee, for ex.1mrle, must foll w1thm
the range of 0 to 24.
range-of·responso questions Clo1ed ended que>iion• that a~ k the
perwn ro evalu.11c something by providing ltn111ed """'tr> to sped fie
respon<es or on a numeric SCJle.
rapid ;a.pplication development (RAD) A tcJm·hao;cd rcchniquc that
speeds up mforn1't1on systent> dc•elopmcnt Jnd produce. a funrnoning
information S}'Stcm. RAD is sm11lar i11 concept to JAD but goc>
funhcr by including all rh.1\C'\ of the ~Ol C..
reasonllbleness check A rypc ol data vahcL1tton cht'Ck that 1dcn11fics
values that arc quesuooable but not n«.tssanly wron~. For example,
mput payment •·alue> of SO.OS .md SS.000,000.00 bo1h pas; a simple
lim.1tchtck for a p•)mcnt 'aluc greater than uro. and )<t "nth 'aluK
could be errors.
record A M't of ttlJted field. tha1 dc ... nhc:; one m>tan,c. or tn4'tnbtt
of a n cntrt), ~tK:h a" one cu~romcr. one t>rJcr. ()t cMlC' rrcxlu'-1 A Chord
might ha, .• one or dozens of fields. depcndmit on what mfornunon ts
needed. Also called J tuple.
records retention policy Rul"' de>1g11ed to meet Jll lci1-1I require··
mcn1< •nd hu<m"1i< ~' for l ~ring m:ord<.
recovery The procc<<< of restonng dJta and rc<ramng a syorcm after
an interruption.
recovery pro«'Clure Pr0<t1>> for re;tonng data and reHamntt a sistcm
:after an 1ntcrrup11on. RttO\'Cf)' ('rtk.cdurc~ c:;an he usrd ro r~t orr a
file or dorahase ro it~ currcm state at the ttme of the 1.-1 l><1<kur.
,..,dundant """'Y of Independent disks (RAID) A RAID sy<rem may
h<! pon of a11 organtLation'> backup and recovery plan•. A RAID')'"
rem mirrors the dar. while prcxc'""ll ""'""uc>. RAJD <ys1cms are
called fault·rolcranr. because a failure of a11)' on< disk d~< not disable
rhe system.
referential Integrity ,\type o f valtd11y check. Refcm11tal mtt)\I iry i; a
set of rules that avoids dat1 """""' tcncy .111d qualtry prohlcm<.
relational database A da1•base m which t;ihlc< are rcl•tcd hy com
mon fields, crearjng a unified datJ mucrure that provi<lt• improved
data quallly and•«"''·
rel<itional model A moocl U'>Cd'" rcl.mt:ltlal JniabJ<«. The rrb11onal
model was inrroduced during the 1970< and 0«:.1mc porular because 11
w:n flexible and powerful .
relat;onships Enoblc ob1cc1> to co111111um<.t1c •n<l tnlerall .h they
per-form the business fun<11ons .md ir.m<a<tu">n• rcquir<J by a sy\lem.
Relauonsb1ps describe" h3t ob1rtt; oecJ to know about each other.
how ob1ccts tt>pond to <h.lDjtt1> 111 other ub)C<b, •nd the clta;ts of
mcmber\h1p m d.lSsc<. supcrd•"•"'· •nd \uh<:la.~.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Glossary
465
"''"'"'" plan In 1111lr dC\·clnrmen1, • rl•n 1"'11 'r<"h"' "hen l1"7
\tnnn "111 i.., 1mrkmrn1eJ .anJ thr 111111ni; ot tht rd.:.•""· Rd~ art
rd.au\ th trc:qumt, •nd t.k:h rde•,... 1> 1r<'!1td •• • "'rrm protO<YJ'C
th•I .an ht '"''rJ .anJ mod1hcd ' ntt<lcd.
-l• control JOftw&n Arrlt-•1tOll\ th.lt .u .... n " .. tt to ulc
mrr • u<n\ wod-t•non and rm• i<k "'M"'fl "nJ trnuM«hoonn~
~I l"O"P \ ~t of~ or mott htkl• lh.11 '"" ocrur •ny number
ol ton,.. 111 .a ..ngk m:••rd.. "'uh ... ,h '""urrm..c h.1•m11 dtt!n-om ,-.u~
....,Ort rooter .\prc•r. JI •ht md "'the fCJ'<lrt. '"" 1n..luck gr.and
mul\ tor nurncn.: field> Jnd ·~htr cnJ nl rcrnn onformmon.
,..port h4!•der Ari'<'•" .11 tht h<it1nntng of• rrr<>rt •nd 1dmniics rhc
f<J'<lrt •• \\ tll J\ lh<: rcJ'<)rt llflc, .lilt', JnJ UCher n«:CS>'lty infomntioo.
requet ror pro~ (kFP) A "nncn l1>t uf tcaturcs ;i.od specifiQlltlll\
fi!l\l"n tu r••9'J'n-l1\l" \t"OJtar, ht-torr. '\rn.1fh. rtt.x:ILk.t ()f' pl..:kagr:
h.-~ ~l<'Ct<d .
requ•.c for quoabon (RFQ) l otd to ol-t••n • rn.t qut>Uooo or hod
un a •!""•l" pr..Ju.. I u< l\l•k.Oi:t
requ•,..,.,..,tl d4!fi111llon• A Jn..11rnon uf rhc '} -t<'ID rc.iulJTIDetlb
tr1lm 1hr u_\('r\ fl't-JUlt ol \IC".
requ1rTm4!nt1 4!heitatt0n Th< ,...,,.._, ol 11Jth.:·nflll: rtquircmcnts. Su
r • .:di11dtn1t
requirements en1lneenn1 U>ed on the''''""" pl.Jnrun.; plusc of !he
.,f)I ( h uwol'e' U\10Jl ,,'""" l••I f111drn11 tnhni~ur.. <u..h •< onrer·
VJrw•. 'urvry,, oh.crv.mon, .rnd <.1mrl1ni;, 111 dc'llnhc the currt"nr
'Y'lcm all(] 1Jcnnfy 1hc rcquir1'111cn" for 1ht new •)'tern.
requlremenct planning ph;uo A 1ih.l'e 1hJ1 "m1hlnc' dtmems of rhe
'~Mtlll\ j)l,1111111114 and ~y, lrtll\ .111.it,,, ;, rh•'e' nf thr \Of (..
requlrt'mentt •p4!ciflcatlon1 A Jc.crir11011of1hc •y>1cm requirement\
Imm 1hc ,~n•ly\I "' cnginetnng 1,Jm\ ro1nr of \It\\.
~h An imronJnc facr . findm~ 1c.;hn1quc rh.i mdude. die r.-.'icw
ut 111urn•h. rcnoJ ... •I-. •nd r-. .. .i., m uhu1n l-•.l11munJ utlurnunon,
lr<bn1<.Jl nuicrul. Jnd nn-s Jb.JUI mJu\11') rrrnd, md dndopmcnn.
retponM I.Im• Tht o><rJll tunt l>ct"•= ~ tt<1unc for •r""•tm ann·t~
:and rhc ddnrr> n( the rcspon-c. In~ l\~JI onlmr rnnromncnr.
"''"''",,.. unw" mc.t>urrJ trum the 1f\u.uo11hc -· J'lfi'° the EXI1o.R
le) or d,..l,' "'"""' hunnn until the n-.iuc,1cJ "-<«n disrt..i 3ppe&n
or rnnreJ ourrut ,, rcaJ>.
recentlon p<tnod S..clUJ)' .ire •rurcJ tor J '!'<"-''" r•'ttllbon period
~h<1 "h1<.h 1hc1 art c11htr &.rro)-nl nr the l>••kup mcdu is reused.
NlUm 011 lnvtitmcnt (fl0f) \ J'CR.Cllf.l/;l" 1'te lhJt IT1<"3\UrtS rrofir•
~h1hn hi cnmr.in111 the tnrJI nrr l-mrf1t• hhc rr<uml mr1.-rd from a
rrvtl'\.I IO 1hc wul (<hC. 1 the 111\t\tm<lll J of the rru,....1. ROI. 110121
l>cttchb - toul •m••lfmul"""
""I n~f....,.... \ nct\<url rncmhlon11 ~ ur.k nl wmru1rr> rh.at corn·
mun...,rt "'"' t.>ch c><htr. ~ nnc n<Nork oftm "u..-d "htn
rn ... o..n11 "' puturmcJ at lo.:al '"'"" rathtr dun at a crn1nl loc:ttion.
rKk An C\tnt th•t u>uld .1tlc.1 the rrottt-i llCJ;.>11\d).
riJtc .._...,.,II \1ca-urn the hl.d1ho1>.J and •mJ'M.t of mJ.s.
rt>lc confrDI lk•clor> ufqtuJrJ, rh.i rcdo..r the hld1hood mJ
IMJ'.lt.I of n'l.'\.
risk ldenaficadon I l\Mf: c::ich nd, anJ a1<""'"'!1 tht hkd1hood rh:n
11 •ould •fleet • prof'""
rl•k man.1g .. m•nt The prn•.c" 111 i<lr1111ri '"II• .-,1fuJt1n11. 1ra,ku1g.
• 1rul lnnll nll111g n'k' to rn1nh111 7.\'. chr1r 11n1l.U;:c.
risk manaacmcnc plan Include• n rt• 1<w nf tht rro1c.::t'< <cope, stakeholder>,
hudi:e1, ••hcdulc, anJ any mhtr 1mrrornl or C\lcmoJ factors.
th.11 111111111 .ifl«r 1hc rrot«•. Tiir 1>1.in •houl1l Jrfine 1iro1c.:1 roles and
rnr<•11\1h1l11ir-. rl\k 1m11JJ1tmtnt n1eth11<h Jnd pmccdurt\, catcgoro«
of mk\, Jnd <OOllnflCllCV rlan\.
risk ruponM plan A rroarn••, dfon tn :ann.ira1e J ful. .and d..-.cri.be
~n ll•ll<lll r!.n IO Jc-.al "11h fl. ,'\n ctfe>11\r ml tt-l'C>fl>t rl.tn uo ttdu.:e
th<: o>rr.1ll 1mr~a I') m~cn"I! • nfll<'I• and .1rrn'l'n•1< .acnon.
roamin1 .\ rrt, .....,. th,11 -i11t)\\) \\-1rtln> i..lacnt'\ co 1110\C' lrt>nl tlnc
J~\ J'<'lnl tn Jnothtr, JUIOtnJl'IC.lfl)' ~<-"lJllllf: >\llh !ht <rrnni;cr
.11.. A.:O-' pnnt .JnJ all''""'"~ h>r un1ntc:rrupt~d "1'\h•. c .
route,. .\ dfo,, .. ~ ch.it "'"'nc:"l'° nc'"''""l ~cnt,, Ja.:nn1nn chc rJ'kb.I
dtk.imt 1bu r•rh. apJ l(UKk> rht tln\\ ol J.11.1.
sampl1111 .\ rm..n> \\hc:rr .111 nn.al)sr ~olk.;1' .,.. mrln nl .><:<II.ii d•><>
umnth, "'h... h .i1<1ld ""lutk rC\otJ.. rq><>rt'>. or .-.onou• fotn».
scal.lblficy \ 1hJr ...irmu1 ot J '~"cm.1mpl)11ia thJ1 thr "'ccm 1Jn
i.., C"J'•ndrJ. mud1hcJ, m dnwn.ucd c ... 1ly in mrcc rhc r.1rc.JI, ,h;ingmg,,.
.., .... (If J bu>lll< ..., mrerrrue.
sat.ab!. The Jfl1lil) of J •)>rem co '"f"'"J 10 1111-.,t nrw bu>lll<"»
rrqurrt1nrn1' ;anJ \ttlurut'\.
10Jln1 on d•mand !he .1"1!11~ 10 mJt<h flcl\\orl ""'"""co nttd<
.ot ;any ~" .,, nmc: a f.,turt ol doud 1omrunnR. for cx.ompl<, dunug
r<JI. luJd•, i1Jdll111n.ll .luud ••.'f'<r> lntghl U•llK' On fut<' •UluntJlh.;af!\
to <urron 1n. rt.a....J •rnrlln.aJ.._
satte.- d .. rram \ ruol u-cJ b> systcm .1n.al\\h 10 ~urh""U' '"""
rb,, wrn-buun h<t,.rto '"" •MUbks. ,\l,.1,'allt-d ;1.n l\\ dun.
u.....uicK In an •Jill< rn>tn.1 • .a rcat.,.orfd c'Amrlc of ho,. u.cr. "111
mrtra..., \\.1th the 'Y"tcm.
Kh4!dule r .... b11lcy \ rro1«;t .:~n h.c 1mrlc1n<·nrrJ on .111 ""'' pcablc
ttmt' frJmt.
Kh•ma The rnonrlr•c Jcl11111111n of. J.11JhJ,<. 111dud11•K Jr-..ripuom
of .111 f1clJ<, rr..onl>. Jnd rrl.u1nn•h11"
scroll bar In u<er 1111rrf.11.c tlt<ign, n Stroll liJr •llnw< 1he "'er to move
rhr<>u)lh 1hc ,l\ a lf ~b f e <hOM'\ fo1 ,Ill 111flut f1cfd.
Scru"' A popul.1r tr.h11h1ur fur .1gll< pro1<•1 1m n11jlernr111. l>criveJ
frnm a ru111>1 11·nn In "'-rum, te.>m mcm!>rr. 1l.1y ''""'""role• .111J
Lnter;u.'t 1n lnu:n\.C ~\>Ion~.
second nonnal rorm (1NF) \ ra:<>nl JNi:n h 111l~F11ti1> in IM .mJ
d •ll hdch !hJI .orr II<~ r.in of 1ht rom;ary kc) .Ire dcrcnJmt llCI rhc cnbrc
pnm;ary l~ It •ny ftcld 111 • I ~F rccorJ Jerrod• on uni) nnc ot tllc irdJs
ID J rnmbm.it•Jll J'f1l'Ury ....... mm""' rt<unl .. noc '" 1:-.1. A 1:-:r m;orJ
\\tth a rt11n.1ry ln rlut,., • •·• hdd "aucom.11 .. •lly 111 .!:-.I.
secondary tc.y \ ticlJ or'"'"""'"""" of hrld• thJt <Jn ht uwd to
.l'-74.X~~ or n:tnC"\C' rr..:Ut'di. S«ood.an ln \Jlun .lfC' nnc un•~UC". tor
(umrk'. t•• .h
.. '-('' tt\.1,rJ~ f,., onl) chcli(' cu .. romcr'\ 1n .a .. ,,nit ... rt>~I
code. I~ J'l"IJI wdr held "'uld i.c u...,J J• ~ ""'"'Jal} lei.
RC\lnty HJrd,.•rt. «>ttw.orc, Jnd rroaJur•I cnnm•h th.ti ufcpurd
JnJ rr<><t.I J >)'1nll •nd lh dJU from mrcrnal nt r.icrnJl thtc-JI\.
M!Wricy hole ( rr.11...J hv .a <umh1n.a11on of 01\C' or more 1n1rm1"'rh
.:onhgurcJ "'" k.'l'>.
RC1lrity policy \ rbn rh.ar adJtt>-..t\ rhc rhrtt "'''" tlcm~nr. o( \\»
rem .._utll) 1 u1C1hJcn11Jl11-,. mtq:my.:and .11.11bl-1l11v.
wcurity token \ rhl"""' Jc .... < 1lu1 au1ht111 ... .a1t>. kgt11m•1< "~ ..
<U<=h '"' • ,man <Md e>r hyduon dt>-...c.
selection A conttt>I 1tru"turc 1n m•,dul.1r dN-1~n. tt t\ tht c<tmplt·
1100 Clt t\\tt t•r mtJf(' rr,Jt.t,.~ 'UCplo b.a\C:J t>ft thC' rnuh, ul .1 (t'\l t}r
cond1t1on.
.emanllc wtb \n "nlunno or 1hr .. cl- whrrc rhr d .... 11mcn11 1hn<d
on tbc lnccrnct h.11c """'""~' lmcanongi Jnd nol JU>l '1111.l\ (HT\ll
m~rkurt. 'M•nt<lllllc• <•lleJ \\th 3.0.
sequence I ht «lmpklmn or '''1'' 1n -cqucn11.1I nrJrr, nnc al1rr
another .
•cqul!nce check A 1ypc of Jarn •ahJorion dte\.k rlw "mrJ whcn thr
d.ua 111u\l hr ju 1to1nc prcJ1.•trtn1111(:d 'lt·c1urni.:t. II du,• 11,1.•r 1nu'1 tnttr
work nrdor. Ill m11ntr1cil -.c4ucncc. for example. then dn our or
sequence onlcr number 111d1\.JI., an error. I( 1he uk'r 11111'1 cnrer
tr01n\;u .. tuH1\ thronol,~.Jlly, fhcn .11nn~.t«-"l1un ~tth .1n ouc·<,fscqumcr
dare 1nd1Cdl<" Jn crmr.
sequ4!nce code •..;umbt:" ur kncn a"tllJlt-d 111 a '""'"''" orJc,
~lkf'k.C' «.1td('~ .. c.mt.at.n no aJJ1uun.iJ 1J1tornut1on 1>thc-r th.Jin .Jn i.nJ1-
00<W1 ot or<kr "' tnlf) 1n10 • •>~ ·
•.,,,..,_ l!i:D"......,'--- ,•._...__.""'........,... __...•........_ .......-.,.....nw...-.....,..._._.,..,........,............. ._..,...__.."'.....,.~
............_........_..,~_..........,.a.w...................-..c..........----......-...................--,,.......,,.,,...............
466
Glossary
sequence diagram A U.\11 d1JgrJm thJt show' the 11miog of tr<m>acoons
lx-n.ce11 ob1r<:h •<the)' occur during <rtcm exccu11on.
server Com purer on a chent/<cr»er d~1gn thot <upphe< data, process·
in~, .ind~" icn to i.:l1cnt \\ Ork~t.i1wn41 ,
senke An •rphu11on th.it monuur•, or h>tms on.• p•mcular pon.
service <!Mk A ~cntral11ed rt'><>Ur.c \Uficd hy Ir profes<iorutl• that
provi<ks u~r< "uh the •uppon the) need to do their 1obs. Also called
help desl..
service piack A mamttnan<< rcka"" •upph<J by wmmcrual wftware
<upplK'.rs.
servke provider A firm that offer< nut)Our<mg solu11ons. Two popu·
lar out50urctng opnons mvol•·e \5Ps and firn" that offer IBSs.
servic.,.orien~ed A <ompan) that prtmarily offer. information or
<er'1ces or .ell< g<l<ids prodm:ed by othct\.
significant digit code (.1phcr that do<ttngrnshc< items hy using a scnes
of subgroups of d1g1t~. U.S. r ostal Servkc tip code>, for cJG1mplc, a rc
sigmfic;int di11it codes.
slmuladon A tire<> rehcar,al for mer. and Ir •uppurt su ff. Organiza·
11011< typically include all procedure«, 'llch J• thmc that they execute
only ar rhe end of a month, quarier, or year, 1n their simulations.
sink An cxrern:il cnnry chnt rcccavcs thua from un 1nfor111Jtion ~ys te1n.
site visit A trip to .1 phy>i<.1l loc,11io11 w observe (I system 111 use at
another location.
slack time rhc amoum of nine hy which an e1•c111 can f>c lotc without
delaying the pro1ecr. The difference bc1wccn lnte>r completion tune
(LCTI anJ earlic\t wmrlcuon 11111e (ECI ).
soc-ial engineering An 1111ruder u\C\ ~<•llll 1ntrt.li.;11un Ct> N.un access
to • com 1urcT 'Y'tcm.
soft skills Commun1canoM. 11ncrpcr<0nal skills. pcrccpnvc ab1hties.
and crmcal thinkmi: nrc wit •kill._ IT prolc;,1onJls mu>t haw so&
"'111' •• wdl a. 1n.hn1<al ,kill>
software A program run hi rnmpu1r" for a 'p«1f1c fun<uon or 1ask.
Softwa,.., as a Service (SaaS) A model of •oftwJrc dcl1~ery m which
funcrionahl) is dcli1·cred on demand ~> .J nttwork·acccssiblc sen ice,
r:nhcr than as a tradmonal sot"' are apphu11on th.it"' dmrnloadcd
and msralled on rhc cu'tomcr's computer.
software encineerin1 \ )Off\1are Jc• clopmcnt process that srres~
solid design. tffr.:-ri1c 'rruaurt, ae,ut2tc Jocummt~tion, and careful
trsnng.
software license J\ lei;al agrtrmcnl that gives use" the rrglu to use
the software under ccrr.11n rerm~ and condmons.
software pacla1e Software that is pur,h.Jst-d or leased from another
firm. J\ comm<r~ia lly produ<cd w fl\\art prod~t. or fanuly of products.
software reengineerin1 U\e< .rnalylllJI te<hm11uei. 10 idennfy poten·
tial qu•liry .ind (l<'rforninncc 11nprmcmc1m 1n on information sysrcm.
software vendor Company thnr develop> ;,ofrwarc for >ale.
source An e•ccrnal ennry 1ha1supplies 1IJt.1 to ;111 informarion syscem.
source data automation 1\ popu1nr onli11.: input n1c-tho<l that <.:On1-
h1ncs onhne darl'\ entry and nuron1.ucc.I J,ita c~tprL1rc using input device'
such as magnetic dnh\ ~rrip~ or S\\ 1 1pc ~c:i nn c rs.
source document A form u;ed ro rcque.c and collccr input datn, trig·
ger or au1horite .111 input nu ion, nnd provide a raor1I uf the orr1tinal
transaction. l)ur1ng th<" input dc.;ign ~tAKC, rou dcvclor ~ourcr documc·nts
th:lt Jre easy to corn piece nnd lncxpcn~i' c.
spiral model A development model wi1h a scrie• of iterations. or rcvi·
sions, based on u'er fccdbJ<k.
spontaneous generation An unc,pln1ncd gcncr.111on of dJtn or mformauon.
Wi1 h respect 10 OfO,, prncts>e' c.111101 ;pontancousl)
gcneratt dJtn llo\\s-th<) mu\! h•vc an input ro ha.e an output.
rtal<eholder An)Ollt who,. affecrcd hy 1hc <omp•n) \ p<"rfonnJncc,
such as cusromcrs, employee<, suppl1e<', <tockhnldero, and members of
the com.munit).
rtand~ne \'rhen P<'r>Onal <Omputcr. first apl'<'•rtd m l.t'll< numhcrs
in tM 1990, user.. found 1hat lhl') rnuld run their own ''°rd
processing. spreadsheet, and daiaro;,: •pph<.tllnn>, "'1bou1 assi.untt
from the IT group, in >mode CJlled '1Jnd-alonc <Ompuung.
standard not:ation format A ttpt<\ClllJllOO th.it m.1k~ ~igrur1g 1Jbb
easier a.• it clear!) show~ a taMrs <tructutt, ftdds. and pnm•I) kc~.
star network A network design with a central device •nd one or more
worksmions connected to 11 1n a "''> that forms a ;tar pJttern.
start day/date Thr d3) or Jate when J t>'~ 1s 'lhcdultd to hq:m.
sta.te An ad1ccnve that d"'lenhc; an oh1c<t\ curn-nr >IJtU• (r.g .• a
srodenr could he• CURRF.:-.T. FUTURf, or rA~T m1den11,
state transition dlaeram Show< how an ob1e'1 <hangcs from one
srncc to another. depending on the events 1h:rr •ffc..t the ob1eu.
status flag In ~ tru"rured .. •prlu.:ati<>n de,·tlopnu.!rlt, Jn iu<lu:,ltor that
nllows one mod11lc to .;end• mes<.1ge II> '11101hcr module.
storyboard In an agile pro1cct, a simple graphic ori:ani1cr rhat helps
sysrcnl:s annlysrs vi~ u t\liz~ chc 1it:t 1u ~ of.\ projcc.:t.
strategic planning ·1 ht procc~s of 1clrn1ifymg l111111 1cm1 org.rniza·
tional goaJs . .s rrarcgic'i~ nnd resource.
rtrateglc plans The long rnngc plans rhat define 1hc corporate mission
and goal<. Typically defined hy 1op 111nnn11en1en1, w11h inpu1 from
all levels.
str.atified umple /\ -;c:t mcmc 1~ collected acro1\ functional nrcn1. For
cxao1ple. n certain perct*ntaye o( rranut.Ti<>ni from C\ICty \\<Ork .).hift, or
five cusromer\ from ea<.h or four"'' coJ._, <ClulJ he a .rrat1f1l'<l >ample.
structure chA.rt A top-.do\\'O rcpr~cntou ion of hu\1nr'S'S funct1nn\ Jnd
prOO!Sses. Also CJ lied an FDD.
structured ao•lysis A cradmon•I >) >tcm~ dc1dopmenr tt-..hn1qut that
USC'S pha ..... IO pion, JnJl)"IC, Jc<>1gn, llllJ>ltmcnt, Jnd SUJ'J'Orl •n information
sysrem. Proccs<es and dJt3 arc rreatcd "' <cpar•t• components.
structured bralnstormin& A group d1...:u"1on "hen- ca<h p;amcipant
speaks when n rs hrs or her rum or p3'5es
structured English A sub.ct of \landuJ I nghsh 1hat de"nbc. logical
J'Toce<SC' clCilrly and acrnr.ucly.
Structured Query Laocuase (SQL) A qutl') langua1<c ch•t allow>
PC users to communicate \\·1th stn·trs and n1a1n(ramt' computrrs.
structured walk-throush A "'""'' of a pro1c..1 tcJm memher\ worL.
by other memhc..., of the 1eam. C'.en<ralli. 'Y'tcms an.1l)'h rc•icw the
work oi orher S)"Stems analy.rs, and programmer> rev1<\\ the 11ork of
ochre programmtrs, as a (mm ol pttr rrvoew, Stru.111rcd walk·1hroughs
should rake pla"' 1hrolll\hour the SDI C and art CJllcd requirement<
revle'' ~,design review~. lode rcv1C\\'.). or tC)Ung review), df:-pt:ndmg on
1he pha<e in which 1hey occur.
stub testing J\ form of rcsnng ' 'here the pr~r.im 1 ncr s1n1ul.1rc' c<1ch
program outcome or result nnd displays n mcss:111c ro 1ndkatc whcrhcr
or nor rhe progr:un executed \Uc:cc,~fu ll }. [ach )lllh rt.!prfi4!n~ Jn entry
or exir point th:u will be linked l.ucr m :inorher progrnm or d"r.1 file.
subclass A further d1vi, ion of oh1ccu in n cl.l«. \uhc l n,~c~ .ire more
specific caregorlcs \\r1thin n cln'li.
subordinate module A lo\i.rer-level n1otlule u1 a ~ tru l.ture <.:ha rt.
subschema A view cif the dnrnha<r U\cd hy one or more >)Sl<nh or
users. A sullschema defines only thn<c pnrrinn' nl 1hc dntaha<e 1hn1 J
particular >f>ltlll or uocr need, or 1> allowcJ to"""'~ ..
subscription model A servict model th.u ,h.,11es J 'Jnablc le<: for an
apphanon basro on 1hc numhcr of u<cn or worl.'t>llOn< that have
acce;, to tbc appucauon.
successor t.ask E:ich of rhc concurrent tJ.<ks of;> rrcdtces>-Or t,1sk.
~ :B)Jf....,..~ Al._.,._...,.._.._.,. "t..) • ka.,-...i.'IUIJWll w""Jl'l.aflal.••'-*<lf .,... 0.-••,..,.._.....,..:,._",...Alrllflilfl,,...,........, -~,.._..,,.__.,....,.,.. ~,.~
......,...,.__ ........,~..-- .......,...,.......,.._....,....
~ ........
.._.......,..,.....e.... ~ ...
......ih.,~•*...,.~~c....,,_~,
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ...,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~----···---~~-.,.-"~ ...........--......
Glossary
467
summary report A reporr u~ hv md1v1duals at higher levels m the
ori:•mzatmn thJt mdud~ le~~ deu1I rhan rcpom used by lowtr-levcl
c-lnplo) e~.
supud;us A mnrt jlencrahud •aftgOI') 10 wh>eh obiter< m.lf belong
i<.g.. a 1'0V[L d••» n11ghr h.:long to• •u~rcbss called BOOK).
supeNSer account A lc>i:m a<counr thar allo\\ > """'nuall) unre
•tncted JC"'°'' 10 the a('l('lh•JllOn.
supply chaln .\ trJdmonal s~·,tcms dtvclopmcnr !«hniqll<' rh•r uses
i>lust• 10 plan. •n•I) u:, design. 1mplcmtnt, 111d supporr an infocmanoo
>) >tetn. Pnxcs<e'> and dar~ att trearcd as scpaure components..
•upply chaln manapment (SCH) The <oorJ1nauon, inlt"jtrauon,
and man.1gemen1 of matcri.11<, inforinanon, and financ" a< thty mon
from suppbc" 10 cu•tomc"· borh '"rhin and bct"CC11.:ompanies. In a
corally mrcgr>red <uppl) chain, a customer order <-Ould cause a produc·
tion pl•nning ;y.rcm ro "hedule a "ork ordcr. which m rum could
tr1~cr a coall for tcna1n ran~ fron1 ont' or n1orc suppht"rs.
survey A d0<.ument conrarninl\ a number of standard questions char
can be .cnt tn m.111y ind1v1duals. Al"' called a questionnaire.
swim lanes In a hu<1ncs< prncc'< d1agmm, the m'trall diagram is
rnlled J pool and 1hc dc>ol(narcd <U>lomer ""'are called >Mm
l ane~.
switch C<:nrral nCt\\'<Hkmg device in a''"' net\vork. wh1<.'h manages
the 1mwork anti°'" a> n •ondui1 for all 11e1work rraffic.
switchboard The use of command hurrons m 3 user interface to
enable ll><rs ro 11avig.11e a •r•iem anJ ><!l«I from groups of related
casks.
SWOT analy•is An cxamma11on of a comp•n) 's >crengths (S), \\eak·
ne"c' (W). Of'lf"lrlllll1t1e<> (0). and rhrc:m (T).
syntax error Programmmi; l.inguai;c gr.immar error.
SysHL A dl3lc.;1 of UMI 2, u<cd for representing reqwrcmtnts (and
other thmjl>). pnmMtl) 1n ~IBSF .1pphca11on_<.
system A >el ol rclarcd cnmponenrs rhat produces SJXC1fic results.
system <>dmonlstrator A pcr<nn who rs r~pom1blc fnr the CM and
maim<nancr of an oq:an1tat1on's compurer nerworls.
system architecture A 1r.10,lat1on of rhe logical do1gn of an mfor·
mauon >)>rem mto • ph)>ical ,rrunun> 1ha11ndude. h:ud"are •
.oft\\ ue. nec--.orl. 'UPJ><>rl. and pr0<ernng mnhods.
system boundary 'ho"< whar i< mduded and .-eluded from a S)'S•
cem. Depicted by a sludtd ttcranglc in use cast diagrams.
system ch;on1eover The pro.;c;. ol puning rhc new rnfocmarioo ~>tern
onlme and rcunng rht old <)'Stem. Changro\'cr can be rapod or
;low, depending on the method.
system deslsn specification A J0<.umem thar P'""""" the complete
dts1gn for rht new 111forina11on •>·<rcm, along with dcca1lcd costs, staff·
mg, and '><hcduhni: for complermg rh ~ next ~OLC pliase. systems
1mplcmcnm1un. Also c.1lled the rcchmcal drs1gn spcc1fic.uion or the:
dct•ilcd deMgn ~pcc1f1.:a11on.
system documenutlon A dc"riJ>tton of n 't"em·s funcciom and
how rhe) nrc unplcmcntcd. The »na l)sr prepare< mo<t of the system
documenrnt ion d11rin11 rhe ~ysrerm analysis and systems design phases.
!>y>1cm documemJ11on meludc\ J,11a domona ry entries, DFDs, object
models, >erecn la)·ou1', source document;, and rhe sysrems request that
iu11inttd the prtJjet.1.
system prototyping l'rnduci1111 .i foll-fc•rurcd, working model of •he
infotmnrion sy>1cm ~'"II de' eloped.
system requirement A char.1<1em11c or feature that mu•t be included
1n do 1nforni.\ntin ,y.,rcn1 to <iJn'f) ho4iinc""i<i rrqu1rrmcnt'i and be
JCcep13blc to U>Ct>.
system requirements doc:ument A <locumt-nr that conram.s the
rrquircmen1> for rht• new 'Y<fem, dt>Senbt-<i rhe akernahHS that were
~ons1drreJ, .ind make>" >p«ifi, ra:ommenJauon to =i;emenr. lt i>
the end rrodu<! of the \)'<ICl11\ ;tn;ll)'"\ pha<e.
system software Pr()jlr.lm> tha1 mnrrol rhe compurcr, mcludmg the
oper.rnng sy<tem. device driver. thM communrcatc w11h hardware. and
lo\\ -le>el u1dt11e..
system tMtins A forin of tcurng invoh mg •n cnurc 1nform.111on <) •·
rem and UlClud.'S •II t>pical prou:>SIDJl 'flUJllOnS. Dunng • <)>ltm test,
users cnrcr dara., including s.implts or Jtrual or live d•ra. perform qu<-
ncs, and produce repon< to <imularc actual opcranng condmons. All
procnsmi: Option> :and ourpui. in: -.ril1eJ b) u~" and the IT pro1ttt
dtvclopmem ream ro ensure rh~r r he \)\ltm fun.:11011< cnrrtcrly.
systematic sample A ;ample Wt O<CU" at • pttdettTmrned pcnod1c-
11y. For eX;1mplc. e\Cty rcnrh cu>1omcr rc<:orJ 1111!;111 be selected as a
~y\tc:manc ~.tmplc: for fC"\·1cw.
system• analysis and dcsi&n The p~S of dcvdopong mforination
sy.,cms thar cffccfl•ely u>t hJrJware, ;olrwJrc, d.ra, proce<>>t•, and
prople to supron the company\ bu""°'' ob1C'<11vc,.
systems analysts phase The ""'ond SDLC pha.e. The purpose of th1'
pha<c ;, 10 build J l<>itlCJ I model of r he new 't'tern.
system• an;alyrt A J>C'" who plan<, analy1c5, and 1mplemcnr< mfor·
marion sy,tem>. They mO) work 1nrernJlly within a compan) 's IT
deponmenr or I~ l11rcd hy .1 ct1111r.111y "'an indcpendtnr eon<ul1Jnr.
systems deslin phase The rhird Sl)I C: pha<e. TI1e purpose of S)•tems
de>1~n ;, Lo trcalc a blucprim for rhc ne\\ •Y" em rhat will ,ati,fy all
documented requirements. wlm hcr rhc sy<rcm i< heing developed in·
house or purchased n< n paLkngc.
systems development life cycle (SDLC) Ac11v11ics .md foncuons
that systems developers typically perform, rogardle<s of how those
<1ctmhe> and foncuon' fot mto n parucular metho<loloi:y. The SDLC
model mclude• five pha<c<: ( I ) '}"ircm< planning, (2) sy<rems analyst.,
!3) sysrems desil!Jl. (4) •yne1m 1mplcmenrntion, and (5) systems suppon
and "'uiriry.
systems implementation phase The fourth ph.1<0 of the SDLC. Dur·
mg thb ph.uc. the nc" •~>Wm r> rnn;tru~c~pr()!lram; are IHltltn.
tested, and documented, .md rhc S)StCm 1< onnallcd.
systems plannlns phase The f1r<1 pha<e of rhc ~l)l C During rhi<
ph;ise. the sy.icm~ proj<et i:ct' >1aneJ. The pro1n.t propo>31 is e,·aJu·
atcd tO dcterinmc ff< fca<1h1llf). The prOJCCI managemmt ('llan IS
formulated." 1th the help of CASE 1001• "here appropnare.
systtmS prosrammer A pc.>n \\ho \:O"'-entrJt~ on oper.1t1ng S)!lo~
rem software and uulmc-,
systems request A forinal appeal to the IT de('l3rtment that
~ribcs problems ot Jcm.J <h•n11<> man mformauon sy.,rm or
bus111ess process. h m1gh1 pror<>~ enhanctmen1> lor an e-1mng
sysrem, the correcuoo of problem>. or rhc Jc, dormem of an ennttly
oc-w ~)'"tern.
systems request A formJI rcqu<>t rn the IT dcp•trtmcnr th3t descnbes
problems or des1tcd cbangn m Jn 111lu11na11on sy.rcm or business proctss.
h moght propose enhancement< for an cxis11ng <ystt'm, the
correction of problems, or the de,clopmcnt ol an cnnrely n"" >ysrem.
systems reYiew commjttee A Htuup of ke) nl~n::i~er\ 01nJ u .. e~
respon<1hle for evaluatm11 <ystem• reque<r<. The rerm compurer
resoltrl;C!, ..:01umjttcc i ~ t.01 n ett nl~ ~11 ... o u~td.
systems support and security phase Ouru111 rhe <y<rems support and
securiry phase of the SDLC. 1he IT scoff mn1n1.1in•, enhances, and pro-
1a:rs the '>'~ rem.
table l:ich file or rahlc con1,1in• tlar.1 ahour people, pl.ices, rhmg<, or
events that incerncr with the 1nformauon 'Y<tcm.
table design ~pecifie• the f1elJs anJ 1d<n11flr. th< primary key in a
particular t,1hlc or file.
tampe....,,,ident c"'" A cJse dt<igncd to show any ottcmpr to o~n ot
unlock the ca~.
tangible benefit. P<h1me ou1<<m1C' rhar can he meJ<urtd 111 dollar<.
They can result from a de.:teasc 1n cxpcn'e" an increase in revt'nues. or
both.
468
Glossary
Qngible costs l:xpcnscs 1hJ1 have .1 'l''"'llL dollar value. E.xampl<S
mdudc employee s.ilaroes and hardware purchnscs.
task Any worl 1hat has a bq:onnonit and an C11d and requires che use
of u1mp.any rcsour.rs mdudon11 pcoplc, ume, amVor monci- f'<amplcs
include conducting • <cnes of ml1'rv1<""•. designing a rcpon. sdccnng
sofn,Mc, wamng for the Jch•er} of equipment, ;inJ crain1n11 u~rs. &e
also actmty.
task box A <omroncnt of J Pl RT/CP\I chan th.it cootams 1mponao1
.chcdulmg anJ duuuon 1nlom1anon •bou1 a t•>k. Each task ma proj·
cct 1s rcpresert1ed h) 11\ <mn '"'ho' 1111hc Pl RTK.1'111 <han.
task croup A IJSl rh.11 rcrrcsent< sc-cral 3W\ 111es.
task ID A number or code rhar uniquely 1dcnnfies a rask.
task name A brief dcKnpri'c nome fo1 o task, "hich docs nor have ro
be unique 111 the pro1«t. for complc, a 1a-k named Conduct Inter·
VleWS might appcJr m <cv<ral pha~c< Of the projeCt.
task pattern A logical sequence of 1.1'1" m a WBS. Cnn imol"e
""quenll•I ta>k>, 111uh1plr """'"'"' ,,,..k<, and muluple prcJcce»or
tasks.
technical feasibility When an orgnm~rion ha~ the resour<Xs 10
de,·elop or purcha\et in'!.CJll, .ind opcr;.ue 1he S)''\ten1.
technical support Ted1111cal bU(!l>urt "nccc'>sary to sup1><1rt the wide
varicry of IT i.y.icm; nnd u>Cr\. Ir indudc• <ix main funct.ions: npplicauon
<levelo11111('11t, ~y\tc1n1i ~urpon, ui,er tturrorr, d.unh.•).e
admini~rrruion. nct\vork Jdm1111'\tr:tt1nn, and \veh ~uppon. These func·
tion> overlap cons1<lcrJbly and often hnvc different nnmc.> in d1flercnt
COITI p<1 111t"S.
termina.tor A D~D <ymool rh.tt 111d1cacc< a dar.• ong10 or fi 1u l desrinarion.
Also called nn c'rernal cnuty.
test data The dara u~d 111 unit testing. Trst daro should cont:lin both
correct data and crronr<1u\ dMa .rnd <hnuld IC\I all po•mhlc <1tuat1om
[h;n could occur.
test-driven development (TDD) An XP rnn<epc thar unir re"s are
dn1gncd before codr 1> wnnrn, focu<ing on C11d ~•ulrs and preventing
ptO!{rammer> from >trayll\I\ from rf\eir !(Oal•.
test environment The tn•ironrmm rhac anal~"' and program=rs
uSC' 10 dt .. tlor and n1.;i1nta1n prt~rams
test pW> A pbn <k<i1gncd h) • <> 't<m< an~I) ,t thar mdudrs tcsr <Leps
and lt:Sl d:tt.l for uuegr Jtion Ut~un~ JnJ ~)')letn tc~11ng.
testinc review Stt struC1ur.O "alk-rhrough.
thick dient A ,vs1em dc>1tul 1ha1 ltxJI<> most or all of the arplication
proceS<mg loi.1c 01 the chcnt. Al<o called a far chem design.
third normal form (lNF) A record drs1gn 1s 10 3:-\f 1( ir j, m 2:--1'
and 1( no nonley f1dd "dtpcnJ~nt on another nonley field. A nonley
field IS a field 1hat "not a cand1datt key for the primary key.
third-party software An apphca11on that i; not de•elopt:d in-house.
threat In mk management. an 11nernJI or tMernal or e><ternal emiry
th.at could cnda11gcr an a.)~t't.
three-tier deiien In a thrcc·ricr <lc<111n, the "'er intcrfocc runs on thr
client and tbe data i> >tored on the .erver, 1ust ns in a rwo-rie.r design. A
three-tier dc<111n nl<o h,1< a 1111ddlc lnycr hc1wccn 1hc d 1cnr .ind <ervcr
rhar processes rhe client requc'r~ and 1r,in,lnte1 rhem inro dar.1 access
commands chat can be under.1ood <llld carried our by rhe sener.
throughput 1\ mC'•''urC"mcnr o( r1t.ru.1I -.y~1c 1 n pcr(nrn1:1ncc under specific
circumstances ltnd is affected by ncrwork loads and hnrdw<HC
efficiency. Throuw•pu1, hlc b.mdwidth, 1s <xprt>><d as a Jara rramfrr
rare, •uch •< Khr>•· Mhp,, or (1hP'·
throwaway prototypln1 See dc<ign prorotyping.
tlchtly coupled lf moduk'S are tti;htly rnuplcd, <;ne module refers 10
Lnte:rn.aJ l~tc ~ont.uned in Jnc>ther nltKlulc.
toggle button A C..UI dcmcno u<ed to rrprc<enr on or off scarus.
Chckmg tne togglr bun on "'itches ro rho orher •rarus.
toolbar A GUI tlement that i.:ont..lul~ icon\ or hutron~ char rtprtsenr
shom:urs for cxec11nng common command<.
top-down approach A design approJch. :11!>0 called modular design.
"here the S)~l•rn• arul)St dcl1n<"> ti~ O><r•ll ohjnm<"> ol the ')'tern
and rhcn breaks 1hcm down mro •uh,J<t<m• and modules. Thi•
breaking-down prOC<>> 3M I> <•llcJ romCIOllm!(.
tot:al cost of ownership (TCO) A numhrr used m ••<e••1011 cow•,
which includes ongomg supron and mamcenan<e <O<h, •• well a<
acqua..s1non ro~t~.
totals zone If a form h.u data totab, chev "111 arpcar m rhi< <ccnon
oi the form.
traeeability The abwt) co follow a ~quirrm<m b.tck\\ nd to If> ongins
and forward through rhe 5()1 C to linl dt"1gn documcnr>, c<><k
fragments. ond rest arufatrs.
training plan .4. .s.ucce~~ful 1ator1n.i11on !1-)'ifem require' rra1n1nJt (or
users, managers, and IT .raff mrmt>cr<. Ille rnurc <r•rem• dr»clopmrm
effon can depend on whether or no• people undeotand rhe •)>tem and
know how to use 11 effecnvel)" The 1rainm11 pl.111 "•document 1ha1
details thc>t> requirements.
tra.ln·the·traJncr A 4itr01tt~) where one j.\.roup or u'ef\ h:i1i heen
trained and can assist others. Use" of mt lc.1rn more quickly from
coworkers who share common expcricn..ce and job responsibilities.
tra.nsactlon model i\ scn•ice model !11J1 dtn1'!4C>" vnrn1hlc fee for an
application ba!iOO on rhc volu 11c of tran)l\Ct1on1' or opcrarion' per·
formed bi the applicauon. Al>o c.1llcd • u'Jl\C model.
transaction processing (TP) systemi 011<ra1m11.1I 'Y>IClfh ll~<'<l IO
process da) -m-da) recurring busme<~ tran-.c1111n,, such "' cu<tomer
billin11.
tran.sferenc.e One ot (our n~k control stra1c~1cs. In (r,1n\tcrcncc:. nsk
is sh1fred to anorher asset or party, such a• an m•urance compan)'.
transparent A ocrwork is rranspJrcm if J u...,r SttS the dara as 1f 11
Yt'ert 4'tored on h1\ or her O\Yn worL~tJtl<tn.
transparent interface A user mtcrfacc 1hat u>ers don't really no11cca
user-fnt'odlv imecfJcc rhJI Joo no< dmrau the u"'r and calls no
attcnuon to ,;<elf.
tunnel A secure network ronnecuon c<.rabhshcd bcrwcm 1ht client
and the access po1m of the lcxJI tmran<1.
tuple A tuple (rhyme• with couple>. or rrcord, 1s a <cl of rclarrd fields
rhar de<enbes one msr~occ, or mcmhcr of an ennri. •u~h as one cus
romcr, one order, or unr prodU<.I. A ruple m111h1 h3\C one or dm:<.'1•> of
fields, depending on what mformauon 1< nttdcd.
turn..round document Outpul documt-nt tha1 1s later entered back
into the same or another 1nfonn01uon S)Siern. A telephone or unl1ry
bill, for example, m1ghr be a rurnaround documcnr pnnred hy the
compan)"> b1llmg >)Stem When the hill" returned wuh paymeni, 11 1>
scanned u110 the company"< o.cnuim rc.:eivahlr S)<t<m en rt•cnrd rhc
pa)'mem accura<cly.
turnaround time i\ mca;ll~ .1ppl1cd 10 (Cnrral11cd haich procr"'mll
opert1nons, such 1\'i cu~tomcr h1ll1ng or cr~du Cilrd ~rarcnlcnr flrOCCS'i·
ing, Turnaround time mea•ure"' the time bc t w~rn >11bm1mng a request
for informa11on and 1hc fulflll111cn1 of 1he requc<t. T11r11<1round 11me
also t-an be used to mea;ure the q11al1r) of IT support or services by
n1c:asuring the t1n1c from .1 user rr:quc!lit fC1r ht:lp to the rc\olution of the
problem.
tutorial A series of onlinc i111era<11ve le;sun< that presem materinl and
provide a dialog with u<rr<.
two-tier design A network dc;1i;n where the 11~r mterfacc re~1des on
lhe client, nU dJta res1JC.!. on the servcr't and che appl1t.:.1rion logic can
run c11hcr on rhe str\'cr or on the client or h<' d1"1dcd hcrwccn the chenr
and the ser,.er.
unencrypted Data that i> not encryprcd.
Unicode A ~i.ri,dy recent coding n~chod rhar rcprc•C11r< characrers
as integers. Unlike EBCDIC anJ ASCII. "h1ch use c1gh1 h1r. for each
(....,..... J:gl( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.,,._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,....
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ...,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~----···---~~-.,.-"~ ...........--......
Glossary
469
charact<r. Un1wdc rcquirl"S 16 b11, per charactc~ which allows 1t to
rcpr=nt more than 6~.000 unique ch•ucters.
Unified M~linc Lancuace (UML) A widely used mcrhod of ..-1sual·
LLUl8 and do..umennn1t ;ofmarr '>''<rm design. U\{L u.e"
ob1c.:1-onemcd Jcs11tn wn..ept<. hm u is mdcpcndmt of any spcofic
programming language and can h..· u..nl to d~hc busan~ processes
and rcqwtcnu:nr> gcncralh.
unlnterru.ptlbl• power supply (UPS) &ntery•po\\cred b:idup power
wun.:t th;ic en.J.hl("\ <>ptr.1uon~ cu (Onunue dur1n1t shorr .. rcnn p<>\vcr
outage<, •nd iurgC>.
unit tutinc ~ l<'iflng of an ind1ndual program or module.~
ob1~thc 1> to 1den11fy and dmunatc e"ccucion error> thar could cause
the pmgram tn tcmunatt •hnornully •nd lo11ic errors that could have
l:><cn mmcd dunng dcik ch«k1ng.
UniYersal Security Slot (USS) C.m he fastened t0 a c•blc lock or
laptop at.rm.
unnormalized A re~.cud th:it t:.onr31n' ;t repeaung group, which means.
th.1t a >1ngle record h,,, multiple oc.urrcncc~ of a parncular fidd, w-1th
each o..-.:urrencc ha\•mg difforem v•lue..
unstructured brainstorming A group discussion where any partici·
pant l.lll ~1>e:tk ru Jll) 111nt.
usability In mer 11urrfocc dc;ign, include< """r •ati•facuon, •upport
for businc_, fu1mi on~. nnd ~y>tcm cffect1vcncss.
usability m<!trlcs Darn thar mrcrfoce dC'lignen cun obrnin by using
M>ft\\<Jtc that CJ.I\ rt."r..ord .ind 1nc3i.urc u..cr 1nreracr1on.s \\'Uh the- .sy!rlotC.-m4
usaee model Set• tran>ac1 ion model.
use case description A dc-.nption in UMI ch•r documents the name
of the u<c '·'"'· 1he .1ctor, .1 dc<erip11on o( the u<e case, a <1cp-by·stcp
Im uf the ta.b requ1tcd for >11..:CC'->ful wmpleuon, •nd other key
docr1puon; •nd a;;urnp11011,.
use ca.se dla1r~m A \l)UJ.I rcpr('\.entarton thdr 1llu')ltd.tCS th~ tnrcraction
between uier. and the mformauon •y•rem m UML
use a.se Reprei<nts the nc~ in a •pccific busin~ funcnon or proass
ID U)',1L.
uffr appllatlon l'ro1:um, th•t uuhic StJnd.1rd busin~s software.
•u...h •; M1Cro..oft Olh~e, "h1ch ha< been configuttd 1n a specific man·
ocr to enhance u;cr produ.tt\lty.
user deslcn phaM In th" pha\C, u...,n interact with si >temS :malis"
md de' dop moJd, and pro1orypes th21 repr~m aU <ysrem procases.
output>, •nd input<
user documentation ln~rruct10n\ and 1nfonnanon ro users "'ho WJll
mteracr '"th the si;tem. Includes u<er manuals. help screens, and
cutoriah.
us<!r interlace (UI) fhe mcch•msm 1hrough "h1ch the u5C'r intcratts
with the 'Y"Cm. The mtcrfocc can 1-e graphical, te•ru31, aun1l, or 3
combmntion of different modC'I of 1ntcr:icrion.
user Interface Jn,Judt" ...:rcen,, C<)n11nands. controls. and features
thlt enoble u!>Crs to 1111erJct more cffow .. dy w11h an apphca11on.
u1<!r productivity syotems Applirn11ons thar l'rovide employees of all
lo"d< a wide arr.1y of cools m m1provc 1nb performance. fxamples
include ctnail, word proi:es'iing, grn ph1c~. and ccunpan) intraotb.
user rights U><r·•peufk privilei:es thot determine che type of acce>s a
u<cr hn, to a data ha«, file, or dirc<1ory. Al<o Cll lled permission<.
user stories In nn agile pro1oct, a «'I of more rtfincd rcquiremcms
dcmcd from fc.iturc;.
user story In agile development, J ;hon, >imple requiremcnrs ddini·
t1on pro\ 1Jcd h) the 4-U\tUrne-r. Pro~r:tmn1et\ U\e u-.er !.tnrlh to
dctcrm1nc a prOfC'~l·~ rcqu1rcmcnr~. prtor1n~ nnd ~ope.
user trainfnc packace The m31n oh1cmvc of a u~r training package
1s to ;how u~rs ho\\ the s~-stem can help them perfonn their jobs.
user-centered A t<rm th.JI md1catc<, the pnmary ftx:u• is upon the
u~r. In a u5Cr·ccntercd sy<tem, the dmincuon blurs between mpur.
ourput. and tbt interfo«' it!>Clf
user'> Stll.eholJ..r. ""'de and out>1de the i;ompani "hu "1ll 1nteracr
mth the S) <tern
validity check A ryp<" of dJt.l validation check that 1s used for data
1rems that mU!.t tu\e ..:~man '.t.luc>. l·or eumple.1t an tn\enrory !ty~·
rem ha< 10 v•hd 1t•m d""''• then an) input llt:m tlut doc< no< match
one of rhe ,-ahd dJssc• will foil rhe check.
validity rules Check\ that are •pphed ro daD elemenrs when d.1ra 1s
<mered to cmure tlut the \'3lue entered 1> valid. for rumple,• »!tdJt)
rule might require that Jn emploicc\ ;.1l.ir1 nmnbcr he "uhm the
emploier< predefined ran~c for that po<inon.
value-added "'seller (VAR) A fmn that cnhan<e> a <Ommetttal package
hy addm1t cu;rom le•wrrs •nd wnfigur111i:; 11 for a panicular
mduscry.
v .. nion control The proc•>S of trnckmi: si·stcm releases.
vertial applic.atlon A •<>ftware pJckai;c that hu> been developed to
bandle mformauon rcqu1rcmc1m for a ;pcc1lic t)pc of bu<ine<S.
vertlal system A sy<tcm dc<igncd to ntret the unique requirements
of 3 specific bu;ines> or industry, such ll~ a wcb·based retailer or aurosuppl)
store.
virtual private networl( (VPN) U>e' a pu bl1c network 10 conncc1
remote users securely. Allows n rtmme chenr m u<e n spccinl key
exchange thJ1 mu-;t 1"' authenllcJt«I by the VP!".
vulnerability A ~e<.:urity \\i l'JL1u.>~~ or ,oft ~1'>(>1.
waterfall model !'he tradmon.ll modcl of •oftwarc dc,dopment.11
graph tl1at depicts the rc;ult of each SOI C pha<c flowing down 1oto
the next pha"".
Web 2.0 A sc.;ond 11enera11on ol the \\cb thJt enJbb people 10 collaborate,
mtcracr, and •harc mfornuuon much more dynamically,
based on conrinuouslv ••~LIJblc u;cr •pphcauoni ucher 1han sraric
HTML web pJJ.ih. lnterJUl>r expcneri.;e "a h.tllmarL of Web 2.0.
webast A onc-"'*'Y rr.1n,m1ss1on of 1n£orm.;auon or rr.11n1ng marcr1~
such as a Web1nar ~''°"· a,·J1'3hk on dtmlnd or for a spcctftc pcnod
to onlinc panic1pants
web-centric A .. tr•t<g) or aprroa~h tlut cmrlume< a high dqtrtt of
mtcgranon with other wrl>-h.ivcd ~on1roncnt,. A wrl>-cmrnc arch1t«·
mre follow• Internet M'11\ll protocol, and enables a compani' ro
1nlqtralc 1hc nC"w applu;auon uuo It\ t<nntmcn.t' ~fr.Jtqt).
we.binar An lntrmt't ·h~\td 1ra1n1ng "tt'.S\1on 1hat rrov1des ;in 1n1tr-.ac·
nvc c~iienmcc. The word u't'bm.ir comlun~ rhe words u1'b and
sn,uniJr.
weight An llllporta.nt multtpUe:r that n1.lnajtt" f:h ... tor inro csr1n1;,ire-11; 'o
thei can be analyzed.
what-if analysis A kJturc of hu<me'< iupporr <yitem' thnr allows
analy>i> to define anJ J"ount for a wide vancty of 1'SU<> lindudmg
issue' not rnmplctdy drfmcd).
wide area network (WAN) A network <panning long d1<rancc< rhat
can link users who are <ontinenrs aparr.
W i·fi Alliance A 11onpro f11 imcrnatlnn:tl .1>so.:1orion formed in J 999
10 eenily m1ewpernh1lity of wirclc" 11 rrwor~ product< ha<cd on IEEE
802.11 specifirntions.
W I-Fi Protected Access (WPA) A common method used to secure a
wireless network. Tht' .1ppro.1ch re4 u1 rc~ e.\l..h wircle'" client be con·
figured manual!) to use a special, prc·~hnrcd ~ ey, rather than kei pairs.
The most recent nnd more secure \tri1on 1s WPA2.
wild A web-b.tsetl r<)X»itor) ol 111formn11<>n 1hnt •nyone c.tn n.:c..,,,,,
con1r1bute 10, or mod1f1.
W i-Max IH~ H02. lfl <r<:<1f1<aflon<, which ore c><p<"Ctro to enable
wireless multtmedia •pphca11on> wuh n r.rni:e of up to 30 miles.
470
Glossary
W ired Equivalent PrlVllcy (WEP) Onr of rhe r.orltcst methods used
to ""'urea wire)..,., nrtwork, >Upcr...,J•d b) WPA and WPA2.
wireless access point (WAP) A central wirelt-> de' re.- that
pro' 1Ms nctworl.. ;er> ICC> 10 wircie>S chenh. 1\1,0 c•llcd an access
point.
wireless lldellty (Wl·Fl) I Jmil) ul popular I [f.E I.AN w1rcb> net·
worlmq,\ standards. aho kno" n J> 802.11, mdudmg 802.1 la, b. g, and
n. 802.11 n is the most recent .iandard. 802.1 bc and 802. I bd are
proposed new standards.
wireless foul area network (WLAN) A " 1rclr•s network ttiar,.
rclan,dy mcxpcr1>1\'e to install and " well suued to workgroops and
u!.er~ who .ire not :.n~hott:d tt• ;i \ipt."<.:tfi(. d~l: or loc:111on.
work breakdown structure (WBS) A proJclt hrol en down onto•
sen es of smaller tasks. Su alsn Gantt chart: PERT/CPM chan.
worst-case estimate: The most pess1m1stk outcomr.
WPA2 A "irckss se<:Urit) srand.ud bdscd on 802.1 l 1 th•t pro• ,.le, a
significant IOC~.JSC '" rmtccnon O\·cr Wl p and \'(·fl,\.
XY chart A tool used by systrm analy<O to i;rarhicall)· ~how the cnr·
rclaoon ~twc<n rwu v>.nablcs. Alw callrd a "-•tl•r diaf,Um.
Yl K issue A problem f._.d b1 many form, in the )·cu 2000 heuu"'
rbeir computer sysr.-ms used only rwo d1gm to rcrrcsenr rhc year: most
d3res no\\ use a four-d11v1 form,lt for tilt" 1·CJr (YYYY.\1\IDD t.
Yovrdon A t}fX' of >ymbol SCI that" used m l)l·l)s. l'roe<<sc<, d•t•
Row s, da1a store<., and external rnntir< each ha Ye a unique ~ymbol m
the Yourdun >) mhol ><t.
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
INDEX
1:1, 280
l:~l, 280
lNF. See first normal form (I NF)
2NF. See second normal form (2NF)
3NF. See chird normal fonn (3NF)
4GL. See fourth-generation language (4GL)
802.J J, 338
802.11 ac, 339
802.1lb,338
802.1 li,427
802. J Jn, 338
A
abbreviation codes, 298
absolurc date, 304
acceptance, 421
acceptance rc~t~, 372
access poinr, 339
action codes, 299
activity, 78. See also task
activity diagram, 193- 194
actor, 187
adaptive maintenance, 404, 406
adnurustrator account, 430
agile methods, 17, 18,22-24, 113-114.Seealso
agile mechods
advantages and disadvantages, 114
application developmenr, 357, 367-369
Airbnb, 8
Alexa (Amazon.com), 15
alias, 164
allocated baseline, 4 14
ALM. See application life C)•cle management (Au\.i)
alphabetic codes, 298
Ama1on.com, l 5, 53
Amazon Echo Dot, I 5
app,8
Apple, 15, 207, 229-230, 425
Apple Keynote, 386
Apple's rind My iPhone app, 425
Apple's iOS, 232
Apple's Mac OS X, 415
Apple Xco<le, 370
application, 319
logic, 147,325
~ecuriry, 429-432
server, 325
software, 5
systems architecture, 319
application development, 356-359
agile, 357, 367-369
object-oriented, 364-367
structured,356-357,359-364
system design review, 356
tasks, 356-357
tools, 357-359
application lifecyclc management (ALM), 24
application service provider (ASP), 208-209,
331
applications programmer, 408
Apprivo, 89
archived, 4 12
Ars Techn ica, 126
artificial inrelligencc, 15
ASC II, 303
ASP. See application service provider (ASP)
asset, 420
associative entity, 282
ASTQB foundation level certification, 441
ATNl. See automatic teller machine (ATM)
attack, 421
attributes, 183, 276, 365
audit fields, 305
audit log files, 305
audit trails, 245, 257
auchorization zone, 246
automated fax, 253
automatic teller machine (ATM), 254, 332
automatic update service, 430
availability, 4 J 9
a,roidance, 421
B
B2C (busine~s-ro-consumcr), 8
back door a track, 422
backup,305,435-437
backup media, 435
backup policy, 435-436
balancing, 159, 160-163
bandwidth, 329, 4 16-417
baseline,414
Basic Service Ser (SSS), 339
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ··----~~-.,.-"~...........--......
471
472
barch, 254
bacch concrols, 244
bacch input, 254
bacch processing, 333
BCP. See business concinuit)' plan (BCP)
benchmark, 218-219
benchmark resting, 4 16
besc-case escimate, 79
Big Ten University, I 63
binary storage format, 303
biometric scaonmg systems, 423-424
BIOS-level password, 424
bits, 303
Bizagi Modeler, 194
black box, 14 7, l 84
black hole, 149
Blockchain technology, 52
block sequence codes, 298
biogs, 252
Bluerooth, 339
body zone, 246
Boehm, Barry, 24
Boeing, 11
Bologva, E., 232
boor-level password, 424
bortom-up technique, 77
BP~1. See business process model (BPM)
BP.MN. See busincs~ process modeling norarion
(BPJ\IN)
BPO. See business process outsourcing (BPO)
brainstorming, 125
bring your own device (BYOD), 34
Brooks, Frederick, Jr., 94
Brooks' law, 94
BSS. See Basic Service Set ( BSS)
budget issues, 9 5
bug tracking software, 374
build or buy, 203
business, 8-9
B2B, 9
B2C, 8
case, 47-48
continuity, 436-437
information systems, l 1- 15
ln rcrncr mode I, 8
logic, 147, 325
modeling husinc~s operarions, 9-1 I
process, 9
profile, 9
rules, 19, 147
skills, systems analysts, 30
suppon sysrems, 12-13
business continwty plan (BCP), 437
business issues, 95
business model. 9
business process diagrams, 130
business process model (BPM), 9, 130, 194
business process modeling notation (BPMN),
10, l30
business process outsourcing (BPO), 208
business profile, 9
bus network, 336
byte, 303
Index
c
C#, 201, 367
C++, 22, 181 , 367
calendar control, 24 0
Calendar view, Microsofr Project, 92
Cameo Systems Modeler, 26
candidate key, 278
Capabilicy Maturity Model (CMM)•, 353
Capabilicy Maturity Model lnccgracion (CMMI )~,
353
capacity planning, 4 17-4 19
cardinality, 190, 283
cardinality notation, 283
career opponunities, system~ analysts, 32-33
Carnegie Mellon Univer~ity Software Engineering
lnsritute, 353
CASE. See computer-aided software engineering
(CASE); computer-:iided ~)'~tems engineering
(CASE)
case for action, 68
CASE cools, 24, 47
ERDs, 283
UML, 195
category codes, 298
CC. See change control (CC)
certification, 3 1, 44 I
change conrrol (CC), 411
character-based report, 248
characters, 303
child, 185
child diagram, 157
CIA triangle, 4 19
cipher codes, 299
Cisco Systems, 377
certification, 442
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Index
473
class, 21, 184-185
class diagram, 190-191
clicks ro close, 302
clickstrcam storage, 302
clients, 321
client/server an:hiceccure, 323-327
client's role, 324-325
cost-benefit issues, 326-327
auddleware, 326
overview, 323-324
performance issues, 327
tiers, 325-326
dosed-ended questtons, 1 18
cloud computing, 33-34, 202, 328-329
impact, 439
CM. See configurarion management (CM)
CMM. See Cap.tbiliry Maturity Model (CMM)
CMMI. See Capability Maturiry Model lntcgrarion
(CMMI)
CNET, 126
Codd, Edgar, 284
code,297-300
designing, 299-300
overview, 297
reviews, 87, 370
rypcs, 298-299
coding, 369-370
cohesion, 36 J-'l62
object-oriented development, 366-367
combination check, 244
combination key, 276
command burton, 239
common field, 271, 276
communication
skills, systems analysts, 30
company's financial srarus, 51
company size, 32
com peri rors, 5 3
composite key, 276
computer-aided software engineering, 24. See also
CASE tools
computer-aided systems engineering (CASE), 24.
See also CASE tools
computer resources commirrec, 54
con ca ten a red kc>'• 2 7 6
concurrent task, 83
condition, 36 1
confidentiality, 419
configuration management (CM), 411-412
constraint, 63-64
construction phase, I I I
context diagram, 154-155
coocexr-sensirive, 236
continuous backup, 435, 436
control
break, 248
break report, 248
couple, 360
data, 305
field order, 248
module, 360
risk, 421
structures, 169
user interface design, 255-257
zone, 246
corporate culture, 32
systems architecture, 3 l 7
corporate organization, systems architecture,
317
corporate portal, 320
corrective maintenance, 404-406
cost
intangible, 57
operational, 403
ownership, rotal, 57, 3 18-319
tangible, 57
cost-benefit analysis, 67, 212-213
checklist, 213
software acqu1Smon process, 219
sysrem archirecrure, 326-327
couples, strucrure charts. 363-364
coupling, 362
object-oriented development, 366-367
CP~l. See Critical Path ,\tcrhod (CPM.)
credentials, 441-442
critical path, 85-87
calculating, 85-87
tasks and, 87
Critical Path Method (CPM), 77. See also
PERT/CPM charr
critical risks, 421
critical success focrors, 45
Crirical Thinking Community, 30
critical thinking skills, 30, 442
CRM. See customer relationship managemenr
(CRM)
crow's foot norarion, 283
customer relationship m::inagemenr (CRM), 53
cusromers, 53, 367. See also cusromcr relationship
management (CRM)
474
curover phase, 11 I
CybcrEthics, 442
cybcrterrorist, 422
D
data, 3, 5
anal)'sis, preliminary invesrigarion, 65- 67
control, 305
conversion, 382-383
couple, 360
frames, 337
item, 303
legacy, 6, 324
mart, 30 I
mining, 302
normaliza rion, 284- 297
processing cencer, 321
securiry, 257
strucrure, 269
tesr, 371
type check, 244
validation rule, 243-245
warehouse, 30 I
web-based, design, 274-275
data and process modeling, 144-176
data dicuonaries, 164-168
DFDs. See data flow diagram (DFD)
process descripc1on cools, 169-175
darabase adminisrranon, 28
dacabase administrator (OBA), 272
darabase managemenr S)'Stem ( DB ~I S ) ,
271-274
componenrs, 272-274
darabase programmer, 408
daca center, 5
dara design, 268-307
codes, 297-300
concepts, 269-272
data control, 305
dara storage and access, 301-304
DBMSs, 27 l-274
entity-relationship diagrams, 280-284
example, 269-271
normalization. See normali1ation
terminology, 275- 279
web-based, 274- 275
data dictionary, 164- 168
documenting data flows, 165- 166
documenting data stores, J 66
documenting enritie~, 167
documenting processes, 167
documenting record~, 167- 168
reporrs, 168
structure char t~, 363
dara element, 164, 303
data entry ~reen, Ui.er interface!.,
240-243
data flow. 147-149
di verging, 15 7
data flow diagrams (DFDs), 19, 13 I,
146-152
drawing, 152-154
drawing structure charts, 362-363
examples in creating, l 54-158
symbols, 146-152
using symbols, 152
data item, l 64
data manipulation language (OM L), 2 73
data replication, 43 7
data repository, 164. See also dara dictionary
data score, 149. See also data dictionary
data store symbol, DFDs, 149-151
data strucrures, 164
dares, storing, 304
OBA. See database administrator (OBA)
DB,:\15. See database management sysrem
(DBMS)
DDB~1S. See distributed dJrabasc managemenr
system (DDBt-lS)
DDOS. See distributed denial of service
(DDOS)
decision table, 170-174, 358-359
mulriple outcomes, 172-174
one condition, 170
three conditions, 171-172
two condirions, J 71
decision tree, 175, 358-359
decomposing, 159
default value, 165, 236
defect tracking softwa re, 374
deliverable, 19
denial of service (DoS), 422, 428
dependent task, 83
derivation codes, 299
design prowryping, 259
design reviews, 87
desk checking, 370
desktop computer, securiry, 424
Index
Index
475
dee a i I report, 251
developmenc scracegy, 200-223
co~r and benefir analy~i~, 212-213
evolving rrends, 202-203
in-hou~ sofrware de\'clopmenr oprions,
203-208
offshoring, 210
oucsourcing, 208-2 10
selecrmg, 211-214
software acqms1rion process, 214-219
Software as a Service (SaaS), 211
sysrem analyst's role, 212
sysrems analysis rask completion, 219- 222
rransition to systems design, 221-222
DFD. See dara now diagram (DFD)
diagram 0, 155-158
diagrams, 129-13 I
business process, 130
dara flow, 13 1
functional decomposition, 129-130
sequence, 132-133
use case, 132
dialog box, 239
differenrial backup, 435, 436
digiral assisranr, 15
digiral output, 253
dimensions, 30 I
direcr curover, 379-381
disa~ter recovery plan, 4 3 5
discretionary prorecrs, 60
diskless worksranon, 256
distributed darabase managemenr system
(DDBMS), 327
disrribured denial of service (0005),
422,428
distributed systems, 322
diverging data now, 157
DML. See dara manipulation language (DML)
documentation, 373-378
online, 376-378
operations, 375
program, 374
reviewing in preliminary investigation, 65
sysrem, 374
user, 375-376
user inrerface design, 234
documenting interviews, 120-12 I
documenr review, 122
domain, 165
dumpsrcr diving, 422, 4 34
duration, 82
factors affectmg, 80-81
dynamic priontie~, 59
£
EBCDIC, 303
e-commerce (elecrronic commerce), 8
architecture, 329-332
economic feasibility, 57-58, 67
economy, 53
economy of scale, 272
EDI. See electronic data interchange (EDI)
education, sys rems analysis, 31
EH Rs. See electronic healrh records
(EHRs)
electronic commerce (e-commerce), 8
elecrronic darn interchange (EDI), 9, 52
electronic health records (El I Rs), 232
elecrronic product code (EPC), 52
elecrronic proof of delivery ( EPOD), 53
email, 252
empowerment, 17
encapsulation, 184
encryption, 257, 305, 431
nerwork rra ffic, 4 26
engaged listemng, 120
enhancement, 406
enterprise apphcarions, 5
enrerprise compuring, 11
enrerprise resource planning (ERP), I I,
317-318
enriry, 151, 276
documennng, 167
symbol in DFDs, 151
entity-relationship diagram (ER 0 ), 280-284,
356, 358
cardinality, 283
drawing, 280
rclarionship types, 280-282
EPC. See electronic product code ( EPC)
epic, 127
EPOD. See electronic pre>of of delivery (EPOD)
ERD. See entiry-rcl:nionship diagram (ERD)
ERP. See cnrcrprise resource planning (ERP)
error(s)
human, 420
logic, 370
S)'ntax, 370
476
Index
espionage, 420
ethical i:.:.uei., 35, 69, 96, 176, 195, 222, 260, 306,
343, 391, 443
evaluating interview, 121
eva I ua ti on
model, 215
post-implementation, 388-390
and )election team, 212
evencs, 78
Evernote, 135
Excel (Microsoft), 47, 93, 170, 207, 417
exception report, 251
existence check, 244
existing systems and data, 51
exploding, 159
exploit, 421
Extended Service Ser (ESS), 339
extensibility, 3 19
extorrion, 420
Extreme Programming (XP), 24, 357
F
Faccbook,202,329
face-finding (collecting information)
business ca~ analysi~, 64-67
gathering requircmcnrs, 114-115
fat client, 324
fault management, 414-415
fault tolerant, 435
faxback, 253
FDD. See functional decomposition
diagram (FDDJ
feasibility
economic, 57-58, 67
evaluating, 67-68
operational, 57, 67
schedule, 58-59, 67-68
study, 20, 56
systems requests, 56-59
technical, 58, 67
features, 127
fee, outsourcing, 209
feedback, user interface design, 233,
236-237
field, 164, 276
audit, 305
common, 271, 276
key, 276-279
nonkey, 278
file, 269, 276
processing i.ystem, 270
security, 431-432
file-oriented ~ystem s, 270
fill-in form, J 24
financial analysi). Sec coltt-benefit analy'>is
finish day/dare, 83
firewall, 429
first normal form ( I NF), 286-287
fishbone diagram. 62
fixed fee model, 209
Florida Institute ofTechnolog)', 297
flowchart, 358
foreign key, 2 78
form filling, 240
form layout, 246
forums, 217
four-model approach, 145
full backup, 435, 436
functional baseline, 4 14
functional decomposition diagram (FOO),
129-130,232
functionally dependent, 287
functional primitive, 157
functional requirement, I 05
G
Gane and Sarson, 146
Gantt, Henry L., 76-77
Gantt chan, 76-77
Microsoft Project, 9 J
GanttProject, 89
garbage in, garbage out (GIGO), 246
Gardner, Elizabeth, 232
Carmer Inc., 210
gateway, 337
gathering requirements, 1 14-1 15
in agile projecrs, 127-128
through interviews, 116-121
using other techniques, 12 1- 127
Gbps (gigabits per second), 4 16
gigabits per second (Gbps), 338
GIGO. See garbage in, garbage our (GIGO)
globalization, impact, 439
global outsourcing, 210
glueware, 326
Google, 425
Assistant, 15
Docs, 136
Groups, 217
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Index
477
GoToMyPC (Cicrix), 401
governmenr, 53
graphical user inrerfoce (GUI), 229
gray hole, 149
Greening, Dan R., 302
Groupb (Google), 217
groupware, 14
GUI. See graphical u~er interface (GUI)
H
hacker, 422
hackrivisc, 422
hardening, 430
hardware, 5
hardware failure, 420
hash tocab, 245
Hawthorne Effccc, 122- 123
HC I. See hum:in-computer inreracrion (HCI)
heading zone, 246
help desk, 28, 401-402
Hewlerr-Pack.-ird (HP}, 2 13
bjerarchical network, 335-336
Hillcop Motors, 189
Hilton I lotels, 11
rustogram, 135
Hollerith, Herman, 3
horizontal applicacion, 203
horizontal system, 6
bot site, 437
I IP. See 1 lewlerr-Packard (I IP)
HTMl./X,\H., 370
HTTP/2, 327
huh,337
human-computer interaccion (HCI), 230-232
human error, 420
I
IBM (lncernacional Bu&iness Machines),
3-4,52
082, 273
Rational DOORS, 136
Racional coolset, 370
ring network technology, 336
on user incerfoces, 231
WebSphere Commerce, 331
IBS. See Internee business services (IBS)
IC. See inform.-ition cenrer (IC)
lDE. See integrated development
environment {IDE)
idcnticy management, 432
idenricy theft, 4 33
IEEE. See l n~citute of Eleccric.-il and Electronics
Engineers (IEEE)
rEEE 802.11i,427
incremental backup, 435, 436
inference rules, 13
informal structures, I 16
information, 5
orgamzadonal models, 16-17
inform.-ition center (IC), 243
information system, 4-8
evaluating requiremenrs, software acquisition
process, 2 I 4-216
informa tion technology (IT), 3-4
changing nature of, 3
department, 5 1
crcndsin,33-35
lnfoWorld, 126
infrasrruccure mode, 339
inheritance, 185
in-house software, 203, 204-205
mpur
control, 256-257
mask. 241
security, 256-257
technology, 254-255
installation, 378-391
data conversion, 382-383
operauonal and test environments,
378-379
posr-implemenratton tasks, 387-390
system changeover, 379-382
training, 383-384
i nsta nee, l 84
instant me~saging (IM), 252
lnstirute of Electric.ii and Electronics Engineers
(IEEE), 338
802.llac specification, 339
802.11 b specification, 338-339
802.l lg specification, 338
802.11 n specification, 338
802.11 specifications, 338, 427
instruction zone, 246
intangible benefits, 58
intangible costs, 57
integraced development environment (I DE),
24,370
478
Index
integration testing, 372
integrity, 4 19
interactive training, 387
interface
OBMSs, 272-274
user. See graphical u er interface (GUI); user
interface
International OrganiL.ation for Standardization
(ISO), 304, 355
Internet
cloud computing, 202
commerce, 331
information delivery, 252
mobile devices, 203
operating system, 329
SaaS, 328
system architecture, 327-329
traditional vs, web-based systems dcvclopmcnr,
201
Web 2.0,202
Internet business services (IBS), 209
Internet-of-Things (IOT), 52
interview, I 16
conducring, 120
determining people ro, 116-11 7
developing que~rions, I 17
documenting, 120-12 l
establishing ohjccn\'es, 11 7
evaluating, 12 l
garhering requircmcnrs rhrough, 116-121
preparing for, I 18- 120
process, I 16
qucsrionnaires compared, 124-125
lSO. See International Organi1.arion for
Standardization (ISO)
lSO 9000-3:20 l 4, 355
IT. See information technology (IT)
IT department, role of, 46-47
iteration, 169
cycle, 369
planning meeting, 369
and releases, 369
iterative, 22
J
JAD. See joint application development (jAO)
Java, 22, 181, 367
JDBC (Java database conncctivit)'), 274
]IT. See just-in-time (jlT )
job cities, 32
joint applicarion development UAD), 109- 1l0
advantages and tli~ad,•antagcs, I I 0
panicipants and role , 109- 110
user involvement, I 09
just-in-rime (JIT), 52
K
Kbps (kilobits per second), 416
key fields, 276-279
keystroke logger, 424
knee of the curve, 32 7
knowledge base, 13
knowledge management, 13- 14
L
LAN. See local area network (LAN)
layout, user interface design, 237-238
leading questions, 11 7
LearnCode.academ)', 377
legacy data, 324
legacy systems, 6, 319-320
length, 165
leveling, 158, 159-160
library module, 360
lifeline, 192
limit check, 244
Linkedln, 202, 329
list boxes, 240
listening, engaged, 120
local area network (LAN), 322
log, 431
logical design, 221-222
logical model, 145
logical record, 303
logical storage, 302-303
logical :.rructures, 169
logical topology, 335
logic errors, 3 70
loop, 361, 363-364
looping, 169
loosely coupled, 362
M
machine learning, 15
magnetic data strips, 255
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Index
479
mail bombing, 422
maintenance, 403-414
activiti~, 403
adaptive, 404, 406
agreement, 219
baseline~, 414
configuration management,
411-412
correcave, 404-406
expenses, 403
maintenance ream, 408-409
perfective, 404, 406-407
preventive, 404, 407
priorities, 410-411
release methodology, 4 12
requests, 409-410
version control, 412-413
make or buy (build or buy) decision, 20.3
malicious code, 422
malware, 430
managed hosting, 209
management
fi na 1 reporr to, 3 90
system requirement, 220-221
managcmcnr information system (MlS), 13
managing for success, 94-96
budget issues, 9 5
business issues, 9 5
schedule issues, 96
man in the middle artack, 422
many-to-many relanonship, 281
market basket analysis, 302
Mbp~ (megabits per econd), 338, 416
megabits per second (Mbps), 338
menu bars, 239
mesh network, 337
messages, 22, 183-184
methods, 22, 183
metrics, 416
Microsoh, 331
certification, 442
information resource, 2 17
.NET, 370
network diagrams, 77
project triangles, 75-76
software applications, 207-208
on user interfaces, 231
Microsoft Access, 135, 273
input masks, 24 1, 242
reports, 248
Microsoft Excel, 47, 93, 170, 207, 41 7
f\1icrosoh . 1:.1, 20 I
t-.1icrosoft Office 365, 136
1\1icrosoh OneNote, 121, 135
1\1icrosoft Outlook, 134
Microsoft PowerPoinr, 170, 386
Microsoft Project, 89
Calendar view, 92
critical path, 85-87
displaying WBSs, 8 1-82
Gantt charts, 91
network diagrams, 9 1-92
WBSs, 91
Microsoft Visio, 10, 136
Microsoft Window~, 232
Microsoft Word, 47, 170, 207
middleware, 202, 275, 326
milestones, 78
MIMO. See multiple inpuc/multiple output
(MlMO)
MIS. See management information system (MIS)
mission-critical ~ysrem, 5
mission statement, 45
mitigation. 42 1
M:N, 281
mnemonic codes, 298
mock-up, 248
modeling, 9
user interface design, 233
modular design, 169-1 70, 257, 359
modules, 257, 357, 360, 363
control, 360
MongoDB, 201
Monster.com, 4
Moore, Gordon, 5
Moore's Law, 5
multipath design, 339
mukiplc inpuc/multiple output (Mlt-.10), 339
multivalued key, 276
N
National Institute of Standards and Technology
(NIST), 202
natural disasters, 420
natural language, 128-129, 235-236
.NET, 20 l, 370
net-centric computing, 325
net present value (NPV), 2 12
480
network, 426
administration, 28
devicci., 337-338
interface, 426
local area and wide area, 322-323
models, 334-338
private, 427
~ecurity, 426-429
topology, 335
network diagram, 77
Microsoft Project, 91-92
11etwork inttusio11 detection system
(NIOS), 429
node, 319
11ondiscretionary projects, 60
non-fu1ictional requirement, I 05
nonkey field, 278
normalization, 284-297
first normal form, 286-287
real-world examples, 29 1-297
second normal form, 287-289
standard notation format NOT, 285-286
third normal fonn, 290-291
n-tier designs, 325
0
object model, 181
ob1ect modeling, 180-196. See also
object-oncnred (0-0) analysis
a ttriburcs, 183
class, 184-185
messages, J 83
methods, 183
objects, 181-182
relationships among objects and
classes, 186-l87
tools, 195
U~IL. See Unified Modeling Language (UML)
object-orienrcd (0-0) analysis, 17, 2 1-22, L8 l
object-oriented development (OOD), 364-367
characteristics of, 365-366
cohesion and coupling, 366-367
implementation of designs, 366
objects, 21, 181-182
observation, 122-123
observing in preliminary investigarion, 65
ODBC. See open damba~e connecriviry (ODBC)
offshore outsourcing, 2 I 0
offsiting, 435
OneNote (Microsoft), 121, 135
one-co-manr relationship, 280
one-co-one relationship, 280
online data entry, 254
online system, 332
online t raining, 387
0-0. See object-oriented (0-0) analysis
OOD. See object-oriented development (000)
open database connectivity (ODBC), 274, 383
open-ended questions, 117-1 18
open-source, 89
Open Systems Interconnection model. See OSI
(Open Systems Interconnection) model
operational costs, 403
operational environment, 378-379
opcrationaJ feasibility, 57, 67
operational security, 434
operations center security, 423-424
operations documentation, 375
oprion burton, 240
Oracle Corporation, 273, 318
certification, 442
organizational information models, 16-17
organizacional issues, 408-409
orphan, 279
051 (Open Systems lnrerconnecuon) model, 334
output
control, 255-256
printed, design, 247-251
security, 255-256
technology, 252-254
outsourcing, 208-210
advantages and di~advanrages, 403
fees, 209
growth, 208
issues and concerns, 210
p
page footer, 249
page header, 249
pair programming, 368
parallel operation, 38 l
parent, 185
parent diagram, 157
Pareto chart, 65
partitioning, 159, 359
password, 432
Index
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Index
481
pas~word cracking, 422
patchc&, 374, 405
payback analy~is, 212
perfective maintenance, 404, 406-407
performance. Sec also benchmark; syscem performance
management
syMem architt'l:ture, 327
Perl, 367
permissions, 305, 430
personal computer, impact on sysrems architecture,
322
personal digital assistant, 15
personal informarion manager (PIM), 134
person-day, 79
PERT/CPM chart, 77-78
maintaining schedule, 87
phased operation, 38 1-382
phishing, 422
physical design, 22 1-222
physical model, 145
physical security, 423
physical storage, 302-303
physical ropology, 335
pilot operation, 38 1
pilot site, 381
PIM. See personal informarion
manager (PIM)
PKE. See public key encryprion (PKE)
plain text, 426
platform, 317
plotter, 254
podca~t, 253, 385
point-of-~ale (POS), 333-334
po1111-of-sale terminal, 253
Polanon, 25
polymorphism, 183
pool, J 30
port, 427
portable computer, security, 425-426
portal, 320
port scan, 427-428
POS. See point-of-sale (POS)
post-implementation casks, 387-390
evaluation, 388-390
final report co man,1gement, 390
power-on password, 424
PowerPoinr (Microsoft), 170
predecessor tasks, 79
multiple, 83-84
preliminary investigation, 20, 60-69
planning, 61
steps, 61-68
summarinng, 68
pretexting, 433
pre,·entive maintenance, 404, 407
prin1ary ke), 276
printed output design, 247-251
printers, ~pecial-purpo~e, 254
priorities
dynamic,59
farors affecting, 59-60
setting, 59-60
private key encryption, 426
private network, 427
privilege escalation attack, 422, 432
probable-case esrimate, 79
Procedia Comp11ter Science I 00 (Bologva), 232
procedural security, 434
process, 7, 14 7
documenting, 167
improvement, 353
symbol in DFDs, 147
process 0, 154
process description, 169-175
decision tables, 170-174
decision tree., 17 5
modular design, 169-170
structured English, 170
processing systems requests, 54-55
product baselme, 414
production environment, 378-379
productivity sofrware, J 34
product lifccrcle management (PLM), 24
product--0riented, 34
program documentation, 374
Program Evaluation Review Technique {PERT),
77- 78. See also PERT/CPM chart
programmer/analyst, 408
Project (Microsoft). See Microsoft Project
project coordinaror, 76
project creep, 62, 95
project leader, 76
project management, 18, 74-97
managing for success, 94-96
overview, 75-76
project monitoring and control, 87
reporting, 87-89
risk management, 93-94
......... ""_.. ...
.-.. ............... _
.. __ __.... ................... ~~·~---- ···---~~-.,.-"~ ........... --......
("..,_..., llll!O( ...... ..--. .\) ....... ~ "->-"'Allf'W ~-............... ,.. o-.... ._ ...... _ ... ,..,...,...,~..,._.. .............. ~ ..
482
project management (Co11ti1111ed)
software, 89-92
task patterns, 82-85
work breakdown structures, 76-82, 91
project manager, 76
project monitoring, 76
project planning, 76
project reporting, 76
project scheduling, 76
project scope, 62-65
project status meeting, 88
project status report, 88
project triangle, 75-76
properties, 21
prototype, 24, 258
user inrerface design, 233
prototyping, 258-259
proxy server, 337
pseudocode, J 70, 358
public key encryption (PKE), 426-427
Python, 181, 367, 387
Q
QA. See quality assurance (QA)
QBE. See query hy example (QBE)
qualirarive risk analysis, 93
quality assurance (QA), 28, 353-355
quality artribures, 105
quanritarive risk analysi~, 94
query by example (QBE), 273
query language, 273
quesnonnaire, 123-124
interviews compared, 124-125
quesnons
closed-ended, I 18
developing inrcrview, I 17
leading, J J 7
open-ended, I J 7-118
range-of-re~ponse, 118
R
RAD. See rapid application development (RAD)
radio button, 240
radio frequency idcnnficarion (RFID), 13
tags, 50, 53, 255
RAID (redundant array of independent disks), 435
random sample, 125
Index
range check, 244
range-of-response question~, I 18
rapid application development (RAD), 109, 111-112
advantages and di~ad,•amages, 112
objectives, l J 2
phases and activities, 111- 112
reasonableness check, 244
records, 164, 276
documenting, J 67-J 68
records rerenrion policy, 257
recovery, 435-437
recovery procedures, 305
Reddic, 217
redw1dant array of independent disks. See RAlD
(redundaJlt array of independent disks)
referential integrity, 244, 279
relational database, 271
relational model, 271
relationships, L85
structure charrs, 363
release plan, 369
remote control sofrw:i re, 40 I
repeating group, 285
report
data dictionary, 168
design, 248-25 I
footer, 249
header, 249
srsrem design prcsenranon, 342-343
representing requiremenrs, 128-133
diagrams, 129-131
models, 131-133
narural language, 128-129
requesr for proposa 1 ( R FP), 215
requiremenr(s). See also rcqui remenrs engineering
challenges, 106-J 08
definitions, l 05
eliciration, 114
fu11Ctional, 105
gathering, 114-115
non-functional, 105
representing, 128-133
specifications, 105
system, 105
rypes of, J 05-106
validating and verifying, I 33-l34
requirements engineering, 20, I 04-138
gathering requirements, I 14-128
representing requirements, 128-133
system requirements, I 05-108
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~---tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Index
483
ream-based technique~, 108-114
tools, 134-137
validating and verifying requirements,
133-134
requirements planning phase, 111
re~earch, 126-12 7
Resource ~1oniror (\Vindows), 41 5
response rime, 416
responsible user(s), 165
respo11S1\'e Web design, 258
retention period, 4 36
retirement, system, 437-438
return on investment (ROI), 2 12
RFID. See radio frequency identification (RFlD)
RFID tags, 52, 53, 255
systems projects, 52, 53
RFP. See request fo r proposal (RFP)
RFQ. See request for quorarion (RFQ)
ring network, 336
risk, 93, 42 1
risk assessment, 420, 42 1
risk control, 420, 421
risk idenrification, 93, 420-421
risk management, 93-94, 420-421
ri5k managcmcnr pliln, 93
risk response plan, 94
roaming, 339
router, 337
Rub), 367
s
SaaS. See Sofrware as a Scrvicc(SaaS)
salary, 32
sales force
corporate culnirc, 32-33
sampling, 125-126
SAP, 11
scalabiliry, 107, 271-272, 319
scalable, 2 1
scaling on demand, 328
scarcer diagram, 66
scenarios, 127
schedule
analysis, 67
feasibility, 58-59, 67-68
maintaining, 87
schedule issues, 96
schema, 273
SCM. See supply chain management (SCM)
script kiddie, 422
scroll bar, 240
Scrum, 23, 1 I 3
SDLC. See S)'~tems development life crcle (SDLC)
secondaq key, 278-279
second normal form (2NF), 287-289
security, 107, 165, 419-423
applications, 429-432
concepts, 419
file, 431-432
firewalls, 429
hole, 430
aerwork, 426-429
NIDS,429
operational, 434
operations center, 423-424
policy, 419
procedural, 434
risk management, 420-421
sysrcms architecture, 320
roken, 433
user, 432-434
user interface design, 255-257
SEI. See Sofrwilre Engineering Institute (SE!)
selection, 169
semantic web, 329
sequence, 169
sequence check, 244
sequence codes, 298
sequence diagram, 132-133, 192
server, 321
application, 325
clientlser\er architecture, 323-327
proxy, 337
security, 424
service, 427
desk,207-208,401-402
failure, 420
packs, 412
provider, 208-209
securiry, 430
service desk, 207-208, 401-402
service-oriented companies, 34
service provider, 208-209
Sherwin-Williams, 9
significant digit codes, 298-299
simulation, 387
sink, 15 I
sire visit, 127
484
Index
slack time, 87
sniffing, 423
social engineering, 423, 432-433
social networking ~ite, 329
so fr skills, 44 2
software, 5-6
acquis1rion procCSl>, 2 14-219
application, 5
anack,420
bug trackmg, 374
defect crackmg, 374
e11gineering, 353
failure, 420
license, 219
logs, 431
reengineeriug, 406
remote control, 40 J
requirements specification, 2 1, 219-220
system software, 5
third-party, 430
workgroup, 14
Software as a Service (S:.iaS), 211, 328
Software Engineering Institute (SEI), 353, 354
software package, 203
customizing, 206-207
purchasing, 205-206
software vendors, 203
identifying, 217
source, 151, 165
source data automation, 254-255
source document, 246
spam, 423
special-purpose printers, 254
spiral model, 23
sponraneous generation, 149
spoofing, 423
spy, 422
SQL (Structured Query Language), 273, 326
stakeholder, 7
stand-alone computing, 322
standard notation formar, 285-286
star network, 337
srart day/dare, 83
srare, J 83
srare transition diagram, 192- 193
srarus flag, 360
storyboards, 127, 233
strategic plan, 50
strategic planning, 45, 440-44 I
tools, 47
stratified sa m pie, 125
structure chart, 360-361, 362-364
structured analysis, l 7, 18-22
structured application development, 356-357,
359-364
structured brairutonning, 125
Structured English, 170
structured walk-through, 87, 370
stub testing, 371
subclasses, 184
subordinate module, 360
subschema, 273
subscription model, 209
successor task, 83, 85
summary report, 25 l
Sun Microsystems, 325
superclass, J 84
superuser account, 430
suppliers, 52
supply chain, 9
supply chain management (SCM), 9,
53,318
surveys, 123--124
interviews compared, 124-125
preliminary investigation, 65
swim lanes, 130
switch, 337
switchboard, 238
S\VOT analysis, 45-46
syntax errors, 370
SysML, 131
system, 4
system administrator, 408
system architecrure, 316-345
client/server architecture, 323-327
corporate organization and culrure, 317
corporate portals, 320
ecommerce, 329-332
ERP, 317-318
impact of Lnterner, 327-329
impact of personal computer, 322
initial cost and TCO, 3 J 8-3 19
legacy systems, 319-320
mainframe a rchitccrure, 321-322
network evolution, 322-323
network models, 334-338
processing methods, 332-334
processing options, 320
scalability, 319
security issues, 320
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
Index
485
systemJ. design complerion, 341-343
web inrt>grarion, 3 19
wireless networks, 338-340
systematic sample, 125
syscem boundary, 189
syscem changeover, 379
direct cucover, 379-381
parallel operauon, 381
phased operaaon, 381-382
piJoc operanon, 381
system design review, 356
srstem design specification, 21, 341-342
system documencation, 374
system performance managemenr, 414-419
capacity planning, 4 17-419
fault management, 414-415
performance and workload management, 416
system prototyping, 259
sys rem requiremenr, 105
documenc, 20, 219-220
syscems analysis, 103-223. See also data and process
modeling; object modeling; requircmenrs
engineering
and design, 4
phase, 20
systems analysrs, 4, 28-34
career oppornmiries, 32-33
certification, 3 1
knowledge, ~kills, and educarion, 29-31
maintenance team member, 408
role,28-29
role in systems developmenr process, 212
systems design, 227-343. See also data design;
system architecrure; systems analysis; user
interface design
goal, 227
logical and physical, 221-222
review, 356
transition to, 221-222
syscems design phase, 2 I
S)'Stems development, 17-26
systems development life cycle (SDLC),
19,36
systems implcmencarion phase, 2 l, 352-393
coding, 369-370
docurnenration, 373-378
installation, 3 78-391
quality assurance, 353-355
resting, 370-373
systems integration, 15
system software, 5
systems planning phase, 20
systems programmer, 408
systems projecrs
external faccors, 52-53
internal faccors, 50-51
syscems requests, 20
feasibiliry, 56-59
forms,54
processing, 54-55
toob,54
sysrems review committee, 54
systems support and security phase, 21, 27, 399~5
backup and recovet) 1 , 435-437
future challenges and opportunities, 438-442
maintenance management, 408-4 14
maintenance casks, 403-407
security. See security
system performance management, 414-419
system retircmenr, 437-438
user support, 401-403
system testing, 372-373
T
table, 269
table design, 284
tamper-evident cases, 424
cangible benefits, 58
cangible costs, 57
task, 78
box,82
concurrenc, 83
dependent, 83, 85
estimating duration, 79-80
group, 77
ID, 82
name, 82
predecessor, 79, 83-84, 85
successor, 83, 85
WBSs, 78-80
task pattern, 82-85
types, 83-84
working with complex, 84-85
TCO. See cota l cost of owncr~h ip (TCO)
TDD. See rest-driven dcvelopmcnr (TDD)
TcchCrunch, 126
cechnical fcasib1lity, 58, 67
......... ""_.. ...
.-.. ............... _
.. __ __.... ................... ~~·~---- ·· · ---~~-.,.- "~ ........... --......
("..,_..., llll!O( ...... ..--. .\) ....... ~ "->-"'Allf'W ~-............... ,.. o-.... ._ ...... _ ... ,..,...,...,~..,._.. .............. ~ ..
486
technical knowledge, systems analysts, 29-30
technical ob~ole~ccnce, 420
technical support, 26-27
technology, 52
rechnolog)' integration, impaCl, 439
terminab, 253
terminators, 15 I
test data, 3 71
test-driven development (mD), 368
test environment, 378
testing reviews, 87
testing the system, 370-373
integration testing, 372
system testing, 372-373
unit testing, 370-371
test plan, 371, 436
theft, 420
thick client, 324
thin client, 325
third normal form (3NF), 290-291
third-party software, 430
threat, 421
three-tier design, 325
throughput, 4 16
throwaway prororyping, 259
tightly coupled, 362
toggle button, 239
roolbar, 239
top-down approach, 359
top managers, 50
total cosr of owncr~hip (TCOJ, 57, 108, 213
systems arch1tccrure, 3 18-319
totals zone, 246
TP. See transaction processing (TP) sy~rems
TPC. See Transaction Processrng Performance
Council (TPC)
traceability, 136
trade-offs, 259-260
training
interactive, 387
online, 387
outside resources, 385
plan, 383-384
podcasts, 385
tips, 386-387
tutorials, 385
user, 401
vendor, 384
webminars, 385
train-the-trainer, 387
Train the Trainers, inc., 19 J
transaction model, 209
Transaction Processing Performance Council
(TPC), 218
transaction processing ("f P) systems, 11-12
transference, 4 21
transparent, 322
transparent interface, 230
TravelBiz., 181
trespass, 420
tunnel, 427
tuple, 276
turnaround documents, 248
turnaround time, 4 J 7
Turnkey Services, 211
tutorial, 385
onlinc, 387
Twitter, 202, 329
two-tier design, 325
type, L65
Index
u
UML. See Unified Modeling Language (UML)
unencrypted, 426-429
Unicode, 303-304
Unified Nlodeling Language (UM L), 131, 181, 187-
194, 283
activity diagram, 193-194
class diagrams, 190-191
sequence diagrams, 192
state rransirion diagrams, 192- 193
use case diagrams, 189-190
use case modeling, 187-189
uninterruprible power supply (UPS), 424
United Stares Compurer Emergency Readiness Team
(US-CERT), 428
unir testing, 370-371
Universal Security Slot (USS), 425
unnormalized table, 285-286
unsrrucrured brainstorming, 125
UPS. See uninrerrupciblc power suppl)' (UPS)
up.time, ldera, 419
US-CERT. See United Scares Computer Emergency
Readiness Team (US-CF.RT)
usability, 229
analysis, 67
metrics, 233
user interface design, 233
(....,..... J:gi( ..... I_,.. 4111.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
_
("..,_...,llll!O(........--. .\) ~ "->-"'Allf'W ~-............... ,.. o-.... ._......_ ... ,..,...,...,~..,._................ ~ .........""_......-................. ..__ __.... ................... ~~·~---- ···---~~-.,.-"~...........--......
Index
usage model, 209
use ca~c, 187
use case dcscripuon, 188
use ca~e diagram, 132, 189-190
use cai.e modeling, 187-189
user, 6
application, 207-208
approval of ~yMem design, 342
considering m user mterfoce design, 233
DB~1Ss, 273
design phase, J 11
groups, 431-432
ID,305
interface, 207
manual, 378
productiviry systems, 14
resistance to security, 433
rights, 305, 430
security, 432-434
story, 369
support, 28
training package, 40 I
user-centered ~ystem, 230
user design phase, I 11
user documcnracion, 375-376
user interface, 229-230. See also graphical user
interface (GUI)
user interface design
ba~ic principles, 232-234
emerging trends, 257-260
guidelines, 234-246
primed output, 248-25 I
securit) and control issues, 255-257
source document and form design, 246-247
technology IS~ues, 251-255
user requests, 5 I
user-selected help, 236
user stories, J 27
user survey, conducting, 65
v
validation, input, 430
validity check, 244
validity rules, 165
value-added rc~eller (VAR), 203
vandalism, 420
VAR. See value-added reseller (VA R)
vendor training, 384
version control, 4 12-4 13
vertical application, 203
vertical S)'i.tem, 6
virtual private network (VPN), 427
Visible Analyi.t (Visible S)'stems Corporation)
CASE tool, 283
documentation, data dictionary, 166
Visio ( ~ticrosoft), I 0
Visual Basic, 20 J, 370
VPN. See virtual private network (VPN)
VRB0,8
vulnerability, 421
w
Walmart, l l, 13, 52
WAN. See wide area network (WAN)
WAP. See wireless access point (WAP)
waterfall model, 19
WBS. See work breakdown strucmrc (WBS)
web
support, 28
S/~tcms ::irchitecturc, 3 19
web-based design, 274-275
Web 2.0, 202, 329
webcast, 252, 385
web-centric architecture, 3 19
web-connected device, portable, 253
webinar, 385
weight, 79
WEP. See \Xfired Equivalent Privacy (WEP)
Western Electric Company, 122
whar-if analysis, 417
wide area network (WAN), 322-323
\Vi-Fi AIJiance, 339
\Vi-Fi Protected Access (\XfPA), 427
wiki, 329
\Vired Equivalent Privacy (\VEP), 427
wireless access point (\VAP), 339
wireless devices, 253
wireless fidelity (Wi-Fi), 339
wireless local area network (WLAN), 338-340
standards, 338-339
topologies, 339
trends, 339-340
WolframAlpha, 13-14
Word (Microsoft). See Micro~oft Word
work breakdown scrucrure (WBS), 76-82. See also
Ganrt chart; PERT/CP1\.I chart
487
488
work breakdown structure (WBS) (Continued)
displaying, 81 - 82
factor~ affecting durarion, 80-81
identifying ta~k~, 78-80
Microsoft Project, 91
workgroup software, 14
workplace, impact, 439
worst-ca~e e~rimate, 79
WPA. See \V1-l-t Protected Access (WPA)
WPA2, 428
x
XP. See Extreme Programming (XP)
XY chart, 66
Microsoft Excel, 93
y
Y2K issue, 304
Yourdon, l 46
Index
(....,..... J:gi( ..... I_,.. 41 11.,.. ~- )U, -Woip-M ._..,.. -·~•-fllllie<'f•,... 0w.,,,.._.._,..."-,.._..,.,_,.,_.,....,. -~--- tfta111&....-.~~ij
r..a...w...,..._...., ....,...,.......,..~.................,.t11ru..__.~~c.....,..~.........,..,... ._.,.,.,.......c:-..•~-".....-""'*"....,.._...,.. ..
c.,,..-•~fftlllll'.._..., A11t1.-RNr-a ~ ••'-Nf'911...._.....-..,....WIL""'t..ikor•,., ~..,-. .......,..,• .._....,~ ,.W«t.., w~...t~.._., •._....._,~,.,
t.M..wl'"_._......,lhll..., ~....,...._,.. ....,.......,...... .,.,...,1.._.....,~ c~~".._.._...._.,,.. ..__..,.............._ ..., ..........""'°..................
c.,,..-•~fftlllll'.._..., A11t1.-RNr-a ~ ••'-Nf'911...._.....-..,....WIL""'t..ikor•,., ~..,-. .......,..,• .._....,~ ,.W«t.., w~...t~.._., •._....._,~,.,
t.M..wl'"_._......,lhll..., ~....,...._,.. ....,.......,...... .,.,...,1.._.....,~ c~~".._.._...._.,,.. ..__..,.............._ ..., ..........""'°..................
c.,,..-•~fftlllll'.._..., A11t1.-RNr-a ~ ••'-Nf'911...._.....-..,....WIL""'t..ikor•,., ~..,-. .......,..,• .._....,~ ,.W«t.., w~...t~.._., •._....._,~,.,
t.M..wl'"_._......,lhll..., ~....,...._,.. ....,.......,...... .,.,...,1.._.....,~ c~~".._.._...._.,,.. ..__..,.............._ ..., ..........""'°..................
c.,,..-•~fftlllll'.._..., A11t1.-RNr-a ~ ••'-Nf'911...._.....-..,....WIL""'t..ikor•,., ~..,-. .......,..,• .._....,~ ,.W«t.., w~...t~.._., •._....._,~,.,
t.M..wl'"_._......,lhll..., ~....,...._,.. ....,.......,...... .,.,...,1.._.....,~ c~~".._.._...._.,,.. ..__..,.............._ ..., ..........""'°..................
c.,,..-•~fftlllll'.._..., A11t1.-RNr-a ~ ••'-Nf'911...._.....-..,....WIL""'t..ikor•,., ~..,-. .......,..,• .._....,~ ,.W«t.., w~...t~.._., •._....._,~,.,
t.M..wl'"_._......,lhll..., ~....,...._,.. ....,.......,...... .,.,...,1.._.....,~ c~~".._.._...._.,,.. ..__..,.............._ ..., ..........""'°..................
c.,,..-•~fftlllll'.._..., A11t1.-RNr-a ~ ••'-Nf'911...._.....-..,....WIL""'t..ikor•,., ~..,-. .......,..,• .._....,~ ,.W«t.., w~...t~.._., •._....._,~,.,
t.M..wl'"_._......,lhll..., ~....,...._,.. ....,.......,...... .,.,...,1.._.....,~ c~~".._.._...._.,,.. ..__..,.............._ ..., ..........""'°..................