软件工程:理论、方法与实践
内容简介:
《软件工程:理论、方法与实践》为普通高等教育“十五”国家级规划教材。由作者结合多年软件开发实践和近年讲授软件工程课程的教学经验编写而成,强调理论与实践的有机结合。全书共11章,第1章概括介绍软件工程的历史发展和基本原理,讨论IEEE和ACM最新提出的软件工程知识体系和软件工程职业道德规范;第2章讨论软件过程的基本思想和活动,介绍常见的软件过程模型和微软开发过程的实际案例:第3章讨论软件工程的管理技术,主要涉及人员管理、沟通管理、项目规划和风险管理等内容;第4章、第6章至第10章以面向对象技术为核心,全面、深入、系统地介绍软件开发各个阶段的任务、过程、方法和工具;第5章介绍软件工程中的形式化方法,包括时序逻辑、Z语言、Petri网等;第11章介绍软件进化的概念和方法,包括软件进化的特性、软件维护活动、逆向工程与再工程等内容。
《软件工程:理论、方法与实践》全书注重内容的新颖性、条理性、系统性和实用性,始终以大量的开发实例贯穿全书,可作为计算机专业有关高年级本科生和低年级研究生学习软件工程课程的教材,也可供软件从业人员参考使用。《软件工程:理论、方法与实践》配套的屯子教案可从高等教育出版社高等理工教学资源网下载。
目录:
第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 计算机辅助软件工程CASE
1.2.6 当前面临的宅要挑战
1.3 软件工程知识体系(SWEBOK)
1.3.1 SWEBOK项目介绍
1.3.2 SWEBOK的组成
1.3.3 软件工程与其他相关学科的关系
1.4 软件工程职业道德规范
1.4.1 IEEE/ACM职业道德准则
1.4.2 软件工程人员的职业道德建设
习题
第2章 软件过程
2.1 软件过程的概念
2.1.1 任务思维与过程思维
2.1.2 软件过程的定义
2.1.3 软件过程的基本活动
2.1.4 软件过程的制品
2.2 软件过程模型
2.2.1 瀑布模型
2.2.2 快速原型模型
2.2.3 增量模型
2.2.4 螺旋模型
2.2.5 形式化方法模型
2.2.6 基于组件的开发模型
2.3 案例:微软公司的软件开发过程
2.3.1 微软公司的开发管理原则
2.3.2 微软公司的软件过程模型
2.3.3 递进式的软件开发策略
习题
第3章 软件项目管理
3.1 软件项目管理概述
3.1.1 软件项目的特征
3.1.2 软件项目管理的"4P"
3.1.3 软件项目管理活动
3.2 人员组织与管理
3.2.1 软件项目组织
3.2.2 案例:微软公司的软件开发组织
3.2.3 软件团队的建设
3.3 项目沟通管理
3.3.1 项目沟通复杂性
3.3.2 项目沟通方式
3.3.3 项目沟通活动
3.4 软件项目规划
3.4.1 软件规模估算
3.4.2 软件成本估算
3.4.3 软件项目计划
3.5 软件风险管理
3.5.1 风险识别
3.5.2 风险分析
3.5.3 风险规划
3.5.4 风险监控
3.6 软件配置管理
3.6.1 基本概念
3.6.2 配置管理活动
3.6.3 配置管理工具
习题
第4章 需求工程
4.1 软件需求
4.1.1 业务需求
4.1.2 用户需求
4.1,3 功能需求和非功能需求
4.1.4 系统需求
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.3.3 观察用户工作流程
4.3.4 原型化方法
4.3.5 基于用例的方法
4.4 案例:小型图书资料管理系统..
4.4.1 确定参与者
4.4.2 确定场景
4.4.3 确定用例
4.4.4 编写用例描述
习题
第5章 软件工程中的形式化方法
5.1 形式化方法基本概念
5.1.1 形式规约(Formal Specification)
5.1,2 形式证明与验证(Formal Verification and Validation)
5.1.3 程序求精(Program Refinement)
5.2 时态逻辑
5.2.1 一阶线性时态逻辑
5.2.2 计算树逻辑
5.3 模型检验
5.4 Z语言
5.4.1 概述
5.4.2 Z语言表示
5.4.3 Z语言实例
5.5 Petri网
5.5.1 基本定义
5.5.2 Petri网规格实例--信号灯
习题
第6章 面向对象基础
6.1 面向对象方法概述
6.1.1 面向对象技术的发展历史
6.1.2 面向对象的软件工程方法
6.2 面向对象基本概念
6.2.1 对象
6.2.2 类
6.2.1 封装
6.2.4 继承
6.2.5 消息
6.2.6 关联
6.2.7 聚合
6.2.8 多态性
6.3 软件建模概念
6.3.1 系统、模型和视图
6.3.2 软件建模的重要性
6.4 统一建模语言UML
6.4.1 UML的发展历史
6.4.2 UML的概念模型
6.4 3 UML建模示例
6.4.4 UML应用
6.5 常用的UML图
6.5.1 用例图
6.5.2 类图
6.5.3 顺序图
6.5.4 状态图
习题
……
第7章 面向对象分析
第8章 面向对象设计
第9章 软件实现
第10章 软件测试
第11章 软件演化
参考文献