目录


第一部分基础理论

第1章绪论

1.1软件概述

1.1.1什么是计算机软件

1.1.2软件的特点

1.1.3软件的分类

1.1.4软件的发展

1.1.5软件危机

1.2软件工程概述

1.2.1软件工程与方法学

1.2.2软件工程的基本原理

1.2.3软件工程的目标

1.2.4软件工程的内容

1.2.5软件工程原则

1.2.6软件工程面临的问题

小结

综合练习1

第2章基本理论

2.1软件工程过程

2.2软件生命周期

2.2.1软件分析时期

2.2.2软件设计时期

2.2.3编码与测试时期

2.2.4运行与维护时期

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变换模型

2.4软件开发方法

2.4.1结构化方法

2.4.2Jackson方法

2.4.3维也纳开发方法

2.4.4面向对象的开发方法

2.5软件工具与开发

2.5.1软件工具箱

2.5.2软件开发环境

2.5.3计算机辅助软件工程

2.6软件工程应用实例

小结

综合练习2





第3章可行性研究

3.1可行性研究任务与步骤

3.1.1研究任务

3.1.2研究步骤

3.2系统分析

3.2.1系统分析员

3.2.2面临的问题域

3.2.3通信技术

3.3分析原理

3.3.1信息域

3.3.2建立模型

3.3.3分解

3.4系统模型与模拟

3.4.1系统模型

3.4.2系统建模和模拟

3.5成本效益分析

3.6可行性研究的文档

3.7项目开发计划

3.7.1方案选择

3.7.2制订项目开发计划

3.8应用案例——成绩管理系统可行性研究

3.8.1引言

3.8.2对现行系统的分析

3.8.3建议的新系统

3.8.4可行性研究

3.8.5可行性分析

3.8.6系统工程性能分析

3.8.7风险分析

3.8.8可选择的其他系统方案

3.8.9结论

小结

综合练习3

第二部分结构化方法

第4章软件需求分析

4.1需求分析

4.1.1需求分析的特点

4.1.2需求分析的原则

4.1.3需求分析的任务

4.1.4需求分析的方法

4.2结构化分析

4.2.1自顶向下逐层分解

4.2.2结构化分析步骤

4.3系统流程图

4.4数据流图

4.4.1基本图形符号

4.4.2画数据流图

4.5数据字典

4.5.1内容及格式

4.5.2数据字典的实现

4.6应用案例——成绩管理系统结构化需求分析

4.6.1引言

4.6.2业务需求

4.6.3需求分析

4.6.4总结

小结

综合练习4

第5章总体设计

5.1软件设计的重要性

5.2设计过程


5.3软件总体设计

5.4设计基本原理

5.4.1抽象

5.4.2细化

5.4.3模块化

5.4.4软件体系结构

5.4.5程序结构

5.4.6数据结构

5.4.7软件过程

5.5体系结构设计

5.5.1软件结构图

5.5.2模块的大小

5.5.3扇出和扇入与深度和宽度

5.5.4模块的耦合

5.5.5模块的内聚

5.5.6结构设计的一般准则

5.5.7模块的作用域与控制域

5.6结构化设计

5.6.1数据流的类型

5.6.2过程步骤

5.6.3变换分析设计

5.6.4事务分析设计

5.6.5混合流设计

5.6.6结构化设计方法应用示例

5.6.7设计的后期处理

5.7应用案例——成绩管理系统总体设计

5.7.1总体设计

5.7.2接口设计

5.7.3运行设计

5.7.4系统论结构设计

5.7.5故障检测与处理机制

小结

综合练习5

第6章软件详细设计

6.1详细设计的任务与方法

6.1.1详细设计的基本任务

6.1.2详细设计方法

6.2设计表示法

6.2.1结构化语言

6.2.2判定表


6.2.3判定树

6.3结构化程序设计

6.3.1程序流程图

6.3.2三种基本控制结构

