电信网上营业厅用户自服务系统的设计Word格式文档下载.docx
- 文档编号:19437902
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:45
- 大小:2.22MB
电信网上营业厅用户自服务系统的设计Word格式文档下载.docx
《电信网上营业厅用户自服务系统的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《电信网上营业厅用户自服务系统的设计Word格式文档下载.docx(45页珍藏版)》请在冰豆网上搜索。
在设计时应满足如下几个目标:
(1)查询信息方便、灵活,数据存储准确、安全;
(2)可以方便对用户的个人信息的查看和修改,包括密码的修改等;
(3)可以方便实现在线查看套餐业务,订购自己的套餐业务;
(4)能够实现在线缴费的功能;
(5)能够实现在线投诉的功能;
(6)实现论坛的发布和查看,并能实现回帖功能;
(7)用户可以根据管理员对不同用户角色的分配登录系统实现不同的功能模块;
1.4课题研究的意义
传统的电信业,业务办理都是在前台进行,客户浪费了大量的时间去排队办理业务,而电信公司花了大量的人力物力去开设办理业务网点。
这样就造成了极大的浪费,因此我们想要创建网上营业厅来解决此问题。
电信网上营业厅是各大运营商为了方便客户办理查询各类业务而开办的专业网站,用户通过登录网上营业厅可以自主办理各种交易业务,查询业务清单,查询业务记录,获知最新动态,投诉建议等功能。
这一点有点类似于网上银行。
网上营业厅可以使用户免去劳动之苦,不用再为办理业务而奔波,在营业厅排队,随着网络技术和用户需求的发展,互联网的内涵已经并且突破传统的基于PC模式,向多样化终端,多手段接入多媒体网络演进,而整个系统优化的结果将导致应用和网络的日趋紧密结合。
这种网络架构的变更将对电信运营商的运营模式产生深刻的影响,中国电信门户网站也应势而生。
既汲取了国外的成功经验又在实际应用中融合了中国客户的消费特点和服务需求。
2系统关键技术
2.1MVC模式
MVC是一种架构型模式,它本身并不引入新的功能,只是用来指导我们改善应用程序的架构,使得应用的模型和视图相分离,从而达到更好的开发和维护效率。
在MVC模式中,应用程序被划分成模型(Model)、视图(View)和控制器(Controller)三个部分。
其中,模型部分包含了应用程序的业务逻辑和业务数据;
视图部分封装了应用程序的输出形式(页面、界面);
而控制器部分负责协调模型和视图,根据用户请求来选择要调用哪个模型来处理业务,以及最终由哪个视图为用户做出应答。
MVC模式的这三个部分的职责非常明确,而且相互分离,每个部分都可以独立的改变而不影响其他部分,大大提高了应用的灵活性和重用性。
2.1.1MVC模式基础
在MVC模式中,一个应用被划分成了模型(Model)、视图(View)和控制器(Controller)三个部分。
2.1.2模型、视图、控制器各部分的作用
模型(Model):
负责封装应用的状态,并实现应用的功能。
通常分为数据模型和业务逻辑模型,数据模型用来存放业务数据,比如订单信息、用户信息等;
而业务逻辑模型包含应用的业务操作,比如订单的添加或者修改等。
视图(View):
用来将模型的内容展现给用户,用户可以通过视图来请求模型进行更新。
视图从模型获得要展示的数据,然后用自己的方式展现给用户,相当于提供界面来与用户进行人机交互;
用户在界面上操作或者填写完成后,会点击提交按钮或是以其它触发事件的方式,来向控制器发出请求。
控制器(Controller):
用来控制应用程序的流程和处理视图所发出的请求。
当控制器接收到用户的请求后,会将用户的数据和模型的更新相映射,也就是调用模型来实现用户请求的功能;
然后控制器会选择用于响应的视图,把模型更新后的数据展示给用户。
2.1.3MVC模式作用
在早期开发的时候不遵守MVC模式。
结果程序结构划分不明确,各个部分功能混乱,在业务功能发生变更时,无论是业务逻辑修改还是显示形式修改,都要修改很多的类,“牵一发而动全身”,导致软件的开发和维护效率低下,错误百出。
而遵循MVC模式来开发系统,就会极大的避免上述问题的出现。
MVC模式的核心手段是解耦,MVC模式通过仔细的划分功能,把整个应用程序划分成模型、视图、控制器三个部分,然后严密控制三个部分之间的通信,从而得到一个结构清晰、功能分布合理、可重用、可扩展、可维护的应用程序。
因此,使用MVC模式,可以获得以下好处:
低耦合性:
在MVC模式中,模型和视图是解耦的,模型不会依赖于视图,视图仅仅从模型中获取需要展示的数据,不会与模型的逻辑处理相关联。
更低的开发成本:
MVC模式帮我们清楚的划分了各部分的职责,让程序员各司其职,Java程序员只关心业务逻辑的实现,也就是模型部分;
而界面程序员只关心页面展示,也就是视图部分。
更好的可维护性:
MVC模式划分出明晰的模型和视图,并使其解耦,在软件需求发生变更的时候,就可以各自独立的改变而不会相互影响,使得程序更容易维护和扩展。
2.2轻量级JavaEE开发平台:
S2SH
轻量级JavaEE应用,以传统的JSP作为表现层技术,以系列来源框架作为MVC层、中间层、持久层解决方案,并将这些开源的框架有机地组合在一起,使得javaEE应用具有高度的可扩展性、可维护性。
2.2.1Struts2
Struts2是以Webwork的设计思想为核心的MVC框架。
Struts2与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:
WebWork基础上发展起来的。
从某种程度上来讲,Struts2没有继承Struts1的血统,而是继承WebWork的血统。
或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2.因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证。
Struts2框架的处理流程如图2.1所示:
图2.1Struts2框架处理流程
通过上面对Struts2体系结构的了解,我们发现Struts2对Struts1进行了巨大的改进。
主要表现在如下几个方面:
(1)在Action的实现方面:
Struts1要求必须统一扩展自Action类,而Struts2中可以是一个普通的POJO。
(2)线程模型方面:
Struts1的Action工作在单例模式,一个Action的实例处理所有的请求。
Struts2的Action是一个请求对应一个实例。
没有线程安全方面的问题。
(3)Servlet依赖方面:
Struts1的Action依赖于ServletAPI,比如Action的execute方法的参数就包括request和response对象。
这使程序难于测试。
Struts2中的Action不再依赖于ServletAPI,有利于测试,并且实现TDD。
(4)封装请求参数:
Struts1中强制使用ActionForm对象封装请求的参数。
Struts2可以选择使用POJO类来封装请求的参数,或者直接使用Action的属性。
(5)表达式语言方面:
Struts1中整合了EL,但是EL对集合和索引的支持不强,Struts2整合了OGNL(ObjectGraphNavigationLanguage)。
(6)绑定值到视图技术:
Struts1使用标准的JSP,Struts2使用“ValueStack”技术。
(7)类型转换:
Struts1中的ActionForm基本使用String类型的属性。
Struts2中使用OGNL进行转换,可以更方便的使用。
(8)数据校验:
Struts1中支持覆盖validate方法或者使用Validator框架。
Struts2支持重写validate方法或者使用XWork的验证框架。
(9)Action执行控制的对比:
Struts1支持每一个模块对应一个请求处理,但是模块中的所有Action必须共享相同的生命周期。
Struts2支持通过拦截器堆栈为每一个Action创建不同的生命周期。
2.2.2Hibernate
传统的Java应用都是采用JDBC来访问数据库的,但传统的JDBC采用的是一种基于SQL的操作方式,这种操作方式与Java语言的面向对象特征不太一致,所以JavaEE应用需要一种技术,通过这种技术能让Java以面向对象的方法操作关系数据库。
这种特殊的技术就是ORM(ObjectRelationMapping),最早的ORM是EntityEJB(EnterpriseJavaBean),EJB就是经典JavaEE应用的核心,从EJBl.0到EJB2.X,许多人觉得EJB非常烦琐,所以导致EJB备受诟病。
在这种背景下,Hibernate框架应运而生,Hibernate框架是一种开源的、轻量级的ORM框架,它允许将普通的、传统的Java对象(POJO)映射成持久化类,允许应用程序以面向对象的方式来操作POJO,而Hibernate框架则负责将这种操作转换成底层的SQL操作。
Sun公司引入了JPA规范。
JPA规范其实是一种ORM规范,因此它的底层可以使用Hibernate、TopLink等任意一种ORM框架作为实现。
很明显,如果应用程序面向JPA编程,将可以让应用程序既可利用Hibernate的持久层技术——因为可以用Hibernate作为实现:
也可以让应用程序保持较好的可扩展性——因为可以在各种ORM技术之间自由切换。
Hibernate体系结构如图2.2所示:
图2.2Hibernate体系结构
2.2.3Spring3
Spring框架里充满了各种设计模式的应用,如单例模式、工厂模式、抽象工厂模式、命令模式、职责链模式、代理模式等,Spring框架的用法、源码则更是一道丰盛的Java大餐。
Spring框架号称JavaEE应用的一站式解决方案,Spring本身提供了一个设计优良的MVC框架:
SpringMVC,使用Spring框架则可直接使用该MVC框架。
但实际上,Spring并未提供完整的持久层框架——这可以理解成一种“空”,但这种“空”正是Spring框架的魅力所在.Spring能与大部分持久层框架无缝整合:
Hibernate,JPA,iBATIS,TopLink更甚至直接使用JDBC。
无论选择哪种持久层框架,Spring都会提供无缝的整合以及极好的简化。
Spring框架主要由7个定义良好的、相互独立的模块组件构成。
Spring系统框架如图2.3所示:
图2.3Spring系统框架
2.3Jquery简介
jQuery[11]由美国人JohnResig创建,至今已吸引了来自世界各地的众多JavaScript高手加入其中,包括来自德国的JrnZaefferer,罗马尼亚的StefanPetre等等。
jQuery是继Prototype之后又一个优秀的JavaScript框架。
其宗旨是——WRITELESS,DOMORE,写更少的代码,做更多的事情。
使用jQuery有如下特点:
(1)提供了强大的功能函数:
使用jQuery提供的强大的函数库能够帮助我们快速完成各种功能,而且会让我们的代码异常简洁。
(2)解决浏览器兼容性问题:
对于普通的JavaScript脚本往往是不同的浏览器需要编写不同的JavaScript脚本。
有了jQuery我们就不需要再重复的编写JavaScript代码了,因为jQuery对于各种浏览器是兼容的,使用jQuery并不需要考虑浏览器兼容性问题。
(3)实现丰富的UI:
jQuery为我们提供了界面美观且有兼容各种浏览器的各种UI,使用开发web页面更加容易。
(4)丰富的插件:
jQuery为我们提供了各种插件,使我们只要懂得jQuery基本语法就能够编写出漂亮的功能完善的Web页面。
3系统需求分析
3.1需求定义
电信网上营业厅用户自服务系统平台是面向用户的电信网上营业厅网,下设用户管理,角色管理,论坛管理,在线论坛,在线缴费信息管理,套餐业务的管理,在线投诉的管理,以及可以实现在线缴费,在线投诉,在线查看套餐业务,在线订购套餐业务等特色栏目。
其各个模块的大致内容如下:
1.在线缴费
用户可以根据自己管理员分配的不同的角色信息进入不同的模块,实现不同的功能。
在线缴费功能模块类似于目前主流的电子商务平台,用户可以通过输入自己想要缴纳的电话号码并选择自己的缴费方式和缴费金额实现足不出户的在线网上上缴费功能。
2.套餐业务的变更
套餐业务的变更模块包括查看所使用的套餐计划以及近期人气指数暴涨的套餐业务,并能根据需要申请自己满意的套餐业务,同时也能取消自己不想要的套餐业务等内容。
这样使用户可以随时查看各种套餐业务的动态信息,并根据自己的需求实现足不出户的在线申请订购自己想要的套餐业务。
3.在线投诉
求购模块包括求购信息发布、求购信息搜索、求购信息筛选等内容。
其中求购信息发布是指有意购车的用户可以在二手车交易平台上发布自己的购车意向,并留下自己的联系方式,等待有意出售符合该求购条件的卖家线下联系。
求购信息搜索和求购信息筛选是有意出售车源的卖家通过该功能查找是否有用户想要购买自己现有的车源类型。
4.个人信息管理模块
用户可以实现简单的注册功能,通过个人信息模块可以对自己己经注册的简单个人详细信息进行修改,为了安全性,用户还可以进行对密码的修改操作。
5.网上交流模块
类似于现在主流的交流社区,每个网站都存在属于自身的论坛模块,用户可以查看最新的论坛板块信息,方便了解最新的电信信息,同时用户可以查看不同板块的帖子与回复的内容,可以就不同的板块信息进行在线发帖,以及可以对别人的评论进行回复功能。
为用户在网上交流提供了一个平台,形成了一个电信网上营业厅网上交流的社区。
6.权限分配
这是本系统.电信网上营业厅用户自主模块的一大特色,管理员可以所有的用户信息进行管理,对不同的用户添加不同的角色,并对不同的角色信息分配相对应的权限。
现在的权限管理与分配已经成为许多网站和系统必备的模块。
这样就可以把不同的用户划分为不同的角色组,然后每个角色都有自己的权限,当不同的用户登录的时候,系统会根据此用户所分配的不同权限,进入不同用户角色的功能菜单模块。
如下为不同的角色所展示的不同功能模块:
普通用户主要有对电信网上营业厅最基本功能的实现权限,如最新套餐业务的查看、在线投诉,在线发帖,在线回复,在线缴费功能等,同时还拥有自己的个人信息管理模块,实现对自己的详细信息的编辑与修改,并可以修改个人密码等。
营业员用户除了具有普通用户所具有的功能外,还拥有为普通用户订购套餐业务,对用户的缴费信息进行查看,套餐业务的查看与变更.包括定制与取消等信息。
系统管理员是对电信网上营业厅所有信息的管理,但系统管理员分为不同的角色,只有超级管理员admin才有对站内所有信息的管理权限,超级管理员可以创建不同角色的普通系统管理员,并分配相应的权限。
3.2需求功能用例
本文在需求分析和可行性分析的基础上,建立了系统的各个用例。
由于系统功能复杂,从大局上把握系统角色与系统用例的关系,分别有系统管理、网上交流模块、模块管理、网上交流模块、个人掌上营业厅等每个模块下有诸多子模块为extends关系,系统管理模块下主要有:
用户管理模块,角色管理模块;
网上交流模块具有论坛和版块管理模块;
模块管理分别有:
缴费信息管理,套餐业务管理,投诉信息管理;
而相对于个人掌上营业厅有缴费功能,套餐业务的变更,在线投诉的功能。
而不同的功能模块中又包含不同的功能,不同的角色用户具有不同的功能,对于超级管理员具有所有的权限,而相对于普通的用户有用户缴费,查看套餐业务,在线投诉,论坛模块的在线发帖和在线回复功能,还有就是能等登陆,注册修改个人信息,修改密码等功能。
而相对于营业员角色具有在线查看用户的投诉信息,对套餐业务的变更与修改预定,还能查看对板块信息的管理,以及对模块管理中的缴费信息进行统计,投诉信息的查看;
还有对论坛的在线发帖在线回复信息的查看,还有就是能等登陆,注册修改个人信息,修改密码等功能。
3.2.1网上交流模块用例
网上交流模块是作为一个可以在网上随时随地的发表帖子,在线回复的一个交流性平台,不同的角色用户之间存在不同的权限,对论坛具有不同的功能模块,现就两个不同的角色用户:
普通用户和营业员做一阐述:
对于普通用户来说:
可以查看各个板块的主体信息,以及可以对不同主题发表自己的新贴,以及就对自己做以回复的内容进行回复;
而相对于营业员对比与普通用户来说:
新增的权限有:
可以对板块信息进行管理,对板块的内容进行上移和下移操作,同时也可以发布不同的版块内容。
为不同的用户角色之间提供了一个良性的交流平台。
其用例图见图3.1:
图3.1网上交流模块用例图
3.2.2电信掌上营业厅用例
电信掌上营业厅是为用户提供了一个在线的缴费,在线投诉,在线查看套餐业务的平台,用户可以通过此平台进行足不出户的缴费,投诉,和查看最新的套餐业务。
其用例图见图3.2:
图3.2电信掌上营业厅用例图
4系统设计
4.1系统架构设计
4.1.1系统逻辑结构设计
本系统是基于B/S模式开发的JAVAEE多层体系结构WEB应用。
系统开发主要分为以下几层:
表示层、业务层、DAO层、持久层。
业务层和DAO层都通过接口与其它层进行连接从而减小了各层之间的耦合度,实现高内聚、低耦的思想。
分层结构图如图4.1所示:
图4.1系统体系结构图
系统采用了轻量级MVC框架Struts2,关于Struts2的介绍已经在第二章提及到,这里不做具体介绍。
这里主要介绍Struts2的分层原理。
Struts2框架将应用分成了Model,View,Control三个部分。
三个部分以最少的耦合协同工作,从而提高应用的可扩展性和维护性。
这三个部分之间的相互作用如图4.2:
图4.2Struts2分层原理
4.1.3系统开发视图
1.开发环境
☐开发语言:
Java、JavaScript、Html
☐数据库:
Oracle10g
☐应用服务器:
Tomcat
☐其他软件:
JUnit等
2.分层策略
分层是架构的基础,不管是经典的J2EE架构,还是轻量级的J2EE架构,一般大致分为5层(见图4.3)。
图4.3系统分层策略
☐数据持久层:
也叫领域对象层(DomainObject),由POJO(PlainOldJavaObject)组成。
☐DAO组件层:
由DAO(DataAccessObject)组件组成,一般封装了对数据库的CRUD原子操作。
☐业务逻辑组件层:
一般由Service对象组成,实现系统所需要的业务逻辑处理。
☐控制器层:
控制器用于拦截用户请求,调用业务逻辑组件,根据处理结果转发到不同的表现层组件。
☐表现层:
一般由JSP组成,负责接收用户请求,反馈处理结果。
3.目录结构
图4.4目录结构摘要图
如图4.4,Source目录下一级目录包括:
☐View.action:
存放action的源文件。
☐domain:
存放由数据库表映射来的实体类。
☐service:
存放各模块的业务逻辑组件。
☐dao:
存放各模块的DAO组件。
☐base:
存放基本的抽象的泛型Action和Dao层,用来被继承。
☐util:
存放各种工具类,如字符串处理,文件处理,日期处理等。
☐service和dao目录下分别存放它们的实现类目录impl。
☐Config:
config目录下存放的是Spring+Hibernate+struts2的配置文件
WebRoot目录下存放系统视图部分,包括Jsp页面,HTML页面和css、js等资源文件。
4.2系统类结构设计
4.2.1DomainObject层设计
DomainObject是指那些包含需要被透明持久化的属性,以及相关业务逻辑(体现在UseCase中)的POJO。
如图4.5所示:
为系统domain的总体类设计图:
其中包括论坛模块的类结构设计UML图,也包括用户与角色,权限之间的类结构UML图,以及用户与个人掌上营业厅的功能类图,包括缴费模块,在线投诉,在线查看套餐业务的UML图。
图4.5系统总体DomainModel
图4.6为个人掌上营业厅DomainModel层的类结构示意图。
个人掌上营业厅是指对用户在网上的处理业务的分类。
具体模块包括在线缴费Payment,在线投诉Complaint,在线查看办理变更个人套餐业务Business。
图4.6个人掌上营业厅DomainModel
图4.7为用户,角色,权限DomainModel层的类结构示意图。
其中用户与角色之间存在多对多的关系,而相对应的角色与权限之间也是多对多的关联关系。
图4.7用户角色权限DomainModel
图4.8是网上交流模块论坛模块DomainModel层的类结构示意图。
论坛包括板块信息,主题信息,回复信息,文章信息Article文章存放了论坛的基本信息,而相对应的主题和回复信息同时继承了文章的基本信息。
板块
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电信 网上 营业厅 用户 服务 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)