书籍详情
软件工程
作者:宋广军,黎明,杜鹃,王崇 编著
出版社:北京航空航天大学出版社
出版时间:2011-06-01
ISBN:9787512404489
定价:¥25.00
购买这本书可以去
内容简介
面对无穷无尽的计算机应用需求,软件开发已成为软件开发人员面临的主要任务。“软件工程”已成为计算机教学一门重要的专业课。由宋广军编著的《高等学校教材·计算机教学丛书:软件工程》以软件的生命周期为主线,重点讨论结构化的软件开发方法,包括结构化分析、结构化设计、编码、测试。通过对基本概念、基本原理、基本技术、基本方法的学习,使读者能很快运用工程的方法与技术开发软件。近些年来面向对象软件开发方法和技术不断普及,用最后两章的篇幅介绍面向对象的基本概念,面向对象的分析和设计方法。《高等学校教材·计算机教学丛书:软件工程》内容尽量做到通俗易懂,图文并茂,原理、方法与实例相结合。可作为高等学校计算机专业教材,也可供计算机软件人员和计算机用户参考。
作者简介
暂缺《软件工程》作者简介
目录
第1章 软件工程概述
1.1 软件工程与软件危机
1.1.1 软件的发展阶段
1.1.2 软件危机
1.1.3 软件工程
1.2 软件开发模型
1.2.1 软件生命周期
1.2.2 软件开发的瀑布模型
1.2.3 原型化开发模型
1.2.4 螺旋模型
1.2.5 增量模型
1.2.6 面向对象生存期模型
1.2.7 喷泉模型
1.2.8 基于四代技术的模型
习题1
第2章 软件计划
2.1 问题定义
2.2 可行性研究
2.2.1 可行性研究的任务
2.2.2 可行性研究过程
2.2.3 系统流程图
2.2.4 可行性论证报告
2.3 成本效益分析
2.4 项目开发计划
2.5 系统规格说明及评审
习题2
第3章 软件需求分析
3.1 需求分析概述
3.1.1 需求分析的基本原则
3.1.2 需求分析的任务
3.1.3 需求分析的步骤
3.1.4 需求规格说明与验证
3.2 数据流图(dfd)
3.2.1 符 号
3.2.2 命 名
3.2.3 特点和用途
3.2.4 数据流图的画法
3.3 数据字典
3.3.1 数据字典的内容
3.3.2 定义数据的方法
3.3.3 数据字典的实现
3.4 实体—联系图
3.5 结构化分析方法
3.5.1 实现的步骤
3.5.2 画分层dfd图的指导原则
3.5.3 结构化分析方法的局限
3.6 结构化分析示例
习题3
第4章 总体设计
4.1 总体设计的任务和过程
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 ipo图
4.3.3 hipo图
4.4 结构化设计方法
4.4.1 信息流分类
4.4.2 结构图
4.4.3 变换分析
4.4.4 事务分析
4.4.5 混合型分析
习题4
第5章 详细设计
5.1 详细设计的任务和过程
5.2 结构化程序设计思想
5.2.1 对goto语句使用的不同看法
5.2.2 结构化的控制结构
5.3.3 逐步细化的实现方法
5.3 详细设计的工具
5.3.1 程序流程图
5.3.2 盒图(n-s图)
5.3.3 pad图
5.3.4 伪代码和pdl语言
5.3.5 判定表与判定树
5.4 jackson程序设计方法
5.4.1 jackson图
5.4.2 jackson方法
5.5 程序结构复杂度的定量度量
5.5.1 mccabe方法
5.5.2 halstead方法
5.6 人—机界面设计
5.6.1 用户的使用需求分析
5.6.2 人—机界面的设计原则
5.6.3 人—机界面实现的原则
5.7 软件安全问题
5.7.1 软件安全控制的目的
5.7.2 软件错误的典型表现
5.7.3 软件系统安全控制的基本方法
5.7.4 软件的安全控制设计
5.8 软件设计复审
习题5
第6章 程序编码
6.1 编码的目酌
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.5 防止编码错误
习题6
第7章 软件的测试
7.1 基本概念
7.1.1 软件测试目标
7.1.2 软件测试的原则
7.1.3 软件测试的方法
7.1.4 软件测试的过程
7.2 软件测试技术
7.2.1 白盒测试
7.2.2 黑盒测试
7.2.3 实用综合测试策略
7.3 软件测试策略
7.3.1 单元测试
7.3.2 集成测试
7.3.3 验收测试
7.3.4 系统测试
7.3.5 软件测试过程
7.4 调试技术
7.4.1 调试过程
7.4.2 调试技术
7.4.3 调试原则
习题7
第8章 软件实施与维护
8.1 软件维护的种类
8.2 软件维护的特点
8.2.1 软件工程与软件维护的关系
8.2.2 影响维护工作量的因素
8.2.3 软件维护的策略
8.2.4 维护的成本
8.2.5 可能存在的问题
8.3 维护任务的实施
8.3.1 维护组织
8.3.2 维护报告
8.3.3 维护过程
8.3.4 维护记录的保存
8.3.5 对维护的评价
8.4 软件的可维护性
8.4.1 软件可维护性定义
8.4.2 影响软件可维护性的因素
8.4.3 提高软件的可维护性方法
8.5 软件维护的副作用
8.5.1 修改代码的副作用
8.5.2 修改数据的副作用
8.5.3 修改文档的副作用
8.6 逆向工程和再工程
8.6.1 预防性维护
8.6.2 逆向工程的元素
习题8
第9章 软件项目管理
9.1 软件工程管理概述
9.1.1 软件工程管理的重要性
9.1.2 管理的目的与内容
9.2 软件工作量估算
9.2.1 软件开发成本估算方法
9.2.2 算法模型估算
9.3 风险管理
9.3.1 风险分析
9.3.2 风险识别
9.3.3 风险估算
9.3.4 风险评估
9.3.5 风险监控
9.4 进度计划
9.4.1 任务的确定与进度计划
9.4.2 gantt图
9.4.3 工程网络技术
9.4.4 项目的追踪和控制
9.5 软件配置管理
9.5.1 软件配置
9.5.2 软件配置管理任务
9.6 软件质量保证与cmm
9.6.1 软件质量
9.6.2 软件指令保证措施
9.6.3 能力成熟度模型cmm
9.6.4 能力成熟度模式整合(cmmi)
习题9
第10章 面向对象方法学与建模
10.1 面向对象方法学的基本概念
10.1.1 传统方法学存在的问题
10.1.2 面向对象方法学的发展状况
10.1.3 面向对象方法学的要素和优点
10.2 统一建模语言
10.2.1 模型的建立
10.2.2 uml概述
10.2.3 uml的特点与应用
10.3 面向对象分析
10.3.1 面向对象分析
10.3.2 建立对象模型
10.3.3 建立动态模型
10.3.4 功能模型
习题10
第11章 面向对象设计与实现
11.1 面向对象设计
11.1.1 面向对象设计准则及启发规则
11.1.2 软件重用
11.1.3 对象设计
11.1.4 系统设计
11.2 面向对象的实现
11.2.1 面向对象程序设计语言
11.2.2 面向对象程序设计方法
11.2.3 面向对象程序设计风格
11.2.4 面向对象的软件测试
习题11
参考文献
1.1 软件工程与软件危机
1.1.1 软件的发展阶段
1.1.2 软件危机
1.1.3 软件工程
1.2 软件开发模型
1.2.1 软件生命周期
1.2.2 软件开发的瀑布模型
1.2.3 原型化开发模型
1.2.4 螺旋模型
1.2.5 增量模型
1.2.6 面向对象生存期模型
1.2.7 喷泉模型
1.2.8 基于四代技术的模型
习题1
第2章 软件计划
2.1 问题定义
2.2 可行性研究
2.2.1 可行性研究的任务
2.2.2 可行性研究过程
2.2.3 系统流程图
2.2.4 可行性论证报告
2.3 成本效益分析
2.4 项目开发计划
2.5 系统规格说明及评审
习题2
第3章 软件需求分析
3.1 需求分析概述
3.1.1 需求分析的基本原则
3.1.2 需求分析的任务
3.1.3 需求分析的步骤
3.1.4 需求规格说明与验证
3.2 数据流图(dfd)
3.2.1 符 号
3.2.2 命 名
3.2.3 特点和用途
3.2.4 数据流图的画法
3.3 数据字典
3.3.1 数据字典的内容
3.3.2 定义数据的方法
3.3.3 数据字典的实现
3.4 实体—联系图
3.5 结构化分析方法
3.5.1 实现的步骤
3.5.2 画分层dfd图的指导原则
3.5.3 结构化分析方法的局限
3.6 结构化分析示例
习题3
第4章 总体设计
4.1 总体设计的任务和过程
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 ipo图
4.3.3 hipo图
4.4 结构化设计方法
4.4.1 信息流分类
4.4.2 结构图
4.4.3 变换分析
4.4.4 事务分析
4.4.5 混合型分析
习题4
第5章 详细设计
5.1 详细设计的任务和过程
5.2 结构化程序设计思想
5.2.1 对goto语句使用的不同看法
5.2.2 结构化的控制结构
5.3.3 逐步细化的实现方法
5.3 详细设计的工具
5.3.1 程序流程图
5.3.2 盒图(n-s图)
5.3.3 pad图
5.3.4 伪代码和pdl语言
5.3.5 判定表与判定树
5.4 jackson程序设计方法
5.4.1 jackson图
5.4.2 jackson方法
5.5 程序结构复杂度的定量度量
5.5.1 mccabe方法
5.5.2 halstead方法
5.6 人—机界面设计
5.6.1 用户的使用需求分析
5.6.2 人—机界面的设计原则
5.6.3 人—机界面实现的原则
5.7 软件安全问题
5.7.1 软件安全控制的目的
5.7.2 软件错误的典型表现
5.7.3 软件系统安全控制的基本方法
5.7.4 软件的安全控制设计
5.8 软件设计复审
习题5
第6章 程序编码
6.1 编码的目酌
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.5 防止编码错误
习题6
第7章 软件的测试
7.1 基本概念
7.1.1 软件测试目标
7.1.2 软件测试的原则
7.1.3 软件测试的方法
7.1.4 软件测试的过程
7.2 软件测试技术
7.2.1 白盒测试
7.2.2 黑盒测试
7.2.3 实用综合测试策略
7.3 软件测试策略
7.3.1 单元测试
7.3.2 集成测试
7.3.3 验收测试
7.3.4 系统测试
7.3.5 软件测试过程
7.4 调试技术
7.4.1 调试过程
7.4.2 调试技术
7.4.3 调试原则
习题7
第8章 软件实施与维护
8.1 软件维护的种类
8.2 软件维护的特点
8.2.1 软件工程与软件维护的关系
8.2.2 影响维护工作量的因素
8.2.3 软件维护的策略
8.2.4 维护的成本
8.2.5 可能存在的问题
8.3 维护任务的实施
8.3.1 维护组织
8.3.2 维护报告
8.3.3 维护过程
8.3.4 维护记录的保存
8.3.5 对维护的评价
8.4 软件的可维护性
8.4.1 软件可维护性定义
8.4.2 影响软件可维护性的因素
8.4.3 提高软件的可维护性方法
8.5 软件维护的副作用
8.5.1 修改代码的副作用
8.5.2 修改数据的副作用
8.5.3 修改文档的副作用
8.6 逆向工程和再工程
8.6.1 预防性维护
8.6.2 逆向工程的元素
习题8
第9章 软件项目管理
9.1 软件工程管理概述
9.1.1 软件工程管理的重要性
9.1.2 管理的目的与内容
9.2 软件工作量估算
9.2.1 软件开发成本估算方法
9.2.2 算法模型估算
9.3 风险管理
9.3.1 风险分析
9.3.2 风险识别
9.3.3 风险估算
9.3.4 风险评估
9.3.5 风险监控
9.4 进度计划
9.4.1 任务的确定与进度计划
9.4.2 gantt图
9.4.3 工程网络技术
9.4.4 项目的追踪和控制
9.5 软件配置管理
9.5.1 软件配置
9.5.2 软件配置管理任务
9.6 软件质量保证与cmm
9.6.1 软件质量
9.6.2 软件指令保证措施
9.6.3 能力成熟度模型cmm
9.6.4 能力成熟度模式整合(cmmi)
习题9
第10章 面向对象方法学与建模
10.1 面向对象方法学的基本概念
10.1.1 传统方法学存在的问题
10.1.2 面向对象方法学的发展状况
10.1.3 面向对象方法学的要素和优点
10.2 统一建模语言
10.2.1 模型的建立
10.2.2 uml概述
10.2.3 uml的特点与应用
10.3 面向对象分析
10.3.1 面向对象分析
10.3.2 建立对象模型
10.3.3 建立动态模型
10.3.4 功能模型
习题10
第11章 面向对象设计与实现
11.1 面向对象设计
11.1.1 面向对象设计准则及启发规则
11.1.2 软件重用
11.1.3 对象设计
11.1.4 系统设计
11.2 面向对象的实现
11.2.1 面向对象程序设计语言
11.2.2 面向对象程序设计方法
11.2.3 面向对象程序设计风格
11.2.4 面向对象的软件测试
习题11
参考文献
猜您喜欢