1系统需求分析
通过对客户的需求分析,确定本客户关系管理(CustomerRelationshipManagement,CRM)系统设计定位于中小型商业企业,并在此系统定位的基础上,确定系统流程,设计功能模块。
本CRM系统基于部门应用,主要满足市场、销售和服务部门的需求,将市场、销售和服务部门结合起来,提高了市场、销售和服务部门的工作效率,使企业能够及时地把握市场机会,面向用户需求。
(1)市场部门主要关心的问题。活动管理对企业的所有市场活动进行管理;活动跟踪跟踪市场活动的情况;反馈管理利用市场人员的回访与信息维护,及时得到市场活动的反馈信息;活动评价对市场活动的效果进行度量;客户分析对客户的构成、客户的地理信息和客户行为进行分析;客户状态将客户分类,从而管理客户风险、客户利润等,同时确定针对不同类别客户策划不同的市场活动方案等。
(2)销售部门主要关心的问题。及时掌握销售人员的销售情况;销售订单的情况,如何在线销售;整个销售过程从订单到收款到发货的情况。
(3)综合服务部门主要关心的问题。根据系统提供的准确信息为客户服务;一致性企业的服务中心以整体形象对待客户,使客户感觉是同一个人在为他服务;问题跟踪能够跟踪客户所有的投诉、咨询,并给出答案。
2系统的功能划分
根据前面的需求分析,本CRM系统由以下模块组成:①基础架构模块,包括数据方向服务、异常处理服务、日志服务、监测跟踪服务等;②安全模块:包括身份验证、基于角色的授权、权限分配等;③产品管理模块:包括产品管理、分类、出库和入库等;④客户管理模块:包括客户信息管理和客户活动管理等;⑤销售管理模块:包括订单管理、在线订单管理、出货管理、销售管理、收款管理、服务管理等;⑥统计分析及报表模块:包括客户开发分析、应收账款分析、实收账款分析、产品报表等;⑦信息通讯模块:包括收发信息管理、业务信息管理、邮件发送管理等。
3用例图分析
在类似系统开发过程的前期,用例图分析可以避免及减低冗余,从而达到有效捕捉系统需求的目的。在本系统的研发过程中,作者将系统的操作者分为系统管理员、普通员工、销售员工和财务人员4类,下面分别对每类操作者进行图例分析。
考虑到客户较多、升级更新的速度比较快,而且公司的业务比较繁忙,为了既可以方便客户的需要,又可以减少公司业务活动中更多的不方便,该系统采用Browser/Server体系结构。整个系统分为3层,即客户端、Web应用服务层和数据库服务器,所有的应用请求都将通过请求接收层(一般为宙eb服务器),转给应用处理层中的应用服务器处理。应用服务器是独立的进程,对业务进行处理,并进行事务管理,将其中的所有数据操作转给第3层,也就是数据处理层的数据库服务器。客户端只需要浏览器即可完成所有功能,不需要安装任何软件,不需要非常专业的系统管理员对系统进行维护,从而节省了大笔维护和培训费用。
如图5所示,系统按结构划分可分为三部分,具体叙述如下:
(1)Web客户端。在本系统中客户端即是指Web浏览器,是最终的用户界面,其对应用服务器提出请求,并接受应用服务器的反馈数据,所誊有的数据操纵以及结果显示都在浏览器中完成。
(2)Web应用服务器。Web应用服务器最基本的任务就是对用HTTP协议发来的客户机请求进行处理并作出响应。如果客户机请求一个页面,服务器程序就寻找并取出这个页面,创建一个HTFP标题并在其后附加上HTML文档。如果客户机请求的是动态页面,服务器就调用其他程序,接收后端处理的结果,把响应转换成特定的格式,最后把页面和其他对象发到发出请求的客户机上。
(3)DB服务器。数据库是系统的关键核心,客户的资料、公司的销售情况和服务的过程等情况都记录在数据库里面。它还应该具备查询、客户的资料存储和备份等功能。
5开发过程
本系统的开发过程以生命周期模型为基础,根据系统特点进行一定调整。
具体实现时,由于本系统的开发时间较为紧迫,为缩短开发周期和提高开发效率,各阶段开发可采用重叠的转移策略,评审工作采用内部评审方式。
6系统安全权限模块的设计与实现
6.1RBACO权限模型
本CRM系统采用了标准的RBAC0理论模型作为安全模块的基础。RBAC模型是目前最为广泛接受的权限模型。NIST(neNationalInstituteofStandardsandTechnology,美国国家标准与技术研究院)的标准RBAC模型由4个部件模型组成,这4个部件模型分别是基本模型RBAC0(CoreRBAC)、角色分级模型RBAC1(HierarchalRBAC)、角色限制模型RBAC2(ConstraintRBAC)和统一模型RBAC3(CombinesRBAC)。
在RBAC之中,包含用户users(USERS)、角色roles(ROLES)、目标objects(OBS)、操作operations(OPS)、许可权permissions(PRMS)5个基本数据元素,权限被赋予角色,而不是用户,当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限。会话sessions是用户与激活的角色集合之间的映射。RBAC0与传统访问控制的差别在于增加一层,间接性带来了灵活性,实现了用户与访问权限的逻辑分离,减少了授权管理的复杂性,降低了管理开销,而且与日常信息系统管理的架构类似,降低了管理复杂度。
6.2系统权限模块的数据库E—R图设计
在将RBAC模型运用到系统权限模块的实现过程中,作者设计了用户表、角色表、权限表、角色和权限关系表、用户和角色关系表等5张数据表。
本文阐述了系统的需求分析、功能设计、系统架构设计、软件开发模式及安全权限模块等方面的内容。通过用例分析,在研究中将系统的功能划分为底层基础架构模块、安全模块、产品管理模块、客户管理模块、销售管理模块和统计分析及报表模块,并采用三层模式作为系统架构。同时采用了基于重叠转移策略的开发过程模型来指导系统的实施过程。
普通员工主要管理产品和客户及打印相关报表,其用例分析如图2所示。
销售员工主要进行销售管理、订单管理、出货及打印相关报表。
财务人员主要进行收款管理、统计财务报表。