本书主要介绍现代软件工程的基本原理、方法和应用。内容包括:软件工程概述、软件开发模型、系统分析、系统设计、软件编码与测试、软件维护、配置管理、质量管理、文档技术、软件复用和软件工程环境等。根据软件工程的最新发展,着重介绍了面向对象的开发方法,并将UML建模技术应用到实际系统的分析和设计中。
本书语言简练,通俗易懂,采用案例教学方法;注重培养实际开发能力和文档的写作能力。本书具有很强的实用性,可作为高职高专院校计算机专业或信息类专业的教材,也可作为软件开发人员的参考书。
第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.3.1软件生存周期
1.3.2软件开发模型
习题
第2章结构化分析
2.1软件定义过程概述
2.1.1问题的定义
2.1.2可行性研究
2.1.3需求分析
2.2结构化分析
2.2.1结构化分析方法概述
2.2.2数据流图
2.2.3数据词典
2.2.4加工逻辑的描述方法
2.3需求规格说明与评审
2.3.1需求规格说明的主要内容
2.3.2需求分析的评审
2.4需求规格说明书写作范例
习题
第3章概要设计
3.1概要设计的任务与步骤
3.1.1概要设计的任务
3.1.2概要设计的过程
3.2软件设计的概念与原则
3.2.1模块化
3.2.2抽象与逐步求精
3.2.3信息隐蔽和局部化
3.2.4模块独立性
3.2.5设计准则
3.3面向数据流的设计方法
3.3.1基本概念
3.3.2系统结构图
3.3.3变换分析
3.3.4事务分析
3.3.5设计优化
3.4概要设计文档评审
3.5概要设计文档写作范例
习题
第4章详细设计
4.1详细设计的任务与原则
4.1.1详细设计的任务
4.1.2详细设计的原则
4.2详细设计的方法
4.2.1程序流程图
4.2.2N-S图
4.2.3PAD图
4.2.4PDL
4.3详细设计规格说明书与评审
4.3.1详细设计说明书
4.3.2详细设计复审
4.4详细设计文档写作范例
习题
第5章面向对象的分析和设计
5.1面向对象方法概述
5.1.1面向对象方法概述
5.1.2面向对象的软件工程
5.1.3面向对象的基本概念和特征
5.1.4面向对象的开发方法
5.2面向对象分析
5.2.1OOA方法概述
5.2.2确定对象
5.2.3确立结构
5.2.4确立主题
5.2.5确定属性
5.2.6确定服务和消息
5.3面向对象设计
5.3.1OOD方法概述
5.3.2人机交互子系统的设计
5.3.3问题域子系统的设计
5.3.4任务管理部分的设计
5.3.5数据管理部分的设计
5.3.6OOD的基本准则
习题
第6章统一建模语言UML
6.1UML概述
6.1.iUML概念
6.1.2UML的发展过程
6.1.3UML的主要内容
6.1.4标准建模语言UML的应用领域
6.2UML的概念模型
6.2.1UML的构造块
6.2.2UML的规则
6.2.3UML中的公共机制
6.3UML的静态建模机制
6.3.1用例图
6.3.2类图
6.3.3寸象图
6.3.4包
6.3.5使用类图的几个建议
6.4UML的动态建模机制
6.4.1寸象之间的交互
6.4.2状态图——
6.4.3交互图
6.4.4活动图
6.4.5四种图的运用
习题
第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.4动态建模
7.4.1动态用例分析
7.4.2对象状态分析
7.4.3描述对象操作
7.5系统设计
7.5.1系统总体设计
7.5.2系统详细设计
习题
第8章程序编码
8.1程序设计语言
8.1.1程序设计语言分类
8.1.2程序设计语言的特点
8.1。3程序设计语言的选择
8.2编码风格
8.3程序调试
8.3.1调试过程
8。3.2调试途径
8.4面向对象程序设计
8.4.1面向对象语言的一些技术特点
8.4.2面向对象语言的选择
习题
第9章软件测试
9.1软件测试
9.1.1软件测试概述
9.1.2测试方法”
9.1.3测试过程
9.2测试用例设计
9.2.1白盒子法测试用例设计
’9.2.2黑盒子法测试用例设计
9.3程序调试
9。4面向对象测试
习题
第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.4维护的副作用
10.5软件可维护性
10.5.1影响可维护性的软件属性
10.5.2对可维护性的定量度量
10.5.3提高可维护性的途径
10.6软件再工程
习题—
第11章配置管理与文档技术
11.1软件配置管理基本概念
11.1.1软件配置管理的概念
11.1.2软件配置项
11.1.3基线技术
11.2软件配置管理的任务
11.2.1配置标识
11.2.2版本控制
11.2.3变更控制
11.2.4配置状态报告
11.2.5配置审核
11.3软件文档技术
11。3.1软件文档的作用和分类
11.3.2对文档编制的质量要求
11.3.3文档的管理和维护
习题
第12章软件质量管理
12.1软件质量的定义
12、1,1软件质量定义
12.1.2影响软件质量的因素
12.2软件质量保证
12.2.1软件质量保证策略
12.2.2软件质量保证活动
12.3软件质量保证标准
12.3.1ISO9000基本思想
12.3.21SO9000-3标准
12.4软件过程成熟度模型(CMM)
12.4.1软件机构的成熟性
12.4.2软件过程成熟度模型
12.4.3能力成熟度等级
12.4.4关键过程领域
12.4.5成熟度提问单
12.4.6CMM的应用
习题
第13章软件复用和CASE技术
13.1软件复用概述
13.1.1软件复用的概念
13.1‘2软件复用的种类、成分和意义
13.2面向对象与软件复用
13.3计算机辅助软件工程(CASE)
13.3.1计算机辅助软件工程概述
13.3.2集成化CASE环境(LCASE)
习题
附录计算机软件开发文档编写指南
附录1可行性研究报告
附录2项目开发计划
附录3需求规格说明书
附录4概要设计说明书
附录5详细设计说明书
附录6测试计划
附录7测试分析报告
附录8开发进度月报
附录9项目开发总结报告
主要参考文献
软件工程是一门实践性很强的课程,它是各种开发经验的总结与提炼。软件工程不仅是计算机专业学生十分重要的一门专业课程,也是各类软件开发人员必需掌握的技术。目前,软件工程已从第一代传统的软件工程发展为第二代面向对象的软件工程,如今正向基于软件复用的第三代软件工程发展。为适应信息技术迅速发展和教学的需要,我们特意编写了本书。
本教材的任务是使学生掌握软件工程的基本概念、基本原理、实用的开发方法和技术;了解软件工程各领域的发展动向。在本书的编写过程中,我们根据软件工程的最新发展,着重介绍面向对象的开发方法,并将UML建模技术应用到实际系统的分析和设计中。全书共分13章,内容包括软件工程概述、软件开发模型、系统分析、系统设计、软件编码与测试、软件维护、配置管理、质量管理、文档技术、软件复用和软件工程环境等。本书语言简练,通俗易懂,采用案例教学方法;注重培养学生的实际开发能力和文档的写作能力,具有很强的实用性,可作为高职高专院校计算机专业或信息类专业的教材,也可作为软件开发人员的参考书。
本书第1、2、3、4、9章由余明艳编写,第5、6章由杨丽编写,第7、8、10、11、12、13章由郭庚麒编写。全书由郭庚麒负责统稿,周江协助书稿的整理并准备了附录。
在本书的编写过程中,我们参阅了大量的资料,在此对所有的编著者表示衷心的感谢。由于编者时间仓促,水平有限,书中不足之处敬请批评指正。