书籍详情

软件工程(原书第8版)

软件工程(原书第8版)

作者:萨默维尔

出版社:机械工业出版社

出版时间:2007-04-01

ISBN:9787111204596

定价:¥55.00

购买这本书可以去
内容简介
  本书是著名软件工程学家Ian Sommerville系统介绍软件工程理论的经典教材,自1982年初版以来,随着软件工程学科的发展不断更新,培养了一代又一代软件工程人才,对学科本身也产生了重大影响。本版重在论述在开发大型复杂软件系统时可以采用的一些实用方法。全书重新组织为7篇,第1~6篇涵盖了整个软件开发过程各个阶段的内容,从初始的需求导出到设计和开发,再到软件项目管理。最后一篇论述了一些重要的软件工程的新技术。.本书既有理论高度又有具体操作,非常适合作为高等院校本科生或研究生的教材,对软件工程的管理者和参与者而言亦是必不可少的参考书。本书是系统介绍软件工程理论的经典教材,自1982年初版以来,随着软件工程学科的发展不断更新,培养了一代又一代软件工程人才,对学科本身也产生了重大影响。全书共分7篇,涵盖了整个软件开发过 程各个阶段的内容,从初始的需求导出到设计和开发,再到软件项目管理。本书适合作为本科生和研究 生的教材,同时也可供软件工程人员参考。..本书特点·包括了软件工程理论与实践的最新进展,并讨论了系统工程的相关主题。·详述了敏捷方法与复用的相关知识。·涵盖了系统安全性、保险性与可靠性,给出了在开发关键系统时的最佳实践。·通过一个信息系统和一个控制系统的案例分析,阐述了软件生命周期的步骤。与以前的版本相比,第8版更新了部分内容,并增加了有关最新主题的三章·信息安全工程,介绍了有关安全软件的描述和设计中需要考虑的诸多问题。·面向服务的软件工程,解释了如何将可复用的Web服务用于开发新的应用。·面向方面的软件开发,描述了基于关注点分离的新技术。该书英文原版设有专门的网站 (http://www.pearsoned.co.uk/sommerville),提供了对该书相关资料的链接,主要包括PowerPoint和PDF两种形式的讲稿、在线测验题、案例分析、进一步阅读的建议等。...
作者简介
  本书提供作译者介绍Ian Sommerville英国著名软件工程专家,曾任教于兰卡斯特大学,现为圣安德鲁斯大学软件工程学教授。他在软件工程的教学和科研方面有20多年的经验。他是IEEE CS组织编撰“软件工程知识体系”(SWEBOK) 的专家委员会成员之一。他的研究领域包括计算机系统工程、需求工程、系统可靠性以及软件进化。...
目录
出版者的话  
专家指导委员会  
前言  
第1篇 概 览  
第1章 概述 2  
1.1 软件工程中的常见问题 3  
1.1.1 什么是软件 3  
1.1.2 什么是软件工程 4  
1.1.3 软件工程和计算机科学的区别 4  
1.1.4 软件工程和系统工程有何区别 4  
1.1.5 什么是软件过程 4  
1.1.6 什么是软件过程模型 5  
1.1.7 什么是软件工程的成本 5  
1.1.8 什么是软件工程方法 7  
1.1.9 什么是CASE 7  
1.1.10 什么是优良软件的属性 7  
1.1.11 软件工程所面临的主要问题 8  
1.2 职业和道德上的责任 8  
要点 10  
进一步的阅读资料 10  
练习 11  
第2章 社会-技术系统 12  
2.1 系统总体特性 13  
2.2 系统工程 15  
2.2.1 系统需求定义 16  
2.2.2 系统设计 16  
2.2.3 系统建模 18  
2.2.4 子系统开发 19  
2.2.5 系统集成 20  
2.2.6 系统进化 20  
2.2.7 系统退役 20  
2.3 机构. 人员和计算机系统 21  
2.4 遗留系统 23  
要点 24  
进一步的阅读资料 25  
练习 25  
第3章 要求极高的系统 26  
3.1 一个简单的安全性要求极高的系统 27  
3.2 系统可依赖性 29  
3.3 可用性和可靠性 30  
3.4 安全性 33  
3.5 信息安全性 35  
要点 36  
进一步的阅读资料 37  
练习 37  
第4章 软件过程 38  
4.1 软件过程模型 39  
4.1.1 “瀑布”模型 39  
4.1.2 进化式开发 41  
4.1.3 基于组件的软件工程 42  
4.2 过程反复 43  
4.2.1 增量式开发 43  
4.2.2 螺旋式开发 44  
4.3 过程活动 45  
4.3.1 软件描述 45  
4.3.2 软件设计和实现 46  
4.3.3 软件有效性验证 48  
4.3.4 软件进化 50  
4.4 Rational统一过程 50  
4.5 计算机辅助软件工程 52  
要点 55  
进一步的阅读资料 55  
练习 55  
第5章 项目管理 57  
5.1 管理活动 58  
5.2 项目规划 59  
5.2.1 项目计划 60    
5.2.2 项目里程碑和可交付的文档 60  
5.3 项目调度 61  
5.4 风险管理 65  
5.4.1 风险识别 66  
5.4.2 风险分析 67  
5.4.3 风险规划 67  
5.4.4 风险监控 68  
要点 69  
进一步的阅读资料 69  
练习 69  
第2篇 需 求  
第6章 软件需求 72  
6.1 功能需求和非功能需求 73  
6.1.1 功能需求 73  
6.1.2 非功能需求 74  
6.1.3 领域需求 76  
6.2 用户需求 77  
6.3 系统需求 79  
6.4 接口描述 82  
6.5 软件需求文档 83  
要点 85  
进一步的阅读资料 85  
练习 85  
第7章 需求工程过程 87  
7.1 可行性研究 88  
7.2 需求导出和分析 89  
7.2.1 需求发现 91  
7.2.2 深入实际 96  
7.3 需求有效性验证 97  
7.4 需求管理 98  
7.4.1 持久的和易变的需求 98  
7.4.2 需求管理规划 99  
7.4.3 需求变更管理 100  
要点 101  
进一步的阅读资料    
练习 101  
第8章 系统模型    
8.1 上下文模型    
8.2 行为模型    
8.2.1 数据流模型    
8.2.2 状态机模型 106  
8.3 数据模型 109  
8.4 对象模型 110  
8.4.1 继承模型 111  
8.4.2 对象聚合 113  
8.4.3 对象行为建模 113  
8.5 结构化方法 114  
要点 115  
进一步的阅读资料 116  
练习    
第9章 要求极高的系统的描述    
9.1 风险驱动的描述    
9.1.1 风险识别 118  
9.1.2 风险分析和分类 119  
9.1.3 风险分解 120  
9.1.4 风险降低评估    
9.2 安全性描述 122  
9.3 信息安全性描述    
9.4 软件可靠性描述    
9.4.1 可靠性度量    
9.4.2 非功能性的可靠性需求    
要点 129  
进一步的阅读资料    
练习    
第10章 形式化描述 132  
10.1 软件过程中的形式化描述 133  
10.2 子系统接口描述 135  
10.3 行为描述 139  
要点 144  
进一步的阅读资料 144  
练习 144  
第3篇 设 计  
第11章 体系结构设计 148  
11.1 体系结构设计决策 150  
11.2 系统组成 151  
11.2.1 容器模型 151    
11.2.2 客户机/服务器模型 152  
11.2.3 分层模型 153  
11.3 模块化分解类型 154  
11.3.1 面向对象的分解 155  
11.3.2 面向功能的流水线操作 155  
11.4 控制类型 156  
11.4.1 集中式控制 157  
11.4.2 事件驱动的系统 158  
11.5 参考体系结构 159  
要点 161  
进一步的阅读资料 161  
练习 161  
第12章 分布式系统体系结构 163  
12.1 多处理器体系结构 164  
12.2 客户机/服务器体系结构 165  
12.3 分布式对象体系结构 168  
12.4 机构间分布式计算 172  
12.4.1 对等体系结构 173  
12.4.2 面向服务的系统体系结构 174  
要点 177  
进一步的阅读资料 177  
练习 177  
第13章 应用体系结构 179  
13.1 数据处理系统 180  
13.2 事务处理系统 182  
13.3 事件处理系统 186  
13.4 语言处理系统 188  
要点 189  
进一步的阅读资料 190  
练习 190  
第14章 面向对象的设计 191  
14.1 对象和对象类 192  
14.2 面向对象设计过程 196  
14.2.1 系统上下文和使用模型 197  
14.2.2 体系结构的设计 198  
14.2.3 对象识别 198  
14.2.4 设计模型 200  
14.2.5 对象接口描述 202  
14.3 设计进化 203  
要点 204  
进一步的阅读资料 204  
练习 205  
第15章 实时软件的设计 206  
15.1 系统设计 208  
15.2 实时操作系统 210  
15.3 监控系统 212  
15.4 数据采集系统 216  
要点 218  
进一步的阅读资料 219  
练习 219  
第16章 用户界面设计 221  
16.1 设计问题 223  
16.1.1 用户交互 224  
16.1.2 信息表示 225  
16.2 用户界面设计过程 230  
16.3 用户分析 230  
16.4 用户界面原型构造 233  
16.5 界面评估 234  
要点 235  
进一步的阅读资料 236  
练习 236  
第4篇 开 发  
第17章 快速软件开发 240  
17.1 敏捷方法 243  
17.2 极限编程 ..244  
17.2.1 极限编程中的测试 246  
17.2.2 结对编程 248  
17.3 快速应用开发 248  
17.4 软件原型构造 251  
要点 253  
进一步的阅读资料 253  
练习 254  
第18章 软件复用 255  
18.1 复用概览 257    
18.2 设计模式 258  
18.3 基于生成器的复用 260  
18.4 应用框架 262  
18.5 应用系统复用 263  
18.5.1 商业现成产品的复用 263  
18.5.2 软件产品线 265  
要点 268  
进一步的阅读资料 268  
练习 268  
第19章 基于组件的软件工程 270  
19.1 组件和组件模型 271  
19.1.1 组件模型 273  
19.1.2 面向复用的组件开发 275  
19.2 CBSE过程 276  
19.3 组件合成 278  
要点 282  
进一步的阅读资料 283  
练习 283  
第20章 要求极高的系统的开发 284  
20.1 可靠的过程 286  
20.2 可靠的编程 287  
20.2.1 保护的信息 287  
20.2.2 安全的编程 288  
20.2.3 异常处理 289  
20.3 容错 292  
20.3.1 缺陷检测和损害评估 292  
20.3.2 缺陷恢复和修补 296  
20.4 容错体系结构 297  
要点 299  
进一步的阅读资料 299  
练习 300  
第21章 软件进化 301  
21.1 程序进化的动态特性 302  
21.2 软件维护 303  
21.3 进化过程 307  
21.4 遗留系统的进化 310  
要点 313  
进一步的阅读材料 314  
练习 314  
第5篇 检验和有效性验证  
第22章 检验和有效性验证 316  
22.1 检验和有效性验证规划 318  
22.2 软件审查 320  
22.3 自动静态分析 323  
22.4 检验和形式化方法 325  
要点 328  
进一步的阅读资料 328  
练习 329  
第23章 软件测试 330  
23.1 系统测试 332  
23.1.1 集成测试 332  
23.1.2 发布测试 334  
23.1.3 性能测试 336  
23.2 组件测试 336  
23.3 测试用例设计 339  
23.3.1 基于需求的测试 339  
23.3.2 划分测试 340  
23.3.3 结构化测试 342  
23.3.4 路径测试 343  
23.4 测试自动化 345  
要点 346  
进一步的阅读资料 347  
练习 347  
第24章 要求极高的系统的验证 349  
24.1 可靠性验证 350  
24.1.1 操作简档 351  
24.1.2 可靠性预测 352  
24.2 安全性保证 354  
24.2.1 安全性论证 355  
24.2.2 过程保证 356  
24.2.3 运行时安全检查 358  
24.3 信息安全评估 359  
24.4 安全和可靠性案例 360  
要点 362  
进一步的阅读资料 362  
练习 362  
第6篇 管 理  
第25章 人员管理 366  
25.1 职员挑选 367  
25.2 职员激励 369  
25.3 团队管理 371  
25.3.1 小组的组成 371  
25.3.2 小组的凝聚力 372  
25.3.3 小组的沟通 374  
25.3.4 小组的结构 374  
25.3.5 工作环境 375  
25.4 人员能力成熟度模型 377  
要点 378  
进一步的阅读资料 378  
练习 378  
第26章 软件成本估算 380  
26.1 软件生产率 381  
26.2 估算技术 384  
26.3 算法成本建模 386  
26.3.1 COCOMO模型 387  
26.3.2 项目规划中的算法成本模型 393  
26.4 项目的工期和人员配备 395  
要点 396  
进一步的阅读资料 396  
练习 396  
第27章 质量管理 398  
27.1 过程和产品质量 399  
27.2 质量保证和质量标准 400  
27.2.1 ISO9000 401  
27.2.2 文档化标准 403  
27.3 质量规划 404  
27.4 质量控制 404  
27.5 软件测量和度量 406  
27.5.1 测量过程 407  
27.5.2 产品度量 408  
27.5.3 测量的分析 409  
要点 410  
进一步的阅读资料 411  
练习 411  
第28章 过程改善 412  
28.1 过程和产品质量 413  
28.2 过程分类 414  
28.3 过程度量 416  
28.4 过程分析和建模 417  
28.5 过程变更 420  
28.6 CMMI过程改善框架 421  
28.6.1 分阶段CMMI模型 423  
28.6.2 连续CMMI模型 424  
要点 424  
进一步的阅读资料 425  
练习 425  
第29章 配置管理 426  
29.1 配置管理规划 428  
29.1.1 配置项识别 428  
29.1.2 配置数据库 429  
29.2 变更管理 429  
29.3 版本和发布管理 432  
29.3.1 版本标识 432  
29.3.2 发布管理 434  
29.4 系统构建 436  
29.5 用于配置管理的CASE工具 436  
29.5.1 变更管理支持 437  
29.5.2 版本管理支持 437  
29.5.3 系统构建支持 438  
要点 439  
进一步的阅读资料 440  
练习 440  
第7篇 新兴技术  
第30章 信息安全工程 444  
30.1 信息安全的概念 445  
30.2 信息安全风险管理 447  
30.2.1 初步风险评估 447  
30.2.2 生存期风险评估 449  
30.3 面向信息安全的设计 450  
30.3.1 体系结构设计 451  
30.3.2 设计准则 453  
30.3.3 针对部署的设计 455    
30.4 系统生存能力 456  
要点 458  
进一步的阅读资料 459  
练习 459  
第31章 面向服务的软件工程 460  
31.1 服务作为可复用的组件 462  
31.2 服务工程 465  
31.2.1 可选服务识别 465  
31.2.2 服务接口设计 467  
31.2.3 服务实现和部署 468  
31.2.4 遗留系统服务 469  
31.3 使用服务的软件开发 470  
31.3.1 工作流设计和实现 472  
31.3.2 服务测试 474  
要点 475  
进一步的阅读资料 475  
练习 476  
第32章 面向方面的软件开发 477  
32.1 关注点的分离 478  
32.2 方面. 连接点和切入点 480  
32.3 采用方面的软件工程 483  
32.3.1 面向关注点的需求工程 484  
32.3.2 面向方面的设计和编程 486  
32.3.3 检验和有效性验证 488  
要点 490  
进一步的阅读资料 490  
练习 491  
术语表 492  
索引 500  
译后记 514
猜您喜欢

读书导航