`
yimlin
  • 浏览: 137276 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

业务行为的分析和设计

阅读更多

业务行为的分析和设计

       Author:Anders小明       
      

复杂业务行为通常看作是复杂规则与流程的集合。解决的基本方法依赖基本的思考方式:分解结构。
分解的第一要素是:面向对象——内聚。通常面向对象理论会告诉我们设计的设计原则是:这个对象是什么。这样的做法对于Domain Model或者比较适合,但对应于Service或者Application层的对象并不合适。这一类对象在需求的上的描述最典型是过程式!过程式描述的最大特点是告诉我们怎么做,当我们应用面向对象设计时,相对于怎么做,我们要关心的是需求做什么
1.1 分解行为的是所有工作的第一步:
分解的过程(手段),可以简单说有两个层次:
第一层:把逻辑分解到不同继承体系的对象上;
第二层:把逻辑分解到同一继承体系的对象的不同抽象层次上。
两个层次(手段)的内在的理论是:做什么其实是一种行为抽象,而正如我们所知的,抽象是有层次和排列的。第一层分解在于解决顶层抽象,而第二层就解决其下层的抽象,如此反复,就可以完成整个逻辑抽象的排列。
不过,有时我宁愿用另外一种更实战的说法来解释这样的做法:利用面向对象方法,关注于做什么来确定抽象模型,而把怎么做分解为抽象模型的派生类型。
无论是做什么,还是怎么做,需要注意的一点是:在知识级上隐式概念的印射,在操作级上有其投影。
接下来我们面临其它一些技术问题。
1.2 确定逻辑的组合操作关系
在分解行为的过程中,我们先分解出了不同的对象体系,在知识级别(分析层次)上看,工作已经完成,不过在操作级别(设计层次)上看,我们还需要解决一个问题。
不同的对象体系在系统中,根据场景,表现为两种角色:调用者和被调用者。由于被调用者的派生体系(不同的怎么做),调用者面临着一个选择,选择一个或者一组合适的被调用对象。
如何选择有两种方式:设计时(部署时)和运行时确定。
设计时(部署时)很简单,在程序中写上特定派生类型,基本算是hardcode。通常发生在调用方其对象体系的叶子节点直接调用被调用方的叶子节点。此时,调用者是被动选择,交给所有的被调用者(通常是叶子节点),每个被调用者采取合适逻辑操作组合。
另一种是运行时,是调用者主动选择(通过一个工厂),根据一定规则,判断选取合适的一个或者一组action执行。通常利用外部如数据库,或者工厂+反射,利用对应被调用者的Specification来确定。
主动选择可以是简单的if…else…来完成,当选择的影响因素多后可以采用的方式是决策表。
两者比较:

矩阵/决策表
面向对象方式
优点:
直接了当,信息获取明确;
随相关因素的增长,维护的复杂度曲线平缓升高,低于矩阵,决策表;在与,或,非计算上相对明确;层次化结构有助于学习;
缺点:
随相关因素的增长,维护的复杂度曲线快速升高;但在与,或,非计算上不明确;
相关信息获取不十分明确;
本质:
排列组合的平面化结构。这是其优缺点的根源;
排列组合的层次化结构;
开发:
运行时确定,变更相关因素对于开发有重大影响;
转化为部署时确定,运行时结构明确

在维护成本考虑,应该考虑多态,系统设计上不一定用面向对象编程实现,但在流程和计算设计上至少要模拟面向对象的方式;
1.3 行为下的规则
分解后的行为,除了处理怎么做的流程,还有各种各样的规则:包括了Selection的Specification外,还包括Validation的Specification,Build的Specification以及Calculation的Specification。
除了后两种是行为外(不包括它们参数的来源),其它两种业务规则本身来说,其有三种实现方式:
a)         多态(面向对象方式)。
b)      简单决策表(映射表),用显示的行表(and关系)保存路由选择(运行时确定)。
c)       树形决策表(映射表),用显示的树表(and/or关系)保存路由选择(运行时确定)。
1.4. 行为的异步分解
大部分行为的分解,都是同步的!然而在复杂系统中还是存在行为的异步分解,这样设计看起来更像是Data Flow Pattern,存在的理由不一,有的是出于性能原因,有的出于业务原因(在金融系统中可以看到这样的例子,例如:为了保证关键业务数据的存在,通常是一些价格或者利率,白天提请的交易行为,分为两步,第一步即使完成,而第二步动作必须在晚上进行)。
分享到:
评论
2 楼 yimlin 2007-01-05  
修复了!
1 楼 boin 2006-12-23  
上篇不见了?请修复下链接。。。

相关推荐

    电商用户行为分析大数据平台.zip

    4.电商用户行为分析大数据平台(项目名称) 5.访问行为,购物行为,广告点击行为,对这些行为进行分析,使用大数据技术来帮助公司提升业绩。 6.主要的功能模块有用户session分析,页面单跳转化率统计,热门商品...

    Spark大型项目实战-基于spark电商用户可视化行为分析大数据平台开发实战.zip

    根据平台统计出来的数据, 辅助公司中的 PM(产品经理)、数据分析师以及管理人员分析现有产品的情况, 并根据用户行为分析结果持续改进产品的设计,以及调整公司的战略和业务。最终达到用大数据技术来帮助提升公司...

    基于Python的数据分析-课程设计(含22页的设计报告)

    基于Python的数据分析-课程设计(含22页的设计报告) 1 需求分析 1 1.1可行性分析 1 1.2功能需求分析 2 2 数据源的获取、读取与数据预处理 3 2.1读取数据 3 2.2 加载数据文件 3 2.3 提取数据 4 2.3.1根据业务需要...

    基于spark的电商用户行为分析系统.zip

    本资源中的源码都是经过本地编译过可运行的,下载后按照文档配置好环境就可以运行。资源项目的难度比较适中,内容都是经过助教老师审定过的,应该能够满足学习、使用需求,如果有需要的话可以放心下载使用。...

    Spark大型项目实战:电商用户行为分析大数据平台开发实战

    4、项目中采用完全还原企业大数据项目开发场景的方式来讲解,每一个业务模块的讲解都包括了需求分析、方案设计、数据设计、编码实现、功能测试、性能调优等环节,真实还原企业级大数据项目开发场景。 模块简介: 1、...

    电商用户行为分析大数据平台

    4.电商用户行为分析大数据平台(项目名称) 5.访问行为,购物行为,广告点击行为,对这些行为进行分析,使用大数据技术来帮助公司提升业绩。 6.主要的功能模块有用户session分析,页面单跳转化率统计,热门商品...

    基于Saprk开发实现的电商平台用户行为分析系统完整源码+项目说明.7z

    用统计分析出来的数据辅助公司中的PM(产品经理)、数据分析师以及管理人员分析现有产品的情况,并根据用户行为分析结果持续改进产品的设计,以及调整公司的战略和业务。 最终达到用大数据技术来帮助提升公司的业绩...

    基于spark电商用户可视化行为分析项目源码,以 Spark 框架为核心, 对电商网站的日志进行离线和实时分析

    根据平台统计出来的数据, 辅助公司中的 PM(产品经理)、数据分析师以及管理人员分析现有产品的情况, 并根据用户行为分析结果持续改进产品的设计,以及调整公司的战略和业务。最终达到用大数据技术来帮助提升公司...

    SOA银行业务分析举例

    SOA并不只是软件或系统或设计的范围,它包括这些但不止这些,也可能在分析时因为发现了实际业务流程上的不足,从而又反过来指导实际公司部门架构的变动调整。 SOA业务背景分析帮助客户梳理其在行业中的地位,找出它...

    基于云计算的移动互联网大数据用户行为分析引擎设计

    随着移动互联网的迅速...本文提出了一种基于云计算的移动互联网大数据用户行为分析引擎解决方案,包括系统总体架构设计、大数据入库与预处理组件、大数据用户行为分析模型等关键模块的设计,最后分析了系统测试效果。

    基于Spark的电商用户行为分析大数据平台项目源码+数据集.rar

    4.电商用户行为分析大数据平台(项目名称) 5.访问行为,购物行为,广告点击行为,对这些行为进行分析,使用大数据技术来帮助公司提升业绩。 6.主要的功能模块有用户session分析,页面单跳转化率统计,热门商品...

    UserActionAnalyzePlatform:电商用户行为分析大数据平台

    电商用户行为分析大数据平台 项目介绍 1.基于Spark开发的平台 2.需要有spark基础 3.有很多高级知识和设计模式 4.电商用户行为分析大数据平台(项目名称) 5.访问行为,购物行为,广告点击行为,对这些行为进行分析,...

    基于移动互联网行为分析的用户画像系统设计.pdf

    分别从系统的总体设计和功能架构,以及业务架构方面将用户画像系统的设计思路进行详细的描述。再者文中结合运营商的经营特点以及业务经验,将用户画像系统分别从基础属性、业务属性、产品属性、渠道属性详细的阐述了...

    校园二手交易平台-基于UML面向对象分析与设计.docx

    内容包括:校园二手交易平台需求分析、校园二手交易平台用例图、校园二手交易平台用例文档、校园二手交易平台活动图、校园二手交易平台状态图、校园二手交易平台时序图、校园二手交易平台类图、校园二手交易平台组件...

    java7hashmap源码-UserActionAnalyzePlatform-learn:电商用户行为分析大数据平台-spark

    电商用户行为分析大数据平台 项目介绍 1.基于Spark开发的平台 2.需要有spark基础 3.有很多高级知识和设计模式 4.电商用户行为分析大数据平台(项目名称) 5.访问行为,购物行为,广告点击行为,对这些行为进行分析,...

    面向对象系统分析与设计课件及复习资料

    面向对象系统分析与设计课件及复习资料 为老师上课用课件和复习指导 内容包括: 1.3 uml概述 1.3.1 uml简史 1.3.2 uml概貌 1.3.3 uml的特点和用途 第2章 面向对象的软件开发过程 2.1 rational统一...

    业务建模与分析.pptx

    业务建模(Business Modeling)是以软件模型方式描述企业管理和业务所涉及的对象和要素、以及它们的属性、行为和彼此关系,业务建模强调以体系的方式来理解、设计和构架企业信息系统。

    移动应用数据分析白皮书.pdf

    通过在应用内进行标准的数据埋点,进而获取用户对应用的 下载,激活,使用,留存,转化等使用和行为数据,并进行 基于移动产品体验设计,业务服务支持的数据统计分析,其 ...侧重点放在了在线和离线两部分行为分析。

    业务及数据库安全行为模型分析.pdf

    帐号授权不合理 帐号复用和帐号滥用 脆弱的Web应用 身份验证措施薄弱 数据库漏洞和配置不合理 数据库服务器操作系统漏洞 备份管理不足 设计措施不力 安全域规划不合理 缺失有效加密措施

Global site tag (gtag.js) - Google Analytics