Large-Scale Software Architecture:A Practical Guide Using UML

副标题:无

作   者:(美)Jeff Garland,(美)Richard Anthony著;叶俊民,汪望珠等译

分类号:

ISBN:9787505394971

微信扫一扫,移动浏览光盘

简介

本书的目的是为大型软件体系结构的开发提供实际的表示方法和技术,其目标是使软件结构师、开发者和管理者有效地借鉴一些大型软件开发项目方面的经验。本书描述了我们已经成功使用过的技术和体系结构表示。 本书旨在成为一本实践指南。我们的目标是要做到简明扼要。在软件体系结构的定义上,我们只包括指导软件结构师的基本信息,同时提供了进一步阅读的指导,而对这些文献没有进行详细描述。理想情况是,使软件开发团队把体系结构作为一种工具来指导软件开发,而不是采用在软件已经开发出来后,再去捕捉体系结构的这种常见做法。 统一建模语言(UML)的使用将贯穿全书。我们省略了很多UML模型,只是将我们认为最有用的部分介绍出来。结合软件密集型系统最新的IEEE 1471标准,我们描述了有助于软件体系结构开发和文档化的一些体系结构视点。在阅读完本书后,你将理解相关的技术和视点,这些技术和视点能提高你在系统中对软件体系结构的建模能力。

目录

第1章 导论 1

1.1 什么是软件体系结构 1

1.1.1 软件体系结构不是什么 3

1.1.2 软件体系结构属性 4

1.1.3 与体系结构有关的其他关键术语的定义 5

1.1.4 其他类型的体系结构 6

1.2 为什么要有体系结构 8

1.3 体系结构视点概要 9

1.4 其他软件体系结构方法 12

1.4.1 4+1视图 12

1.4.2 rm-odp视点 13

1.4.3 bass的体系结构的构造 14

1.4.4 hofmeister的软件体系结构视图 14

1.5 推荐读物 15


第2章 软件体系架构师的角色 17

2.1 在开发组织中与其他关键角色的关系 20

2.2 架构师的技能和背景 23

2.3 引入体系结构经验 25

2.4 体系结构团队的构成 25

.2.5 与软件架构师相关的陷阱和圈套 26

2.5.1 明确领导的定位 27

2.5.2 软件架构师汇报的组织结构 27

2.5.3 软件架构师和技术领导的地理位置 27

2.5.4 体系结构团队的规模和组成 28

2.5.5 软件体系结构生命周期 29

2.6 推荐读物 29


第3章 软件体系结构和开发过程 31

3.1 迭代开发的概要 31

3.1.1 开发过程中的全部阶段的概述 32

3.1.2 生命周期阶段 33

3.1.3 体系结构和灵活过程 35

3.1.4 早开始,不断细化 37

3.2 需求管理 38

3.2.1 用例和需求工程 38

3.2.2 影响体系结构的补充需求 39

3.2.3 需求跟踪 40

3.3 技术路线(roadmap)的管理 40

3.3.1 外部软件产品 40

3.3.2 软件技术管理的陷阱和圈套 42

3.3.3 组织技术路线 44

3.4 有效的技术会议 44

3.4.1 非正式技术会议 44

3.4.2 同事审查和检查 45

3.4.3 设计审查 45

3.4.4 设计通信会议 46

3.4.5 管理会议 46

3.4.6 供货商陈述会议 46

3.4.7 分散式的技术会议 47

3.5 软件体系结构过程活动中的陷阱和圈套 47

3.5.1 开发者和架构师之间缺乏及时沟通 47

3.5.2 分析瘫痪 48

3.5.3 复用设计 48

3.5.4 用例 48

3.5.5 计划表 48

3.6 计算机辅助软件工程(case)工具 49

3.7 推荐读物 50


第4章 实例系统概要 51

4.1 系统概要 52

4.2 系统接口概要 52

4.3 约束 54

4.4 主要的操作和软件的需求 55


第5章 uml快速浏览 57

5.1 uml图示概括 57

5.2 通用作图习俗 59

5.2.1 通用特征:构造型、标记值、多实例 59

5.2.2 视图标签 62

5.3 图示 62

5.3.1 构件实例图 62

5.3.2 类和子系统图 63

5.3.3 交互(顺序和协作)图 64

5.3.4 部署图 66

5.3.5 状态图 67

5.3.6 活动图 67

5.4 管理复杂度 68

5.4.1 关注建模的用例 69

5.4.2 关注建模的元素 69

5.4.3 细节层 70

5.4.4 模型数量的控制 70

5.4.5 使用附加的文本信息 71

5.5 推荐读物 72


第6章 系统环境和领域分析 73

6.1 概念图 73

6.2 环境视点 75

6.3 领域分析技术 78

