主页 详情

《软件工程 第4版·修订版》_(美)ShariLawrencePfleeger(加)JoanneM·Atlee著_13499672_7115313478

【书名】:《软件工程 第4版·修订版》
【作者】:(美)ShariLawrencePfleeger(加)JoanneM·Atlee著
【出版社】:北京:人民邮电出版社
【时间】:2014
【页数】:551
【ISBN】:7115313478
【SS码】:13499672

最新查询

内容简介

第1章 软件工程概述

1.1什么是软件工程

1.1.1问题求解

1.1.2软件工程师的角色是什么

1.2软件工程取得了哪些进展

1.3什么是好的软件

1.3.1产品的质量

1.3.2过程的质量

1.3.3商业环境背景下的质量

1.4软件工程涉及的人员

1.5系统的方法

1.5.1系统的要素

1.5.2相互联系的系统

1.6工程的方法

1.6.1盖房子

1.6.2构建系统

1.7开发团队的成员

1.8软件工程发生了多大的变化

1.8.1变化的本质

1.8.2软件工程的Wasserman规范

1.9信息系统的例子

1.10实时系统的例子

1.11本章对单个开发人员的意义

1.12本章对开发团队的意义

1.13本章对研究人员的意义

1.14学期项目

1.15 主要参考文献

1.16练习

第2章 过程和生命周期的建模

2.1过程的含义

2.2软件过程模型

2.2.1瀑布模型

2.2.2 V模型

2.2.3原型化模型

2.2.4可操作规格说明

2.2.5可转换模型

2.2.6阶段化开发:增量和迭代

2.2.7螺旋模型

2.2.8敏捷方法

2.3过程建模工具和技术

2.3.1静态建模:Lai表示法

2.3.2动态建模:系统动力学

2.4实际的过程建模

2.4.1 Marvel的案例研究

2.4.2过程建模工具和技术应该具有的特性

2.5信息系统的例子

2.6实时系统的例子

2.7本章对单个开发人员的意义

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.3工作量估算

3.3.1专家判判断

3.3.2算法方法

3.3.3机器学习方法

3.3.4找出适合具体情形的模型

3.4风险管理

3.4.1什么是风险

3.4.2风险管理活动

3.5项目计划

3.6过程模型和项目管理

3.6.1注册管理

3.6.2责任建模

3.6.3紧密结合里程碑

3.7信息系统的例子

3.8实时系统的例子

3.9本章对单个开发人员的意义

3.10本章对开发团队的意义

3.11本章对研究人员的意义

3.12学期项目

3.13主要参考文献

3.14练习

第4章 获取需求

4.1需求过程

4.2需求引发

4.3需求的类型

4.3.1解决冲突

4.3.2两种需求文档

4.4需求的特性

4.5建模表示法

4.5.1实体-联系图

4.5.2例子:UML类图

4.5.3事件踪迹

4.5.4例子:消息时序图

4.5.5状态机

4.5.6例子:UML状态图

4.5.7例子:Petri网

4.5.8数据流图

4.5.9例子:用例

4.5.10函数和关系

4.5.11例子:判定表

4.5.12例子:Pamas表

4.5.13逻辑

4.5.14例子:对象约束语言(OCL)

4.5.15例子:Z

4.5.16代数规格说明

4.5.17例子:SDL数据

4.6需求和规格说明语言

4.6.1统一建模语言(UML)

4.6.2规格说明和描述语言(SDL)

4.6.3软件成本降低(SCR)

4.6.4需求表示法的其他特征

4.7原型化需求

4.8需求文档

4.8.1需求定义

4.8.2需求规格说明

4.8.3过程管理和需求的可跟踪性

4.9确认和验证

4.9.1需求确认

4.9.2验证

4.10测量需求

4.11选择规格说明技术

4.12信息系统的例子

4.13实时系统的例子

4.14本章对单个开发人员的意义

4.15本章对开发团队的意义

4.16本章对研究人员的意义

4.17学期项目

4.17.1前提和假设

4.17.2功能的高层描述

4.17.3功能需求

4.17.4数据约束

4.17.5设计和接口约束

4.17.6质量需求

4.18主要参考文献

4.19练习

第5章 设计体系结构

5.1设计过程

5.1.1设计是一种创造性过程

5.1.2设计过程模型

5.2体系结构建模

5.3分解和视图

5.4体系结构风格和策略

5.4.1管道和过滤器

5.4.2客户-服务器

5.4.3对等网络

5.4.4发布-订阅

5.4.5信息库

5.4.6分层

5.4.7组合体系结构风格

