第1章 软件工程概述
1.1 软件与软件危机
1.1.1 软件的定义、特点、种类及发展
1.1.2 软件危机
1.2 软件工程的概念
1.2.1 软件工程的定义
1.2.2 软件工程研究的内容
1.2.3 软件工程的基本原理
1.3 软件的开发方法
1.3.1 结构化方法
1.3.2 面向数据结构的方法
1.3.3 面向对象的开发方法
1.3.4 软件开发新方法
1.4 软件生存周期
1.5 软件生存周期模型
1.5.1 瀑布模型
1.5.2 原型模型
1.5.3 增量模型
1.5.4 螺旋模型
1.5.5 喷泉模型
1.5.6 智能模型
1.5.7 构件组装模型
小结
习题
第2章 可行性分析
2.1 ,可行性研究的任务
2.2 可行性研究的具体步骤
2.3 可行性研究的文档
2.4 项目开发计划
小结
习题
第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.6 加工逻辑说明
3.7 系统行为建模
3.7.1 状态图
3.7.2 Petri网
3.8 原型化分析方法
3.8.1 原型化方法的基本思想
3.8.2 原型化方法和工具
3.8.3 采用原型化方法的步骤
3.9 需求分析文档
3.1 0案例分析——图书馆管理系统
3.1 0.1 问题陈述
3.1 0.2 图书馆组织结构
3.1 0.3 系统业务流程分析
3.1 0.4 数据流程图
3.1 0.5 数据定义及数据词典
3.1 0.6 细化需求规格说明
小结
习题
第4章 软件外部设计——交互设计
4.1 交互设计概述
4.1.1 交互设计的‘概念
4.1.2 交互设计与界面设计
4.1.3 交互设计的特征
4.1.4 交互设计的内容
4.1.5 怎样进行交互设计
4.1.6 如何粗略地评估可用性
4.2 交互设计的方法
4.2.1 角色设计
4.2.2 目标设计
4.2.3 任务设计
4.2.4 交互样式
4.3 案例分析——LMS的交互设计
小结
习题
第5章 软件内部设计
5.1 设计过程
5.1.1 结构化设计与结构化分析的关系
5.1.2 设计和软件质量的关系
5.2 设计概念
5.2.1 软件设计的观点
5.2.2 控制层次
5.3 有效的模块设计
5.3.1 功能独立性
5.3.2 内聚性
5.3.3 耦合
5.3.4 控制范围与作用范围之间的约束
5.4 结构化设计方法
5.4.1 结构化开发方法
5.4.2 数据流图的分类与典型的系统结构
5.4.3 变换型系统结构图
5.4.4 事务型系统结构图
5.5 详细设计描述工具
5.5.1 结构化程序设计
5.5.2 图形设计符号
5.6 编写软件设计文档
5.7 案例分析——LMS系统设计
5.7.1 系统功能设计
5.7.2 系统环境设计
5.7.3 数据库设计
小结
习题
第6章 面向对象软件工程基础
6.1 面向对象的开发方法概述
6.1.1 类与对象
6.1.2 继承
6.1.3 虚函数和多态性
6.1.4 消息
6.1.5 方法
6.2 面向对象开发模型
6.2.1 面向对象开发模型概述
6.2.2 建立模型的作用
6.2.3 创建优质模块
6.3 面向对象分析
6.3.1 SA方法和OOA方法比较
6.3.2 面向对象分析的特点
6.3.3 面向对象分析的基本任务
6.3.4 OOA过程
6.4 面向对象设计
6.4.1 面向对象设计的模型
6.4.2 面向对象设计的任务
6.4.3 优质对象系统的属性
6.5 案例分析——LMS中的产品设计
6.5.1 面向对象概念化
6.5.2 耦合
6.5.3 确定系统的参与者
小结
习题
第7章 统一建模语言
7.1 UML概述
7.1.1 UML的发展
7.1.2 UML的构成
7.1.3 视图
7.1.4 UML的图形表示
7.1.5 UML的通用模型元素
7.2 用例模型
7.2.1 用例图
7.2.2 参与者
7.2.3 用例
7.3 建立静态模型
7.3.1 类图
7.3.2 对象图
7.3.3 包图
7.4 动态模型
7.4.1 对象之间的交互——消息
7.4.2 状态图
7.4.3 时序图
7.4.4 协作图
7.4.5 活动图
……
第8章 软件编码与实现
第9章 软件测试
第10章 软件维护
第11章 软件复用和构件技术
第12章 软件项目计划与管理
第13章 软件工程环境
第14章 软件工程课程设计
参考文献
后记