前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数字化转型之高阶设计的正确打开方式

数字化转型之高阶设计的正确打开方式

作者头像
yuanyi928
发布2019-07-30 15:44:31
7340
发布2019-07-30 15:44:31
举报
文章被收录于专栏:EAWorldEAWorld

设计是数字化系统落地生根的关键环节,数字化系统的胎儿由设计环节孕育。

为何说设计是胎儿呢?

因为如果说业务是受精卵,是本源,那么需求就是受精卵裂变的过程,设计阶段完成了生命的初步定型,胎儿的基本要素大脑、心脏、四肢、内脏、性别均已生成,正在等待出生后的快速勃发。

因此,高阶设计的内涵是构造数字化系统的大脑、心脏、四肢、皮肤,大脑是总体架构,心脏是数据结构,四肢是组件或服务以及应用系统,皮肤或者外表是UI或者展示。

我们同样采取Rational提出的基于面向对象的软件工程RUP方法论,基于RUP方法论,对总体架构、数据结构、组件和服务、应用功能、应用展示进行设计,从而构造一个完美的产品蓝图和产品模型。

同时,高阶设计需要遵循系统论,先宏观后微观,先抽象后具体,层层细化。

一、如何规划数字化系统总体架构?

总体架构涵盖三个视角的架构,其一,建设者的视角,即从建设的视角审视,数字化系统的整体框架和内部关系,这决定了数字化系统的建设内容。其二,使用者视角,即从用户的视角审视,数字化系统的服务框架和内部关系,其三,管理者视角,即从管理和运维的视角审视,数字化系统的管理和运维框架及其内部关系。

建设者视角的总体架构,包含逻辑架构、技术架构、数据架构、物理架构。逻辑架构是说明整体框架、子系统、模块及其内部关系,侧重功能角度。技术架构是建设数字化系统所采用的技术路线、技术组件、技术框架,侧重技术实现角度。数据架构是从数据的来源、采集到存储、处理以及利用的整体过程,侧重数据资源角度。物理架构是数字化系统的物理部署框架,包含负载、网络、存储、服务器、安全、软件集群等,侧重系统的物理形态角度。

架构表达包括层次架构、洋葱架构等,层次架构着重数字化系统的组成部分间的层次关系。洋葱架构则着重与核心-外围的依赖耦合关系,以保险系统为例,处于核心位置的是领域模型,中间是应用层,外围是适配层。

最佳实践是,通过需求阶段输出的对象分析,设计数据结构,通过需求阶段输出的系统用例定义组件和服务,或者从应用系统中抽取共享的功能同样可以定义组件或者服务。通过需求阶段的需求边界、高层用例的分类聚合定义子系统及子系统的逻辑关系和集成关系,构建数字化系统逻辑架构。

如下所示:

层次架构示意

依据逻辑架构,研究需要的技术路线、技术组件、技术框架,并构建技术架构。以保险营销系统为例,如果需要对用户进行精准互联网营销,需要通过互联网、微博、微信采集用户数据、用户活动区域数据和用户的行为数据,对用户进行大数据分析,对用户画像,然后通过微信广告、微博广告精确投放,使潜在用户转化为购买用户。这个系统需要采用大数据平台的技术路线,选择hadoop生态组件包括hdfs、hbase、mapreduce、zookeeper、sqoop、flume等技术组件,以大数据分析平台作为底层支撑平台,完成数据采集、处理、存储、分析的完整过程。

依据对数据的结构类型、分布范围、容量等分析,对数据的生命周期,包括产生、传递、存储、处理、应用等过程进行框架性定义,确定数据架构。如下所示:

数据架构示意

根据数字化系统对于IT基础设施的需求,定义数字化系统物理部署架构。

强调一点,架构设计的关键原则包括稳定、解耦、松耦合、容错。简单、稳定是架构的核心关切。解耦内涵是稳定部分与易变部分分离、核心业务与非核心业务分离、主流程与辅流程分离、应用与数据分离、服务与实现细节分离,松耦合的内涵主要是异步,容错内涵包括服务自治和集群容错,服务自治指的是服务能彼此独立修改、部署、发布和管理。避免引发连锁反应,集群容错指的是应用系统集群,避免单点。

二、如何规划数据结构?

基于需求阶段输出的对象分析,衍生出信息资源,数据结构即信息资源的组织方式。通过对信息资源的分类、分布、存在形态、容量的分析,进行总体的梳理与规划,确定信息资源的描述方式、存储方式、利用方法,最后规划信息资源数据库。

最佳实践是结构化的信息资源采用关系型数据描述,用关系型数据库管理,采用集中式存储设备存储,采用标准关系型数据访问工具进行利用。

