有不少web项目经理同时兼任架构师的角色,包括我。
一般而言,我们指的架构,多指技术上的架构,硬件上的架构。
最近在豆瓣上看书评时,看到一个概念:web项目,从不同的角度,可以分为三种架构:业务架构,信息架构,技术架构。
业务架构以赚钱为中心,信息架构以用户为中心,技术架构以稳定为中心。架构的目标,是要建立一个坚实的、经得起时间考验的体系。过度强调哪一方,都会不同程度的对整体造成影响。
最近做项目总结的时候想起该理论,觉得这样的思路很好,套用在项目的需求分析和系统设计阶段,可以让分析的目的更明确,更有效。
在项目初期需求分析阶段,如果从上述三个架构入手,把思路和疑问理清之后,整个项目的脉络就基本清晰了:
业务架构:网站的主要用途是什么?网站如何盈利,如果非盈利性网站,网站的价值是什么?网站所属的行业?网站的使用者是哪些人群?......
网站的业务架构是网站存在的价值,决定网站的功能,流程,样式,页面设计,因此充分理解业务架构是需求分析的基本工作。其涉及的文档(或最终形成的文档)有:页面迁移图,画面详细设计书等。
信息架构:即网站的数据组织。各种数据之间的依赖,从属等关系系。数据的关系,规模,要相应的采用不同的信息架构。其涉及的文档(或最终形成的文档)有:数据字典。
技术架构:即我们最常说的架构,含程序的架构,服务器的架构。需求分析阶段,对技术架构就一定的轮廓,比如要涉及到什么技术,需要多少服务器,有个基本的判断是必须的。因为必须考虑技术上和成本上的可行性。而到系统分析阶段,技术架构就应该具体化,文档化了。其涉及的文档(或最终形成的文档)有:模块设计书,系统设计书,Top Risk list(风险列表)等等。
随着经验的增长,该文会陆续完善~