摘 要
手机目前已经被普遍使用了,而作为手机最基本的功能--拨打电话,也已经得到越来约好的用户体验,目前国内的360、腾讯等等企业在Android平台的手机云通讯录软件已经做得相当成熟。
本设计开发一个基于jsp平台的手机营业厅自助服务员软件,实现了流量充值、业务办理和归属地查询等模块的功能。该系统就是本着可以给用户提供网上手机自助服务等业务,可以进行网上缴费,归属地查询,业务办理及修改等功能。
本系统能够使广大手机用户更方便的对手机相关业务进行网上修改,查询以及办理,足不出户就可以完成以前需要去营业厅才可办理的业务。
本文较为详细地叙述了系统的分析和设计过程,包含系统分析、系统设计和总体设计等内容。
关键词:网上手机自助服务,JSP,MySQL
Abstract
phones have been commonly used, and as the the phone most basic function - call, the user experience has been increasingly appointment domestic 360, Tencent Android platform phone contacts softwaredone quite mature The system based on JSP and MySQL development, both developed systems use and security, at the same time, provides a convenient interface between the two. The system is in line with online mobile phone self-service and other services can be provided to the user, can be online bill payment, attribution to inquiries, business process and modify. The system enables mobile phone users more convenient for mobile phone related business online modify the query and handle the need to stay at home prior to the completion of the operating room before they can handle the business. In this thesis, a more detailed account of the systems analysis and design process, including system analysis, system design and system testing.Keywords: online mobile phone self-service, JSP, MySQL,
目 录
摘 要
Abstract
目 录
第一章 引言
1.1 选题背景意义
1.2 系统技术分析
1.2.1 MYECLIPSE介绍
1.2.2 JSP技术
1.2.3 MySQL数据库系统
第二章 可行性研究与需求分析
2.1 可行性研究
2.1.1技术可行性
2.1.2经济可行性
2.2 需求分析
2.2.1系统性能需求
2.2.2系统业务功能
2.3 系统开发环境
第三章 系统总体设计
3.1 程序系统的结构
3.1.1系统管理员模块
3.1.2普通用户模块
3.2 数据库设计
第四章 系统详细设计及实现
4.1 登陆模块设计说明
4.1.1 程序描述
4.1.2 流程逻辑
4.2 客户资料模块设计说明
4.2.1 程序描述
4.2.2 流程逻辑
4.3 用户业务模块设计说明
4.4 建议/意见模块设计说明
4.5.1 程序描述
4.5.2 流程逻辑
第五章 总体设计
5.1 总体设计过程及结果
5.1.1 普通用户模块
5.1.2 客户模块
5.1.3 业务办理模块
5.1.4 投诉与建议模块
第六章 结 论
参考文献
致 谢
第一章 引言
一.1 选题背景意义
智能手机(Smartphone)是指“像个人电脑一样具有独立的操作系统可以由用户自行安装软件、游戏等第三方服务商提供的程序.通过此类程序来不断对手机的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的这样一类手机的总称”。目前,全球多数手机厂商都有智能手机产品,而芬兰诺基亚、美国苹果、加拿大RIM、黑莓、美国摩托罗拉、中国台湾宏达htc都是智能机中的佼佼者[1]。 智能手机具有五大特点:1、具备了无线接入互联网的能力,即要有GSM的支持网络下的GPRS或者是CDMA网络支持下的CDMA 1X或3G网络。2人性化,可以根据个人需要扩展机器的功能。3、它是具有开放性的操作系统,还可以安装非常多的应用程序使得智能手机的功能可以得到无限的扩展。4、具有PDA功能,其中包括个人信息管理、日程记事、任务安排、多媒体应用、浏览网页等。5扩展性能强,第三方软件支持多。
一.2 系统技术分析
1.2.1 MYECLIPSE介绍
MyEclipse这个工具是由Genuitec公司开发的一款企业级工作平台。它其实是对Eclipse IDE进行的全面扩展。MyEclipse主要是集成了很多J2EE开发所要用到的插件。如果开发要涉及到WEB端,那么用MyEclipse会方便许多。利用它我们可以在数据库和J2EE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境—它主要包括了 web程序上面的编码、调试、测试和发布功能。
1.2.2 JSP技术
JSP(java servlet page)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP的实质是Servlet,不过是在这本身的基础上进行了简单化的设计。JSP是在传统的HTML网页上插入Java代码和JSP标记,从而形成了JSP文件。
1.2.3 MySQL数据库系统
MySQL数据库是由MySQLAB公司开发的一款基于关系型数据库管理系统的产品,它具有成本低,功能强大,灵活性以及速度快等优点。它适用于新用户的使用,因为它能够快速的帮助用户查询得到需要的信息,并对其进行相应的数据处理,其次更能为用户做出正确的决策。MySQL数据库适用于大型或超大型数据库服务器端,并且由于其适用性强,所以适合不同使用者的需求。
MySQL具有的优点:
(1)存储简单,操作与使用方便
(2)数据库界面窗口较完善
(3)具有自动更正名称的功能
(4)支持ODBC,可以与Excel、Word共享信息
总之而言,MySQL数据库不仅可以用来存储数据,还可以作为一个客户端开发工具来进行数据库应用系统开发。
第二章 可行性研究与需求分析
二.1 可行性研究
手机网上营业厅的登录界面比较简单易懂,采用的都是一些常见界面B/S的登录和操作界面,而系统的开发主要采用的是较为常见的jsp语言环境。界面和开发环境的普遍可以使得用户能够快速的熟悉系统,并且能够掌握系统的主要操作。在使用中,用户登录系统后会给一些提示登录成功或是密码账号错误,使得其更加人性化,用户操作起来更加的简单方便,所以在操作上开发该系统是可行的。
2.1.1技术可行性
接着,我们要分析并判断自己当前所学到的有关知识信息是否能够完成该系统的开发工作,然后达到我前期所想要的效果。在对本次的开发项目所涉及到的相关知识,如java、SqlServer和jsp等有所了解,并且相对掌握之后,同时有了指导老师和身边朋友同学及家人的帮助下,在完成该项目上是可以实现的。
2.1.2经济可行性
开首先主要是判断个人的经济状况及生活水平如何,可以顺利的完成本次的毕业作品。手机网上营业厅的整个系统是由我独立研究和开发的,开发此系统所需的工具是电脑,即使是学院配置的计算机也是可以的。本系统所选择的开发软件、开发工具也是大部分是课堂上所学过的软件,在经济这个方面上也不会有什么所需的过多的投入,所以说,完成本次的手机网上营业厅在经济上是可行的。综上所述,通过技术、经济、操作的可行性研究与分析,得出使用JSP和MySQL开发手机网上营业厅是可行的。
二.2 需求分析
随着用户服务意识的提高,对服务质量的要求也是越来越高,移动的新业务也不断推层出新,那么要求网上营业厅适应其发展需要实现如下3 个目标:①先进性和实用性:采用先进的体系结构和主流开发技术,使系统有一个高起点,目前和未来较长一段时间内不会落后。同时,系统主要实现新业务需求为主线,充分体现系统的实用性;②可靠性与稳定性:应用系统为自助营业厅提供辅以系统监控功能,除了网络系统的安全保障外,应用软件应充分考虑安全性和可靠性,采用各种技术,使系统具有较强容错能力,构造一个健壮的应用系统;③易管理和维护性:应用系统可进行分布和集中部署,充分考虑系统参数的可配置性,有利于应用系统的管理和维护。
2.2.1系统性能需求
网络环境下的多用户系统:
在已有的硬件环境下,通过网络服务访问营业厅。考虑到实现的基本功能,需要对访问用户进行分类以实现多用户的登陆和服务,基本用户为:普通用户和管理员。
用户的权限:
用户进入网上营业厅所能进行的基本操作。不同的用户登陆后根据其权限的不同会出现对应的服务窗口,以响应该用户所需要的基本服务。如普通用户就无法进行登陆操作,只能浏览基本信息。正是权限的设定保证了营业厅管理的有序化,使得整个系统正常工作。
2.2.2系统业务功能
根据相关的性能需求我们了解到本系统所要实现的基本功能,以下就是对功能进行拓展明确所需要的业务功能,对各项业务进行分析。
(1)用户的基本职能
普通用户:对普通用户来说,他属于手机用户,因此访问网上营业厅可以办理相关业务的。他的基本职能仅限于浏览网上营业厅的相关信息,查看最新号码归属地,业务办理、个人信息查看、投诉建议等功能操作。
营业厅经理:经理属于网上营业厅的管理人员,主要负责后台事务的处理。他的权限最高,可以发布业务信息,并对用户账号进行管理,处理最终的用户的投诉与建议。
(2)安全分析
安全问题是保证系统正常运行的重要方面,它不仅涉及到系统的稳定性,还对数据安全,各种用户信息安全产生很大影响。由上,需要加强系统安全分析和设计环节。
首先,明确安全问题的具体内容。由于安全涉及到系统分析和设计的各个方面,这样在分析其相关内容时,就需对不同类型的安全问题进行不同的分析。考虑到它包括以下几种情况:用户信息资料的保密性系统整体稳定性。
基于上面概述,可考虑具体针对安全问题进行的相关处理。对于用户信息资料的问题,主要在于数据处理方面,因此这需要在数据库的设计和操作上进行更多的安全考虑;而针对访问权限的问题,一方面在设置优先级时就需要注意对用户的职能进行明确的处理,另一方面这同样联系到数据库的内容,因此在建立数据库和对其进行增删改等操作时就要设置对应的内容保证访问的安全性;关于登录问题,关键是连接数据库的操作,要保证数据的正确性和可保密性和连接的正确性;而对于后面的系统整体稳定性及安全性的问题,它涉及到整个系统的各个方面操作甚至包括网络相关内容,这里不作详述。
(4) 业务流程
用户间的相互关系:
入网后 查看业务信息
提交意见
上报意见
管理营业员
图2.1 用户关系图
系统流程:
浏览营业厅基本信息
手机归属地查询、业务办理
普通 个人信息查看、投诉与建议
为客户办理套餐业务
管理员 意见查看处理
用户员工管理
添加业务管理
图2.2 系统流程图
二.3 系统开发环境
开发环境需要JSP的支持,使用的计算机需要满足以下配置:
硬件要求:
1.CPU:Intel Pentium II-class 300 MHz以上;
2.内存:512MB (最好1GB)以上;
3.磁盘空间:250 MB(完全安装) 155 MB(快速安装)以上;
4.显示器:800x600, 256 colors。
软件要求:
1.MicrosoftWindows XP sp3操作系统;
2.MicrosoftInternet Explorer 5.5 浏览器以上;
3.MySQL数据库系统;
4.安装. Apache Tomcat 6.0以及MyEclipse。
为使计算机能够流畅地进行开发,使用了如下的配置:
硬件环境:
1.CPU主频在2.4GHz;
2.内存在2GB;
3.磁盘总空间:80G;
4.显示器:1024*768,真彩色。
软件环境:
1.MicrosoftWindows XP sp3操作系统;
2.MicrosoftInternet Explorer 8.0浏览器;
3.MySQL数据库系统;
4.安装. Apache Tomcat 6.0以及MyEclipse。
第三章 系统总体设计
三.1 程序系统的结构
图3.1 系统结构图
系统模块按照用户的类别可分为系统管理员模块、普通用户模块、,如图3.1所示。
3.1.1系统管理员模块
管理员登录:系统管理员在进行系统管理时首先要登录系统,才能拥有系统管理员的权限。
系统管理员有权对客户提出的意见及建议进行回复。
3.1.2普通用户模块
归属地查询模块:本模块通过输入大量数据,可使用户对来电号码的归属地进行查询。
用户提出意见和建议模块:本模块是通过用户留言,提出的意见和建议进行记录并反映给管理员。
三.2 数据库设计
根据系统的需要,需要有用户表、数据业务表等基本表。用户表中存放用户的基本信息,数据业务表中存放最新业务、用户意见与建议、电话号码归属地查询等信息。
本系统的用户有普通用户,管理员两种类型,他们之间的属性差距较大,为方便管理,将两种类型的用户分开存放,根据不同的权限有不同的账号密码,进入自己所相应的系统。
建立的表有:归属地查询表,用户信息表,主要业务查询表等。
1、归属地查询表
有时候被叫用户不知道来电的是从哪个地方打来的电话,这就需要进行归属地查询,建立该表就是为了方便用户可以查询被叫用户的归属地,其主要字段及其数据类型等如表3-1所示。
表3-1 归属地查询表结构
字段 | 数据类型 | 长度 | 是否为空 | 约束 |
No | int | 15 | 非空 | 主键 自增 |
Place | varchar | 20 | 非空 | 唯一 |
Cardtype | varchar | 20 | 非空 | 唯一 |
1 、用户信息表
建立该表是为了方便用户信息的储存,可以更好的方便管理,其主要字段及其数据类型等信息如表3-2所示。
表3-2 用户信息表结构
字段 | 数据类型 | 长度 | 是否为空 | 约束 |
TNO | int | 20 | 非空 | 主键 自增 |
TCODE | int | 25 | 非空 | 唯一 |
TNAME | varchar | 8 | 非空 | 唯一 |
TSEX | varchar | 8 | 非空 | 唯一 |
TIDNO | int | 40 | 非空 | |
TEMAIL | varchar | 30 | 非空 | |
TADD | varchar | 30 | 非空 | |
AREANO | int | 10 | 非空 | |
REGTIME | date | 30 | 非空 |
2 、主要业务查询表
现在手机的功能日渐多样化,所以相应的业务也是层出不穷,建立此表就是为了储存一些常用业务,便于用户在更改业务是方便调用,其主要字段及其数据类型等信息如表3-3所示。
表3-3 主要业务查询表结构
字段 | 数据类型 | 长度 | 是否为空 | 约束 |
Opno | int | 10 | 非空 | 主键 |
Opintro | varchar | 20 | 非空 | 唯一 |
Opcharge | int | 10 | 非空 | 唯一 |
第四章 系统详细设计及实现
四.1 登陆模块设计说明
四.1.1 程序描述
本段程序的主要用来验证普通用户,管理员的登陆帐号与密码的正确性,并转入对应的页面进行处理。
通过输入相应的账号密码,选择登陆不同的身份,通过数据库调用信息验证,跳转到相应页面,结构功能图如图4.1所示:
图4.1登陆模块功能图
四.1.2 流程逻辑
图4.2 登陆模块流程图
登陆模块代码
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
ServletContext context = servlet.getServletContext();
DataSource dataSource = (DataSource)context.getAttribute("mysqlDB1");
HttpSession session = request.getSession();
LoginForm lf=(LoginForm) form;
String vno=(String)session.getAttribute("validateno");
if(!lf.getValidateno().toUpperCase().equals(vno.toUpperCase())){
return mapping.findForward("login_again_1");
}
if (lf.getLogmodel().equals("3"))
{
DBClerk db=new DBClerk(dataSource);
Clerk cl=db.Identify(lf.getCellno(),lf.getCellcode());
if(cl!=null){
session.setAttribute("clerk",cl);
return mapping.findForward("right_login_clerk");
}
else return mapping.findForward("login_error");
}
else if (lf.getLogmodel().equals("4"))
{
DBManage db=new DBManage(dataSource);
Manage ma=db.Identify(lf.getCellno(),lf.getCellcode());
if (ma!=null){
session.setAttribute("manage",ma);
return mapping.findForward("right_login_manage");
}
return mapping.findForward("login_error");
}
else if (lf.getLogmodel().equals("2"))
{
DBClient db=new DBClient(dataSource);
Client cli=db.Identify(lf.getCellno(),lf.getCellcode());
if (cli!=null){
session.setAttribute("client",cli);
return mapping.findForward("right_login_client");
}
return mapping.findForward("login_error");
}
else if (lf.getLogmodel().equals("1"))
{
return mapping.findForward("right_login_visit");
}
return mapping.findForward("login_error");
}
}
四.2 用户资料模块设计说明
四.2.1 程序描述
该程序在收到请求后去数据库调用客户信息,返回页面。在提交修改请求后判断数据的正确性,如正确则将数据保存入数据库,如下图4.3所示:
图4.3 客户资料模块功能图
四.2.2 流程逻辑
图4.4 客户资料模块流程图
客户资料模块代码
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
ServletContext context = servlet.getServletContext();
DataSource dataSource = (DataSource)context.getAttribute("mysqlDB1");
HttpSession session = request.getSession();
InfoForm lf=(InfoForm)form;
Client c=null;
c=(Client)session.getAttribute("client");
c.setTadd(lf.getTadd());
c.setTemail(lf.getTemail());
c.setTidno(lf.getTid());
c.setTname(lf.getTname());
c.setTsex(lf.getTsex());
session.setAttribute("client",c);
DBClient db=new DBClient(dataSource);
db.update(c,0);
Client cli=db.Identify(c.getTno(),c.getTcode());
session.setAttribute("client",cli);
return mapping.findForward("succeed_infochange");
}
四.3 用户业务模块设计说明
用户业务模块处理各个用户针对需求进行相应业务的办理,包括业务的发布和查看以及业务的办理。通过该模块的实现管理员权限的用户在登陆后即可根据需要进行业务的查询、办理等,它是整个网上营业厅系统进行业务处理的基础。模块中各个子模块是允许被不同的用户模块进行复用的,它们具体完成业务办理的各项功能。
1、程序描述
查看热门活动模块是游客和入网客户的基本功能,进行登陆后用户即可查看到当前的热门活动介绍,了解最新咨询,如下图4.5所示:
图4.5 热门活动子模块功能图
四.4 建议/意见模块设计说明
四.4.1 程序描述
该模块完成了client类中advise()和guest类中的advise()的实现,即建议模块中的提出意见功能,即根据用户的ID(对于guest其ID指定为guest),将其所发表的留言以及时间信息存入数据库中,如下图4.11所示:
图4.11 建议/意见模块功能图
四.4.2 流程逻辑
图4.12 建议/意见模块流程图
第五章 总体设计
五.1 总体设计过程及结果
为了能够使系统的缺陷最大限度地显现出来,总体设计将是最好的策略。在系统详细设计完成之后,有必要对系统进行测试。
总体设计的过程如下:
五.1.1 普通用户模块
1、登录,为了防止恶意登录,需要账号密码才能登录,如下图5.1所示:
图5.1 登陆界面图
2、登录后如下图5.2所示:
图5.2 话费服务查询图
3、归属地查询:
输入您的号码(如123321),点击查询即可,查询结果如下图5.3所示:
图5.3 归属地查询结果图
测试结果:测试号码15950596760,13000497836,无论联通还是移动的手机卡都可以得到正确的输出。测试号码11111111111时,系统会提示号码不存在。测试号码876时,系统出错,可见未对长多不足的数据进行保护。
热门活动查看:经测试,此模块没有错误。
5.12 个人信息管理:
1、登录后,点击个人信息出现页面如下图5.4所示:
图5.4 个人信息界面
2、 点击上边的个人信息管理,出现如下图5.5所示:
图5.5 客户个人信息管理界面
测试结果:可以得到正确的个人信息,对其中的内容进行修改也可以得到正确的回复。但存在的问题是并没有对修改的项目进行审查,比如性别,ID号等内容没有进行核对。密码修改中,正确的输入同样可以得到正确的解,但是对于错误的输入,跳转页面会出现错误。
五.1.2 业务办理模块
1、 利用登录账号登录,业务办理页面如下图5.6所示:
图5.6 业务办理界面图
2、 点击业务办理,如下图5.7所示:
图5.7 办理成功页面图
五.1.3 投诉与建议模块
1、 用投诉与建议,登录后如下图5.8所示:
图5.8 投诉与建议界面
2、 输入内容点击提交,如下图5.9所示:
图5.9 投诉与建议图
5.14 管理员模块
增加业务管理,如下5.10所示:
图5.10 业务管理信息图
4、添加业务信息,如下5.11所示:
图5.11 添加业务信息界面
5、注册用户信息,如下5.12所示:
图5.13 注册用户信息权限图
6、查看用户办理业务,如下5.14所示:
图5.14 管理员查看业务办理
7、 投诉与建议,如下5.15所示:
图5.15 管理员查看投诉与建议界面
8、查看用户管理,如下图5.17所示:
图5.17 管理员查看系统用户面图
测试结果:
成功处理服务员开通、关闭等管理操作。
留言:能够查询并处理未处理留言。
发布新业务:可以成功发布并在业务列表中看到
第六章 结 论
经过测试,本系统能够完成网上业务查询,业务修改、办理,个人信息修改,以及管理员对系统数据的查询,管理等功能;同时,也满足用户办理业务,号码归属地等额外功能。该系统的功能完全考虑了网上营业厅自助服务系统的流程和步骤,并将相应的步骤实现。
该系统主要基于MyEclipse平台,使用JSP技术,以Tomcat 6.0为服务器发布,利用MySQL数据库构建数据库,完成该手机网上营业厅。
该系统本着简洁、实用的思想,能实现基本的网上营业厅自助服务的一系列功能,分为普通用户,管理员两种权限,各有各的功能和享受的服务。能够实现对业务的查询,归属地查询等。
该系统还有很多不足的地方,有部分功能无法实现,有些数据不够完整,致使有些功能不能顺利运行,该系统还有很多的地方不够完善,不能像现在专门的网上营业厅一样比拟,希望在以后的日子了能够继续完善数据,开发新功能。
参考文献
[1] 殷兆麟等. Java语言程序设计[M]. 北京: 高等教育出版社, 2012.
[2] 张白一, 崔尚森. 面向对象程序设计Java[M]. 西安: 西安电子科技大学出版社, 2016.
[3] 李芝兴. Java程序设计之网络编程[M]. 北京: 清华大学出版社, 2016.
[4] 池雅庆,周珺.JSP项目开发实践[M].北京:中国铁道出版社,2016.10
[5] 李忠伟,刘健.JSP动态网页设计技术教程[M].北京:北京希望电子出版社,2013
[6] 邓子云,张赐.JSP网络编程从基础到实践[M].北京:电子工业出版社,2015.9
[7] 王能斌.数据库系统原理[M]. 北京:电子工业出版社,2010
[8] 李伟等.数据库原理及应用[M]. 北京:北京工业大学出版社,2012
[9] 张海藩. 软件工程[M].北京:人民邮电出版社,2014
[10] 萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2010
[11] 李春葆,曾慧. MySQL应用系统开发教程[M]. 北京:清华大学出版社,2015
[12] 张玉平,李长林. 深入浅出java编程[M]. 北京:中国科学技术出版社,2014
[13] 赵松涛.深入浅出MySQL系统管理与应用开发.北京:人民邮电出版社,2016
[14] St. Louis, Mo., Mar. Papers from the 41st Annual Meeting ASP. American Society of Photogrammetry. 2010
[15] Virginia Andersen. Access 2000 [electronic resource] . the complete reference . 2009
致 谢
本次毕业设计得到了我的指导老师的精心指导,在指导毕业设计过程中商老师从严治学,以身作则的精神给了我很大的帮助;同时我还要感谢在我学习期间给我极大关心和支持的各位老师以及关心我的同学和朋友。
写作论文是一次再系统学习的过程,毕业设计说明书的完成,同样也意味着新的学习生活的开始。
感谢学校以认真负责的态度为我们组织这次毕业设计以及毕业答辨。你们的严格把关,对我们来说有很大的压力。在这种压力下促使我们以最快的速度融入到软件开发理论的应用中去。