近十数年,全球软件产业已经取得了显著的进步,软件从业人员的数量不断增加,软件项目的规模和复杂度不断攀升,软件开发组织的人员结构也因专业不断细分而日趋复杂。
因兴起时间较晚,发展的时间相对还很短,软件业从建筑业和制造业等其他成熟的工程学科中借用了许多概念和隐喻。“软件架构”和“软件架构师”,便是借用了建筑设计中的概念。从UML(统一建模语言,Unified Modeling Language)和软件模式(Pattern)相关的早期著作中,可以清晰地看到这种概念移用。
借用其他行业的概念会带来一些消极影响。比如在早期阶段,一些“软件工程”研究人员和软件项目管理人员,试图以建筑业的项目管理视角和技术来管理软件项目,制造出了“瀑布式”软件开发过程,给软件业带来了长期的不良影响。但是,经过实践验证,“软件架构”确实推动了软件开发技术的发展,为业界广为采纳并日益受到重视。
现如今,“软件架构师”已成为许多软件开发组织职位模型(Job Model)中的标准设置。“软件架构师”也已成为众多软件开发人员梦寐以求的职业巅峰目标之一。
业界许多大师和专家总结分享了他们在软件架构设计方面的技术和经验。在软件技术书籍市场上,已经可以找到许多与“软件架构”主题相关的书籍。
不过,现有的软件架构书籍从技术视角进行总结阐述的居多,如已有5卷本行世的《基于模式的软件架构 (Pattern-Oriented Software Architecture,POSA) 》,主要阐述的是软件架构的风格、解决特定问题或特定领域的软件架构设计技术与模式等。这些书籍当然都非常有益,甚至,可以说成为了软件架构师的必读书目。
但是,即使已经将这些软件架构设计的技术、模式烂熟于胸,可能还无法保证你能够成为优秀的软件架构师。
为何会这样?
正如《建筑十书》的作者、古罗马著名建筑师维特鲁威所说:“理想的建筑师应该既是文学家又是数学家,他还应通晓历史,热衷于哲学研究,精通音乐,懂得医药知识,具有法学造诣,深谙天文学及天文计算。”
优秀的软件架构师,必须多才多艺、成熟练达、经验丰富,具备极强的洞察力,能够领导和提升软件开发团队,去构建整齐有序、均衡合理、可持续发展演化的虚拟数字世界中的伟大建筑——优秀杰出的软件产品。
本书提供了分享软件架构知识的新方式,拓宽了阐述软件架构艺术的视角,总结了50多位经验丰富的软件架构师的实践经验,范围覆盖了软件架构师的职业操守、技术技能、思维模式、领导力、和客户的沟通交流、权衡利弊的平衡感等主题。
全书由97篇格言式散文构成,没有高调的说教,没有抽象的术语,而是以平实、幽默、智慧的笔触,将他们认为对成为优秀软件架构师而言至为重要的精髓和盘托出。全书犹如一块玲珑剔透的水晶,97个切面折射出来的都是出自一线软件架构师的专业智慧。
本书第1~49篇由徐定翔翻译,第50~97篇由章显洲翻译。我们在翻译的过程中得到了许多人的帮助。余晟认真审校了全书的译稿,细致地指出了我们翻译不当之处;郑兆昭老师对书稿的润色让我们受益匪浅;统稿编辑白爱萍一次又一次容忍了我们修改定稿的要求。最后要感谢家人给予我们的宽容和支持,使我们能够安心埋首于书稿中。
由于时间仓促,加上我们水平有限,书中难免有翻译错漏之处,有些词语的翻译也许有争议,请广大读者和同行不吝指正。大家可以通过邮箱97things4architect@gmail.com和我们联系。
译者
2010年春
分享到:
相关推荐
许多程序员可能并不知道,C++不仅是一个面向对象程序语言, 它还适用于泛型编程(generic programming)。这项技术可以大大增强你的能力,协助你写出高效率并可重复运用的软件组件(software components)。 本书由...
《公共事物的治理之道》中文版译序.docx
其中的宝贵经验无论是对架构师,DBA,还是资深工程师,甚至产品经理都会有帮助。 这是一本理论结合实践的书,书中很多问题,译者在实际场景中都曾遇到过,读来让人击穿节日的腕。如果能早点读到这本书,那少走多少...
解释信息密码的一本很奇妙的序,资源概述,文档片段,20字不是问题
Cortex-M3是ARM公司推出的一款针对微控制器市场的32位处理器,属于ARM Cortex系列处理器中的一个产品。该处理器设计用于需要实时、低功耗和低成本解决方案的嵌入式应用。Cortex-M3处理器引入了一个与之前ARM处理器...
### More.Effective.C++简体中文版核心...通过深入学习这本书中的每一个知识点,开发者可以更加熟练地掌握C++,提高软件开发的质量和效率。无论是初学者还是经验丰富的程序员,都能从中获得宝贵的见解和实用的技术。
该书深入探讨了如何更高效地使用C++进行编程,并分为多个章节介绍了一系列具体的实践建议。 #### 二、译序要点 **侯捷** 在译序中提到,C++是一种既难学又易用的语言,它的复杂性来源于其广泛的语法、语义以及背后...
### 更有效的C++:深入掌握高级编程技巧与最佳实践 #### 概述 《More Effective C++》是一本由Scott Meyers编著的经典C++书籍,由台湾著名程序员侯捷先生翻译并作序推荐。本书旨在帮助读者深入了解C++语言的各种...
使用软件WinTabber来组织多个Telnent窗口 内存和CPU利用率问题 IOS映像文件的解压缩 Frame Relay、ATM、Ethernet交换设备 分组捕获 保存和load网络拓扑 Client/Server和Multi-Server模式 Console工作区和Dynagen命令...
- **译序与导读**:侯捷先生作为一位资深的软件开发人员及技术作家,在本书中提供了详尽的译序与导读,有助于读者更好地理解书中内容并掌握其精髓。 - **Item 1~28 (ZHC)**:这部分内容可能涵盖了C++编程的基础...