A. 如何分析一个系统的架构

系统架构(Framework 或Architecture)或软件架构的定义很难明确,仁者见仁智者见智。 在面向内对象范畴中,我容认为就是通过若干类、抽象类及其接口有机组成的软件系统,其中类起的作用好比建筑物中的砖瓦钢筋水泥楼板,而接口和抽象类中没有实现的方法好比其中的一个个空间,包括大厅,走廊,房间,厨房,卫生间....,架构使用者的任务就是往这些空间中填充东西,也就是实现那些接口和抽象方法,从而可以创建一座定制了的建筑物。进一步,可以对这个建筑进行修饰使其外观更加漂亮。当然也可以进行改动,以便结构更加合理。 在《Rational 统一过程实践者指南》(RUP)认为,系统架构为:1. 系统中最重要的组成部分和它们的接口,以及做出的创建、购买或是重用这些组成部分的决定;2.描述这些组成部分在运作时如何交互来实现系统中最重要的脚本;3.实现并测试系统架构的原型,以验证架构是否可行、是否化解了重大风险,以及验证它是否打到了重要的质量指标:性能、可扩展性和成本等。

B. 什么是系统架构设计

简单一点,系统架构设计就是一个系统的草图,描述了构成系统的抽象组件,以及各个组件之间的是如何进行通讯的,这些组件在实现过程中可以被细化为实际的组件比如类或者对象。在面向对象领域中,组件之间的联通通常面向于接口实现的。

是人们对一个结构内的元素及元素间关系的一种主观映射的产物。架构设计是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。

“架构”一词最早来自建筑学,原意为建筑物设计和建造的艺术。但是在软件工程领域,软件架构不是一个新名词,只是在早期的著作中人们将软件架构称为软件体系架构。这就是架构的概念。所谓架构,就是人们对一个结构内的元素及元素间关系的一种主观影射的产物。

无论何种系统架构应用领域,目的都是一样的,即完整地、高一致性的、平衡各种利弊的、有技术和市场前瞻性的设计系统和实施系统。

(2)系统架构分析扩展阅读

系统架构的主要任务是界定系统级的功能与非功能要求、规划要设计的整体系统的特征、规划并设计实现系统级的各项要求的手段,同时利用各种学科技术完成子系统的结构构建。

在系统架构中,由于对软件越来越深入的依赖,软件架构的任务也体现出重要的作用。而且系统架构与软件架构是紧密联系和相互依赖的。

1997年,Eberhadrt Rechtin 与MarkW Maier 在其论著中,为计算机科学总结了系统架构方面的实践成果,从而奠定了系统科学和系统架构在计算机科学中的基石。