架构之美--第1章 架构概述

架构的定义

《计算机体系结构》一书将计算机系统的架构定义为一组最小的特征集,它们决定了哪些程序将运行,以及这些程序将得到什么结果。

架构由一组结构组成,这些结构的设计目的是让架构师,构建者,以及其他利益相关人看到他们的关注点是如何得到满足的。

美丽架构的核心在于概念完整性,即一组抽象和规则,在整个系统中尽可能简单地应用他们。

架构观点中的常见思想是结构,每种结构都由各种类型的组件及其关系构成:它们之间是如何组合,相互调用,通信,同步,以及进行其他交互。面对不断增长的系统复杂性,以及它们内部和相互之间的交互,由一组结构形成的架构提供了对付复杂性的主要手段,目的是确保得到的系统具备所要求的特征。结构为将系统化解为一些交互的组件提供了途径。


架构的特征

具备客户要求的功能

能够在要求的工期内安全地构建

性能足够好

可靠的

可用的,并且使用时不会造成伤害

安全的

成本是可以接受的

符合法规标准

将超越前人及其竞争者


架构与设计

架构是系统设计的一部分,它突出了某些细节,并通过抽象省略掉另一些细节。架构是设计的一个子集,如果说架构关注的是组件之间的关系和系统组件外部可见的属性,那么设计还要关注这些组件的内部结构


软件架构师的关注

软件架构师的首要关注点不是系统的功能,软件架构师的两项关键实践:让利益相关人参与以及同时关注功能和品质。

软件架构师首先就是与利益相关人协作,理解利益相关人的品质关注点和约束,并为他们排列优先级。 

典型的利益相关人:投资人, 架构师、开发人员、测试人员, 项目经理, 市场人员, 用户, 技术支持人员

架构师的主要关注点就是对系统进行组织,让每种结构有助于解答一个关注点所定义的问题。关键的结构决定将产品划分为组件,并定义了这些组件之间的关系

信息隐藏结构:可变性, 模块化, 可构建性

使用结构:产品化, 生态系统

进程结构:性能, 可变性, 容量

访问结构:安全性, 生态系统(与其他系统进行哪些交互)


软件架构经验

架构师必须作出许多设计决定,架构决定是很重要的,需要注意架构,有意识地做出这些决定,而不只是“让架构自动出现”。要想这些设计决定有用,必须用文档记录下来,这样就能够进行复审、讨论、修改和批准,然后作为后续决定和构建时的约束。

对于复杂系统,运用“分而治之”的架构原则,降低复杂性,让工作能够并发进行。

概念完整性是架构最重要的特征:“最好是让系统......反映一组设计思想,而不是让系统包含许多好的思想,而这些思想却彼此独立而不协调”


架构结构

一个好的架构可能对组织机构产生影响,让组织机构发生改变,从而更有效地从该构架构建出系统。


美丽的架构

1,架构的实用性

2,架构的可构建性

3,应该预期到变更的需要,允许期望的修改能够容易而有效地进行

4,让使用,构建,测试这些架构的开发人员和测试人员,以及由它而形成的系统的用户感到由衷的高兴


架构评估的方式

1,确定架构的属性,通过建模或模拟系统的一个或多个方面

2,通过对架构师提出质询来评估该架构。质询方法的另一种变体是架构折中分析方法,使用场景分析,每种场景都描述了特定的利益相关人对系统的品质关注点。架构师然后解释该架构如何支持每一种场景。主动复审是另一种质询方法,它改变了复审过程的开始方式,要求架构师向复审者提供架构师认为重要而需要回答的问题,然后复查者利用已有的架构文档和描述来回答这些问题。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值