6.3.1 正式的分析技术 79

6.3.2 找出领域实体的其他技术 82

6.3.3 分析的捷径 83

6.4 分析视点 84

6.4.1 交互分析视点 84

6.4.2 焦点分析视点 85

6.4.3 整体分析视点 87

6.4.4 候选子系统标识 88

6.5 推荐读物 90


第7章 构件设计和建模 93

7.1 概述 93

7.1.1 基于构件的开发 93

7.1.2 术语 94

7.1.3 通信和接口 96

7.1.4 发现构件 96

7.1.5 构件设计的质量 97

7.2 构件视点 97

7.2.1 构件通信 98

7.2.2 构件接口 99

7.2.3 基于消息的构件建模 102

7.2.4 组合接口和消息 104

7.2.5 接口和消息的比较 106

7.2.6 机制和性能注释 107

7.3 构件交互视点 109

7.3.1 构件和构件之间的交互 109

7.4 构件状态建模 111

7.5 高级可配置构件体系结构的建模 114

7.6 推荐读物 115


第8章 子系统的设计 117

8.1 术语 117

8.2 对子系统、接口和分层进行建模 119

8.2.1 子系统接口依赖性视点 119

8.2.2 利用分层加强子系统依赖视图的功能 121

8.2.3 顶层依赖 123

8.2.4 分层子系统视点 123

8.3 子系统和层与实现的映射 128

8.3.1 子系统、层和构造树 128

8.3.2 子系统和构件 130

8.4 推荐读物 131


第9章 事务和数据设计 133

9.1 逻辑数据体系结构 133

9.1.1 逻辑数据模型的稳定性 135

9.1.2 稳定的逻辑数据模型的影响 136

9.2 逻辑数据视点 137

9.2.1 逻辑数据视图实例 137

9.2.2 消息传递的逻辑数据视图 140

9.3 数据模型的设计——其他要考虑的因素 141

9.3.1 数据模型和层 142

9.3.2 数据模型和映射 142

9.3.3 将对象映射到关系数据库 143

9.4 事务设计 146

9.4.1 事务概念 146

9.4.2 事务动态性建模 147

9.4.3 事务和接口设计 150

9.5 推荐读物 151


第10章 进程和部署的设计 153

10.1 物理数据视点 153

10.1.1 其他存储属性的建模 155

10.1.2 详细的物理存储建模 157

10.2 进程视点 158

10.2.1 进程和构件 161

10.2.2 进程和构件管理 161

10.2.3 进程状态视点 164

10.3 部署视点 168

10.3.1 可伸缩节点的设计 171

10.3.2 备份/归档设计 171

10.4 推荐读物 174

第11章 体系结构技术 175

11.1 体系结构开发技术 175

11.1.1 共性和可变性的分析 176

11.1.2 可变性设计 177

11.1.3 生成程序设计技术 178

11.1.4 构造一个框架系统 178

11.1.5 原型构造 179

11.1.6 接口开发——契约式设计 180

11.1.7 体系结构描述语言 181

11.1.8 体系结构的评价 181

11.2 软件划分策略——关注划分 181

11.2.1 功能分解 182

11.2.2 分离配置数据 183

11.2.3 分离特有硬件(hardware-specific)构件 183

11.2.4 分离时间关键(time-critical)构件 183

11.2.5 从用户接口中分离领域实现模型 183

11.2.6 从实现技术中分离领域实现模型 184

11.2.7 从监控中分离主要功能 184

11.2.8 分离错误恢复处理 184

11.2.9 外部接口的适配性 185

11.3 软件可变性和依赖性管理 185

11.3.1 稳定性依赖原则(sdp) 186

11.3.2 无环依赖原则 187

11.3.3 接口分离原则 187

11.4 使用体系结构模式 188

11.5 集成策略 189

11.5.1 纯数据(data-only) 集成 190

11.5.2 可执行集成 191

11.6 建立体系结构以支持开发 192

11.6.1 配置和变化的管理 192

11.6.2 构造管理 192

11.6.3 连续集成 193

11.6.4 预期的多语言开发 193

11.6.5 预期技巧性开发(改编技术) 194

11.7 推荐读物 195


第12章 视点的应用 197

12.1 自底向上的体系结构开发 197

12.2 自顶向下的体系结构开发 199

12.3 消息协议和接口开发 201

12.4 对现存系统的再开发 202

12.5 体系结构文档化 203

12.6 结论 204

12.6.1 成为一个软件架师 204

12.6.2 实践的现状 206

12.6.3 未来前景 207

12.6.4 最后的思考 209

12.7 推荐读物 209

附录a 体系结构视点总结 211

参考文献 217

索引 225


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Large-Scale Software Architecture:A Practical Guide Using UML
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon