《软件工程第4版修订版莎丽·劳伦斯·弗里格(Shari,L》[64M]百度网盘|pdf下载|亲测有效
《软件工程第4版修订版莎丽·劳伦斯·弗里格(Shari,L》[64M]百度网盘|pdf下载|亲测有效

软件工程第4版修订版莎丽·劳伦斯·弗里格(Shari,L pdf下载

出版社 辽海出版社图书专营店
出版年 2019-02
页数 390页
装帧 精装
评分 9.3(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供软件工程第4版修订版莎丽·劳伦斯·弗里格(Shari,L电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

   图书基本信息
图书名称   软件工程 第4版 修订版(异步图书出品)
作者   莎丽·劳伦斯·弗里格(Shari,Lawrence,Pfle
定价   89元
出版社   人民邮电出版社
ISBN   9787115498076
出版日期   2019-02-01
字数   1052000
页码   550
版次   
装帧   平装
开本   16开
商品重量   

   内容提要
本书是软件工程领域的经典著作,国际上众多名校均采用本书作为教材。全书共分为14章,分3个部分介绍主要内容。部分解释为什么软件工程知识对实践者和研究者同样重要,还讨论了理解过程模型问题的必要性以及敏捷方法和精细地进行项目计划的必要性;第二部分论述开发和维护的主要步骤;第三部分主要讲述软件评估和改进。 n
本书适合作为计算机相关专业软件工程课程的本科教材,也适用于介绍软件工程的概念与实践的研究生课程,期望进一步学习该领域相关知识的专业人员也可以阅读本书。

   目录
第 1章 软件工程概述 1n
1.1 什么是软件工程 1n
1.1.1 问题求解 2n
1.1.2 软件工程师的角色是什么 3n
1.2 软件工程取得了哪些进展 4n
1.3 什么是好的软件 6n
1.3.1 产品的质量 7n
1.3.2 过程的质量 8n
1.3.3 商业环境背景下的质量 8n
1.4 软件工程涉及的人员 10n
1.5 系统的方法 11n
1.5.1 系统的要素 11n
1.5.2 相互联系的系统 13n
1.6 工程的方法 14n
1.6.1 盖房子 15n
1.6.2 构建系统 16n
1.7 开发团队的成员 17n
1.8 软件工程发生了多大的变化 19n
1.8.1 变化的本质 19n
1.8.2 软件工程的Wasserman规范 20n
1.9 信息系统的例子 25n
1.10 实时系统的例子 26n
1.11 本章对单个开发人员的意义 27n
1.12 本章对开发团队的意义 28n
1.13 本章对研究人员的意义 28n
1.14 学期项目 28n
1.15 主要参考文献 29n
1.16 练习 30n
第 2章 过程和生命周期的建模 32n
2.1 过程的含义 32n
2.2 软件过程模型 34n
2.2.1 瀑布模型 34n
2.2.2 V模型 37n
2.2.3 原型化模型 37n
2.2.4 可操作规格说明 38n
2.2.5 可转换模型 38n
2.2.6 阶段化开发:增量和迭代 39n
2.2.7 螺旋模型 40n
2.2.8 敏捷方法 41n
2.3 过程建模工具和技术 44n
2.3.1 静态建模:Lai表示法 45n
2.3.2 动态建模:系统动力学 47n
2.4 实际的过程建模 49n
2.4.1 Marvel的案例研究 49n
2.4.2 过程建模工具和技术应该具有的特性 51n
2.5 信息系统的例子 51n
2.6 实时系统的例子 53n
2.7 本章对单个开发人员的意义 54n
2.8 本章对开发团队的意义 54n
2.9 本章对研究人员的意义 54n
2.10 学期项目 54n
2.11 主要参考文献 56n
2.12 练习 57n
第3章 计划和管理项目 58n
3.1 跟踪项目进展 58n
3.1.1 工作分解和活动图 60n
3.1.2 估算完成时间 61n
3.1.3 跟踪进展的工具 65n
3.2 项目人员 67n
3.2.1 人员角色和特性 67n
3.2.2 工作风格 70n
3.2.3 项目组织 71n
3.3 工作量估算 73n
3.3.1 专家判断 75n
3.3.2 算法方法 77n
3.3.3 机器学习方法 81n
3.3.4 找出适合具体情形的模型 83n
3.4 风险管理 84n
3.4.1 什么是风险 84n
3.4.2 风险管理活动 85n
3.5 项目计划 87n
3.6 过程模型和项目管理 88n
3.6.1 注册管理 88n
3.6.2 责任建模 90n
3.6.3 紧密结合里程碑 92n
3.7 信息系统的例子 94n
3.8 实时系统的例子 95n
3.9 本章对单个开发人员的意义 96n
3.10 本章对开发团队的意义 96n
3.11 本章对研究人员的意义 96n
3.12 学期项目 96n
3.13 主要参考文献 97n
3.14 练习 97n
第4章 获取需求 100n
4.1 需求过程 101n
4.2 需求引发 102n
4.3 需求的类型 105n
4.3.1 解决冲突 107n
4.3.2 两种需求文档 108n
4.4 需求的特性 109n
4.5 建模表示法 110n
4.5.1 实体-联系图 111n
4.5.2 例子:UML类图 112n
4.5.3 事件踪迹 114n
4.5.4 例子:消息时序图 114n
4.5.5 状态机 115n
4.5.6 例子:UML状态图 116n
4.5.7 例子:Petri网 119n
4.5.8 数据流图 121n
4.5.9 例子:用例 122n
4.5.10 函数和关系 123n
4.5.11 例子:判定表 124n
4.5.12 例子:Parnas表 124n
4.5.13 逻辑 125n
4.5.14 例子:对象约束语言(OCL) 126n
4.5.15 例子:Z 127n
4.5.16 代数规格说明 129n
4.5.17 例子:SDL数据 130n
4.6 需求和规格说明语言 132n
4.6.1 统一建模语言(UML) 132n
4.6.2 规格说明和描述语言(SDL) 133n
4.6.3 软件成本降低(SCR) 133n
4.6.4 需求表示法的其他特征 134n
4.7 原型化需求 134n
4.8 需求文档 135n
4.8.1 需求定义 136n
4.8.2 需求规格说明 137n
4.8.3 过程管理和需求的可跟踪性 138n
4.9 确认和验证 138n
4.9.1 需求确认 139n
4.9.2 验证 141n
4.10 测量需求 142n
4.11 选择规格说明技术 143n
4.12 信息系统的例子 145n
4.13 实时系统的例子 147n
4.14 本章对单个开发人员的意义 149n
4.15 本章对开发团队的意义 149n
4.16 本章对研究人员的意义 149n
4.17 学期项目 150n
4.17.1 前提和假设 150n
4.17.2 功能的高层描述 150n
4.17.3 功能需求 150n
4.17.4 数据约束 151n
4.17.5 设计和接口约束 152n
4.17.6 质量需求 152n
4.18 主要参考文献 152n
4.19 练习 153n
第5章 设计体系结构 156n
5.1 设计过程 156n
5.1.1 设计是一种创造性过程 157n
5.1.2 设计过程模型 160n
5.2 体系结构建模 161n
5.3 分解和视图 162n
5.4 体系结构风格和策略 165n
5.4.1 管道和过滤器 165n
5.4.2 客户—服务器 166n
5.4.3 对等网络 167n
5.4.4 发布—订阅 168n
5.4.5 信息库 168n
5.4.6 分层 169n
5.4.7 组合体系结构风格 170n
5.5 满足质量属性 171n
5.5.1 可修改性 171n
5.5.2 性能 173n
5.5.3 安全性 174n
5.5.4 可靠性 175n
5.5.5 健壮性 177n
5.5.6 易使用性 178n
5.5.7 商业目标 178n
5.6 协作设计 179n
5.7 体系结构的评估和改进 180n
5.7.1 测量设计质量 181n
5.7.2 故障树分析 181n
5.7.3 安全性分析 183n
5.7.4 权衡分析 184n
5.7.5 成本效益分析 188n
5.7.6 原型化 190n
5.8 文档化软件体系结构 191n
5.8.1 视图间的映射 193n
5.8.2 文档化设计合理性 193n
5.9 体系结构设计评审 193n
5.9.1 确认 194n
5.9.2 验证 194n
5.10 软件产品线 195n
5.10.1 战略范围 197n
5.10.2 产品线体系结构的优势 197n
5.10.3 产品线的演化 198n
5.11 信息系统的例子 198n
5.12 实时系统的例子 200n
5.13 本章对单个开发人员的意义 201n
5.14 本章对开发团队的意义 201n
5.15 本章对研究人员的意义 202n
5.16 学期项目 202n
5.17 主要参考文献 203n
5.18 练习 203n
第6章 设计模块 205n
6.1 设计方法 205n
6.2 设计原则 207n
6.2.1 模块化 207n
6.2.2 接口 212n
6.2.3 信息隐藏 213n
6.2.4 增量式开发 214n
6.2.5 抽象 215n
6.2.6 通用性 216n
6.3 面向对象的设计 218n
6.3.1 术语 218n
6.3.2 继承与对象组合 221n
6.3.3 可替换性 222n
6.3.4 德米特法则 223n
6.3.5 依赖倒置 224n
6.4 在UML中体现面向对象设计 225n
6.4.1 过程中的UML 225n
6.4.2 UML类图 227n
6.4.3 其他UML图 232n
6.5 面向对象设计模式 240n
6.5.1 模板方法模式 241n
6.5.2 工厂方法模式 241n
6.5.3 策略模式 242n
6.5.4 装饰者模式 242n
6.5.5 观察者模式 244n
6.5.6 组合模式 244n
6.5.7 访问者模式 245n
6.6 设计中其他方面的考虑 247n
6.6.1 数据管理 247n
6.6.2 异常处理 247n
6.6.3 用户界面设计 249n
6.6.4 框架 250n
6.7 面向对象度量 250n
6.7.1 面向对象系统规模的度量 251n
6.7.2 面向对象系统设计质量的度量 252n
6.7.3 在何处进行面向对象测量 258n
6.8 设计文档 259n
6.9 信息系统的例子 261n
6.10 实时系统的例子 262n
6.11 本章对单个开发人员的意义 263n
6.12 本章对开发团队的意义 263n
6.13 本章对研究人员的意义 263n
6.14 学期项目 263n
6.15 主要参考文献 264n
6.16 练习 264n
第7章 编写程序 267n
7.1 编程标准和过程 267n
7.1.1 对单个开发人员的标准 268n
7.1.2 对其他开发人员的标准 268n
7.1.3 设计和实现的匹配 269n
7.2 编程的指导原则 269n
7.2.1 控制结构 269n
7.2.2 算法 270n
7.2.3 数据结构 271n
7.2.4 通用性指导原则 273n
7.3 文档 276n
7.3.1 内部文档 276n
7.3.2 外部文档 279n
7.4 编程过程 280n
7.4.1 将编程作为问题求解 280n
7.4.2 极限编程 281n
7.4.3 结对编程 281n
7.4.4 编程向何处去 282n
7.5 信息系统的例子 282n
7.6 实时系统的例子 283n
7.7 本章对单个开发人员的意义 284n
7.8 本章对开发团队的意义 284n
7.9 本章对研究人员的意义 284n
7.10 学期项目 285n
7.11 主要参考文献 285n
7.12 练习 285n
第8章 测试程序 287n
8.1 软件故障和失效 287n
8.1.1 故障的类型 288n
8.1.2 正交缺陷分类 289n
8.2 测试的相关问题 291n
8.2.1 测试的组织 291n
8.2.2 对测试的态度 292n
8.2.3 谁执行测试 293n
8.2.4 测试对象的视图 293n
8.3 单元测试 295n
8.3.1 检查代码 295n
8.3.2 证明代码正确性 297n
8.3.3 测试程序构件 301n
8.3.4 技术比较 304n
8.4 集成测试 305n
8.4.1 自底向上集成 305n
8.4.2 自顶向下集成 306n
8.4.3 一次性集成 308n
8.4.4 三明治集成 308n
8.4.5 集成策略的比较 309n
8.5 测试面向对象系统 311n
8.5.1 代码测试 311n
8.5.2 面向对象测试和传统测试之间的区别 311n
8.6 测试计划 313n
8.6.1 计划的目的 313n
8.6.2 计划的内容 313n
8.7 自动测试工具 314n
8.7.1 代码分析工具 314n
8.7.2 测试执行工具 315n
8.7.3 测试用例生成器 316n
8.8 什么时候停止测试 316n
8.8.1 故障播种 317n
8.8.2 软件中的可信度 318n
8.8.3 其他的停止测试的标准 319n
8.8.4 识别易出故障的代码 319n
8.9 信息系统的例子 320n
8.10 实时系统的例子 321n
8.11 本章对单个开发人员的意义 321n
8.12 本章对开发团队的意义 322n
8.13 本章对研究人员的意义 322n
8.14 学期项目 322n
8.15 主要参考文献 322n
8.16 练习 323n
第9章 测试系统 325n
9.1 系统测试的原则 325n
9.1.1 软件故障根源 325n
9.1.2 系统测试过程 327n
9.1.3 配置管理 329n
9.1.4 测试小组 333n
9.2 功能测试 334n
9.2.1 目的与职责 334n
9.2.2 因果图 335n
9.3 性能测试 338n
9.3.1 目的和职责 338n
9.3.2 性能测试的类型 338n
9.4 可靠性、可用性以及可维护性 339n
9.4.1 定义 339n
9.4.2 失效数据 340n
9.4.3 测量可靠性、可用性和可维护性 341n
9.4.4 可靠性稳定性和可靠性增长 342n
9.4.5 可靠性预测 343n
9.4.6 操作环境的重要性 345n
9.5 验收测试 346n
9.5.1 目的和职责 346n
9.5.2 验收测试的种类 346n
9.5.3 验收测试的结果 347n
9.6 安装测试 348n
9.7 自动化系统测试 348n
9.8 测试文档 349n
9.8.1 测试计划 349n
9.8.2 测试规格说明和评估 351n
9.8.3 测试描述 353n
9.8.4 测试分析报告 355n
9.8.5 问题报告表 355n
9.9 测试安全攸关的系统 357n
9.9.1 设计多样性 358n
9.9.2 软件安全性案例 359n
9.9.3 净室方法 361n
9.10 信息系统的例子 364n
9.11 实时系统的例子 366n
9.12 本章对单个开发人员的意义 367n
9.13 本章对开发团队的意义 367n
9.14 本章对研究人员的意义 367n
9.15 学期项目 367n
9.16 主要参考文献 368n
9.17 练习 368n
第 10章 交付系统 372n
10.1 培训 372n
10.1.1 培训的种类 373n
10.1.2 培训助手 374n
10.1.3 培训的指导原则 375n
10.2 文档 375n
10.2.1 文档的种类 375n
10.2.2 用户帮助和疑难解答 379n
10.3 信息系统的例子 380n
10.4 实时系统的例子 381n
10.5 本章对单个开发人员的意义 381n
10.6 本章对开发团队的意义 381n
10.7 本章对研究人员的意义 382n
10.8 学期项目 382n
10.9 主要参考文献 382n
10.10 练习 382n
第 11章 维护系统 384n
11.1 变化的系统 384n
11.1.1 系统的类型 384n
11.1.2 在系统生命周期过程中发生的变化 387n
11.1.3 系统生命周期跨度 388n
11.2 维护的本质 389n
11.3 维护问题 392n
11.3.1 人员问题 392n
11.3.2 技术问题 393n
11.3.3 必要的妥协 394n
11.3.4 维护成本 395n
11.4 测量维护特性 397n
11.4.1 可维护性的外部视图 398n
11.4.2 影响可维护性的内部属性 398n
11.4.3 其他的产品测量 400n
11.5 维护技术和工具 401n
11.5.1 配置管理 401n
11.5.2 影响分析 403n
11.5.3 自动化维护工具 406n
11.6 软件再生 407n
11.6.1 文档重构 408n
11.6.2 重组 409n
11.6.3 逆向工程 410n
11.6.4 再工程 410n
11.6.5 软件再生的前景 411n
11.7 信息系统的例子 412n
11.8 实时系统的例子 412n
11.9 本章对单个开发人员的意义 413n
11.10 本章对开发团队的意义 413n
11.11 本章对研究人员的意义 414n
11.12 学期项目 414n
11.13 主要参考文献 414n
11.14 练习 414n
第 12章 评估产品、过程和资源 416n
12.1 评估的方法 416n
12.1.1 特征分析 416n
12.1.2 调查 417n
12.1.3 案例研究 417n
12.1.4 正式试验 418n
12.1.5 准备评估 418n
12.2 选择评估技术 419n
12.2.1 关键选择因素 420n
12.2.2 相信什么 420n
12.3 评价与预测 423n
12.3.1 确认预测系统 423n
12.3.2 确认测量 425n
12.3.3 对确认的紧迫需求 425n
12.4 评估产品 426n
12.4.1 产品质量模型 426n
12.4.2 建立基线和设定目标 430n
12.4.3 软件可复用性 431n
12.5 评估过程 437n
12.5.1 事后分析 437n
12.5.2 过程成熟度模型 441n
12.6 评估资源 448n
12.6.1 人员成熟度模型 448n
12.6.2 投资回报 450n
12.7 信息系统的例子 451n
12.8 实时系统的例子 452n
12.9 本章对单个开发人员的意义 452n
12.10 本章对开发团队的意义 452n
12.11 本章对研究人员的意义 453n
12.12 学期项目 453n
12.13 主要参考文献 453n
12.14 练习 454n
第 13章 改进预测、产品、过程和资源 455n
13.1 改进预测 455n
13.1.1 预测的性 455n
13.1.2 处理偏误:u曲线 456n
13.1.3 处理噪声:prequential似然度 458n
13.1.4 重新校准预测 459n
13.2 改进产品 462n
13.2.1 审查 462n
13.2.2 复用 464n
13.3 改进过程 465n
13.3.1 过程和能力成熟度 465n
13.3.2 维护 467n
13.3.3 净室方法 468n
13.4 改进资源 470n
13.4.1 工作环境 470n
13.4.2 成本和进度的权衡 471n
13.5 总体改进指导原则 472n
13.6 信息系统的例子 473n
13.7 实时系统的例子 473n
13.8 本章对单个开发人员的意义 473n
13.9 本章对开发团队的意义 474n
13.10 本章对研究人员的意义 474n
13.11 学期项目 474n
13.12 主要参考文献 475n
13.13 练习 475n
第 14章 软件工程的未来 476n
14.1 已经取得的进展 476n
14.1.1 Wasserman的获得成熟度的措施 476n
14.1.2 当前要做的工作 478n
14.2 技术转移 478n
14.2.1 现在我们怎样做出技术转移的决策 479n
14.2.2 在技术决策中使用证据 479n
14.2.3 支持技术决策的证据 480n
14.2.4 对证据的进一步讨论 481n
14.2.5 技术转移的新模型 483n
14.2.6 改进技术转移的下一步 483n
14.3 软件工程中的决策 484n
14.3.1 大量的决策 484n
14.3.2 群体决策 486n
14.3.3 我们实际上如何决策 486n
14.3.4 群体实际上如何决策 488n
14.3.5 一个适度的观察研究 489n
14.3.6 获得的经验教训 492n
14.4 软件工程的职业化:执照发放、认证和伦理 492n
14.4.1 将重点放在人员上 493n
14.4.2 软件工程教育 493n
14.4.3 软件工程知识体系 495n
14.4.4 给软件工程师颁发执照 496n
14.4.5 认证 500n
14.4.6 伦理守则 502n
14.4.7 职业发展 503n
14.4.8 研究和实践的进一步发展 504n
14.5 学期项目 505n
14.6 主要参考文献 505n
14.7 练习 505n
参考文献注解 507n
索引 536

   作者介绍
Shari Lawrence Pfleeger 世界范围内享有盛誉的软件工程学者,在软件开发领域有着数十年的丰富经验,主要从事软件工程和信息技术的教学、咨询和研究。现任美国智库兰德公司的研究员。她曾经执教于马里兰大学和伦敦城市大学,并担任IEEE Software和IEEE Transactions oSoftware Engineering等业界期刊副主编多年。除本书外,她与人合作撰写的Security iComputing也是广泛采用的主流教材。 n

Joanne M. Atlee 世界知名的软件工程学者,以软件需求和软件工程教育方面的杰出贡献而闻名。她是IEEE计算机学会和ACM联合发起的软件工程课程项目指导委员会的成员,也是国际信息处理联合会(IFIP)软件需求工程工作组成员。她是滑铁卢大学副教授,创立了该校的软件工程学位项目并任项目主任。

   编辑推荐
1.软件工程课程的经典教材,国际上众多名校均采用本书。 n
2.配有专门的配套网站,包含教学PPT和习题答案等丰富的教学资源。n

本书是软件工程领域公认的经典名著,也是业界常引用的主要文献之一,被外众多名校广泛采用。与其他软件工程著作不同,本书注重从实践出发选择和安排素材,同时又从理论上进行了全面深入的探讨。对诸如复用、风险管理和质量工程、测度和度量等理论性比较强的主题,没有专设章节,而是融合在相关的各种软件工程活动中讲述。 n
   n
本书理论阐述循序渐进,善于揭示各知识点之间的内在联系,并通过大量实例和工程实践深化和丰富理论知识;选材与时俱进,反映了业界动态,尤其是建模和敏捷方法方面的重要进展。两个贯穿全书的研究案例——信息系统案例和实时系统案例,以及书中的学期项目,引导读者很好地将概念有机地应用到实际项目中去。