谈对业务系统的切入

标签: IT咨询 | 发表时间:2013-08-09 21:03 | 作者:人月神话
出处:http://blog.sina.com.cn/cmmi
在这里想谈下对于一个原来没有接触过的新行业的新业务系统切入的方法,当然谈这点的时候首先是需要已有有一定的IT行业其它业务系统的工作经验,包括业务和技术双方面的积累,那么在这种情况下如何快速的切入一个新的业务系统,就需要注意相关的方式和方法方面的问题。

粗粒度的全局了解

接触一个全新的业务系统,首先要搞清楚这个业务系统主要是支撑什么样的业务?而对于支撑的业务本身又有两个核心内容,即核心的业务流程是如何的?核心的业务对象模型是如何的?在这个了解清楚后可以继续了解这个业务系统大致会有哪些核心的业务功能模块,业务模块之间的相互关系是如何的?已经如何衔接的。

有时候了解到这个层面可能还不够,你还需要了解这个业务系统可能是支撑端到端业务流程或共享业务数据的一部分,那么还需要了解到这个业务系统或支撑的业务在端到端流程中所处的位置,该业务系统和上游业务和下游业务的关系,相互间的协同和接口。

业务系统支撑了什么样的业务,存储了哪些核心业务对象和数据,这是对一个业务系统最基础的全局理解。

动态了解-流程模型


在对业务系统有了一个全局的理解后,需要开始进一步考虑流程模型方面的内容。注意在这里指的流程模型不是指工作流或人工审批流模型,而是指业务流程模型。或者说了解业务系统本身在分析设计中所涉及到的业务建模方面的内容。

业务建模或业务流程模型的了解需要解决的问题是,一个业务系统为何会存在这些业务模块,这些业务模块之间是如何进行协同来支撑业务流程的。任何业务模块都会有输入和输出,了解清楚业务模块的输入输出后就能够比较清楚业务模块之间是如何串接和集成来支撑上层的核心业务的。

如果一个业务系统按SOA思想来建设,你可能会看到有哪些上层的核心业务模块,核心的领域服务层和底层的数据模型层,核心的业务模块本身是如何调用核心领域服务来进行协同和衔接的。只有清楚了业务流程才可能理解清楚业务模块之间的协同和集成关系,否则你看到的是孤立的业务模块,业务模块和业务流程之间出现断点而无法真正想清楚业务模块间如何协同来支撑业务的。

如果一个业务系统本身是流程型的业务系统,这些流程又大量是审批流为主,那么即使审批流定义再复杂,整个业务系统本身也是简单的,因为不存在上面所说的大量业务模块间协同情况。

静态了解-数据模型


对于一个业务系统的复杂往往体现在两个方面,一个方面是本身业务模块间的协同和交互复杂,一个是底层的数据模型和关系复杂。在解决了第一个层面的动态分析问题后,就需要开始考虑第二个层面的数据模型了解层面的问题。

任何业务流程,模块间动态的协同最终都将持久化到数据库中,成为数据库中的数据表和数据表之间的关联依赖关系,映射关系。业务系统前面谈到过或者是以流程为中心的业务系统,或者是以数据为中心的业务系统,对于数据为核心的业务系统必须理解底层的数据模型。这种数据模型的理解首先是要理解元模型结构,这种结构不是简单的单个数据对象,而是多个数据对象之间的关联关系,映射关系,层次关系等。正是由于数据之间有这些关系,而形成了一个复杂的数据网络。

对于数据模型的理解基本可以分为如下几种,一种是单对象的结构,包括主从,层次等各种结构;然后才是对象和对象之间的关联依赖结构,如一对多,多对多结构等。对于较为复杂的业务系统,你可能还会看到为了保证底层数据模型的可扩展性和灵活性,往往在数据模型层会根据面向对象的思路做进一步的抽象,那么在这种情况下还必须等将OO的对象模型和面向结构的数据库模型共同来参考理解,以分析和了解清楚最终数据存储的方式,数据存储后最终呈现的方式。

动静结合-关键业务分析


个人理解,对于新切入一个新的业务系统,如果能够理解到这一步,基本就可以对一个业务系统有一个比较全面的理解和认识。首先是了解业务流程和模块间协同,然后是了解数据模型和数据间关系,最后则是真正的根据核心业务来进一步理解在流程协同过程中最终数据的落地存储。由动态的业务流程驱动的最终静态数据的存储落地和关系的建立。只有这样流程和数据的分析最终才会融合为一个整体。

对于关键业务的分析你会看到,对于这些关键业务需要理解清楚究竟涉及到哪些模块的协同,在模块的协同过程中最终会产生哪些核心的数据,或者说会更改哪些核心数据的状态或数据间的关系。真正你需要关注的往往不是单个数据对象中某些数据熟悉的变更和修改,而更多的是关注核心业务流程驱动下,数据对象状态的修改,数据对象间关联关系的修改,数据间映射模型的调整等。

对于一个完整的业务系统,按道理只要有基本的数据对象维护功能即可,但是要真正能够支撑业务,你会看到数据对象中的关键属性,关键依赖关系的变更,最终都是由上层的业务模块和流程来支撑的,那么你就必须要能够真正的理解所有的核心业务流程最终对底层数据模型造成的影响。

  青春就应该这样绽放   游戏测试:三国时期谁是你最好的兄弟!!   你不得不信的星座秘密

相关 [业务 系统] 推荐:

谈对业务系统的切入

