书籍详情
软件工程:实践者的研究方法
作者:(美)RoyerS.Pressman著;黄柏素,梅宏译;黄柏素译
出版社:机械工业出版社
出版时间:1999-10-01
ISBN:9787111072829
定价:¥48.00
购买这本书可以去
内容简介
本书以丰富的信息资源、广泛的角度深刻地论述了软件工程的方方面面,内容包括软件工程的相关语境、管理软件项目的方法、各种软件工程的方法论、面向对象的方法、客户/服务器软件工程、CASE等。本书内容新颖、见解独到,适合大学计算机专业高年级学生、研究生学习,也适合软件工程开发者、组织者、管理者参考。
作者简介
作者简介RogerS.Pressman是软件工程领域国际知名的咨询专家和作者。他以优等成绩从Connecticut大学获得学士学位,从Bridgeport大学获得硕士学位,从Connecticut大学获得工学博士学位。已有超过25年的产业经验。主要从事工程产品软件和系统软件的开发技术工作和管理工作。作为产业的实践者和管理者,Pressman博士主要从事的是航空航天应用中高级工程和制造的CAD/CAM系统的开发,他也从事科学及系统程序设计方面的工作。除了他的产业经验之外,Pressman博士还是Bridgeport大学计算机工程系的兼职副教授和该大学的计算机辅助设计和制造中心的主任。Pressman博士是R.S.Pressman&Associates,Inc公司的总裁,这是一家专门从事软件工程方法和培训的咨询公司。他是公司主要的咨询专家,专门负责帮助其他公司建立有效的软件工程方法。他开发了RSP&A软件工程评估方法,该方法采用独特的数量和质量分析混合的方式,帮助客户评估他们软件工程实践的当前状况。除了给500多个客户提供咨询服务外,R.S.Pressman&Associates,Inc公司还提供大量的软件工程培训及过程改善服务。公司开发了一个艺术式的录像课程“EssentialSoftwareEngineering”,它全面地讲述了产业界关于这一主题的内容。另一个产品“ProcessAdvisor”是指导企业软件工程改进的自测系统。Pressman博士还在产业期刊上发表了许多技术论文,是企业期刊的特约撰稿人并出版了6本书。除了本书外,还有:“MakingSoftwareEngineeringHappen(PrenticeHall出版公司出版)”,这是第一本涉及到改善软件工程实施过程中的主要管理问题的书籍;“SoftwareShock(DorsetHouse出版公司出版)”,该书叙述了软件及其对商业和社会的影响;“AManager'sGuidetoSoftwareEngineering(McGraw-Hill出版公司出版)”,该书使用独特的Q&A方式表示了创立和理解技术的管理指南。Pressman博士是杂志AmericanProgrammer(美国程序员)和IEEESoftware(IEEE软件)的编委,是IEEESoftware的Manager(管理员)专栏的编辑。他还是ACM、IEEE、TauBetaPi、PhiKappaPhi、EtaKappaNu和PiTauSigma的会员。
目录
目 录
作者简介
译者简介
前言
第一部分 产品和过程
第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.4软件神话
1.5小结
参考文献
思考题
推荐阅读文献及其他信息源
第2章 过程
2.1软件工程——一种层次化技术
2.1.1过程、方法和工具
2.1.2 软件工程的一般视图
2.2软件过程
2.3软件过程模型
2.4线性顺序模型
2.5原型模型
2.6RAD模型
2.7演化软件过程模型
2.7.1增量模型
2.7.2螺旋模型
2.7.3构件组装模型
2.7.4并发开发模型
2.8形式化方法模型
2.9第四代技术
2.10过程技术
2.11产品和过程
2.12小结
参考文献
思考题
推荐阅读文献及其他信息源
第二部分 软件项目的管理
第3章 项目管理的概念
3.1管理的范围
3.1.1人员
3.1.2问题
3.1.3过程
3.2人员
3.2.1项目参与者
3.2.2项目负责人
3.2.3软件项目组
3.2.4协调和通信问题
3.3问题
3.3.1软件范围
3.3.2问题分解
3.4过程
3.4.1合并问题和过程
3.4.2过程分解
3.5项目
3.6小结
参考文献
思考题
推荐阅读文献及其他信息源
第4章 软件过程和项目的度量
4.1测度、度量和指标
4.2过程和项目领域中的度量
4.2.1过程度量和软件过程改进
4.2.2项目度量
4.3软件测量
4.3.1面向规模的度量
4.3.2面向功能的度量
4.3.3扩展的功能点度量
4.4调和不同的度量方法
4.5软件质量度量
4.5.1概述影响质量的因素
4.5.2测量质量
4.5.3缺陷排除效率
4.6在软件过程中集成度量
4.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第5章 软件项目计划
5.1对估算的观察
5.2项目计划目标
5.3软件范围
5.3.1获取定义软件范围所需的信息
5.3.2一个范围定义的例子
5.4 资源
5.4.1人力资源
5.4.2可复用软件资源
5.4.3环境资源
5.5软件项目估算
5.6分解技术
5.6.1软件规模估算
5.6.2基于问题的估算
5.6.3一个基于LOC估算的例子
5.6.4一个基于FP估算的例子
5.6.5基于过程的估算
5.6.6一个基于过程估算的例子
5.7经验估算模型
5.7.1估算模型的结构
5.7.2COCOMO模型
5.7.3软件方程式
5.8自行开发或购买的决策
5.8.1创建决策树
5.8.2外购
5.9自动估算工具
5.10小结
参考文献
思考题
推荐阅读文献及其他信息源
第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.3.8风险因素和驱动因子
6.4风险预测
6.4.1建立风险表
6.4.2评估风险影响
6.4.3风险评估
6.5风险缓解、监控和管理
6.6安全性风险和危险
6.7RMMM计划
6.8小结
参考文献
思考题
推荐阅读文献及其他信息源
第7章 项目进度安排及跟踪
7.1基本概念
7.1.1关于“延迟”的评注
7.1.2 基本原则
7.2 人员和工作量之间的关系
7.2.1一个例子
7.2.2一个经验关系
7.2.3工作量分布
7.3为软件项目定义任务集合
7.3.1严格度
7.3.2定义适应性准则
7.3.3计算任务集合选择因子的值
7.3.4解释TSS值并选择任务集合
7.4选择软件工程任务
7.5主要任务的求精
7.6定义任务网络
7.7进度安排
7.7.1时间表
7.7.2跟踪进度
7.8项目计划
7.9小结
参考文献
思考题
推荐阅读文献及其他信息源
第8章 软件质量保证
8.1质量概念
8.1.1质量
8.1.2质量控制
8.1.3质量保证
8.1.4 质量的成本
8.2质量运动
8.3软件质量保证
8.3.1背景
8.3.2SQA活动
8.4软件复审
8.4.1软件缺陷对成本的影响
8.4.2缺陷的放大和消除
8.5正式技术复审
8.5.1复审会议
8.5.2复审报告和记录保存
8.5.3复审指南
8.6SQA的形式化方法
8.7统计质量保证
8.8软件可靠性
8.8.1可靠性和可用性的度量
8.8.2软件的安全和危险的分析
8.9SQA计划
8.10ISO9000质量标准
8.10.1ISO对质量保证系统的方法
8.10.2ISO9001标准
8.11小结
参考文献
思考题
推荐阅读文献及其他信息源
第9章 软件配置管理
9.1软件配置管理
9.1.1基线
9.1.2软件配置项
9.2SCM过程
9.3软件配置中对象的标识
9.4版本控制
9.5变化控制
9.6配置审计
9.7状态报告
9.8SCM标准
9.9小结
参考文献
思考题
推荐阅读文献及其他信息源
第三部分 传统软件工程方法
第10章 系统工程
10.1基于计算机的系统
10.2系统工程层次结构
10.2.1系统建模
10.2.2信息工程:概述
10.2.3产品工程:概述
10.3信息工程
10.4信息策略计划
10.4.1企业建模
10.4.2业务级数据建模
10.5业务域分析
10.5.1处理建模
10.5.2信息流建模
10.6产品工程
10.6.1系统分析
10.6.2说明客户需要
10.6.3可行性研究
10.6.4经济分析
10.6.5技术分析
10.7系统体系结构建模
10.8系统建模和仿真
10.9系统规约
10.10小结
参考文献
思考题
推荐阅读文献及其他信息源
第11章 分析概念和原则
11.1需求分析
11.2通信技术
11.2.1过程的启动
11.2.2便利的应用规约技术
11.2.3质量功能部署
11.3分析原则
11.3.1信息域
11.3.2建模
11.3.3划分
11.3.4基本视图和实现视图
11.4软件原型
11.4.1选择原型方法
11.4.2原型方法和工具
11.5规约
11.5.1规约原则
11.5.2表示
11.5.3软件需求规约
11.6规约复审
11.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第12章 分析建模
12.1简史
12.2分析模型的元素
12.3数据建模
12.3.1数据对象、属性和关系
12.3.2基数和形态
12.3.3实体—关系图
12.4功能建模和信息流
12.4.1数据流图
12.4.2针对实时系统的扩展
12.4.3Ward和Mellor扩展
12.4.4Hatley和Pirbhai扩展
12.5行为建模
12.6结构化分析的技巧
12.6.1创建实体—关系图
12.6.2创建数据流模型
12.6.3创建控制流模型
12.6.4控制规约
12.6.5加工规约
12.7数据字典
12.8其他传统分析方法概述
12.8.1数据结构化系统开发
12.8.2Jackson系统开发
12.8.3SADT
12.9小结
参考文献
思考题
推荐阅读文献及其他信息源
第13章 设计概念和原则
13.1软件设计和软件工程
13.2设计过程
13.2.1设计和软件质量
13.2.2软件设计的演化
13.3设计原则
13.4设计概念
13.4.1抽象
13.4.2求精
13.4.3模块化
13.4.4软件体系结构
13.4.5控制层次
13.4.6结构划分
13.4.7数据结构
13.4.8软件过程
13.4.9信息隐蔽
13.5有效的模块设计
13.5.1功能独立性
13.5.2内聚
13.5.3耦合
13.6针对有效模块化的设计启发
13.7设计模型
13.8设计文档
13.9小结
参考文献
思考题
推荐阅读文献及其他信息源
第14章 设计方法
14.1数据设计
14.2体系结构设计
14.2.1贡献者
14.2.2应用域
14.3体系结构设计过程
14.3.1变换流
14.3.2事务流
14.4 变换映射
14.4.1一个实例
14.4.2设计步骤
14.5事务映射
14.5.1一个实例
14.5.2 设计步骤
14.6 设计的后处理
14.7体系结构设计优化
14.8接口设计
14.8.1内部和外部接口设计
14.8.2用户界面设计
14.9人机界面设计
14.9.1界面设计模型
14.9.2任务分析和建模
14.9.3设计问题
14.9.4实现工具
14.9.5设计评估
14.10界面设计指南
14.10.1一般交互
14.10.2信息显示
14.10.3数据输入
14.11过程设计
14.11.1结构化程序设计
14.11.2图形设计符号
14.11.3表格设计符号
14.11.4程序设计语言
14.11.5一个PDL实例
14.12小结
参考文献
思考题
推荐阅读文献及其他信息源
第15章 实时系统的设计
15.1系统考虑
15.2实时系统
15.2.1集成和性能问题
15.2.2中断处理
15.2.3实时数据库
15.2.4实时操作系统
15.2.5实时语言
15.2.6任务同步和通信
15.3实时系统的分析和仿真
15.3.1实时系统分析的数学工具
15.3.2仿真和建模技术
15.4实时设计
15.5小结
参考文献
思考题
推荐阅读文献及其他信息源
第16章 软件测试技术
16.1软件测试基础
16.1.1测试目标
16.1.2测试原则
16.1.3可测试性
16.2测试用例设计
16.3白盒测试
16.4基本路径测试
16.4.1流图符号
16.4.2环形复杂性
16.4.3导出测试用例
16.4.4图矩阵
16.5控制结构测试
16.5.1条件测试
16.5.2数据流测试
16.5.3循环测试
16.6黑盒测试
16.6.1基于图的测试方法
16.6.2等价划分
16.6.3边界值分析
16.6.4比较测试
16.7针对专门环境和应用的测试
16.7.1GUI测试
16.7.2客户/服务器体系结构的测试
16.7.3测试文档和帮助设施
16.7.4实时系统测试
16.8小结
参考文献
思考题
推荐阅读文献及其他信息源
第17章 软件测试策略
17.1软件测试的策略途径
17.1.1验证和确认
17.1.2软件测试的组织
17.1.3一种软件测试策略
17.1.4测试完成的标准
17.2策略问题
17.3单元测试
17.3.1单元测试考虑
17.3.2单元测试规程
17.4集成测试
17.4.1自顶向下集成
17.4.2自底向上集成
17.4.3回归测试
17.4.4关于集成测试的讨论
17.4.5集成测试文档
17.5确认测试
17.5.1确认测试的标准
17.5.2配置复审
17.5.3Alpha和Beta测试
17.6系统测试
17.6.1恢复测试
17.6.2安全测试
17.6.3压力测试
17.6.4性能测试
17.7调试的技巧
17.7.1调试过程
17.7.2心理考虑
17.7.3调试方法
17.8小结
参考文献
思考题
推荐阅读文献及其他信息源
第18章 软件的技术度量
18.1软件质量
18.1.1McCall的质量因素
18.1.2FURPS
18.1.3到量化视图的变迁
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.4.1高层设计度量
18.4.2构件级设计度量
18.4.3界面设计度量
18.5源代码度量
18.6对测试的度量
18.7对维护的度量
18.8小结
参考文献
思考题
推荐阅读文献及其他信息源
第四部分 面向对象的软件工程
第19章 面向对象的概念和原则
19.1面向对象的范型
19.2面向对象概念
19.2.1类和对象
19.2.2属性
19.2.3操作方法和服务
19.2.4消息
19.2.5封装、继承和多态
19.3标识对象模型的元素
19.3.1标识类和对象
19.3.2表示属性
19.3.3定义操作
19.3.4完成对象定义
19.4面向对象软件项目的管理
19.4.1OO的公共过程框架
19.4.2面向对象项目的度量和估算
19.4.3一种OO估算和进度安排方法
19.4.4面向对象项目的跟踪过程
19.5小结
参考文献
思考题
推荐阅读文献及其他信息源
第20章 面向对象分析
20.1面向对象的分析
20.1.1传统方法和OO方法
20.1.2OOA概述
20.2领域分析
20.2.1复用和领域分析
20.2.2 领域分析过程
20.300分析模型的类属成分
20.4OOA过程
20.4.1使用实例
20.4.2类—责任—协作者建模
20.4.3定义结构和层次
20.4.4定义主题和子系统
20.5对象—关系模型
20.6对象—行为模型
20.6.1用使用实例标识事件
20.6.2状态表示
20.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第21章 面向对象设计
21.1面向对象系统的设计
21.1.1传统方法和OO方法
21.1.2设计问题
21.1.3OOD概述
21.2OO设计模型的类属成分
21.3系统设计过程
21.3.1划分分析模型
21.3.2并发性和子系统分配
21.3.3任务管理构件
21.3.4数据管理构件
21.3.5资源管理构件
21.3.6人机界面构件
21.3.7子系统间通信
21.4对象设计过程
21.4.1对象描述
21.4.2设计算法和数据结构
21.4.3程序构件和接口
21.5设计模式
21.5.1描述设计模式
21.5.2 在设计中使用设计模式
21.6面向对象编程
21.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第22章 面向对象测试
22.1扩大测试的视角
22.2测试OOA和OOD模型
22.2.1OOA和OOD模型的正确性
22.2.2OOA和OOD模型的一致性
22.3面向对象的测试策略
22.3.1在OO语境中的单元测试
22.3.2在OO语境中的集成测试
22.3.3在OO语境中的有效性测试
22.4OO软件的测试用例设计
22.4.1OO概念的测试用例设计的含义
22.4.2传统测试用例设计方法的可用性
22.4.3基于故障的测试
22.4.4OO编程对测试的影响
22.4.5测试用例和类层次
22.4.6基于场景的测试设计
22.4.7测试表层结构和深层结构
22.5在类级别上可用的测试方法
22.5.1对OO类的随机测试
22.5.2在类级别上的划分测试
22.6类间测试用例设计
22.6.1多个类测试
22.6.2从行为模型导出的测试
22.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第23章 面向对象系统的技术度量
23.1面向对象度量的目的
23.2区别性的特征
23.2.1局部化
23.2.2封装
23.2.3信息隐蔽
23.2.4继承
23.2.5抽象
23.3对OO设计模型的度量
23.4面向类的度量
23.4.1CK度量套件
23.4.2Lorenz和Kidd建议的度量
23.5面向操作的度量
23.6对面向对象测试的度量
23.7对面向对象项目的度量
23.8小结
参考文献
思考题
推荐阅读文献及其他信息源
第五部分 软件工程高级课题
第24章 形式化方法
24.1基本概念
24.1.1少量的形式化方法的不足
24.1.2软件开发中的数学
24.1.3形式化方法概念
24.2数学预备知识
24.2.1集合和构造性规约
24.2.2集合运算符
24.2.3逻辑运算符
24.2.4序列
24.3应用数学符号描述形式规约
24.4形式化规约语言
24.5用Z表示一个软件构件的例子
24.6形式化方法的十条戒律
24.7形式化方法——未来之路
24.8小结
参考文献
思考题
推荐阅读文献及其他信息源
第25章 净室软件工程
25.1净室方法
25.1.1净室策略
25.1.2什么使得净室独特?
25.2功能规约
25.2.1黑盒规约
25.2.2状态盒规约
25.2.3清晰盒规约
25.3设计求精和验证的优点
25.3.1设计求精和验证
25.3.2设计验证的优点
25.4净室测试
25.4.1统计的使用测试
25.4.2认证
25.5小结
参考文献
思考题
推荐阅读文献及其他信息源
第26章 软件复用
26.1管理问题
26.1.1复用的障碍
26.1.2硬件类比
26.1.3建立复用途径的一些建议
26.2复用过程
26.2.1可复用的软件制品
26.2.2一个过程模型
26.3领域工程
26.3.1领域分析过程
26.3.2领域特征
26.3.3结构建模和结构点
26.4建造可复用构件
26.4.1为了复用的分析和设计
26.4.2构造方法
26.4.3基于构件的开发
26.5分类和检索构件
26.5.1描述可复用构件
26.5.2复用环境
26.6软件复用经济学
26.6.1对质量、生产率和成本的影响
26.6.2使用结构点的成本分析
26.6.3复用度量
26.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第27章 再工程
27.1业务过程再工程
27.1.1业务过程
27.1.2业务过程再工程的原则
27.1.3BPR模型
27.1.4几句警告
27.2软件再工程
27.2.1软件维护
27.2.2软件再工程过程模型
27.3逆向工程
27.3.1理解处理的逆向工程
27.3.2理解数据的逆向工程
27.3.3用户界面的逆向工程
27.4重构
27.4.1代码重构
27.4.2数据重构
27.5正向工程
27.5.1向客户/服务器体系结构的正向工程
27.5.2向面向对象体系结构的正向工程
27.5.3用户界面的正向工程
27.6再工程经济学
27.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第28章 客户/服务器软件工程
28.1客户/服务器系统的结构
28.1.1C/S系统的软件构件
28.1.2软件构件的分布
28.1.3分布应用构件的指南
28.1.4连接C/S软件构件
28.1.5中间件和对象请求代理体系结构
28.2对C/S系统的软件工程
28.3分析建模问题
28.4对C/S系统的设计
28.4.1传统设计方法
28.4.2数据库设计
28.4.3某设计方法的概述
28.4.4加工设计的迭代
28.5测试问题
28.5.1整体C/S测试策略
28.5.2C/S测试策略
28.6小结
参考文献
思考题
推荐阅读文献及其他信息源
第29章 计算机辅助软件工程
29.1什么是CASE?
29.2构造CASE的积木块
29.3CASE工具分类
29.4集成化CASE环境
29.5集成体系结构
29.6CASE中心库
29.6.1在I-CASE中中心库的角色
29.6.2特征和内容
29.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第30章 未来之路
30.1软件的重要性——再论
30.2变化的范围
30.3人及他们建造系统的方式
30.4“新”的软件过程
30.5表示信息的新模式
30.6技术作为推动力
30.7结束语
参考文献
思考题
推荐阅读文献及其他信息源
作者简介
译者简介
前言
第一部分 产品和过程
第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.4软件神话
1.5小结
参考文献
思考题
推荐阅读文献及其他信息源
第2章 过程
2.1软件工程——一种层次化技术
2.1.1过程、方法和工具
2.1.2 软件工程的一般视图
2.2软件过程
2.3软件过程模型
2.4线性顺序模型
2.5原型模型
2.6RAD模型
2.7演化软件过程模型
2.7.1增量模型
2.7.2螺旋模型
2.7.3构件组装模型
2.7.4并发开发模型
2.8形式化方法模型
2.9第四代技术
2.10过程技术
2.11产品和过程
2.12小结
参考文献
思考题
推荐阅读文献及其他信息源
第二部分 软件项目的管理
第3章 项目管理的概念
3.1管理的范围
3.1.1人员
3.1.2问题
3.1.3过程
3.2人员
3.2.1项目参与者
3.2.2项目负责人
3.2.3软件项目组
3.2.4协调和通信问题
3.3问题
3.3.1软件范围
3.3.2问题分解
3.4过程
3.4.1合并问题和过程
3.4.2过程分解
3.5项目
3.6小结
参考文献
思考题
推荐阅读文献及其他信息源
第4章 软件过程和项目的度量
4.1测度、度量和指标
4.2过程和项目领域中的度量
4.2.1过程度量和软件过程改进
4.2.2项目度量
4.3软件测量
4.3.1面向规模的度量
4.3.2面向功能的度量
4.3.3扩展的功能点度量
4.4调和不同的度量方法
4.5软件质量度量
4.5.1概述影响质量的因素
4.5.2测量质量
4.5.3缺陷排除效率
4.6在软件过程中集成度量
4.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第5章 软件项目计划
5.1对估算的观察
5.2项目计划目标
5.3软件范围
5.3.1获取定义软件范围所需的信息
5.3.2一个范围定义的例子
5.4 资源
5.4.1人力资源
5.4.2可复用软件资源
5.4.3环境资源
5.5软件项目估算
5.6分解技术
5.6.1软件规模估算
5.6.2基于问题的估算
5.6.3一个基于LOC估算的例子
5.6.4一个基于FP估算的例子
5.6.5基于过程的估算
5.6.6一个基于过程估算的例子
5.7经验估算模型
5.7.1估算模型的结构
5.7.2COCOMO模型
5.7.3软件方程式
5.8自行开发或购买的决策
5.8.1创建决策树
5.8.2外购
5.9自动估算工具
5.10小结
参考文献
思考题
推荐阅读文献及其他信息源
第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.3.8风险因素和驱动因子
6.4风险预测
6.4.1建立风险表
6.4.2评估风险影响
6.4.3风险评估
6.5风险缓解、监控和管理
6.6安全性风险和危险
6.7RMMM计划
6.8小结
参考文献
思考题
推荐阅读文献及其他信息源
第7章 项目进度安排及跟踪
7.1基本概念
7.1.1关于“延迟”的评注
7.1.2 基本原则
7.2 人员和工作量之间的关系
7.2.1一个例子
7.2.2一个经验关系
7.2.3工作量分布
7.3为软件项目定义任务集合
7.3.1严格度
7.3.2定义适应性准则
7.3.3计算任务集合选择因子的值
7.3.4解释TSS值并选择任务集合
7.4选择软件工程任务
7.5主要任务的求精
7.6定义任务网络
7.7进度安排
7.7.1时间表
7.7.2跟踪进度
7.8项目计划
7.9小结
参考文献
思考题
推荐阅读文献及其他信息源
第8章 软件质量保证
8.1质量概念
8.1.1质量
8.1.2质量控制
8.1.3质量保证
8.1.4 质量的成本
8.2质量运动
8.3软件质量保证
8.3.1背景
8.3.2SQA活动
8.4软件复审
8.4.1软件缺陷对成本的影响
8.4.2缺陷的放大和消除
8.5正式技术复审
8.5.1复审会议
8.5.2复审报告和记录保存
8.5.3复审指南
8.6SQA的形式化方法
8.7统计质量保证
8.8软件可靠性
8.8.1可靠性和可用性的度量
8.8.2软件的安全和危险的分析
8.9SQA计划
8.10ISO9000质量标准
8.10.1ISO对质量保证系统的方法
8.10.2ISO9001标准
8.11小结
参考文献
思考题
推荐阅读文献及其他信息源
第9章 软件配置管理
9.1软件配置管理
9.1.1基线
9.1.2软件配置项
9.2SCM过程
9.3软件配置中对象的标识
9.4版本控制
9.5变化控制
9.6配置审计
9.7状态报告
9.8SCM标准
9.9小结
参考文献
思考题
推荐阅读文献及其他信息源
第三部分 传统软件工程方法
第10章 系统工程
10.1基于计算机的系统
10.2系统工程层次结构
10.2.1系统建模
10.2.2信息工程:概述
10.2.3产品工程:概述
10.3信息工程
10.4信息策略计划
10.4.1企业建模
10.4.2业务级数据建模
10.5业务域分析
10.5.1处理建模
10.5.2信息流建模
10.6产品工程
10.6.1系统分析
10.6.2说明客户需要
10.6.3可行性研究
10.6.4经济分析
10.6.5技术分析
10.7系统体系结构建模
10.8系统建模和仿真
10.9系统规约
10.10小结
参考文献
思考题
推荐阅读文献及其他信息源
第11章 分析概念和原则
11.1需求分析
11.2通信技术
11.2.1过程的启动
11.2.2便利的应用规约技术
11.2.3质量功能部署
11.3分析原则
11.3.1信息域
11.3.2建模
11.3.3划分
11.3.4基本视图和实现视图
11.4软件原型
11.4.1选择原型方法
11.4.2原型方法和工具
11.5规约
11.5.1规约原则
11.5.2表示
11.5.3软件需求规约
11.6规约复审
11.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第12章 分析建模
12.1简史
12.2分析模型的元素
12.3数据建模
12.3.1数据对象、属性和关系
12.3.2基数和形态
12.3.3实体—关系图
12.4功能建模和信息流
12.4.1数据流图
12.4.2针对实时系统的扩展
12.4.3Ward和Mellor扩展
12.4.4Hatley和Pirbhai扩展
12.5行为建模
12.6结构化分析的技巧
12.6.1创建实体—关系图
12.6.2创建数据流模型
12.6.3创建控制流模型
12.6.4控制规约
12.6.5加工规约
12.7数据字典
12.8其他传统分析方法概述
12.8.1数据结构化系统开发
12.8.2Jackson系统开发
12.8.3SADT
12.9小结
参考文献
思考题
推荐阅读文献及其他信息源
第13章 设计概念和原则
13.1软件设计和软件工程
13.2设计过程
13.2.1设计和软件质量
13.2.2软件设计的演化
13.3设计原则
13.4设计概念
13.4.1抽象
13.4.2求精
13.4.3模块化
13.4.4软件体系结构
13.4.5控制层次
13.4.6结构划分
13.4.7数据结构
13.4.8软件过程
13.4.9信息隐蔽
13.5有效的模块设计
13.5.1功能独立性
13.5.2内聚
13.5.3耦合
13.6针对有效模块化的设计启发
13.7设计模型
13.8设计文档
13.9小结
参考文献
思考题
推荐阅读文献及其他信息源
第14章 设计方法
14.1数据设计
14.2体系结构设计
14.2.1贡献者
14.2.2应用域
14.3体系结构设计过程
14.3.1变换流
14.3.2事务流
14.4 变换映射
14.4.1一个实例
14.4.2设计步骤
14.5事务映射
14.5.1一个实例
14.5.2 设计步骤
14.6 设计的后处理
14.7体系结构设计优化
14.8接口设计
14.8.1内部和外部接口设计
14.8.2用户界面设计
14.9人机界面设计
14.9.1界面设计模型
14.9.2任务分析和建模
14.9.3设计问题
14.9.4实现工具
14.9.5设计评估
14.10界面设计指南
14.10.1一般交互
14.10.2信息显示
14.10.3数据输入
14.11过程设计
14.11.1结构化程序设计
14.11.2图形设计符号
14.11.3表格设计符号
14.11.4程序设计语言
14.11.5一个PDL实例
14.12小结
参考文献
思考题
推荐阅读文献及其他信息源
第15章 实时系统的设计
15.1系统考虑
15.2实时系统
15.2.1集成和性能问题
15.2.2中断处理
15.2.3实时数据库
15.2.4实时操作系统
15.2.5实时语言
15.2.6任务同步和通信
15.3实时系统的分析和仿真
15.3.1实时系统分析的数学工具
15.3.2仿真和建模技术
15.4实时设计
15.5小结
参考文献
思考题
推荐阅读文献及其他信息源
第16章 软件测试技术
16.1软件测试基础
16.1.1测试目标
16.1.2测试原则
16.1.3可测试性
16.2测试用例设计
16.3白盒测试
16.4基本路径测试
16.4.1流图符号
16.4.2环形复杂性
16.4.3导出测试用例
16.4.4图矩阵
16.5控制结构测试
16.5.1条件测试
16.5.2数据流测试
16.5.3循环测试
16.6黑盒测试
16.6.1基于图的测试方法
16.6.2等价划分
16.6.3边界值分析
16.6.4比较测试
16.7针对专门环境和应用的测试
16.7.1GUI测试
16.7.2客户/服务器体系结构的测试
16.7.3测试文档和帮助设施
16.7.4实时系统测试
16.8小结
参考文献
思考题
推荐阅读文献及其他信息源
第17章 软件测试策略
17.1软件测试的策略途径
17.1.1验证和确认
17.1.2软件测试的组织
17.1.3一种软件测试策略
17.1.4测试完成的标准
17.2策略问题
17.3单元测试
17.3.1单元测试考虑
17.3.2单元测试规程
17.4集成测试
17.4.1自顶向下集成
17.4.2自底向上集成
17.4.3回归测试
17.4.4关于集成测试的讨论
17.4.5集成测试文档
17.5确认测试
17.5.1确认测试的标准
17.5.2配置复审
17.5.3Alpha和Beta测试
17.6系统测试
17.6.1恢复测试
17.6.2安全测试
17.6.3压力测试
17.6.4性能测试
17.7调试的技巧
17.7.1调试过程
17.7.2心理考虑
17.7.3调试方法
17.8小结
参考文献
思考题
推荐阅读文献及其他信息源
第18章 软件的技术度量
18.1软件质量
18.1.1McCall的质量因素
18.1.2FURPS
18.1.3到量化视图的变迁
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.4.1高层设计度量
18.4.2构件级设计度量
18.4.3界面设计度量
18.5源代码度量
18.6对测试的度量
18.7对维护的度量
18.8小结
参考文献
思考题
推荐阅读文献及其他信息源
第四部分 面向对象的软件工程
第19章 面向对象的概念和原则
19.1面向对象的范型
19.2面向对象概念
19.2.1类和对象
19.2.2属性
19.2.3操作方法和服务
19.2.4消息
19.2.5封装、继承和多态
19.3标识对象模型的元素
19.3.1标识类和对象
19.3.2表示属性
19.3.3定义操作
19.3.4完成对象定义
19.4面向对象软件项目的管理
19.4.1OO的公共过程框架
19.4.2面向对象项目的度量和估算
19.4.3一种OO估算和进度安排方法
19.4.4面向对象项目的跟踪过程
19.5小结
参考文献
思考题
推荐阅读文献及其他信息源
第20章 面向对象分析
20.1面向对象的分析
20.1.1传统方法和OO方法
20.1.2OOA概述
20.2领域分析
20.2.1复用和领域分析
20.2.2 领域分析过程
20.300分析模型的类属成分
20.4OOA过程
20.4.1使用实例
20.4.2类—责任—协作者建模
20.4.3定义结构和层次
20.4.4定义主题和子系统
20.5对象—关系模型
20.6对象—行为模型
20.6.1用使用实例标识事件
20.6.2状态表示
20.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第21章 面向对象设计
21.1面向对象系统的设计
21.1.1传统方法和OO方法
21.1.2设计问题
21.1.3OOD概述
21.2OO设计模型的类属成分
21.3系统设计过程
21.3.1划分分析模型
21.3.2并发性和子系统分配
21.3.3任务管理构件
21.3.4数据管理构件
21.3.5资源管理构件
21.3.6人机界面构件
21.3.7子系统间通信
21.4对象设计过程
21.4.1对象描述
21.4.2设计算法和数据结构
21.4.3程序构件和接口
21.5设计模式
21.5.1描述设计模式
21.5.2 在设计中使用设计模式
21.6面向对象编程
21.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第22章 面向对象测试
22.1扩大测试的视角
22.2测试OOA和OOD模型
22.2.1OOA和OOD模型的正确性
22.2.2OOA和OOD模型的一致性
22.3面向对象的测试策略
22.3.1在OO语境中的单元测试
22.3.2在OO语境中的集成测试
22.3.3在OO语境中的有效性测试
22.4OO软件的测试用例设计
22.4.1OO概念的测试用例设计的含义
22.4.2传统测试用例设计方法的可用性
22.4.3基于故障的测试
22.4.4OO编程对测试的影响
22.4.5测试用例和类层次
22.4.6基于场景的测试设计
22.4.7测试表层结构和深层结构
22.5在类级别上可用的测试方法
22.5.1对OO类的随机测试
22.5.2在类级别上的划分测试
22.6类间测试用例设计
22.6.1多个类测试
22.6.2从行为模型导出的测试
22.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第23章 面向对象系统的技术度量
23.1面向对象度量的目的
23.2区别性的特征
23.2.1局部化
23.2.2封装
23.2.3信息隐蔽
23.2.4继承
23.2.5抽象
23.3对OO设计模型的度量
23.4面向类的度量
23.4.1CK度量套件
23.4.2Lorenz和Kidd建议的度量
23.5面向操作的度量
23.6对面向对象测试的度量
23.7对面向对象项目的度量
23.8小结
参考文献
思考题
推荐阅读文献及其他信息源
第五部分 软件工程高级课题
第24章 形式化方法
24.1基本概念
24.1.1少量的形式化方法的不足
24.1.2软件开发中的数学
24.1.3形式化方法概念
24.2数学预备知识
24.2.1集合和构造性规约
24.2.2集合运算符
24.2.3逻辑运算符
24.2.4序列
24.3应用数学符号描述形式规约
24.4形式化规约语言
24.5用Z表示一个软件构件的例子
24.6形式化方法的十条戒律
24.7形式化方法——未来之路
24.8小结
参考文献
思考题
推荐阅读文献及其他信息源
第25章 净室软件工程
25.1净室方法
25.1.1净室策略
25.1.2什么使得净室独特?
25.2功能规约
25.2.1黑盒规约
25.2.2状态盒规约
25.2.3清晰盒规约
25.3设计求精和验证的优点
25.3.1设计求精和验证
25.3.2设计验证的优点
25.4净室测试
25.4.1统计的使用测试
25.4.2认证
25.5小结
参考文献
思考题
推荐阅读文献及其他信息源
第26章 软件复用
26.1管理问题
26.1.1复用的障碍
26.1.2硬件类比
26.1.3建立复用途径的一些建议
26.2复用过程
26.2.1可复用的软件制品
26.2.2一个过程模型
26.3领域工程
26.3.1领域分析过程
26.3.2领域特征
26.3.3结构建模和结构点
26.4建造可复用构件
26.4.1为了复用的分析和设计
26.4.2构造方法
26.4.3基于构件的开发
26.5分类和检索构件
26.5.1描述可复用构件
26.5.2复用环境
26.6软件复用经济学
26.6.1对质量、生产率和成本的影响
26.6.2使用结构点的成本分析
26.6.3复用度量
26.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第27章 再工程
27.1业务过程再工程
27.1.1业务过程
27.1.2业务过程再工程的原则
27.1.3BPR模型
27.1.4几句警告
27.2软件再工程
27.2.1软件维护
27.2.2软件再工程过程模型
27.3逆向工程
27.3.1理解处理的逆向工程
27.3.2理解数据的逆向工程
27.3.3用户界面的逆向工程
27.4重构
27.4.1代码重构
27.4.2数据重构
27.5正向工程
27.5.1向客户/服务器体系结构的正向工程
27.5.2向面向对象体系结构的正向工程
27.5.3用户界面的正向工程
27.6再工程经济学
27.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第28章 客户/服务器软件工程
28.1客户/服务器系统的结构
28.1.1C/S系统的软件构件
28.1.2软件构件的分布
28.1.3分布应用构件的指南
28.1.4连接C/S软件构件
28.1.5中间件和对象请求代理体系结构
28.2对C/S系统的软件工程
28.3分析建模问题
28.4对C/S系统的设计
28.4.1传统设计方法
28.4.2数据库设计
28.4.3某设计方法的概述
28.4.4加工设计的迭代
28.5测试问题
28.5.1整体C/S测试策略
28.5.2C/S测试策略
28.6小结
参考文献
思考题
推荐阅读文献及其他信息源
第29章 计算机辅助软件工程
29.1什么是CASE?
29.2构造CASE的积木块
29.3CASE工具分类
29.4集成化CASE环境
29.5集成体系结构
29.6CASE中心库
29.6.1在I-CASE中中心库的角色
29.6.2特征和内容
29.7小结
参考文献
思考题
推荐阅读文献及其他信息源
第30章 未来之路
30.1软件的重要性——再论
30.2变化的范围
30.3人及他们建造系统的方式
30.4“新”的软件过程
30.5表示信息的新模式
30.6技术作为推动力
30.7结束语
参考文献
思考题
推荐阅读文献及其他信息源
猜您喜欢