简介
“软件工程”是介绍软件开发方法,提高学生软件开发能力的一门重
要的专业课程。本教程主要以工程化的软件开发方法为主导,系统、全面
地介绍这门课程的原理、方法及应用。本书比较全面、系统地介绍了软件
工程的概念、技术与方法,主要包括:软件工程概述,软件生命周期与开
发模型,项目计划与可行性分析,需求分析,软件设计概述,结构化设计
,数据库设计,用户界面设计,面向对象方法与UML建模语言,面向对象的
分析与设计,软件编程,软件测试流程,软件测试方法,软件开发过程的
管理,项目管理工具Project 2003,实验指导。本书在取材上注重实用,
每章后面均配有习题或实训。
本书适合作为高职高专院校计算机或信息类专业的教材,还可作为系
统设计人员、程序员、软件架构人员、业务和系统分析人员、项目经理等
软件工程技术人员,以及准备参加全国软件工程课程自学考试的读者的参
考书。
目录
前言
第1章 软件工程概述
1.1 软件
1.1.1 软件的定义与特征
1.1.2 软件系统
1.2 软件工程的知识体系
1.3 软件工程的产生与定义
1.3.1 软件工程的产生
1.3.2 软件工程的定义
1.4 软件工程的原则
1.5 软件工程的目标
1.6 软件工程的基本原理
1.7 软件工程思维的培养
本章小结
习题一
第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.2.5 原型化方法
2.2.6 可视化开发方法
2.3 软件开发模型
2.3.1 瀑布模型
2.3.2 螺旋模型
2.3.3 增量模型
2.3.4 喷泉模型
2.3.5 RAD模型
2.3.6 迭代式模型
2.4 快速原型开发
2.4.1 什么是软件原型化方法
2.4.2 软件原型的分类
2.4.3 原型生存周期
2.4.4 快速原型的优点
本章小结
习题二
第3章 可行性研究与项目计划
3.1 可行性研究
3.1.1 可行性研究的任务
3.1.2 可行性研究的步骤
3.2 《可行性分析报告》格式
3.3 项目立项
3.4 项目计划
3.4.1 项目工作计划
3.4.2 硬件资源规划
3.4.3 软件资源规划
本章小结
习题三
第4章 软件需求分析
4.1 软件需求分析的目标和任务
4.1.1 需求分析的目标
4.1.2 需求分析的任务
4.2 需求分析的过程
4.2.1 问题识别
4.2.2 分析与综合
4.2.3 编制需求分析文档
4.2.4 综合评审
4.2.5 需求变更管理
4.3 数据流图
4.3.1 数据流图的构成
4.3.2 数据流图的原则与步骤
4.3.3 举例
4.4 数据字典
4.4.1 数据字典的用途
4.4.2 数据字典的内容
4.4.3 定义数据的方法
4.5 《需求分析报告》格式
4.6 需求分析报告书写示例:社区信息化服务系统需求分析报告
本章小结
习题四
第5章 结构化软件设计
5.1 概要设计综述
5.1.1 概要设计的内容
5.1.2 软件体系结构
5.2 概要设计原则
5.2.1 结构化设计原则
5.2.2 模块独立性
5.3 概要设计工具
5.3.1 IPO图
5.3.2 模块结构图
5.4 《概要设计说明书》格式
5.5 详细设计
5.5.1 详细设计的任务
5.5.2 网络设计内容
5.5.3 《详细设计说明书》格式
本章小结
习题五
第6章 数据库设计
6.1 数据库设计的重要性
6.2 需求分析阶段的设计
6.2.1 数据流图示例
6.2.2 数据字典示例
6.3 概念设计阶段
6.3.1 概念模型的表示方法
6.3.2 E-R图的绘制步骤
6.4 逻辑设计阶段
6.4.1 逻辑模型的转换规则
6.4.2 模式转换示例
6.5 物理设计阶段
6.6 《数据库设计说明书》格式
本章小结
习题六
第7章 用户界面设计
7.1 用户类型
7.2 用户界面的设计思想
7.3 用户界面的风格变迁
7.4 用户界面的设计原则
7.4.1 用户友好界面的设计原则
7.4.2 一般交互原则
7.4.3 信息显示原则
7.4.4 数据输入原则
7.4.5 布局合理化原则
7.5 用户界面设计方法
7.5.1 界面一致性
7.5.2 菜单的设计
7.5.3 鼠标与键盘对应原则
7.5.4 向导使用原则
7.5.5 系统响应时间
7.5.6 用户帮助设施
7.5.7 出错信息和警告
7.5.8 输入界面设计
7.5.9 基于Web的用户界面设计
7.5.10 输出界面设计
本章小结
习题七
第8章 面向对象方法与UML建模语言
8.1 传统方法学
8.2 面向对象方法的基本概念
8.2.1 对象
8.2.2 类
8.2.3 实例
8.2.4 消息
8.2.5 方法
8.2.6 属性
8.2.7 继承
8.2.8 多态性
8.2.9 重载
8.3 UML的主要内容
8.3.1 为什么要建模
8.3.2 UML建模机制
8.3.3 UML的结构
8.3.4 UML中的事务
8.3.5 UML中的关系
8.3.6 UML中的视图
8.4 UML的图
8.4.1 类图
8.4.2 用例图
8.4.3 对象图
8.4.4 包图
8.4.5 交互图
8.4.6 状态图
8.4.7 活动图
8.4.8 组件图
8.4.9 部署图
本章小结
习题八
第9章 Rational Rose建模工具
9.1 Rational Rose简介
9.2 Rose界面简介
9.3 Rose模型的4个视图
9.3.1 Use Case视图
9.3.2 Logical视图
9.3.3 Component视图
9.3.4 Deployment视图
9.4 创建角色(Actor)
9.5 删除元素
9.6 创建用例,建立角色和用例的关联
9.7 使用序列图/协作图描述每个用例.
9.7.1 创建序列图
9.7.2 描述对象
9.8 建立静态模型
9.9 实现模型
本章小结
习题九
第10章 软件编程
10.1 什么是编程
10.2 程序设计语言特点与应用范围
10.2.1 程序设计语言的发展与分类
10.2.2 程序设计语言的选择
10.3 Java程序设计风格
10.4 程序设计算法与效率
10.4.1 程序设计算法
10.4.2 程序的运行效率
10.5 程序说明书
10.5.1 C/S结构
10.5.2 B/S结构
本章小结
习题十
第11章 软件测试流程
11.1 软件测试的基本概念
11.1.1 什么是软件测试
11.1.2 软件缺陷
11.1.3 软件测试与软件开发的关系
11.1.4 软件测试的误区
11.2 软件测试流程概述
11.3 单元测试
11.3.1 单元测试的概念
11.3.2 单元测试的内容
11.3.3 单元测试的步骤
11.4 集成测试
11.4.1 集成测试的定义
11.4.2 集成测试的层次
11.4.3 集成测试的方式
11.5 确认测试
11.6 系统测试
11.6.1 系统测试的流程
11.6.2 系统测试的目标
11.6.3 几种常见的系统测试方法
11.7 基于Web的系统测试
11.7.1 功能测试
11.7.2 性能测试
11.7.3 可用性测试
11.7.4 客户端兼容性测试
11.7.5 安全性测试
11.8 验收测试
11.8.1 验收测试的内容与标准
11.8.2 验收测试的常用策略
11.8.3 验收测试的过程
本章小结
习题十一
第12章 软件测试方法
12.1 软件测试方法
12.2 静态测试
12.2.1 类型冲突
12.2.2 子程序参数错误
12.2.3 数据错误
12.2.4 内存泄漏
12.2.5 越界
12.2.6 指针错误
12.2.7 空悬指针
12.2.8 内存处理的逻辑错误
12.2.9 代码规则错误实例
12.3 动态测试
12.4 白盒测试
12.4.1 白盒测试概述
12.4.2 语句覆盖
12.4.3 判断覆盖
12.4.4 条件覆盖
12.4.5 判断/条件覆盖
12.4.6 条件组合覆盖
12.4.7 路径覆盖
12.5 黑盒测试
12.5.1 黑盒测试概述
12.5.2 等价类划分
12.5.3 边界值分析
本章小结
习题十二
第13章 软件测试工具LoadRunner
13.1 LoadRunner的测试流程介绍
13.2 测试需求分析
13.2.1 分析应用需求
13.2.2 确定测试目标
13.3 录制和编辑脚本
13.3.1 录制和编辑脚本
13.3.2 回放脚本
13.3.3 优化脚本
13.3.4 文本检查
13.4 场景创建(设计)与运行
13.4.1 创建(设计)运行场景
13.4.2 在实际运行时如何查看脚本
13.4.3 运行场景
13.5 分析及监视场景
本章小结
习题十三
第14章 软件项目管理
14.1 项目
14.1.1 项目的定义与属性
14.1.2 项目的特点与三大要素
14.1.3 项目的生命周期
14.1.4 制约项目成功的因素
14.2 项目管理
14.3 软件项目管理的特点与复杂性
14.3.1 软件项目的特点
14.3.2 软件项目管理的复杂性
14.4 合格的项目经理
14.5 软件项目管理的内容
14.5.1 项目范围的管理
14.5.2 项目进度管理
14.5.3 人员组织与管理
14.5.4 项目的质量管理
14.5.5 项目风险管理
14.5.6 项目管理各项内容的关系
14.6 软件配置管理
14.7 项目案例分析
本章小结
习题十四
第15章 项目管理工具Project 2003
15.1 启动和退出Project 2003
15.2 Project 2003的主界面
15.3 创建和管理项目的任务
15.3.1 创建项目文件
15.3.2 分解任务.
15.3.3 安排项目任务的工期
15.4 分配项目资源
15.4.1 资源概述
15.4.2 建立资源库
15.4.3 为任务分配资源
15.4.4 管理资源
15.5 解决项目中的资源冲突
第16章 实验指导
16.1 先修课程
16.2 实训目的
16.3 实训内容
16.4 实训基本要求
16.5 实训成绩评定
参考文献
第1章 软件工程概述
1.1 软件
1.1.1 软件的定义与特征
1.1.2 软件系统
1.2 软件工程的知识体系
1.3 软件工程的产生与定义
1.3.1 软件工程的产生
1.3.2 软件工程的定义
1.4 软件工程的原则
1.5 软件工程的目标
1.6 软件工程的基本原理
1.7 软件工程思维的培养
本章小结
习题一
第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.2.5 原型化方法
2.2.6 可视化开发方法
2.3 软件开发模型
2.3.1 瀑布模型
2.3.2 螺旋模型
2.3.3 增量模型
2.3.4 喷泉模型
2.3.5 RAD模型
2.3.6 迭代式模型
2.4 快速原型开发
2.4.1 什么是软件原型化方法
2.4.2 软件原型的分类
2.4.3 原型生存周期
2.4.4 快速原型的优点
本章小结
习题二
第3章 可行性研究与项目计划
3.1 可行性研究
3.1.1 可行性研究的任务
3.1.2 可行性研究的步骤
3.2 《可行性分析报告》格式
3.3 项目立项
3.4 项目计划
3.4.1 项目工作计划
3.4.2 硬件资源规划
3.4.3 软件资源规划
本章小结
习题三
第4章 软件需求分析
4.1 软件需求分析的目标和任务
4.1.1 需求分析的目标
4.1.2 需求分析的任务
4.2 需求分析的过程
4.2.1 问题识别
4.2.2 分析与综合
4.2.3 编制需求分析文档
4.2.4 综合评审
4.2.5 需求变更管理
4.3 数据流图
4.3.1 数据流图的构成
4.3.2 数据流图的原则与步骤
4.3.3 举例
4.4 数据字典
4.4.1 数据字典的用途
4.4.2 数据字典的内容
4.4.3 定义数据的方法
4.5 《需求分析报告》格式
4.6 需求分析报告书写示例:社区信息化服务系统需求分析报告
本章小结
习题四
第5章 结构化软件设计
5.1 概要设计综述
5.1.1 概要设计的内容
5.1.2 软件体系结构
5.2 概要设计原则
5.2.1 结构化设计原则
5.2.2 模块独立性
5.3 概要设计工具
5.3.1 IPO图
5.3.2 模块结构图
5.4 《概要设计说明书》格式
5.5 详细设计
5.5.1 详细设计的任务
5.5.2 网络设计内容
5.5.3 《详细设计说明书》格式
本章小结
习题五
第6章 数据库设计
6.1 数据库设计的重要性
6.2 需求分析阶段的设计
6.2.1 数据流图示例
6.2.2 数据字典示例
6.3 概念设计阶段
6.3.1 概念模型的表示方法
6.3.2 E-R图的绘制步骤
6.4 逻辑设计阶段
6.4.1 逻辑模型的转换规则
6.4.2 模式转换示例
6.5 物理设计阶段
6.6 《数据库设计说明书》格式
本章小结
习题六
第7章 用户界面设计
7.1 用户类型
7.2 用户界面的设计思想
7.3 用户界面的风格变迁
7.4 用户界面的设计原则
7.4.1 用户友好界面的设计原则
7.4.2 一般交互原则
7.4.3 信息显示原则
7.4.4 数据输入原则
7.4.5 布局合理化原则
7.5 用户界面设计方法
7.5.1 界面一致性
7.5.2 菜单的设计
7.5.3 鼠标与键盘对应原则
7.5.4 向导使用原则
7.5.5 系统响应时间
7.5.6 用户帮助设施
7.5.7 出错信息和警告
7.5.8 输入界面设计
7.5.9 基于Web的用户界面设计
7.5.10 输出界面设计
本章小结
习题七
第8章 面向对象方法与UML建模语言
8.1 传统方法学
8.2 面向对象方法的基本概念
8.2.1 对象
8.2.2 类
8.2.3 实例
8.2.4 消息
8.2.5 方法
8.2.6 属性
8.2.7 继承
8.2.8 多态性
8.2.9 重载
8.3 UML的主要内容
8.3.1 为什么要建模
8.3.2 UML建模机制
8.3.3 UML的结构
8.3.4 UML中的事务
8.3.5 UML中的关系
8.3.6 UML中的视图
8.4 UML的图
8.4.1 类图
8.4.2 用例图
8.4.3 对象图
8.4.4 包图
8.4.5 交互图
8.4.6 状态图
8.4.7 活动图
8.4.8 组件图
8.4.9 部署图
本章小结
习题八
第9章 Rational Rose建模工具
9.1 Rational Rose简介
9.2 Rose界面简介
9.3 Rose模型的4个视图
9.3.1 Use Case视图
9.3.2 Logical视图
9.3.3 Component视图
9.3.4 Deployment视图
9.4 创建角色(Actor)
9.5 删除元素
9.6 创建用例,建立角色和用例的关联
9.7 使用序列图/协作图描述每个用例.
9.7.1 创建序列图
9.7.2 描述对象
9.8 建立静态模型
9.9 实现模型
本章小结
习题九
第10章 软件编程
10.1 什么是编程
10.2 程序设计语言特点与应用范围
10.2.1 程序设计语言的发展与分类
10.2.2 程序设计语言的选择
10.3 Java程序设计风格
10.4 程序设计算法与效率
10.4.1 程序设计算法
10.4.2 程序的运行效率
10.5 程序说明书
10.5.1 C/S结构
10.5.2 B/S结构
本章小结
习题十
第11章 软件测试流程
11.1 软件测试的基本概念
11.1.1 什么是软件测试
11.1.2 软件缺陷
11.1.3 软件测试与软件开发的关系
11.1.4 软件测试的误区
11.2 软件测试流程概述
11.3 单元测试
11.3.1 单元测试的概念
11.3.2 单元测试的内容
11.3.3 单元测试的步骤
11.4 集成测试
11.4.1 集成测试的定义
11.4.2 集成测试的层次
11.4.3 集成测试的方式
11.5 确认测试
11.6 系统测试
11.6.1 系统测试的流程
11.6.2 系统测试的目标
11.6.3 几种常见的系统测试方法
11.7 基于Web的系统测试
11.7.1 功能测试
11.7.2 性能测试
11.7.3 可用性测试
11.7.4 客户端兼容性测试
11.7.5 安全性测试
11.8 验收测试
11.8.1 验收测试的内容与标准
11.8.2 验收测试的常用策略
11.8.3 验收测试的过程
本章小结
习题十一
第12章 软件测试方法
12.1 软件测试方法
12.2 静态测试
12.2.1 类型冲突
12.2.2 子程序参数错误
12.2.3 数据错误
12.2.4 内存泄漏
12.2.5 越界
12.2.6 指针错误
12.2.7 空悬指针
12.2.8 内存处理的逻辑错误
12.2.9 代码规则错误实例
12.3 动态测试
12.4 白盒测试
12.4.1 白盒测试概述
12.4.2 语句覆盖
12.4.3 判断覆盖
12.4.4 条件覆盖
12.4.5 判断/条件覆盖
12.4.6 条件组合覆盖
12.4.7 路径覆盖
12.5 黑盒测试
12.5.1 黑盒测试概述
12.5.2 等价类划分
12.5.3 边界值分析
本章小结
习题十二
第13章 软件测试工具LoadRunner
13.1 LoadRunner的测试流程介绍
13.2 测试需求分析
13.2.1 分析应用需求
13.2.2 确定测试目标
13.3 录制和编辑脚本
13.3.1 录制和编辑脚本
13.3.2 回放脚本
13.3.3 优化脚本
13.3.4 文本检查
13.4 场景创建(设计)与运行
13.4.1 创建(设计)运行场景
13.4.2 在实际运行时如何查看脚本
13.4.3 运行场景
13.5 分析及监视场景
本章小结
习题十三
第14章 软件项目管理
14.1 项目
14.1.1 项目的定义与属性
14.1.2 项目的特点与三大要素
14.1.3 项目的生命周期
14.1.4 制约项目成功的因素
14.2 项目管理
14.3 软件项目管理的特点与复杂性
14.3.1 软件项目的特点
14.3.2 软件项目管理的复杂性
14.4 合格的项目经理
14.5 软件项目管理的内容
14.5.1 项目范围的管理
14.5.2 项目进度管理
14.5.3 人员组织与管理
14.5.4 项目的质量管理
14.5.5 项目风险管理
14.5.6 项目管理各项内容的关系
14.6 软件配置管理
14.7 项目案例分析
本章小结
习题十四
第15章 项目管理工具Project 2003
15.1 启动和退出Project 2003
15.2 Project 2003的主界面
15.3 创建和管理项目的任务
15.3.1 创建项目文件
15.3.2 分解任务.
15.3.3 安排项目任务的工期
15.4 分配项目资源
15.4.1 资源概述
15.4.2 建立资源库
15.4.3 为任务分配资源
15.4.4 管理资源
15.5 解决项目中的资源冲突
第16章 实验指导
16.1 先修课程
16.2 实训目的
16.3 实训内容
16.4 实训基本要求
16.5 实训成绩评定
参考文献
软件工程与实践
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×