会员管理程序设计Word格式文档下载.docx
《会员管理程序设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《会员管理程序设计Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
3.2.2用户登录和注销11
3.2.3客户界面的设计与实现13
3.3系统的实现13
3.3.1“会员管理”功能模块15
3.3.2用户密码模块16
3.4设计过程中遇到的问题以及解决方法16
3.4.1问题一16
3.4.2问题一分析及解决方法17
3.4.3问题二17
3.4.4问题二分析及解决方法17
3.4.5问题三18
3.4.6问题三分析及解决方法18
3.5系统测试及单元测试18
3.5.1模块接口18
3.5.2局部数据结构18
3.5.3路径测试19
3.5.4边界条件19
3.5.5出错处理19
第四部分系统使用手册20
4.1硬件环境20
4.2软件环境21
4.3使用说明21
实训总结22
参考文献23
会员管理系统
前言
随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活中不可缺少的辅助工具。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻的认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
它已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。
各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。
然而,虽然现在世界上已经充满了多如牛毛的软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。
以前开发Windows应用软件是专业人员的工作,需要掌握许多专业知识和经过特殊的培训才能胜任。
现在不同了,即使你没有接受过严格的程序设计训练,使用java编程语言也一样能够开发出功能强大、适合自己特殊需求的应用程序了。
会员管理系统用计算机管理本事业组织会员的基本信息,以及对会员信息的编辑,查询等一系列动作,它是一种计算机应用技术的创新,在计算机还未普及之前组织会员管理都是由工作人员人工书写,查阅的方式来操作的,现在一般的会员管理都采用计算机智能化管理,采用计算机作为工具的实用的计算机智能化管理程序来帮助前台管理员进行更有效的企事业单位组织会员管理工作。
因为本人能力有限,加上时间紧迫,所以设计出来的本系统可能功能比较简单,另外本系统是单机版,不能实现网络互联操作,这些都有待于我在以后的工作学习中进一步改进。
系统开发用到的核心技术:
JSP技术:
用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP本质上是一种特殊的Servlet文件。
JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。
目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。
Servlet技术:
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。
它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。
Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
DWR技术:
DWR(DirectWebRemoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。
它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。
它包含两个主要的部分:
允许JavaScript从WEB服务器上一个遵循了AJAX原则的Servlet中获取数据.另外一方面一个JavaScript库可以帮助网站开发人员轻松地利用获取的数据来动态改变网页的内容.
DWR采取了一个类似AJAX的新方法来动态生成基于JAVA类的JavaScript代码。
这样WEB开发人员就可以在JavaScript里使用Java代码,就像它们是浏览器的本地代码(客户端代码)一样;
但是Java代码运行在WEB服务器端而且可以自由访问WEB服务器的资源。
出于安全的理由,WEB开发者必须适当地配置哪些Java类可以安全的被外部使用。
JDBC技术:
JDBC是一种可用于执行SQL语句的Java(ApplicationProgrammingInterface,应用程序设计接口)。
它由一些Java语言写的类、界面组成。
JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。
通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。
也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。
用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统(DBMS)。
不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。
Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现“WriteOnce,RunEverywhere!
”Java具有健壮、安全、易用等特性,而且支持自动网上下载,本质上是一种很好的数据库应用的编程语言。
它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键。
JDBC扩展了Java的能力,如使用Java和JDBCAPI就可以公布一个Web页,页中带有能访问远端数据库的Applet。
或者企业可以通过JDBC让全部的职工(他们可以使用不同的操作系统,如Windwos,Machintosh和UNIX)在Intranet上连接到几个全球数据库上,而这几个全球数据库可以是不相同的。
随着越来越多的程序开发人员使用Java语言,对Java访问数据库易操作性的需求越来越强烈。
MIS管理人员喜欢Java和JDBC,因为这样可以更容易经济地公布信息。
各种经安装在数据库中的事务处理都将继续正常运行,甚至这些事务处理是存储在不同的数据库管理系统中;
而对新的数据库应用来说,开发时间将缩短,安装和版本升级将大大简化。
程序员可以编写或改写一个程序,然后将它放在服务器上,而每个用户都可以访问服务器得到最新的版本。
对于信息服务行业,Java和JDBC提供了一种很好的向外界用户更新信息的方法。
JavaScript技术:
JavaScript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。
于是Netscape的浏览器Navigator加入了JavaScript,提供了数据验证的基本功能。
JavaScript就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛地使用于Internet网页制作上。
JavaScript是由Netscape公司开发的一种脚本语言(scriptinglanguage),或者称为描述语言。
在HTML基础上,使用JavaScript可以开发交互式Web网页。
JavaScript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。
运行用JavaScript编写的程序需要能支持JavaScript语言的浏览器。
Netscape公司Navigator3.0以上版本的浏览器都能支持JavaScript程序,微软公司InternetExplorer3.0以上版本的浏览器基本上支持JavaScriptJavaScript短小精悍,又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。
同时它又是专门为制作Web网页而量身定做的一种简单的编程语言。
JavaScript使网页增加互动性。
JavaScript使有规律地重复的HTML文段简化,减少下载时间。
JavaScript能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由CGI验证。
JavaScript的特点是无穷无尽的,只要你有创意。
第一部分需求说明
1.1系统涉及的功能
1.1.1基本功能
本课题要实现的是基于网上购物系统,根据程序结构化设计的要求,把整个项目分为两个用户角色,分别是管理员与会员。
在具体的功能模块设计上,两个角色的功能又不尽相同。
对于管理员来说,主要实现以下功能模块:
1.会员信息模块:
主要实现对会员信息的添加、查询、修改和删除的功能;
2.产品信息模块:
主要实现对产品信息的添加、查询、修改和删除的功能。
对于会员来说,主要实现以下功能模块:
1.会员注册模块:
主要实现初次使用者系统用户身份的注册功能;
主要指会员对产品信息的查看以及购物操作。
1.1.2角色权限图示
图1角色权限图
第二部分数据库设计
2.1数据库技术概述
数据库是用户存放数据、访问数据、操作数据的存储仓库,用户的各种数据被有组织的存放在数据库中,在需要的时候可以随时被有权利的用户查询、统计,新的数据库可以被添加进去,不需要的数据库可以被删除,一些旧的数据库可以被修改,所以数据库就是被有效的组织在一起的数据集合
总的来说,数据库的设计对系统的经济性、功能性和效率有很大的影响,一个好的数据库,要求在设计时尽量避免数据的多余,另外,还要尽可能提高数据的存取速度。
数据库设计时速度与空间在范式上是相互矛盾的。
一方面按规范化理论的要求,关系模式应尽量取高级范式,尤其对记录数较多的关系,低级范式将会造成存储的大量重复,是空间遭受严重浪费;
另一方面从存取速度上考虑,应该尽量做到一个模式涉及的属性越多越好,相互运算越少越好,这样,又应取低级范式。
因此我们在设计数据库时要严格地探讨它的使用环境,充分了解用户的需求,清楚地掌握数据库系统的特点。
经过综合的评价和分析后设计出的数据库应满足以下要求:
(1)数据库信息要能充分体现出用户使用系统的需求;
(2)能够支持用户对数据进行的所有处理;
(3)能够容易被数据库管理系统运行维护;
(4)数据一致性、完整性好,无更新异常。
2.2数据库的E-R图
(1)会员管理系统整体E-R图:
图2会员管理整体图
(2)会员管理系统文章实体E-R图:
图3会员管理系统文章实体图
(3)View_Artcle_Type的E-R图:
图4View_Artcle_Type图
(4)View_users的E-R图:
图5View_users图
2.3数据库逻辑结构设计
数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库逻辑结构。
2.3.1会员表
记录用户的详细信息:
User1用户表表1
字段名称
数据类型
字段大小
是否主键
默认值
是否必填
备注
userid
自动编号
—
是
会员编号
username
文本
20
否
会员代号
password
会员密码
name
会员姓名
role
10
会员身份
2.3.2产品表
记录产品的主题和一些个性化设置:
Product产品表表2
Productid
产品编号
Productno
产品代号
Productname
产品名称
price
产品价格
cunhuo
产品存货
2.3.3会员卡表
记会员卡信息:
会员卡表表3
vipid
会员卡编号
vipno
会员卡代号
vipname
会员卡种类
money
卡内余额
2.3.4购物表
记录会员的购物信息:
member访客留言表表4
Memberid
购物编号
consumemoney
购物金额
consumetime
日期/时间
购物日期
第三部分系统实现
对会员管理系统进行系统分析、数据库设计之后,本部分将主要介绍系统各功能模块的设计及其实现。
软件所实现的功能强弱是衡量一个软件的最根本的标准。
通过对系统的全面分析并结合调研的情况,确定了本系统的功能模块图。
本章先从系统总体结构设计介绍,接着分别对公用模块、客户界面、管理对功能模块加以描述。
3.1系统总体设计
本系统数据库采用mysql,系统结构图如图:
图6系统结构图
3.2公用模块的编写
3.2.1数据库连接文件
为了操作数据库方便,把连接数据库、查询、更新、插入、关闭连接等数据库操作都写在一个公用文件Conn.asp中,这样其他页面引入这个页面,就可以调用数据库操作方法,操作数据库了,这样便于提高程序的重用性。
3.2.2用户登录和注销
把判定用户登录和注销的程序写在首页index.asp中。
当用户在首页输入用户名和密码请求登录时,先从数据库查询该用户的用户名和密码是否正确,如果正确则把该用户的用户名和密码,用Session记录。
注销只需要设置记录用户的Session清除。
图7会员登录
图8登录模块处理流程
3.2.3客户界面的设计与实现
界面模块化,可以提高代码的重用性,能为编程提供很大便利,节省开发时间,提高开发效率。
3.3系统的实现
“用户注册”功能模块设计页面login.jsp主要完成引导用户进行注册,首先会提供注册表让用户输入用户名和密码等,让用户输入注册信息,输入完成后,当用户单击[注册]按钮的时候,要对用户输入的注册信息简单认证,看用户信息是否验证,如果验证进行数据库验证,查看用户之前是否已经注册过,如果没有注册则插入一条新记录到数据库,完成注册。
图9用户注册
图10用户注册模块处理流程
3.3.1“会员管理”功能模块
“会员管理”功能模块需要显示会员信息。
图11会员管理
3.3.2用户密码模块
通过用户密码模块,使用户可以随时修改用户的密码信息。
这样做,也可以提高系统的安全性。
在修改密码的时候,会先让用户输入原密码,以防止非法用户操作用户的密码信息,然后输入新密码,就可以提交修改了。
图12密码修改
3.4设计过程中遇到的问题以及解决方法
3.4.1问题一
图13错误信息
3.4.2问题一分析及解决方法
注意修改页面编码为gbk
3.4.3问题二
图14错误信息
3.4.4问题二分析及解决方法
向工程中添加所要连接数据库的jar文件。
3.4.5问题三
在jsp页面出现异常:
exception
javax.servlet.ServletException:
java.lang.IndexOutOfBoundsException:
Index:
0,Size:
0
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:
515)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:
422)
3.4.6问题三分析及解决方法
这是一个经过数据库查询之后显示到页面的信息,为什么会出现这种情况,
原因很简单,是数据库里根本没有数据,解决这个问题的唯一办法就是向数据库里插入数据,但是当你把工程导到另外一个计算机上,查询出来的数据也还是为空,页面就一定还会有这个异常。
3.5系统测试及单元测试
单元测试针对每个程序的模块,主要测试5个方面的问题:
模块接口、局部数结构、边界条件、独立路径和错误处理。
3.5.1模块接口
这是对模块接口进行的测试,检查进入程序单元的数据流是否正确。
对模块接口数据流的测试必须在任何其他测试之前进行,因为如果不能确保数据正确的输入和输出的话,所有的测试都是无意思的。
3.5.2局部数据结构
在模块工作的过程中,必须测试其内部的数据能否保持完整性,包括内部数据的内容、形式及关系不发生错误。
3.5.3路径测试
在单元测试中,最主要的测试是针对路劲的测试。
在用例必须能够发现有于计算错误不正确的判断或不正常的控制流而产生的错误
3.5.4边界条件
经验表明,软件在边界处发生问题。
边界测试是软件测试的最后一部,十分重要,必须采取边界值分析方法来设计测试用例,认真仔细的测试为限制数据处理而设置的边界处,看模块能否正常工作。
3.5.5出错处理
测试出错的重点是模块在工作时候发生错误,其中出错处理设施是否有效。
程序运行中出现的异常现象并不奇怪,良好的设计应该预先估计到投入到运行偶可能发生的错误,并给出相应的处理措施,使得用户不至于束手无策。
测试用例将软件测试的行为活动做一个科学化的组织归纳.目的是能够将软件测试的行为转化成可管理的模式;
同时测试用例也是将测试具体量化的方法之一。
设计测试用例通过非路径分析得到测试用例、寻找尚未测试过的路径并生成相应的测试用例、通过指定特定路径并生成相应的测试用例。
用户注册进行测试测试代码如下:
图15注册测试代码
测试结果:
图16输出结构图
在控制台上输出一条插入的sql语句,并在数据库找到相应记录。
达到预期效果。
第四部分系统使用手册
4.1硬件环境
内存512MR以上,硬盘80G以上,集成显卡也能用,CPUAMD3000+就可以了。
4.2软件环境
Jdk1.6版本以上,java虚拟机,tomcat6.X版本以上做应用服务器,mysql数据库存放数据,MyEclipse8.5。
4.3使用说明
因为是会员管理系统,所以管理员不需要注册,直接输入帐号密码就可以进行操作,但是如果你是非会员的话,就需要注册,才能进行会员卡注册、充值、购物及查看消费记录等操作。
实训总结
因为各种条件有限等原因。
有些功能尚未完善,有些地方还不够详细完美,敬望各位老师批评指正。
在这次毕业实训中,使我懂得怎样把学到的知识灵活运用,我感谢帮助我的同学!
虽然我们的系统不是很完善,但是我觉得很满足。
希望各位老师各位同学能提出宝贵的意见或见意,要以后的工作中我一定会更加努力。
通过本次毕业实训的制作,使我对以前所学的课程有了更深的理解;
并使我对编写一个小型程序有了一定的了解。
从项目的确定、制定计划、系统分析、系统设计、总体设计和详细设计到系统调试,文档整理,使我加深了对软件工程、面向对象编程和数据库编程的理解。
使我从中对一些以前未曾接触的知识有了一定的掌握。
不仅使我所学的知识再温习了一遍,而且锻炼了我的分析问题,解决问题的能力,和综合运用专业知识的能力,使我受益非浅。
由于时间仓促,经验不足,本系统还不够完善,有许多不足的地方待改进!
参考文献
[1]白广元JavaWeb整合开发完全自学手册机械工业出版社
[2]王国辉Java程序设计基础人民邮电出版社
[3]孙卫琴精通Struts:
基于MVC的JavaWeb设计与开发人民教育出版社
[4]孙卫琴精通Hibernate:
Java对象持久化技术详解人民教育出版社
[5]BruceEckelJava编程思想(第3版)机械工业出版社
[6]李岩SQLServer2005使用教材清华大学出版社
[7]王卫生Java程序设计与实训教程北京理工大学出版社
[8]张军《JSP网络应用开发例学与实践》清华大学出版社2006
[9]冯燕奎赵德奎等编著《JSP实用案例教程》清华大学出版社2004
[10]黄晓东著《JAVA课程