什么是架构?
浅薄理解,它组件与组件的关系,架构师将其表述出来.
深层理解,它由一组结构组成,这些结构的设计目的是让架构师,利益相关者看到他们的关注点是如何得到满足的。美丽架构的核心在于概念完整性,即一组抽象和规则,在整个系统中尽可能简单地应用他们。架构观点中的常见思想是结构,每种结构都由各种类型的组件及其关系构成:它们之间是如何组合,相互调用,通信,同步,以及进行其他交互。面对不断增长的系统复杂性,以及它们内部和相互之间的交互,由一组结构形成的架构提供了对付复杂性的主要手段,目的是确保得到的系统具备所要求的特征。结构为将系统化解为一些交互的组件提供了途径。
架构错综复杂的关系和简单的特征
外部行为的描述,展示了产品如何与它的用户、其他系统和外部设备之间的交互,这应该表现为需求。
结构描述,展示了产品如何划分为多个部分,以及这些部分的关系
内部行为描述,用于描述组件之间的交互接口
需求一般理解为系统的功能,但其隐含的品质性要求,也需要架构考虑。
架构特征简单的说就是是系统性能足够好,安全可靠并且在客户规定的工期时间内完成客户所要求的全部功能
架构设计
架构是系统设计的一部分,它突出了某些细节,并通过抽象省略掉另一些细节。架构是设计的一个子集,如果说架构关注的是组件之间的关系和系统组件外部可见的属性,那么设计还要关注这些组件的内部结构好的架构评判标准
1)能使软件开发人员的工作变得简单。
2)使软件测试人员的工作变得轻松
3)让使用软件的用户拥有良好的使用体验。
如果是软件架构师,该去关注一些什么?
确保利益相关人员的关注点能够得到满足,而在构想、计划、构建和维护系统时,系统架构能够处理复杂性。
为了对付复杂性,系统被分解为一些交互的组件
而每种结构都有特定的关注点,如可变性和性能。各种关注点需要相互妥协、折中
而架构师的工作就是:
1)满足客户需要
2)整个系统应用相同的设计原则
3)满足法规和安全性需求