开篇讲架构之前,我们先谈谈什么是架构?

[size=large]一、架构的定义[/size]
这是一个只可意会不可言传的概念,来自度娘百科的解释是:架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。

度娘说,用于指导大型软件系统,诚然,架构对于大型软件系统尤为重要,但是一般的小型产品、项目也要关注架构、进行架构的分析和设计,才能使软件顺利开发、交付使用、维护简单。

[size=large]二、怎样做架构[/size]
架构方法论有很多,TOGAF将架构分成了几个维度,业务架构、应用架构、数据架构和技术架构并提供了一套闭环的架构设计方法。按照这一理论可以完整的考虑各个方法,并将各种架构进行有机结合。但是完全按照这套方法执行,那么所需要的人力物力也是可想而知的。所以,笔者推荐基于干系人场景的多视觉架构分析设计思路,既能满足干系人的期望,也能够保证项目或产品开发的进度。

[size=large]三、做架构的干系人有哪些[/size]
可以说,参与项目的所有人都是项目干系人,包括客户、用户,系统分析设计人员、系统开发测试人员、系统运维人员、过程质量管理人员等。我们要从这些干系人的角度出发,了解他们对于项目或产品的期望,抓住重点,对架构进行重点设计。我们要树立一个观念:这些人都是我们的用户,用户不仅仅是最终使用软件产品的人。对于这些角色的需求,满足那些,优先级如何,这就需要架构师和项目管理团队根据项目成本、工期等多种因素来权衡。

好了,本期就先介绍这些内容。我们推荐一本关于架构的书:《软件系统架构-使用试点和视角与利益相关者合作》。