当前位置:文档之家› 毕业论文123

毕业论文123

本科生毕业设计

电信运营计费管理系统的设计与开发-a a ----登录、权限管理及管理员管理模块

院系计算机科学与技术学院

专业计算机科学与技术

班级06应本2班

学号1101060230

学生姓名李大鹏

联系方式159********

指导教师胡子义职称:副教授

2010年5 月

本人郑重声明:所呈交的毕业论文(设计)是本人在指导老师指导下取得的研究成果。除了文中特别加以注释和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何贡献均已在论文(设计)中作了明确的说明并表示了谢意。

签名:

年月日

授权声明

本人完全了解许昌学院有关保留、使用本科生毕业论文(设计)的规定,即:有权保留并向国家有关部门或机构送交毕业论文(设计)的复印件和磁盘,允许毕业论文(设计)被查阅和借阅。本人授权许昌学院可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编论文(设计)。

本人论文(设计)中有原创性数据需要保密的部分为:。

签名:

年月日

指导教师签名:

年月日

随着电信用户的日益增加,计费项目变得越来越庞大,电信企业对客户以及业务的管理需要改善,为客户提供多层次、个性化和多样化的服务。为了满足市场的需要以及方便管理和计费需要,运营商新增一项Open Lab(开放实验室)出租业务,开发了电信计费管理系统。

本系统的功能是全面准确的统计用户的消费情况,操作简单安全可靠,采用目前比较流行语言Java开发的,系统由SSH框架搭建,权限设计分明。其中的登录模块、权限管理以及管理员管理模块是由我设计完成。

关键词:电信计费;Java;SSH;权限管理;管理员管理;

ABSTRACT

With the growing of telecommunication’s users, the project of billing become more and more large, telecommunications need to improve the management of customers and business,and to provide customers with multi-level, personalized and diversified services. In order to meet market needs and to facilitate management and billing needs the operators added an Open Lab (Open Lab) rental business, developed the telecommunications billing management system.

Functions of the system is comprehensive and accurate statistics on the spending of the user, it’s operation simply safe and reliable, with the current popular Java development language, the system set up by the SSH framework, permissions design clearly. One of the log module, permissions management, and administrator management module is completely designed by me.

Key words:Billing;Java;SSH;Login;Rights;AdminManage

第1章引言 (1)

1.1 课题背景 (1)

1.2 意义 (1)

第2章需求分析 (2)

2.1关系设计 (2)

2.1.1 设计思想 (2)

2.1.2 系统开发环境 (3)

2.1.3 关键技术 (3)

2.2 企业级的运行环境 (4)

2.2.1 服务器 (4)

2.2.2 数据库 (4)

2.2.3 应用软件开发 (4)

第3章项目介绍 (5)

3.1 项目总体介绍 (5)

3.2 项目的详细介绍 (6)

3.2.1 管理员管理系统 (6)

3.2.2 权限管理系统 (6)

3.2.3 登录管理 (6)

第4章后台数据库设计 (7)

4.1 后台数据结构 (7)

4.2 数据库设计 (7)

第5章前台业务逻辑设计 (10)

5.1 权限管理模块 (10)

5.1.1 界面设计 (10)

5.1.2 类图设计 (11)

5.2 管理员管理模块 (17)

5.2.1 界面设计 (17)

5.2.2 类图设计 (19)

5.3 登录模块 (22)

5.3.1 界面设计 (22)

5.3.2 登录用例 (23)

结束语 (24)

参考文献 (25)

附录 (26)

致谢 (30)

第1章引言

1.1 课题背景

随着电信用户的日益增多,用户对业务的要求也日渐多元化。为了满足用户需求电信运营商新增一项Open Lab(开放实验室)出租业务,即该电信运营商提供基于Unix平台的实验室环境,选择使用这种业务的用户能够远程登录到实验室中做基于这个实验室环境的一些工作和实验。运营商希望借助先进的计算机技术对访问实验室的用户进行管理和计费。

从消费者的角度来讲,电信业务发展到今天,竞争格局的形成让消费者有了更多的选择,同时电信消费在整个消费比例中所占的比例也越来越大,消费者的消费心理日渐成熟,他们很关心电信业务的资费,希望了解每一个消费细节。因此,电信运营商只有做到计费的准确无误,才能保证业务的正常发展,取得消费者的信任。如今,计费系统已经成为反馈用户信息最直接、信息量最大的信息源。

1.2 意义

本课题所要研究的电信计费系统之登陆模块、管理员管理模块和权限管理模块,就是一个基于电信计费系统的角色管理模块。通过对这一课题的学习和研究,可以将电信计费系统权限管理的基本原理、实现流程等展现出来,并可作为对新的综合电信计费系统软件权限管理的一种探索来学习和研究,也可以顺带了解整个电信实时计费的工作流程,具有一定的现实意义。

第2章需求分析

2.1关系设计

2.1.1 设计思想

本文涉及三个管理模块,即:登录模块、管理员管理模块、权限管理模块。这三个模块除了需要系统开发者为用户提供友好的操作界面和人性化的功能设置,还要对数据库进行缜密的设计,包括权限的验证,权限的分配和角色的划分。

用户和管理员要想对电信计费系统进行查询和管理必须实现登陆,在此过程中根据用户的用户名进行权限的验证,据此为用户提供不同的界面。

对本系统的各个子系统的访问都是受权限控制的,只有拥有了访问权限,才能使用子系统。

