书籍详情

软件工程

软件工程

作者:张海藩编著

出版社:人民邮电出版社

出版时间:2003-01-01

ISBN:9787115112583

定价:¥27.00

购买这本书可以去
内容简介
  本书总结了编者多年来从事软件工程教学与研究的经验,并吸取了国内外众多同类教科书的精华。 本书共7章。第1章概述软件工程与软件过程;第2章讲述结构化分析的任务、过程、方法和工具;第3章讲述结构化设计的任务、准则、方法和工具;第4章着重介绍几种常用的测试技术;第5章讲述面向对象的概念、模型、分析、设计与实现;第6章讲述软件维护;第7章讲述软件项目的计划、组织和质量保证,并简要地介绍了能力成熟度模型。 本书的特点是:讲解深入浅出,通俗易懂,便于自学;把丰富的实例与原理性论述紧密配合,着重讲透基本的要领原理、技术和方法;特别注重实用性,用几个综合性实例概括了本书的主要内容。认真阅读这些实例,不仅对读者深入理解软件工程很有帮助,而且有助于读者学会把软件工程的理论与技术运用一实际工作中去,这些实例还可作为上机实习的材料。 本书可作为大学专科或高等职业技术学院软件工程课程教材,也可作为大学本科相应课程的教学参考书。