视频、语音、图片等非结构化信息资源采用对象、列式或者文件数据库进行管理,采用分布式存储设备存储,采用文件或者对象访问工具进行利用。

最后,规划信息资源的数据库工作包括划库、切分子库、定结构、数据管理等。

如何划库?

根据业务主题、数据类型等划分不同的数据库,以保险业务为例,由于用户、保单流程、理赔记录等业务数据是结构化数据,采用关系型数据库存储,所以建立业务数据库,而电子保单或者纸质保单影印件是非结构化数据,采用文件数据库或者对象数据库存储,所以建立保单影印件数据库。

如何切分子库?

根据业务主题、用途或数据容量切分子库,可以依据业务主题切分子库,比如产险和寿险建立独立的子库,可以依据业务用途切分子库,比如保险业务库和保险统计分析库建立独立的子库等,可以将数据容量过大的数据库横向或者纵向切割。

如何定结构?

定结构主要依据需求阶段输出的对象模型中的对象属性而定,同时参考约束和限制,保证系统管理所需的管理属性。

需要注意的是,规划数据结构的原则包括:统一数据视图(保证数据的及时性、一致性、准确性、完整性)、数据、应用分离(应用系统只依赖逻辑数据库)、数据异构(源数据和目标数据内容相同时,做索引异构。内容不同时,做数据库异构。如订单买家库和卖家库。)、数据读写分离(访问量大的数据库做读写分离、数据量大的数据库做分库分表、不同业务域数据库做分区隔离)。

三、如何设计组件和服务?

组件服务是能够及时地执行正确的处理关健业务过程的应用程序。

为何需要组件服务呢?主要原因是需要降低系统的耦合度、共享、高性能和高稳定性。大型系统的复杂结构使得系统运行管理难度大幅升高,采用组件服务,将降低程序的耦合度,更易共享,通过高强度的组件应用,将提升组件的稳定性,并通过特殊的性能优化,提高组件服务运行的性能。

组件服务的目标是独立、完整、自由组合,尽可能把设计与开发中的元素独立化,使组件服务具备完整的局部功能,通过自由组合来构成整个系统。

所以,组件服务设计的关键原则包括可复用、松耦合、可治理,可复用内涵是复用粒度是有业务逻辑的抽象服务,而且服务引用只依赖于服务抽象。松耦合的内涵是跨业务域调用,尽可能异步解耦,而且相对稳定的基本服务与易变流程服务分层,可治理的内涵是组件服务可开关、可监控等。

最佳实践是,通过对系统用例的实现,将标准、通用的用例设计为组件或者服务,供子系统共享,以保险系统为例,工作流引擎、报表引擎、搜索引擎、cms等,均可作为组件服务进行研发或者采购。

强调一点,组件服务采用洋葱架构设计将更清晰,因为组件的外部交互服务是组件对外通讯的接口,强大的外部交互服务能力是组件服务的关键价值。

四、如何设计应用系统?

应用系统是数字化系统的核心业务服务功能,数字化系统的业务价值主要通过应用系统功能实现。

应用系统总体设计的内涵包括应用架构蓝图、子系统以及模块的边界和定义、子系统以及模块间的关联关系等。子系统或者模块的设计,要体现出同一个业务职能单元中不同业务场景和操作的集合。

设计师依据需求阶段输出的高层用例进行子系统切割,根据用例的耦合度和聚合度进行模块划分,通过使用用例的实现定义功能点。

功能点设计的内涵包括角色、功能点、功能逻辑、数据流向、异常处理等。

最佳实践是通过使用用例设计数字化系统的服务功能,通过运营管理用例和运维用例设计数字化系统的管理功能,通过外部服务用例设计系统的外部服务接口。

五、如何设计原型?

原型是数字化系统的外延展示,以高保真的模拟,展示数字化系统的全景。

原型设计的基点是功能设计,辅以UI设计、页面流、数据流设计,全流程、全覆盖的模拟系统运行。

最佳实践是基于需求阶段输出的流程来定义页面流,即原型的总体框架和页面流转关系,基于应用系统功能设计确定功能的展示页面,通过UI设计,定义页面布局和结构,基于数据结构定义页面元素,完成这一系列的动作后,将所有页面有机的组成一个整体,即可完成页面原型的设计。

总之,高阶设计为用户和建设者精确定位了数字化系统的蓝图、建设方法、技术路线、系统全景视图,是系统从天空落向人间的天梯,助您目标正确、路线正确、执行可控的完成数字化系统建设和运营管理。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 EAWorld 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档