5.5满足质量属性

5.5.1可修改性

5.5.2性能

5.5.3安全性

5.5.4可靠性

5.5.5健壮性

5.5.6易使用性

5.5.7商业目标

5.6协作设计

5.7体系结构的评估和改进

5.7.1测量设计质量

5.7.2故障树分析

5.7.3安全性分析

5.7.4权衡分析

5.7.5成本效益分析

5.7.6原型化

5.8文档化软件体系结构

5.8.1视图间的映射

5.8.2文档化设计合理性

5.9体系结构设计评审

5.9.1确认

5.9.2验证

5.10软件产品线

5.10.1战略范围

5.10.2产品线体系结构的优势

5.10.3产品线的演化

5.11信息系统的例子

5.12实时系统的例子

5.13本章对单个开发人员的意义

5.14本章对开发团队的意义

5.15本章对研究人员的意义

5.16学期项目

5.17主要参考文献

5.18练习

第6章 设计模块

6.1设计方法

6.2设计原则

6.2.1模块化

6.2.2接口

6.2.3信息隐藏

6.2.4增量式开发

6.2.5抽象

6.2.6 通用性

6.3面向对象的设计

6.3.1术语

6.3.2继承与对象组合

6.3.3可替换性

6.3.4德米特法则

6.3.5依赖倒置

6.4在UML中体现面向对象设计

6.4.1过程中的UML

6.4.2 UML类图

6.4.3其他UML图

6.5面向对象设计模式

6.5.1模板方法模式

6.5.2工厂方法模式

6.5.3策略模式

6.5.4装饰者模式

6.5.5观察者模式

6.5.6组合模式

6.5.7访问者模式

6.6设计中其他方面的考虑

6.6.1数据管理

6.6.2异常处理

6.6.3用户界面设计

6.6.4框架

6.7面向对象度量

6.7.1面向对象系统规模的度量

6.7.2面向对象系统设计质量的度量

6.7.3在何处进行面向对象测量

6.8设计文档

6.9信息系统的例子

6.10实时系统的例子

6.11本章对单个开发人员的意义

6.12本章对开发团队的意义

6.13本章对研究人员的意义

6.14学期项目

6.15 主要参考文献

6.16练习

第7章 编写程序

7.1编程标准和过程

7.1.1对单个开发人员的标准

7.1.2对其他开发人员的标准

7.1.3设计和实现的匹配

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.6实时系统的例子

7.7本章对单个开发人员的意义

7.8本章对开发团队的意义

7.9本章对研究人员的意义

7.10学期项目

7.11主要参考文献

7.12练习

第8章 测试程序

8.1软件故障和失效

8.1.1故障的类型

8.1.2正交缺陷分类

8.2测试的相关问题

8.2.1测试的组织

8.2.2对测试的态度

8.2.3谁执行测试

8.2.4测试对象的视图

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.4.4三明治集成

8.4.5集成策略的比较

8.5测试面向对象系统

8.5.1代码测试

8.5.2面向对象测试和传统测试之间的区别

8.6测试计划

8.6.1计划的目的

8.6.2计划的内容

8.7自动测试工具

8.7.1代码分析工具

8.7.2测试执行工具

8.7.3测试用例生成器

8.8什么时候停止测试

8.8.1故障播种

8.8.2软件中的可信度

8.8.3其他的停止测试的标准

8.8.4识别易出故障的代码

8.9信息系统的例子

8.10实时系统的例子

8.11本章对单个开发人员的意义

8.12本章对开发团队的意义

8.13本章对研究人员的意义

8.14学期项目

8.15主要参考文献

8.16练习

第9章 测试系统

9.1系统测试的原则

9.1.1软件故障根源

9.1.2系统测试过程

9.1.3配置管理

9.1.4测试小组

9.2功能测试

9.2.1目的与职责

9.2.2因果图

9.3性能测试

9.3.1目的和职责

9.3.2性能测试的类型

9.4可靠性、可用性以及可维护性

9.4.1定义

9.4.2失效数据

9.4.3测量可靠性、可用性和可维护性

9.4.4可靠性稳定性和可靠性增长

9.4.5可靠性预测

9.4.6操作环境的重要性

9.5验收测试

9.5.1目的和职责

9.5.2验收测试的种类

9.5.3验收测试的结果

9.6安装测试

9.7自动化系统测试

9.8测试文档

9.8.1测试计划

9.8.2 测试规格说明和评估

9.8.3 测试描述

9.8.4 测试分析报告

9.8.5问题报告表

9.9测试安全攸关的系统

9.9.1设计多样性

