内容简介
《软件工程》本书围绕软件的基本概念、开发方法、开发工具、管理、实践和文档6个部分来选取和组织材料。基本概念部分包括软件、软件危机、软件工程和计算模型;开发方法部分包括基于过程的方法和基于建模粒度的方法,前者介绍瀑布型方法、快速原型方法和其他一些方法,后者介绍面向对象方法、面向构件方法、面向AGENT方法、面向SOA方法和面向云计算方法;开发工具部分包括CASE概念、实例和发展趋势;管理部分包括项目招投标、人员、进度、成本、质量和风险等管理;实践部分包括信息系统开发、类制作、构件制作、SOA实现、云平台体验和CASE工具制作;文档部分包含12种重要的模板。
本书可作为高校本科生的教材,也可以作为教师和广大软件工程人员的参考书。
图书目录
基本概念篇
第1章基本概念
1.1软件
1.2软件危机
1.3软件工程
1.4计算模型
1.5计算服务
思考题
软件方法篇·基于软件过程的方法
第2章瀑布型方法
2.1软件过程
2.2瀑布型方法
思考题
第3章快速原型方法
3.1快速原型方法的产生
3.2快速原型方法
3.3快速原型方法案例
思考题
第4章其他方法
4.1增量方法
4.2螺旋方法
4.3敏捷方法
4.4面向复用的方法
4.5形式化方法
4.6净室方法
思考题
第5章需求分析
5.1需求分析的概念
5.2需求分析的任务
5.3需求分析的方法
5.4需求描述工具
5.5需求分析文档
5.6进行需求评审
思考题
第6章概要设计
6.1概要设计概论
6.2概要设计原理
6.3概要设计方法总结
6.4概要设计文档
思考题
第7章界面设计
7.1用户界面设计
7.2用户界面设计原则
7.3信息输入方式
7.4信息输出方式
7.5帮助系统
7.6界面评价
思考题
第8章详细设计
8.1详细设计的作用
8.2详细设计的工具
思考题
第9章测试
9.1软件测试定义
9.2软件测试模型
9.3软件测试方法
9.4测试过程与测试文档
思考题
第10章维护和演化
10.1软件维护
10.2软件演化的产生
10.3软件演化理论
思考题
软件方法篇·基于构造粒度的方法
第11章面向对象方法
11.1UML概述
11.2UML的研究内容
11.3UML建模过程
思考题
第12章面向构件方法
12.1软件体系结构的形成
12.1.1无体系结构阶段
12.1.2萌芽阶段
12.1.3初级阶段
12.1.4高级阶段
12.2软件体系结构的概念
12.3软件体系结构的要素
12.3.1构件
12.3.2连接件
12.3.3约束(配置)
12.4软件体系结构的作用
12.5基于体系结构的软件开发过程
思考题
第13章面向Agent方法
13.1面向Agent的技术
13.1.1Agent的基本概念
13.1.2Agent的体系架构
13.1.3Agent的组织类型
13.1.4Agent与组件的对比
13.1.5语义复用的Agent和组件
13.2面向Agent的软件工程
13.2.1面向Agent的研究内容
13.2.2面向Agent的开发过程
13.3面向Agent的经典开发方法
13.3.1Gaia方法
13.3.2Tropos方法
13.3.3MASE方法
思考题
第14章面向SOA方法
14.1面向服务体系架构的产生
14.1.1传统的软件体系结构
14.1.2基于组件的软件体系结构
14.1.3面向服务体系阶段
14.2SOA的基本概念
14.2.1SOA的定义
14.2.2SOA的架构
14.2.3SOA的优点
14.3支持SOA的WebService技术
14.3.1SOA的基本原则
14.3.2基于SOA的解决方案
14.3.3WebService技术
14.3.4SOA架构的不足
14.4适于SOA的建模方法
14.4.1MDA
14.4.2敏捷方法
14.4.3SOA的五视图法
14.5基于SOA架构的软件开发方法
14.5.1面向服务的架构
14.5.2基于SOA架构技术的优势
14.5.3SOA应用的构建步骤
14.5.4SOAD与传统软件开发的区别
思考题
第15章面向云计算方法
15.1云计算的基本概念和主要特征
15.1.1云计算的基本概念
15.1.2云计算的主要特征
15.1.3云计算的分类
15.1.4云计算与网格计算
15.1.5云计算的现状和发展趋势
15.2云计算的原理与关键技术
15.2.1云计算的原理
15.2.2云计算的实现机制
15.2.3Google云计算技术
思考题
软件工具篇
第16章CASE工具
16.1CASE工具概念
16.1.1CASE定义
16.1.2CASE相关概念
16.1.3CASE开发环境
16.1.4CASE工具组成
16.2CASE优势
16.3CASE工具实例
16.3.1CASE工具的产生
16.3.2常见CASE的工具
16.4CASE发展趋势
思考题
软件管理篇
第17章软件项目
17.1项目立项
17.1.1项目基本概念
17.1.2软件项目的特点
17.1.3软件项目的立项
17.1.4软件立项文档
17.2项目招投标
17.2.1项目招标与投标的概念
17.2.2项目招标与投标的过程
17.2.3招标书与投标书的编写
17.3项目合同签署
17.3.1合同的概念
17.3.2签订合同
思考题
第18章人员管理
18.1软件开发人员构成
18.2人思维的局限性
18.2.1记忆结构
18.2.2问题的解决
18.2.3工作动力
18.3小组协作
18.3.1小组的构成
18.3.2小组的凝聚力
18.3.3小组的沟通
18.4选择和留住职员
18.5激励制度
思考题
第19章进度管理
19.1项目进度
19.2条形图和活动网络图
思考题
第20章成本管理
20.1软件成本和报价
20.2软件生产率
20.3成本估算技术
20.4成本估算模型
思考题