在本系统中存在着三类使用者:

其一是用户,即使用开放实验室的人,他们默认具有使用用户自服务系统的权限。

其二是超级管理员,即对本系统进行管理的人,并具有最高的管理权限,他可以使用除用户自服务以外的所有子系统。这个超级管理员只有一个,是系统初始建立时就提供好的。

其三是普通管理员,即对本系统中的部分子系统进行管理的人,这些人是由超级管理员进行管理的,他们具有的权限也是由超级管理员赋予的。

管理员管理系统就是超级管理员来管理普通管理员。超级管理员登陆成功后,可以增加新的普通管理员,同时为他分配一些权限,可以修改普通管理员的信息,可以查询所有的管理员信息,可以删除某些管理员。

对本系统的各个子系统的访问都是受权限控制的,权限决定了使用者可以执行的操作,如一个使用者拥有用户管理权限,他就可以执行用户管理的操作。目前系统已有的权限包括:用户管理权限,资费管理权限,管理员管理权限,帐单管理权限,帐务管理权限,用户自服务权限,权限管理权限。今后,系统可能会扩展新的功能,也就会增加新的操作,这个操作就要对应一种新的权限;也有可能删除一某项不再被使用的操作,这样,对应的权限也应该被删除。因此,为了对权限能够进行灵活的管理,本系统中就提供了权限管理系统。

在本子系统中,一些使用者拥有相同的角色,拥有相同的权限,如张三和李四都是前台操作人员,都拥有用户管理权限和帐单管理权限。角色代表着一组权限的集合。目前系统中已有的角色包括:用户和超级管理员。

2.1.2 系统开发环境

结构:后台服务B/S结构

操作系统:Linux

浏览器:主流浏览器(IE,firefox等)

数据库:ORACLE

应用服务器:UNIX

开发工具:MyEclipse

开发语言:JA V A

2.1.3 关键技术

Jsp/Servlet:JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。在传统的网页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 项目组的一个Open Source 项目,它采用MVC模式,能够很好地帮助java 开发者利用J2EE开发Web应用。和其他的java 架构一样,Struts 也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。Structs 框架的核心是一个弹性的控制层,基于如Java Servlets,JavaBeans,ResourceBundles与XML等标准技术,以及Jakarta Commons 的一些类库。Struts有一组相互协作的类(组件)、Servlet以及jsp tag lib组成。基于struts构架的web 应用程序基本上符合JSP Model2的设计标准,可以说是一个传统MVC设计模式的一种变化类型。

Spring技术: Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。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结构类图

类图时序说明:

: 电信营运超级

管理员

:

FlowController

: RightRoleAction : RightUI

: RightDAO

1: request

2: browseRight(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse)

3: getOperationMenuByRight( )

5:

6: forward

4: getRightByCond(RightForm)

7: request

8: browseRight(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse)

9: getRightByCond(RightForm)

10:

11:

12: forward

图5.13权限浏览类图时序说明

: RightUpdateUI

:

FlowController

: RightForm :

RightAction

:

RightUpdateInputUI

: RightDAO

: 电信营运超级

管理员

:

RightRoleAction

7: request8: new

9:

10: showupdate( )11: getById(Object)

12:

13:

14: forward

15: submit

16: new

17:

18: update( )19: update(Object)

20:

21:

22: forward

1: request

2: updateRight(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse)

3: getRightByCond(RightCondForm)

4:

5:

6: forward

图5.14权限修改类图时序说明

: RightDeleteUI

:

FlowController

: RightForm :

RightAction

: RightDAO

: 电信营运超级

管理员

:

RightRoleAction

7: request8: new

9:

10: delete( )

11: deleteRightByID(int)

12:

13:

14: forward

1: request

2: deleteRight(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse)

3:

4:

5:

6: forward

图5.15权限删除类图时序说明

: RightForm : RightAddNewUI : FlowController :

RightAction

: RightDAO

: 电信营运超级

管理员

: RightRoleAction 5: submit

10: forward

1: request

2: addnewRight(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse)

3: 4: forward

6: new

7:

8: insert( )

11: insert(Object)

12:

9:

图5.16权限增加类图时序说明

: RightRoleAction

: 电信营运超级

管理员

: FlowController : RoleDAO

:

RoleUI

1: request 2: browseRole( )

3: getAllRole(RoleCondForm)

4:

5:

6: forward 7: submit

8: browseRole( )

9: getAllRole(RoleCondForm)

10:

11:

12: forward

图5.17角色浏览类图时序说明

: RoleUpdateUI

:

FlowController

: RoleForm : RoleAction

: RoleDAO :

RoleUpdateInputUI

: 电信营运超级

管理员

:

RightRoleAction

7: request

8: new

9:

10: showupdate( )

1: request

2: updateRole( )

3: getAllRole(RoleCondForm)

4:

5:

6: forward

11: getById(Object)

12:

13:

14: forward

15: submit

16: update( )

17: update(Object)

18:

19:

20: forward

图5.18角色修改类图时序说明

: 电信营运超级

管理员

:

RoleDeleteUI

:

FlowController

: RoleForm : RoleAction : RoleDAO :

RightRoleAction

7: request

8: new

9:

10: delete( )

11: deleteRoleById( )

12:

13:

14: forward

1: request

2: deleteRole( )

5:

6: forward

3: getAllRole(RoleCondForm)

4:

图5.19角色删除类图时序说明

相关主题
文本预览
相关文档 最新文档