上次在总结后台产品从0到1的全流程时,提到后续将分独立文章来总结一下后台产品设计过程中的三项基础设计要点:应用架构图、权限设计和工作流设计。本篇主要总结对应用架构图理解和运用。
首先明确应用架构的定义,从百度百科上即可了解到何为应用架构:
应用架构(Application Architecture)是描述了IT系统功能和技术实现的内容。应用架构分为以下两个不同的层次:
- 企业级的应用架构:企业层面的应用架构起到了统一规划、承上启下的作用,向上承接了企业战略发展方向和业务模式,向下规划和指导企业各个IT系统的定位和功能。在企业架构中,应用架构是最重要和工作量最大的部分,他包括了企业的应用架构蓝图、架构标准/原则、系统的边界和定义、系统间的关联关系等方面的内容。
- 单个系统的应用架构:在开发或设计单一IT系统时,设计系统的主要模块和功能点,系统技术实现是从前端展示到业务处理逻辑,到后台数据是如何架构的。这方面的工作一般属于项目组,而不是企业架构的范畴,不过各个系统的架构设计需要遵循企业总体应用架构原则。
简而言之,应用架构图分为两类,一类为多系统应用架构,用来分层次说明不同系统间的业务逻辑关系、信息流、系统边界等等。一类为单系统应用架构,用来分层次说明系统主要组成模块和功能点之间的业务逻辑关系。
从应用架构图的描述方式或岗位角度而言,又分为系统功能性架构图(或叫业务架构图)和系统技术层次架构图(或叫技术架构图)。两者的差异如下:
架构图类型 | 适用岗位 | 定位 |
---|---|---|
业务架构图 | 产品经理 | ①帮助产品经理基于对企业业务系统生态有全局掌握的情况下参与制定业务决策。 ②帮助产品经理梳理新增系统在企业应用生态中的定位以及和其他系统之间的关系 |
技术架构图 | 技术人员 | 帮助技术人员搭建良好的技术规范和编码大纲 |
一般而言,由于现互联网公司产品经理越来越聚焦于功能设计和业务决策,而技术人员则越来越聚焦于技术设计。所以对于产品经理而言,架构图的运用则侧重在业务架构图上,技术架构图则由技术经理负责。当然产品经理如果也有技术背景,有能力理解技术架构图则更好。
下面分别引用网上大神所做的架构图例子来说明何为业务架构图,何为技术架构图。
技术架构图
由上图可见,技术架构图的特点在于用技术语言来描述系统的七个层级。
业务架构图
业务架构图可以按多系统业务架构图和单系统业务架构图进行说明。
多系统业务架构图
由上图可见,业务架构图是从业务逻辑的视角出发,为产品经理整齐地展现出一个企业各类系统之间的层次和关系。在产品大神杨堃的《深度|从一个故事说起,谈谈企业应用架构的演变史》一文中,形象地为我们描述了业务架构图从无到有的过程,非常值得各位产品人学习的。下面就根据大神的经验说一下自己对业务架构图的理解。
业务架构图按照层次结构可以分为经典的三层结构:展现层、业务逻辑层和数据层,而上图作者在该基础上又分别对展现层和业务逻辑层做了细分。在上图的基础上其实还可以加上一层运维层来说明系统所需要的硬件条件。对于单个系统的架构图而言尤其重要。
一级层次 | 二级层次 | 说明 |
---|---|---|
展现层 | 前端 | 面对外部客户的客户端、Web官网、公众号、小程序等 |
后台 | 面对内部人员的后台系统 | |
业务逻辑层 | 业务单元支持系统 | 主要指可以在同一企业的不同子系统中复用的支持同类业务的单元系统 |
职能单元支持系统 | 主要指企业职能部门使用到的OA、邮箱等系统。一般中小企业这块都是相对比较独立的。比较难嵌合进其他业务系统体系中。 | |
基础架构支持系统 | 基础业务逻辑,包括账号体系、鉴权授权体系、定位、短信、支付等等 | |
数据层 | 数据仓库 | 负责打通各系统之后的全部数据存储和处理 |
运维层 | 运维层 | 主要指企业各系统的硬件环境 |
使用多系统应用架构图还有一个好处在于,每当有新增的子系统时,可以提前预判是否需要共用哪些单元或者业务逻辑。例如是否用同一套账户体系,这对产品前期开发至关重要。
单系统业务架构图
对于一个从0到1的项目而言,产品经理除了要了解这个项目在整个企业应用架构中的定位,还要对整个系统的模块和功能有着清晰的分层次设计和了解。所以产品经理就不仅需要多系统业务架构图,也需要单系统业务架构图。
由上图可以看出,单系统应用架构图分层可以和多系统应用架构图一致。但是每个层次里面的说明单元就变成功能模块,而非子系统。
应用架构图看起来和具体功能设计没太大关系,但心中存在这一张图时,可以从整个大局去设计系统,做好提前布局,避免后期出现巨坑。