架构之美第七章-软件架构师的角色

        软件开发项目需要一些人在软件构建时扮演架构师的角色,就像构建或修复建筑时传统的建筑师的角色一样。但是,对于软件系统来说,从来就弄不清楚哪些决定属于架构师
的职责范围,哪些决定要留给实现者。定义架构师在软件项目中做什么,比建筑师的类似定义更困难, 原因有3 个因素: 缺少传统、产品无形性和系统复杂性。( 参见
Grinter[1999],其中描述了软件架构师如何在一个大型软件开发组织中实现她的职责。)

具体来说:

• 建筑师可以回顾几千年的历史,看看过去的建筑师都做过些什么。他们可以参观并研究那些矗立了几百年的建筑,有时甚至有上千年历史的建筑,而它们仍在使用。在软件业,我们只有几十年的历史,并且我们的设计常常是不公开的。此外,建筑师拥有并利用标准来描述他们制作的图纸和规格说明,这让现在的建筑师能够从记录下来的架构历史中受益。
• 建筑是有形的产品,在建筑师制作的规划和工人修造的建筑之间存在着明显的区别。

架构复用
圣索菲亚大教堂(Hagia Sophia,上图),建造于公元6世纪,率先使用了所
谓的“穹顶”结构来支撑巨大的圆形屋顶,它是拜占庭建筑之美的代表。
在1100年之后,Christopher Wren使用了同样的设计来建造圣保罗大教堂的
穹顶(St. Paul’s Cathedral,下图),它成为伦敦的地标性建筑。这两座建筑
在今天仍在使用。

           在大的软件项目中,常常会有许多架构师。某些架构师相当专注于特定领域,如数据库和网络,他们一般作为团队的一部分,但目前我们假定只有唯一一位架构师。

你可能感兴趣的:(架构之美第七章-软件架构师的角色)