第1章 软件中的思维 1
1.1 计算思维对于软件开发的启示 2
1.2 软件是人类思维的直接产物 3
1.2.1 全局思维和统筹思维 3
1.2.2 复用思维 4
1.2.3 分治思维 4
1.2.4 算法思维 4
1.2.5 逻辑思维 5
1.2.6 创新思维 5
1.2.7 情感化思维 5
1.2.8 艺术思维 6
1.2.9 灵性思维 6
第2章 软件需求获取与分析 11
2.1 涉众分析 12
2.1.1 涉众类型与特征——以人为本 13
2.1.2 换位思考,慈悲为怀 13
2.2 需求获取常用方法 18
2.3 需求分析中关注全局的意识 19
第3章 软件用户界面设计 23
3.1 软件设计=工程设计+艺术设计 24
3.2 界面设计的原则 24
3.2.1 易用性 24
3.2.2 用户体验 25
3.3 情感化界面设计 32
3.3.1 情感化界面设计的基础和核心——情感认知心理 32
3.3.2 情感化设计的层次划分 34
3.4 本能层的界面设计 34
3.4.1 视觉情感 34
3.4.2 触觉情感 48
3.4.3 听觉情感 50
3.5 行为层的界面设计 50
3.5.1 易用性 50
3.5.2 带给用户愉悦的体验 51
3.6 反思层的界面设计 51
3.6.1 唤起情感记忆的设计 51
3.6.2 引起强烈情感共鸣的设计 52
3.6.3 互动的设计,满足用户的归属感 52
3.6.4 贴心的设计,满足用户的尊重感和愉悦感 53
3.7 设计师的情感、心境与修养 53
第4章 邂逅编码 57
4.1 编码风格 58
4.2 易读性好的代码颜值最高 59
4.2.1 表面层次的改进——制定代码规范 59
4.2.2 最小化代码中的“思维包袱”——简化循环和逻辑 61
4.2.3 重新组织代码 62
4.3 代码的优化之美 63
4.4 程序员的华丽转身 63
4.4.1 新程序员的成长 64
4.4.2 在重构中自我修炼 65
第5章 软件测试的心境 69
5.1 软件测试的目标 70
5.2 软件测试是一门艺术 70
5.2.1 软件测试的困难 70
5.2.2 从心理学视角来看软件测试 70
5.2.3 软件测试是一项极富创造性、极具智力挑战性的工作 72
5.3 提升自己的心境——软件测试的启示 73
5.3.1 反省和自省——调试自己的问题 73
5.3.2 抱怨和祝福只是一念之差 74
5.3.3 破除我执,修炼胸怀 74
第6章 软件项目团队管理 79
6.1 软件项目团队模式 80
6.2 软件项目团队合作的阶段性 82
6.3 软件项目团队合作的成功要素 83
6.3.1 团队激励 83
6.3.2 团队的系统性和开放性 87
6.3.3 最好的风水是人品 89
6.3.4 软件项目团队的协作之美——“和” 90
第7章 软件文档写作的艺术 93
7.1 软件文档的作用 94
7.2 软件文档写作的指导原则 95
7.2.1 软件文档编写是一门艺术 95
7.2.2 软件文档化的目标是交流 96
7.3 软件文档写作的常用技巧 96
7.3.1 内容组织 96
7.3.2 细节描述 97
7.3.3 真诚地站在读者角度编写文档——最重要的技巧 98
第8章 以道驭术 101
8.1 信息伦理原则 102
8.1.1 尊重知识产权 102
8.1.2 尊重隐私 104
8.1.3 公平参与 104
8.1.4 无害和道德性 104
8.2 行业组织规范和准则 105
8.3 以道驭术——软件工程师的伦理与道德 106
8.3.1 软件工程师的责任 106
8.3.2 软件工程中的诚信与道德 108
8.3.3 慎独——软件工作者的自律原则 109
参考文献 115