编辑导语:产品建模是对产品需求进行抽象、整理、建立数据、梳理工作流程的过程,对于产品工作也十分重要,本篇文章作者结合“燃油方案”的改版分享了对建模的一些理解,对建模感兴趣的小伙伴一起来看看吧,希望对你有帮助。
前段时间重温了一波UML,除了复习了一波基础的语法和使用场景之外,还有一个很重要的目的就是:学习如何建模。
关于建模,我之前看完了《大象:Thinking in UML》的前两章后,写了一篇阅读笔记《一个掉头发的问题:什么是建模?》,当时写完了之后感觉对建模的概念稍微有些掌握,但是过了一段时间之后又开始有点生疏、模糊了。
于是最近我又重温了这篇文章,同时又再读了两遍《大象:Thinking in UML》的前两章,结合最近项目中遇到的一个小案例,我决定写一篇关于建模实践的心得文章,也就是这一篇。
一、简单理解建模关于建模的定义,我直接摘录书上的解释,因为我感觉这个定义挺准确的,也很简洁。
建模(Modeling),是指通过对客观事物建立一种抽象的方法用以表征事物并获得对事物本身的理解,同时把这种理解概念化,将这些逻辑概念组织起来,构成一种对所观察的对象的内部结构和工作原理的便于理解的表达。
上面建模的定义本身就和建模工作一样非常抽象和难以理解。
我大概总结了一下我自己的理解,然后用借用一张图和几段稍微通俗的一些语言来概述它。
产品日常工作中需要使用建模,是因为我们需要对一些事物建立一些概念化的描述,然后以此来让其他人理解这些事物。
例如业务提出的需求是做一个“采购系统”,但是“采购系统”这几个字很虚无缥缈。
然后具体是怎么样子,有什么功能,要怎么做,需要产品去逐步调研,设计。
然后建模,最后将建立好的模型通过一些图形化或者文字化的表达,传达给开发和测试人员等,最后大家认知达成一致之后,上线一款满足业务需求的“采购系统”。
要完成建模,首先是确认抽象角度,这其实就是面向对象的一个分析过程。一个需求的背后有很多人,事,物和规则,单单拿“人”来说,也会有不同的抽象角度。
例如常见的就是按职位或者使用功能的角度来抽象,采购管理模块的人分为“采购员”,“业务员”,“供应商”。
但是如果按使用系统的角色来抽象,则采购管理模块的人可以分为“采购发申请角色”,“采购处理角色”,“管理员”,“采购审核人员”等。
不同的抽象角度汇聚在一起会构成“问题领域”,问题领域中那些重叠的部分其实就是需要重点关注并解决的问题,因为在不同的抽象角度都能得出此问题,则意味着该问题是高频且核心的。
其次是确认业务用例,当我们在第一步的时候确认了若干个抽象角度之后,由于抽象角度背后是特定的场景,所以我们应该对相应的场景进行梳理。
例如我们是按职位或者使用功能的角度来抽象,这个抽象角度背后的场景就有“采购员在什么条件下要做什么事达成什么目标”,“业务员在什么情况下会需要发起采购申请?要如何发起?”,“在采购环节中要如何与供应商关联,关联之后能做什么”。
对业务建模的概述,如果说上述的大白话,还是让你对建模有点琢磨不透,似懂非懂的话,那我拿一个我最近在做的实际案例来进一步解答你的疑惑。
二、为什么要做燃油方案之前有提到过,海外仓尾程物流的费用一般包含两个部分基础运费 附加费,附加费中有一个比较特殊的“燃油附加费”,它的计算公式是(运费 部分附加费)* 燃油费率。