软件体系架构
是什么,为什么,怎么样,经典的三段论,同样适用软件的体系架构
软件体系架构:
首先要根据实际要解决的问题,对目标系统的边界进行明确的界定。
其次,选择适合系统,适合实际情况的原则,根据具体的原则,进行系统的划分,正所谓没有规矩不成方圆。
然后,系统按照某原则划分以后,变得零散,需要建立一定的沟通机制。
最后,根据沟通机制,有机的对各个部分进行组合,完成目标系统的各项工作。
简而言之,就是一个跟据原则,机制对系统进行,化整为零,化零为整的一个过程。其中,渗透的原则,机制就是架构的价值所在。
为什么要有软件的体系架构呢?
在进行软件的创造过程当中,由于人力,物力,时间等种种因素的制约,会产生各种意料之中和意料之外的状况,为了更好的解决处理这些状况,就需要一定的规范和准则来进行对工作的辅助,所以,软件体系架构就有了它存在的必要性。
软件架构又有什么分类呢?
决策派&组成派
组成派:
软件系统的架构将系统描述为计算机组建及组件之间的交互
特点:
1、关注构架实践中的客体----软件,以软件本身为描述对象。
2、分析了软件的组成,即由承担不同计算任务的组件组成,这些组件通过相互交互完成更高层次的计算任务。
决策派:
软件构架包含了关于以下问题的重要决策:软件系统的组织;组成系统的结构元素及其接口,这些元素相互协作时所体现的行为;如何组织这些元素,使它们合成更大的系统;用于指导这个系统组织的构架风格。
特点:
1、关注构架实践中的主体----人,以人的决策为描述对象。
2、归纳了构架决策的类型,指出构架决策不仅包括关于软件系统的组织、元素、子系统和构架风格等几类决策,还包括关于众多非功能需求决策。
那么,有了对架构最基本的了解,下面最应该做什么呢?
理解!
因为现实中存在着各种各样不可预知,抑或意料之外的事情,我们能做到的就是先接受并理解,然后再能按照自己的思路去解决。所以,必要的理解能力是应该具备的。
此外,事情往往不全是具体形象的,遇到抽象的问题更需要全面具体的理解,当需要你做出抽象的概括或者总结时,前提条件就是对某事物应具有充分的理解。
缺少良好的理解能力,必然导致结果的以偏概全,即,所体现的软件架构就失去了它所应该的正确性,失去正确性的软件架构也就失去了它存在的必要性。