9.9.2软件安全性案例

9.9.3净室方法

9.10信息系统的例子

9.11实时系统的例子

9.12本章对单个开发人员的意义

9.13本章对开发团队的意义

9.14本章对研究人员的意义

9.15 学期项目

9.16主要参考文献

9.17练习

第10章 交付系统

10.1培训

10.1.1培训的种类

10.1.2培训助手

10.1.3培训的指导原则

10.2文档

10.2.1文档的种类

10.2.2用户帮助和疑难解答

10.3信息系统的例子

10.4实时系统的例子

10.5本章对单个开发人员的意义

10.6本章对开发团队的意义

10.7本章对研究人员的意义

10.8学期项目

10.9主要参考文献

10.10练习

第11章 维护系统

11.1变化的系统

11.1.1系统的类型

11.1.2在系统生命周期过程中发生的变化

11.1.3系统生命周期跨度

11.2维护的本质

11.3维护问题

11.3.1人员问题

11.3.2技术问题

11.3.3必要的妥协

11.3.4维护成本

11.4测量维护特性

11.4.1可维护性的外部视图

11.4.2影响可维护性的内部属性

11.4.3其他的产品测量

11.5维护技术和工具

11.5.1配置管理

11.5.2影响分析

11.5.3自动化维护工具

11.6软件再生

11.6.1文档重构

11.6.2重组

11.6.3逆向工程

11.6.4再工程

11.6.5软件再生的前景

11.7信息系统的例子

11.8实时系统的例子

11.9本章对单个开发人员的意义

11.10本章对开发团队的意义

11.11本章对研究人员的意义

11.12学期项目

11.13主要参考文献

11.14练习

第12章 评估产品、过程和资源

12.1评估的方法

12.1.1特征分析

12.1.2调查

12.1.3案例研究

12.1.4正式试验

12.1.5准备评估

12.2选择评估技术

12.2.1关键选择因素

12.2.2相信什么

12.3评价与预测

12.3.1确认预测系统

12.3.2确认测量

12.3.3对确认的紧迫需求

12.4评估产品

12.4.1产品质量模型

12.4.2建立基线和设定目标

12.4.3软件可复用性

12.5评估过程

12.5.1事后分析

12.5.2过程成熟度模型

12.6评估资源

12.6.1人员成熟度模型

12.6.2投资回报

12.7信息系统的例子

12.8实时系统的例子

12.9本章对单个开发人员的意义

12.10本章对开发团队的意义

12.11本章对研究人员的意义

12.12学期项目

12.13主要参考文献

12.14练习

第13章 改进预测、产品、过程和资源

13.1改进预测

13.1.1预测的精确性

13.1.2处理偏误:u曲线

13.1.3处理噪声:prequential似然度

13.1.4重新校准预测

13.2改进产品

13.2.1审查

13.2.2复用

13.3改进过程

13.3.1过程和能力成熟度

13.3.2维护

13.3.3净室方法

13.4改进资源

13.4.1工作环境

13.4.2成本和进度的权衡

13.5总体改进指导原则

13.6信息系统的例子

13.7实时系统的例子

13.8本章对单个开发人员的意义

13.9本章对开发团队的意义

13.10本章对研究人员的意义

13.11学期项目

13.12主要参考文献

13.13练习

第14章 软件工程的未来

14.1已经取得的进展

14.1.1 Wasserman的获得成熟度的措施

14.1.2当前要做的工作

14.2技术转移

14.2.1现在我们怎样做出技术转移的决策

14.2.2在技术决策中使用证据

14.2.3支持技术决策的证据

14.2.4对证据的进一步讨论

14.2.5技术转移的新模型

14.2.6改进技术转移的下一步

14.3软件工程中的决策

14.3.1大量的决策

14.3.2群体决策

14.3.3我们实际上如何决策

14.3.4群体实际上如何决策

14.3.5一个适度的观察研究

14.3.6获得的经验教训

14.4软件工程的职业化:执照发放、认证和伦理

14.4.1将重点放在人员上

14.4.2软件工程教育

14.4.3软件工程知识体系

14.4.4给软件工程师颁发执照

14.4.5认证

14.4.6伦理守则

14.4.7职业发展

14.4.8研究和实践的进一步发展

14.5学期项目

14.6主要参考文献

14.7练习

参考文献注解

索引


书查询(www.shuchaxun.com)本网页唯一编码:
2c1ebac7798023a42536e551491ce1cc#fb95ff7aae3a1694a9884dc4e7ac6f24#342224610#软件工程_theory and practice.第2版_13499672.uvz