软件工程基础教程

2013年国防工业出版社出版图书
《软件工程基础教程》是2013年国防工业出版社出版图书，作者是潘广贞、杨剑。
内容简介
《软件工程基础教程》可作为高等院校计算机、软件工程、通信或电子类等相关专业的本科生或高职高专院校专科生的教材，也可作为工程技术人员及计算机爱好者的自学用书。
《软件工程基础教程》内容循序渐进、深入浅出、概念清晰、结构条理，将软件工程的理论知识与软件工程的应用实践相结合，并配有适量的习题，帮助读者从不同的角度理解和掌握所学的知识，构建完整的软件工程知识体系。
《软件工程基础教程》编辑推荐：《软件工程基础教程》是作者精心编写而成的书籍。
图书目录
第1章软件工程概述
1.1软件与软件危机
1.1.1软件的定义、特点及
分类
1.1.2软件开发的演变
过程
1.1.3软件危机
1.2软件工程
1.2.1软件工程的定义
1.2.2软件工程的基本
原理
1.2.3软件工程的内容
1.2.4软件工程的目标及
原则
1.3软件工程过程
1.4软件生存周期
1.5软件生存周期模型
1.5.1瀑布模型
1.5.2快速原型模型
1.5.3增量模型
1.5.4螺旋模型
1.5.5喷泉模型
1.5.6智能模型
1.5.7基于构件的过程
模型
1.5.8统一过程模型
1.5.9形式化模型
1.6小结
习题1
第2章需求分析
2.1可行性研究
2.1.1问题定义
2.1.2可行性研究的任务
2.1.3可行性研究的步骤
2.1.4系统流程图
2.2需求分析
2.2.1需求的概念
2.2.2需求的层次
2.2.3需求分析的任务
2.2.4需求获取的方法
2.2.5需求分析的原则
2.2.6需求分析的方法
2.3结构化分析方法
2.3.1结构化分析方法
的思想
2.3.2结构化分析方法
的步骤
2.3.3结构化分析方法的
描述工具
2.4数据流图
2.4.1数据流图的图符
2.4.2分层数据流图
2.4.3数据流图的实例——
销售管理系统
2.4.4构造分层图的一般
原则
2.5数据字典
2.5.1数据字典中的词条
2.5.2数据字典编写的要求
及使用
2.6加工逻辑说明
2.6.1结构化语言
2.6.2判定表
2.6.3判定树
2.7关系数据理论
2.7.1关系规范化的
原因
2.7.2关系模式规范化
2，7.3E—R方法
2.7.4E—R图向关系模型
的转换
2.7.5关系模型的优化
2.8小结
习题2
第3章概要设计
3.1概要设计综述
3.1.1概要设计的内容
3.1.2软件体系结构
3.2软件结构设计的概念和
原理
3.2.1模块和模块化
3.2.2抽象
3.2.3信息隐蔽和局部化
3.2.4模块独立性及其
度量
3.3软件结构设计的准则
3.4概要设计工具
3.4.1IPO图
3.4.2HIPO图
3.4.3软件结构图
3.5结构化设计的方法
3.5.1数据流图的类型
3.5.2设计过程
3.5.3设计优化
3.6小结
习题3
第4章详细设计及实现
4.1结构化程序设计
4.2用户界面设计
4.2.1用户类型
4.2.2用户界面的设计
思想
4.2.3用户界面设计的
原则
4.3过程设计的工具
4.3.1程序设计流程图
4.3.2N—S图
4.3.3PAD图
4.3.4过程设计语言
4.4程序设计语言及设计风格
4.4.1程序设计语言的发展
与分类
4.4.2程序设计语言的
选择
4.4.3程序设计的风格
4.5程序设计的算法与效率
4.5.1程序设计的算法
4.5.2程序的运行效率
4.6小结
习题4
第5章测试与维护
5.1测试的基础
5.1.1软件测试的概念
5.1.2软件测试的目标
5.1.3软件测试的原则
5.1.4软件测试的对象
5.2测试的方法
5.2.1静态测试与动态
测试
5.2.2黑盒测试法与白盒
测试法
5.3白盒技术测试用例的设计
5.3.1逻辑覆盖
5.3.2循环覆盖
5.3.3基本路径测试
5.4黑盒技术的测试用例的
设计
5.4.1等价类划分法
5.4.2边界值分析法
5.4.3因果图法
5.5测试的过程
5.5.1单元测试
5.5.2集成测试
5.5.3确认测试
5.5.4系统测试
5.5.5验收测试
5.6软件维护的分类
5.7软件维护的特点
5.7.1结构化维护与非结构
化维护
5.7.2维护的代价
5.7.3软件维护中存在的
问题
5.8软件可维护性
5.8.1软件可维护性的
定义
5.8.2件可维护性度量
5.8.3提高软件可维护性
的方法
5.9软件再工程
5.9.1重构
5.9.2逆向工程
5.9.3正向工程
5.10软件测试工具
5.10.1软件自动化测试的
简介
5.10.2LoadRunner测试
工具简介
5.10.3LoadRunner的
功能
5.10.4生成脚本
5.10.5播放脚本
5.10.6准备用于负载测试
的脚本
5.11小结
习题5
第6章Rational Rose建模工具
6.1Rational Rose的特点
6.1.1Rational Rose支持三
层结构方案
6.1.2Rational Rose为大型软件
提供了可塑性极强的
解决方案
6.1.3支持大型复杂项目
6.1.4可与多种开发环境无缝
集成
6.1.5Rational Rose支持UML、
OOSE和OMT
6.2Rational Rose的启动
6.3Rational Rose主界面窗口
6.4Rational Rose的基本操作
6.4.1浏览模型结构
6.4.2保存模型
6.4.3增加或删除包
6.4.4增加或删除模型
元素
6.4.5自定义工具栏
6.5在Rational Rose环境下建立
UML模型
6.5.1建立用例图
6.5.2建立逻辑视图
6.5.3建立构件图
6.5.4部署图
6.6小结
习题6
第7章面向对象方法学基础
7.1面向对象的方法学
7.1.1面向对象方法的
要点
7.1.2面向对象的开发
方法
7.1.3面向对象建模
7.1.4面向对象方法与传统
软件方法的比较
7.2面向对象的基本概念
7.2.1对象
7.2.2其他概念
7.3小结
习题7
第8章面向对象的分析
8.1UML概述
8.1.1面向对象的开发
方法
8.1.2UML的定义
8.1.3UML中的图
8.1.4UML在不同阶段的
应用
8.1.5UML模型
8.2小结
习题8
第9章UMl元素符号
9.1UML基本元素介绍
9.2基本关系
9.3UML中的图和视图
9.3.1UML中的图
9.3.2UML中的视图
9.4小结
习题9
第10章类图、对象图与包图
10.1类图的概念
10.1.1类图
10.1.2类图的作用
10.1.3类图的组成元素
10.2UML中的类和表示
10.2.1类的表示
10.2.2类的种类
10.2.3类图中的关系
10.3对象图的概念和表示
10.3.1对象
10.3.2对象图
10.4包图的概念及表示
10.4.1包图的概念
10.4.2包的表示
10.4.3包图中的关系
10.5小结
习题10
第11章用例图
11.1需求分析与用例图
11.1.1需求分析简介
11.1.2需求分析与建模
11.2用例图
11.2.1用例图的概念
11.2.2用例的特征
11.2.3用例图的作用
11.2.4用例的描述
11.2.5用例图之间的
关系
11.2.6用例图的实现
11.2.7用例图的测试
11.3参与者
11.3.1参与者的识别
11.3.2参与者之间的
关系
11.4小结
习题11
第12章活动图
12.1活动图的概念
12.2活动图的分类
12.3构建活动图
12.4小结
习题12
第13章交互图
13.1顺序图
13.1.1顺序图的概念
13.1.2顺序图的表示
13.1.3顺序图的循环和
分支
13.1.4绘制顺序图
13.2通信图
13.2.1通信图的概念
13.2.2通信图的表示
13.2.3建立通信图的
步骤
13.3顺序图与通信图比较
13.4交互图的绘制
13.5小结
习题13
第14章状态机图
14.1状态机图
14.1.1状态机图的基本
元素
14.1.2转换（1Yansition）
14.1.3伪状态（f}seudo Stat
14.1.4复合状态
14.2状态机图的例子
14.3状态机图应用范围
14.4小结
习题14
第15章软件项目管理
15.1软件项目成本管理
15.2软件项目进度管理
15.3软件项目配置管理
15.4软件项目质量管理
15.5软件项目风险管理
15.6软件项目的组织
15.6.1软件项目的组织
模式
15.6.2软件项目组管理
机制
15.6.3人员配备
15.7软件项目团队管理
15.7.1软件项目团队
15.7.2软件项目团队
管理
15.7.3软件项目团队
建设
15.8小结
习题15
第16章软件工程新技术
16.1软件复用技术
16.1.1软件复用概念及
分类
16.1.2软件复用的关键技术
和复用粒度
16.2计算机辅助软件工程
技术
16.2.1 CASE的基本
概念
16.2.2 CASE工具与集成
CASE环境
16.3软件过程与标准化
16.3.1软件过程及其
改进
16.3.2ISO 9000标准
16.4小结
习题16
参考文献
编辑推荐
《软件工程基础教程(英文版)》由浅入深、循序渐进地介绍了规范化的软件开发方法所涉及的概念和方法。内容包括过程模型、软件需求、设计工程、生产率和工作量度量、软件测试、软件维护、质量管理、项目管理和风险管理等内容，最后介绍了一些常用的软件开发工具，并给出编码风格上的建议。《软件工程基础教程(英文版)》内容注重理论与实践结合，参考了IEEE和ACM关于软件工程的10个知识体系内容。针对中国学生英文水平，做了针对性的编写，并对重点难点内容进行了中文解释。《软件工程基础教程(英文版)》配有在线习题、电子课件、案例分析、实验指导等教学资源。
《软件工程基础教程(英文版)》将阐释：
软件工程的发展背景和发展趋势如何？
IEEE和ACM软件知识体系建议的软件工程的主要内容有哪些？
软件工程的共同演进方法核心内容是什么？
经典的软件工程流程包含哪些主要环节？
软件工程的主要理论与实践如何结合？
如何建立一个全局的需求分析、设计、测试与维护的软件工程观？
常用的软件开发工具和编码规范有哪些？