论基于架构的软件设计方法及应用(ABSD)

摘要

2020年6月,我司自主研发了在线多媒体设计行业的业务中台系统。系统以支撑各前台业务满足文件采购入库、运营一键分发、用户在线设计、文件存储等需求提供可重复使用能力,形成一次建设多次使用。系统以用户在线上传/编辑素材与模板完成设计工作为主要核心,按领域分为内容供应、内容管理、内容分发、用户管理、商业化、文件管理等模块,支持B/C端系统快速接入,在项目中我担任系统架构师角色,主要负责内容为架构设计。本文主要以该系统为例,论述基于架构的软件设计方法在该系统设计中的应用,主要以架构需求、架构设计、架构实现展开介绍。架构需求阶段主要以用户访谈调查、竞品分析、团队内部讨论获取各业务系统通用功能性需求;架构设计阶段使用DDD思想基于功能需求做好领域分层,结合业界通用的架构解决方案解决需求中描述的场景;架构实现阶段对系统构件进行获取、开发和组装。 最终系统成功上线且保持稳定迭代,为公司高速发展的业务提供了快速实现的底层支撑,受到团队内外一致好评。

正文

笔者在一家深耕于在线多媒体设计行业的互联网企业任职,在APP/WEB/H5等多端都曾推出广受欢迎的在线设计产品。但因为一部分历史原因,导致公司内部技术架构混乱,存在功能多处重复开发、数据越狱、语言异构难以对接等问题,故在2020年6月我司立项业务中台系统,用来解决旧架构存在的上述问题。
我司主营业务主要以用户在线多媒体设计为主要核心场景,所以中台系统从功能领域可以分为内容供应、内容管理、内容分发、用户管理、文件管理等模块。内容供应模块主要负责来自用户侧(专业设计师、我司)对于多媒体数据资产的需求供应,用户可在该模块发起需求,由专业设计师在线接单,经过设计、交付、评审、入库等流程完成完整数据供应流程,为后续的分发与管理提供数据源支持;内容管理模块主要是针对用户在平台上设计的成品、自主上传的文件素材、来自供应模块提供的交付成品等进行逻辑入库、分类打标、元信息解析、文件多维度搜索功能;内容分发模

你可能感兴趣的:(架构)