热搜关键词: matlab人工智能算法嵌入式雷达电机驱动

pdf

软件架构设计:实用方法及实践

  • 1星
  • 2024-01-01
  • 104.6MB
  • 需要1积分
  • 28次下载
标签: 软件架构

软件架构

本书阐述了如何以一种系统的、可预测的、可重复的、节约成本的方式来设计各类软件架构。书中不仅介绍了一种实用的架构设计方法,还提供了由可重用的设计知识所支撑的结构化方法,也收录了丰富的案例研究,用于展示如何使用这一实用方法。

利用现实案例,你将掌握已被验证过的属性驱动设计(ADD)的全新版本,比如伴随功能需求和架构问题出现的可修改性、可用性以及可靠性。

Humberto  Cervantes和Rick  Kazman基于他们丰富的经验,指导你通过各具特色的实用设计来支持完整的软件周期,从需求到维护,再到演化。你将学习如何成功地将设计整合在组织背景中,以及如何使用敏捷方法设计软件系统。

通过阅读本书,你将:

*  理解架构设计会涉及哪些方面,以及适用于完整的软件开发生命周期中的哪个阶段。

*  掌握核心设计理念、原理和流程。

*  了解执行属性驱动设计方法的步骤。

*  向上或者向下增加设计和分析,包括针对售前过程的设计或者轻量级架构评审的设计。

*  识别和优化分析与设计之间的关键关系。

*  利用成熟的、可重用的设计原语,并使它们适应具体问题和背景。

*  解决新领域的设计问题,例如云领域、移动领域或者大数据领域。

译者序

前言

第1章 引言  1

1.1 写作动机  1

1.2 软件架构  2

1.2.1 软件架构的重要性  2

1.2.2 生命周期活动  3

1.3 架构师的角色  5

1.4 ADD发展史  6

1.5 小结  7

1.6 扩展阅读  8

第2章 架构设计  9

2.1 通用设计  9

2.2 软件架构中的设计  10

2.2.1 架构设计  11

2.2.2 元素交互设计  11

2.2.3 元素内部设计  12

2.3 为什么架构设计如此重要  13

2.4 架构驱动因子  13

2.4.1 设计目的  14

2.4.2 质量属性  15

2.4.3 主要功能  19

2.4.4 架构关注点  20

2.4.5 约束条件  21

2.5 设计概念:用于创建结构的构建块  22

2.5.1 参考架构  22

2.5.2 架构的设计模式  24

2.5.3 部署模式  25

2.5.4 策略  26

2.5.5 外部开发组件  27

2.6 架构设计决策  30

2.7 小结  31

2.8 扩展阅读  32

第3章 架构设计过程  34

3.1 原理性方法的必要性  34

3.2 属性驱动设计  3.0  34

3.2.1 步骤1:评审输入  35

3.2.2 步骤2:通过选择驱动因子建立迭代目标  36

3.2.3 步骤3:选择一个或多个系统元素来细化  37

3.2.4 步骤4:选择一个或多个设计概念以满足选中的驱动因子  37

3.2.5 步骤5:实例化架构元素、分配职责和定义接口  37

3.2.6 步骤6:草拟视图和记录设计决策  38

3.2.7 步骤7:分析当前设计、评审迭代目标、实现设计目的  38

3.2.8 按需迭代  39

3.3 根据系统类型遵循设计路线图  39

3.3.1 成熟领域的绿地系统设计  39

3.3.2 新兴领域的绿地系统设计  41

3.3.3 现存系统的设计(棕地)  42

3.4 识别和选择设计概念  42

3.4.1 识别设计概念  42

3.4.2 选择设计概念  43

3.5 结构生成  46

3.5.1 元素实例化  47

3.5.2 划分职责和识别属性  47

3.5.3 建立元素间的关系  48

3.6 定义接口  48

3.6.1 外部接口  48

3.6.2 内部接口  48

3.7 在设计中创建概要文档  51

3.7.1 记录视图的草图  51

3.7.2 记录设计决策  53

3.8 追踪设计进度  55

3.8.1 使用架构待办事项清单  55

3.8.2 使用设计看板  55

3.9 小结  57

3.10 扩展阅读  57

第4章 案例研究:FCAPS系统  59

4.1 商用案例  59

4.2 系统需求  60

4.2.1 用例模型  60

4.2.2 质量属性场景  62

4.2.3 约束条件  62

4.2.4 架构关注点  62

4.3 设计过程  63

4.3.1 ADD  步骤1:评审输入  63

4.3.2 迭代1:建立一个完整的系统架构  63

4.3.3 迭代2:识别支持基本功能的架构  70

4.3.4 迭代3:解决质量属性场景的驱动因子(质量属性-3)  77

