1、内容摘要随着铁通技术和计算机技术的不断发展,对于每个企业来说,设计一套符合自身运营要求的支撑系统已成为提高企业竞争力的关键问题。目前,我国已进入铁通行业高速发展时期,大量先进技术的运用及 4G 牌照的发放,使得铁通运营技术面临越来越复杂的局面。在系统和设备更新的同时,也将会对计费系统的稳定性产生一定的影响。为了提高沧州移动计费管理水平,亟待实施一套具有强大功能的计费系统。基于此,本文针对沧州移动计费的实际情况,设计了一套比较完整的计费支撑系统。 我们的设计采用 EBOS 平台作为项目的开发平台。EBOS 平台采用 J2EE 体系结构,通过不同的系统层次解决不同的业务问题。同时,将系统应用层划分
2、为基础应用层和业务应用层。对于系统中的每层均提供了具体功能实现和基础功能服务。 关键词:计费系统 J2EE EBOS修改建议:1、论文中有些图表不清楚,请重新画;2、数据库设计请补充数据库概念结构设计、逻辑结构设计和物理结构设计;3、请画出各个功能模块的程序流程图。此论文原文出自基于J2EE的沧州电信计费系统的设计与实现你可以参考原文修改,也可以参考其他资料。目 录一、绪论1(一)研究的背景和意义1(二)国内外相关研究现状2二、需求分析4(一)系统需求分析51、注册和登录功能62、账号管理功能73、账单功能74、支付功能8(二)非功能需求10三、系统总体设计11(一)系统体系结构111、 RB
3、数据收集系统122、 CSM用户服务系统123、 WSC 账务管理系统12(二)系统功能模块结构131、注册和登录功能模块132、账号管理功能模块133、账单功能模块144、支付功能模块15(三)系统流程设计161、系统认证172、权限管理183、区域设置21四、系统详细设计与实现21(一)注册和登录功能模块设计与实现221、数据实体设计222、 业务逻辑设计23(二)账号管理功能模块设计与实现241、代码实现242、Collaboration 静态类使用27(三)数据库设计281、数据库设计规范282、数据库相关命名规范283、 数据库概念设计294、 数据库逻辑设计325、 数据库物理设计
4、32(四)实体关系模型设计34五、系统测试34(一)测试方法341、白盒测试法342、黑盒测试法343、桩测试34(二)测试计划35(三)测试方案35(四)测试结果分析36六、总结37参考文献38致谢40南京铁通计费系统的设计与实现一、绪论(一)研究的背景和意义铁通计费系统的定义为,主要用户管理从用户使用铁通运营商的业务服务开始,到用户缴纳所需要的服务费用的这一过程。该过程分为两个阶段,第一阶段交换计费,信息采集的过程,主要是通过硬件上对于用户使用的记录。第二阶段是后台计费财务处理。本文研究的重点主要为第二个阶段,在系统主要设计方面实时性和准确性非常重要,会直接影响铁通运营商对其客户的服务质量
5、以及相关的收入情况。 铁通行业在这几年逐步走向成熟阶段,它所面对的是竞争日趋激烈、复杂的通信领域。虽然表面上全球铁通业务持续着年收入逐年增长的态势,但因行业内竞争和客户需求的变化导致净利润逐年降低,整个铁通市场的运营方式和供需关系在数据业务不断成熟的同时,默默的发生着改变。为了提高企业核心竞争力,铁通运营商需要在不断提高业务开展能力的同时,相应提升行业服务水平。为了创收,不得不将传统的业务模式进行改革。全球铁通运营商传统经营模式是利用丰富资源,主打资源营销,将大部分的人力财力投入到单向业务当中。而现如今,随着业务发展,经营模式需要过渡为以客户为导向,在满足现有业务的基础上,推出新业务和打包服务
6、。在这个改革过渡期间,新计费方式如何被用户认可成为关键性因素,同时,铁通运营商原有计费体系将面临着严峻的挑战。 众所周知,铁通运营商业务支撑系统中,最核心的就是集中计费系统,它是减少话费纠纷、提高服务质量、提高管理经营效率的关键性工具,也是为达到市场营销目标、实现先进性服务理念和开展创新型管理模式的重要载体。新模式下的计费系统呼之欲出,开发并研制一套全新的计费系统成为近年来的软件行业的新方向。自行研制或者联合软件开发一套个性化计费系统,也会对铁通运营商在改善服务质量、增强同行业竞争实力上起到功不可没的作用。再次,随着铁通业务的不断发展,相关业务数据逐渐庞大,沧州移动现在面临的问题就是旧的系统仍
7、然在使用,但又要投入运营新的系统。如何使新老系统很好的融合在一起,在方便维护的同时保证数据的准确性,也是摆在计费系统重新设计者面前的一项重要任务。由于各平台之间的差异,移动一部分旧系统必须要通过相应改造才能顺利的在新应用平台上运行,这在很大程度上是对企业员工工作量的挑战并无形中增加相应成本;本项目另一重要研究内容是保证内部重要的数据和相关运营模式得到安全的保护,不被外界甚至竞争对手所窃取。在目前日益激烈的同行业市场竞争中,铁通运营商不仅要让自己在技术上保持领先优势,还要时刻提防竞争对手的相关举动。客户信息等相关重要数据,铁通运营商应格外关注其保密性。在以往的系统中,由于这方面考虑欠佳,系统一层
8、的安全防范容易攻破,使得企业数据在安全性上没有充分的保障,会给企业带来潜在危机。此外,对于铁通行业的计算机应用研究来说,创建具有实际应用价值强的计费服务系统也是该领域需要完成的主要任务。由于多数计费系统只是满足当前业务现状,缺乏与实际铁通行业动态和发展方向的结合,给铁通带来了盲目的系统开发。对于企业本身来说带来了业务流程处理分散,业务水平不高的问题。目前常用的系统都不能满足企业很多简单和实际的需求,随之产生了很多不良的问题导致整体行业发展受到影响。这些问题可以集中为项目设计模式分散、与企业内部系统交互操作过于复杂、计费功能不灵活等。(二)国内外相关研究现状最早铁通运营商在构建计费系统信息化的时
9、期,受到当时计算机技术和计算机硬件性能等条件的能力限制,企业对于信息化和服务意识以及竞争方面的意识比较欠缺。当时的计费系统主要以满足现有功能业务为前提,实现以自动化为主的记账、计费和收费等基础功能。随着近几年铁通行业各项业务不断飞速发展,原有的计费系统已不能满足快速发展的需要,同时也不能满足客户对于铁通服务的需求,铁通运营市场也变得竞争激烈。通过计算机和计算机数据库技术的不断创新,可以为铁通带来更多的系统服务要求,主要集中在系统的灵活性、复杂度和多动能业务支持的方面。由于铁通市场的竞争日趋激烈,用户对于服务的需求不断增长,南京铁通需要一个系统来满足这些要求,计费系统需要提供实时性、集中性和综合
10、性的特点。目前国内外计费系统比较重点的问题如下:企业竞争力,目前很多企业还是通过多种优惠的方式进行客户的吸引,除了提供优惠外,还会附加一些组合服务等。但是由于不断和持续的推出新的服务,原有系统很难对于新的服务进行数据支持。 客户满意度,对于铁通来说,增加竞争实力保留更多的客户最主要的手段就是提高客户的满意程度。阻碍该因素的原因有现有系统的性能和稳定性,还有客户的个性化需求。 管理决策准确性,对于市场的占有率来说,主要通过扩充客户的业务量上。原有的计费系统对于客户的信息和相关业务分析报表功能的不足,信息不全不细致,导致了决策的模型并不是以客户服务为中心的服务。 通过上述分析我们可以认识到,南京铁
11、通对于市场竞争的核心是具有良好功能的计费系统,该系统是铁通整个市场运作体系中的核心组成。设计一个吸引顾客又能高效内部运作的计费系统是解决上述问题的最直接的解决方案。铁通都意识到计费系统是其运行和提高服务质量,增加企业竞争实力的有效手段,通过不断的客户需求,这也使得计费系统需要进行全新的构建和具体实现。目前计费系统主要的发展方向有以下几点: 提高整体服务质量、市场的竞争力,从目前铁通行业的发展来看,南京铁通提供的服务和相关产品,其中包括服务质量问题都集中在计费系统的领域之中。对于企业重点发展和业务提供来看,对于计费系统的依托主要集中在,铁通资费价额的调整需要计费系统相匹配,通过计费系统灵活的支持
12、和扩展计费服务;减少用户对于费用误差的情况,良好的业务系统可以有效的避免用户在计费和缴费中因为偏差而出现的不满。以上问题都需要有良好的计费系统提供业务的支持和数据服务。 保证铁通运营商自身利益和效益,对于计费系统来说主要处理的功能不仅是准确有效的进行服务费用的计算和结算,还有对服务费用的回收,减少欠费情况的发生,有效的提高企业资源的利用。通过计费系统有效的控制结算费用及时收回不发生费用的流逝问题,这是计费系统重要的功能任务之一。对于计费系统来说需要有足够的把握对于项目的结算费用数和相关服务费用进行有效、合理、客观和准确的结算服务提供,并可以为公司提供有力的结算数据作为支持依据。 市场经营决策,
13、随着市场各种不断竞争的增加,必然加快铁通对于市场经营决策的理性化和科学化的管理。往往一个不利的决策会导致公司无法弥补的损失,不光是公司收入受到影响,甚至会对客户群体产生影响,甚至影响到企业的生存。计费系统中包含大量的数据,其实这些数据具有很大的数据挖掘实用性。这些数据中可以分析出企业经营状况和客户群的相关特性。通过这些数据指标可以有效的指导公司的服务走向,辅助提供业务方向的数据支撑。二、需求分析根据客户业务流程的调研,计费业务流程大体可分为业务受理,业务数据采集和业务数据处理的计费过程,出账和销账的账务管理等。计费的整个业务流程是包含用户通过使用提供的铁通话费服务和相应的服务产品时,从开始使用
14、的起始点到最后服务结束的整个周期,通过计算这个周期完成话费的计算。在这个业务过程中每个业务节点的数据都是相互关联和影响的。在业务服务没有使用完之前,系统不会为该服务计算费用。如果用户在查看话单具体信息时,信息存在服务费用计算异常时,会对用户造成很多不必要的麻烦。本系统针对铁通运营商的不同业务服务都有对应的计费方式和相关规定并且都有相应的计费标准。 我们将原始话单定义为根据通讯设备采用的服务,对不同服务使用产生的不同类型的话费单据。话单根据相应的业务进行处理,根据不同的服务费用和话单信息通过汇总和相应的计费核算最后形成用户收费的证明材料。系统的计费部分进行话单信息采集后,根据公司制定的业务费用标
15、准进行话单的业务批价,具体批价采用公司对于不同服务费用的具体收费标准进行操作。在话费服务中需要区分地区之间的号码,如果是不同国家的号码时,需要针对这些特殊的单据进行话费的统一处理和统计。对于用户的话费单需要区分本地和漫游的情况,如果话单中通话记录的单据始终是本地话费时按照对应的话费标准进行计算。如果话费中出现漫游数据时,根据当地话费标准进行统一结算。对于一些特殊情况,需要根据话单具体的业务情况进行批价和计费。话单数据需要保证准确性和安全的设计原则。账务管理需要用户缴费,并对缴费金额进行校对,并将款项直接经由计费系统进入财务系统,之后对用户的账务进行销账。计费系统业务流程如图 2-1 所示。图2
16、-1计费系统业务流程(一)系统需求分析计费系统的业务功能的主要问题是如何实现该业务需求,通过需求明确铁通运营服务等相关业务的分类和数据记录及相关费用的记录等。对于人为因素造成影响需求的过程应该尽量避免,通过数据库数据的保存能力可以结合网络提供的业务服务,对不同服务的收费标准进行明确,并可以通过有效的手段进行费用的分析和统计。为客户提供查询和支付账单等使用信息。本计费系统主要实现功能如下所述: 注册和登录功能模块,主要功能包括登录功能,注册功能,个人信息注册及更改功能。 账号管理功能模块,主要功能包括账号层次树功能,账号管理主页面显示功能。 账单功能模块,主要功能包括后付费账单的单项查询功能和列
17、表查询功能。 支付功能模块,主要功能包括多种支付方式的实现。主要有自动支付功能,单次支付功能,电子钱包功能,支付清单功能和交易清单功能。1、注册和登录功能该模块主要功能包括用户登录功能、注册功能、个人信息注册及个人信息修改功能。我们将通过其注册和登录两个场景的用例进行需求分析。首先,如图2-2注册用例图所示,用户通过具体要求进行信息注册,其中包含一个特殊业务场景,例如账户注册第一个手机会被注册为第一用户,此外所有手机用户都是第二用户。如图2-3登录用例图所示,从图2-3中可以看出作为用户如何才能完成登录,接下来根据流程图对注册和登录这两个场景进行详细的介绍。请重新绘制手机用户注册为第一用户注册
18、为第二用户注册为预付费账号注册为后付费账号图 2-2 注册功能用例图请重新绘制Alltel手机用户登陆找回用户名找回密码图 2-3 登录功能用例图 当用户注册时需要用户提供手机号码,系统将校验手机号码有效性。手机号码输入有效时,系统需要继续验证该手机号码对应的账户下是否存在另外手机号码,如果没有,则显示注册协议,用户同意后,填写个人信息,发送验证码,用户填写收到的验证码无误后完成注册并提示用户的注册账户类型,例如是预付费账户还是后付费的账户。如果该用户所对应的账号下已有手机用户注册了,则提示用户是否需要注册为第二用户,具体注册流程与第一次注册类似,但需要用户输入系统所发的验证码。2、账号管理功
19、能该模块业务流程相对简单,通过账号管理功能模块对系统整体进行控制,它是每个功能的入口点。账号管理功能模块位于每个界面的左侧,来显示一棵层次树,运用树形结构是为了对数据结构清晰展示,但是树形对于开发的数据结构具有一定的复杂度。树结构上有用户所使用的预付费账户名,也有后付费账户名。用户可以选中任何一种账号,然后刷新页面右侧区域的功能。 根据图2-4账户管理功能用例图所示,我们根据用户作为活动者,可以看到用户具备的不同业务活动。在账号管理功能模块中还有一个是账号管理主页面显示功能。这个主页的主要功能是显示后付费账户的最新账单和付款情况。如果用户在树结构上选择预付费的账户,则会给出提示信息,说明此界面
20、只能显示后付费账户的最新账单和付款情况。请重新绘制Alltel手机用户账户管理功能账户主页显示功能账户层次树图 2-4 账号管理功能的用例图3、账单功能账单功能主要是用来显示账号管理模块的层次树上的账号而产生的账单,对预付费用户提供查询,对后付费用户提供账单生成。需要为用户提供多种账单的显示方式,满足不同客户的需求。账单功能有两种显示方式: 为用户展示某一月账单的详细内容;将所有的账单罗列起来。 根据图2-5用例图所示,账单概要模块主要提供查看后付费账号的账单信息,查看账号下服务的消费信息和发送账单信息到用户的邮箱中的功能。其中,查看账号的账单信息功能和查看账号下手机服务的消费信息中扩展了打印
21、的功能。发送账单信息到用户的邮箱,会使用用户注册过常用邮箱,并将基于一个账号下的所有信息,包括概要的账单信息,账号下所有手机的服务信息等,生成为Excel表格,作为邮件附件发送到客户邮箱中。查看账单列表模块主要是给用户一个总体账单的概要显示,用户可以选择某月的账单进行打印。请重新绘制Alltel手机用户查看后付费账单信息查看账号下其他手机消费信息发送账单信息到邮件查看账单列表打印账号下其它手机消费信息打印后付费账单信息图2-5 账单功能的用例图 4、支付功能支付功能模块的主要功能是实现业务产品用户,对自己使用的业务产生的费用,进行付款的功能,同时支持预付费和支付后付费的用户。首先,用户登录到系
22、统之后,根据自己实际需要对费用进行支付,这样的操作称为单次支付。单次支付可以通过用户直接使用信用卡或银行借记卡,也可以通过预先设置的电子钱包支付,电子钱包中储存用户常用的支付方式信息。除了单次支付功能外,系统还提供自动支付功能。用户可以设置支付方式及支付时间,系统会根据设置的时间点自动对该账户设置的支付方式,进行付款操作,由系统自动代扣代缴。系统对每次交易记录需要自动记录,同时记录单据状态,并支持对历史交易记录的查询功能。请重新绘制Alltel手机用户支付功能支付历史记录交易历史记录电子钱包功能单次支付功能自动支付功能图2-6 支付功能的用例图 根据图2-6支付功能用例图所示,支付功能主要包含
23、如下功能: 单次支付功能是支付的时候另一种重要支付方式。这种支付方式灵活性更强。用户可以选择填写支付方式的信息列表,来实现这种支付。无论使用电子钱包还是使用电子支付,用户都要先确认其支付意愿,系统才会开始支付过程,如果支付失败也给出用户应有的提示。 电子钱包可以添加用户信用卡,银行卡等多种卡片,其中信用卡支付需要提供多种信息,所以我们把信用卡作为一种重要的支付方式。银行卡支付作为另一种支付方式。我们可以向个人钱包里面添加支付方式,也可以查看各项支付方式,并修改其中的几项,例如,如果注册银行卡作为支付方式,则下次打开的时候,其四个属性:支付方式描述,银行卡类型,支付密钥和银行卡号码,只有支付方式
24、描述可以修改,其他设为只读,这样更能保护用户的信息安全。用户还可以删除该种支付方式,再次添加新的支付方式。 自动支付功能是一种智能支付,用户可以为预付费账号或者是后付费账号配置自动支付的时间和支付方式。这是应该注意针对两种不同的账号,自动付账日期的设定是不同的,针对后付费账号用户应该设定为账单到账日期的第几天开始付账,但针对预付费账号应该是设定为上次缴费日期的多少天后开始缴帐。自动支付功能的基本流程就是用户设定好自动付账的信息,确认保存之后,系统开始默认执行,用户可以在任何时候取消自动支付方式。 支付历史清单是针对所有付账的历史记录,包含成功、失败、取消的单据信息。用户可以浏览一年以内的支付记
25、录,点击每项记录的记录号可以打开该支付记录的细节信息,用户可以取消处于等待支付状态的支付账单。该历史记录页面也具有打印功能,用户可以在打开的支付记录细节信息中打印该支付记录。 交易历史清单,提供实时的所有已经成功的交易,用户可以浏览一年以内的支付记录。点击每项记录的记录号可以打开该支付记录的细节信息。该历史记录页面也具有打印功能,用户可以在打开的交易历史清单中打印该交易记录。(二)非功能需求根据软件工程中对于非功能需求的描述,非功能性需求规定了本系统必须满足的服务水平、系统非运行时间及系统必须遵守的约束。对于非功能性需求来说,不会直接影响系统主要功能的体现,对于系统的用户和相关人员来说,该需求
26、是很直观的展现系统好坏的因素。非功能性需求主要包括,系统的业务约束与假设条件,系统的实用性、性能、扩展性、可靠性、可支系统接口。通过非量化的方式标示一定非功能性需求。通过指标可以描述一个衡量系统某种特点的标准,本系统在做设计时针对非功能需求需满足以下需求特点: 规范性,在系统的总体设计上,主要包括设计、开发和维护必须按照国家标准和相关通信行业的标准进行。针对个别运营商需要满足自身企业的标准以及国际的相关规定。 安全可靠性,安全可靠性是铁通行业重点要求的技术指标,系统需要全天候的实时保证可靠服务。同时需要保证计费系统与相关系统数据之间传输的安全。对于这样的安全机制系统需要提供权限管理和级别高的安
27、全机制,时刻记录对系统中每次操作和非法操作,尤其是要将每次发生的非法操作通知到管理人员处。系统还应该提供多种安全手段杜绝非法登录等操作,真正确保系统数据的安全。 可扩展性,对于计费系统来说需要具备在业务范围和处理能力以及业务量的良好扩展能力,保证系统在未来一定时间内可以快速响应业务扩展需要避免重复开发相关系统。对于其他业务系统需要提供标准和规范化的接口业务,方便系统内数据交换。 开放性,系统的接口设计上必须按照规范化的设计要求,保证不同厂商提供的硬件和软件可以实现数据共享;在系统后期扩展和硬件设备的采购方面不受某一个厂商提供的硬件、软件和系统等相关产品的控制,可以灵活选择。 模块化,系统采用多
28、层设计模式以及多模块化的设计原则,这个原则是将业务逻辑、业务数据和业务展现分离开,实现这个架构的透明度和业务功能的灵活组合。三、系统总体设计(一)系统体系结构通过上面章节的讨论与研究,本文基本确定了系统的开发方案和系统的体系结构,最后确认的系统总体体系结构如图4-1所示,本计费系统由三个应用服务构成,分别是:RB数据收集系统,CSM用户服务系统,WSC账务管理系统。CSM用户服务系统和RB数据收集系统运行在同一个服务器之上,WSC账务管理系统独立部署。服务之间的数据交互使用Collaboration组件完成。下文是对这三个应用程序的概述。图 3-1 计费系统内应用程序之间配合图1、 RB数据收
29、集系统 实现了高度可扩展和可靠的融合收费,评级和资产管理系统,该系统支持现有的和新出现的多个垂直市场服务。RB应用程序支持集中收费,包括在线和离线,支持任何通过网络或媒体提出的服务。该系统可以针对每个事件或订阅为基础来收费,也支持多种支付方式。 2、 CSM用户服务系统 在这个系统中客户可以购买多样式的服务,各种套餐,并将其放入到购物车中,产生订单。更加值得称赞的是,用户服务管理系统接受客户化定制,可以根据背景不同,在系统中集成不同的账单产品。 3、 WSC 账务管理系统 作为整个计费系统的账单管理信息系统,总共有注册和登录功能模块,账号管理功能模块,账单功能模块,和支付功能模块构成。该系统是
30、本文工作的重点。(二)系统功能模块结构1、注册和登录功能模块 根据需求的设计,注册和登录功能模块主要分为用户注册和用户登录两个过程。用户在注册时,系统需要提供为用户手机发送验证码的功能,当用户输入验证码时,系统还需要对输入的验证码进行比对,如果用户输入的验证码无效则不能完成注册。另外一个过程是用户登录操作,系统需要校验用户在登录界面输入的用户名、密码是否正确。通过登录控制将系统赋值对应的角色,获取该用户具备的系统资源操作控制。如图3-2所示,系统注册、登录模块结构图。模块需要支持如果用户选择找回密码,找回密码的一种方式,就是通过系统发送验证码,用户输入找回密码的验证码,如果用户输入无效,也不能
31、够找回密码。图3-2 注册和登录模块功能结构图2、账号管理功能模块 账号管理功能模块主要实现页面左侧的层次树,用户选择层次树上的账号则会刷新页面右侧的内容。在账号管理功能模块中还有一个是账号管理主页面显示功能。这个主页的主要功能是显示后付费账户的最新账单和付款情况。如果用户在树结构上选择预付费的账户,则会给出提示信息,说明此界面只能显示后付费账户的最新账单和付款情况。该模块功能结构图如下图 3-3 所示。图 3-3 账号管理模块功能图3、账单功能模块 账单功能主要是显示对应账号管理模块的层次树上的后付费账号而产生的账单,账单功能有两种显示方式。一种是为用户展示某一月账单的详细内容,另一种是将所
32、有的账单罗列起来,用户选择查看某一个账单,主要方便用户的打印。第一种显示方式,我们称为账单概要模块,第二种我们称为查看账单列表模块。具体功能结构如图3-4所示。图 3-4 账单模块功能结构图4、支付功能模块 支付功能,根据需求分析的设计支付功能模块需要具有电子钱包、单次支付、自动支付、交易记录日志、支付记录等功能。电子钱包用于记录用户常用付款信息,比如信用卡的信息等。用户也可以选择单次支付对服务费用进行在线实时的缴费。如图3-5所示,支付功能模块由五个子功能组成。图3-5 支付模块的功能结构图(三)系统流程设计根据调度算法的主要规则我们可以对系统的主流程进行总体的定义,调度算法规则主要是为系统
33、提供相关任务的创建,这些系统任务主要包含了执行和稽核流程。根据规则要求本系统流程主要有以下几个步骤: 用户购买服务,通过用户是否付款作为判断正式数据和非正式数据的标准,用户在选择适合自己的服务时,往往会产生很多非正式数据。当用户确认付费或者管理员确认服务生效后,这些数据便成为正式数据。 服务费记录,通过话单和文件信息的驱动,系统需要提供实时的话费计算处理功能。根据话单业务的流程进行控制,换单需要经过的预处理包含,批价、话费的累计入库、信用控制和优惠信息等。使用队列消息进行传输时,可以保证内部数据有效连接,保证话费信息处理的高效和实时性。 账务统计阶段,根据账务流程的控制系统对账务进行触发操作,
34、也可以根据系统设定的时间和人工设定任务的处理方式进行触发。从实际业务需要触发,系统根据业务规定来定时的处理每天数据信息。对于新增的业务单据、新增的系统统计数据和业务相关数据。系统可以定义时间周期内进行话单数据的进行出账的管理。 在本系统中我们对数据的校验增加了人工的稽核功能进行数据正确性的保证,系统正常运行和防止系统被异常数据的干扰。定义的人工稽核点主要包含,系统参数的采集和预处理、用户档案变更的确认、系统资源技术的变更确认、处理错误话单的回收、账务信息的核实和优惠信息的确认等操作控制。在系统整体看来稽查和计费账务有数据的关联,系统主要的调度通过数据依赖关系和业务规则进行数据支撑,系统任务的挂
35、起要遵循系统流程的控制。(四)系统安全设计 对于铁通系统来说系统重要的组成部分就是系统安全策略,用户需要经过系统的身份校验后才可以浏览系统资源,根据自身的权限系统对用户分配系统资源。本系统采用基于功能模块的授权方式,对系统中每位用户进行系统资源的操作控制。1、系统认证 系统的认证主要是对用户身份的确认,主要分为登录、加密和授权三部分,下面分别介绍各个功能设计: 登录,本系统根据用户实际需求,针对不同的业务类型提供不同安全认证服务,两种安全认证服务的方式为: 对营收服务,系统根据中间件 Tuxedo 的接口提供服务的认证方式,该服务的认证统一是由 Session 进行管理。系统强制对每次用户进行
36、 Session 有效性的校验,如果 Session 不符合要求或者授权时间已过期,访问将被禁止,从而保护用户整体数据的安全。 对后台服务,提供以 CORBA 服务形式的认证服务,通过界面将用户数据通过获取后传入认证服务器中进行认证处理。通过一定算法的处理,如果该用户通过了系统用户的校验。系统会为该用户生成一个随机而且唯一的 SessionID 标示,该标示作为后续系统的验证进行判断标志。可以根据实际业务的需要将 Session 信息保存在存储堆栈中,为后期认证服务提供数据。以下是上下文内容:只有通过了认证的调用才可以访问后台服务,认证时基于每次对于 Session 的有效性检验,防止后台服务
37、被恶意调用和攻击。 加密,通过加密手段,保证数据的安全性。数据加密的手段主要包括,口令及关键信息加密,数据传输过程中的加密。加密种类分为以下几种:(1)用户名、用户密码、Session 信息和登陆时的关键信息需要通过系统进行加密处理,防止信息被程序盗用。 (2)数据库存储的用户密码需要保存的是加密后的数据信息,在用户登陆进行密码比对时,通过查询加密后的密码信息,根据程序算法还原为明码。通过明码进行数据的比对; (3)为了系统总体的安全性,对于系统配置文件的整个存储过程中,也需要对该配置文件的获取进行必要的加密处理。 (4)对于用户的话单数据、通话记录等重要的数据,在网络传输的过程中也需要采取加
38、密的处理方式,保证重要数据的安全性。 授权,通过了认证系统的用户才能获取认证信息,这时用户采用使用系统资源。Session 信息会加载到用户控制端,为用户获得角色权限提供数据查询的依据。 系统主要提供了验证和授权接口等系统服务认证,系统的验证接口主要提供实时的系统认证调度服务和系统接口的权限控制。授权接口主要用于控制用户所在角色,针对该角色所具备的权限和资源控制。这些验证条件包含,用户和权限类型等。2、权限管理 在系统设计中我们将权限作为控制系统资源的载体,系统资源可以分为,操作资源和数据资源。比如,操作资源系统中界面中的按钮,可以操作的菜单,对数据的增、删、改、查的操作等;数据资源,看到一个
39、界面的数据,可以调用的数据接口等。通过这些抽象的表达方式作为系统的权限。 系统采用基于 RBAC(Role-Based Access Control 是基于角色的访问控制模型),作为传统访问控制的策略。通过这样的方式可以避免权限和用户直接产生对应关系,不便于系统的管理。通过角色作为一个用户与权限的载体,解耦了权限和用户的关系,系统将所有的资源也就是授权给予角色,并不是直接给用户;权限是指权限颗粒,由操作和资源组成,表示对资源的一个操作。 我们对 RBAC 模型进行简单介绍,该模型支持比较常用的安全原则,这些原则分别是: 支持最小权限原则,之所以被该模型支持因为通过角色完成所需模型任务的划分需要
40、最小权限集。责任分离原则,通过互相调用互斥的角色进行权限和资源的划分。 其中互斥的主要任务体现在以下几个方面: 基于角色管理的授权模型,将现实生活中的自然人形成一一对应关系,而系统权限的管理,其最终是管理人的访问权限,所以根据人的自然信息映射到系统中的角色,形成权限模型,更加符合实际管理的需要,更加方便用户掌握权限模型的配置和使用。 用户与角色关联,角色与权限信息关联,其中权限信息包括:功能权限、数据权限和约束条件或授权策略。功能权限是决定用户在系统中可以使用哪些功能模块,数据权限是决定用户可以对哪些数据进行维护操作,授权策略是决定用户在特定条件下才可以进行相应的维护操作,策略机制是整个管理的
41、核心,结合企业的管理规范,可以制定出符合企业要求的管理策略,进而限制用户只能在合法的时间合法的地点,做合法的操作,极大地提高了安全性,并可以对违反规范的行为进行审计报表,发现非法访问情况。RBAC 授权模型参见图 3-6:图 3-6 RBAC 授权模型图 根据 RBAC 模型的理论,本系统权限和资源的设计依据此理论对系统内部根据账号、权限和角色三种实体将用户于权限进行管理。在本系统中用户主要包括系统的管理员、系统操作人员、营业人员等。对于开发阶段系统用户可以再分出系统分析人员、开发人员和测试人员等。基本角色分为:用户管理员、应用管理员、授权管理员、审计管理员、系统管理员、普通用户。根据项目需求
42、,还可以创建新的用户角色,根据业务需要进行角色划分。角色可以作为系统权限及资源的单位的主要集合,可以标示具有相同操作资源的同一类用户。用户和角色的分配可以使一对一,也可以是一对多的关系。分配角色就是将角色所具有权限和资源分配给具体用户。 根据图 3-7 所示,本计费系统的权限管理图,从上图看出,总账户一般提供给企业或者家庭团体使用,客户可以使用手机号申请,账户下的第一个手机用户申请会成为第一用户,第二个手机用户申请将成为第二用户,两种用户权限不同。系统默认的管理员权限,可以分配不同权限给用户。图 3-7 权限管理图3、区域设置 在系统中需要根据公司内部关系进行区域的设置,如本地网,营业区、区局
43、、分局、支局、分公司等,不同区域存在不同的权限和数据关系。根据归属关系将区域分成多级的树状层次结构,通过树状结构表示公司内部结构。 根据实际情况要求,内部组织机构的划分最多支持 0-N 级。系统中的用户只能隶属于一个区域,不允许跨区域的权限,系统管理员根据系统权限分配,只能管理该区域内的客户。不能进行跨区域的用户操作。为了方便管理,通过区域码管理区域,根据区域码的机构可以区分该部门的级别。系统管理员可以自定义区域码的长度及表示级别的位数。对于相同域的用户可以互相查看,但是不能进行跨域数据查看和其他域的相关操作服务。四、系统详细设计与实现(一)注册和登录功能模块设计与实现通过EBOS二次平台开发
44、构建该模块,其系统设计与实现都具有组件化的特点,严格遵守MVC的设计格式,其开发组件与MVC设计模式的关系如下图4-1所示。图 4-1 EBOS 的 MVC 模式实现1、数据实体设计 如图 4-2 所示,图中描绘了注册和登录需要的数据实体。在注册过程中,可以得出手机号和 SMS 参数是一对一的关系,这些数据组成了发送验证码方法的参数,这个方法返回值如图所示,这个返回值是判断验证码的正确与否的依据。注册过程需要用户提供个人基本信息,这些信息也独立成一个数据实体,并可以抽象成User 这个数据实体。根据每个实体在业务流程中的作用,对实体的属性进行细化,通过属性来表示实体所具有的参数。下半部分登录信
45、息是一个供页面使用的数据实体,根据这个实体的值完成登录的各个过程。图 4-2 注册和登录的数据实体图 2、 业务逻辑设计根据需求定义的用例需求,如图 4-3 所示,总结出注册和登录模块的业务逻辑类如下:图 4-3 注册和登录的逻辑类图 通过类去实现该功能模块所具有的接口方法,这里 WebHelper 类的方法都是静态类,方便在页面上调用,WebHelper 类是方法的入口点,所有的带事务的方法都写在 Manager 包里,这里方法都是实现类。因为 Manager 的包里有处理事务的机制,能够安全的调用外部类,或者在数据库内存储数据。(二)账号管理功能模块设计与实现 账号管理作为后续功能模块的起
46、始点,用户通过此管理可以选择自己用户类型,还可以查询所选服务类型的记录和相关费用记录。账号管理中需要在界面左侧展现一个数据树,该树用于展现用户类型,预付费账户、后付费账户。通过左侧数据树的连接更新右侧数据信息,可以展现某一个账户的基本信息等。 在账户基础信息中需要重点显示的是当用户选择后付费业务时,需要显示当前用户的最新账单,通过数据实时查询出该用户的付款情况。当选择预付费时,数据信息将不做上述提示。 1、代码实现 该函数先远程系统查询用户信息接口API,查询出数据后,根据树形结构的数据结构对数进行遍历,最后再在Web Tree上显示数据。其中调用接口使用了系统提供Collaboration的数据交互方法,该方法需要在配置中定义然后通过映射的方式,前后台可以进行调用。这个方法的使用在下文中将详细解释。public WebTree loadTree(String nodeId, IWebTreeContext context)WebTree tree = new WebTree();HttpSession session = context.getRequest().getSession();String userName = SecurityWebHelper.getLoginUserName();if (userName