首页 上卷目录

上卷目录

举报
开通vip

上卷目录 上卷目录 上卷目录 . . . . . . . . . . . . . . . . i-i 上卷导读 . . . . . . . . . . . . . . . 1 实证软件工程 . . . . . . . . . . 1 软件技术成熟过程 . . . . . . . . 2 Redwine–Riddle技术成熟论 2 Gartner技术成熟度曲线 . . 3 软件工程技术框架 . . . . . . . . 4 软件生命期模型 . . . . . . . 4 软件开发流程 . . . . . . . ...

上卷目录
上卷目录 上卷目录 . . . . . . . . . . . . . . . . i-i 上卷导读 . . . . . . . . . . . . . . . 1 实证软件工程 . . . . . . . . . . 1 软件技术成熟过程 . . . . . . . . 2 Redwine–Riddle技术成熟论 2 Gartner技术成熟度曲线 . . 3 软件工程技术框架 . . . . . . . . 4 软件生命期模型 . . . . . . . 4 软件开发 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 . . . . . . . . 5 上卷篇章简介 . . . . . . . . . . 5 尾语 . . . . . . . . . . . . . . . 6 第一篇 软件工程学概论 . . . . . 7 第 1 章 软件概论 . . . . . . . . . . 9 1.1 软件概述 . . . . . . . . . . 10 1.1.1 什么是软件? . . . . . 10 1.1.2 软件分类 . . . . . . . 12 1.1.3 软件的基本特征 . . . 12 1.2 软件复杂性 . . . . . . . . . 13 1.2.1 复杂性与软件 . . . . 14 软件复杂性常识 . . . . 14 软件为什么复杂? . . . 14 Brooks难度论 . . . . 15 复杂度与 “坏”问题 . . 16 1.2.2 复杂性简化理念 . . . 17 1.3 软件频变性 . . . . . . . . . 19 1.3.1 万物皆变 . . . . . . . 19 1.3.2 频变性与软件 . . . . 20 频变性常识 . . . . . . 20 需求全程频变 . . . . . 20 软件为什么频变? . . . 21 变更的影响 . . . . . . 22 1.3.3 频变性应对理念 . . . 22 1.4 软件商品性 . . . . . . . . . 24 1.4.1 商品性常识 . . . . . 24 1.4.2 商品性遵从理念 . . . 25 知识要点回顾 . . . . . . . . . . 26 经典著作推荐 . . . . . . . . . . 27 第 2 章 软件工程概论 . . . . . . . 29 2.1 引言 . . . . . . . . . . . . 30 2.2 软件危机 . . . . . . . . . . 30 2.2.1 什么是软件危机? . . . 30 2.2.2 危机存在的实证 . . . 31 2.2.3 危机存在的原因 . . . 32 2.3 软件工程概述 . . . . . . . . 33 2.3.1 什么是工程? . . . . . 33 2.3.2 什么是软件工程? . . . 34 2.3.3 核心问题 . . . . . . . 35 2.3.4 “魔鬼四角” . . . . . . 36 2.3.5 四大挑战 . . . . . . . 37 挑战一 规模 . . . . . 37 规模改变一切 . . . 37 DeRemer定律 . . 38 挑战二 生产率和质量 . 38 Brooks “银弹”定律 39 Mills生产率定律 . 40 挑战三 可重复性 . . . 41 挑战四 频变性 . . . . 42 其他挑战 . . . . . . . 42 2.3.6 四方满意度 “天平” . . 43 四方关键权益人 . . . . 43 “天平均衡”理念 . . . . 43 ��i-ii�� 2.4 软件工程学科 . . . . . . . . 44 2.4.1 学科性质 . . . . . . . 44 2.4.2 发展简史 . . . . . . . 45 2.4.3 知识体系 . . . . . . . 48 2.4.4 核心知识体 (SECBOK) 49 五大核心知识形态 . . . 49 核心知识的价值 . . . . 50 知识要点回顾 . . . . . . . . . . 51 扩展阅读 . . . . . . . . . . . . . 52 第 3 章 软件质量概论 . . . . . . . 53 3.1 走近 “质量” . . . . . . . . . 54 3.1.1 什么是质量? . . . . . 54 3.1.2 质量的基本特征 . . . 55 3.2 软件质量概述 . . . . . . . . 55 3.2.1 什么是软件质量? . . . 56 3.2.2 质量标准模型 . . . . 56 3.2.3 高质量软件的特征 . . 58 3.3 论 “质量第一” . . . . . . . . 59 3.3.1 “质量价值”常识 . . . 59 3.3.2 “适度质量”定律 . . . 59 3.3.3 “质量第一”法则 . . . 61 知识要点回顾 . . . . . . . . . . 63 经典著作推荐 . . . . . . . . . . 63 第 4 章 软件工程师概论 . . . . . . 65 4.1 职业简介 . . . . . . . . . . 66 4.1.1 软件工程师概述 . . . 66 范围与分类 . . . . . . 66 五大挑战 . . . . . . . 66 4.1.2 职业路线图 . . . . . 67 4.2 基本素质 . . . . . . . . . . 70 4.3 职业道德和操守 . . . . . . 71 4.4 专业实践 . . . . . . . . . . 72 4.4.1 角色、责任和技能 . . . 72 细分角色 . . . . . . . 72 基本责任 . . . . . . . 73 学者的技能观 . . . . . 73 实践者的技能观 . . . . 74 4.4.2 团队动力学 . . . . . 75 4.4.3 交流技能 . . . . . . . 75 4.5 浅议人性 . . . . . . . . . . 76 4.6 后话 . . . . . . . . . . . . 79 知识要点回顾 . . . . . . . . . . 81 经典著作推荐 . . . . . . . . . . 81 扩展阅读 . . . . . . . . . . . . . 82 第二篇 软件生命期 . . . . . . . 83 第 5 章 软件生命期概论 . . . . . . 85 5.1 软件生命期 . . . . . . . . . 86 5.1.1 什么是生命期? . . . . 86 5.1.2 软件为什么出生? . . . 86 5.1.3 软件为什么死亡? . . . 87 5.2 生命期模型和阶段化 . . . . 88 5.2.1 阶段化生命期常识 . . 88 5.2.2 生命期模型 . . . . . 88 5.2.3 开发 vs.维演 . . . . 89 5.2.4 维护 vs.演化 . . . . 90 知识要点回顾 . . . . . . . . . . 91 经典著作推荐 . . . . . . . . . . 92 第 6 章 软件开发模型概论 . . . . . 93 6.1 软件开发模型 . . . . . . . . 94 6.1.1 主要开发阶段 . . . . 94 需求工程 . . . . . . . 95 软件设计 . . . . . . . 96 软件构造 . . . . . . . 97 质量控制 . . . . . . . 97 阶段成本分配决策 . . . 99 6.1.2 阶段化开发法则 . . . 100 向下信息传递 (DIT)法则 100 向上信息恢复 (UIR)法则 100 6.1.3 开发模型简介 . . . . 101 如何选择开发模型? . . 101 主流开发模型一览 . . . 102 6.2 Royce (瀑布)开发模型 . . . 103 6.2.1 Royce (瀑布)模型 . . 103 6.2.2 “先设计后测试”常识 . 104 6.2.3 小议 “前置大设计” . . 104 6.2.4 模型的实践 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 现 . . . 105 ��i-iii�� 6.3 原型开发模型 . . . . . . . . 106 6.3.1 软件原型 . . . . . . . 106 什么是原型? . . . . . 106 原型分类 . . . . . . . 106 6.3.2 原型 vs.产品 . . . . 107 6.3.3 原型开发流程 . . . . 108 6.3.4 原型开发核心知识 . . 108 快速原型开发法则 . . . 108 筛选原型需求实践 . . . 109 “原型病”定律 . . . . . 110 6.4 面向 “切面”开发 (AOSD)模型 110 6.4.1 基本概念 . . . . . . . 110 6.4.2 AOSD的动机 . . . . 111 6.4.3 AOSD的 “切面”实现 112 6.4.4 AOSD模型 . . . . . 113 AOSD模型框架 . . . . 113 “切面编织器” . . . . . 114 6.4.5 应用现况与研究趋势 . 115 面向 “切面”的编程 (AOP) 115 从编程到需求和设计 . . 115 从面向对象到面向切面 . 115 知识要点回顾 . . . . . . . . . . 116 经典著作推荐 . . . . . . . . . . 117 第 7 章 增量—迭代型开发模型 . . 119 7.1 增量—迭代开发模型 . . . . 120 7.1.1 增量和迭代模型 . . . 120 7.1.2 增量—迭代开发理念 . 121 7.2 瑞理统一过程 (RUP)模型 . 122 7.2.1 RUP概念与过程 . . . 122 7.2.2 RUP六项实践 . . . . 124 7.3 敏捷 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 . . . . . . . . . . 124 7.3.1 敏捷方法概述 . . . . 124 “敏捷宣言” . . . . . . 124 “敏捷”十二项法则 . . . 126 7.3.2 Scrum方法 . . . . . 127 Scrum角色 . . . . . 128 Scrum流程 . . . . . 128 7.3.3 极限编程 (XP)方法 . . 129 XP五项价值观 . . . . 129 XP通用流程 . . . . . 130 XP十二项实践 . . . . 131 7.3.4 敏捷方法的实践表现 . 132 敏捷模型是主流 . . . . 132 敏捷项目易成功 . . . . 133 敏捷方法效应 . . . . . 133 敏捷项目成本趋势 . . . 134 敏捷项目与团队 . . . . 135 “敏捷”工程师的偏好 . . 136 知识要点回顾 . . . . . . . . . . 137 经典著作推荐 . . . . . . . . . . 137 第 8 章 复用型开发模型 . . . . . . 139 8.1 软件复用概述 . . . . . . . . 140 8.1.1 软件复用 . . . . . . . 140 什么是复用? . . . . . 140 复用效应常识 . . . . . 140 McIlroy复用定律 . . . 141 8.1.2 复用型开发模型 . . . 142 8.2 构件组装开发 (CBSD)模型 143 8.2.1 购买 vs.定制 . . . . 143 8.2.2 CBSD模型框架 . . . 143 8.2.3 复用的制约因素 . . . 144 8.2.4 可复用性增强过程 . . 145 8.2.5 CBSD四法则 . . . . 146 构件组装开发法则 . . . 146 构件复用优先法则 . . . 147 构件组装优先法则 . . . 148 构件可复用法则 . . . . 149 8.3 软件产品线 (SPL)模型 . . . 150 8.3.1 SPL概述 . . . . . . 150 什么是SPL? . . . . . 150 产品线细分维度 . . . . 150 产品线应用现况 . . . . 151 8.3.2 SPL开发模型 . . . . 151 8.3.3 SPL实质: 批量定制 . 152 批量定制理念 . . . . . 153 平台复用效应定律 . . . 154 可变性法则 . . . . . . 154 8.3.4 SPLvs.CBSD . . . 155 8.3.5 SPL成熟度评估 . . . 155 SPL评估四维: BAPO . 155 ��i-iv�� SPL评估框架: FEF . . 156 8.3.6 SPL七项最佳实践 . . 157 8.3.7 SPL企业推行法 . . . 157 知识要点回顾 . . . . . . . . . . 158 经典著作推荐 . . . . . . . . . . 159 第 9 章 论软件模型 . . . . . . . . 161 9.1 模型概述 . . . . . . . . . . 162 9.1.1 什么是模型? . . . . . 162 9.1.2 万能模型常识 . . . . 162 9.1.3 模型的基本属性 . . . 163 9.1.4 建模三法则 . . . . . 163 9.2 软件模型 . . . . . . . . . . 164 9.2.1 模型描述与分类 . . . 164 9.2.2 软件建模过程 . . . . 165 9.2.3 模型两面性常识 . . . 165 9.2.4 模型敏感性常识 . . . 166 9.2.5 模型定制理念 . . . . 166 9.2.6 建模工具的应用 . . . 167 9.3 敏捷建模法则与实践 . . . . 168 9.3.1 十三项建模法则 . . . 168 9.3.2 十八项最佳实践 . . . 169 知识要点回顾 . . . . . . . . . . 170 经典著作推荐 . . . . . . . . . . 171 第三篇 需求工程 . . . . . . . . .173 第 10 章 软件需求 . . . . . . . . . 175 10.1 需求的内涵 . . . . . . . . 176 10.1.1 什么是需求? . . . . 176 10.1.2 “做什么” vs. “怎么做” 177 10.2 需求分类 . . . . . . . . . . 178 10.2.1 广义需求分类 . . . . 178 10.2.2 功能与质量需求 . . . 178 10.2.3 FURPS分类法 . . . 179 10.2.4 Kano分类法 . . . . 180 10.2.5 架构需求 . . . . . . 181 10.3 论 “需求不足” . . . . . . . 181 10.3.1 Glass “需求不足”定律 182 10.3.2 调查实证 . . . . . . 182 10.3.3 原因分析 . . . . . . 183 10.3.4 影响分析 . . . . . . 183 10.4 需求三大特征 . . . . . . . 184 10.4.1 需求的变增性 . . . . 184 10.4.2 需求的价值不均性 . . 186 10.4.3 需求的技术钝性 . . . 187 知识要点回顾 . . . . . . . . . . 187 经典著作推荐 . . . . . . . . . . 188 第 11 章 需求工程概论 . . . . . . 189 11.1 需求工程 (RE) . . . . . . . 190 11.1.1 什么是RE? . . . . 190 11.1.2 RE关键地位 . . . . 190 11.1.3 RE三大特征 . . . . 191 11.1.4 “不完美需求”常识 . . 192 11.1.5 适度需求工程理念 . . 193 11.1.6 RE成功因子 . . . . 194 11.2 需求过程 . . . . . . . . . . 194 11.2.1 需求过程框架 . . . . 195 11.2.2 三项基本常识 . . . . 195 过程迭代并行常识 . . . 195 需求边学边做常识 . . . 196 需求创造兼复用常识 . . 196 知识要点回顾 . . . . . . . . . . 197 经典著作推荐 . . . . . . . . . . 198 第 12 章 需求前奏 . . . . . . . . . 199 12.1 需求前奏概述 . . . . . . . 200 12.2 问题定义 . . . . . . . . . . 200 12.2.1 问题定义常识 . . . . 200 12.2.2 渐进式问题定义 . . . 201 12.2.3 问题与解决方案 . . . 201 12.2.4 问题分析过程 . . . . 202 12.2.5 Xerox六步曲 . . . . 202 12.3 项目可行性分析 . . . . . . 203 12.3.1 可行性分析常识 . . . 204 12.3.2 可行性分析对象 . . . 204 12.3.3 可行性分析视角 . . . 205 12.3.4 可行性分析 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 模板 . 206 12.4 愿景定义 . . . . . . . . . . 207 12.4.1 愿景声明常识 . . . . 207 ��i-v�� 12.4.2 目标定义 . . . . . . 207 三级目标树 . . . . . . 207 SMART实践 . . . . . 208 12.4.3 愿景声明撰写实践 . . 209 12.4.4 愿景声明确认实践 . . 210 12.5 关注点分离 . . . . . . . . 210 12.5.1 概念复述 . . . . . . 210 12.5.2 关注点分离法则 . . . 211 知识要点回顾 . . . . . . . . . . 211 经典著作推荐 . . . . . . . . . . 212 扩展阅读 . . . . . . . . . . . . . 212 第 13 章 需求获取 . . . . . . . . . 213 13.1 需求获取概述 . . . . . . . 214 13.1.1 什么是需求获取? . . 214 13.1.2 需求获取策略 . . . . 215 13.1.3 需求获取方法 . . . . 215 常用获取方法一览 . . . 215 多法并用获取需求 . . . 216 13.2 论 “需求获取不到位” . . . 218 13.2.1 需求的 “6W1H” . . 218 13.2.2 为什么不 “到位” ? . . 218 13.2.3 “不到位”定律 . . . . 219 13.3 用例与需求 . . . . . . . . 220 13.3.1 什么是用例? . . . . 220 13.3.2 用例描述模板 . . . . 220 13.3.3 基于用例获取需求 . . 221 13.4 需求获取六项实践 . . . . . 222 13.4.1 邀请客户高管参与 . . 222 13.4.2 攀附 “贵人” . . . . . 223 13.4.3 帮助用户认清需要 . . 223 13.4.4 控制会议规模 . . . . 224 13.4.5 定义软件环境 . . . . 225 13.4.6 记录需求 “源”信息 . 225 知识要点回顾 . . . . . . . . . . 226 经典著作推荐 . . . . . . . . . . 227 第 14 章 需求分析 . . . . . . . . . 229 14.1 需求分析概述 . . . . . . . 230 14.2 需求分簇 . . . . . . . . . . 230 14.2.1 什么是需求分簇? . . 230 14.2.2 需求分簇过程 . . . . 231 14.2.3 需求分簇依据 . . . . 232 14.2.4 合理需求分簇实践 . . 233 14.3 需求依赖分析 . . . . . . . 234 14.3.1 什么是依赖关系? . . 234 14.3.2 依赖关系分类 . . . . 234 14.3.3 Pareto需求依赖分布 235 14.3.4 基于依赖的变更分析 . 236 14.4 需求优先级定义 (分级) . . 237 14.4.1 需求分级常识 . . . . 237 重要需求优先 . . . . . 237 需求优先级角力 . . . . 238 14.4.2 需求分级方法 . . . . 239 分级法分类 . . . . . . 239 层次分析法 (AHP) . . . 239 14.4.3 多依据分级实践 . . . 241 知识要点回顾 . . . . . . . . . . 242 经典著作推荐 . . . . . . . . . . 243 第 15 章 需求描述 . . . . . . . . . 245 15.1 需求成文常识 . . . . . . . 246 15.2 需求描述语言 . . . . . . . 246 15.2.1 自然语言描述 . . . . 246 默用自然语言 . . . . . 247 自然语言描述的不足 . . 247 15.2.2 形式化语言描述 . . . 248 慎用形式化语言 . . . . 248 辅以自然语言 . . . . . 249 15.3 高质量需求 . . . . . . . . 250 15.3.1 需求项的描述质量 . . 250 需求项的质量属性 . . . 250 需求项编写法则 . . . . 250 15.3.2 需求文档的编写质量 . 251 需求文档的质量属性 . . 251 需求文档编写法则 . . . 251 15.4 IEEE需求规约文档模板 . 252 15.4.1 需求模板总体结构 . . 252 15.4.2 需求模板定制实践 . . 252 15.4.3 引言 (节1) . . . . . 253 15.4.4 总体描述 (节2) . . . 254 15.4.5 详细描述 (节3) . . . 254 ��i-vi�� 15.4.6 需求编号并分类 . . . 255 15.4.7 需求术语表创建 . . . 255 知识要点回顾 . . . . . . . . . . 255 扩展阅读 . . . . . . . . . . . . . 256 第 16 章 需求确认 . . . . . . . . . 257 16.1 需求确认概述 . . . . . . . 258 16.1.1 什么是需求确认? . . 258 16.1.2 “确认即纠错”常识 . . 259 16.2 面向用户的需求确认 . . . 260 16.2.1 “用户优于专家”定律 260 16.2.2 用户确认需求法则 . . 261 16.3 基于审查的需求确认 . . . 262 16.3.1 什么是需求审查? . . 262 16.3.2 需求会议评审实践 . . 262 16.3.3 需求优先审查实践 . . 263 16.3.4 清单审查实践 . . . . 264 16.4 基于原型的需求确认 . . . 265 16.4.1 Boehm原型定律 . . 265 16.4.2 确认界面需求实践 . . 266 16.5 需求承诺书签订实践 . . . 266 知识要点回顾 . . . . . . . . . . 267 经典著作推荐 . . . . . . . . . . 268 第 17 章 需求管理 . . . . . . . . . 269 17.1 需求管理概述 . . . . . . . 270 17.1.1 什么是需求管理? . . 270 17.1.2 全程需求管理理念 . . 270 17.1.3 需求 “入库”常识 . . 271 17.1.4 主要管理活动 . . . . 272 17.2 需求追溯管理 . . . . . . . 273 17.2.1 什么是需求追溯? . . 273 17.2.2 需求追溯框架 . . . . 274 17.2.3 需求追溯链定义实践 . 275 17.3 需求基线管理 . . . . . . . 276 17.3.1 需求蔓延与基线 . . . 276 什么是需求蔓延? . . . 276 需求蔓延定律 . . . . . 276 什么是需求基线? . . . 276 17.3.2 砍半法 . . . . . . . 277 保守的基线定义 . . . . 277 影响基线定义的因素 . . 277 17.3.3 需求遴选实践 . . . . 278 市场部主导需求遴选 . . 278 基于时限的需求遴选 . . 279 17.4 版本化需求管理 . . . . . . 280 17.4.1 可持续开发理念 . . . 280 17.4.2 需求版本规划实践 . . 281 “看两步走一步” . . . . 281 蔓延需求统一分配 . . . 281 知识要点回顾 . . . . . . . . . . 282 经典著作推荐 . . . . . . . . . . 283 第 18 章 需求工程透析 . . . . . . 285 18.1 浅议需求标准 . . . . . . . 286 18.1.1 标准不普适定律 . . . 286 18.1.2 过程本地化实践 . . . 287 18.2 需求错误与缺陷 . . . . . . 287 18.2.1 基本概念 . . . . . . 287 18.2.2 错误与缺陷分类 . . . 288 Davis三分法 . . . . . 288 Tsumaki–Tamai细分法 289 18.2.3 需求 “缺失” . . . . . 290 什么是需求 “缺失” ? . . 290 Glass需求缺失定律 . . 290 18.2.4 相关三定律 . . . . . 290 需求缺陷与修复成本 . . 290 需求缺陷与软件规模 . . 291 需求完整性与软件规模 . 292 18.3 参与者与需求过程 . . . . . 292 18.3.1 权益人与需求过程 . . 292 “兼听则明”常识 . . . . 293 “保障话语权”法则 . . . 293 18.3.2 用户与需求过程 . . . 294 “用户是上帝”常识 . . . 294 Davis用户反馈定律 . . 294 Chaos用户两面性定律 296 用户分组实践 . . . . . 297 需求冲突协商实践 . . . 298 18.4 需求工程难题与挑战 . . . 299 18.4.1 五大实践难题 . . . . 299 18.4.2 六大研究挑战 . . . . 299 ��i-vii�� 知识要点回顾 . . . . . . . . . . 300 经典著作推荐 . . . . . . . . . . 301 第 19 章 需求工程师 . . . . . . . . 303 19.1 需求工程师概述 . . . . . . 304 19.1.1 “通才”+ “专才” . . . 304 19.1.2 “通才”型素质和技能 304 19.1.3 “专才型”素质和技能 305 19.1.4 五大角色 . . . . . . 306 19.2 需求团队建设 . . . . . . . 307 19.2.1 精简需求团队实践 . . 307 19.2.2 “聪明的无知人” . . . 308 知识要点回顾 . . . . . . . . . . 309 扩展阅读 . . . . . . . . . . . . . 309 第四篇 软件设计 . . . . . . . . .311 第 20 章 软件设计概论 . . . . . . 313 20.1 设计基础 . . . . . . . . . . 314 20.1.1 什么是设计? . . . . 314 20.1.2 什么是软件设计? . . 315 20.1.3 高质量设计的要求 . . 316 20.2 软件设计五常识 . . . . . . 317 20.2.1 “按需”设计常识 . . . 317 20.2.2 设计技术抉择常识 . . 318 20.2.3 创新设计常识 . . . . 320 20.2.4 “不完美”设计常识 . . 322 20.2.5 质量设计常识 . . . . 322 20.3 设计框架 . . . . . . . . . . 323 20.3.1 五类设计方法 . . . . 323 20.3.2 四大设计层级 . . . . 324 20.3.3 八个设计视图 . . . . 325 20.4 设计模式 . . . . . . . . . . 326 20.4.1 什么是设计模式? . . 327 20.4.2 设计模式分类 . . . . 327 20.4.3 常态设计理念 . . . . 328 知识要点回顾 . . . . . . . . . . 329 经典著作推荐 . . . . . . . . . . 330 第 21 章 架构设计 . . . . . . . . . 331 21.1 软件架构 . . . . . . . . . . 332 21.1.1 架构概述 . . . . . . 332 什么是软件架构? . . . 332 架构分类 . . . . . . . 332 架构 vs.设计 . . . . . 333 21.1.2 架构的重要性 . . . . 334 Jones架构定律 . . . . 334 架构于项目的影响 . . . 335 架构于产品的影响 . . . 336 架构于组织的影响 . . . 336 21.1.3 架构决策 “八问” . . . 337 21.1.4 架构设计七任务 . . . 338 21.2 架构与软件开发 . . . . . . 339 21.2.1 基于架构开发法则 . . 339 21.2.2 架构中心开发流程 . . 339 21.3 架构模型与模板 . . . . . . 341 21.3.1 Kruchten架构模型 341 21.3.2 RW十大交叉视角 . . 342 21.3.3 Zachman通用框架 343 21.3.4 全息架构设计实践 . . 343 21.3.5 Kruchten架构模板 344 21.4 架构风格 . . . . . . . . . . 345 21.4.1 什么是架构风格? . . 345 21.4.2 常用架构风格一览 . . 346 21.5 领域架构 . . . . . . . . . . 348 21.5.1 领域架构的功能 . . . 348 21.5.2 三类领域架构 . . . . 349 21.5.3 领域架构示例 . . . . 350 数据处理领域架构 . . . 350 事务处理领域架构 . . . 350 事件处理领域架构 . . . 351 21.5.4 经典领域架构 . . . . 352 Web浏览器架构 . . . 352 OSI和TCP/IP架构 . . 353 知识要点回顾 . . . . . . . . . . 353 经典著作推荐 . . . . . . . . . . 354 第 22 章 (面向对象)构件设计 . . . 355 22.1 面向对象 (OO)基础 . . . . 356 22.1.1 对象与类 . . . . . . 356 什么是对象? . . . . . 356 什么是OO类? . . . . 357 ��i-viii�� OO类的典型特征 . . . 357 22.1.2 OO开发过程 . . . . 358 22.1.3 OO优缺点 . . . . . 359 OO四大优点 . . . . . 359 OO七宗罪 . . . . . . 360 理性对待OO方法 . . . 361 22.2 构件设计概述 . . . . . . . 361 22.2.1 构件和构件设计 . . . 361 22.2.2 OO构件设计 . . . . 362 22.3 构件 (设计)模式 . . . . . . 363 22.3.1 什么是构件模式? . . 363 22.3.2 经典构件模式一览 . . 363 22.4 OO设计法则 . . . . . . . 364 22.4.1 单一职责法则 . . . . 364 22.4.2 开闭法则 . . . . . . 365 22.4.3 Liskov替换法则 . . 366 22.4.4 接口隔离法则 . . . . 367 22.4.5 依赖倒置法则 . . . . 368 22.4.6 其他法则 . . . . . . 369 22.5 构件设计实践 . . . . . . . 370 22.5.1 保持接口的健壮性 . . 370 22.5.2 面向对象设计实践 . . 371 知识要点回顾 . . . . . . . . . . 371 经典著作推荐 . . . . . . . . . . 372 第 23 章 用户界面设计 . . . . . . 375 23.1 用户界面 (UI)概述 . . . . . 376 23.1.1 什么是用户界面? . . 376 23.1.2 用户界面五元素 . . . 376 23.1.3 面向用户的理念 . . . 377 23.1.4 界面的用户评价 . . . 378 三重用户标准 . . . . . 378 用户满意度定律 . . . . 378 23.1.5 界面可用性 . . . . . 380 可用性六要素 . . . . . 380 “可用性之惑” . . . . . 380 可用性度量方法 . . . . 381 多属性的界面可用性度量 382 23.1.6 Krug可用性三法则 . 383 一、一目了然的界面 . . 383 二、不经思考的点击 . . 384 三、精简文字的界面 . . 384 23.2 界面设计框架 . . . . . . . 384 23.2.1 界面设计任务 . . . . 384 23.2.2 界面设计过程 . . . . 385 23.3 界面设计法则与实践 . . . 386 23.3.1 以用户为中心 . . . . 387 “用户中心”法则 . . . . 387 界面支持用户控制 . . . 387 人性化的界面设计 . . . 388 界面鼓励和帮助用户 . . 389 简单而令人愉悦的界面 . 391 23.3.2 人机交互 . . . . . . 392 “最短”交互实践 . . . . 392 “有效”交互实践 . . . . 394 23.3.3 界面一致性 . . . . . 395 界面一致法则 . . . . . 395 界面内部一致实践 . . . 395 界面风格一致实践 . . . 396 界面外部一致实践 . . . 396 共通界面设计实践 . . . 397 23.3.4 个性化界面设计法则 . 397 23.4 三大企业的界面设计 . . . 399 23.4.1 IBM界面设计法则 . 400 23.4.2 谷歌用户体验设计法则 401 23.4.3 微软界面设计 . . . . 402 界面设计三法则 . . . . 402 界面规范化设计十二实践 402 知识要点回顾 . . . . . . . . . . 403 经典著作推荐 . . . . . . . . . . 404 第 24 章 数据库工程和设计 . . . . 407 24.1 数据库基础 . . . . . . . . 408 24.1.1 什么是数据? . . . . 408 24.1.2 数据库 . . . . . . . 409 数据库定义及分类 . . . 409 数据库模式 . . . . . . 409 24.1.3 数据库系统 (DBS) . 410 DBS定义及特征 . . . 410 关系型DBS . . . . . 411 DBS与面向对象设计 . 411 24.1.4 数据完整性 . . . . . 413 ��i-ix�� 完整性分类 . . . . . . 413 完整性违例 . . . . . . 414 24.1.5 数据库事务 . . . . . 414 24.1.6 数据 “入库”常识 . . 415 24.2 数据库开发 . . . . . . . . 415 24.2.1 数据库工程概述 . . . 415 24.2.2 基于工具的数据库工程 415 24.2.3 数据库演化开发理念 . 416 24.2.4 数据库开发实践 . . . 416 “先约束、后数据” . . . 416 应用层数据准入实践 . . 417 Ambler八项实践 . . . 418 24.3 数据库设计 . . . . . . . . 418 24.3.1 数据库设计流程 . . . 419 24.3.2 Barker七步设计法 . 420 24.3.3 数据驱动设计理念 . . 420 24.3.4 数据库设计法则 . . . 421 保证数据独立性 . . . . 421 控制数据冗余度 . . . . 421 最少用户数据收集 . . . 422 24.3.5 数据库设计五实践 . . 423 24.4 数据库重构 . . . . . . . . 424 24.4.1 重组与重构 . . . . . 424 24.4.2 数据库臭味 . . . . . 425 24.4.3 重构类型 . . . . . . 425 24.4.4 重构流程 . . . . . . 426 24.4.5 重构常态化 . . . . . 426 24.5 数据库安全工程 . . . . . . 427 24.5.1 数据库安全机制 . . . 427 24.5.2 数据安全违例及分类 . 427 24.5.3 数据库访问控制 . . . 428 24.5.4 数据安全保障法则 . . 430 知识要点回顾 . . . . . . . . . . 431 扩展阅读 . . . . . . . . . . . . . 433 第 25 章 软件设计透析 . . . . . . 435 25.1 软件设计与需求工程 . . . 436 25.1.1 SBN双峰螺旋模型 . 436 25.1.2 设计之需求条件定律 . 437 25.1.3 设计需求与需求爆炸 . 437 25.1.4 溯源设计法则 . . . . 438 25.2 设计基本法则 . . . . . . . 439 25.2.1 简单设计 . . . . . . 439 简单设计法则 . . . . . 439 缩控架构范围实践 . . . 440 25.2.2 模块化设计 . . . . . 441 模块化设计法则 . . . . 441 Constantine模块化定律 443 高内聚低耦合设计实践 . 443 25.2.3 层次化设计 . . . . . 445 层次化设计法则 . . . . 445 Simon层次化定律 . . 445 架构层次设计实践 . . . 446 25.2.4 抽象化设计法则 . . . 447 25.2.5 信息隐藏 . . . . . . 448 信息隐藏设计法则 . . . 448 Parnas模块封装定律 . 449 25.3 设计常用法则 . . . . . . . 450 25.3.1 最小规划设计 . . . . 450 两种设计过程模式 . . . 450 最小规划设计法则 . . . 450 25.3.2 适度设计法则 . . . . 451 25.3.3 概念完整性法则 . . . 452 25.3.4 复用优先的设计 . . . 453 复用优先的设计法则 . . 453 面向复用的设计实践 . . 454 25.3.5 面向变更的设计 . . . 455 面向变更的设计法则 . . 456 需求变更预测实践 . . . 457 25.3.6 多维设计法则 . . . . 458 25.3.7 “不重复自己”设计法则 458 25.3.8 自顶向下设计法则 . . 459 25.4 软件设计七挑战 . . . . . . 460 知识要点回顾 . . . . . . . . . . 462 经典著作推荐 . . . . . . . . . . 464 第 26 章 软件设计师 . . . . . . . . 465 26.1 软件设计师概述 . . . . . . 466 26.1.1 “通才”+ “专才” . . . 466 26.1.2 六项职业素质 . . . . 466 26.1.3 五项专业技能 . . . . 467 26.1.4 设计师培养 . . . . . 468 ��i-x�� 26.2 架构设计师 . . . . . . . . 469 26.2.1 多才的架构师 . . . . 469 26.2.2 自负的架构师 . . . . 470 26.2.3 向建筑师学习 . . . . 471 26.2.4 十二项 “修炼” . . . . 471 26.3 界面设计师 . . . . . . . . 472 26.3.1 四项独特技能 . . . . 473 26.3.2 界面设计师 vs. “美工” 473 26.4 数据库设计师 . . . . . . . 474 26.4.1 两项额外技能 . . . . 474 26.4.2 设计师 vs. “DBA” . 474 26.5 设计师团队建设 . . . . . . 475 26.5.1 多样的设计师团队 . . 475 26.5.2 培养新人的设计师团队 475 知识要点回顾 . . . . . . . . . . 476 扩展阅读 . . . . . . . . . . . . . 477 第五篇 软件构造 . . . . . . . . .479 第 27 章 软件构造概论 . . . . . . 481 27.1 编程概述 . . . . . . . . . . 482 27.1.1 认识编程 . . . . . . 482 什么是软件构造? . . . 482 编程的本质 . . . . . . 482 编程之 “难” . . . . . . 483 27.1.2 编程 “王道”论 . . . . 483 27.2 编程语言 . . . . . . . . . . 484 27.2.1 编程语言简介 . . . . 484 三类编程语言 . . . . . 484 热门编程语言 . . . . . 485 开发 vs.维护语言 . . . 487 27.2.2 编程语言选择 . . . . 488 语言选择三大依据 . . . 488 编程语言选择法则 . . . 489 27.2.3 多语言编程与软件成本 490 语言与成本定律 . . . . 490 多语言编程的必要性 . . 491 27.3 技术债 . . . . . . . . . . . 491 27.3.1 基本概念 . . . . . . 491 什么是技术债? . . . . 491 技术债的类别 . . . . . 492 27.3.2 “尽早还债”法则 . . . 492 27.3.3 偿还策略 . . . . . . 493 27.3.4 代码及早重构实践 . . 494 知识要点回顾 . . . . . . . . . . 495 经典著作推荐 . . . . . . . . . . 496 第 28 章 软件调试 . . . . . . . . . 497 28.1 调试概述 . . . . . . . . . . 498 28.1.1 什么是调试? . . . . 498 28.1.2 调试技术发展史 . . . 499 28.1.3 调试流程 . . . . . . 500 28.1.4 调试途径 . . . . . . 501 28.2 十四项调试法则 . . . . . . 502 28.3 五项调试实践 . . . . . . . 504 28.3.1 编写可调试的代码 . . 504 28.3.2 剖析内存 . . . . . . 505 28.3.3 静态代码排查 . . . . 506 28.3.4 “黄灯”即 “红灯” . . . 507 28.3.5 使用多编译器 . . . . 507 知识要点回顾 . . . . . . . . . . 508 经典著作推荐 . . . . . . . . . . 509 第 29 章 软件构造透析 . . . . . . 511 29.1 编程理念 . . . . . . . . . . 512 29.1.1 人本主义编程 . . . . 512 29.1.2 简洁编程 . . . . . . 513 简洁编程理念 . . . . . 513 代码重写实践 . . . . . 513 写少码实践 . . . . . . 514 29.1.3 质量编程 . . . . . . 515 质量编程理念 . . . . . 515 童子军军规 . . . . . . 516 29.2 编程法则 . . . . . . . . . . 517 29.2.1 代码结构化 . . . . . 517 代码结构化法则 . . . . 517 DMW定律 . . . . . . 518 Dijkstra之Goto有害论 518 29.2.2 “不重复自己”编程 . . 519 29.2.3 Davis编程法则 . . . 519 29.3 编程实践 . . . . . . . . . . 521 29.3.1 字面编程 . . . . . . 521 ��i-xi�� 29.3.2 慎重编程 . . . . . . 522 29.3.3 结对编程 . . . . . . 522 29.3.4 标准化编程 . . . . . 523 29.3.5 代码审查 . . . . . . 524 29.3.6 Martin编程实践 . . 525 知识要点回顾 . . . . . . . . . . 526 经典著作推荐 . . . . . . . . . . 527 第 30 章 程序员 . .
本文档为【上卷目录】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_998996
暂无简介~
格式:pdf
大小:995KB
软件:PDF阅读器
页数:14
分类:互联网
上传时间:2014-04-29
浏览量:26