标题：软件工程卷3:领域、需求与软件设计
图书信息
出版社: 清华大学出版社; 第1版 (2010年1月1日)
外文书名: Software Engineering 3: Domains, Requirements and Software Design
丛书名: 世界著名计算机教材精选
平装: 590页
正文语种: 简体中文
开本: 16
ISBN: 978-7302-208921
尺寸: 25.8 x 18.4 x 2.6 cm
重量: 939 g
作者简介
作者：(德国)比约尼尔(Dines Bjorner) 译者：刘伯超 向剑文 等
内容简介
《软件工程卷1～3》是冯诺依曼奖章获得者、世界著名的计算机科学家Dines Bjorner教授的最新著作。这套丛书为读者理解软件和软件开发过程提供了一个“全新的视角”。这三卷书首次系统地论述了如何用形式方法来指导领域工程、需求工程和软件设计，即软件工程的三个相互关联并重叠的组成部分，或称之为软件工程的“三部曲”。在软件开发的各个阶段，如果都能够采用这种形式化的开发模式，将能够在极人程度上保证软件开发的正确性和有效性。这套丛书可以被视为软件工程史上里程碑式的著作。作者通过长达30年的程序设计方法沦的研究与实践，加上长达25年不断完善的课程讲义汇编成这一套前后连贯、内容一致以及相对完整的软件工程著作。这套丛书的一个显著特点就是在这三卷书中，所有的原理、技术和工具都是通过大量的案例分析末进行阐述，并覆盖了所有主要的软件开发时期、阶段和步骤；同时，这些原理、技术和工具是能够应用在大型工和商业软件的开发项目中去的。
这套从书不但可以作为高校计算机专业学生、教师以及研究人员的教材和必备参考书，而且在工业和计算机产业界也具有极大的实用价值。
《软件工程卷3：领域、需求与软件设计》介绍了整体软件开发的基本原理和技巧：从领域描述，经过需求分析，直到软件设计。本卷倡导一种全新的软件工程开发模式：在需求被形式化之前，人们必须理解应用领域，因此本卷首先介绍领域描述的原现和技术，然后介绍从领域模型导出需求规则的原理和技术，最后介绍细化需求到软件设计的原理和技术：体系结构和组件设计。
目录
原著作者为中文版所作的序
译者序
前言
概述
卷3的简要指南
致谢
I 开篇
1 三部曲范式
1.1 软件工程的描绘
1.1.1 “旧的”描绘
1.1.2 我们的观点：什么是软件工程
1.2 软件工程三部曲
1.2.1 领域与论域
1.2.2 领域工程
1.2.3 需求工程
1.2.4 软件
1.2.5 软件设计
1.2.6 讨论
1.3 开发的时期、阶段与步骤
1.3.1 软件开发的时期
1.3.2 开发的阶段与步骤
1.3.3 领域开发
1.3.4 需求开发
1.3.5 计算系统设计
1.3.6 寸论：时期、阶段与步骤
1.4 部曲过程模型——首次考虑
1.4.1 过程模型的概念
1.4.2 三部曲过程模型
1.5 第1章的结论
1.5.1 概要
1.5.2 稍后将会介绍什么
1.6 文献评注
1.7 练习
1.7.1 一系列的软件开发
1.7.2 前言的注解
1.7.3 练习
2 文档
2.1 文档编制就是全部
2.2 文档部分的种类
2.2.1 概述
2.2.2 什么是描述
2.3 可交付物
2.4 信息文档部分
2.4.1 姓名、位置和日期
2.4.2 合作者
2.4.3 当前情况、需要、想法和概念
2.4.4 范围、区间、纲要
2.4.5 假设和依赖
2.4.6 隐含/派生目标
2.4.7 标准
2.4.8 合同和设计概要
2.4.9 日志
2.4.10 信息文档编制的讨论
2.5 描述文档部分
2.5.1 粗略描述
2.5.2 术语
2.5.3 叙述
2.5.4 形式叙述
2.5.5 描述性文档编制讨论
2.6 分析文档部分
2.6.1 概念形成
2.6.2 确认
2.6.3 验证、模型检查、测试
2.6.4 理论形成
2.6.5 分析文档编制的讨论
2.7 讨论
2.7.1 概述
2.7.2 章节总结
2.8 练习
2.8.1 序言
2.8.2 练习
Ⅱ概念框架
3 方法和方法论
3.1 方法
3.2 方法学
3.3 方法构成
3.3.1. 原则
3.3.2 分析
3.3.3 构造(或合成)
3.3.4 技术
3.3.5 工具
3.4 发原则、技术和工具
3.4.1 一些元原则
3.4.2 一些原则、技术和工具
3.5 讨论
3.6 练习
4 模型和建模
4.1 介绍性、场景设定论述
4.1.1 模型和“可能世界
4.1.2 规约的模型
4.1.3 建模
4.1.4 论域
4.2 模型属性
4.2.1 类比、分析、形象模型
4.2.2 描述和规定模型
4.2.3 外延和内涵模型
4.3 模型的角色
4.4 建模原则
4.5 讨论
4.6 练习
Ⅲ描述：理论和实践
5 现象和概念
5.1 前言
5.2 现象和概念
5.2.1 物理上显然的现象
5.2.2 思维构想的概念
5.2.3 现象和概念的类别
5.2.4 具体和抽象概念
5.2.5 描述的类别
5.2.6 什么是描述
5.3 实体
5.3.1 原子实体
5.3.2 复合实体
5.3.3 子实体
5.3.4 值、部分整体关系、属性
5.3.5 实体的部分整体关系
5.3.6 部分整体关系和属性
5.3.7 面向模型的部分整体关系
5.3.8 面向模型的属性——题外话
5.3.9 实体性质
5.3.10 现实的示例和我们的类型系统
5.3.11 类型系统
5.3.12 类型约束
5.3.13 总结：原则、技术和工具
5.4 函数
5.4.1 函数基调
5.4.2 函数定义
5.4.3 算法
5.5 事件和行为
5.5.1 状态、动作、事件和行为
5.5.2 同步和通信
5.5.3 进程
5.5.4 迹
5.5.5 进程定义语言
5.6 建模现象和概念的选择
5.6.1 定性特性
5.6.2 定量特性
5.6.3 原则、技术和工具
5.7 讨论
……
6 关于下定义和关于定义 
6.1 定义的语用 
6.2 各种各样的哲学定义 
6.3 预备性讨论 
6.4 形式定义的句法 
6.5 形式定义的语义 
6.6 讨论 
6.7 练习 
7 Jatkson的描述原则 
7.1 现象、事实和个体 
7.2 指示 
7.3 显式定义 
7.4 可驳斥断言 
7.5 讨论：描述原则 
7.6 文献评注 
7.7 练习 
Ⅳ 领域工程 
8 领域工程概述 
8.1 前言 
8.2 回顾：为什么有领域工程 
8.3 部分和章节的概述 
8.4 领域参与者及其观点 
8.5 领域获取和确认 
8.6 领域分析和概念形成 
8.7 领域刻面 
8.8 领域开发的辅助阶段 
8.9 领域模型文档 
8.10 这一部分的其他结构 
8.11 文献评注 
8.12 练习 
9 领域参与者 
9.1 前言 
9.2 参与者 
9.3 参与者观点 
9.4 讨论：参与者及其观点 
9.5 练习 
10 领域属性 
10.1 前言 
10.2 连续、离散和混沌 
10.3 静态和动态 
10.4 可触知性和不可触知性 
10.5 一、二、……维 
10.6 讨论 
10.7 文献评注 
10.8 练习 
11 领域刻面 
11.1 前言 
11.2 领域易化器：企业过程 
11.3 领域内在 
11.4 领域支持技术 
11.5 领域管理和组织 
11.6 领域规则和规定 
11.7 领域脚本 
11.8 领域的人类行为 
11.9 其他的领域刻面 
11.10 领域模型复合 
11.11 练习 
12 领域获取 
12.1 前言 
12.2 获取过程 
12.3 讨论 
12.4 练习 
13 领域分析和概念形成 
13.1 前言 
13.2 概念形成 
13.3 一致性、冲突和完备性 
13.4 从分析到合成 
13.5 讨论 
13.6 文献评注 
13.7 练习 
14 领域验证和确认 
14.1 前言 
14.2 领域验证 
14.3 领域确认 
14.4 讨论 
14.5 练习 
15 领域理论 
15.1 前言 
15.2 什么是领域理论 
15.3 领域理论的陈述示例 
15.4 可能的领域理论 
15.5 我们如何建立一个理论 
15.6 领域理论的目的 
15.7 总结性原则、技术和工具 
15.8 文献评注 
15.9 练习 
16 领域工程过程模型 
16.1 前言 
16.2 领域开发回顾 
16.3 领域文档回顾 
16.4 讨论 
V 需求工程 
17 需求工程综述 
17.1 前言 
17.2 为什么需要需求，为了什么 
17.3 开始需求开发 
17.4 关于领域、需求和机器 
17.5 概述：需求工程的阶段 
17.6 需求文档 
17.7 本部分剩下内容的结构 
17.8 文献评注 
17.9 练习 
18 需求参与者 
18.1 前言 
18.2 常规应用的参与者 
18.3 COTS软件开发商的参与者 
18.4 讨论 
18.5 练习 
19 需求刻面 
19.1 前言 
19.2 粗略描述和术语表 
19.3 企业过程再工程需求 
19.4 领域需求 
19.5 接口需求 
19.6 机器需求 
19.7 需求模型复合 
19.8 讨论：需求刻面 
19.9 文献评注 
19.10 练习 
20 需求获取 
20.1 需求获取和领域模型 
20.2 基于领域模型的需求获取 
20.3 概念概述 
20.4 获取过程 
20.5 讨论 
20.6 练习 
21 需求分析和概念形成 
21.1 前言 
21.2 概念形成 
21.3 一致性、冲突和完备性 
21.4 从分析到合成 
21.5 讨论 
21.6 文献评注 
21.7 练习 
22 需求的验证和确认 
22.1 前言 
22.2 需求验证 
22.3 需求确认 
22.4 讨论 
22.5 文献评注 
22.6 练习 
23 需求的可满足性和可行性 
23.1 前言 
23.2 满足性研究 
23.3 技术可行性研究 
23.4 经济可行性研究 
23.5 顺从于隐含/派生目标 
23.6 讨论 
23.7 练习 
24 需求工程过程模型 
24.1 前言 
24.2 需求开发的回顾 
24.3 回顾需求文档 
24.4 重复的内容列表 
24.5 讨论 
Ⅵ 计算系统设计 
25 硬件/软件协同设计 
25.1 前言——关于体系结构 
25.2 硬件构件和模块 
25.3 软件构件和模块 
25.4 硬件/软件协同设计 
25.5 体系结构的逐步改进 
25.6 讨论 
26 软件体系结构设计 
26.1 前言 
26.2 初始的领域需求体系结构 
26.3 初始机器需求体系结构 
26.4 一些机器需求的分析 
26.5 设计决策的优先 
26.6 相应的设计 
26.7 讨论 
26.8 文献评注 
26.9 练习 
27 构件设计的范例分析 
27.1 概述性前言 
27.2 示例概述 
27.3 方法论概述 
27.4 步骤0：文件和页 
27.5 步骤1：编目、磁盘和存储器 
27.6 步骤2：磁盘 
27.7 步骤3：高速缓存 
27.8 步骤4：存储崩溃 
27.9 步骤5：扁平化存储和磁盘 
27.10 步骤6：磁盘空间管理 
27.11 讨论 
27.12 文献评注 
27.13 练习 
28 特定领域的体系结构 
28.1 前言 
28.2 翻译器体系结构
28.3 信息储存库体系结构 
28.4 客户端朋艮务器体系结构 
28.5 32件体系结构 
28.6 反应系统体系结构 
28.7 连接框架 
28.8 讨论 
28.9 练习 
29 其他：编码及其全部 
29.1 从形式规约到程序设计 
29.2 程序设计之美 
29.3 程序设计实践 
29.4 构建信任的软件开发 
29.5 验证、模型检查和测试 
29.6 讨论 
29.7 练习 
30 计算系统设计过程模型 
30.1 前言 
30.2 软件设计的回顾
30.3 软件设计文档回顾 
30.4 讨论 
Ⅶ 结束语 
31 三部曲开发过程模型 
31.1 时期过程模型 
31.2 时期文档编制目录 
31.3 结论 
32 尾章 
32.1 非形式和形式软件工程 
32.2 形式方法的神话和戒律 
32.3 FAQ(Frequently Asked Questions)：常见问题 
32.4 研究和工具开发 
32.5 应用领域 
32.6 结束语 
Ⅶ 附录 
ARSL入门 
A.1 类型 
A.2 RSL谓词演算 
A.3 具体RSL类型 
A.4 γ演算和函数 
A.5 其他的应用式表达式 
A.6 命令式结构 
A.7 进程结构 
A.8 简单RSL规约 
B 术语表 
参考文献