简介
软件工程作为支撑软件产业的新学科,其发展正方兴未艾。本书详述软件工程的开发模型,软件开发,软件维护,软件管理的概念和方法。结合实例介绍了软件项目开发规范标准与文档编写纲要。书中每章配有练习和CAI 软件,可供计算机水平考试和等级考试辅导培训使用。本书是作者在大连理工大学讲授软件工程课讲稿基础上编写的,可作为高等学校计算机有关专业的教材,非计算机专业复合型人才培训教材,专业技术人员的参考书。
目录
第一章 软件工程概述
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.4 软件工程学的进展
1.4.1 新的软件开发模型
1.4.2 软件再用
1.4.3 计算机辅助软件工程CASE
1.4.4 软件自动生成器
1.4.5 软件工程与人工智能
习题一
第二章 软件计划
2.1 问题定义
2.1.1 问题定义的内容
2.1.2 问题定义的步骤
2.2 可行性研究
2.2.1 系统可行性研究的目标内容
2.2.2 可行性研究的步骤
2.3 系统流程图
2.4 数据流图
2.4.1 符号定义
2.4.2 画数据流图的原则
2.5 成本估计
2.5.1 基于代码行的估计方法
2.5.2 任务分解估计方法
2.5.3 经验统计估计模型
2.5.4 自动成本估计技术
2.6 成本效益分析
2.7 软件开发计划
2.7.1 软件范围
2.7.2 资源计划
2.7.3 软件进度安排
2.8 软件计划复审
习题二
第三章 软件需求分析
3.1 软件需求分析任务步骤
3.1.1 软件需求分析任务
3.1.2 软件需求分析步骤
3.1.3 软件需求分析原则
3.2 软件需求分析工具
3.2.1 结构化分析方法与工具
3.2.2 判定表与判定树
3.2.3 结构化分析语言LSA(Language of Structured Analysis)
3.2.4 其他需求分析描述工具
3.3 软件需求分析的复审
习题三
第四章 软件概要设计
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 软件结构与结构图SC(Structured Chart)
4.3 总体设计方法与工具
4.3.1 数据流问题的结构化设计方法(SD)
4.3.2 数据结构问题的设计方法
4.4 总体设计文档与复审
4.4.1 总体设计文档
4.4.2 概要设计的复审
习题四
第五章 软件详细设计
5.1 结构化程序设计
5.1.1 详细设计的任务
5.1.2 详细设计的原则
5.2 详细设计的工具
5.2.1 程序流程图PFC
5.2.2 N-S(Nassi-Shneiderman)盒式图
5.2.3 PAD图
5.2.4 HIPO图
5.2.5 判定表
5.2.6 判定树
5.2.7 过程设计语言PDL
5.2.8 详细设计方法
5.3 程序结构复杂程度的复杂度
5.3.1 程序图与环域复杂度的方法
5.3.2 其他度量程序复杂度的方法
5.4 详细设计工具评审与文档评审
5.5 软件蓝图
习题五
第六章 软件编码
6.1 程序设计风格
6.1.1 源程序
6.1.2 数据说明
6.1.3 语句结构
6.1.4 输入输出
6.2 程序设计语言
6.2.1 程序设计语言简介
6.2.2 程序设计语言的选择
6.2.3 混合编程
6.2.4 深入DOS编程
6.3 冗余与防错程序设计
6.3.1 自动程序设计
6.3.2 冗余程序设计
6.3.3 防错程序设计
6.4 面向对象的程序设计方法
6.4.1 基本思想
6.4.2 基本概念
6.4.3 语言特点
6.4.4 设计步骤
6.5 程序设计质量评价
6.6 编码文档及复审
6.6.1 代码复查与静态分析
6.6.2 编码文档
习题六
第七章 软件测试
7.1 基本概念
7.1.1 测试的概念
7.1.2 测试方法
7.1.3 测试的步骤
7.2 测试用例的设计
7.2.1 白盒法(逻辑覆盖)
7.2.2 黑盒法
7.2.3 错误推测法
7.3 软件测试策略
7.3.1 单元测试(Unit testing)
7.3.2 组装测试(Integrated testing)
7.3.3 确认测试(Validatin testing)
7.3.4 系统测试(System Testing)
7.3.5 人工测试(Manual Testing)
7.4 测试的复审
7.4.1 测试计划复审
7.4.2 测试规程说明书复审
7.4.3 软件验收复审
7.5 排错技术
7.5.1 排错策略方法
7.5.2 辅助纠错手段
7.6 软件的可靠性
7.6.1 基本概念
7.6.2 平均无故障时间MTTF的估算
7.6.3 日立预测法
7.7 系统转换
习题七
第八章 软件维护
8.1 维护概述
8.1.1 维护的定义
8.1.2 维护的内容
8.1.3 维护的特点
8.1.4 可维护性
8.1.5 维护的过程
8.2 软件维护的管理
8.2.1 维护工作人员组织
8.2.2 软件维护的相关文件
8.2.3 软件维护的复审
8.3 可维护性的度量
8.3.1 耗时记录法
8.3.2 环域复杂度
8.3.3 程序工作量
8.3.4 维护费用的估算
8.4 维护的副作用
8.4.1 修改代码的副作用
8.4.2 修改数据的副作用
8.4.3 文件的副作用
8.5 软件维护工具与软件逆向工程
8.5.1 软件维护工具
8.5.2 逆向软件工程
8.6 软件重用技术
8.6.1 软件重用概念
8.6.2 软件重用的设计过程
习题八
第九章 软件工程管理
9.1 软件项目特点与软件管理职能
9.1.1 软件项目的特点
9.1.2 软件管理的特殊性
9.1.3 软件管理职能
9.2 软件计划管理
9.2.1 软件计划的类型
9.2.2 成本估计
9.2.3 进度计划
9.3 软件开发人员组织
9.3.1 人员组织的相关定律
9.3.2 人员组织
9.4 软件质量与评价
9.4.1 软件质量度量模型
9.4.2 软件质量评价过程模型
9.4.3 软件具体评价
9.5 软件标准
9.5.1 软件工程标准化内容与好处
9.5.2 软件工程标准
习题九
第十章 软件开发环境与工具
10.1 程序设计方法
10.1.1 基于自顶向下、结构化、生命周期思想的系统开发方法
10.1.2 基于系统开发工具与快速开发系统思想的方法
10.1.3 面向对象的系统开发方法
10.1.4 信息系统的驱动方式
10.2 软件界面设计
10.2.1 代码设计
10.2.2 代码设计步骤
10.2.3 代码设计文件
10.3 输入输出设计
10.3.1 输出设计
10.3.2 输入设计
10.4 用户界面设计
10.4.1 用户界面开发要点
10.4.2 菜单技术
10.4.3 出错控制与处理
10.5 数据库设计
10.5.1 数据模型规范化
10.5.2 数据存储文件设计
10.5.3 数据库的设计
10.6 软件安全设计
10.6.1 系统安全基本概念
10.6.2 安全控制设计
10.6.3 各个生存周期阶段的安全控制措施
10.7 计算机病毒防治
10.7.1 计算机病毒种类与特点
10.7.2 病毒的防治
10.8 软件开发环境与工具
10.8.1 基本概念
10.8.2 软件工具
10.8.3 软件开发环境
10.8.4 CASE技术综述
习题十
参考文献
附录 A 计算机软件产品开发文件编制指南
附录 B 软件工程设计举例
软件工程简明教程:原理、模型、方法、工具、规范、应用
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×