实用软件工程基础
2002-8
清华大学出版社
陈明
279
为了摆脱软件危机,诞生了软件工程学。从1969年提出软件工程概念以来,历经30多年飞速的发展,软件工程学逐渐成熟,现已成为计算机科学与技术领域中的一门重要的学科。软件工程学的目标是以解决软件生产的质量与效率问题为宗旨,研究一套科学的工程方法,以及与此相应的方便的软件工具系统,用来指导和帮助软件的开发与研究工作,在软件的开发与研究中起到重要的技术保障与促进作用。 本书分为9章,较系统地介绍了软件工程学的内容,主要包括: 第1章软件工程概述 第2章可行性研究 第3章需求分析 第4章概要设计 第5章详细设计 第6章面向对象的分析和设计方法 第7章编码 第8章软件质量与质量保证 第9章项目计划与管理
本书主要介绍了软件工程学及应用的有关内容,主要包括可行性研究、需求分析、概要设计、详细设计、编码、测试等内容。
第1章 软件工程概述11.1 软件11.1.1 软件的发展11.1.2 软件定义21.1.3 软件的特点31.1.4 软件的分类41.2 软件工程概念71.2.1 软件危机与软件工程定义71.2.2 软件工程的基本内容与目标111.2.3 软件工程的原则111.3 软件生存周期与软件开发模型121.3.1 软件生存周期121.3.2 软件开发模型14小结20习题20第2章 可行性研究212.1 可行性研究的任务212.2 可行性研究的步骤222.3 系统流程图242.4 成本效益分析252.4.1 成本估计262.4.2 费用估计272.4.3 几种度量效益的方法28小结29习题30第3章 需求分析313.1 需求分析的任务与步骤313.1.1 需求分析的任务313.1.2 需求分析的步骤333.1.3 需求分析的原则363.2 需求分析的方法373.2.1 面向数据流的需求分析方法393.2.2 数据流图393.2.3 数据字典453.3 图形工具513.3.1 层次方框图513.3.2 Warnier图513.3.3 IPO图523.4 需求规格说明与评审533.4.1 需求规格说明的主要内容533.4.2 需求分析的评审543.4.3 需求分析评审的方法55小结56习题56第4章 概要设计574.1 概要设计的任务与步骤574.1.1 概要设计的任务574.1.2 概要设计的过程584.2 软件设计的概念与原则604.2.1 模块化604.2.2 抽象与逐步求精614.2.3 信息隐蔽和局部化634.2.4 模块独立性634.2.5 结构设计原则684.3 面向数据流的设计方法714.3.1 基本概念724.3.2 系统结构图的组成734.3.3 变换分析754.3.4 事务分析794.3.5 设计优化804.4 面向数据结构的分析设计方法814.4.1 Jackson系统开发方法814.4.2 Warnier方法904.5 概要设计文档评审92小结93习题93第5章 详细设计955.1 详细设计的任务与原则955.1.1 详细设计的任务955.1.2 详细设计的原则955.2 详细设计的方法965.2.1 程序流程图965.2.2 N?S图985.2.3 PAD图1005.2.4 PDL(过程设计语言)1025.2.5 HIPO图1035.2.6 详细设计工具的选择1045.3 详细设计规格说明与复审1055.3.1 详细设计说明1055.3.2 设计复审107小结107习题107第6章 面向对象的分析和设计方法1096.1 面向对象方法的基本概念和特征1096.1.1 面向对象方法概述1096.1.2 面向对象的软件工程1116.1.3 面向对象的基本概念和特征1156.2 面向对象的分析1236.2.1 面向对象分析的基本过程及原则1236.2.2 确定对象、类1286.2.3 确定属性1316.2.4 定义服务1326.2.5 对象间通信1356.3 面向对象设计1426.3.1 面向对象设计的基本概念1426.3.2 面向对象设计的方法1446.4 UML方法1466.4.1 UML的发展1476.4.2 UML的表示法1506.4.3 UML软件开发过程概述165小结167习题167第7章 编码1697.1 程序设计语言1697.1.1 程序设计语言的分类1697.1.2 程序设计语言的特点1717.1.3 程序设计语言的选择1747.2 编码风格1757.2.1 源程序文档化1767.2.2 数据说明1787.2.3 语句结构1787.2.4 输入输出1807.3 程序效率1817.3.1 有关程序效率的几条准则1817.3.2 算法对效率的影响1817.3.3 影响存储器效率的因素1827.3.4 影响输入输出的因素1827.4 编程安全1827.4.1 冗余程序设计1837.4.2 防错程序设计1837.5 面向对象程序设计步骤184小结185习题185第8章软件质量与质量保证1878.1 软件质量的定义1878.2 影响软件质量的因素1878.3 软件质量保证策略1898.4 软件质量保证活动1908.5 软件评审1918.5.1 设计质量的评审内容1918.5.2 程序质量的评审内容1968.6 软件质量保证的标准1988.7 结构化的软件测试1998.7.1 软件测试的概念和原则2008.7.2 软件测试技术2028.7.3 测试的步骤2078.7.4 软件纠错技术2118.8 面向对象的软件测试2128.8.1 面向对象分析和面向对象设计的模型测试2138.8.2 面向对象的测试策略2158.8.3 面向对象软件测试用例设计2168.9 软件测试计划与测试分析报告2188.10 软件维护2208.10.1 软件维护的定义、分类与特点2208.10.2 软件维护的步骤及组织2228.10.3 软件的可维护性2268.10.4 软件维护的副作用2278.10.5 逆向工程和再生工程228小结230习题230第9章 项目计划与管理2319.1 软件项目特点、管理的特殊性及软件管理功能2319.1.1 软件项目的特点2319.1.2 软件管理的功能2329.1.3 确定软件项目的工作范围2329.2 确定软件开发所需的资源2339.2.1 人力资源2339.2.2 硬件2339.2.3 软件2349.3 人员的计划和组织2349.4 成本估计及控制2359.4.1 软件开发成本估计方法2369.4.2 专家判定技术2369.4.3 成本估算模型2379.5 进度计划2399.5.1 软件工作的特殊性2399.5.2 各阶段工作量的分配2409.5.3 制定开发进度2409.6 软件配置管理2419.6.1 基线2429.6.2 软件配置项2429.6.3 软件配置管理过程2449.7 软件管理方案247小结248习题248附录1 可行性研究报告规范250附录2 项目开发计划规范255附录3 需求规格说明书规范258附录4 概要设计说明书规范264附录5 详细设计说明书规范268附录6 项目开发总结报告规范271附录7 用Word撰写文档规范274参考文献279
《21世纪计算机专业大专系列教材·实用软件工程基础》可作为计算机专业大专层次的教材,也可作为非计算机专业本科的教材,还可作为从事软件开发与应用的工程技术人员的参考书。 由于作者水平有限,书中不足之处在所难免,敬请批评指正。