本書是一本的系統分析與設計教材,自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