软件架构师不是建筑架构师。他们之间除了名字,没有任何的共同之处。把软件架构师和建筑架构师类比,甚至把他们等同起来,是一种错误的观念。
建筑是实体的,软件是形式的。实体的建筑以结构为其主要内容,辅以少量动态的考虑(给水、排水及其他)。软件则是静态的结构和动态的行为的结合体。从这个角度,建筑师的建模主要是静态的建模,比一个机械工程师,他多了蓝图的绘制的工作;而一个软件架构师不仅要对软件的结构进行建模,还要对软件的运行时刻的行为建模。
建筑是一次性的,软件是演变的。虽然我们也说“旧城改造”,但那是拆了重建,而不是在原基础上改造。一栋造好的楼房,是不能在上面再增加一层的。软件则是在原基础上修改,以满足用户需要。在这个前提下,建筑的架构是不会改变的;而软件在多次修改的情况下很可能触及架构上的变动。所以
软件架构师必须在软件的整个生命周期中时刻注意架构是否会变化,并且可能会主动调整它。
在建筑设计中,必须满足结构力学等基本原理,否则生产出来的建筑本身的使用质量没有保证,这是一个强制的要求,也存在相关标准。而软件在设计上只有一堆原则,指导我们设计。即使你没有遵循这些原则,生产出来的产品一般也是可用的,具有使用质量,但产品改进的质量就难说了。因此软件的设计也比较难以把握,生产一堆可用的垃圾的情况比较普遍。
建筑投资商往往给出一些量化的数据,建筑师把这些量化的数据转变成一个实际的建筑,在这个过程中一般不会有大的偏差。而软件尤其是应用软件,强烈依赖于用户的需求。我们设计应用软件,基本上等同于对用户的行为进行建模,在目前对于人类行为的研究远远低于对于基础数学、物理学研究的情况下,一次成型的软件是不可能存在的。应用软件的开发,基本可以描述为“在变化的基础上工作”。
在满足使用质量的前提下,建筑师极力追求建筑的外形。而软件也有这样做的(国产的一些网页,大家是否也觉得恶心呢?)。但一般用户在满足其开始的外在表现的要求之后,慢慢就越来越关注软件的内容,关注软件是否真的帮助到了他们的生活,并且开始发起一次次的修改请求。
综上所述,软件架构师和建筑师的差别巨大,试图以建筑师的角度解释软件架构师,甚至想找到一个类似的解决之道,是不可行的。而对于初步接触架构师的人来说,总是把架构师和建筑师对比也很容易误导他们。类比固然可以帮助理解,但也可能造成误解。
从另一个角度考虑,假设软件架构师和建筑师确实可以互通,那么如果存在一个既是软件架构师又是建筑师的人,他就可以领导软件产业一往无前了。可是这么多年来,为什么没有这样一个人呢?

建筑是一次性的,软件是演变的。一个特定的建筑是一个时代的象征,它不仅不能变,人们还希望它能以老样子一直存在下去。我们的故宫,长城。总不能把故宫再利用成某某步行街,某某大卖场。软件的关键就在这个软字上了。
分享到:
相关推荐
本文将详细介绍CAD-3D-PS软件在园林景观设计中的应用范围、制图流程以及文件互动传递的相关技巧,并对实际应用中可能遇到的难点提出解决方案。 首先,我们需要了解CAD-3D-PS软件的三大组成部分:AutoCAD、3ds Max和...
建筑设计软件在现代建筑行业中扮演着至关重要的角色,它们极大地提升了设计效率和表现力。...总的来说,了解并熟练掌握这些软件的特性和技巧,对于建筑师来说,不仅可以提高工作效率,还能增强设计的创新性和表现力。
报告中还提到了一些行业数据和分析师的信息,例如在2020年12月26日发布的证券研究报告中,分析师对建筑装饰行业的评级为“强于大市”,并提供了分析师的联系方式、行业走势图、相关报告资料来源等。 总结来说,装配...
报告预估未来五年新建装配式建筑面积的年均增速约为16.66%,这将为相关的产业链,特别是预制混凝土(PC)和预制建筑系统(PS)领域的龙头企业带来持续的高增长动力。 其次,报告提出了制造业投资复苏带来的专业工程...
文档中以列表的形式列举了从首席执行官(CEO)到普通员工,如前台接待、保安经理、采购专员、客服助理、软件测试工程师、程序员、设计师等不同层级和职能岗位的薪酬数据。每个职位对应的起始页码,可以引导读者快速...
HP-GL/2还支持混合模式存储光栅和矢量图形信息,特别适合于建筑布局图、等轴测效果图等光栅和矢量混合图形的打印需求。 综合来看,HP-GL/2打印语言在输出质量、打印速度、可靠性和兼容性等方面都具有明显优势。用户...
虚幻引擎4是由 Epic Games 开发并广泛应用于游戏开发、视觉效果、建筑可视化、实时三维动画等领域的强大工具。它提供了完整的开发套件,包括图形渲染、物理模拟、音频处理、脚本系统和一套完整的编辑器,使得开发者...