论文部分内容阅读
商业企业运营信息化系统的设计,技术本身并不是最重要的问题,甚至不是一个问题,更重要的问题,或者说最主要的问题是对商业企业的行为活动的深刻洞察与理解,涵盖了从需求分析到开发编码的知识传递过程。笔者认为,领域驱动设计(Domain-Driven Design)模式作为一种高效率的需求分析方法、领域设计方案和易沟通的知识传递方式,对商业企业业务运营系统的开发尤其适用,以下将以电信运营业BSS(Business Support Systems,业务支撑系统)系统的需求分析为例,加以阐述。
由Eric Evans所倡导的领域驱动设计模式的主旨,就是要求软件实现者对业务领域有着深刻的理解。领域驱动设计模式认为,软件是一种被创建用来帮助我们处理现代生活中复杂问题的工具,它只是到达目的的一种方法,而这个目的通常就是非常实际和真实的事情。软件开发通常被应用到真实世界中已经存在的自动化流程,或者给真实的业务问题提供解决方案,即要自动化的业务流程或者可以用软件解决的现实问题,这就意味着“领域”概念与软件开发全生命周期过程的密不可分。然而,我国软件业实际开发过程中所体现的理念,通常是认为“软件是由代码最终构成的,故而我们应当在代码上面花费最多的时间”。但是,显然地,我们不能用这种方法开发类似商业企业运营信息化系统这类复杂的软件。为了创建一个好软件,你必须知道这个软件究竟是什么。以电信运营企业的BSS业务运营支撑系统为例,在你充分了解电信业务是什么之前,你是做不出一个好的电信业软件系统的,你必须理解电信业的领域。而软件与领域二者的关系,Eric Evans认为,最佳的方式是让软件成为领域的反射(映射),软件需要实现领域里重要的核心概念和元素,并精确实现它们之间的关系,软件需要对领域进行建模。这种领域思想在TMF(电信管理论坛,TeleManagement Forum)在NGOSS(Next Generation Operat
ions Systems and Software)整个生命周期中以“Knowledge Base”的名义体现得十分明显,贯穿始终。
从电信运营业务支撑系统软件的开发来讲,就是要对电信运营业的领域特点有着深刻的理解。从宏观行业性角度来看,电信运营业有着很多独特的特点。首先,作为服务性行业,它有着不同于制造业的特点,即生产过程与消费过程密不可分,通信服务作为产品,只有当用户进行消费的同时才能被生产出来,之前仅仅作为能够提供通信能力的企业资源闲置着,这就意味着进行软件设计时,需要较制造业生产控制系统更为灵活(应对市场竞争的变化性)、更为友好的用户自主界面(直面消费者的“最终性”)。其次,与银行业、零售业、饮食业等服务性行业相比,电信行业的服务实现、产品生产依赖于非常庞大、丰富多样的网元设备,从而导致其生产系统的设计复杂性远较简单的服务性行业软件的“进——销——存”逻辑复杂。与电力行业、水利行业等服务性行业相比,电信行业的竞争更为激烈,从而导致其生产系统的产品价格设计(即业内通常所谓的“电信资费套餐”)模块、用户回馈计划(积分换礼品)模块、用户分析报表模块等远较竞争性较少的服务性行业复杂。
就搭建电信业的领域模型而言,首先我们可以确认,电信运营企业是企业的一种,那么“企业”类可以派生出“电信运营企业”,电信运营企业的业务模型必然符合一般企业业务模型。从电信运营企业信息系统架构来看,BSS位于用户与网元设备中间,并作为基础数据源负责向财务部门ERP系统、管理部门决策支持系统、市场部门BI系统传送数据,占据着非常重要的枢纽位置。下面,我们将进一步对电信业务过程进行领域分析。
首先,从企业的泛化业务模型来看,用户、商品、企业是该层模型的3个基本实体,其中商品约略有2个关键属性:产品、费用,即商品=产品+费用。用户、商品、企业3个实体间,存在着两两对称的6种单向关系:从用户角度来看,用户通过订购商品、使用商品、支付商品与企业发生3种关系;从企业角度来看,企业通过营销商品、供应商品、商品计费与用户发生3种关系。在这一层次上,用户与企业是主体,产品和费用作为交换物发生单向流动。从另一个角度来看,交换物——产品及费用是联接用户、企业这2个实体的中介物,占据着整个市场活动的核心位置。
从电信业的业务行为模型来看,在电信网络建设完毕后,6类关系的依次展开顺序为:企业营销商品——用户订购商品——企业供应商品——用户使用产品——企业计费商品——用户支付商品。由此链条可见,企业与用户依次交替发生业务行为,并且每一项业务行为的产生均依赖于前一行为的发生,属于事件触发模式。在现实商业活动中,由于存在多类商品、多个用户,往往呈并发态进行,但对每个最小商品单元来讲,该种企业-用户交互顺序是保持不变的。下面,我们依照这种业务行为的顺序依次展开。
电信运营企业的商品营销业务行为,在电信业务支撑系统域的实现可分为营销前调研、营销中实施、营销后评估3个阶段。营销前调研:寻找目标客户群、预评估商品收益及商品生命周期。营销中实施:记录营销活动信息、微调营销活动细节。营销后评估:统计营销实际效果(发展用户数、收入、欠费、ARPU、ARPM),与营销前预评估结果进行比对,发现差异原因,持续改进营销活动效果。
电信用户的商品订购业务行为,指用户向电信运营企业发
起对某电信商品的请求,根据我国电信业的特点,用户在提出订购请求时,应当提交自身的身份信息,包括用户名称、用户证件类型、用户证件号码、联系方式等,如果订购的电信商品为有线商品(例如固定电话、宽带接入)类,则还应提供具体的安装地址。对应映射到BSS系统的订单管理域。
电信运营企业的供应商品业务行为,是在电信用户发生商品订购业务行为后,对用户所需商品进行资源调度与分配的过程。对于有线电信商品(固定电话、有线宽带接入)而言,包括号码资源、接入管道、接入线路、局端设备、用户端设备等资源的调度、协调、分配;对于无线电信商品(无线电话、无线宽带接入)而言,包括号码资源、卡类资源、信道资源的调度、协调、分配。重点涉及到的实体包括各类资源实体,和资源协调流程管控。对应映射到BSS系统的工单及资源管理域。
电信用户的使用产品业务行为,是在电信用户订购到电信商品后,使用电信产品的过程。具体指实际通信行为(包括语音通话、上网流量、信息内容服务等)的发生,从而会产生各类通信记录。对应映射到BSS系统的通信记录采集管理域。
电信运营企业的计费商品业务行为,是在电信用户使用产品后,电信运营企业基于电信产品定价机制,对用户各类通信行为进行计量。目前实际的电信运营活动过程中,该种计量规则主要包括月租计量规则、详单计量规则、帐务计量规则三类,对应映射到BSS系统的资费计划域。
电信用户的支付商品业务行为,是在电信运营企业对商品实施计费后,电信用户依照电信运营企业的计费结果进行缴费的过程。根据用户所交费用是否必须大于目前已使用的电信产品计费结果,又可分为预付费业务和后付费业务两种类型。对于预付费业务,由于缴费与计费之间存在关联关系,所以相互之间存在约束条件,一般在电信领域,该种约束条件主要指用户的“信用度”。对应映射到BSS系统的缴费信控域。
上述6类业务行为即基本完整地覆盖了电信运营企业的实际业务活动的主要核心方面。在此基础上,如果增加新的实体或延展到新的领域,例如在用户与电信商品中间增加新的实体——代理商,则将可能形成销售管理模块,延展企业获取资源的活动,则将可能形成供应链管理模块等,最终将搭建成为面向整个企业信息活动管理的IT综合支撑系统,如图3所示即为某电信运营企业的实际IT支撑系统。故而,在完成对电信企业业务行为的建模,并抽离出6类业务行为、设计为耦合度相对较低的6个领域后,我们还需考虑业务运营支撑系统体系架构未来的可扩展性,进行模块化的开发配置,以达到可迅速灵活插接新模块、从属于更大范围的信息管理系统的效果。
以上仅是笔者将领域驱动设计模式引入到对电信运营企业BSS系统的软件开发需求分析过程中的应用,仅作抛砖引玉,尚请各界不吝赐教,加强交流,以期不断加强软件工程理论与企业实际信息化工作的衔接。
`
由Eric Evans所倡导的领域驱动设计模式的主旨,就是要求软件实现者对业务领域有着深刻的理解。领域驱动设计模式认为,软件是一种被创建用来帮助我们处理现代生活中复杂问题的工具,它只是到达目的的一种方法,而这个目的通常就是非常实际和真实的事情。软件开发通常被应用到真实世界中已经存在的自动化流程,或者给真实的业务问题提供解决方案,即要自动化的业务流程或者可以用软件解决的现实问题,这就意味着“领域”概念与软件开发全生命周期过程的密不可分。然而,我国软件业实际开发过程中所体现的理念,通常是认为“软件是由代码最终构成的,故而我们应当在代码上面花费最多的时间”。但是,显然地,我们不能用这种方法开发类似商业企业运营信息化系统这类复杂的软件。为了创建一个好软件,你必须知道这个软件究竟是什么。以电信运营企业的BSS业务运营支撑系统为例,在你充分了解电信业务是什么之前,你是做不出一个好的电信业软件系统的,你必须理解电信业的领域。而软件与领域二者的关系,Eric Evans认为,最佳的方式是让软件成为领域的反射(映射),软件需要实现领域里重要的核心概念和元素,并精确实现它们之间的关系,软件需要对领域进行建模。这种领域思想在TMF(电信管理论坛,TeleManagement Forum)在NGOSS(Next Generation Operat
ions Systems and Software)整个生命周期中以“Knowledge Base”的名义体现得十分明显,贯穿始终。
从电信运营业务支撑系统软件的开发来讲,就是要对电信运营业的领域特点有着深刻的理解。从宏观行业性角度来看,电信运营业有着很多独特的特点。首先,作为服务性行业,它有着不同于制造业的特点,即生产过程与消费过程密不可分,通信服务作为产品,只有当用户进行消费的同时才能被生产出来,之前仅仅作为能够提供通信能力的企业资源闲置着,这就意味着进行软件设计时,需要较制造业生产控制系统更为灵活(应对市场竞争的变化性)、更为友好的用户自主界面(直面消费者的“最终性”)。其次,与银行业、零售业、饮食业等服务性行业相比,电信行业的服务实现、产品生产依赖于非常庞大、丰富多样的网元设备,从而导致其生产系统的设计复杂性远较简单的服务性行业软件的“进——销——存”逻辑复杂。与电力行业、水利行业等服务性行业相比,电信行业的竞争更为激烈,从而导致其生产系统的产品价格设计(即业内通常所谓的“电信资费套餐”)模块、用户回馈计划(积分换礼品)模块、用户分析报表模块等远较竞争性较少的服务性行业复杂。
就搭建电信业的领域模型而言,首先我们可以确认,电信运营企业是企业的一种,那么“企业”类可以派生出“电信运营企业”,电信运营企业的业务模型必然符合一般企业业务模型。从电信运营企业信息系统架构来看,BSS位于用户与网元设备中间,并作为基础数据源负责向财务部门ERP系统、管理部门决策支持系统、市场部门BI系统传送数据,占据着非常重要的枢纽位置。下面,我们将进一步对电信业务过程进行领域分析。
首先,从企业的泛化业务模型来看,用户、商品、企业是该层模型的3个基本实体,其中商品约略有2个关键属性:产品、费用,即商品=产品+费用。用户、商品、企业3个实体间,存在着两两对称的6种单向关系:从用户角度来看,用户通过订购商品、使用商品、支付商品与企业发生3种关系;从企业角度来看,企业通过营销商品、供应商品、商品计费与用户发生3种关系。在这一层次上,用户与企业是主体,产品和费用作为交换物发生单向流动。从另一个角度来看,交换物——产品及费用是联接用户、企业这2个实体的中介物,占据着整个市场活动的核心位置。
从电信业的业务行为模型来看,在电信网络建设完毕后,6类关系的依次展开顺序为:企业营销商品——用户订购商品——企业供应商品——用户使用产品——企业计费商品——用户支付商品。由此链条可见,企业与用户依次交替发生业务行为,并且每一项业务行为的产生均依赖于前一行为的发生,属于事件触发模式。在现实商业活动中,由于存在多类商品、多个用户,往往呈并发态进行,但对每个最小商品单元来讲,该种企业-用户交互顺序是保持不变的。下面,我们依照这种业务行为的顺序依次展开。
电信运营企业的商品营销业务行为,在电信业务支撑系统域的实现可分为营销前调研、营销中实施、营销后评估3个阶段。营销前调研:寻找目标客户群、预评估商品收益及商品生命周期。营销中实施:记录营销活动信息、微调营销活动细节。营销后评估:统计营销实际效果(发展用户数、收入、欠费、ARPU、ARPM),与营销前预评估结果进行比对,发现差异原因,持续改进营销活动效果。
电信用户的商品订购业务行为,指用户向电信运营企业发
起对某电信商品的请求,根据我国电信业的特点,用户在提出订购请求时,应当提交自身的身份信息,包括用户名称、用户证件类型、用户证件号码、联系方式等,如果订购的电信商品为有线商品(例如固定电话、宽带接入)类,则还应提供具体的安装地址。对应映射到BSS系统的订单管理域。
电信运营企业的供应商品业务行为,是在电信用户发生商品订购业务行为后,对用户所需商品进行资源调度与分配的过程。对于有线电信商品(固定电话、有线宽带接入)而言,包括号码资源、接入管道、接入线路、局端设备、用户端设备等资源的调度、协调、分配;对于无线电信商品(无线电话、无线宽带接入)而言,包括号码资源、卡类资源、信道资源的调度、协调、分配。重点涉及到的实体包括各类资源实体,和资源协调流程管控。对应映射到BSS系统的工单及资源管理域。
电信用户的使用产品业务行为,是在电信用户订购到电信商品后,使用电信产品的过程。具体指实际通信行为(包括语音通话、上网流量、信息内容服务等)的发生,从而会产生各类通信记录。对应映射到BSS系统的通信记录采集管理域。
电信运营企业的计费商品业务行为,是在电信用户使用产品后,电信运营企业基于电信产品定价机制,对用户各类通信行为进行计量。目前实际的电信运营活动过程中,该种计量规则主要包括月租计量规则、详单计量规则、帐务计量规则三类,对应映射到BSS系统的资费计划域。
电信用户的支付商品业务行为,是在电信运营企业对商品实施计费后,电信用户依照电信运营企业的计费结果进行缴费的过程。根据用户所交费用是否必须大于目前已使用的电信产品计费结果,又可分为预付费业务和后付费业务两种类型。对于预付费业务,由于缴费与计费之间存在关联关系,所以相互之间存在约束条件,一般在电信领域,该种约束条件主要指用户的“信用度”。对应映射到BSS系统的缴费信控域。
上述6类业务行为即基本完整地覆盖了电信运营企业的实际业务活动的主要核心方面。在此基础上,如果增加新的实体或延展到新的领域,例如在用户与电信商品中间增加新的实体——代理商,则将可能形成销售管理模块,延展企业获取资源的活动,则将可能形成供应链管理模块等,最终将搭建成为面向整个企业信息活动管理的IT综合支撑系统,如图3所示即为某电信运营企业的实际IT支撑系统。故而,在完成对电信企业业务行为的建模,并抽离出6类业务行为、设计为耦合度相对较低的6个领域后,我们还需考虑业务运营支撑系统体系架构未来的可扩展性,进行模块化的开发配置,以达到可迅速灵活插接新模块、从属于更大范围的信息管理系统的效果。
以上仅是笔者将领域驱动设计模式引入到对电信运营企业BSS系统的软件开发需求分析过程中的应用,仅作抛砖引玉,尚请各界不吝赐教,加强交流,以期不断加强软件工程理论与企业实际信息化工作的衔接。
`