电信管理员管理系统Word格式.docx
《电信管理员管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《电信管理员管理系统Word格式.docx(25页珍藏版)》请在冰豆网上搜索。
7、帐务查询系统
8、用户自服务系统
9、权限管理系统
电信营运功能需求结构图:
该系统运用JSP/Servlet【2】等WEB开发技术和网络原理,后台服务+B/S结构、使用spring+struts+hibernate框架技术实现【14】;
对window/Unix/Linux任意操作系统支持,对主流浏览器支持,MySQL/Oracle任意数据库支持,Tomcat/Weblogic/Websphere任意应用服务器支持。
1.2本论文的目的及内容
1.2.1本论文的目的
1、通过对电信营运系统的设计与实现,进一步掌握软件工程开发设计系统的流程,建立起严格的软件工程思想。
2、研究基于spring+struts+hibernate框架技术【14】的体系设计与实现。
a、解决电信营运与管理的问题。
b、通过具体的界面设计,构建等技术的实践应用,为以后开发面向企业运用的管理信息系统做技术准备。
3、从方便性、安全性、通用性、可扩展性及效率等方面入手。
4、实现管理员管理系统的功能,为整个系统的实现和完整性做准备。
1.2.2本论文的内容
1、研究电信营运系统的需求工程实践
2、管理员管理系统实现。
第二章技术准备概述
2.1Servlet简介【2】
1、Servlet是服务器端的小程序,它是相对于Applet而言的,Applet是客户端小程序。
应用传统的CGI(CommonGatewayInterface,公共网关接口)
【1】程序,针对每个HTTP请求都要启动一个新的进程。
如果CGI程序自身相对比较简单,那么启动进程的开销会占用大部分时间。
而使用servlet,Java虚拟机会一运行,并用轻量级的Java线程处理每个请求,而非重量级的操作系统进程。
2、Servlet是接受来自网络的请求(form表单或其它的请求),并作出响应。
3、Servlet可以实现动态的页面,可以针对不同的请求作出不同和响应,可以实现页面的流转,Servlet可以充当MVC【12】模式中的Control模块,可以控制信息的流向。
2.2JSP技术介绍
2.2.1什么是JSP【1】
JSP(JavaServerPages),是由SunMicrosystems公司提出、许多公司参与建立的一种动态网页技术标准。
JSP是服务器端运行的页面,JSP本身就是一个文档,他不仅可以包含静态的HTML代码,也可以包含动态的JAVA代码,服务器容器可以将JSP转换成Servlet发布,并接受请求。
2.2.2JSP的优点【2】
1、JSP里面可以嵌入JAVA代码。
2、在运行的时候,JSP被容器翻译成为一个servlet。
3、不需要再在配置文件里面配置。
4、文件被修改之后,自动被重新编译。
5、Servlet生成静态页面比较麻烦,适合于做control层;
JSP生成页面比较容易,适合做view层,JSP本质上就是servlet。
2.3MySQL【6】
MySQL是一个高性能、多用户、多线程、建立在客户、服务器结构上的RDBMS,专门为了速度和稳定性而设计。
在过去几年中,它已经成为线上和线下适合于数据库驱动的应用程序最受欢迎的RDBMS之一。
【13】
MySQLRDBMS由下面两部分组成:
Ⅰ、服务器端工具包括MySQL数据库【6】服务器以及其他管理多个MySQL数据库服务器、优化和修改MySQL表、创建故障记录的工具。
MySQL数据库【6】服务器是核心系统,负责创建和管理数据库、执行查询和返回查询结果,并且对数据库的安全性负责。
Ⅱ、客户端工具包括一个命令行方式的MySQL客户机、管理MySQL用户许可的工具以及导入导出MySQL数据库【6】的实用程序。
还包括查看和复制MySQL数据库【6】和表、维护表和检索服务器状态信息的命令行工具。
2.4Spring【14】
Spring框架包含许多特性,并被很好地组织在七个模块中(Core、AOP、DAO、ORM、JEE、Web)。
Core封装包是框架的最基础部分,提供IoC和依赖注入特性。
DAO提供了JDBC抽象层,它可以消除冗长的JDBC编码和解析数据库厂商特有的错误代码。
并且,JDBC封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的POJOs(plainoldJavaobjects)都适用。
ORM【14】封装包提供了常用的“对象/关系”映射APIs的集成层。
其中包括JPA、JDO、Hibernate和iBatis。
AOP封装包提供了符合AOPAlliance规范的面向方面的编程(aspect-orientedprogramming)实现,让你可以定义,例如方法拦截器(method-interceptors)和切点(pointcuts),从逻辑上讲,从而减弱代码的功能耦合,清晰的被分离开。
而且,利用source-level的元数据功能,还可以将各种行为信息合并到你的代码中,这有点像.Net的attribute的概念。
Spring中的Web包提供了基础的针对Web开发的集成特性,例如多方文件上传,利用Servletlisteners进行IoC容器初始化和针对Web的applicationcontext。
当与WebWork或Struts一起使用Spring时,这个包使Spring可与其他框架结合。
Spring中的MVC封装包提供了Web应用的Model-View-Controller(MVC)
【12】实现。
Spring的MVC框架并不是仅仅提供一种传统的实现,它提供了一种清晰的分离模型,在领域模型代码和webform之间。
并且,还可以借助Spring框架的其他特性。
2.5Struts【12】
Struts是使用servlet和JavaServerPages技术【1】的一种MVC(Model-View-Controller)
【12】实现。
Struts框架提供了自己的web控制器组成和并集成了其他技术来提供模式(Model)和视图(View)。
对于Model,Struts框架可以与标准的数据获取技术(如JDBC和EJB)进行交互,同样可以和任何第三那方提供的包(如Hibernate【3】,iBATIS,或ObjectRelationalBridge等)进行合作。
对于View,Struts框架可以和JavaServerPages,包括JSTL,JSF,VeloctityTemplates,XSLT及其他持久化系统很好的协助。
Struts框架的控制器(Controller)在应用的Model和View之间充当桥梁的作用。
当得到一个请求时,控制器调用一个Action类。
此Action类与Model(或更恰当的说,作为Model的一个直接表示)协商来检测或更新应用的状态。
框架提供了一种ActionForm类来帮助在Model和View之间进行数据传递。
最常见的,Model表示为一个JavaBeans【14】的集合。
典型的,开发者常使用CommonsBeanUtils在ActionForms和Model对象之间传递数据。
更贴切的说,Model负责做“重量级”工作,而Action将作为“交通警察”或适配器。
Struts框架可分为以下四个主要部分,其中三个就和MVC模式紧密相关:
1、模型(Model),本质上来说在Struts中Model是一个Action类(这个会在后面详细讨论),开发者通过其实现商业逻辑,同时用户请求通过控制器(Controller)向Action的转发过程是基于由struts-config.xml文件描述的配置信息的。
2、视图(View),View是由与控制器Servlet配合工作的一整套JSP定制标签库构成,利用她们我们可以快速建立应用系统的界面。
3、控制器(Controller),本质上是一个Servlet,将客户端请求转发到相应的Action类。
4、一堆用来做XML文件解析的工具包,Struts是用XML来描述如何自动产生一些JavaBean的属性的,此外Struts还利用XML来描述在国际化应用中的用户提示信息的(这样一来就实现了应用系统的多语言支持)。
2.6Hibernate【14】
Ⅰ、它是连接Java应用程序和关系数据库的中间件。
Ⅱ、它对JDBCAPI进行了封装,负责Java对象的持久化。
Ⅲ、在分层的软件架构中它位于持久化层,封装了所有数据访问细节,使业务逻辑层可以专注于实现业务逻辑。
Ⅳ、它是一种ORM【14】映射工具,能够建立面向对象的域模型和关系数据库模型之间的映射。
第三章管理员管理系统简介
3.1管理员管理系统介绍
对本系统的各个子系统的访问都是受权限控制的,只有拥有了访问权限,才能使用子系统。
在本系统中存在着三类使用者:
其一是用户,即使用开放实验室的人,他们默认具有使用用户自服务系统的权限。
其二是超级管理员,即对本系统进行管理的人,并具有最高的管理权限,他可以使用除用户自服务以外的所有子系统。
这个超级管理员只有一个,是系统初始建立时就提供好的。
其三是普通管理员,即对本系统中的部分子系统进行管理的人,这些人是由超级管理员进行管理的,他们具有的权限也是由超级管理员赋予的。
超级管理员管理普通管理员。
超级管理员登陆成功后,可以增加新的普通管理员,同时为他分配一些权限,可以修改普通管理员的信息,可以查询所有的管理员信息,可以删除某些管理员。
3.2用例分析
3.3用例说明
3.3.1超级管理员个人信息修改
描述要素
描述内容
备注事项
用例名称
超级管理员个人信息修改
用例编号
用例简述
1.用户点击个人信息修改菜单。
2.显示超级管理员信息。
3.修改完毕后,点击修改按钮保存。
界面下面有提示修改的信息
参与者
电信营运超级管理员
前置条件
必须登录
后置条件
特殊需求
3.3.1.1类图
3.3.1.2类图时序说明
3.3.1.3类说明
AdminSuperUI<
adminsuper.jsp>
类,超级管理员信息修改界面。
AdminAction类,负责超级管理员修改数据的获取showUpdateSuper,并保存修改后的超级管理员数据的逻辑updateSuper。
AdminDAO类,负责从数据库获取超级管理员信息getById,把超级管理员的数据保存到数据库updateAdmin。
3.3.1.4事件流
3.3.1.5操作的界面如下:
3.3.2管理员信息查询
管理员信息查询
1.点击管理员浏览菜单
2.显示所有管理员信息。
3.输入查询条件,点击查询按钮进行查询。
有分页显示,如果管理员多,就可以输入查询的条件进行查询
电信运营超级管理员
3.3.2.1类图
3.3.2.2类图时序说明
3.3.2.3类说明
AdminUI<
admin.jsp>
类,负责显示查询的管理员结果的界面。
AdminCondForm类,负责查询的条件表单封装。
AdminAction类,负责查询逻辑。
browseAdmin
AdminDAO类,负责到数据库的查询访问。
getAllAdmin。
3.3.2.4事件流
3.3.2.5操作的界面如下:
3.3.3管理员信息修改
管理员信息修改
1.点击管理员修改菜单
2.显示所有管理员
3.输入查询条件,点击查询,显示满足条件的管理员信息。
4.点击每个管理员后的修改按钮。
5.显示要修改的管理员信息。
6.输入修改数据。
7.点击修改按钮保存修改数据
由于修改信息有角色的修改,所以超级管理员不能被修改,不然超级管理员就可能被修改为普通管理员,超级管理员后面的修改按钮是被禁用的。
3.3.3.1类图
3.3.3.2类图的时序说明
3.3.3.3类说明
AdminUpdateUI<
adminup.jsp>
类,负责显示要修改的管理员列表界面。
AdminAction类,负责修改数据的显示,修改数据的保存逻辑处理。
showUpdateAdmin,updateAdmin
AdminForm类,负责封装管理员数据。
AdminUpdateInputUI<
adminupinput.jsp>
类,负责修改管理员数据的界面。
AdminDAO类,负责从数据库得到要显示的管理员信息和保存修改的管理员数据到数据库。
getById,updateAdmin.
3.3.3.4事件流
3.3.3.5操作的界面如下:
3.3.4管理员信息删除
管理员信息删除
1.用户点击管理员删除菜单,显示所有管理员信息
2.然后输入查询条件,点击查询按钮,显示满足条件的查询结果。
3.点击每个查询结果后面的删除按钮,进行删除。
超级管理员不能被删除,所以超级管理员后面没有删除按钮
3.3.4.1类图
3.3.4.2类图时序说明
3.3.4.3类说明
AdminDeleteUI<
admindel.jsp>
类,负责显示要删除的管理员列表的界面。
AdminAction类,负责管理员删除逻辑处理deleteAdmin。
AdminDAO类,负责从数据库删除管理员数据。
deleteAdmin。
3.3.4.4事件流
3.3.4.5操作的界面如下:
3.3.5增加新管理员
增加新管理员
1.点击管理员增加菜单,显示输入界面。
2.然后输入管理员信息。
3.输入完毕后,点击增加按钮保存。
3.3.5.1类图
3.3.5.2类时序说明
3.3.5.3类说明
AdminAddNew<
adminadd.jsp>
类,负责管理员数据输入界面。
AdminAction类,负责管理员数据保存逻辑处理insertAdmin。
AdminForm类,负责封装管理员表单数据。
AdminDAO类,负责把管理员数据保存到数据库insertAdmin。
3.3.5.4事件流
3.3.5.5操作的界面如下:
第四章管理员管理系统测试
测试目的
测试要求
说明
管理员个人信息修改
1、点击个人信息修改菜单,能否显示该管理员的信息修改界面。
2、观察要修改的数据是否显示正确。
3、能否进行保存操作。
4、保存是否有提示。
5、观察保存后数据是否正确。
修改的是当前管理员的个人信息,不包含角色与权限。
管理员查询浏览
1、点击管理员浏览,是否进入管理员显示列表。
2、测试单项查询条件:
管理员姓名,登录名,授权日期范围。
3、测试组合查询条件:
4、测试分页操作。
5、分页与查询交替进行的查询结果是否合理与正确。
管理员增加
1、点击管理员增加,是否显示增加界面。
2、增加界面中是否有上面添加的角色。
3、输入数据后能否保存。
4、保存后是否有提示。
5、保存后数据是否正确。
6、增加管理员影响到如下表:
admins,adminroles表。
7、再次测试管理员查询。
8、另外启动一个浏览器登录,观察用户角色权限是否正常。
数据输入检测,没有实现,在后继版本中实现。
管理员修改
1、点击管理员修改,是否显示要修改的管理员列表。
2、测试要修改管理员的查询。
3、测试要修改管理员的分页显示。
4、点击修改操作,是否显示修改界面。
5、观察要修改的管理员信息是否显示正确。
6、点击保存后是否能进行操作。
7、保存操作后是否有正确的提示。
8、观察保存后的数据是否正确。
9、再次测试管理员查询浏览。
10、用该管理员登录,观察修改后的数据与权限是否正确。
管理员删除
1、点击管理员删除菜单后,是否显示要删除的管理员列表。
2、测试要删除管理员的查询。
3、测试要删除管理员的分页。
4、点击删除操作后,是否能进行删除操作。
5、删除后确认数据库数据是否正确。
6、管理员删除后影响的表:
管理员综合测试
1、对上面的测试进行任意顺序的组合测试。
2、测试权限操作对角色的影响。
3、测试角色操作对管理员的影响。
最终的测试结果:
按照测试要求,得到了设计时的正确结果,系统运行正常。
第五章总结
经过我们小组成员的共同努力,在指导老师的指导、帮助下,我们的基于Struts+Spring+Hibernate框架【14】的电信营运系统基本完成了。
经过小组成员不断地进行程序调整,不断地进行模块测试,集成测试,功能确认测试,以及系统测试。
其间我们在开发和测试过程中,也不断的又有新的需求出现,也根据实际情况,对系统部分功能做了调整。
达到了设计的目标,实现了基本功能。
在开发前期,我们正在参加达内JAVA软件工程师培训。
为后期的系统开发打下了良好基础。
通过本次毕业设计,我们在系统的开发过程中收获了许多。
对JSP的基本知识【2】和编程技巧有了更深层次的认识,熟悉了Struts+Spring+Hibernate框架【14】的应用,同时对MySQL【6】也熟练运用。
在系统级别的开发,个人的力量是有限的,只有树立团队合作的意识才能够成功,通过本系统的开发,真正做到了学以致用。
但是,由于时间仓促,受一些主客观条件限制,该系统存在一些不足之处,有待进一步改进和完善。
1、飞思科技产品研发中心.《JSP应用程序开发详解》北京:
电子工业出版社,2002.1
2、林上杰、林康司.《JSP2.0技术手册》北京:
电子工业出版社
3、孙卫琴.《精通Hibernate:
Java对象持久化技术详解》北京:
电子工业出版社,2005.5
4、于鹏.《网页设计语言教程(HTML/CSS)》北京:
电子工业出版社,2003.9
5、TedHusted.《StrutsInAction使用领先的Java框架构建Web应用》
6、ViKramVaswani.《MYSQL完全手册》北京:
电子工业出版社2004.11
7、Horstmann.C.SCornell.G.Java2核心技术,卷I:
基础知识(原书第7版)
北京:
机械工业出版社2006.5
8、Horstmann.C.SCornell.G.Java2核心技术,卷II:
9、张晓蕾、王锦等编著java语言基础教程人民邮电出版社2007年7月
10、汪孝宜、刘中兵、徐佳晶等编著JSP数据库开发实例精粹电子工业出版社2005年1月
11、陈艳华编著java2面