描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302448884丛书名: 21世纪高等学校规划教材·软件工程
编辑推荐
1.本书介绍了面向对象思想进行软件开发的思路,并详细讲述分析了在各阶段采用的系统分析设计的技术,包括构建用例模型、领域模型,体系结构的设计、用户界面设计及面向对象测试等主流技术。
2.在各个章节设置的知识的拓展,有利于读者开阔视野、扩充知识面。整个教材设定了一个贯穿始终的完整案例,在每个项目实施的阶段,都设定一个案例分析环节,剖析项目在实施过程中是如何一步步得到推进,贯彻分析设计技术的。书后有相应配套的习题,供读者进行练习。
内容简介
本教材阐述了软件工程的基本思想、软件开发过程、面向对象的分析与设计技术及项目管理的内容。在各章节中以软件生命周期阶段为主线,介绍了软件开发过程中的每个阶段需要达成的任务目标、涉及的基本原理及采用的技术。在每一章中都会使用同一业务背景下的案例带领读者运用讲述的知识进行实践,指导读者灵活解决实际问题。每一章节后面都为读者准备了相应的练习题,帮助读者巩固和加深对知识点的理解。教材的后一章设置了综合实训环节,将前面讲述的知识进行完整的应用,起到将所学知识融会贯通的作用。
本教材适合高校信息类专业“软件工程”课程的教学,也可作为广大软件开发爱好者的参考资料。
本教材适合高校信息类专业“软件工程”课程的教学,也可作为广大软件开发爱好者的参考资料。
目 录
目录
第1章软件工程概述
1.1项目导引
1.2项目分析
1.3软件工程的历史
1.4软件工程的基本概念
1.5软件工程的基本原理
1.6软件生命周期
1.7软件开发过程模型
1.7.1瀑布模型
1.7.2原型模型
1.7.3螺旋模型
1.7.4迭代开发与RUP
1.8案例分析
1.9技术拓展
1.9.1敏捷开发技术1——Scrum
1.9.2敏捷开发技术2——XP
小结
强化练习
第2章软件工程管理
2.1项目导引
2.2项目分析
2.3软件项目管理概述
2.4项目范围管理
2.4.1项目范围变更控制
2.4.2项目范围变更原因
2.4.3范围变更控制过程
2.4.4实施范围变更管理原则
2.4.5项目范围变更控制
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.7.4配置管理报表
2.8项目组织管理
2.8.1民主制程序员组
2.8.2主程序员组
2.8.3现代程序员组
2.8.4软件项目组
2.8.5IT组织管理
2.9项目质量管理
2.9.1软件质量概述
2.9.2软件质量因素
2.10项目风险管理
2.10.1风险的分类
2.10.2风险的识别
2.10.3风险评估
2.10.4风险的驾驭和监控
2.11项目沟通管理
2.12项目集成管理
2.13案例分析
2.13.1角色的映射
2.13.2开发案例中的制品
2.13.3为初始阶段制定计划
2.14知识拓展
2.14.1质量管理资格认证1——ISO 9000: 2000
2.14.2质量管理资格认证2——CMM
2.14.3质量管理资格认证3——ISO 90003
小结
强化练习
第3章需求确定
3.1项目导引
3.2项目分析
3.3需求阶段的任务和目标
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.6RUP中需求的特点
3.7用例模型
3.7.1用例的描述形式
3.7.2用例图
3.8用例产生的过程
3.8.1事件清单和事件表
3.8.2从事件表转换成用例
3.9补充性规格说明
3.10案例分析
3.10.1背景说明
3.10.2项目说明
3.10.3用例模型
3.11知识拓展
3.11.1需求分类的补充
3.11.2需求开发过程
小结
强化练习
第4章系统分析
4.1项目导引
4.2项目分析
4.3领域模型
4.3.1什么是领域模型
4.3.2如何构建领域模型
4.3.3何时构建领域模型
4.4健壮性分析
4.4.1健壮图的表示法
4.4.2健壮图的使用规则
4.5顺序图的转换
4.5.1将健壮性分析与顺序图对应
4.5.2为静态类图增加方法
4.6状态的标识
4.7案例分析
4.7.1构建领域模型和状态模型
4.7.2健壮性分析
4.7.3构建动态模型
4.8知识拓展
4.8.1抽取候选类的其他方法
4.8.2领域驱动设计
小结
强化练习
第5章系统设计
5.1项目导引
5.2项目分析
5.3软件设计的过程
5.4软件体系结构
5.4.1什么是软件体系结构
5.4.2应用程序的分割
5.4.3分离服务
5.5体系结构设计过程
5.5.1制定初步体系结构
5.5.2逻辑结构的划分
5.5.3执行体系结构
5.6用户界面设计
5.7持久化设计
5.7.1设计目标
5.7.2数据库设计步骤
5.8案例分析
5.8.1体系结构的建立
5.8.2数据库的设计
5.8.3界面设计
5.9知识拓展
5.9.1框架模式
5.9.2应用框架
小结
强化练习
第6章对象设计
6.1项目导引
6.2项目分析
6.3面向对象的设计原则
6.3.1开闭原则
6.3.2里氏代换原则
6.3.3依赖倒转原则
6.3.4接口隔离原则
6.3.5单一职责原则
6.3.6合成复用原则
6.3.7小知识原则
6.4设计模式的提出
6.4.1设计模式的4个基本要素
6.4.2设计模式的分类
6.5经典设计模式
6.5.1策略模式
6.5.2单例模式
6.5.3适配器模式
6.5.4工厂方法模式
6.6设计模式应用的注意事项
6.7案例分析
6.8知识拓展
小结
强化练习
第7章软件实现
7.1项目导引
7.2程序设计语言的选择
7.3编码规范
7.3.1源程序文档化
7.3.2数据说明
7.3.3语句结构
7.3.4输入/输出
7.4编码风格
7.4.1提高可重用性
7.4.2提高可扩充性
7.4.3提高健壮性
7.5软件开发环境
7.6知识拓展
小结
强化练习
第8章软件测试
8.1项目导引
8.2项目分析
8.2.1软件测试的目的和原则
8.2.2软件测试与软件开发各阶段的关系
8.3经典测试方法
8.4白盒测试
8.4.1逻辑覆盖
8.4.2基本路径覆盖
8.5黑盒测试
8.5.1等价类划分
8.5.2边界值分析法
8.5.3错误推测法
8.5.4因果图法
8.6测试过程
8.6.1单元测试
8.6.2集成测试
8.6.3功能测试
8.6.4系统测试
8.6.5验收测试
8.7面向对象测试方法
8.8案例分析
8.9知识拓展
小结
强化练习
第9章软件维护
9.1项目导引
9.2项目分析
9.3软件维护的种类
9.4软件维护的过程
9.5软件维护的成本
9.6案例分析
9.7知识拓展
9.7.1逆向工程
9.7.2重构
小结
强化练习
第10章综合实训——在线宠物商店
10.1项目背景
10.2需求获取
10.3系统分析
10.4系统设计
10.5对象设计
10.5.1域对象的设计
10.5.2用例的健壮性分析
10.6代码实现
10.7软件测试
附录A面向对象技术概述
A.1面向对象的基本概念
A.1.1对象
A.1.2类
A.1.3实例
A.1.4消息
A.1.5方法
A.1.6属性
A.1.7封装
A.1.8继承
A.1.9多态性
A.1.10重载
A.2面向对象方法的总结
A.3面向对象建模
小结
参考文献
第1章软件工程概述
1.1项目导引
1.2项目分析
1.3软件工程的历史
1.4软件工程的基本概念
1.5软件工程的基本原理
1.6软件生命周期
1.7软件开发过程模型
1.7.1瀑布模型
1.7.2原型模型
1.7.3螺旋模型
1.7.4迭代开发与RUP
1.8案例分析
1.9技术拓展
1.9.1敏捷开发技术1——Scrum
1.9.2敏捷开发技术2——XP
小结
强化练习
第2章软件工程管理
2.1项目导引
2.2项目分析
2.3软件项目管理概述
2.4项目范围管理
2.4.1项目范围变更控制
2.4.2项目范围变更原因
2.4.3范围变更控制过程
2.4.4实施范围变更管理原则
2.4.5项目范围变更控制
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.7.4配置管理报表
2.8项目组织管理
2.8.1民主制程序员组
2.8.2主程序员组
2.8.3现代程序员组
2.8.4软件项目组
2.8.5IT组织管理
2.9项目质量管理
2.9.1软件质量概述
2.9.2软件质量因素
2.10项目风险管理
2.10.1风险的分类
2.10.2风险的识别
2.10.3风险评估
2.10.4风险的驾驭和监控
2.11项目沟通管理
2.12项目集成管理
2.13案例分析
2.13.1角色的映射
2.13.2开发案例中的制品
2.13.3为初始阶段制定计划
2.14知识拓展
2.14.1质量管理资格认证1——ISO 9000: 2000
2.14.2质量管理资格认证2——CMM
2.14.3质量管理资格认证3——ISO 90003
小结
强化练习
第3章需求确定
3.1项目导引
3.2项目分析
3.3需求阶段的任务和目标
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.6RUP中需求的特点
3.7用例模型
3.7.1用例的描述形式
3.7.2用例图
3.8用例产生的过程
3.8.1事件清单和事件表
3.8.2从事件表转换成用例
3.9补充性规格说明
3.10案例分析
3.10.1背景说明
3.10.2项目说明
3.10.3用例模型
3.11知识拓展
3.11.1需求分类的补充
3.11.2需求开发过程
小结
强化练习
第4章系统分析
4.1项目导引
4.2项目分析
4.3领域模型
4.3.1什么是领域模型
4.3.2如何构建领域模型
4.3.3何时构建领域模型
4.4健壮性分析
4.4.1健壮图的表示法
4.4.2健壮图的使用规则
4.5顺序图的转换
4.5.1将健壮性分析与顺序图对应
4.5.2为静态类图增加方法
4.6状态的标识
4.7案例分析
4.7.1构建领域模型和状态模型
4.7.2健壮性分析
4.7.3构建动态模型
4.8知识拓展
4.8.1抽取候选类的其他方法
4.8.2领域驱动设计
小结
强化练习
第5章系统设计
5.1项目导引
5.2项目分析
5.3软件设计的过程
5.4软件体系结构
5.4.1什么是软件体系结构
5.4.2应用程序的分割
5.4.3分离服务
5.5体系结构设计过程
5.5.1制定初步体系结构
5.5.2逻辑结构的划分
5.5.3执行体系结构
5.6用户界面设计
5.7持久化设计
5.7.1设计目标
5.7.2数据库设计步骤
5.8案例分析
5.8.1体系结构的建立
5.8.2数据库的设计
5.8.3界面设计
5.9知识拓展
5.9.1框架模式
5.9.2应用框架
小结
强化练习
第6章对象设计
6.1项目导引
6.2项目分析
6.3面向对象的设计原则
6.3.1开闭原则
6.3.2里氏代换原则
6.3.3依赖倒转原则
6.3.4接口隔离原则
6.3.5单一职责原则
6.3.6合成复用原则
6.3.7小知识原则
6.4设计模式的提出
6.4.1设计模式的4个基本要素
6.4.2设计模式的分类
6.5经典设计模式
6.5.1策略模式
6.5.2单例模式
6.5.3适配器模式
6.5.4工厂方法模式
6.6设计模式应用的注意事项
6.7案例分析
6.8知识拓展
小结
强化练习
第7章软件实现
7.1项目导引
7.2程序设计语言的选择
7.3编码规范
7.3.1源程序文档化
7.3.2数据说明
7.3.3语句结构
7.3.4输入/输出
7.4编码风格
7.4.1提高可重用性
7.4.2提高可扩充性
7.4.3提高健壮性
7.5软件开发环境
7.6知识拓展
小结
强化练习
第8章软件测试
8.1项目导引
8.2项目分析
8.2.1软件测试的目的和原则
8.2.2软件测试与软件开发各阶段的关系
8.3经典测试方法
8.4白盒测试
8.4.1逻辑覆盖
8.4.2基本路径覆盖
8.5黑盒测试
8.5.1等价类划分
8.5.2边界值分析法
8.5.3错误推测法
8.5.4因果图法
8.6测试过程
8.6.1单元测试
8.6.2集成测试
8.6.3功能测试
8.6.4系统测试
8.6.5验收测试
8.7面向对象测试方法
8.8案例分析
8.9知识拓展
小结
强化练习
第9章软件维护
9.1项目导引
9.2项目分析
9.3软件维护的种类
9.4软件维护的过程
9.5软件维护的成本
9.6案例分析
9.7知识拓展
9.7.1逆向工程
9.7.2重构
小结
强化练习
第10章综合实训——在线宠物商店
10.1项目背景
10.2需求获取
10.3系统分析
10.4系统设计
10.5对象设计
10.5.1域对象的设计
10.5.2用例的健壮性分析
10.6代码实现
10.7软件测试
附录A面向对象技术概述
A.1面向对象的基本概念
A.1.1对象
A.1.2类
A.1.3实例
A.1.4消息
A.1.5方法
A.1.6属性
A.1.7封装
A.1.8继承
A.1.9多态性
A.1.10重载
A.2面向对象方法的总结
A.3面向对象建模
小结
参考文献
前 言
序言
媒体评论
评论
书摘插画
评论
还没有评论。