[图书简介]
本书内容涵盖了软件工程的三要素: 方法、过程和工具。全书共分12章,主要讲述软件工程的基本概念、原理,常见的软件过程模型,经典的软件开发方法,用结构化方法进行分析、设计和实现,UML面向对象建模基础,用UML的面向对象方法进行分析、设计和实现,软件项目管理基础知识,常见的软件分析设计工具、测试工具、配置管理工具和项目管理工具。各章节均结合实例讲解,使读者易于理解和掌握。
本书内容全面,简明易懂,既可作为高等院校计算机专业及相关专业的教材或教学参考书,也可供软件工程师、软件项目管理者和应用软件开发人员阅读参考。
[目录]
第1章软件工程
1.1软件概述
1.1.1软件发展历程
1.1.2软件的定义
1.1.3软件的特点
1.1.4软件的分类
1.2软件危机
1.2.1软件危机的定义
1.2.2产生软件危机的原因
1.2.3软件危机的表现形式
1.2.4解决软件危机的途径
1.3软件工程概述
1.3.1软件工程的定义
1.3.2软件工程的目标
1.3.3软件工程的研究内容
1.3.4软件工程的基本原理
本章小结
本章习题
第2章软件过程
2.1软件生命周期与软件过程
2.1.1软件生命周期
2.1.2软件过程
2.2瀑布模型
2.3快速原型模型
2.4增量模型
2.5螺旋模型
2.6喷泉模型
2.7Rational 统一过程模型
2.8敏捷过程模型
2.9微软过程
本章小结
本章习题
第3章软件方法
3.1结构化方法
3.2面向对象方法
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.4.1敏捷软件开发方法
3.4.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.3实体—关系图
4.4数据字典
4.4.1数据字典的定义与用途
4.4.2内容及格式
4.4.3数据字典的实现
本章小结
本章习题
第5章结构化设计
5.1结构化设计概述
5.1.1结构化设计与结构化分析的关系
5.1.2设计目标和原则
5.1.3软件设计基本原理
5.2模块独立
5.2.1耦合
5.2.2内聚
5.3软件结构设计的启发规则
5.4软件结构设计的图形工具
5.4.1层次图和HIPO图
5.4.2结构图
5.5面向数据流设计方法
5.5.1概念
5.5.2变换分析
5.5.3事务分析
5.5.4设计优化
5.6人机界面设计
5.6.1人机界面设计问题
5.6.2设计过程
5.6.3人机界面设计指南
5.7过程设计
5.8过程设计的工具
5.8.1程序流程图
5.8.2NS图
5.8.3PAD图
5.8.4判定表
5.8.5判定树
5.8.6过程设计语言
本章小结
本章习题
第6章结构化实现
6.1程序设计语言
6.1.1程序设计语言的分类
6.1.2程序设计语言的特点
6.1.3程序设计语言的选择
6.2编码风格
6.2.1源程序文档化
6.2.2数据说明
6.2.3语句构造
6.2.4输入/输出
6.2.5程序效率
6.3软件测试基础
6.3.1测试的必要性
6.3.2测试的概念
6.3.3测试的目的
6.3.4测试的复杂性
6.3.5测试的基本原则
6.3.6测试的步骤
6.4白盒测试技术
6.4.1逻辑覆盖
6.4.2路径测试
6.4.3循环测试
6.5黑盒测试技术
6.5.1等价类划分
6.5.2边界值分析
6.5.3错误推测法
6.6软件测试策略
6.6.1单元测试
6.6.2集成测试
6.6.3系统测试
6.6.4验收测试
6.7软件调试
6.7.1软件调试方法
6.7.2常用调试策略
本章小结
本章习题
第7章UML面向对象建模基础
7.1UML简介
7.1.1UML发展史
7.1.2UML构成
7.1.3UML视图
7.2用例图
7.2.1参与者
7.2.2用例
7.2.3用例间的关系
7.2.4用例图范例
7.3类图和对象图
7.3.1类图
7.3.2对象图
7.4顺序图、协作图、状态图和活动图
7.4.1顺序图
7.4.2协作图
7.4.3状态图
7.4.4活动图
7.5组件图和部署图
7.5.1组件图
7.5.2部署图
7.6包图
本章小结
本章习题
第8章面向对象分析
8.1面向对象分析方法简介
8.2面向对象分析过程
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.7其他需求
8.8评审分析模型
本章小结
本章习题
第9章面向对象设计
9.1面向对象设计的基本概念
9.1.1面向对象设计方法简介
9.1.2面向对象设计活动
9.1.3面向对象设计准则
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.3.6分布式对象体系结构
9.3.7网上购物系统体系结构
9.4精化动态模型
9.5精化对象模型
9.5.1类设计
9.5.2接口设计
9.5.3属性、方法建模
9.6定义存储策略
9.6.1映射类
9.6.2映射继承关系
9.6.3关联和聚合映射
9.6.4持久性框架
9.7部署子系统
9.8人机界面设计
9.8.1面向对象的人机界面设计
9.8.2Web界面设计启发规则
9.8.3Web界面风格与布局
9.8.4Web界面颜色搭配
9.9评审设计模型
本章小结
本章习题
第10章面向对象实现
10.1面向对象程序设计语言
10.1.1面向对象程序设计语言简介
10.1.2面向对象程序设计语言的技术特点
10.1.3面向对象程序设计语言的选择
10.2面向对象程序设计风格
10.2.1提高可重用性
10.2.2提高可扩充性
10.2.3提高健壮性
10.3面向对象测试的基本概念
10.3.1面向对象测试的问题
10.3.2面向对象测试与传统测试的区别
10.3.3面向对象测试的参考模型
10.4面向对象测试的策略
10.4.1面向对象分析测试
10.4.2面向对象设计测试
10.4.3面向对象编程测试
10.4.4面向对象单元测试
10.4.5面向对象集成测试
本章小结
本章习题
第11章软件项目管理
11.1软件项目管理概述
11.1.1软件项目管理的范围
11.1.2软件项目管理活动
11.2软件项目成本管理
11.2.1软件规模估算
11.2.2软件成本估算
11.3软件项目进度管理
11.3.1Gantt图
11.3.2工程网络图
11.3.3PERT技术和CPM方法
11.4软件项目组织管理
11.4.1软件项目组织
11.4.2软件人员组织
11.5软件项目风险管理
11.5.1风险识别
11.5.2风险分析
11.5.3风险规划
11.5.4风险监控
11.6软件项目质量管理
11.6.1软件质量
11.6.2软件质量保证措施
11.6.3CMM软件能力成熟度模型
11.7软件项目配置管理
11.7.1基本概念
11.7.2配置管理活动
本章小结
本章习题
第12章软件工具
12.1分析设计工具Rational Rose
12.1.1Rational Rose 2003简介
12.1.2UML各种图的建立
12.2测试工具LoadRunner
12.2.1LoadRunner 11.5简介
12.2.2LoadRunner 11.5测试实例
12.3配置管理工具VSS
12.3.1VSS 2005简介
12.3.2VSS管理实例
12.4项目管理工具MS Project 2007
12.4.1Microsoft Project 2007简介
12.4.2Project管理实例
本章小结
本章习题
参考文献