架构的源起
“架构(Architecture)”一词,其实来自于建筑行业。本源自拉丁语的“Architectura”,而最早的词源是来自希腊语的 “Arkitekton”一词。“Arkitekton”或者“αρχιτεκτων”都是主建筑师的意思,“Αρχι”是“主要的、首要的”意思,而 “τεκτων”是建筑师或工匠的意思。
架构与建筑的关系,使得它与人类社会文明的发展紧密关联在一起。当我们翻开各地存在过的文明社会的历史长卷时,首先映入眼帘的是那些留给我们数不胜数的精 湛建筑遗迹。无论是埃及人、中国人、印度人、巴比伦人,还是玛雅人、希腊人、苏美尔人、印加人、波斯人等,都是人类文明的伟大创造者,他们创造着建筑,也 在创造着历史。
奇琴伊察(Chichen Itza)玛雅城邦遗址位于中美洲墨西哥境内尤卡坦半岛中部,如图1-6所示,它是古代玛雅文明的见证。奇琴伊察玛雅城邦始建于公元514年,曾是古玛雅 帝国最大、最繁华的城邦。这里曾经住着一流的艺术家、雕刻家、建筑家、工程师及星相家。城邦的主要古迹有千柱广场、武士庙及庙前斜倚的两神石像、9层高 30米的呈阶梯形的库库尔坎金字塔、圣井(石灰岩竖洞)以及筑在高台上呈蜗形的玛雅人古天文观象台。这些建筑在空间和造型组合上均充分体现出了玛雅人杰出 灵动的建筑意识。
建筑是文明社会的一个重要标志,同时也是人类社会最早形成完善理论和经验的领域。目前所发现的历史文明社会,无一例外地在建筑方面积累了大量的建筑风格、 方法、技巧及工艺。通过不断积累建筑经验,人类早在古代文明阶段,就为建筑行业里的“架构”一词做了非常完善的界定。在公元一世纪的De Architectura一书中,古罗马建筑师Vitruvius就严格地规范了一个好的建筑应该满足持久(Durability)、实用 (Utility)和美(Beauty)三个基本原则:
持久(Durability)——它应该结实坚挺,屹立不倒,长久保持良好的状态,经久不衰。
实用(Utility)——它应该具有实用功效,满足人们日常的使用需要。
美(Beauty)——它能够使人高兴,愉悦人们的精神。
人类文明走到今天,“架构”一词意味着设计建筑物及其结构的艺术和科学。一个更宽泛的定义包括建筑物本身及周边环境的设计:从城市规划、都市设计到景观建筑、建筑细节,甚至是内部家具。
来自建筑行业长期积累起来的真知灼见,对其他人类活动同样有着普遍的实践指导意义。
当然,随着人类认知的扩展,随着人类活动范围的扩大,建筑行业内的“架 构”一词也在慢慢发生着变化。可以看出,人类在几千年的建筑实践中积累了大量的方法、经验和教训。这些方法、经验和教训除了仍然为当代的建筑设计提供宝贵 的实践指导外,更为重要的是,它们逐渐超脱出建筑行业领域,成为其他工程学科领域在方法论级层面上的参考,甚至形成了固定的思维模式,成为人类思想及智慧 的精华。
所以当“架构”从建筑行业拓展到其他领域诸如生物工程、航天工程、地理信息等时,“架构”一词焕发出新的意蕴。但是其内在的精髓仍然一脉相承:既所谓的 “架构”,就是人们对一个结构内的元素及元素间关系的一种主观映射的产物。建筑设计大量引入了空间、容量、纹理、光、阴影、材料等手段,目的是保证设计元 素间审美及功能上的需要。这通常与其他工程科学要求的功能和结构的默契有很多相似之处。
“计算机科学与工程”这个学科虽然起步较晚,到现在也只有短短几十年的历史。但是,先前人类活动总结出的经验依然可以在这个新兴的领域得到应用。我们甚至 可以沿袭古罗马建筑师Vitruvius的三个设计原则来作为一些系统设计的参考。同样,建筑行业的其他经验对别的领域也有着很强的借鉴意义。例如“形式 服从于功能”(Forms follows function)是Lou
is Sullivan的名言,很明显,这位被公认为美国当代建筑设计鼻祖的至理名言,也同样适用于其他设计领域。
系统架构与软件架构
再深一层分析,无论是建筑工程领域,还是其他工程领域(包括计算机科学),从它们的演化历史来看,直觉上我们似乎能够发现其共同点:即从哲学的角度上来说,它们都是人类为了克服与生俱来的恐惧而进行的创造、演化和发展。
人类到底恐惧什么呢?
我们可以注意到,人类本能当中有这样一个重要的共同点:对不确定的、感觉到威胁的事物具有强烈的不安全感。这就激发了人类尽量把这些恐惧的因素控制在最小 范围内的愿望。这也就是各个工程学科(包括系统及软件工程领域)在日积月累的发展历程中,逐步规范化、科学化、系列化以及统一化,最终保证人类在复杂环境 中,当不确定的因素存在时,依然能够进行有效的控制和协调。
基于同样的目的,计算机科学中也诞生了一个重要的概念,即“系统架构(System Architec
ture)”。
1997年,Eberhardt Rechtin与MarkW.Maier在其著名的研究论著中,为计算机科学界总结了人类在系统架构方面的实践成果,从而奠定了系统科学和系统架构在计算 机科学中的基石。他们通过实践总结,列举了一系列系统架构的应用领域:工业系统、航空系统、软件与信息技术系统等。无论是什么样的系统架构应用领域,应用 系统架构原理的目的都是一样的,即完整地、高一致性地、综合全面地、平衡各种利弊地、有技术和市场前瞻性地设计系统和实施系统。Eberhardt Rechtin 与MarkW. Maier这样的方法论级的实践总结,当然立即受到了工程界的热烈欢迎。因为本能的不安全感,会让我们不由自主地摒弃那些不确定的、不系统化的架构经验。
我们平常还能看到这样一种现象:有的行业的架构设计从业人员把自己叫做“系统架构师”(System Architect);有的软件工程领域的架构人员把自己也叫做“系统架构师”,而不是“软件架构师”。从比尔?盖茨称呼自己为“软件架构师” (Software Architect)来看,他非常明白这两个词的联系和区别。严格地讲,Eberhardt Rechtin与MarkW.Maier提出的“系统架构”或“系统设计”,与我们平时所谈到的“软件架构”或“软件设计”既有千丝万缕的联系,又有比较 明显的区别。
当我们把软件技术与其他技术(例如物理技术、化学技术、机械技术、电子技术等)一起放在历史的河流中进行比较时,我们就会发现:为了开发和生产一个产品,其他相关技术的投入和花费的逐年增长率,要远远低于软件设计与开发投入的逐年增长率。
在软件技术方面投入的增长率高于在其他技术方面投入的增长率,其主要原因是系统或产品不像过去那样严重受制于硬件或其他技术,而是更加依赖那些非功能方面的要求,这体现在更加依赖于系统对软件及其架构品质的要求。
我们可以以一个医疗行业的CT机(Computed Tomography,计算机X线断层摄影机)系统为例来进行分析。CT机是现代医学诊断中不可缺少的设备。通过X线束对人体的某一部分按一定厚度的层面 进行扫描,由于人体各种组织的疏密程度不同,X线的穿透能力也不同,所以检测器接收到的射线就有了差异。由此产生的信号转变为数字信息后由计算机进行处 理,并输出到显示屏上,显示出人体组织的图像,以发现病变并确定病变的相对空间位置、大小、数目等。
由于CT机的关键部件包括X线系统、高压发生器、检测器、成像系统、机架与床等,涉及电子、机械、图像处理、计算机等学科。综合考虑,针对CT机质量方面的系统级要求(CT
机系统级的要求其实很多,仅列出部分作为参考)如下:
安全性(Safety)
保密性(Security)
可靠性(Reliability)
健壮性(Robustness)
可制造和装配性(Manufacturability and Assembly,机械设计的人员对这个词不会陌生)
可测试性(Testability)
可服务性(Serviceability)
可配置性(Configurability)
可安装性(Installability,你可以在国际软件测试资质认证委员会ISTQB提供的软件测试标准术语表里到这个词)
可演化性(Evolvability)
可移植性(Portability)
计算机架构师证书可升级性(Upgradeability)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。