构建软件的设计方法
这篇书评可能有关键情节透露

《架构之道》的作者是微软公司认定的知名专家和行业领导者之一,参与了C#,WCF等相关技术的内部设计审查,具有『软件传奇』的称号。本书是作者根据自己在世界各地的软件项目经验进行总结归纳,汇集其软件架构思想的精华。虽然读起来并不容易,但认真读一读,或许会有收获。
说到架构,不单单只有软件开发,生活中用到架构的地方太多了。小到生活用品,大到企业,国家,架构存在于任何地方,任何事情上。所谓『谋定而后动』说的也是一种架构的设计和实现。
具体到软件开发上,架构更是构建了软件的整体基础。从最早的『大教堂与集市』的讨论,软件工程的架构随着技术的发展进行着不断的更新,但软件工程的基本原理,以及配套的工具和技术则有规律可循。
比如,本书中提到的『元设计方法』。
元设计方法=系统设计+项目设计
软件工程开发是一项复杂的任务,它涵盖所有工程项目的方方面面。成本、进度、需求、人员配备、维护和质量管理,没一部分都是影响决定软件工程最终结果的关键步骤。元设计方法将软件工程分为系统设计和项目设计,再对这两部分进行细分和单独设计,本书也是基于这两部分展开论述的。
系统设计中,注重将系统分解和模块化,这是软件开发中常用的方法。不管一个小的软件,还是一个庞大的软件系统,大系统分解为小系统,大模块拆分为小模块,是软件开发顺利实施的基础。
一个架构师,非一群架构师
一个经验丰富的架构师负责整个设计,而非多个,这是因为整个系统是一个整体,涉及到的各个子系统需要有一致性和完整性,不要因为架构师个体和习惯的差异,导致软件开发中的不连续和理解差异。
项目设计中,需要按照工程的实现去考量。如何把控成本,如何对进度跟踪,如何对风险管控,如何对各个小系统做最后的整合,项目设计比系统设计更为复杂,更需要额外的思想和方法。
把公司的钱当作自己的钱
对于庞大复杂的软件工程,项目设计如果不能从最实惠、最安全的构建方法出发,不考虑成本,结果一定烂尾。项目设计,首先是职责意识,尊重公司的资产,对自己的行为负责,认真细化项目设计中的每一步,认真进行架构和估算,预留风险缓冲时间。
整体上,本书对软件工程的构建进行了方法的论述,作者也是非常有经验的软件管理专家,全书不仅有系统的论述,也有很多值得关注的观点。但本书对理论论述的部分有点多,公式也比较多,读起来有点枯燥,很多地方没有相关背景知识,也比较难理解。如果能少一些枯燥的公式,读起来也许更有趣些。