本书是一本的系统分析与设计教材,自1988年首次出版以来,很快就被许多国家和地区的高等院校选为教科书,几经更新和完善,目前已经更新到第10版。作者结合长期的教学和实践经验分别介绍了系统分析基础、信息需求分析方法、分析过程、设计基础、质量保证与实现。
第一部分 系统分析基础
第1章 系统、角色和开发方法 1
系统分析与设计的必要性 2
系统分析员的角色 2
系统分析员作为顾问 2
系统分析员作为支持专家 3
系统分析员作为变更代理 3
系统分析员的品质 4
系统开发生命周期 4
标识问题、机会和目标 5
确定人的信息需求 5
分析系统需求 6
设计推荐的系统 6
软件开发和编档 7
系统测试和维护 7
系统实现和评估 7
维护的影响 7
使用CASE工具 8
敏捷方法 10
调研 10
规划 11
对第一次发布的迭代 12
产品化 12
维护 12
面向对象的系统分析与设计 12
面向对象与SDLC的相似性 12
选择使用哪种系统开发方法 14
开发开源软件 15
组织为什么要参与开源社区 15
分析员在开源软件中的作用 15
小结 16
关键字和词组 17
复习题 17
参考资料 18
第2章 了解组织系统及组织系统建模 19
组织作为系统 20
系统的相互关联和相互依赖 20
虚拟组织和虚拟团队 21
采取系统的观点 22
企业系统:视组织为系统 22
系统的图形化描述方法 24
系统和上下文级数据流图 24
系统和实体–关系模型 25
用例建模 30
用例符号 31
用例关系 32
开发系统的范围 33
开发用例图 33
开发用例场景 34
用例级别 35
创建用例描述 38
为什么用例图是有益的 39
管理的层次 39
对信息系统开发的意义 40
协同设计 41
组织文化 42
技术对文化的影响 42
小结 43
关键字和词组 44
复习题 44
问题 45
小组项目 46
参考资料 47
第3章 项目管理 48
项目启动 49
组织内的问题 49
定义问题 49
选择项目 53
确定可行性 54
判断可能性 54
估计工作负荷 55
确定硬件和软件需求 56
盘点计算机硬件 56
评估计算机硬件采购 58
租用云服务的时间和空间 58
评估厂商对计算机硬件的支持 60
理解“自带设备”方案 60
创建定制软件 61
购买COTS软件 62
使用SaaS提供商的服务 63
评估厂商对软件的支持和SaaS 64
成本与效益的识别、预测和比较 65
预测 65
识别效益和成本 65
成本效益比较 67
时间和活动的管理 68
工作分解结构 68
时间估计技术 69
项目进度安排 71
使用甘特图进行项目调度 72
使用PERT图 73
项目控制 76
估计成本和准备预算 76
风险管理 78
使用加速法管理时间 79
使用挣值管理法控制成本 80
管理项目团队 84
组建团队 84
团队管理的沟通策略 84
设置项目生产率目标 86
激励项目团队成员 86
管理电子商务项目 86
制定项目章程 87
系统建议 87
系统建议包含的内容 87
使用插图进行有效沟通 89
小结 92
关键字和词组 93
复习题 94
问题 94
小组项目 99
参考资料 100
第二部分 信息需求分析
第4章 信息收集:交互式方法 103
面谈 104
面谈准备的5个步骤 104
问题类型 105
按逻辑顺序安排问题 107
书写面谈报告 110
听故事 110
故事由要素构成 111
讲故事的原因 112
联合应用设计 113
支持使用JAD的条件 113
涉及的人 113
召开JAD会议的地点 114
完成项目活动的结构化分析 115
用JAD代替传统面谈的潜在优点 115
使用JAD的潜在缺点 115
使用问卷调查表 115
规划问卷调查表的使用 116
写下问题 117
设计问卷调查表 122
整理问卷调查表 123
小结 125
关键字和词组 126
复习题 127
问题 127
小组项目 130
参考资料 131
第5章 信息收集:非干扰性方法 132
采样 133
采样的必要性 133
采样设计 133
决定采样规模 135
定量文档分析 137
系统分析定量文档 137
定性文档分析 141
系统分析定性文档 141
使用文本分析功能 143
观察决策者的行为 143
观察典型的经理决策活动 144
观察物理环境 145
结构化环境观察(STROBE) 145
应用STROBE方法 147
小结 147
关键字和词组 149
复习题 149
问题 149
小组项目 151
参考资料 151
第6章 敏捷建模、原型化方法和Scrum 153
原型化方法 154
原型的种类 154
用户在原型化方法中的角色 156
敏捷建模 156
敏捷建模的价值和原则 156
敏捷建模的活动、资源和实践 159
敏捷开发过程 163
Scrum 165
Scrum中的角色 166
产品待办列表 167
Sprint周期 167
Scrum其他独有的特征 168
看板 170
Scrum的优点和缺点 171
DevOps:app开发的文化转变 172
敏捷建模与结构化方法的比较 173
从敏捷建模中吸取的经验教训 173
改进知识方面的工作效率:SDLC与敏捷 174
组织革新固有的风险 177
小结 180
关键字和词组 180
复习题 181
问题 181
小组项目 183
参考资料 183
第三部分 分析过程
第7章 使用数据流图 185
需求确定的数据流方法 186
数据流图的使用规范 186
开发数据流图 187
创建上下文图 187
画0层图(上下文图的下一层) 188
创建子图(更详细的图层) 190
检查数据流图中的错误 190
逻辑数据流图和物理数据流图 192
开发逻辑数据流图 195
开发物理数据流图 196
分割数据流图 198
数据流图实例 200
开发业务活动列表 201
创建上下文级数据流图 201
绘制0层图 201
创建子图 202
根据逻辑DFD创建物理数据流图 202
分割物理DFD 204
分割Web站点 206
使用数据流图进行沟通 207
小结 210
关键字和词组 211
复习题 211
问题 211
小组项目 213
参考资料 214
第8章 使用数据字典分析系统 215
数据字典 216
了解数据字典的必要性 216
数据存储库 216
定义数据流 217
描述数据结构 218
逻辑数据结构和物理数据结构 219
数据元素 221
数据存储 224
创建数据字典 225
分析输入和输出 225
开发数据存储 226
使用数据字典 228
使用数据字典创建XML 230
XML文档类型定义 232
XML 模式 233
小结 234
关键字和词组 235
复习题 235
问题 235
小组项目 237
参考资料 237
第9章 过程规范和结构化决策 239
过程规范概述 240
过程规范格式 241
结构化英语 242
编写结构化英语 242
数据字典和过程规范 245
决策表 246
开发决策表 248
核验完备性和正确性 250
决策树 252
画决策树 252
选择一种结构化决策分析技术 254
小结 254
关键字和词组 255
复习题 255
问题 255
小组项目 257
参考资料 258
第10章 基于UML的面向对象系统分析与设计 259
面向对象概念 260
对象 260
类 260
继承 261
CRC卡片和对象 262
CRC会话期间的交互 264
统一建模语言概念和图 264
用例建模 267
活动图 269
创建活动图 271
活动图的存储库条目 272
顺序图和通信图 273
顺序图 273
通信图 275
类图 276
方法重载 277
类的类型 277
定义消息和方法 278
增强顺序图 278
Web类实例 279
顺序图中的表示层、业务层和持久层 281
增强类图 281
关系 282
泛型/特型图 285
状态图 288
状态转移实例 289
包和其他UML制品 290
UML实践 292
使用UML进行建模的重要性 294
小结 295
关键字和词组 296
复习题 297
问题 297
参考资料 298
第四部分 设计基础
第11章 设计有效的输出 299
输出设计的目标 300
设计满足预定目标的输出 300
设计适合用户的输出 300
交付合适的输出数量 300
确保输出的必要性 300
按时提供输出 300
选用正确的输出方法 301
将输出内容与输出方式联系起来 301
输出技术 301
选择输出技术所要考虑的因素 301
认识到输出偏差对用户的影响 306
识别输出使用方式所带来的偏差 306
在设计输出时应避免偏差 307
设计打印输出 307
设计屏幕输出 308
屏幕设计指导原则 308
在屏幕设计中使用图形输出 311
仪表板 311
信息图 313
设计网站 313
响应式Web设计 313
扁平化Web设计 315
网站设计的一般准则 315
网站设计的特定准则 317
Web 2.0技术 320
社交媒体设计 322
社交媒体设计准则 322
设计智能电话和平板电脑的app 323
建立开发者账号 324
选择开发过程 324
原创性 324
决定如何给app定价 325
遵守设计准则 326
设计图标 326
为app选择合适的名称 326
设计应适用于各种设备 326
设计app的输出 326
针对不同的方向再次设计输出 327
分享设计原型 327
app的逻辑设计 327
移动设计 327
创建使用手势的用户界面 327
保护知识产权 327
销售app 328
输出生产和XML 328
Ajax 330
小结 330
关键字和词组 331
复习题 331
问题 332
小组项目 335
参考资料 336
第12章 设计有效的输入 337
良好的表单设计 338
使得表单易于填写 338
达到预定的目的 341
确保准确填写表单 341
设计的表单要有吸引力 341
控制业务表单 341
良好的屏幕和Web窗体设计 342
保持屏幕简洁 342
保持屏幕的一致性 343
方便用户在屏幕间移动 343
设计有吸引力且令人愉快的屏幕 343
在屏幕设计中使用图标 343
图形用户界面设计 345
窗体控件和值 347
隐藏字段 347
事件响应图 348
动态Web页 348
三维Web页 350
Ajax 351
在屏幕设计中使用色彩 352
网站设计 352
小结 354
关键字和词组 355
复习题 356
问题 356
小组项目 359
参考资料 359
第13章 数据库设计 361
数据库 362
数据概念 363
现实、数据和元数据 363
文件 368
关系型数据库 370
规范化 372
规范化的3个步骤 372
规范化实例 372
使用实体–关系图确定记录键 380
一对多关系 381
多对多关系 381
主文件/数据库关系设计准则 382
完整性约束 382
异常 383
使用数据库 384
检索和显示数据的步骤 384
反规范化 384
数据仓库 386
联机分析处理 388
数据挖掘 388
商业智能 390
数据分析 391
区块链 392
小结 394
关键字和词组 395
复习题 396
问题 396
小组项目 398
参考资料 398
第14章 人机交互与UX设计 400
理解人机交互 401
相互配合怎样影响绩效和幸福感 401
可用性 402
设计个体用户的认知风格 403
HCI设计中的物理因素 403
考虑人的缺陷、残障而加以设计 404
实施良好的HCI实践 404
用户界面的类型 405
自然语言界面 406
问答式界面 406
菜单 406
填充式窗体界面 407
选择和评估界面 408
UX设计 408
推动出色的UX设计的5个行为 409
UX设计中应避免的5个行为 410
UX设计准则:电子商务示例 411
UX设计的益处 411
设计智能手机和平板电脑的界面 412
手势 412
警报、通知和查询 413
徽章 414
智能个人助理的设计 414
虚拟现实和增强现实设计 415
对话设计的指导原则 415
有意义的交流 416
最小化用户操作 417
操作的标准化和一致性 418
用户反馈 419
反馈的类型 419
在系统设计中包含反馈 420
电子商务的特殊设计因素 421
获得电子商务网站客户的反馈 421
轻松导航电子商务网站 423
Mashup 424
查询设计 424
查询类型 424
查询方法 427
小结 430
关键字和词组 430
复习题 431
问题 432
小组项目 433
参考资料 434
第五部分 质量保证和实现
第15章 设计准确的数据输入规范 435
有效编码 436
记录某些事物 436
分类信息 437
隐藏信息 439
揭示信息 439
请求相应的处理 441
编码的一般指导原则 441
有效及高效的数据获取 444
决定要获取什么样的数据 445
让计算机完成其余的事情 445
避免瓶颈和额外步骤 446
从一个好的表单开始 446
选择一种数据输入方法 446
通过输入验证保证数据的质量 449
输入事务有效性验证 450
输入数据有效性验证 452
验证过程 454
电子商务环境中的数据准确性优势 455
客户自己键入数据 455
保存数据以备后用 455
通过订单履行流程使用数据 455
向客户提供反馈信息 456
小结 456
关键字和词组 457
复习题 457
问题 458
小组项目 460
参考资料 460
第16章 质量保证和实施 462
全面质量管理方法 463
六西格玛 463
全面质量管理的责任 463
结构预演 464
自顶向下的系统设计与开发 465
使用结构图设计模块化系统 467
面向服务的架构 468
编档方法 470
程序操作手册 470
民间故事法 470
选择一种设计和编档技术 472
测试、维护和审计 473
测试过程 473
维护实践 476
审计 476
实现分布式系统 476
客户/服务器技术 477
云计算 478
网络建模 481
用户培训 484
培训策略 484
培训的指导原则 485
转换到新系统 487
转换策略 487
转换时应考虑的其他因素 488
组织隐喻及其与成功的系统的关系 488
传统系统和基于Web的系统的安全
考虑 489
物理安全性 489
逻辑安全性 490
行为安全性 490
电子商务的特别安全注意事项 491
电子商务的隐私注意事项 491
灾害恢复规划 492
评估 494
评估方法 494
信息系统效用方法 494
评估公司的Web站点 496
小结 497
关键字和词组 498
复习题 499
问题 500
小组项目 502
参考资料 502
术语表 503
缩略语 511
Contents
PART 1 SYSTEMS ANALYSIS FUNDAMENTALS 1
1 Systems, Roles, and Development Methodologies 1
Need for Systems Analysis and Design 2
Roles of a Systems Analyst 2
Systems Analyst as Consultant 2
Qualities of a Systems Analyst 4
The Systems Development Life Cycle 4
Identifying Problems, Opportunities, and Objectives 5
Determining Human Information Requirements 5
Analyzing System Needs 6
Designing the Recommended System 6
Developing and Documenting Software 7
Testing and Maintaining the System 7
Implementing and Evaluating the System 7
The Impact of Maintenance 7
Using CASE Tools 8
The Agile Approach 10
Exploration 10
Planning 11
Iterations to the First Release 12
Productionizing 12
Maintenance 12
Object-Oriented Systems Analysis and Design 12
Object-Oriented Similarities to SDLC 12
Choosing Which Systems Development Method to Use 14
Developing Open Source Software 15
Why Organizations Participate in Open Source Communities 15
The Role of the Analyst in Open Source Software 15
Summary 16
Keywords and Phrases 17
Review Questions 17
Selected Bibliography 18
2 Understanding and Modeling Organizational Systems 19
Organizations as Systems 20
Interrelatedness and Interdependence of Systems 20
Virtual Organizations and Virtual Teams 21
Taking a Systems Perspective 22
Enterprise Systems: Viewing the Organization as a System22
Depicting Systems Graphically 24
Systems and the Context-Level Data Flow Diagram 24
Systems and the Entity-Relationship Model 25
Use Case Modeling 30
Use Case Symbols 31
Developing System Scope 33
Use Case Relationships 32
Developing Use Case Scenarios 34
Developing Use Case Diagrams 33
Use Case Levels 35
Creating Use Case Descriptions 38
Why Use Case Diagrams Are Helpful 39
Levels of Management 39
Implications for Information Systems Development 40
Collaborative Design 41
Organizational Culture 42
Technology抯 Impact on Culture 42
Summary 43
Keywords and Phrases 44
Review Questions 44
Problems 45
Group Projects 46
Selected Bibliography 47
3 Project Management 48
Project Initiation 49
Problems in an Organization 49
Defining the Problem 49
Selection of Projects 53
Determining Feasibility 54
Determining Whether It Is Possible 54
Estimating Workloads 55
Ascertaining Hardware and Software Needs 56
Inventorying Computer Hardware 56
Evaluating Computer Hardware for Purchase 58
Renting Time and Space in the Cloud 58
Evaluation of Vendor Support for Computer Hardware 60
Understanding the Bring Your Own Device (BYOD) Option 60
Creating Custom Software 61
Purchasing COTS Software 62
Using the Services of a SaaS Provider 63
Evaluation of Vendor Support for Software and SaaS 64
Identifying, Forecasting, and Comparing Costs and Benefits 65
Forecasting 65
Identifying Benefits and Costs 65
Comparing Costs and Benefits 67
Managing Time and Activities 68
The Work Breakdown Structure 68
Time Estimation Techniques 69
Project Scheduling 71
Using Gantt Charts for Project Scheduling 72
Using PERT Diagrams 73
Controlling a Project 76
Estimating Costs and Preparing the Budget 76
Managing Risk 78
Managing Time Using Expediting 79
Controlling Costs Using Earned Value Management 80
Managing the Project Team 84
Assembling a Team 84
Communication Strategies for Managing Teams 84
Setting Project Productivity Goals 86
Motivating Project Team Members 86
Managing Ecommerce Projects 86
Creating a Project Charter 87
The Systems Proposal 87
What to Include in a Systems Proposal 87
Using Figures for Effective Communication 89
Summary 92
Keywords and Phrases 93
Review Questions 94
Problems 94
Group Projects 99
Selected Bibliography 100
PART 2 INFORMATION REQUIREMENTS ANALYSIS 103
4 Information Gathering: Interactive Methods 103
Interviewing 104
Five Steps in Interview Preparation 104
Question Types 105
Arranging Questions in a Logical Sequence 107
Writing the Interview Report 110
Listening to Stories 110
Stories Are Made Up of Elements 111
Reasons for Telling Stories 112
Joint Application Design 113
Conditions That Support the Use of JAD 113
Who Is Involved? 113
Where to Hold JAD Meetings 114
Accomplishing a Structured Analysis of Project Activities 115
Potential Benefits of Using JAD in Place of Traditional Interviewing 115
Potential Drawbacks of Using JAD 115
Using Questionnaires 115
Planning for the Use of Questionnaires 116
Writing Questions 117
Designing Questionnaires 122
Administering Questionnaires 123
Summary 125
Keywords and Phrases 126
Review Questions 127
Problems 127
Group Projects 130
Selected Bibliography 131
5 Information Gathering: Unobtrusive Methods 132
Sampling 133
The Need for Sampling 133
Sampling Design 133
The Sample Size Decision 135
Analyzing Quantitative Documents 137
Systematically Examining Quantitative Documents 137
Analyzing Qualitative Documents 141
Systematically Examining Qualitative Documents 141
Using Text Analytics 143
Observing a Decision Maker抯 Behavior 143
Observing a Typical Manager抯 Decision-Making Activities 144
Observing the Physical Environment 145
Structured Observation of the Environment (STROBE) 145
Applying STROBE 147
Summary 147
Keywords and Phrases 149
Review Questions 149
Problems 149
Group Projects 151
Selected Bibliography 151
6 Agile Modeling, Prototyping, and Scrum 153
Prototyping 154
Kinds of Prototypes 154
The Users?Role in Prototyping 156
Agile Modeling 156
Values and Principles of Agile Modeling 156
Activities, Resources, and Practices of Agile Modeling 159
The Agile Development Process 163
Scrum 165
Roles Played in Scrum 166
The Product Backlog 167
The Sprint Cycle 167
Other Unique Scrum Features 168
Kanban 170
Scrum Advantages and Disadvantages 171
DevOps: A Cultural Shift for App Development 172
Comparing Agile Modeling and Structured Methods 173
Lessons Learned from Agile Modeling 173
Improving Efficiency in Knowledge Work: SDLC versus Agile 174
Risks Inherent in Organizational Innovation 177
Summary 180
Keywords and Phrases 180
Review Questions 181
Problems 181
Group Projects 183
Selected Bibliography 183
PART 3 THE ANALYSIS PROCESS 185
7 Using Data Flow Diagrams 185
The Data Flow Approach to Human Requirements Determination 186
Conventions Used in Data Flow Diagrams 186
Developing Data Flow Diagrams 187
Creating the Context Diagram 187
Drawing Diagram 0 (The Next Level) 188
Creating Child Diagrams (More Detailed Levels) 190
Checking Diagrams for Errors 190
Logical and Physical Data Flow Diagrams 192
Developing Logical Data Flow Diagrams 195
Developing Physical Data Flow Diagrams 196
Partitioning Data Flow Diagrams 198
A Data Flow Diagram Example 200
Developing the List of Business Activities 201
Creating a Context-Level Data Flow Diagram 201
Drawing Diagram 0 201
Creating a Child Diagram 202
Creating a Physical Data Flow Diagram from the Logical DFD 202
Partitioning the Physical DFD 204
Partitioning Websites 206
Communicating Using Data Flow Diagrams 207
Summary 210
Keywords and Phrases 211
Review Questions 211
Problems 211
Group Projects 213
Selected Bibliography 214
8 Analyzing Systems Using Data Dictionaries 215
The Data Dictionary 216
Need for Understanding the Data Dictionary 216
The Data Repository 216
Defining the Data Flows 217
Describing Data Structures 218
Logical and Physical Data Structures 219
Data Elements 221
Data Stores 224
Creating a Data Dictionary 225
Analyzing Input and Output 225
Developing Data Stores 226
Using a Data Dictionary 228
Using Data Dictionaries to Create XML 230
XML Document Type Definitions 232
XML Schemas 233
Summary 234
Keywords and Phrases 235
Review Questions 235
Problems 235
Group Projects 237
Selected Bibliography 237
9 Process Specifications and Structured Decisions 239
Overview of Process Specifications 240
Process Specification Format 241
Structured English 242
Writing Structured English 242
Data Dictionary and Process Specifications 245
Decision Tables 246
Developing Decision Tables 248
Checking for Completeness and Accuracy 250
Decision Trees 252
Drawing Decision Trees 252
Choosing a Structured Decision Analysis Technique 254
Summary 254
Keywords and Phrases 255
Review Questions 255
Problems 255
Group Projects 257
Selected Bibliography 258
10 Object-Oriented Systems Analysis and Design Using UML 259
Object-Oriented Concepts 260
Objects 260
Classes 260
Inheritance 261
CRC Cards and Object Think 262
Interacting During a CRC Session 264
Unified Modeling Language (UML) Concepts and Diagrams 264
Use Case Modeling 267
Activity Diagrams 269
Creating Activity Diagrams 271
Repository Entries for an Activity Diagram 272
Sequence and Communication Diagrams 273
Sequence Diagrams 273
Communication Diagrams 275
Class Diagrams 276
Method Overloading 277
Types of Classes 277
Defining Messages and Methods 278
Enhancing Sequence Diagrams 278
A Class Example for the Web 279
Presentation, Business, and Persistence Layers in Sequence Diagrams 281
Enhancing Class Diagrams 281
Relationships 282
Generalization/Specialization (Gen/Spec) Diagrams 285
Statechart Diagrams 288
A State Transition Example 289
Packages and Other UML Artifacts 290
Putting UML to Work 292
The Importance of Using UML for Modeling 294
Summary 295
Keywords and Phrases 296
Review Questions 297
Problems 297
Selected Bibliography 298
PART 4 THE ESSENTIALS OF DESIGN 299
11 Designing Effective Output 299
Output Design Objectives 300
Designing Output to Serve the Intended Purpose 300
Designing Output to Fit the User 300
Delivering the Appropriate Quantity of Output 300
Making Sure the Output Is Where It Is Needed 300
Providing Output on Time 300
Choosing the Right Output Method 301
Relating Output Content to Output Method 301
Output Technologies 301
Factors to Consider When Choosing Output Technology 301
Realizing How Output Bias Affects Users 306
Recognizing Bias in the Way Output Is Used 306
Avoiding Bias in the Design of Output 307
Designing Printed Output 307
Designing Output for Displays 308
Guidelines for Display Design 308
Using Graphical Output in Screen Design 311
Dashboards 311
Infographics 313
Designing a Website 313
Responsive Web Design 313
Flat Web Design 315
General Guidelines for Designing Websites 315
Specific Guidelines for Website Design 317
Web 2.0 Technologies 320
Social Media Design 322
Guidelines for Social Media Design 322
Designing Apps for Smartphones and Tablets 323
Set Up a Developer Account 324
Choose a Development Process 324
Be an Original 324
Determine How You Will Price the App 325
Follow the Rules 326
Design Your Icon 326
Choose an Appropriate Name for the App 326
Design for a Variety of Devices 326
Design the Output for the App 326
Design the Output a Second Time for a Different Orientation 327
Share a Prototype of Your Work 327
Design the App抯 Logic 327
Design Movement 327
Create the User Interface Using Gestures 327
Market Your App 328
Protect Your Intellectual Property 327
Output Production and XML 328
Ajax 330
Summary 330
Keywords and Phrases 331
Review Questions 331
Problems 332
Group Projects 335
Selected Bibliography 336
12 Designing Effective Input 337
Good Form Design 338
Making Forms Easy to Fill In 338
Meeting the Intended Purpose 341
Ensuring Accurate Completion 341
Keeping Forms Attractive 341
Controlling Business Forms 341
Good Display and Web Forms Design 342
Keeping the Display Simple 342
Keeping the Display Consistent 343
Facilitating Movement 343
Designing an Attractive and Pleasing Display 343
Using Icons in Display Design 343
Graphical User Interface Design 345
Form Controls and Values 347
Hidden Fields 347
Event-Response Charts 348
Dynamic Web Pages 348
Three-Dimensional Web Pages 350
Ajax (Asynchronous JavaScripe and XML) 351
Using Color in Display Design 352
Website Design 352
Summary 354
Keywords and Phrases 355
Review Questions 356
Problems 356
Group Projects 359
Selected Bibliography 359
13 Designing Databases 361
Databases 362
Data Concepts 363
Reality, Data, and Metadata 363
Files 368
Relational Databases 370
Normalization 372
The Three Steps of Normalization 372
A Normalization Example 372
Using an Entity-Relationship Diagram to Determine Record Keys 380
One-to-Many Relationships 381
Many-to-Many Relationships 381
Guidelines for Master File/Database Relation Design 382
Integrity Constraints 382
Anomalies 383
Making Use of a Database 384
Steps in Retrieving and Presenting Data 384
Denormalization 384
Data Warehouses 386
Online Analytical Processing 388
Data Mining 388
Business Intelligence (BI) 390
Data Analytics 391
Blockchains 392
Summary 394
Keywords and Phrases 395
Review Questions 396
Problems 396
Group Projects 398
Selected Bibliography 398
14 Human-Computer Interaction and UX Design 400
Understanding Human朇omputer Interaction 401
How Fit Affects Performance and Well-Being 401
Usability 402
Designing for the Cognitive Styles of Individual Users 403
Physical Considerations in HCI Design 403
Considering Human Limitations, Disabilities, and Design 404
Implementing Good HCI Practices 404
Types of User Interface 405
Natural-Language Interfaces 406
Question-and-Answer Interfaces 406
Menus 406
Form-Fill Interfaces 407
Choosing and Evaluating Interfaces 408
UX Design 408
Five Designer Actions That Promote Good UX Design 409
Five Designer Actions to Avoid in UX Design 410
UX Design Guidelines: An Ecommerce Example 411
Benefits of UX Design 411
Designing Interfaces for Smartphones and Tablets 412
Gestures 412
Alerts, Notices, and Queries 413
Badges 414
Design for Intelligent Personal Assistants 414
Designing for Virtual Reality and Augmented Reality 415
Guidelines for Dialogue Design 415
Meaningful Communication 416
Minimal User Action 417
Standard Operation and Consistency 418
Feedback for Users 419
Types of Feedback 419
Including Feedback in Design 420
Special Design Considerations for Ecommerce 421
Soliciting Feedback from Ecommerce Website Customers 421
Easy Navigation for Ecommerce Websites 423
Mashups 424
Designing Queries 424
Query Types 424
Query Methods 427
Summary 430
Keywords and Phrases 430
Review Questions 431
Problems 432
Group Projects 433
Selected Bibliography 434
PART 5 QUALITY ASSURANCE AND IMPLEMENTATION 435
15 Designing Accurate Data Entry Procedures 435
Effective Coding 436
Keeping Track of Something 436
Classifying Information 437
Concealing Information 439
Revealing Information 439
Requesting Appropriate Action 441
General Guidelines for Coding 441
Effective and Efficient Data Capture 444
Deciding What to Capture 445
Letting the Computer Do the Rest 445
Avoiding Bottlenecks and Extra Steps 446
Starting with a Good Form 446
Choosing a Data Entry Method 446
Ensuring Data Quality through Input Validation 449
Validating Input Transactions 450
Validating Input Data 452
The Process of Validation 454
Data Accuracy Advantages in Ecommerce Environments 455
Customers Keying Their Own Data 455
Storing Data for Later Use 455
Using Data through the Order Fulfillment Process 455
Providing Feedback to Customers 456
Summary 456
Keywords and Phrases 457
Review Questions 457
Problems 458
Group Projects 460
Selected Bibliography 460
16 Quality Assurance and Implementation 462
The Total Quality Management Approach 463
Six Sigma 463
Responsibility for Total Quality Management 463
Structured Walkthrough 464
Top-Down Systems Design and Development 465
Using Structure Charts to Design Modular Systems 467
Service-Oriented Architecture (SOA) 468
Documentation Approaches 470
Procedure Manuals 470
The FOLKLORE Method 470
Choosing a Design and Documentation Technique 472
Testing, Maintenance, and Auditing 473
The Testing Process 473
Maintenance Practices 476
Auditing 476
Implementing Distributed Systems 476
Client/Server Technology 477
Cloud Computing 478
Network Modeling 481
Training Users 484
Training Strategies 484
Guidelines for Training 485
Conversion to a New System 487
Conversion Strategies 487
Other Conversion Considerations 488
Organizational Metaphors and Their Relationship to Successful Systems 488
Security Concerns for Traditional and Web-Based Systems 489
Physical Security 489
Logical Security 490
Behavioral Security 490
Special Secruity Considerations for Ecommerce 491
Privacy Considerations for Ecommerce 491
Disaster Recovery Planning 492
Evaluation 494
Evaluation Techniques 494
The Information System Utility Approach 494
Evaluating Corporate Websites 496
Summary 497
Keywords and Phrases 498
Review Questions 499
Problems 500
Group Projects 502
Selected Bibliography 502
GLOSSARY 503
ACRONYMS 511