分析模式 - 交易模式(Trading)
Martin在交易模式(Trading)中侧重在股票、期货、期权等,估计是从金融领域的一些项目中提取出来,这些领域比较狭隘
另外感觉Martin在一些细枝末节上做的文章过多,而对行业中大量运用的各种业务模式只字不提,因此看起来根本不像领域概念模型,而只是针对特定行业领域的几种设计案例。毕竟领域概念模型的重点是系统如何实现各种主流的业务模式
另外Martin很少使用专有的行业术语,要将那些突然间冒出来的对象名词对应到行业术语非常困难
ERP系统尤其是象SAP这种大型ERP,它们的采购、销售等模块能够解决主流行业的交易(Trading)业务,适用范围比较广,综合来看解决方案与Martin提到的模式差距比较大
因此这篇文章抛弃了Martin分析模式中相关章节的内容,记录的是自己对这一领域的接触理解,并且只是一些主要概念
大致的采购用例:
1. 采购信息记录是一个集中维护的价格清单,以及供应商信息
价格信息的来源可以有很多方式,例如报价Quota、合同Contract,以及其它可以提供价格信息的来源等
从报价、合同产生价格信息可以采用多种设计方式,例如在报价、合同确认生效时自动生成,或由采购员创建采购信息记录时可以选择引用报价、合同,并且根据配置决定采购员是否可以进行调整、多大范围内调整等
2. 采购申请是物料的计划需求量,通过采购申请(主要提供需求数量、日期)和采购信息记录(主要提供供应商、采购价格)可以创建采购订单
因为采购多少、向谁采购、采购价格等都是企业非常敏感的地方,所以需要灵活设置以满足各种要求。管理规范、严格的公司可以采用上面的流程,并且限制采购员能够进行调整的范围,超过这些预设范围需要高层签核;对于管理要求不高的公司,或者是不重要的采购材料,可以不做太多控制,即允许采购员直接创建采购订单
一次性采购的PO(采购订单)是比较传统的方式,根据询报价、采购申请创建采购订单,或者直接创建,进行后续采购作业
针对重要物资、材料进行的战略采购涉及很多方面,也存在很多作业模式,可以使用合同来解决。合同是一种长期采购协议(Long Term Purchase Agreement)。SAP将合同分为价值合同和数量合同,价值合同主要确定某个时间之内总采购价值,引用价值合同创建的PO,PO总金额将汇总计入合同中,当汇总金额达到或超过合同总价值时,合同目标完成,后续采购需要使用新的合同;数量合同确定的是总数量,当PO的累计采购数量达到合同数量时合同目标完成
Martin在书中提到的合同(Contract)相当于图中的采购订单(PO,PO本身是具有法律效应的,从法律角度讲它就是一种合同,但行业中只是将它们叫做订单,例如采购订单或销售订单)
Portfolio则与图中的合同(Contract)概念有一点类似。Martin的描述中Portfolio更象是一种松散、随意的分组,把符合条件的订单包含进来进行一些统计分析,这样的功能可以使用数据分析(OLAP)的工具实现,如果在产品中考虑也不应当成为概念模型中的一个主要对象。我在图中给出的合同一方面可以提供一些框架性的价格信息(这个是可选的,即图中的采购合同向采购信息记录提供价格信息),另一方面使得管理层能够控制、关注某一时间段内对合同材料的采购总价值、数量,例如合同目标完成之后如果没有新的合同则不允许继续采购。业务运作方面,与供应商建立战略合作伙伴关系有利于深入的合作,降低双方风险
Scenario则有点类似图中的采购信息记录。上面说过,创建PO时是否必须从采购信息记录中取价格最好是可配置的,对那些采购实权落在具体采购员身上,而又缺乏条件改善这种管理状况的公司,允许采购员任意创建采购订单,决定采购数量和价格,是更好的解决方案
对于一次性采购的PO,概念对象分为两层(采购订单+采购项目)就足够,交货计划的信息可以包含在采购订单或采购项目上面;交货计划适用于采购数量大、实时性要求高的精细化采购。例如场景之一:公司管理层每个季度与主要供应商签订大额采购订单(大的金额或数量),生产、销售部门根据具体生产、销售情况制定细节交货计划,可能是每周、每2天交货多少等,然后由采购员负责执行这个交货计划,并且根据实际情况做一定沟通调整等。这种采购订单有点类似JIT采购模式中的Blanket PO
精细化采购进一步发展就是JIT,这对供应商以及采购方和供应商之间的协作程度要求更高。JIT采购一般在系统外会进行供应商的考察、评估、认证,以及业务运作方面的协议签署。系统实现层面一般使用Blanket PO,这种PO没有数量或者提供一个大概的评估汇总数量,实际采购数量以具体的交货情况为准,Blanket PO主要提供采购价格信息。提供一个汇总评估数量的好处是供应商可以基于这个预先做好部分生产准备。JIT的交货将汇总计入Blanket PO,基于实际交货情况以及签订的协议进行财务结算
JIT可以使用上面讲到的精细化采购的方案实现,即在PO中使用交货计划,因为JIT就是精细化采购的一种。不少情况可能需要将交货计划扩展成为一个独立的模块,例如大型企业实施JIT时需要对交货计划进行更多的控制,PO中的交货计划过于简单根本无法满足这些控制要求
至于VMI,在采购流程上与JIT类似,只不过在采购申请的创建上可能包含其它复杂的处理逻辑,例如基于不同的库存控制理论计算补货点,在不同的预警区内提供不同的消息通知方式等等
另外集中采购、分散采购等采购模式的实现,主要是围绕采购组织方面的设计问题
对于生产型企业一般会维护物料主数据,但对于贸易型企业为了降低系统维护工作量(其实并不会降低,后续物料管理上的混乱将带来更多问题),可能不希望专门维护物料主数据,这种情况采购订单中可以允许采购员直接输入采购材料的描述可能是比较容易实施(为客户建立物料编码的过程并不简单),还有就是服务(Service)的采购
另外感觉Martin在一些细枝末节上做的文章过多,而对行业中大量运用的各种业务模式只字不提,因此看起来根本不像领域概念模型,而只是针对特定行业领域的几种设计案例。毕竟领域概念模型的重点是系统如何实现各种主流的业务模式
另外Martin很少使用专有的行业术语,要将那些突然间冒出来的对象名词对应到行业术语非常困难
ERP系统尤其是象SAP这种大型ERP,它们的采购、销售等模块能够解决主流行业的交易(Trading)业务,适用范围比较广,综合来看解决方案与Martin提到的模式差距比较大
因此这篇文章抛弃了Martin分析模式中相关章节的内容,记录的是自己对这一领域的接触理解,并且只是一些主要概念
大致的采购用例:
1. 采购信息记录是一个集中维护的价格清单,以及供应商信息
价格信息的来源可以有很多方式,例如报价Quota、合同Contract,以及其它可以提供价格信息的来源等
从报价、合同产生价格信息可以采用多种设计方式,例如在报价、合同确认生效时自动生成,或由采购员创建采购信息记录时可以选择引用报价、合同,并且根据配置决定采购员是否可以进行调整、多大范围内调整等
2. 采购申请是物料的计划需求量,通过采购申请(主要提供需求数量、日期)和采购信息记录(主要提供供应商、采购价格)可以创建采购订单
因为采购多少、向谁采购、采购价格等都是企业非常敏感的地方,所以需要灵活设置以满足各种要求。管理规范、严格的公司可以采用上面的流程,并且限制采购员能够进行调整的范围,超过这些预设范围需要高层签核;对于管理要求不高的公司,或者是不重要的采购材料,可以不做太多控制,即允许采购员直接创建采购订单
一次性采购的PO(采购订单)是比较传统的方式,根据询报价、采购申请创建采购订单,或者直接创建,进行后续采购作业
针对重要物资、材料进行的战略采购涉及很多方面,也存在很多作业模式,可以使用合同来解决。合同是一种长期采购协议(Long Term Purchase Agreement)。SAP将合同分为价值合同和数量合同,价值合同主要确定某个时间之内总采购价值,引用价值合同创建的PO,PO总金额将汇总计入合同中,当汇总金额达到或超过合同总价值时,合同目标完成,后续采购需要使用新的合同;数量合同确定的是总数量,当PO的累计采购数量达到合同数量时合同目标完成
Martin在书中提到的合同(Contract)相当于图中的采购订单(PO,PO本身是具有法律效应的,从法律角度讲它就是一种合同,但行业中只是将它们叫做订单,例如采购订单或销售订单)
Portfolio则与图中的合同(Contract)概念有一点类似。Martin的描述中Portfolio更象是一种松散、随意的分组,把符合条件的订单包含进来进行一些统计分析,这样的功能可以使用数据分析(OLAP)的工具实现,如果在产品中考虑也不应当成为概念模型中的一个主要对象。我在图中给出的合同一方面可以提供一些框架性的价格信息(这个是可选的,即图中的采购合同向采购信息记录提供价格信息),另一方面使得管理层能够控制、关注某一时间段内对合同材料的采购总价值、数量,例如合同目标完成之后如果没有新的合同则不允许继续采购。业务运作方面,与供应商建立战略合作伙伴关系有利于深入的合作,降低双方风险
Scenario则有点类似图中的采购信息记录。上面说过,创建PO时是否必须从采购信息记录中取价格最好是可配置的,对那些采购实权落在具体采购员身上,而又缺乏条件改善这种管理状况的公司,允许采购员任意创建采购订单,决定采购数量和价格,是更好的解决方案
对于一次性采购的PO,概念对象分为两层(采购订单+采购项目)就足够,交货计划的信息可以包含在采购订单或采购项目上面;交货计划适用于采购数量大、实时性要求高的精细化采购。例如场景之一:公司管理层每个季度与主要供应商签订大额采购订单(大的金额或数量),生产、销售部门根据具体生产、销售情况制定细节交货计划,可能是每周、每2天交货多少等,然后由采购员负责执行这个交货计划,并且根据实际情况做一定沟通调整等。这种采购订单有点类似JIT采购模式中的Blanket PO
精细化采购进一步发展就是JIT,这对供应商以及采购方和供应商之间的协作程度要求更高。JIT采购一般在系统外会进行供应商的考察、评估、认证,以及业务运作方面的协议签署。系统实现层面一般使用Blanket PO,这种PO没有数量或者提供一个大概的评估汇总数量,实际采购数量以具体的交货情况为准,Blanket PO主要提供采购价格信息。提供一个汇总评估数量的好处是供应商可以基于这个预先做好部分生产准备。JIT的交货将汇总计入Blanket PO,基于实际交货情况以及签订的协议进行财务结算
JIT可以使用上面讲到的精细化采购的方案实现,即在PO中使用交货计划,因为JIT就是精细化采购的一种。不少情况可能需要将交货计划扩展成为一个独立的模块,例如大型企业实施JIT时需要对交货计划进行更多的控制,PO中的交货计划过于简单根本无法满足这些控制要求
至于VMI,在采购流程上与JIT类似,只不过在采购申请的创建上可能包含其它复杂的处理逻辑,例如基于不同的库存控制理论计算补货点,在不同的预警区内提供不同的消息通知方式等等
另外集中采购、分散采购等采购模式的实现,主要是围绕采购组织方面的设计问题
对于生产型企业一般会维护物料主数据,但对于贸易型企业为了降低系统维护工作量(其实并不会降低,后续物料管理上的混乱将带来更多问题),可能不希望专门维护物料主数据,这种情况采购订单中可以允许采购员直接输入采购材料的描述可能是比较容易实施(为客户建立物料编码的过程并不简单),还有就是服务(Service)的采购