浅谈系统应用架构及产品功能架构
怎么理解“架构”?这篇文章里,作者针对系统应用架构和产品功能架构这两大维度做了整理和输出,想了解架构设计的产品同学,不妨来看一下。
架构一词听起来就是个很高大上的东西,对于初中级产品经理来说接触更多的往往是产品功能架构。通过产品功能架构可以让我们跳出具体的某一个功能细节,站在更高的视角上去理解产品,设计产品和规划产品。而企业级的应用架构则需要产品经理具备很强的抽象能力和经验积累,才能设计出能够支撑公司战略发展和业务架构快速运转的合理架构。
一、系统应用架构
1. 系统应用架构定义及常用结构
系统应用架构的定义:企业级的应用架构起到了统一规划、承上启下的作用,向上承接了企业战略发展方向和业务模式,向下规划和指导各个IT系统的定位和功能。他包括了企业的应用架构蓝图、架构标准/原则、系统的边界和定义、系统间的关联关系等方面的内容。
现代化的企业架构通常包含以下六个层级:
- 对外系统:第一层是对外系统。所有供企业外部客户使用的系统都在这一层,包括官网、普通用户或客户使用的C端H5、APP等。
- 管理后台:第二层是与C端系统对应的管理后台。有的模块会被抽象成公共服务下沉到第五层。
- 业务单元支持系统:第三层是业务单元支持系统。绝大多数业务的开展都不可能只靠线上的运作来实现,这在B端企业中尤为明显,往往需要线下的销售(CRM系统),仓储服务(仓储管理系统)、智能生产(MES系统)等去支撑业务运作。
- 职能单元系统:第四层是职能单元支持系统。企业发展到一定规模后,必然会有完善的职能单元作为后勤部门,来支持业务单元的运转和企业的正常运作,例如法务、财务、人力部门,每个部门工作的开展都需要相应系统的支持。
- 基础服务支撑系统:信息化建设达到一定程度后,企业有必要将通用功能服务化、平台化,以提升服务效率,保证应用架构的合理性。这类系统主要给其他应用系统提供基础服务能力支持。比如各类中台系统。
- 数据底层和应用:和第五层类似,这一层主要聚焦于数据层面的统一和封装,对各个下游系统提供数据服务。如数据仓库等。
2. 应用架构设计原则
企业的不同阶段(初期、成长期、成熟期)以及不同的业务模式所采用的系统应用架构肯定是不同的。到现在为止也没有一套标准的应用架构设计原则,在设计时只能遵循一些通则。
二、产品功能架构
1. 产品功能架构定义
简单来说产品功能架构是产品经理用来表达自己产品设计机制的一种具象化的表达。它描述了产品的各个功能模块、子系统或组件之间的关系和交互方式。它将整个产品抽象成信息化、模块化、层次清晰的架构,并通过不同分层的交互关系、功能模块的组合、数据和信息的流转,来传递产品的业务流程、商业模式和设计思路。
2. 产品功能架构的作用
产品功能架构主要有对自己和对团队两个方面的作用,对自己能够帮助自己跳出产品实现细节站在更高的视角上去设计产品,规划产品。就像写文章前一定要列好大纲,能够帮助我们有更清晰的设计思路。产品是需要整个团队共同努力的,那么产品功能架构就像一份基本的产品说明书,让团队成员一目了然,让大家明确统一的方向。
3. 如何绘制B端产品功能架构
对于如何绘产品功能架构应该没有标准公认的方法流程,以下仅代表个人实际工作经验。
经典口诀:一理场景画流程,二列页面和模块,三把功能来聚类,四五纵横法上阵,一张好图胜千言。
在B端需求调研中得到的基本都是业务场景,业务流程、业务规则。在每个业务场景中,用户可能会操作访问不同的界面模块,就需要将这些场景中的共性内容抽离出来进行分类划分。
案例背景:随着某金融科技公司的不断发展,考虑将标准化风控能力和金融能力进行系统Saas化,实现各行业中核心企业与其合作客户的供应链金融贷款需求。
1)场景及流程抽象出模块
以下为部分核心场景举例。
在进行B端系统建设前要明确产品为不同角色解决什么问题,核心角色及其期望以及对应的核心业务流程。那对于C端来说这一步应该就是列举出问题域及核心功能流程。
2)明确架构分层
一个具备前后台关系的产品架构图至少分为三层:用户感知层(在何种场景下通过何种方式触达用户)、功能模块层(通过哪些功能模块实现产品的核心功能、和哪些外部平台功能有信息交互)、数据层(产品的数据从哪里来、产品的数据沉淀到何处去)。在本案例中涉及到核企及客户两个不同的使用角色,那么就会涉及到两套子系统。用户感知层可以通过PC端和H5端进行快速搭建。
3)加入信息流转
产品架构图在表达产品的核心功能外,也应该体现信息流动的路径:当前层级数据的交互形成产品功能,产品功能又产生新的数据,从而推动下一层级的功能运转起来。
4. 三种抽象思路
为什么从场景和流程中就可以抽象出模块呢?如何抽象的呢?以下是三种常用的抽象思路。
1)基于业务领域抽象模块
业务领域是一个很宽泛的概念,可能包括业务部门、业务单元、业务主体等。业务领域作为模块划分依据,让模块之间体现出了更强的内部聚合性及松耦合特征。
2)基于业务场景抽象模块
基于业务场景抽象模块和基于业务领域抽象模块的区别之处是,后者的内聚属性更强,和技术架构的模块设计比较贴合;而前者更多从用户体验和业务逻辑出发来做模块划分,在场景菜单下可能会融合多个模块的功能。
WMS系统的菜单设计,一级菜单包含了运输管理、进货管理、出货管理、退货管理、盘点管理等模块,这些都是典型的仓配业务场景。
3)基于业务对象抽象模块
将业务开展运作中关键的业务对象(人、事、物都有可能)定义成模块,比较有代表性的是给销售团队使用的SFA CRM。
三、系统、模块、功能的区分
企业级系统应用架构是站在更高的业务全景视角去设计的,合理的企业级应用架构可以快速支撑企业开展新的业务模式。
而产品功能架构只是单纯的从产品功能聚合角度把一类相关性强的功能聚合在一起,从而方便进行功能分组管理,帮助团队对产品形成统一的整体认知。相比于企业系统应用架构,产品功能架构是初中级产品经理接触更多的一种架构图。他更关注于某一系统的具体功能模块划分。
本文由 @B端阿超 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于 CC0 协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
- 目前还没评论,等你发挥!