简介
本书为高职高专计算机专业系列教材之一。全书分为四部分:第一部分是传统软件工程的基本知识;第二部分是面向对象内容,有面向对象的分析设计和实现、统一开发过程和统一建模语言uml以及用uml构建web应用等内容;第三部分是软件项目管理,包括软件开发项目的管理和度量方法、软件项目维护、软件的质量保证以及极限编程方法等内容;第四部分是软件开发工具和软件工程实践,介绍uml实现工具rational rose的使用、软件分析设计工具powerdesigner的使用以及用uml,设计图书馆图书借阅和预定管理的应用程序等,可供实践实训教学使用。
目录
总序
前言
第一篇 传统软件设计技术
第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.3.1 软件生存周期
1.3.2 软件生存期模型
1.4 程序设计方法和软件开发方法
1.4.1 程序设计方法
1.4.2 软件开发方法
复习思考题
第2章 可行性分析和软件项目开发计划
2.1 可行性分析的任务和步骤
2.1.1 可行性分析的任务
2.1.2 可行性分析的步骤
2.2 成本/效益分析
2.2.1 成本估计方法
2.2.2 费用估算
2.2.3 几种度量效益的方法
2.3 软件项目开发计划
2.4 软件计划进度安排
2.4.1 项目计划与里程碑
2.4.2 项目计划安排技巧
复习思考题
第3章 软件需求分析
3.1 需求分析概述
3.1.1 需求分析的任务
3.1.2 需求分析的过程
3.1.3 需求分析的困难性
3.1.4 需求的目的
3.2 结构化分析方法和工具
3.2.1 结构化分析概述
3.2.2 数据流图
3.2.3 数据词典
3.2.4 加工逻辑描述工具
3.3 原型化方法
3.3.1 软件原型的分类
3.3.2 快速原型开发模型
复习思考题
第4章 软件设计
4.1 总体设计概述
4.1.1 总体设计原则
4.1.2 总体设计过程
4.1.3 总体设计的图形工具
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.4 详细设计工具
4.4.1 程序流程图
4.4.2 盒图(N-S图)
4.4.3 PAD(problem analysis diagram)图
4.4.4 过程设计语言PDL(program design language)
4.5 面向数据结构的设计方法
4.5.1 Jackson图
4.5.2 Jackson程序设计方法
复习思考题
第5章 程序编码与软件测试
5.1 程序设计语言
5.1.1 语言的分类和特点
5.1.2 常用开发语言的评价
5.1.3 开发语言的选择
5.2 程序编写规范
5.2.1 编码风格
5.2.2 结构化编码
5.2.3 程序清晰性
5.2.4 变量和表达式
5.2.5 输入和输出
5.2.6 程序效率
5.2.7 程序注释
5.2.8 成熟技术的使用与“创新”
5.3 程序员的修养
5.3.1 程序员的素质
5.3.2 编程修养
5.4 软件测试概述
5.4.1 软件测试及其发展
5.4.2 软件测试角色
5.5 软件测试的方法
5.5.1 bug和bug跟踪
5.5.2 测试的分类
5.6 软件测试用例的设计
5.6.1 测试用例文档
5.6.2 白盒测试和黑盒测试
复习思考题
第二篇 面向对象分析设计方法
第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 Booch方法
6.3.2 Rumbaugh的OMT方法
6.3.3 Coad/Yourdon方法
6.3.4 Jacobson方法
复习思考题
第7章 软件开发的统一过程UP
7.1 统一过程UP
7.1.1 UP的概念
7.1.2 UP和Rational统一过程RUP
7.1.3 为项目实例化UP
7.2 统一过程的开发方法
7.2.1 用例驱动和风险驱动
7.2.2 以体系结构为中心
7.2.3 UP是迭代和增量过程
7.2.4 UP结构
7.2.5 UP阶段
复习思考题
第8章 统一建模语言UML简介
8.1 UML概述
8.1.1 UML简介
8.1.2 UML历史
8.2 UML语言基础
8.2.1 UML语言描述
8.2.2 元素关系
8.3 UML的静态建模
8.3.1 用例图
8.3.2 类图、对象图和包
8.3.3 构件图和配置图
8.4 动态建模
8.4.1 消息
8.4.2 状态图
8.4.3 顺序图
8.4.4 合作图
8.4.5 活动图
8.4.6 四种图的运用
8.5 使用UML的过程
8.5.1 UML过程的基础
8.5.2 面向对象方法的一般过程
8.5.3 Rational Objectory过程
复习思考题
第9章 用UML构建Web应用
9.1 Web应用概述
9.1.1 Web工程过程
9.1.2 Web开发团队
9.2 UML构建数字商店
9.2.1 概况
9.2.2 需求和特性
9.2.3 软件构架文档
复习思考题
第三篇 软件开发的项目管理
第10章 软件开发的项目管理
10.1 软件项目管理概述
10.1.1 项目管理中的均衡三角形
10.1.2 项目均衡
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.4.4 实时控制原则
10.4.5 分类管理原则
10.4.6 简单有效原则
10.4.7 规模控制原则
10.5 微软公司的开发管理和演变
复习思考题
第11章 软件过程和项目的度量方法
11.1 软件过程的度量
11.1.1 过程度量
11.1.2 软件过程的改善
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.4.4 风险的监控管理
复习思考题
第12章 软件的质量保证
12.1 软件质量保证概述
12.1.1 软件质量保证的概念和任务
12.1.2 质量保证和检验
12.1.3 软件的质量成本
12.2 软件质量保证体系与实施
12.2.1 软件质量保证体系
12.2.2 软件质量保证的实施
12.3 软件配置管理
12.3.1 软件配置项管理
12.3.2 软件配置管理的过程和任务
12.4 软件工程标准化
12.4.1 软件工程标准的制定
12.4.2 软件工程标准的层次
12.4.3 我国标准
12.5 软件过程能力评估的CMM模型
12.5.1 软件机构的过程成熟度模型CMM
12.5.2 CMM的评估
12.5.3 国内IT企业采用CMM的状况
复习思考题
第13章 极限编程
13.1 极限编程概述
13.1.1 什么是极限编程
13.1.2 极限编程的特点
13.1.3 极限编程的设计原则
13.2 极限编程方法
13.2.1 规划策略
13.2.2 小型发布
13.2.3 系统比喻
13.2.4 简化设计
13.2.5 测试驱动
13.2.6 重构
13.2.7 结对编程
13.2.8 代码全体拥有
13.2.9 持续集成
13.2.10 每周40小时工作制
13.2.11 现场客户
13.2.12 代码规范
13.3 极限编程XP与CMM/RUP的比较
13.3.1 XP与CMM的比较
13.3.2 XP与RUP的比较
复习思考题
第14章 软件的维护与再工程
14.1 软件的维护
14.1.1 软件维护的概念
14.1.2 影响软件维护工作量的因素
14.1.3 软件维护的策略
14.1.4 软件维护的成本
14.1.5 软件的可维护性
14.1.6 提高软件可维护性的方法
14.2 软件再工程和逆向工程
14.2.1 业务过程再工程(business process reengineer,BPR)
14.2.2 软件再工程
14.2.3 逆向工程
14.3 重构
14.3.1 代码重构
14.3.2 数据重构
复习思考题
第四篇 软件开发工其和软件工程实践
实践1 Rational Rose的使用
1.1 Rational Rose界面
1.2 Rational Rose用例视图
1.2.1 创建角色
1.2.2 创建用例
1.2.3 创建角色和用例之间的关联
1.2.4 创建顺序图和合作图
1.3 Rational Rose逻辑视图
1.3.1 建立类图
1.3.2 建立包
1.2.3 建立状态图
1.4 Rational Rose组件视图
1.5 Rational Rose生成代码框架
1.6 新一代建模工具XDE
实践2 PowerDesigner的使用
2.1 PowerDesigner简介
2.1.1 PowerDesigner概述
2.1.2 PowerDesigner版本
2.1.3 PowerDesigner模块组成
2.1.4 PowerDesigner的4种模型文件
2.2 PowerDesigner的操作
2.2.1 PowerDesigner系统界面
2.2.2 PowerDesigner基本操作
2.2.3 PowerDesigner业务规则
2.2.4 产生实体
2.2.5 将CDM对象转换为PDM对象
2.3 正向工程和逆向工程
2.3.1 正向工程
2.3.2 逆向工程
2.4 生成报表
实践3 用UML设计图书管理系统
3.1 需求分析
3.2 系统分析
3.2.1 总体分析
3.2.2 域分析
3.3 设计
3.3.1 体系结构设计
3.3.2 详细设计
3.3.3 用户界面设计
3.4 实现
3.5 测试和部署
3.6 小结
附录 软件工程文档模板
参考文献
前言
第一篇 传统软件设计技术
第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.3.1 软件生存周期
1.3.2 软件生存期模型
1.4 程序设计方法和软件开发方法
1.4.1 程序设计方法
1.4.2 软件开发方法
复习思考题
第2章 可行性分析和软件项目开发计划
2.1 可行性分析的任务和步骤
2.1.1 可行性分析的任务
2.1.2 可行性分析的步骤
2.2 成本/效益分析
2.2.1 成本估计方法
2.2.2 费用估算
2.2.3 几种度量效益的方法
2.3 软件项目开发计划
2.4 软件计划进度安排
2.4.1 项目计划与里程碑
2.4.2 项目计划安排技巧
复习思考题
第3章 软件需求分析
3.1 需求分析概述
3.1.1 需求分析的任务
3.1.2 需求分析的过程
3.1.3 需求分析的困难性
3.1.4 需求的目的
3.2 结构化分析方法和工具
3.2.1 结构化分析概述
3.2.2 数据流图
3.2.3 数据词典
3.2.4 加工逻辑描述工具
3.3 原型化方法
3.3.1 软件原型的分类
3.3.2 快速原型开发模型
复习思考题
第4章 软件设计
4.1 总体设计概述
4.1.1 总体设计原则
4.1.2 总体设计过程
4.1.3 总体设计的图形工具
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.4 详细设计工具
4.4.1 程序流程图
4.4.2 盒图(N-S图)
4.4.3 PAD(problem analysis diagram)图
4.4.4 过程设计语言PDL(program design language)
4.5 面向数据结构的设计方法
4.5.1 Jackson图
4.5.2 Jackson程序设计方法
复习思考题
第5章 程序编码与软件测试
5.1 程序设计语言
5.1.1 语言的分类和特点
5.1.2 常用开发语言的评价
5.1.3 开发语言的选择
5.2 程序编写规范
5.2.1 编码风格
5.2.2 结构化编码
5.2.3 程序清晰性
5.2.4 变量和表达式
5.2.5 输入和输出
5.2.6 程序效率
5.2.7 程序注释
5.2.8 成熟技术的使用与“创新”
5.3 程序员的修养
5.3.1 程序员的素质
5.3.2 编程修养
5.4 软件测试概述
5.4.1 软件测试及其发展
5.4.2 软件测试角色
5.5 软件测试的方法
5.5.1 bug和bug跟踪
5.5.2 测试的分类
5.6 软件测试用例的设计
5.6.1 测试用例文档
5.6.2 白盒测试和黑盒测试
复习思考题
第二篇 面向对象分析设计方法
第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 Booch方法
6.3.2 Rumbaugh的OMT方法
6.3.3 Coad/Yourdon方法
6.3.4 Jacobson方法
复习思考题
第7章 软件开发的统一过程UP
7.1 统一过程UP
7.1.1 UP的概念
7.1.2 UP和Rational统一过程RUP
7.1.3 为项目实例化UP
7.2 统一过程的开发方法
7.2.1 用例驱动和风险驱动
7.2.2 以体系结构为中心
7.2.3 UP是迭代和增量过程
7.2.4 UP结构
7.2.5 UP阶段
复习思考题
第8章 统一建模语言UML简介
8.1 UML概述
8.1.1 UML简介
8.1.2 UML历史
8.2 UML语言基础
8.2.1 UML语言描述
8.2.2 元素关系
8.3 UML的静态建模
8.3.1 用例图
8.3.2 类图、对象图和包
8.3.3 构件图和配置图
8.4 动态建模
8.4.1 消息
8.4.2 状态图
8.4.3 顺序图
8.4.4 合作图
8.4.5 活动图
8.4.6 四种图的运用
8.5 使用UML的过程
8.5.1 UML过程的基础
8.5.2 面向对象方法的一般过程
8.5.3 Rational Objectory过程
复习思考题
第9章 用UML构建Web应用
9.1 Web应用概述
9.1.1 Web工程过程
9.1.2 Web开发团队
9.2 UML构建数字商店
9.2.1 概况
9.2.2 需求和特性
9.2.3 软件构架文档
复习思考题
第三篇 软件开发的项目管理
第10章 软件开发的项目管理
10.1 软件项目管理概述
10.1.1 项目管理中的均衡三角形
10.1.2 项目均衡
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.4.4 实时控制原则
10.4.5 分类管理原则
10.4.6 简单有效原则
10.4.7 规模控制原则
10.5 微软公司的开发管理和演变
复习思考题
第11章 软件过程和项目的度量方法
11.1 软件过程的度量
11.1.1 过程度量
11.1.2 软件过程的改善
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.4.4 风险的监控管理
复习思考题
第12章 软件的质量保证
12.1 软件质量保证概述
12.1.1 软件质量保证的概念和任务
12.1.2 质量保证和检验
12.1.3 软件的质量成本
12.2 软件质量保证体系与实施
12.2.1 软件质量保证体系
12.2.2 软件质量保证的实施
12.3 软件配置管理
12.3.1 软件配置项管理
12.3.2 软件配置管理的过程和任务
12.4 软件工程标准化
12.4.1 软件工程标准的制定
12.4.2 软件工程标准的层次
12.4.3 我国标准
12.5 软件过程能力评估的CMM模型
12.5.1 软件机构的过程成熟度模型CMM
12.5.2 CMM的评估
12.5.3 国内IT企业采用CMM的状况
复习思考题
第13章 极限编程
13.1 极限编程概述
13.1.1 什么是极限编程
13.1.2 极限编程的特点
13.1.3 极限编程的设计原则
13.2 极限编程方法
13.2.1 规划策略
13.2.2 小型发布
13.2.3 系统比喻
13.2.4 简化设计
13.2.5 测试驱动
13.2.6 重构
13.2.7 结对编程
13.2.8 代码全体拥有
13.2.9 持续集成
13.2.10 每周40小时工作制
13.2.11 现场客户
13.2.12 代码规范
13.3 极限编程XP与CMM/RUP的比较
13.3.1 XP与CMM的比较
13.3.2 XP与RUP的比较
复习思考题
第14章 软件的维护与再工程
14.1 软件的维护
14.1.1 软件维护的概念
14.1.2 影响软件维护工作量的因素
14.1.3 软件维护的策略
14.1.4 软件维护的成本
14.1.5 软件的可维护性
14.1.6 提高软件可维护性的方法
14.2 软件再工程和逆向工程
14.2.1 业务过程再工程(business process reengineer,BPR)
14.2.2 软件再工程
14.2.3 逆向工程
14.3 重构
14.3.1 代码重构
14.3.2 数据重构
复习思考题
第四篇 软件开发工其和软件工程实践
实践1 Rational Rose的使用
1.1 Rational Rose界面
1.2 Rational Rose用例视图
1.2.1 创建角色
1.2.2 创建用例
1.2.3 创建角色和用例之间的关联
1.2.4 创建顺序图和合作图
1.3 Rational Rose逻辑视图
1.3.1 建立类图
1.3.2 建立包
1.2.3 建立状态图
1.4 Rational Rose组件视图
1.5 Rational Rose生成代码框架
1.6 新一代建模工具XDE
实践2 PowerDesigner的使用
2.1 PowerDesigner简介
2.1.1 PowerDesigner概述
2.1.2 PowerDesigner版本
2.1.3 PowerDesigner模块组成
2.1.4 PowerDesigner的4种模型文件
2.2 PowerDesigner的操作
2.2.1 PowerDesigner系统界面
2.2.2 PowerDesigner基本操作
2.2.3 PowerDesigner业务规则
2.2.4 产生实体
2.2.5 将CDM对象转换为PDM对象
2.3 正向工程和逆向工程
2.3.1 正向工程
2.3.2 逆向工程
2.4 生成报表
实践3 用UML设计图书管理系统
3.1 需求分析
3.2 系统分析
3.2.1 总体分析
3.2.2 域分析
3.3 设计
3.3.1 体系结构设计
3.3.2 详细设计
3.3.3 用户界面设计
3.4 实现
3.5 测试和部署
3.6 小结
附录 软件工程文档模板
参考文献
软件工程与实践
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