4.4 小结  80

4.5 扩展阅读  81

第5章 案例研究:大数据系统  82

5.1 商用案例  82

5.2 系统需求  83

5.2.1 用例模型  83

5.2.2 质量属性场景  83

5.2.3 约束条件  84

5.2.4 架构关注点  84

5.3 设计过程  84

5.3.1 ADD方法的步骤1:评审输入  85

5.3.2 迭代1:参考架构和系统整体结构  85

5.3.3 迭代2:技术选择  91

5.3.4 迭代3:数据流元素的细化  99

5.3.5 迭代4:服务层的细化  104

5.4 小结  107

5.5 扩展阅读  107

第6章 案例研究:银行系统  109

6.1 商用案例  109

6.1.1 用例模型  110

6.1.2 质量属性场景  111

6.1.3 约束条件  111

6.1.4 架构关注点  111

6.2 现有的架构文档  112

6.2.1 模块视图  112

6.2.2 分配视图  113

6.3 设计过程  114

6.3.1 ADD方法的步骤1:评审输入  114

6.3.2 迭代1:支持新的驱动因子  114

6.4 小结  118

6.5 扩展阅读  119

第7章 其他设计方法  120

7.1 一种软件架构设计的通用模型  120

7.2 以架构为中心的设计方法  121

7.3 RUP中的架构活动  123

7.4 软件架构设计的过程  124

7.5 一种实现架构与设计的方法  126

7.6 视点与视角方法  127

7.7 小结  129

7.8 扩展阅读  129

第8章 设计过程中的分析  131

8.1 分析和设计  131

8.2 为何分析  133

8.3 分析方法  134

8.4 基于策略的分析  135

8.5 值得反思的问题  137

8.6 基于场景的设计评审  138

8.7 架构描述语言  141

8.8 小结  142

8.9 扩展阅读  142

第9章 组织中的架构设计过程  144

9.1 架构设计与开发生命周期  144

9.1.1 售前阶段的架构设计  145

9.1.2 开发运维阶段的架构设计  146

9.2 组织方面的问题  150

9.2.1 个人设计还是团队设计  150

9.2.2 在组织中应用一套设计概念目录  151

9.3 小结  152

9.4 扩展阅读  152

第10章 结束语  154

10.1 方法的必要性  154

10.2 下一步  155

10.3 扩展阅读  156

附录A 设计概念目录  157

附录B 基于策略的问卷调查  184

术语表  196

展开预览

评论

登录/注册

意见反馈

求资源

回顶部

推荐内容

热门活动

热门器件

随便看看

  • MCP2510带有SPTM接口的独立CAN控制器
    MCP2510带有SPTM接口的独立CAN简单介绍
  • evc下编译kvm出的错误,大伙帮忙看一下啊
    --------------------Configuration: VmWinCE - Win32 (WCE emulator) Debug--------------------Compiling...async.cC:\Documents and Settings\hzj\桌面\j2me_cldc-1_1-fcs-src-winunix\j2me_cldc\kvm\VmExtra\src\a
  • 摇摇棒的设计与制作
    有没有人做过摇棒的啊,我现在要做毕业设计,板子整好了,但是那些繁琐的上面报告不知道怎么写。。。。求教各位大侠能不能给我传些资料啊????????????
  • DIY手机+Sur+震动功能
    手机的震动来源于内置的一个微小的震动马达,大约只有一颗绿豆大小。马达上部连接着一个类似半个披萨形的金属偏心轮,与马达的转轴直接相连。马达的外壳被设计成方形,可以卡在手机壳中,并且尾巴上有两个触点,与手机主板接触供电。头部的偏心轮可以自由转动。收到电话或短信时,电路接通,电动机起动,带动偏心轮做高速偏心旋转。偏心装置重心快速变化,给手机的冲量带动整个手机震动,这是手机震动的主要原因。手机马达的额定电
  • 这里有解决踏板动力更长续航时间方案
    [i=s] 本帖最后由 qwqwqw2088 于 2019-6-16 14:21 编辑 [/i]随着电动自行车和电动摩托车越来越受欢迎,消费者对电池组的续航能力也提出了更高的要求。延长电池组的续航时间可让车辆行驶更远里程而无需频繁充电。可以通过以下两种方法来提高锂离子(Li-ion)电池组的续航能力:增大电池总容量或提高能效。增大电池总容量意味着要使用更多或性能更佳的电池单元,这会显著增加电池组的
  • 【TI荐课】#MSP432产品培训#
  • 请教控制器如何测试的问题
  • 搬家,出几块板子
  • 四旋翼姿态解算
  • 今天上午10:00 美信有奖直播:支持工业系统的集成数字IO技术

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
×