1、+大学毕业论文(设计)学院: 计算机科学学院 专业:计算机科学与技术年级:2006 题目: 电信增值服务计费管理系统 学生姓名: + 学号:+ 指导教师姓名:+职称: 教授 2009年5月20日+本科毕业论文(设计)原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。本人完全意识到本声明的法律后果由本人承担。 作者签名: 年 月 日 目 录引言31 系统设计概述31.1 系统功能描述31.2 需求分析41.2.1 问题定义41.2.2 可行性研究41.2.3 电信运营管理
2、系统任务要求41.2.4 技术框架分析51.2.4 软件分析61.3 系统模块划分61.4 系统流程分析71.5 数据库的设计7数据库的大致设计过程如下:72 系统功能模块设计112.1 管理员登录界面设计112.2 管理员管理界面设计122.3 资费管理界面设计122.4 账单管理界面设计132.5 账务管理界面设计142.6 权限管理界面设计142.6 用户自服务界面设计153 系统与数据库的连接164 系统架构的设计165 系统的技术特点17结论20致 谢21参考文献21电信增值服务计费管理系统摘要:电信三国是如何建成的: 十几年来,电信运营商似乎走了一段纷繁复杂的征途。电信重组,标志着
3、中国电信业进入一个发展的新时 期。2009年10月新联通成立,中国电信业重组后的格局终于明朗,原来的五家争霸变成了三足鼎立。而年 底3G牌照的发放在即,更是让“新三国”之间的竞争进入白热化的状态。究竟旧貌换新颜的电信运营商们该 如何整合现 有资源和品牌?如何实现基础业务平台与增值业务的结合?眺望前方,09年,三大运营商在 增值业务上的较量会更加激烈。本系统即是对新电信时代的一个增值服务的一个计费管理系统。电信增值 服务是现代电信增值的重要手段,通过用户定制的服务种类与服务时间统计相应的费用,准确快速方便的 计费系统是支持这项服务的重要手段。本系统是是一个强大的基于B/S模式的同时能够提供管理员
4、与普通 用户的系统,争取做到实时更新,快速稳定。本系统的服务器为UNIX服务器(开发时在Linux),数据库 设计是基于MYSQL平台,系统用到了JAVA EE三个开源框架:STRUTS2.1+HIBERNATE3.2+SPRING2.5。本电信 增值服务计费管理系统拥有模块数据采集系统,数据整合模块,用户管理模块, 资费管理模块 ,管理员管理模块 ,账单管理模块, 账务管理模块, 自服务模块 ,权限管理模块。本系统力争做到快速 准确 透明 高效 方便。关键词:电信增值;开源;数据库;HIBERNATE;ORACLE;J2EE;STRUTS;SPRING Value-added Telecom
5、 Services Management SystemAbstract:For several years, the telecommunication operators seem to go for a variety of complex instructions.The telecommunication reorganization, symbolizes that the Chinese telecommunications industry enters a new development period.In the October2009 china unicom is est
6、ablish.After the Chinese telecommunications industry reorganizations pattern is finally bright,five originally strove for hegemony to turn the tripod to stand.But the end of the year, 3G license plates is provided.That is lets “the new three countriescompetition enter the superheating condition.The
7、telecommunication operators is to be how present existing resources and brand that old appearance to be trade with new appearance.How to realize the foundation service platform and the value-added service union .In future,Three big operators can be more intense in value-added service contests in 09.
8、This system is a new telecommunication time value-added service cost management system .The telecommunication value-added service is the important means which the modern telecommunication rises in value .Calculate cost through servicing time statistics corresponding expense of users. The fast conven
9、iences cost system is good for supporting this service.This system is one formidable can provide the manager and average consumers system based on B/S pattern at the same time which achieve the real-time renewal, fast stable.This systems server is the UNIX server (when development in Linux) and data
10、base is MySQL.The system used three open source frame(STRUTS2.1+HIBERNATE3.2+SPRING2.5) of JAVA EE.This telecommunication value-added service cost management system has the module Data acquisition module, data integration module, the user management module, tariff management module, the administrato
11、r management module, billing module, account management module, from the service module, rights management module. This system achieves fast accurate transparent ,highly effective and convenient.Key words:Telecommunications value-added;Open-source;Database;JDBC;ORACLE; J2EE; STRUTS;HIBERNATE;SPRING.
12、引言 对于所有计费系统来说,准确,方便,透明都是最重要的要求【1】,本系统在这些方面做了大量的工作,提供了用户自查询等功能,做到了透明。对服务时间精确到分钟,在数据的整合与采集都有详细的记录,做到了准确。本系统基于B/S模式,方便了查询,不需要下载插件即可实时查询,做到了方便。本系统在用户使用时争取做到与用户的互动,用了大量的AJAX技术以方便用户的互动体验【2】【3】。本系统用了JAVA EE的SSH框架,MVC分层清晰,有良好的扩展性和代码易读性。1 系统设计概述1.1 系统功能描述 下面是本系统的整体结构图: 图1-1 系统整体结构图 电信增值服务计费管理系统的主要目标是对电信附加服务进
13、行友好安全的管理,做到对用户负责。对运营商便利,对企业形象提升。具体功能描述如下:(1)数据采集和整合【4】。(对用户的访问记录文件进行采集整合。)(2)用户管理模块。(包括拥有该项管理权限的管理员对用户的增删改查。)(3)资费管理模块。 (包括拥有该项管理权限的管理员对资费的增删改查。)(4)管理员管理模块。(拥有该项管理权限的管理员对管理员的增删改查,注:admin即超级管 理员不允许删除。)(5)账单查询,账务查询。(包括拥有该项管理权限的管理员对特定条件的账单账务查询并提供报表输出打印。)(6)用户自服务。(对普通用户登陆后对自己的消费记录查询,并提供报表打印功能。)1.2 需求分析1
14、.2.1 问题定义定义阶段的主要任务:我们要建立一个电信增值业务计费管理系统,目标是通过该系统有效的服务于用户,该系统的总体业务模型为: 图1-2 总体业务模型图图1.2.2 可行性研究这个阶段要解决的是“对上一阶段所确定的问题有无行得通的解决办法”。从而导出系统的逻辑模型,从系统逻辑模块出发找到几种可供选择的系统实现方案5。需求分析阶段是软件定义时期的是后一个阶段,中心任务是回答“系统必须做什么?”的问题6。通过需求分析应该得出有数据流程图、E-R图等描绘的精确的系统逻辑模型。1.2.3 电信运营管理系统任务要求系统的功能要求是对使用该系统的用户的服务类型和服务时间进行统计核算,计算得出得出
15、用户所需付费,对系统的各个模块进行管理。惹怒要求阶段主要考虑以下电信运营管理需求:(1)用户使用服务在线时长统计。小时时长=按IP统计采集的特定小时的登录时长天时长=按IP统计的用户特定年特定月当天24小时登录总和月时长=按IP统计的特定年当月时长的总和年时长=按IP统计的当年时长的总和 注:以上均属于数据采集与整合(2) 计费统计。 用户应缴费用=时长*资费类型数额利率+基本费用1.2.4 技术框架分析本系统运用JAVA EE技术实现。Java EE规范定义了一个完善的应用组件技术框架,作为企业级应用系统基本构造模块的组件就是建立在这个框架之上。从简单的Web应用到复杂的分布式企业级应用,几
16、乎所有的业务应用,都可以在此技术框架基础上构造。本文中使用的组件技术主要有一下几种类型:JSP网页、Struts、Spring、Hibernate、JavaBean。(1)JSP:JSP(Java Server Pages)是由Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP技术在Servlet技术基础上发展起来的,它正在飞速发展中,现已成为Java服务器编程的重要组成部分。它虽然还未成型,但是它必将和J2EE(Java 2 Enterprise Edition)一起发展。JSP是结合markup(HTML和XML)和Java代码来处理一种动态页面
17、。每一页第一次被调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet。JSP提供了多种方式访问Java class、Servlet、Applets和Web Server,因此,Web应用的功能可以分成多个明确定义公用接口的组件,通过JSP将它们结合在一起.(2)Struts:Struts 框架工具是 Apache 基金会 Jakarta 项目中推出的一个子项目。 Struts 在英文中是支架、支撑的意思,这也体现出 Struts 在开发 Web 应用程序过程所起到的重要作用, Struts 为 Web 应用提供了通用的框架,让开发人员可以把主
18、要精力集中在如何解决实际业务问题上,与此同时 Struts 框架也允许开发人员根据实际需要进行扩展和定制,从而可以更好的适应用户的需求。采用 Struts 可以简化遵循 MVC 设计模式的 Web 应用的开发工作,很好地实现代码重用,使开发人员从一些繁琐的工作中解脱出来,快速开发能够充分发挥 JSP/Servlet 优点、并具有强可扩展性的 Web 应用。总之, Struts 的出现使得 Web 应用的开发过程大大简化,从而能够缩短开发周期、提高开发效率。 Struts 架构一经推出,即受到 Java 开发群体的广泛重视,从 2004 年开始逐渐升温,并日渐成为 Java 创建 Web 应用开
19、发的最流行的框架工具,在目前 Java Web 程序员的招聘要求中,几乎都提出了对 Struts 的要求,精通 Struts 架构已经成为 Java Web 程序员必备的技能。(3)Spring:传统J2EE应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE的应用没有真正实现Write Once及Run Anywhere的承诺。Spring作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务等。 Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”
20、选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。(4)Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来 操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命 意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。1.2.4 软件分析 1.由于本系统服务器为类Unix服务器,在数据统计
21、与与整合时也需要类Unix系统,且Linux相对于Windows xp操作系统更加稳定,Linux的很多品牌为免费产品,所以选用Linux系统,在Linux系统中Fedora 是一个开放的、创新的、前瞻性的操作系统和平台,它允许任何人自由地使用、修改和重发布,无论现在还是将来。它由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开放 源码的软件和开放的标准7Fedora 项目由 Fedora 基金会管理和控制,得到了 Red Hat, Inc. 的支持9。所以选用较新fedora 12作为开发操作平台。2.MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB
22、公司,在2008年1月16号被Sun公司收购。MySQL 被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多数据库服务选择了MySQL9。且它相较Oracle的费用昂贵,而且Mysql的管理能力也能胜任此任务,它为用户提供了一个安全、可靠、易管理和高端的客户/服务器数据库平台。所以我选用Mysql-5.0.22作为此系统的数据库服务器。3.Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括
23、 Java 开发工具(Java Development Tools,JDT)9。 Eclipse允许在同一IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标上,利用Eclipse我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起10。所以我选择Eclipse3.5作为开发工具。4.Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与
24、和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可11。成为目前比较流行的Web 应用服务器是一款apache开发的一款功能强大,性能稳定,使用方便,易学易懂的web服务器,他安装简单,轻量,而且完全免费,所以我选择tomcat-6.0.20作为web服务器【1】。1.2.5 硬件分析中央处理器(CPU):586以上的处理器硬 盘:80GB内 存:512M显示器:17寸彩显打印机:Eps
25、on LQ-1600K打印机1.3 系统模块划分按照功能描述的内容,设计系统的功能模块。如图1-3,1-4所示: 图1-3 管理员功能模块示意图 图1-4 系统功能模块示意图b) 1.4 系统流程分析本管理系统中,涉及到三大块,具体到九个管理模块(见图1-1)。1.5 数据库的设计数据库的大致设计过程如下:(1)根据系统的需求,确定数据库中要保存的数据信息。(2)设计数据的概念模型,按照功能模块的划分来对数据建模。(3)逻辑结构设计,把概念结构转化为与所采用的数据库管理系统所支持的数据模型相符合的过程。(4)数据库的实施和维护。(5)E-R图。 1.权限管理,管理员管理,登陆模块相关表E-R图
26、: 在此电信增值服务计费管理系统中,定义了一个名为netctoss的数据库。该数据库中包含的主要表有如下:管理员表、角色表、管理员角色设置表、系统模块表、模块操作表、权限表、角色权限设置表、用户信息表、资费信息表、用户业务表、用户登录时长按用户每天整合表、用户登录时长按用户每月整合表、用户登录时长按用户每年整合表。以下是比较重要的几张表的结构。. 1模块表modules字段英文名字段汉字名类型约束条件说明id模块IDIntPKname模块名称Varchar(20)模块名称 2.模块操作表operations字段英文名字段汉字名类型约束条件说明id操作IDIntPKname操作名称Varchar
27、(20)模块操作名称 3.权限表rights字段英文名字段汉字名类型约束条件说明id操作IDIntPKname操作名称Varchar(20)权限名称url保留Varchar(30)权限URLmoduleid模块IDInt权限模块IDoperationid操作IDint权限操作ID 4.角色表roles字段英文名字段汉字名类型约束条件说明id角色IDIntPKname角色名称Varchar(20)角色名称 5.角色权限设置表rolerights字段英文名字段汉字名类型约束条件说明id角色权限IDIntPKroleid角色IDintrightid权限IDint 6.管理员表admins字段英文名字
28、段汉字名类型约束条件说明id管理员IDIntPKname管理员姓名Varchar(20)loginname管理员登录名Varchar(20)loginpassword管理员登录密码Varchar(20)phone管理员电话Varchar(20)email管理员电邮Varchar(20)enrolldate管理员授权日期Date 7.管理员角色设置表adminroles字段英文名字段汉字名类型约束条件说明id管理员角色IDIntPKadminid管理员IDVarchar(20)roleid角色IDVarchar(20) 8.用户帐务帐号表users字段英文名字段汉字名类型约束条件说明id用户ID
29、IntPKname用户名Varchar(20)loginname用户登录名Varchar(20)loginpassword用户登录密码Varchar(20)status用户状态Int暂停phone用户电话Varchar(20)email用户电邮Varchar(20)enrolldate用户开户日期Dateclosedate用户注销日期Datepaymenttype支付方式Intcareer职业Varchar(20)nationality民族Varchar(12)sex性别TinyintCompany公司Varchar(20)zip邮编Varchar(8) 9.资费表pricings字段英文名字
30、段汉字名类型约束条件说明id资费IDIntPKname资费名称Varchar(20)basefee基本费用doubleratefee费用率doubledescription资费描述Varchar(50)暂停 10.用户业务帐号表userservices字段英文名字段汉字名类型约束条件说明id业务IDIntPKuserid用户IDVarchar(20)loginname用户登录名Varchar(20)loginpassword用户登录密码Varchar(20)labip实验室IPstatus状态Varchar(20)priceid资费IDVarchar(20)enrolldate业务申请日期Da
31、teclosedate业务停止日期Date 11.用户登录时长原始明细表details字段英文名字段汉字名类型约束条件说明loginname登录名Varchar(20)loginip登录IPVarchar(24)logintime登录时间Timestamplogouttime登出时间Timestamplabip实验室IPVarchar(24)duration登录时长Long 12.用户登录时长按用户每时整合表detaildays_x字段英文名字段汉字名类型约束条件说明loginname登录名Varchar(20)loginip登录IPVarchar(24)logouttime登出时间Times
32、tamplabip实验室IPVarchar(24)duration登录时长long 13.用户登录时长按用户每天整合表detailmonths_x(与上同)字段英文名字段汉字名类型约束条件说明loginname登录名Varchar(20)loginip登录IPVarchar(24)logouttime整合时间Timestamplabip实验室IPVarchar(24)duration登录时长long 14.用户登录时长按用户每月整合表detailyears_x(与上同)字段英文名字段汉字名类型约束条件说明loginname登录名Varchar(20)Loginip登录IPVarchar(24)
33、logouttime整合时间TimestampLabip实验室IPVarchar(24)Duration登录时长long 15.用户登录时长按实验室每时整合表detaildays字段英文名字段汉字名类型约束条件说明logouttime整合时间TimestampLabip实验室IPVarchar(24)Duration登录时长long 16.用户登录时长按实验室每天整合表detailmonths(与上同)字段英文名字段汉字名类型约束条件说明logouttime整合时间TimestampLabip实验室IPVarchar(24)Duration登录时长Long 17.用户登录时长按实验室每月整合表
34、detailyears(与上同)字段英文名字段汉字名类型约束条件说明logouttime整合时间TimestampLabip实验室IPVarchar(24)Duration登录时长long2 系统功能模块设计2.1 管理员登录界面设计登录界面对一个系统来说是很重要的部分,它对用户体验的第一印象尤其重12。本系统的管理员管理为非面向普通用户的门户,所以登录界面力求做到简洁。如图2-1所示: 图2-1 登录界面2.2 管理员管理界面设计管理员管理包括超级管理员的信息修改和普通管理员的增删改查与信息修改。如图2-2所示:图2-2 管理员管理界面2.3 资费管理界面设计资费管理模块主要是资费的类型和数
35、额。包括资费的增删改查。如图2-3所示:1.资费查询:图2-3 资费管理界面1.资费修改:图2-3 资费管理界面界面2.4 账单管理界面设计账单管理是针对一个用户在特定时间范围内的资费账单的查询。如图2-4所示:图2-4 账单管理界面2.5 账务管理界面设计账务管理是管理员对使用服务器的用户的信息管理。如图2-5所示:图2-5 政务管理界面2.6 权限管理界面设计权限管理是本系统管理的重要模块,也是分级别管理的重要实现,它分为角色管理和权限管理两部分。角色浏览如图 所示:图2-6 权限管理界面2.6 用户自服务界面设计用户自服务是提供给普通使用的。是一个服务的门户,门户网站就要求要有更好的用户
36、视觉体验13。这个模块对普通用户使用服务器的清单有一个公开的展示。登录与查询图如下:图2-7 自服务界面3 系统与数据库的连接JDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名14。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装
37、,使得Java程序员可以随心所欲的使用对象编程思维来 操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命 意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任15。本系统中数据采集与整合采用JDBC技术,其他模块采用Hibernate连接数据库。4 系统架构的设计系统架构逻辑如下: 图4-1 系统架构逻辑图由于MVC具有低耦合高重用等优点16,故系统采用MVC三层模式开发。如图 4-1 所示17:图4-2 系统架构图5 系统的技术特点1.应用的技与
38、服务均为开源免费,降低开发的成本本系统采用Linux开源免费系统fedora 12作为操作平台,tomcat-6.0.22作为web服务器,mysql作为数据库服务器,采用struts2.1,spring2.5,hibernate3.2三大开源框架开发,使用金山WPS撰写文档,以做到最大可能的减少开发支出,节约成本,支持开源。2.项目开发流程清晰,开发规范本系统开发有清晰的开发流程,完全按照企业开发软件的流程,各个阶段思路清晰,文档全面。下面是软件开发简要流程。如图 5-1 所示:图 5-1 开发流程图2.低耦合性(1)面向接口编程 采用面向接口的编程方式,每一层的类都只对它的上一层开放接口,
39、每一层只调用它的下一层的接口而无需知道具体的实现方法。层与层之间只通过接口进行通信,而无需关心其下层的具体实现18。(2)编码时候尽量提取公共信息 为了增加代码的可重用性,在一些公共信息上采取文件配置的提取,hibernate的配置简略如下: username=root password=root driver=com.mysql.jdbc.Driver url=jdbc:mysql:/localhost:3306/netctoss(3)采用Spring进行管理对Dao层和service层与action层之间的偶合采用了Spring框架19,主要用到了IoC的技术降低这三个层之间的偶合。主要配置代码如下:property name=url value