图书目录

第一部分软件工程与软件过程

第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实体关系(ER)图

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.2NS图

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部分习题参考答案

参考文献