书籍详情
软件工程(高等学校计算机教育规划教材)
作者:钟珞
出版社:清华大学出版社
出版时间:2005-10-01
ISBN:9787302118497
定价:¥27.00
购买这本书可以去
内容简介
《软件工程》面向普通高等院校本科教学的需要及软件工程技术的发展。主要内容包括:软件工程概述、可行性研究和需求定义、需求分析、系统设计、详细设计、程序编码、软件测试、软件维护、软件项目计划与管理、软件过程能力成熟度模型CMM、软件的可靠性及软件工具及环境。本书主要特色在于理论、方法与应用相结合,不仅对软件的分析、设计、开发到维护过程进行全面地讲述,而且配有丰富的实例。除了对传统的软件工程方法进行讲述外,还增添了面向对象的软件工程方法、CMM成熟度模型以及软件工具与环境等较为成熟的内容。本书概念清楚,内容丰富,每章配有小结和习题,便于教学和学习。本书可供高校本科生学习与后续技术开发使用,也可供广大计算机爱好者阅读。
作者简介
暂缺《软件工程(高等学校计算机教育规划教材)》作者简介
目录
第1章 软件工程概述 11.1 软件工程的产生 11.1.1 计算机软件及其特点 11.1.2 软件危机 31.1.3 软件工程的定义 41.2 软件工程的研究对象和基本原理 51.2.1 软件工程的研究对象 51.2.2 软件工程的基本原理 61.3 软件的生存期及常用的开发模型 71.3.1 软件的生存期 71.3.2 常用的软件开发模型 9本章小结 12习题1 14第2章 可行性研究和需求定义 152.1 问题定义 152.1.1 问题定义的基本任务 152.1.2 问题定义报告 162.2 可行性研究 162.2.1 可行性研究的内容及过程 172.2.2 可行性研究报告 182.3 需求定义 192.3.1 需求获取的内容 192.3.2 需求获取的方法 202.3.3 需求规格说明的内容 212.3.4 需求规格说明的评审 222.3.5 需求规格说明书 232.4 典型应用分析 25本章小结 29习题2 29第3章 需求分析 303.1 需求分析的目标与原则 303.1.1 需求分析的目标 313.1.2 需求分析的原则 313.2 需求分析的过程及方法 323.2.1 需求分析的过程 323.2.2 需求分析方法 333.3 需求分析的工具 503.3.1 SADT 503.3.2 PSL/PSA 513.4 传统的软件建模 523.4.1 软件建模 523.4.2 数据模型的建立 533.4.3 功能模型、行为模型的建立及数据字典 543.5 用例建模 563.5.1 用例图 573.5.2 参与者及用例的描述 603.5.3 用例建模过程 623.6 面向对象建模 633.6.1 面向对象基础 633.6.2 面向对象分析模型 693.6.3 对象模型的建立 703.6.4 行为模型的建立 723.6.5 功能模型的建立 763.7 统一建模语言UML 783.7.1 UML的基本实体 793.7.2 UML的目标及范畴 793.7.3 UML图的使用实例 803.8 典型应用分析 843.8.1 结构化分析示例 843.8.2 面向对象分析示例 883.8.3 面向问题域的分析示例 91本章小结 94习题3 95第4章 系统设计 964.1 系统设计的任务和过程 964.1.1 系统设计的任务 964.1.2 系统设计的过程 964.2 系统设计的基本原则 974.2.1 软件设计 974.2.2 模块设计 1004.2.3 结构设计 1014.3 面向数据流图的设计方法 1014.3.1 典型的系统结构图 1014.3.2 变换分析 1034.3.3 事务分析 1054.3.4 软件模块结构的改进 1064.4 面向对象的设计方法 1064.4.1 面向对象的基本概念和特征 1064.4.2 面向对象的技术要点 1064.4.3 面向对象分析模型 1074.5 面向对象软件设计模型 1074.5.1 设计模式描述 1074.5.2 设计模式的分类 1074.6 模型-视图-控制器框架 1084.6.1 MVC模式 1084.6.2 MVC中的模型类、视图类和控制类 1094.6.3 MVC的实现 1104.7 系统设计说明书 1114.8 典型应用分析 1124.8.1 类设计的目标 1124.8.2 类设计的方针 1124.8.3 通过复用设计类 1134.8.4 计数器类设计的实例 113本章小结 114习题4 115第5章 详细设计 1165.1 详细设计的任务及过程 1165.1.1 详细设计的任务 1165.1.2 详细设计的过程 1165.1.3 详细设计的原则 1175.1.4 详细设计工具 1175.2 结构化设计方法 1225.2.1 基于数据流的结构化设计方法 1225.2.2 面向数据结构的结构化设计方法 1235.3 Jackson程序设计方法 1235.3.1 Jackson方法的基本思想 1235.3.2 Jackson方法的设计技术及实例 1245.4 Warnier程序设计方法 1315.4.1 Warnier方法的基本思想 1315.4.2 Warnier方法的设计技术及实例 1315.5 基于组件的设计方法 1355.5.1 基于组件的基本思想 1355.5.2 基于组件的设计技术及实例 1365.5.3 应用 1425.6 详细设计说明书 1425.6.1 引言 1425.6.2 总体设计概述 1435.6.3 程序描述 143本章小结 143习题5 144第6章 程序编码 1456.1 程序设计语言 1456.1.1 程序设计语言的发展及分类 1456.1.2 程序设计语言的选择 1476.2 程序设计风格 1486.2.1 源程序文档化 1486.2.2 数据说明 1496.2.3 表达式和语句 1496.2.4 输入输出 1506.3 程序设计方法 1506.3.1 结构化程序设计方法 1506.3.2 面向对象的程序设计方法 1526.4 程序的复杂性及度量 1546.4.1 程序的复杂性 1546.4.2 McCabe度量法 1546.4.3 Halstead方法 155本章小结 156习题6 157第7章 软件测试 1587.1 软件测试的基本方法 1587.1.1 静态测试和动态测试 1587.1.2 白盒测试和黑盒测试 1597.1.3 ALAC测试 1607.2 软件测试过程 1607.2.1 单元测试 1607.2.2 集成测试 1607.2.3 确认测试 1617.2.4 系统测试 1627.3 软件测试 1637.3.1 软件测试角色 1637.3.2 软件测试环境 1647.3.3 软件测试的需求规格说明 1647.3.4 软件测试设计说明 1707.3.5 测试评价 1717.4 面向对象软件测试 1747.4.1 面向对象测试模型 1747.4.2 面向对象分析的测试 1747.4.3 面向对象设计的测试 1757.4.4 面向对象编程的测试 1757.4.5 面向对象的单元测试 1767.4.6 面向对象的集成测试 1767.4.7 面向对象的系统测试 1767.5 典型应用分析 177本章小结 183习题7 184第8章 软件维护 1858.1 软件维护的基本概念 1858.1.1 软件维护的定义 1868.1.2 软件维护的分类 1868.2 软件维护的特点及过程 1878.2.1 影响软件维护的因素 1878.2.2 软件维护的标准化 1888.2.3 软件维护的特点 1898.2.4 软件维护过程 1908.3 软件的可维护性 1928.3.1 软件可维护性的定义 1928.3.2 软件可维护性的度量及评估 1928.3.3 提高软件可维护性的方法 195本章小结 196习题8 196第9章 软件项目计划与管理 1979.1 成本估计 1999.1.1 项目成本估计的基本要素与模式 2009.1.2 软件开发成本估算的常用方法 2039.1.3 软件成本估算的经验模型 2089.2 效益分析 2139.2.1 几种效益度量方法 2149.2.2 效益分析方法 2159.3 项目组织与计划 2179.3.1 项目计划的制定 2189.3.2 项目组人员配备规则 2209.3.3 人员组织与管理 2229.4 进度计划 2259.4.1 制定开发进度计划 2259.4.2 甘特图与时间管理 2269.4.3 工程网络与关键路径 2279.4.4 项目进度跟踪与控制 2299.5 风险管理 2309.5.1 风险识别与分类 2319.5.2 风险评估与分析 2339.5.3 风险策划与管理 2359.5.4 风险规避与监控 2379.6 软件质量 2389.6.1 软件质量特性与度量 2409.6.2 软件质量体系与控制 2459.6.3 软件质量保证与评审 2479.6.4 软件配置项及其管理 2509.7 软件工程标准 2539.7.1 软件工程标准化及其意义 2539.7.2 软件工程标准的类型与层次 2549.7.3 软件质量标准与认证 2589.7.4 软件文档标准化 260本章小结 263习题9 264第10章 软件过程能力成熟度模型CMM 26510.1 软件过程与软件过程成熟度 26510.1.1 软件过程 26510.1.2 软件过程成熟度 26610.1.3 软件过程改进框架 26610.2 CMM简介 26710.2.1 CMM的发展过程 26810.2.2 软件过程成熟度的基本概念 26810.2.3 全面质量管理和CMM 26910.2.4 基于模型改进的优点与风险 27310.3 软件过程成熟度框架 27510.3.1 成熟度的5个级别 27510.3.2 软件过程的可视性 27710.3.3 跳越成熟度级别 27810.4 能力成熟度模型的结构 27910.4.1 成熟度级别的内部结构 27910.4.2 关键过程域 28010.4.3 关键实践 28010.4.4 共同特性 28110.5 CMM的应用 28110.5.1 基于CMM的估价方法 28110.5.2 软件过程评估及软件能力评价 28310.5.3 软件过程改进 28510.5.4 使用CMM 28710.5.5 CMM实施工具 288本章小结 290习题10 291第11章 软件的可靠性 29211.1 软件可靠性基本概念 29211.1.1 软件可靠性定义 29211.1.2 软件可靠性的主要指标 29311.1.3 软件生存期与软件寿命 29311.2 软件可靠性评估 29411.2.1 软件可靠性模型 29411.2.2 估算软件中错误的方法 29611.3 软件可靠性技术 29811.3.1 算法模型化 29811.3.2 软件容错技术 299本章小结 301习题11 302第12章 软件工具及环境 30312.1 软件工具 30412.1.1 软件工具的作用与功能 30412.1.2 软件工具的分类 30512.2 软件开发环境 30512.2.1 软件开发环境的分类 30612.2.2 软件开发环境的特点 30612.2.3 软件开发环境的组成与结构 30712.3 计算机辅助软件工程(CASE) 30712.3.1 CASE的概念及现状 30812.3.2 CASE技术的功能及组成 30812.3.3 CASE工具分类及特点 30912.3.4 CASE与软件工程的关系 310本章小结 311习题12 311参考文献 312
猜您喜欢