6.3.3常用符号

6.3.4常见错误

6.4应用案例——成绩管理系统结构化详细设计

6.4.1引言

6.4.2模块结构设计

6.4.3数据结构设计

6.4.4算法设计

小结

综合练习6

第三部分面向对象方法与实现

第7章面向对象分析

7.1面向对象的相关概念

7.1.1对象

7.1.2类

7.1.3属性

7.1.4服务(操作或方法)

7.1.5封装

7.1.6继承

7.1.7消息

7.1.8结构与连接

7.2UML的基本图标

7.3对象分析

7.3.1用户需求与研究问题域

7.3.2发现对象方法

7.3.3定义属性

7.3.4定义服务

7.4一般特殊结构

7.5整体部分结构

7.6实例连接

7.6.1简单的实例连接

7.6.2复杂的实例连接及其表示

7.7消息连接


7.8应用案例——成绩管理系统面向对象分析

7.8.1引言

7.8.2系统说明

7.8.3需求分析

小结

综合练习7

第8章面向对象设计

8.1系统总体方案

8.2软件体系结构

8.3环境设计

8.3.1为适应编程环境的调整

8.3.2对象设计的步骤

8.4完善对象的细节

8.5算法设计

8.5.1选择算法

8.5.2选择数据结构

8.6关联设计

8.6.1单向关联

8.6.2双向关联

8.7设计优化

8.8应用案例——成绩管理系统面向对象设计

8.8.1系统结构设计

8.8.2对象设计

小结

综合练习8

第9章用户界面设计

9.1界面设计风格

9.1.1菜单的选择

9.1.2对话框

9.1.3窗口

9.2人机界面的设计准则

9.3人机界面设计过程

9.3.1用户界面模型

9.3.2界面支持系统

9.3.3界面元素

9.3.4设计的形式

小结

综合练习9


第10章数据库及其接口设计

10.1数据管理系统及其选择

10.2技术整合

10.3数据接口

10.3.1针对文件系统的设计

10.3.2针对RDBMS的设计

小结

综合练习10

第11章软件实现

11.1程序设计语言的特性及选择

11.1.1程序设计语言的特性

11.1.2程序设计语言的选择

11.2程序设计风格

11.3程序设计效率

11.3.1代码效率

11.3.2内存效率

11.3.3I/O效率

11.4冗余编程

11.5软件容错技术

11.5.1容错软件

11.5.2容错的一般方法

11.5.3容错软件的设计过程

11.5.4软件的容错系统结构

小结

综合练习11

第四部分测试与工程管理

第12章软件测试

12.1软件测试概述

12.1.1软件测试的目的

12.1.2软件测试的原则

12.2测试方法

12.2.1静态测试

12.2.2动态测试

12.3测试用例的设计

12.3.1白盒技术

12.3.2黑盒技术

12.4测试过程


12.4.1软件测试过程中的信息

12.4.2软件测试的步骤与各开发阶段的关系

12.4.3单元测试

12.4.4集成测试

12.4.5确认测试

12.5调试

小结

综合练习12

第13章软件项目管理与计划

13.1软件项目管理概述

13.1.1软件管理的对象

13.1.2软件开发中的资源

13.1.3分解技术

13.2项目管理过程

13.3软件开发成本估算

13.3.1软件开发成本估算方法

13.3.2软件开发成本估算的经验模型

13.4风险分析

13.4.1风险识别

13.4.2风险估算

13.4.3风险评价

13.4.4风险驾驭和监控

13.5进度安排

13.5.1软件开发小组人数与软件生产率

13.5.2任务的确定与并行性

13.5.3制订开发进度计划

13.5.4进度安排的图形方法

13.5.5项目的追踪和控制

13.6软件项目的组织

13.6.1软件项目管理的特点

13.6.2软件项目组织的建立

13.6.3人员配备

小结

综合练习13

参考答案

参考文献