Designing the Requirements: Building Applications that the User Wants and Needs
出版者的話
譯者序
前言
第1章 情境驅動設計入門1
1.1 對需求進行設計1
1.2 什么是設計7
1.2.1 專項的設計9
1.2.2 有計劃的設計10
1.2.3 工程化的設計11
1.2.4 設計方法小結13
1.3 像工程學那樣來開發(fā)IT應用程序14
1.4 重視IT架構14
1.5 小結15
第2章 設計體系16
2.1 為什么應該建立設計體系16
2.2 情境設計19
2.2.1 任務19
2.2.2 用戶組21
2.2.3 數據表21
2.2.4 任務之間的消息21
2.2.5 任務之間的依賴關系22
2.2.6 把所有元素統(tǒng)合起來23
2.2.7 對情境設計做分析24
2.3 集成設計25
2.4 技術設計29
2.5 用戶界面設計31
2.6 數據庫設計32
2.7 實現33
2.8 這樣做真的是工程化的設計嗎34
2.9 小結37
第3章 復用現有的方法及做法38
3.1 敏捷38
3.1.1 個體與交互勝過流程與工具39
3.1.2 可行的軟件勝過繁雜的文檔40
3.1.3 客戶協作勝過合同談判41
3.1.4 響應變化勝過遵循計劃42
3.1.5 小結43
3.2 逆向設計43
3.3 用例45
3.3.1 原子性45
3.3.2 設計層次不明確46
3.3.3 用例本身比較模糊47
3.3.4 大型的用例文檔難以理解48
3.3.5 用例對工程化的設計起不到幫助作用48
3.3.6 小結49
3.4 成本估算問題49
3.5 BDUF為什么如此笨重52
3.6 迭代53
3.7 品質54
3.8 測試與檢驗55
3.9 把現有的做法運用到情境驅動設計之中56
3.10 學習型的組織57
3.11 小結58
第4章 大型應用程序所面臨的問題60
4.1 應用程序的大小體現在多個維度上61
4.2 大型項目所面臨的問題63
4.2.1 需求問題64
4.2.2 缺乏終端用戶的支持65
4.2.3 技術設計有問題67
4.2.4 采購與外包69
4.3 能夠避免大型的項目嗎72
4.4 小結75
第5章 應用程序與業(yè)務的關系76
5.1 理解業(yè)務流程76
5.2 不能表示為流程的應該怎么辦80
5.2.1 業(yè)務服務81
5.2.2 資源管理81
5.2.3 評審與監(jiān)測82
5.3 用更廣闊的視角來觀察83
5.4 將商業(yè)策略運用到應用程序的開發(fā)中85
5.4.1 開發(fā)速度85
5.4.2 在成本、性能、可用性之間權衡86
5.4.3 試驗性的商業(yè)計劃86
5.4.4 利益要等多久才能變現86
5.4.5 安全需求86
5.4.6 針對現有的企業(yè)文化來做設計86
5.4.7 為公司所追求的文化氣氛而做設計87
5.4.8 為計劃的變更留出余地87
5.4.9 為打造學習型的組織提供支持88
5.4.10 非商務型的應用程序88
5.5 分析88
5.5.1 流程的格式是否正確88
5.5.2 對依賴關系進行分析89
5.5.3 目標分析91
5.6 小結92
第6章 應用程序與用戶的關系93
6.1 添加詳情93
6.1.1 任務細節(jié)94
6.1.2 任務片段97
6.1.3 共同目標組98
6.1.4 數據表98
6.1.5 消息99
6.1.6 非功能型的需求100
6.1.7 使用情境設計的人101
6.2 確定各類用戶102
6.2.1 辦理業(yè)務流程的用戶103
6.2.2 對工作進行監(jiān)控的管理型用戶103
6.2.3 使用本程序數據的其他應用程序的用戶106
6.2.4 執(zhí)行數據分析的用戶107
6.2.5 執(zhí)行應用程序管理工作的用戶108
6.3 對情境設計進行分析109
6.3.1 流程層面的分析109
6.3.2 任務細節(jié)分析110
6.3.3 數據表詳情分析111
6.3.4 用戶組詳情分析112
6.3.5 消息詳情分析112
6.4 對情境設計進行評審112
6.5 小結114
第7章 應用程序與其他IT項目的關系115
7.1 集成設計116
7.1.1 應用程序116
7.1.2 服務117
7.1.3 數據庫119
7.2 服務接口設計122
7.2.1 定義服務接口123
7.2.2 設計可復用的服務127
7.3 現有的應用程序128
7.3.1 確定現有的應用程序128
7.3.2 替換現有的應用程序130
7.3.3 用現有的應用程序來制作服務133
7.4 回顧設計流程134
7.5 小結135
第8章 用戶界面設計與易用性137
8.1 邏輯用戶界面138
8.2 把任務描述轉化為單擊操作141
8.3 易用性145
8.3.1 功能146
8.3.2 信息147
8.3.3 導航147
8.3.4 文本148
8.3.5 幫助148
8.3.6 直觀而親切的應用程序149
8.3.7 針對易用性進行設計150
8.3.8 監(jiān)測易用性152
8.4 事務與任務完整性152
8.5 用戶界面設計與其他細節(jié)設計之間的關系155
8.6 小結155
第9章 數據庫設計157
9.1 數據庫設計157
9.2 數據庫設計理論163
9.3 程序員與數據庫設計者之間的關系170
9.4 數據訪問服務172
9.5 NoSQL173
9.6 小結177
第10章 技術設計的原則178
10.1 單服務器環(huán)境下的高性能原則178
10.1.1 緩存179
10.1.2 多線程與多元處理181
10.2 多服務器環(huán)境下的高性能原則184
10.2.1 前端并行184
10.2.2 后端并行187
10.3 高彈性原則190
10.4 測試與性能評估的必要性192
10.5 技術設計的流程193
10.6 小結196
第11章 技術設計的結構197
11.1 程序結構197
11.2 什么是框架201
11.3 各種編程語言203
11.4 選擇編程語言及框架207
11.4.1 選擇與公司的技能組合