电信运营计费管理系统的设计与开发.docx
《电信运营计费管理系统的设计与开发.docx》由会员分享,可在线阅读,更多相关《电信运营计费管理系统的设计与开发.docx(34页珍藏版)》请在冰豆网上搜索。
![电信运营计费管理系统的设计与开发.docx](https://file1.bdocx.com/fileroot1/2023-5/23/e2128d32-ec19-4ed1-a29c-3609009f7883/e2128d32-ec19-4ed1-a29c-3609009f78831.gif)
电信运营计费管理系统的设计与开发
本科生毕业设计
电信运营计费管理系统的设计与开发
-aa----登录、权限管理及管理员管理模块
院系 计算机科学与技术学院
专业 计算机科学与技术
独创性声明
本人郑重声明:
所呈交的毕业论文(设计)是本人在指导老师指导下取得的研究成果。
除了文中特别加以注释和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写的研究成果。
与本研究成果相关的所有人所做出的任何贡献均已在论文(设计)中作了明确的说明并表示了谢意。
签名:
年月日
授权声明
本人完全了解许昌学院有关保留、使用本科生毕业论文(设计)的规定,即:
有权保留并向国家有关部门或机构送交毕业论文(设计)的复印件和磁盘,允许毕业论文(设计)被查阅和借阅。
本人授权许昌学院可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编论文(设计)。
本人论文(设计)中有原创性数据需要保密的部分为:
。
签名:
年 月 日
指导教师签名:
年 月 日
摘要
随着电信用户的日益增加,计费项目变得越来越庞大,电信企业对客户以及业务的管理需要改善,为客户提供多层次、个性化和多样化的服务。
为了满足市场的需要以及方便管理和计费需要,运营商新增一项OpenLab(开放实验室)出租业务,开发了电信计费管理系统。
本系统的功能是全面准确的统计用户的消费情况,操作简单安全可靠,采用目前比较流行语言Java开发的,系统由SSH框架搭建,权限设计分明。
其中的登录模块、权限管理以及管理员管理模块是由我设计完成。
关键词:
电信计费;Java;SSH;权限管理;管理员管理;
ABSTRACT
Withthegrowingoftelecommunication’susers,theprojectofbillingbecomemoreandmorelarge,telecommunicationsneedtoimprovethemanagementofcustomersandbusiness,andtoprovidecustomerswithmulti-level,personalizedanddiversifiedservices.InordertomeetmarketneedsandtofacilitatemanagementandbillingneedstheoperatorsaddedanOpenLab(OpenLab)rentalbusiness,developedthetelecommunicationsbillingmanagementsystem.
Functionsofthesystemiscomprehensiveandaccuratestatisticsonthespendingoftheuser,it’soperationsimplysafeandreliable,withthecurrentpopularJavadevelopmentlanguage,thesystemsetupbytheSSHframework,permissionsdesignclearly.Oneofthelogmodule,permissionsmanagement,andadministratormanagementmoduleiscompletelydesignedbyme.
Keywords:
Billing;Java;SSH;Login;Rights;AdminManage
第1章引言
1.1课题背景
随着电信用户的日益增多,用户对业务的要求也日渐多元化。
为了满足用户需求电信运营商新增一项OpenLab(开放实验室)出租业务,即该电信运营商提供基于Unix平台的实验室环境,选择使用这种业务的用户能够远程登录到实验室中做基于这个实验室环境的一些工作和实验。
运营商希望借助先进的计算机技术对访问实验室的用户进行管理和计费。
从消费者的角度来讲,电信业务发展到今天,竞争格局的形成让消费者有了更多的选择,同时电信消费在整个消费比例中所占的比例也越来越大,消费者的消费心理日渐成熟,他们很关心电信业务的资费,希望了解每一个消费细节。
因此,电信运营商只有做到计费的准确无误,才能保证业务的正常发展,取得消费者的信任。
如今,计费系统已经成为反馈用户信息最直接、信息量最大的信息源。
1.2意义
本课题所要研究的电信计费系统之登陆模块、管理员管理模块和权限管理模块,就是一个基于电信计费系统的角色管理模块。
通过对这一课题的学习和研究,可以将电信计费系统权限管理的基本原理、实现流程等展现出来,并可作为对新的综合电信计费系统软件权限管理的一种探索来学习和研究,也可以顺带了解整个电信实时计费的工作流程,具有一定的现实意义。
第2章
需求分析
2.1关系设计
2.1.1设计思想
本文涉及三个管理模块,即:
登录模块、管理员管理模块、权限管理模块。
这三个模块除了需要系统开发者为用户提供友好的操作界面和人性化的功能设置,还要对数据库进行缜密的设计,包括权限的验证,权限的分配和角色的划分。
用户和管理员要想对电信计费系统进行查询和管理必须实现登陆,在此过程中根据用户的用户名进行权限的验证,据此为用户提供不同的界面。
对本系统的各个子系统的访问都是受权限控制的,只有拥有了访问权限,才能使用子系统。
在本系统中存在着三类使用者:
其一是用户,即使用开放实验室的人,他们默认具有使用用户自服务系统的权限。
其二是超级管理员,即对本系统进行管理的人,并具有最高的管理权限,他可以使用除用户自服务以外的所有子系统。
这个超级管理员只有一个,是系统初始建立时就提供好的。
其三是普通管理员,即对本系统中的部分子系统进行管理的人,这些人是由超级管理员进行管理的,他们具有的权限也是由超级管理员赋予的。
管理员管理系统就是超级管理员来管理普通管理员。
超级管理员登陆成功后,可以增加新的普通管理员,同时为他分配一些权限,可以修改普通管理员的信息,可以查询所有的管理员信息,可以删除某些管理员。
对本系统的各个子系统的访问都是受权限控制的,权限决定了使用者可以执行的操作,如一个使用者拥有用户管理权限,他就可以执行用户管理的操作。
目前系统已有的权限包括:
用户管理权限,资费管理权限,管理员管理权限,帐单管理权限,帐务管理权限,用户自服务权限,权限管理权限。
今后,系统可能会扩展新的功能,也就会增加新的操作,这个操作就要对应一种新的权限;也有可能删除一某项不再被使用的操作,这样,对应的权限也应该被删除。
因此,为了对权限能够进行灵活的管理,本系统中就提供了权限管理系统。
在本子系统中,一些使用者拥有相同的角色,拥有相同的权限,如张三和李四都是前台操作人员,都拥有用户管理权限和帐单管理权限。
角色代表着一组权限的集合。
目前系统中已有的角色包括:
用户和超级管理员。
2.1.2系统开发环境
结构:
后台服务B/S结构
操作系统:
Linux
浏览器:
主流浏览器(IE,firefox等)
数据库:
ORACLE
应用服务器:
UNIX
开发工具:
MyEclipse
开发语言:
JAVA
2.1.3关键技术
Jsp/Servlet:
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
Servlet是一种独立于平台和协议的服务器端的Java应用程序,可以生成动态的Web页面。
它担当Web浏览器或其他HTTP客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。
Hibernate技术:
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Struts技术:
Struts是Apache基金会Jakarta项目组的一个OpenSource项目,它采用MVC模式,能够很好地帮助java开发者利用J2EE开发Web应用。
和其他的java架构一样,Struts也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。
Structs框架的核心是一个弹性的控制层,基于如JavaServlets,JavaBeans,ResourceBundles与XML等标准技术,以及JakartaCommons的一些类库。
Struts有一组相互协作的类(组件)、Servlet以及jsptaglib组成。
基于struts构架的web应用程序基本上符合JSPModel2的设计标准,可以说是一个传统MVC设计模式的一种变化类型。
Spring技术:
Spring是一个开源框架,它由RodJohnson创建。
它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益,以下是Spring的特点:
目的:
解决企业应用开发的复杂性
功能:
使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
范围:
任何Java应用
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
2.2企业级的运行环境
2.2.1服务器
本系统采用UNIX操作系统,UNIX操作系统是一个开源的安全系统,正版价格的产品,连一般普通客户都可以负担。
企业可以根据自己的具体情况购买适合自己的主机服务器。
这需要一定的花费。
2.2.2数据库
中国电信是国有大型企业,对于规模庞大的数据服务,我们可以选择ORACLE数据库支持。
这也需要相当的费用支出。
2.2.3应用软件开发
随着消费者对于电信服务的要求越来越高,业务对系统的要求也不断提升,包括交互界面的人性化处理和前台子服务系统的业务要求。
因此需要功能强、效率高的现在电信计费系统。
综上所述,计费系统已经成为反馈用户信息最直接、信息量最大的信息源,作出上述的花费对于面对当今电信行业的白热化竞争,是值得的。
第3章项目介绍
3.1项目总体介绍
本项目主要包括以下子系统:
1)用户管理系统
2)资费管理系统
3)管理员管理系统
4)帐单查询系统
5)帐务查询系统
6)用户自服务系统
7)权限管理系统
如下图3.11所示:
图3.11项目流程图
3.2项目的详细介绍
3.2.1管理员管理系统
对本系统的各个子系统的访问都是受权限控制的,只有拥有了访问权限,才能使用子系统。
在本系统中存在着三类使用者:
其一是用户,即使用开放实验室的人,他们默认具有使用用户自服务系统的权限。
其二是超级管理员,即对本系统进行管理的人,并具有最高的管理权限,他可以使用除用户自服务以外的所有子系统。
这个超级管理员只有一个,是系统初始建立时就提供好的。
其三是普通管理员,即对本系统中的部分子系统进行管理的人,这些人是由超级管理员进行管理的,他们具有的权限也是由超级管理员赋予的。
管理员管理系统就是超级管理员来管理普通管理员。
超级管理员登陆成功后,可以增加新的普通管理员,同时为他分配一些权限,可以修改普通管理员的信息,可以查询所有的管理员信息,可以删除某些管理员。
3.2.2权限管理系统
对本系统的各个子系统的访问都是受权限控制的,权限决定了使用者可以执行的操作,如一个使用者拥有用户管理权限,他就可以执行用户管理的操作。
目前系统已有的权限包括:
用户管理权限,资费管理权限,管理员管理权限,账单管理权限,帐务管理权限,用户自服务权限,权限管理权限。
今后,系统可能会扩展新的功能,也就会增加新的操作,这个操作就要对应一种新的权限;也有可能删除某一项不再被使用的操作,这样,对应的权限也应该被删除。
因此,为了对权限能够进行灵活的管理,本系统中就提供了权限管理系统。
在本系统中,一些使用者拥有相同的角色,拥有相同的权限,如张三和李四都是前台操作人员,都拥有用户管理权限和帐单管理权限。
角色代表着一组权限的集合。
目前系统中已有的角色包括:
用户、普通管理员和超级管理员。
3.2.3登录管理
本系统的权限控制主要是通过登录的时候验证的,通过用户选择是管理员登录还是用户登录,来分别从管理员表和用户表判断用户的权限。
登录的时候会有一些JS的页面验证。
第4章后台数据库设计
4.1后台数据结构
图4.1是该模块的实体类图。
图4.1实体E-R图
4.2数据库设计
1、模块表modules
存储本系统中具有独立功能的模块名,方便以后对操作模块的用户进行角色的划分。
如表4.1所示:
表4.1模块表
字段英文名
字段汉字名
类型
约束条件
说明
id
模块ID
Number
PK
name
模块名称
Varchar2(20)
2、模块操作表operations
存储本系统中可以进行的所有操作,方便以后对操作模块的用户进行角色的划分。
如表4.2所示:
表4.2模块操作表
字段英文名
字段汉字名
类型
约束条件
说明
id
操作ID
Number
PK
name
操作名称
Varchar2(20)
3、权限表rights
将模块名和操作名对应起来保存对这个模块的可以进行的操作。
如表4.3所示:
表4.3权限表
字段英文名
字段汉字名
类型
约束条件
说明
id
操作ID
Number
PK
name
操作名称
Varchar2(20)
url
保留
Varchar2(30)
moduleid
模块ID
Number
operationid
操作ID
Number
4、角色表roles
存储系统中存在的角色。
如表4.4所示:
表4.4角色表
字段英文名
字段汉字名
类型
约束条件
说明
id
角色ID
Number
PK
name
角色名称
Varchar2(20)
5、角色权限设置表rolerights
为某个角色添加权限。
如表4.5所示:
表4.5角色权限设置表
字段英文名
字段汉字名
类型
约束条件
说明
id
角色权限ID
Number
PK
roleid
角色ID
Number
rightid
权限ID
Number
6、管理员表admins
存储管理员的基本信息。
如表4.6所示:
表4.6管理员表
字段英文名
字段汉字名
类型
约束条件
说明
id
管理员ID
Number
PK
name
管理员姓名
Varchar2(20)
loginname
管理员登录名
Varchar2(20)
loginpassword
管理员登录密码
Varchar2(20)
phone
管理员电话
Varchar2(20)
email
管理员电邮
Varchar2(20)
enrolldate
管理员授权日期
Date
7、管理员角色设置表adminroles
设置管理员的角色。
如表4.7所示:
表4.7管理员角色设置表
字段英文名
字段汉字名
类型
约束条件
说明
id
管理员角色ID
Number
PK
adminid
管理员ID
Varchar2(20)
roleid
角色ID
Varchar2(20)
第5章前台业务逻辑设计
5.1权限管理模块
5.1.1界面设计
电信计费系统界面包括四部分:
电信营运商logo区、服务选择区、具体服务明细、版权信息。
其中权限管理选项卡包括:
权限浏览、权限删除、权限修改、权限增加、角色浏览、角色删除、角色修改、角色增加。
整体效果如下图5.11所示:
图5.11
权限浏览:
在查询条件一栏输入模块名称、操作名称,点击查询就可以在下面的权限浏览表中查看想要查询的具体权限信息(多于一页,可以翻页)。
权限修改:
在查询条件一栏输入模块名称、操作名称,点击查询就可以在下面的权限浏览表中查看想要修改的具体权限信息(多于一页,可以翻页)。
点击结果表中最后一列的相应修改按钮,就可以对具体的权限进行修改。
权限增加:
选择权限增加选项,在模块名称下拉框中选择要增加权限的对应模块,在模块操作下拉框中选择要增加的对应操作,点击添加即可完成权限增加。
点击取消,重置表单里的数据。
权限删除:
在查询条件一栏输入模块名称、操作名称,点击查询就可以在下面的权限浏览表中查看想要删除的具体权限信息(多于一页,可以翻页)。
点击结果表中最后一列的相应删除按钮,就可以对具体的权限进行删除。
角色浏览:
在查询条件一栏输入查询角色名称,点击查询就可以在下面的角色浏览表中查看想要查询的具体权限信息(多于一页,可以翻页)。
角色增加:
在角色名称框里输入想要创建的新角色名称,在权限右面权限列表中选择相应的权限进行添加,在权限左边的权限列表中可以对添加的权限进行删除操作。
点击添加,完成添加操作。
点击取消,重置表单里的数据。
角色修改:
在查询条件一栏输入查询角色名称,点击查询就可以在下面的角色浏览表中查看想要修改的具体权限信息(多于一页,可以翻页)。
点击结果表中最后一列的相应修改按钮,就可以对具体的角色进行修改。
角色删除:
在查询条件一栏输入角色名称,点击查询就可以在下面的权限浏览表中查看想要删除的具体角色信息(多于一页,可以翻页)。
点击结果表中最后一列的相应修改按钮,就可以对具体的角色进行删除操作。
5.1.2类图设计
类图如下:
图5.12系统UI结构类图
类图时序说明:
图5.13权限浏览类图时序说明
图5.14权限修改类图时序说明
图5.15权限删除类图时序说明
图5.16权限增加类图时序说明
图5.17角色浏览类图时序说明
图5.18角色修改类图时序说明
图5.19角色删除类图时序说明
图5.110角色增加类图时序说明
类说明:
1.RightUI权限查询与浏览界面类
2.RightCondForm封装权限查询条件
3.Page控制当前现实的页数
4.RightDAO权限数据访问类
5.RightUpdateUI类,权限修改选择界面
6.RightUpdateInputUI类,权限修改输入界面
7.RightRoleAction类,权限修改数据处理类
8.RightAction类,权限修改业务处理类。
9.RightForm类,修改的权限数据封装表单类。
10.RightDAO类,权限数据保存访问类。
11.RightDeleteUI类,要删除的权限列表界面。
12.RightAction类,通过delete方法处理删除逻辑。
13.RightForm类,要删除的权限的form封装,这里只需要权限ID
14.RightRoleAction类,通过调用deleteRight函数列出要删除的权限列表。
15.RightDAO类,权限删除访问类。
16.RightAddNewUI类,权限数据输入界面类。
17.RightForm类,权限数据提交封装类。
18.RightAction类,权限保存业务处理,函数是insert
19.RightDAO类,把权限插入到数据库的操作类,函数insert
20.RoleUI类,角色显示界面。
21.RightRoleAction类,角色的查询逻辑就是调用browseRole实现的。
22.RoleCondForm角色查询条件封装。
23.RoleDAO类,负责角色数据的访问,角色查询函数是getAllRole.
24.RoleUpdateUI类,显示要修改角色列表界面
25.RoleForm类,封装角色表单数据。
26.RoleAction类,角色修改逻辑处理类,获取要修改的角色showUpdate,保存要修改的角色update。
27.RoleUpdateInputUI类,角色的修改界面。
28.RoleDAO类,负责角色数据访问,保存角色函数update。
29.RoleAddNew类,角色增加输入界面。
30.RoleForm类,角色表单数据。
31.RoleAction类,处理角色增加逻辑。
函数addnew
32.RoleDAO类,负责把角色数据插入到数据库。
函数insertRole。
5.2管理员管理模块
5.2.1界面设计
管理员管理模块界面包括:
个人信息修改、查询管理员、修改管理员、删除管理员、增加管理员五个服务选项,整体效果如下图5.21所示:
图5.21效果图
管理员个人信息修改:
管理员信息字段包括:
管理员id、管理员登录名、姓名、管理员新口令、旧口令、旧口令确认、电话、电子邮件。
其中管理员id和管理员登录名不能修改。
填好后点击修改完成修改操作,点击取消返回管理员管理主页面。
管理员浏览:
可以根据具体的查询条件查找需要查询的管理员信息,显示在下面的列表中(单页不能显示的,可以分页显示)。
管理员增加:
选择增加管理员服务选项,对管理员的登录名、姓名、管理员新口令、电话、电子邮件进行初始化,并赋予一定的管理权限。
管理员修改:
可以根据具体的查询条件查找需要修改的管理员信息,显示在下面的列表中(单页不能显示的,可以分页显示)。
选择需要修改的管理员在相应的修改列里点击修改按钮,在新对话框里进行修改,具体修改方式和管理员个人信息的修改方式一样,这里不再赘述。
管理员删除:
可以根据具体的查询条件查找需要删除的管理员信息,显示在下面的列表中(单页不能显示的,可以分页显示)。
选择需要删除的管理员在相应的修改列里点击删除按钮完成删除操作。
5.2.2类图设计
类图:
图5.22管理员个人信息修改类图
图5.23管理员修改浏览类图
图5.24管理员删除浏览类图
类图时序说明:
图5.25管理员个人信息修改类图时序说明
图5.26管理员修改浏览类图时序说明