软件工程与实践
2012-4
西安交通大学出版社
廖礼萍
194
304000
《软件工程与实践》是一本系统介绍软件工程理论、技术和方法的教材,全书分成12个章节,内容分为四部分:软件工程基本理论,传统的软件开发过程及开发方法,面向对象软件开发过程及方法和软件项目管理基础知识。本书结合软件工程的最新发展技术,以传统的软件工程开发方法和面向对象的软件工程开发方法为主线,遵循软件开发“工程化”思想,结合软件分析与软件设计的大量实例,从实用的角度系统地介绍软件工程学的基本理论、基本方法以及典型的软件开发技术。本书既注重知识的系统性,同时又注重软件工程的实用性和案例分析选题的先进性。全书以一个完整综合实例贯穿整个软件开发过程,重点描述在软件开发时如何使用结构化方法和面向对象方法进行系统分析和设计并建立软件开发模型。通过此实例分析,读者可以直观地分析比较,在软件开发过程中使用结构化和面向对象这两种经典的开发方法的不同。本书的特点在于结合实例描述抽象的软件工程理论、软件开发准则,既注重实用性,又增强了全书的可读性和可理性。
《软件工程与实践》内容丰富,系统性强,知识体系新颖,理论与实践相结合,具有很好的实用性,既可作为高等学校计算机专业“软件工程
”等课程的教材或教学参考书,也可作为通信、电子信息、信息工程等相关专业的计算机课程教材,还可供软件工程师、软件项目管理者和应用软件开发人员阅读参考。本书由廖礼萍编著。
第1章 绪论
1.1 软件的发展
1.2 软件危机
1.2.1 产生软件危机的原因
1.2.2 克服软件危机的途径
1.3 软件工程
1.3.1 软件工程的定义
1.3.2 软件工程的基本原则
1.3.3 软件工程的发展
1.4 软件开发方法
1.5 小结
习题一
第2章 软件生命周期模型
2.1 软件生命周期
2.2 软件生命周期模型的概念
2.3 典型的软件生命周期模型
2.3.1 瀑布模型
2.3.2 快速原型模型
2.3.3 增量模型
2.3.4 螺旋模型
2.3.5 喷泉模型
2.3.6 基于构件的开发模型
2.3.7 模型驱动体系结构
2.4 小结
习题二
第3章 可行性研究
3.1 可行性研究的任务
3.2 可行性研究步骤
3.3 系统流程图
3.3.1 基本符号
3.3.2 系统流程图的作用
3.4 成本一效益分析
3.5 可行性研究实例
3.6 小结
习题三
第4章 需求分析
4.1 需求的定义
4.2 获取需求的方法
4.3 需求分析的任务
4.4 需求分析的方法
4.5 结构化分析建模
4.5.1 结构化分析的步骤
4.5.2 数据流图
4.5.3 数据字典
4.5.4 加工逻辑的描述
4.6 结构化分析建模实例
4.7 验证软件需求
4.8 快速原型需求分析方法
4.9 小结
习题四
第5章 概要设计
5.1 概要设计概述
5.1.1 概要设计基本任务
5.1.2 概要设计基本步骤
5.2 基本设计原理
5.2.1 模块化
5.2.2 抽象
5.2.3 逐步求精
5.2.4 模块独立性
5.3 软件结构的描述工具
5.3.1 软件结构图
5.3.2 层次图和IPO表
5.4 结构化设计
5.4.1 数据流图的类型
5.4.2 结构化设计过程
5.4.3 变换分析设计
5.4.4 事务分析设计
5.4.5 综合型数据流图的软件结构设计
5.5 结构化设计举例
5.6 软件结构优化准则
5.7 概要设计审查和验证
5.8 小结
习题五
第6章 详细设计与编码实现
6.1 详细设计的基本任务
6.2 界面设计
6.2.1 界面设计的主要问题
6.2.2 友好界面设计的基本原则
6.3 过程设计
6.3.1 结构化程序设计方法
6.3.2 过程设计的描述工具
6.4 详细设计实例
6.5 编码实现
6.5.1 程序设计语言的选择
6.5.2 编码风格
6.6 小结
习题六
第7章 测试与维护
7.1 软件测试基础
7.1.1 软件测试的目的与准则
7.1.2 软件测试方法
7.2 测试用例设计技术
7.2.1 白盒测试技术
7.2.2 黑盒测试技术
7.3 软件测试过程
7.3.1 软件测试步骤
7.3.2 单元测试
7.3.3 集成测试
7.3.4 系统测试和验收测试
7.4 调试
7.4.1 调试的目的
7.4.2 调试的方法
7.5 软件维护
7.5.1 软件维护的定义
7.5.2 软件维护过程
7.5.3 软件的可维护性
7.6 小结
习题七
第8章 面向对象方法学基础
8.1 面向对象基础
8.1.1 面向对象的基本思想
8.1.2 面向对象的基本概念
8.1.3 面向对象的基本特征
8.1.4 面向对象方法的优点
8.1.5 面向对象方法的基本流派
8.2 UML面向对象建模
8.2.1 UML介绍
8.2.2 静态模型
8.2.3 功能模型
8.2.4 动态模型
8.2.5 三种模型之间的关系
8.3 小结
习题八
第9章 面向对象分析
9.1 面向对象分析的基本过程
9.1.1 面向对象分析概述
9.1.2 获取需求
9.1.3 用例模型
9.2 建立对象模型实例
9.2.1 确定对象
9.2.2 确定关联并画出初步的对象模型图
9.2.3 确定主题
9.2.4 确定属性
9.2.5 确定服务
9.2.6 识别泛化关系
9.2.7 完善对象模型
9.3 建立动态模型实例
9.3.1 准备脚本
9.3.2 构造顺序图
9.3.3 构造状态图
9.3.4 完善动态模型
9.4 建立功能模型实例
9.4.1 基本系统模型
9.4.2 功能级数据流图
9.5 小结
习题九
第10章 面向对象设计
10.1 面向对象设计的基本原则
10.2 软件复用
10.2.1 概述
10.2.2 基于构件的软件复用
10.2.3 软件重用的效益
10.3 面向对象设计的步骤
10.3.1 系统分解
10.3.2 类设计
10.3.3 设计类中的服务
10.3.4 设计关联
10.3.5 数据管理设计
10.3.6 人机界面设计
10.4 小结
习题十
第11章 面向对象实现
11.1 程序设计语言
11.1.1 面向对象程序设计概述
11.1.2 不同面向对象语言的比较
11.1.3 程序设计风格
11.2 面向对象测试
11.2.1 面向对象的测试策略
11.2.2 测试用例的设计
11.3 小结
习题十一
第12章 软件项目管理
12.1 成本估算方法
12.1.1 代码行及功能点估算方法
12.1.2 参数模型估算法
12.2 进度管理
12.3 人员组织
12.4 质量保证
12.5 软件配置管理
12.5.1 软件配置管理产生的原因
12.5.2 实施软件配置管理的步骤
12.6 软件过程管理
12.6.1 软件过程的定义
12.6.2 软件能力成熟度模型
12.7 小结
习题十二
附录A 软件工程开发文档
参考文献
《普通高等教育计算机类十二五规划教材:软件工程与实践》根据软件工程的最新发展,以传统的软件工程方法和面向对象的软件工程方法为主线,遵循软件开发“工程化”思想,结合软件分析与软件设计的大量实例,从实用的角度系统地介绍软件工程学的基本理论、基本方法以及典型的软件开发技术。本书既注重知识的系统性,同时又注重软件工程的实用性和案例分析选题的先进性,以一个完整的实例贯穿整个结构化方法和面向对象方法的分析与设计。