作者简介
暂缺《软件工程》作者简介
目录
第1章 概述
1.1 开发软件不等于编写程序
1.1.1 开发软件应该完成的工作远远多于编写程序应该完成的工作
1.1.2 错误做法导致软件危机
1.1.3 消除软件危机的途径
1.2 软件工程
1.2.1 软件工程的定义
1.2.2 软件工程的基本原理
1.2.3 软件工程方法学
1.3 软件生命周期
1.4 软件过程
1.4.1 瀑布模型
1.4.2 快速原型模型
1.4.3 增量模型
1.4.4 螺旋模型
1.5 小结
习题
第2章 结构化分析
2.1 可行性研究的任务
2.2 可行性研究过程
2.3 需求分析的任务
2.4 需求分析的过程
2.5 与用户沟通的方法
2.5.1 访谈
2.5.2 简易的应用规格说明技术
2.6 分析建模与规格说明
2.6.1 分析建模
2.6.2 软件需求规格说明书
2.7 验证软件需求
2.7.1 至少从四个方面验证软件需求
2.7.2 验证软件需求的方法
2.7.3 用于需求分析的软件工具
2.8 系统流程图
2.8.1 系统流程图的符号
2.8.2 举例
2.8.3 分层画系统流程图
2.8.4 系统流程图的用途
2.9 实体一联系图
2.10 数据流图
2.10.1 数据流图的符号
2.10.2 举例
2.10.3 命名
2.10.4 数据流图的用途
2.11 数据字典
2.11.1 数据字典的内容
2.11.2 定义数据的方法
2.11.3 数据字典的用途
2.11.4 实现数据字典的途径
2.12 其他图形工具
2.12.1 层次方框图
2.12.2 Wamier图
2.12.3 IPO图
2.13 成本/效益分析
2.13.1 成本估计
2.13.2 成本/效益分析方法
2.14 结构化分析实例
2.14.1 工资支付问题定义
2.14.2 可行性研究
2.14.3 需求分析
2.15 小结
习题二
第3章 结构化设计
3.1 软件设计的任务
3.1.1 概要设计的任务
3.1.2 详细设计的任务
3.2 从分析过渡到设计
3.3 软件设计准则
3.3.1 模块化与模块独立
3.3.2 抽象
3.3.3 逐步求精
3.3.4 信息隐藏
3.4 度量模块独立性的标准
3.4.1 耦合
3.4.2 内聚
3.5 启发规则
3.5.1 改进软件结构提高模块独立性
3.5.2 模块规模应该适中
3.5.3 深度宽度、扇出和扇入都应适当
3.5.4 模块的作用域应该在控制域之内
3.5.5 力争降低模块接口的复杂程度
3.5.6 设计单入口单出口的模块
3.5.7 模块功能应该可以预测
3.6 描绘软件结构的图形工具
3.6.1 层次图和HIPO图
3.6.2 结构图
3.7 面向数据流的设计方法
3.7.1 概念
3.7.2 变换分析
3.7.3 事务分析
3.7.4 设计优化
3.8 人机界面设计
3.8.1 应该考虑的设计问题
3.8.2 人机界面设计过程
3.8.3 界面设计指南
3.9 过程设计
3.10 过程设计的工具
3.10.1 程序流程图
3.10.2 盒图
3.10.3 PAD图
3.10.4 判定表
3.10.5 判定树
3.10.6 过程设计语言(PDL)
3.11 面向数据结构的设计方法
3.11.1 Jackson图
3.11.2 改进的 Jackson图
3.11.3 Jackson方法
3.12 结构化设计实例
3.12.1 汉字行编辑程序的规格说明
3.12.2 概要设计
3.12.3 概要设计结果
3.12.4 详细设计
3.12.5 详细设计结果
3.13 小结
习题三
第4章 结构化实现
4.1 编码
4.1.1 选择适当的程序设计语言
4.1.2 正确的编码风格
4.2 软件测试概述
4.2.1 软件必须测试
4.2.2 软件测试的目标
4.2.3 两类测试方法
4.2.4 软件测试准则
4.3 白盒测试技术
4.3.1 逻辑覆盖
4.3.2 控制结构测试
4.4 黑盒测试技术
4.4.1 等价划分
4.4.2 边界值分析
4.4.3 错误推测
4.5 测试策略
4.5.1 测试步骤
4.5.2 单元测试
4.5.3 集成测试
4.5.4 确认测试
4.6 调试
4.6.1 调试过程
4.6.2 调试途径
4.7 软件可靠性
4.7.1 基本概念
4.7.2 估算平均无故障时间的方法
4.8 小结
习题四
第5章 面向对象方洁学导论
5.1 一个面向对象的程序实例
5.1.1 用对象分解取代功能分解
5.1.2 设计类等级
5.1.3 定义属性和服务
5.1.4 用C++语言实现
5.2 面向对象的概念
5.2.1 对象
5.2.2 其他面向对象的概念
5.3 面向对象方法学概述
5.3.1 面向对象方法学的要点
5.3.2 面向对象建模
5.3.3 面向对象的软件过程
5.4 对象模型
5.4.1 表示类的图形符号
5.4.2 表示关系的图形符号
5.5 动态模型
5.5.1 概念
5.5.2 图示符号
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.8 面向对象分析与设计实例
5.8.1 面向对象分析
5.8.2 面向对象设计
5.9 面向对象实现
5.9.1 面向对象的程序设计语言
5.9.2 面向对象程序设计风格
5.9.3 面向对象测试
5.10 面向对象方法学的主要优点
5.11 小结
习题五
第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.3.5 评价维护活动
6.4 软件的可维护性
6.4.1 决定软件可维护性的因素
6.4.2 文档
6.4.3 可维护性复审
6.5 预防性维护
6.5.1 必要性
6.5.2 可行性
6.6 软件再工程过程
6.7 小结
习题六
第7章 软件项目管理
7.1 度量软件规模
7.1.1 代码行技术
7.1.2 功能点技术
7.2 估算软件开发工作量
7.2.1 静态单变量模型
7.2.2 动态多变量模型
7.2.3 COCOMO2模型
7.3 进度计划
7.3.1 估算开发时间
7.3.2 甘特(Gantt)图
7.3.3 工程网络
7.3.4 估算进度
7.3.5 关键路径
7.3.6 机动时间
7.4 人员组织
7.4.1 民主制程序员组
7.4.2 主程序员组
7.4.3 现代程序员组
7.5 质量保证
7.5.1 软件质量的定义
7.5.2 软件质量保证措施
7.6 软件配置管理
7.7 能力成熟度模型
7.8 小结
习题七
参考文献
猜您喜欢

读书导航