基于jsp软件开发会员管理系统毕业论文.doc_第1页
基于jsp软件开发会员管理系统毕业论文.doc_第2页
基于jsp软件开发会员管理系统毕业论文.doc_第3页
基于jsp软件开发会员管理系统毕业论文.doc_第4页
基于jsp软件开发会员管理系统毕业论文.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件职业技术学院2013届毕业生毕业实训报告实训项目: 会员管理系统 学生姓名: XXX 学 号: SSSSSSSSSS 专业班级:软件技术XXXX(JAVA) 学历层次: XXXXX 指导教师: XXXX 完成日期: 2013年6月13日 长春工程学院软件职业技术学院毕业实训报告目 录会员管理系统1前言1第一部分 需求说明51.1 系统涉及的功能51.1.1 基本功能51.1.2 角色权限图示5第二部分 数据库设计52.1 数据库技术概述52.2 数据库的E-R图62.3 数据库逻辑结构设计82.3.1 会员表82.3.2 产品表92.3.3 会员卡表92.3.4 购物表10第三部分 系统实现103.1 系统总体设计103.2 公用模块的编写113.2.1 数据库连接文件113.2.2 用户登录和注销113.2.3 客户界面的设计与实现133.3 系统的实现133.3.1 “会员管理”功能模块153.3.2 用户密码模块163.4 设计过程中遇到的问题以及解决方法163.4.1 问题一163.4.2 问题一分析及解决方法173.4.3 问题二173.4.4 问题二分析及解决方法173.4.5 问题三183.4.6 问题三分析及解决方法183.5 系统测试及单元测试183.5.1 模块接口183.5.2 局部数据结构183.5.3 路径测试193.5.4 边界条件193.5.5 出错处理19第四部分 系统使用手册204.1 硬件环境204.2 软件环境214.3 使用说明21实训总结22参考文献231长春工程学院软件学院基于Java的Web毕业实训报告 会员管理系统前言随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活中不可缺少的辅助工具。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻的认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。它已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了多如牛毛的软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。以前开发Windows应用软件是专业人员的工作,需要掌握许多专业知识和经过特殊的培训才能胜任。现在不同了,即使你没有接受过严格的程序设计训练,使用java编程语言也一样能够开发出功能强大、适合自己特殊需求的应用程序了。会员管理系统用计算机管理本事业组织会员的基本信息,以及对会员信息的编辑,查询等一系列动作,它是一种计算机应用技术的创新,在计算机还未普及之前组织会员管理都是由工作人员人工书写,查阅的方式来操作的,现在一般的会员管理都采用计算机智能化管理,采用计算机作为工具的实用的计算机智能化管理程序来帮助前台管理员进行更有效的企事业单位组织会员管理工作。因为本人能力有限,加上时间紧迫,所以设计出来的本系统可能功能比较简单,另外本系统是单机版,不能实现网络互联操作,这些都有待于我在以后的工作学习中进一步改进。系统开发用到的核心技术:JSP技术:用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP 本质上是一种特殊的Servlet文件。JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和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( Direct Web Remoting)是一个用于改善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(Application Programming Interface,应用程序设计接口)。它由一些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公司开发的一种脚本语言(scripting language),或者称为描述语言。在HTML基础上,使用JavaScript可以开发交互式Web网页。JavaScript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。 运行用JavaScript编写的程序需要能支持JavaScript语言的浏览器。Netscape公司 Navigator 30以上版本的浏览器都能支持JavaScript程序,微软公司 Internet Explorer 30以上版本的浏览器基本上支持JavaScript JavaScript短小精悍, 又是在客户机上执行的,大大提高了网页的浏览速度和交互能力。同时它又是专门为制作Web网页而量身定做的一种简单的编程语言。JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由 CGI 验证。JavaScript 的特点是无穷无尽的,只要你有创意。第一部分 需求说明1.1 系统涉及的功能1.1.1 基本功能本课题要实现的是基于网上购物系统,根据程序结构化设计的要求,把整个项目分为两个用户角色,分别是管理员与会员。在具体的功能模块设计上,两个角色的功能又不尽相同。对于管理员来说,主要实现以下功能模块:1.会员信息模块:主要实现对会员信息的添加、查询、修改和删除的功能;2.产品信息模块:主要实现对产品信息的添加、查询、修改和删除的功能。对于会员来说,主要实现以下功能模块:1.会员注册模块:主要实现初次使用者系统用户身份的注册功能;2.产品信息模块:主要指会员对产品信息的查看以及购物操作。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图:View_Article_Type产品Article产品价格TypeArticle.TypeID=Type. TypeID图4 View_Artcle_Type图(4) View_users的E-R图:View_Users会员Users产品ArticleArticle.username=Users.username图5 View_users图2.3 数据库逻辑结构设计数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库逻辑结构。2.3.1 会员表记录用户的详细信息:User1用户表 表1字段名称数据类型字段大小是否主键默认值是否必填备注userid自动编号是会员编号username文本20否否会员代号password文本20否是会员密码name文本20否是会员姓名role文本10否是会员身份2.3.2 产品表记录产品的主题和一些个性化设置:Product产品表 表2 字段名称数据类型字段大小是否主键默认值是否必填备注Productid自动编号是产品编号Productno文本20否是产品代号Productname文本20否是产品名称price文本20否是产品价格cunhuo文本20否是产品存货2.3.3 会员卡表记会员卡信息:会员卡表 表3 字段名称数据类型字段大小是否主键默认值是否必填备注vipid自动编号是会员卡编号vipno文本20否是会员卡代号vipname文本20否是会员卡种类money文本20否是卡内余额2.3.4 购物表记录会员的购物信息:member访客留言表 表4字段名称数据类型字段大小是否主键默认值是否必填备注Memberid自动编号是购物编号userid文本20否是会员编号Productid文本20否是产品编号vipid文本20否是会员卡编号consumemoney文本20否是购物金额consumetime日期/时间否是购物日期第三部分 系统实现对会员管理系统进行系统分析、数据库设计之后,本部分将主要介绍系统各功能模块的设计及其实现。软件所实现的功能强弱是衡量一个软件的最根本的标准。通过对系统的全面分析并结合调研的情况,确定了本系统的功能模块图。本章先从系统总体结构设计介绍,接着分别对公用模块、客户界面、管理对功能模块加以描述。3.1 系统总体设计本系统数据库采用mysql,系统结构图如图:产品管理会员资料会员卡办理产品出售情况用户登路管理员会员产品购买会员卡办理会员卡充值消费记录图6 系统结构图3.2 公用模块的编写3.2.1 数据库连接文件 为了操作数据库方便,把连接数据库、查询、更新、插入、关闭连接等数据库操作都写在一个公用文件Conn.asp中,这样其他页面引入这个页面,就可以调用数据库操作方法,操作数据库了,这样便于提高程序的重用性。3.2.2 用户登录和注销把判定用户登录和注销的程序写在首页index.asp中。当用户在首页输入用户名和密码请求登录时,先从数据库查询该用户的用户名和密码是否正确,如果正确则把该用户的用户名和密码,用Session记录。注销只需要设置记录用户的Session清除。图7 会员登录开始用户名(Username)和密码(Password)和验证码接数据库User表是否存在用户成功登录提示错误信息:密码错误,不存在该用户是否获取表单的用户号(Username)和密码(Password)验证码用户名和密码是否为空设置session值存取用户名和id,跳转到首页是否关闭数据连接 图8 登录模块处理流程3.2.3 客户界面的设计与实现界面模块化,可以提高代码的重用性,能为编程提供很大便利,节省开发时间,提高开发效率。3.3 系统的实现 “用户注册”功能模块设计页面login.jsp主要完成引导用户进行注册,首先会提供注册表让用户输入用户名和密码等,让用户输入注册信息,输入完成后,当用户单击注册按钮的时候,要对用户输入的注册信息简单认证,看用户信息是否验证,如果验证进行数据库验证,查看用户之前是否已经注册过,如果没有注册则插入一条新记录到数据库,完成注册。图9 用户注册开始输入用户注册信息获得用户信息用户名username真实姓名 truename 密码password用户是否可以注册连接数据库byouke表在byouke表中自动生成用户id,并将用户的信息写入表中是否获取表单中的注册信息,是否填写完整是 关闭数据连接图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: 0org.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以上,集成显卡也能用,CPU AMD3000+就可以了。4.2 软件环境Jdk1.6版本以上,java虚拟机,tomcat6.X版本以上做应用服务器,mysql数据库存放数据,MyEclipse8.5。4.3 使用说明因为是会员管理系统,所以管理员不需要注册,直接输入帐号密码就可以进行操作,但是如果你是非会员的话,就需要注册,才能进行会员卡注册、充值、购物及查看消费记录等操作。实训总结因为各种条件有限等原因。有些功能尚未完善,有些地方还不够详细完美,敬望各位老师批评指正。在这次毕业实训中,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论