词条 | 高等院校精品课程系列教材·软件工程教程 |
释义 | 图书信息出版社: 机械工业出版社; 第1版 (2010年4月1日) 平装: 332页 正文语种: 简体中文 开本: 16 ISBN: 7111300025, 9787111300021 条形码: 9787111300021 尺寸: 25.8 x 18.2 x 1.4 cm 重量: 581 g 内容简介《软件工程教程》全面系统地介绍了软件工程的有关概念、原则、方法和工具。全书共15章,内容包括:软件工程中面向过程、面向对象的开发方法,技术度量,质量保证,软件项目计划与管理,用统一建模语言UML开发软件的方法等。另外,还对设计模式、敏捷软件开发、Web工程等软件工程相关领域进行了介绍和讨论。《软件工程教程》既注重科学性和系统性,又注重实用性和新颖性。 《软件工程教程》可作为大学计算机及相关专业本(专)科学生的教材或教学参考书,也可作为研究生的参考教材。 目录出版者的话 前言 教学建议 第1章 软件工程概述 1 1.1 软件发展和软件危机 1 1.1.1 软件的定义和发展 1 1.1.2 软件危机过程 2 1.2 软件工程学的范畴 5 1.3 软件开发的生命周期 5 1.4 传统软件工程和面向对象软件工程 7 1.5 软件的特点 10 1.6 软件工程的基本目标 11 小结 12 习题 12 第2章 软件生命周期过程模型 13 2.1 过程及软件生命周期 13 2.2 软件过程模型 14 2.2.1 瀑布模型 15 2.2.2 具有原型化的瀑布模型 17 2.3 演化过程模型 18 2.3.1 原型化模型 18 2.3.2 螺旋模型 19 2.3.3 操作说明模型 20 2.4 增量过程模型 21 2.4.1 RAD模型 21 2.4.2 增量和迭代模型 22 2.5 其他类型的过程模型 23 2.5.1 喷泉模型 23 2.5.2 智能模型 24 2.5.3 V模型 25 2.5.4 变换模型 25 小结 26 习题 26 第3章 需求分析 27 3.1 需求分析的任务 27 3.1.1 需求定义 27 3.1.2 需求的层次 28 3.1.3 需求的开发与管理 28 3.2 需求获取技术 30 3.2.1 需求分析人员的组成 30 3.2.2 需求的类型 30 3.2.3 获取需求的途径 31 3.3 需求规格说明书 36 3.3.1 需求说明的目的 36 3.3.2 需求说明的方法 36 3.4 需求描述技术 36 3.4.1 结构化技术 36 3.4.2 形式化技术 40 3.5 需求验证 48 小结 49 习题 49 第4章 概要设计 51 4.1 概要设计的概念 51 4.1.1 概要设计的目标和任务 51 4.1.2 概要设计的过程 53 4.1.3 概要设计的工具 53 4.2 模块独立性 55 4.2.1 模块化 55 4.2.2 模块的耦合性 56 4.2.3 模块的内聚性 60 4.3 结构化设计方法 63 4.3.1 概念 63 4.3.2 变换分析 66 4.3.3 事务分析 68 4.3.4 设计的后处理 69 4.4 数据设计 70 4.4.1 数据设计的原则 70 4.4.2 数据结构设计 71 4.4.3 文件设计 71 4.4.4 数据库设计 72 小结 73 习题 73 第5章 详细设计 74 5.1 详细设计的任务 74 5.2 详细设计的方法 75 5.2.1 设计表示法 75 5.2.2 结构化程序设计 77 5.2.3 面向数据结构的设计 80 5.2.4 详细设计文档与复审 85 小结 90 习题 91 第6章 编码与语言选择 92 6.1 编码的目的和任务 92 6.2 编码所使用的语言 93 6.2.1 程序设计语言范型 93 6.2.2 程序设计语言的发展 94 6.2.3 常用的编码语言 96 6.2.4 编码语言的选择 98 6.3 编码的风格 99 小结 103 习题 103 第7章 面向对象方法 104 7.1 面向对象的基本概念 104 7.1.1 对象 104 7.1.2 类与消息 105 7.1.3 类的基本特征 106 7.2 面向对象的开发方法 106 7.2.1 概述 107 7.2.2 面向对象方法的发展历程 107 7.2.3 常用的面向对象分析的方法 108 7.3 面向对象的设计 111 7.3.1 面向对象设计概述 111 7.3.2 底层设计—类的设计 118 7.3.3 OOD的Yourdon的方法 120 7.3.4 Booch的方法 125 7.3.5 系统的设计过程 126 小结 129 习题 129 第8章 统一建模语言 130 8.1 统一建模语言简介 130 8.1.1 发展历史 130 8.1.2 UML简介 131 8.1.3 UML视图简介 132 8.1.4 视图 132 8.1.5 UML类、构件、部署和协作图 中的图标 133 8.1.6 扩展组件 134 8.1.7 各种视图间的关系 134 8.2 概念与视图 135 8.2.1 静态视图 135 8.2.2 用例图 136 8.2.3 交互视图 136 8.2.4 状态图 138 8.2.5 活动视图 139 8.2.6 物理视图 140 8.2.7 模型管理视图 142 8.3 UML与Java的对应关系 143 8.3.1 表示结构 143 8.3.2 表示关系 145 8.4 统一建模语言的综合应用 149 8.4.1 项目概述 149 8.4.2 静态分析和设计 150 8.4.3 持久对象设计 151 8.4.4 动态对象设计 152 8.4.5 通用接口设计 154 8.4.6 体系结构设计 157 小结 159 习题 160 第9章 统一软件过程 161 9.1 软件开发过程 161 9.2 迭代和递增 162 9.3 核心工作流 162 9.3.1 需求流 162 9.3.2 分析流 164 9.3.3 设计流 166 9.3.4 实现流 167 9.3.5 测试流 168 9.3.6 交付后维护 170 9.3.7 退役 170 9.4 统一过程的各阶段 171 9.4.1 开始阶段 171 9.4.2 细化阶段 173 9.4.3 构建阶段 173 9.4.4 转换阶段 174 9.5 二维生命周期模型 174 小结 174 习题 174 第10章 软件测试 176 10.1 软件测试概述 176 10.1.1 软件测试的目标 176 10.1.2 软件测试的原则 177 10.1.3 软件测试的方法 178 10.1.4 软件测试与软件开发各阶段的 关系 178 10.1.5 测试信息流 179 10.1.6 错误分类 179 10.2 软件测试过程与策略 182 10.2.1 单元测试 182 10.2.2 集成测试 183 10.2.3 确认测试 186 10.2.4 平行运行 187 10.3 设计测试方案 187 10.3.1 逻辑覆盖 188 10.3.2 等价划分 191 10.3.3 边界值分析 194 10.3.4 错误推测 194 10.3.5 实用测试策略 195 10.4 纠错 198 10.5 对OOA和OOD模型的测试 200 10.5.1 扩大测试的视角 201 10.5.2 测试OOA和OOD模型 201 10.6 面向对象的测试策略 203 10.6.1 在OO语境中的单元测试 203 10.6.2 在OO语境中的集成测试 203 10.6.3 在OO语境中的有效性测试 204 10.7 OO软件的测试用例设计 204 10.7.1 OO概念的测试用例设计的 含义 204 10.7.2 传统测试用例设计方法的 可用性 204 10.7.3 基于故障的测试 205 10.7.4 OO编程对测试的影响 205 10.7.5 测试用例和类层次 206 10.7.6 基于场景的测试设计 206 10.7.7 测试表层结构和深层结构 207 10.8 其他专门环境要求的测试 208 10.8.1 GUI测试 208 10.8.2 测试文档和帮助设施 209 10.8.3 实时系统测试 210 小结 211 习题 211 第11章 软件维护 213 11.1 系统的变化 213 11.1.1 系统的类型 214 11.1.2 系统生命周期中的变化 215 11.1.3 系统的生命范围 216 11.2 软件维护的基本内容和特点 218 11.2.1 软件维护概述 218 11.2.2 软件维护的特点 219 11.2.3 维护中的问题 220 11.3 软件维护的实施 221 11.3.1 软件维护的过程 221 11.3.2 软件维护的技术 224 11.4 软件的可维护性 224 11.4.1 软件可维护性概述 225 11.4.2 软件可维护性度量 225 11.4.3 提高可维护性的方法 225 11.5 软件维护的副作用 226 11.5.1 代码副作用 226 11.5.2 数据副作用 227 11.5.3 文档副作用 227 11.6 软件再工程 227 11.6.1 软件再工程的过程 227 11.6.2 软件再工程的方法 228 小结 228 习题 229 第12章 软件质量及其管理 230 12.1 软件质量的概念及属性 230 12.1.1 软件质量概述 230 12.1.2 软件质量的属性 230 12.2 软件质量保证与控制 231 12.2.1 软件质量保证概述 232 12.2.2 软件质量保证计划 232 12.2.3 软件质量成本 234 12.2.4 软件质量控制 234 12.3 软件质量度量 235 12.3.1 软件质量度量概述 235 12.3.2 质量度量模型 235 12.3.3 三种度量模型的比较 236 12.3.4 软件质量评价 238 12.4 软件可靠性 238 12.4.1 基本概念 238 12.4.2 影响软件可靠性的因素 239 12.4.3 软件可靠性模型 240 12.4.4 软件可靠性工程 242 12.5 CMM:软件能力成熟度模型 242 12.5.1 CMM的发展 242 12.5.2 基本概念 243 12.5.3 SW-CMM的用途 243 12.5.4 CMM的五个等级 244 12.5.5 CMM的内部结构 246 12.5.6 采用CMM的意义 248 小结 249 习题 249 第13章 软件项目管理 250 13.1 项目管理的概念 250 13.1.1 项目管理过程 250 13.1.2 项目管理的范围 251 13.1.3 项目管理中的资源 251 13.2 可行性研究 252 13.2.1 可行性研究的任务和过程 252 13.2.2 技术可行性研究 253 13.2.3 经济可行性研究 254 13.2.4 运行可行性研究 256 13.3 软件项目估算 257 13.3.1 代码行技术 257 13.3.2 功能点技术 257 13.4 软件开发成本估算 260 13.4.1 软件开发成本估算方法 260 13.4.2 专家判定技术 260 13.4.3 软件开发成本估算的早期经验 模型 261 13.5 进度安排 264 13.5.1 软件开发小组人数与软件 生产率 264 13.5.2 任务的确定与并行性 264 13.5.3 制定开发进度计划 265 13.5.4 项目的追踪和控制 265 13.6 人员组织 266 13.6.1 民主制程序员组 266 13.6.2 主程序员组 267 13.6.3 现代程序员组 268 13.7 软件风险管理 269 13.7.1 风险识别 269 13.7.2 风险估计 271 13.7.3 风险评价 272 13.7.4 风险驾驭和监控 273 13.8 软件配置管理 274 13.8.1 软件配置 274 13.8.2 软件配置管理过程 275 小结 276 习题 276 第14章 CASE环境与工具 278 14.1 工程环境 278 14.1.1 软件开发环境的特点 278 14.1.2 理想环境的模型 280 14.1.3 CASE环境简介 280 14.2 CASE环境的组成与结构 281 14.2.1 CASE的组成构件 281 14.2.2 CASE的一般结构 283 14.3 CASE环境工具与实践 284 14.3.1 CASE软件工程实践 284 14.3.2 常用CASE工具介绍 285 14.4 逐步求精 287 小结 290 习题 290 第15章 软件工程新技术概述 292 15.1 敏捷软件开发过程 292 15.1.1 敏捷的概念 293 15.1.2 敏捷过程的含义 293 15.1.3 敏捷过程模型 295 15.2 设计模式 302 15.2.1 设计模式的基本概念 302 15.2.2 关系环与组合模式 303 15.2.3 工厂模式 306 15.2.4 观察者模式与拉推数据 315 15.3 Web工程简介 320 15.3.1 Web系统和应用特点 320 15.3.2 Web工程的层次 321 15.3.3 Web分析 322 15.3.4 Web设计 323 15.3.5 Web测试 324 15.3.6 Web的项目管理 328 小结 330 习题 330 参考文献 331 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。