第一部分软件工程与软件过程
第1章软件工程概述
1.1软件
1.1.1软件的概念
1.1.2软件的特点
1.1.3软件的分类
1.2软件危机
1.2.1软件危机的表现
1.2.2软件危机的原因
1.3软件工程
1.3.1软件工程的概念
1.3.2软件工程的基本内容
1.3.3软件工程目标和原则
1.3.4软件工程的知识体系
1.4软件工程的相关工具
1.5软件工程的常用信息源
1.6“小型网上书店系统”案例介绍
小结
习题
第2章软件过程
2.1软件过程概述
2.2软件生命周期
2.2.1软件生命周期的概念
2.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.3.8敏捷模型
小结
习题
第二部分软件需求分析与建模
第3章可行性研究及需求分析
3.1可行性研究
3.1.1可行性研究的目的与意义
3.1.2可行性研究的内容
3.1.3可行性研究的步骤
3.2需求分析
3.2.1需求分析的目的与意义
3.2.2需求分析的步骤
3.2.3需求管理
3.3软件开发计划书编写指南
3.4需求规格说明书编写指南
3.5实验
3.5.1Visio的功能及使用方法介绍
3.5.2Rose的功能及使用方法介绍
小结
习题
第4章结构化需求分析
4.1结构化需求分析的方法
4.2结构化需求分析的工具
4.2.1实体关系(ER)图
4.2.2数据流图
4.2.3状态转换图
4.2.4数据字典
4.3实验: 利用Visio绘制“小型网上书店系统”的数据流图
小结
习题
第5章面向对象分析
5.1面向对象的软件工程方法
5.1.1面向对象的基本概念
5.1.2面向对象的软件工程方法的特征与优势
5.2UML简介
5.2.1用例图
5.2.2类图和对象图
5.2.3状态图
5.2.4顺序图
5.2.5活动图
5.2.6协作图
5.2.7构件图
5.2.8部署图
5.2.9包图
5.3面向对象分析方法
5.3.1面向对象分析过程
5.3.2面向对象分析原则
5.4面向对象建模
5.4.1建立对象模型
5.4.2建立动态模型
5.4.3建立功能模型
5.4.4三种模型之间的关系
5.5实验
5.5.1利用Rose绘制“小型网上书店系统”的用例图
5.5.2利用Rose绘制“小型网上书店系统”的类图
5.5.3利用Rose绘制“小型网上书店系统”的对象图
5.5.4利用Rose绘制“小型网上书店系统”的状态图
5.5.5利用Rose绘制“小型网上书店系统”的顺序图
5.6案例:“小型网上书店系统”的需求规格说明书
小结
习题
第三部分软件设计与建模
第6章软件设计
6.1软件设计的基本概念
6.1.1软件设计的意义和目标
6.1.2软件设计的分类
6.1.3软件设计的原则
6.2软件的体系结构
6.2.1软件的体系结构概述
6.2.2软件系统的设计模式
6.3分布式系统结构
6.3.1多处理器体系结构
6.3.2客户/服务器体系结构
6.3.3分布式对象体系结构
6.3.4对等端体系结构
6.3.5代理
6.4体系结构框架
6.4.1模型视图控制器
6.4.2模型视图表示器
6.4.3J2EE体系结构框架
6.4.4PCMEF
6.4.5PCBMER
6.5数据库结构设计
6.6人机界面设计
6.7软件设计说明书编写指南
小结
习题
第7章结构化设计方法
7.1结构化软件设计方法
7.1.1表示软件结构的图形工具
7.1.2面向数据流的设计方法
7.1.3面向数据结构的设计方法
7.2结构化软件设计工具
7.2.1流程图
7.2.2NS图
7.2.3PAD
7.2.4判定表
7.2.5判定树
7.2.6过程设计语言
7.3实验: 利用Visio绘制“小型网上书店系统”的结构图
小结
习题
第8章面向对象设计
8.1面向对象设计方法
8.1.1面向对象的设计原则
8.1.2面向对象设计的启发规则
8.1.3系统设计
8.1.4对象设计
8.2实验
8.2.1利用Rose绘制“小型网上书店系统”的活动图
8.2.2利用Rose绘制“小型网上书店系统”的协作图
8.2.3利用Rose绘制“小型网上书店系统”的构件图
8.2.4利用Rose绘制“小型网上书店系统”的部署图
8.3案例:“小型网上书店系统”的软件设计说明书
小结
习题
第四部分软件编程与软件测试
第9章软件编程
9.1编程语言
9.1.1编程语言的发展与分类
9.1.2选择编程语言需考虑的因素
9.2编程风格
9.3编程人员的基本素质
9.4实验
9.4.1Visual Studio使用方法介绍
9.4.2利用Visual Studio实现“小型网上书店系统”的用户登录模块
小结
习题
第10章软件测试概述
10.1软件测试的基本概念
10.1.1软件测试的原则
10.1.2软件测试模型
10.2软件测试的分类
10.3测试用例
10.3.1测试用例编写
10.3.2测试用例设计
10.3.3测试用例场景
10.4测试分析报告编写指南
小结
习题
第11章软件测试方法与过程
11.1软件测试方法
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.3.3程序插桩技术
11.3.4逻辑覆盖法
11.3.5基本路径法
11.3.6白盒测试方法选择
11.3.7白盒测试和黑盒测试比较
11.4软件测试的一般步骤
11.5单元测试
11.5.1单元测试概述
11.5.2单元测试内容
11.5.3单元测试方法
11.6集成测试
11.6.1集成测试概述
11.6.2集成测试分析
11.6.3集成测试策略
11.7系统测试
11.7.1系统测试概述
11.7.2系统测试类型
11.8验收测试
11.8.1验收测试概述
11.8.2验收测试内容
11.8.3α测试和β测试
11.9回归测试
11.10面向对象的软件测试
11.11软件调试
11.11.1调试过程
11.11.2调试途径
11.12实验
11.12.1利用Visual Studio中的工具进行单元测试
11.12.2利用Visual Studio对“小型网上书店系统”的用户登录模块
进行
单元测试
11.13案例:“小型网上书店系统”的测试分析报告
小结
习题
第五部分软件工程的其他相关内容
第12章软件工程的其他相关内容
12.1软件估算
12.1.1软件估算的概念
12.1.2软件估算的方法
12.1.3软件估算的原则与技巧
12.2软件开发进度计划
12.2.1Gantt图
12.2.2PERT图
12.3软件开发人员组织
12.3.1民主制程序员组
12.3.2主程序员组
12.3.3现代程序员组
12.4软件开发风险管理
12.4.1软件开发风险
12.4.2软件开发风险管理
12.5软件质量保证
12.5.1软件质量的基本概念
12.5.2软件质量保证的措施
12.6软件配置管理概述
12.6.1软件配置管理术语
12.6.2配置管理的过程
12.6.3配置管理的角色划分
12.7软件维护
12.7.1软件维护的过程
12.7.2软件维护的分类
12.7.3软件的可维护性
12.7.4软件维护的副作用
12.7.5软件再工程技术
12.8软件工程标准与软件文档
12.8.1软件工程标准
12.8.2软件文档
12.9软件过程能力成熟度模型
12.10软件项目管理
12.10.1软件项目管理概述
12.10.2软件项目管理与软件工程的关系
12.11软件复用
12.12实验
12.12.1Project的功能及使用方法介绍
12.12.2利用Project管理“小型网上书店系统”的开发过程
小结
习题
附录A课程设计指导
附录B模拟考试题与参考答案
附录C部分习题参考答案
参考文献