- - 人月神话的BLOG
在这里想谈下对于一个原来没有接触过的新行业的新业务系统切入的方法,当然谈这点的时候首先是需要已有有一定的IT行业其它业务系统的工作经验,包括业务和技术双方面的积累,那么在这种情况下如何快速的切入一个新的业务系统,就需要注意相关的方式和方法方面的问题. 接触一个全新的业务系统,首先要搞清楚这个业务系统主要是支撑什么样的业务.

如何快速熟悉业务系统

- - 掘金 后端
“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章, 点击查看活动详情”. 作为开发人员在工作中,最常见遇到以下问题:新人入职需要学习已有系统,被调到新的项目组参与陌生的系统迭代,维护一个离职同事负责的系统等等. 这些都是工作中避免不了的难题,那么我们应该怎样快速应对这些场景呢. 我觉得主要应该从两方面入手,主要分为业务学习和技术学习.

整合Activiti Modeler到业务系统(或BPM平台)

- - 咖啡兔
Activiti 5.10版本把原本独立的Activiti Modeler模块整合到了Activiti Explorer中,两者相结合使用起来很方便,通过Modeler设计的流程模型可以直接部署到引擎,也可以把已经部署的流程转换为Model从而在Modeler中编辑. 在实际应用中也有这样的需求,把Modeler整合到业务系统中可以供管理员使用,或者作为BPM平台的一部分存在,很遗憾官方没有给出如何整合Modeler的文档.

在系统中生成业务ID的几种方法

- - 编程语言 - ITeye博客
在系统中,除了使用数据库表本身的Id,如何生成各种业务Id. 使用数据库表记录生成的Id,以MySQL为例:. 1) 首先创建一个数据库表,来记录当前的业务Id.  2) 获取Id的方法:. int currentCount = jdbcTemplate.update("update global_auto_number set current_num = LAST_INSERT_ID(current_num + 1) where business_key = ?", new Object[] {businessKey}); if(currentCount == 0) {.

美团点评业务风控系统构建经验

- - 美团点评技术团队
本文根据“第八届中国系统架构师大会”演讲内容整理而成. 美团最初以团购的形式出现,到现在有了很大的业务形态转变. 尤其是经过与大众点评的业务融合,从单一业务发展成了覆盖到店餐饮、到店综合、猫眼、外卖、酒店、旅游等多个垂直领域的综合性电商,并且在各个领域都处于行业领先的地位. 在这背后,美团点评不仅面临激烈的行业竞争,还有黑色产业(以下简称“黑产”)带来的各种风险,因为我们的业务有这样一些特点:.

使用Vert.x + SpringBoot编写业务系统 - 知乎

- -
这一期文章主要为大家介绍如何将Vert.x与SpringBoot结合起来编写最最最常见的业务系统,即数据库增删改查. 谈两句SpringBoot. SpringBoot大家都很熟了,一个快速开发框架,其最大的特点是可将Spring应用打成可执行jar包,从而不再依赖外部容器,如Tomcat. 可能绝大多数人在使用SpringBoot时一定离不了嵌入式Tomcat, 从而造成了一想到SpringBoot就会将其与SpringMVC联系在一起的现象.

业务流程成熟度对应用系统的四个影响

- - 《商业价值》杂志
企业若能在实施应用系统之前就提高流程的成熟度,建立成熟的业务流程体系,那么就能从源头上减少上述问题带来的不利影响. 业务流程是企业运作的基本条件之一,应用系统依附于企业的业务流程上,整个生命周期都和业务流程息息相关. 笔者从事IT工作20多年,发现企业管理层常常希望通过实施应用系统来实现规范化、标准化的管理来提高企业经营效率.

推行ERP业务流程管理系统的6个关键步骤

- - 互联网 - ITeye博客
  行之有效的企业业务流程管理系统其实与具体的解决方案、甚至与所部署的具体流程没有关系. 不管你用什么软件,也不管你把业务流程管理部署到哪个部门,这些最佳策略都适用. 以下是积极推行业务流程管理系统时应当采取的六个步骤.   一、确定业务流程管理项目和战略目标执行的契合度.   许多组织犯这样一个错误:没有把业务流程管理系统与项目实施部门及整个企业最重要的战略目标紧密联系起来.

指数级增长背后,滴滴出行业务系统的架构升级

- - 运维派
成立四年,估值已超260亿美元,公司指数级发展、业务爆炸式增长,在此背景下,滴滴出行业务系统的架构升级是怎样进行的. 本文根据滴滴出行平台产品中心技术总监——杜欢在2016ArchSummit全球架构师(深圳)峰会上的演讲整理而成. 杜欢,滴滴平台产品中心技术总监. 2015年加入滴滴,负责公司公共业务、客户端/前端架构和新业务孵化,致力于用技术手段解决业务痛点和提升研发效率,曾作为技术负责人主导公司技术架构升级以支撑公司业务快速迭代的需求.

运营支撑系统(BSS)在面向物联网IoT业务场景的模型简要分析和设计

- - 企业架构 - ITeye博客
BSS运营支撑系统(主要指电信运营商),通常都是为了支撑个人客户的业务运营. 虽然在业务运营上也面向集团客户,但是总体上来说,业务的特性总结归纳为2C的业务场景. 而当前运营商在面向物联网的业务运营下,主要是以2B的业务场景. 运营商实际并不会直接面向最终的客户,而是通过其他业务的运营企业的合作或者买卖关系提供,即是一种B2B2C的场景.