1、. .毕 业 设 计 说 明 书课题名称网上宠物商店系统的设计与实现院 系专 业班 级学 号学生XXbiyeshejilunwen126.(论文+源码+100)指导教师:2021 年 5 月 15 日计算机与软件学院毕业设计论文诚信承诺我谨在此承诺:本人所写的毕业论文?网上宠物商店系统的设计与实现?,是本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释与说明,假设有不实,后果由本人承当。承诺人签名:2021年 05 月15日摘要随着经济的开展,人们的生活日益丰富多彩,消费方式也愈来愈多。精神消费成为人们日常消费的一个重要组成局部,所占的比重也越来越高。人们主要各种网上消费,为此
2、特调研发现对于网上宠物消费一栏商不成熟,其为较大商机之一,在众多男男女女喜欢猫猫狗狗作为根底之中为了满足广阔爱好者的需求,特作此网上系统。本,是在网络上建立一个虚拟的商店商场,防止了的烦琐过程,使消费者的购宠过程变得轻松、快捷、方便,很适合现代人快节奏的生活;同时又能有效的控制“商场运营的本钱,开辟了一个新的销售渠道。本系统是一个中小型的电子商务系统,可以为各类用户提供方便的在线挑选宠物环境,符合目前国际流行的电子商务模式。消费者可以在系统前台中实现注册、登录、修改个人信息、分类查询商品信息、购宠、管理购物车、结账和查看各种宠物信息等功能。通过系统后台管理模块可以实现后台管理对会员、宠物、订单
3、和系统的管理等功能。本论文主要介绍了本课题的开发背景、后台系统分析、后台系统的设计与实现。本课题是,综合应用主流JSP、Struts Web框架技术、Hibernate数据访问技术、SQL数据库技术、软件测试技术、部署与发布等技术,遵从IT企业生产性工程的软件产品生命周期开发过程模型或敏捷开发及持续集成模型,应用软件工程相关工具,完成网上宠物商店系统的设计与开发。关键词:网上商城购物系统;系统前台;系统后台AbstractWith the development of economy, peoples life has bee increasingly rich and colorful, s
4、pending patterns more and more. Mental consumption has bee daily consumption, is an important part of the proportion of the more and more is also high. People basically various online consumption, especially for this investigation found for online pet consumption column traders dont mature, one of t
5、he bigger opportunities in many men and women like cats as the foundation of the needs in order to satisfy enthusiast, especially for this online website system. This web site on the Internet, is to build a virtual shop mall, to avoid the gorgeously process, make consumer purchase pet process easier
6、, quick, convenient, very suitable for the fast pace of modern life; At the same time can effectively control the cost of mall operation, opened a new sales channels. This system is a small and medium-sized e-merce system for all kinds of users, can provide convenient online choosing a pet environme
7、nt, conform to the present international popular e-merce mode. Consumers can realize the system front desk register, login, modify, personal information, classification inquires the modity information, shopping, management shopping cart, check and see all kinds of pet information, and other function
8、s. Through the system background management module can realize management background to members, pet, order and system management, and other functions This paper mainly introduced this topic development background, backend systems analysis, backend system design and implementation. This topic is, pr
9、ehensive application mainstream JSP, Struts Web frame technology, Hibernate data access technology, SQL database technology, software testing technique, website deployment and release technology etc, follow IT enterprise productive projects software product life cycle development process model or ag
10、ile development and continuous integration model, application software engineering related tools, plete online pet store system is designed and developed. Keywords: online mall shopping system; System front desk; System background 目 录1 绪论12 开发使用的工具与技术22.1 系统开发的工具22.1 .1MyEclipse22.1.2 SQL22.1.3 Tomc
11、at22.1.4 JDK22.2系统开发的技术32.2.1 Java32.2.2 Struts32.2.3 Hibernate32.2.4 JSP33 需求分析43.1 任务概述43.1.1 目标43.1.2用户的特点43.2对功能的规定和详细说明44 概要设计54.1 编写目的54.2 系统分析54.3 数据库设计54.4 运行设计54.4.1 运行模块的组合64.4.2 运行控制64.4.3 运行时间64.5 出错处理设计64.5.1 出错输出信息64.5.2 出错处理对策65 详细设计75.1编写目的75.2 模块图75.3 系统截图996 系统测试146.1定义146.2 简述146.
12、3 测试结果评价156.4 评价及总结157 软件使用说明书167.1 系统功能介绍167.2 软件详细介绍16结论18参考文献20附录21. .word. .1 绪论随着计算机技术迅速向着网络化、多元化方向开展。支持多种数据信息的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端效劳器的C/S构造应用系统,这类软件具有构造严谨,运行效率高,效劳器端压力小,平安性好等优点,被广泛运用于局域网中。而另一种,也是本毕业设计所采用的,是称为浏览器效劳器的B/S构造应用系统,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操
13、作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于Internet,而且投资小、见效快,用户可以不必进展效劳器方面的投资,而是去租用,甚至是免费使用ISP的效劳器资源,因而受到越来越多中小型单位的青睐。本文讨论的是一个电子商城,它具有电子商城具有的根本功能。企业通过互联网为消费者提供一个新型的购物环境网上商城,消费者通过网络在网上购物、在网上支付。由于这种模式节省了客户和企业的时间和空间,大大提高了交易效率,节省了珍贵的时间。2 开发使用的工具与技术2.1 系统开发的工具2.1 .1 MyEclipseMyEclipse企业级工作平台MyEclipse Enterprise
14、 Workbench ,简称MyEclipse是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序效劳器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。2.1.2 SQLSQL 是一个真正的多用户、多线程数据库效劳器,它是一个客户机/效劳器构造的实现。SQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统来说,SQL具有功能齐全、查询迅捷等优点。SQL 主要目标是快速、
15、强健和易用。2.1.3 TomcatTomcat是Apache 软件基金会Apache Software Foundation的Jakarta 工程中的一个核心工程,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规X总是能在Tomcat 中得到表达,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规X。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了局部软件开发商的认可,成为目前比拟流行的Web 应用效劳器。该体统用的是最新版本6.0。2.1.4 JDKJDK(
16、Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java根底的类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在效劳端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开场,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。2.2系统开发的技术2.2.1 JavaJava,是由Sun Microsystems公司于1995年5月推出的Java程序设计语
17、言和Java平台的总称。用Java实现的HotJava浏览器支持Java applet显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛承受并推动了Web的迅速开展,常用的浏览器现在均支持Java applet。2.2.2 StrutsStruts是Apache 基金会Jakarta 工程组的一个Open Source 工程,它采用MVC模式,能够很好地帮助java 开发者利用J2EE开发Web应用。和其他的java架构一样,Struts 也是面向对象设计,将MVC模式别离显示逻辑和业务逻辑的能力发挥得淋漓尽致。Structs 框架的核心是一个弹性的控制层,
18、基于如 Java Servlets,JavaBeans,ResourceBundles与XML等标准技术,以及 Jakarta mons 的一些类库。Struts由一组相互协作的类组件、Servlet以及jsp tag lib组成。基于struts构架的web应用程序根本上符合JSP Model2的设计标准,可以说是一个传统 MVC设计模式的一种变化类型。2.2.3 HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进展了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既
19、可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用E的J2EE架构中取代CMP,完成数据持久化的重任。2.2.4 JSPJSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上
20、运行。3 需求分析3.1 任务概述3.1.1 目标消费者可以在系统前台中实现注册、登录、修改个人信息、分类查询宠物信息、购宠、管理购物车、结账和查看各种效劳条款等功能。通过系统后台管理模块可以实现后台管理对会员、宠物信息、订单和系统的管理等功能。3.1.2用户的特点本系统只要用户只需要熟练掌握计算机的根本操作就可以利用该软件进展所需操作。3.2对功能的规定和详细说明前台购物系统: 1可实现在线注册;2注册成功后,可进展登录,浏览或购置自己喜欢的爱宠;3可在线修改自己的个人信息;4可以在线发表意见或留言;5同时也可以在线查找自己已忘记了的密码。后台购物系统:1管理员登录;2查看所有注册用户的信息
21、并对其编辑,并提供高级查询;3查看/添加/删除宠物信息,同时也提供了高级查询;4查看/编辑用户所发送成功的所有订单,并对其进展编辑同时也提供了高级查询;5查看/添加/删除宠物的主分类菜单;6查看/发布/编辑公告;7查看/编辑注册用户所发送的意见或留言,并可对其进展回复;8查看/编辑/添加用户在线支付的方式;9查看/添加/删除管理员,同时也提供了高级查询。4 概要设计4.1 编写目的该文档的目的是描述网上宠物商店系统工程的概要设计,其主要内容包括:系统分析数据库设计运行设计出错处理设计本文档的预期的读者是:开发人员商城用户读者测试人员4.2 系统分析本系统前台可以实现会员注册、登录,查询、购置、
22、留言以及订单管理,在后台可以实现对宠物信息、订单、会员、系统管理员的管理。4.3 数据库设计数据访问层负责对业务层提供数据操作,也就是它负责和底层的数据库打交道。业务层或者通用层中所有的对象都通过数据访问层的对象访问数据库。数据访问层中的类是按业务对象来组织的,每个业务对象中包含的数据可能存在不同的几种数据表中,它由数据访问类统一组织成一个概念中的对象,它相当于是一个面向对象的数据库层,负责映射面向对象与关系数据库间的关系。对数据库的所有操作均由存储过程完成,数据层只是在前台调用后台的存储过程。4.4 运行设计在复杂的应用环境中,任务可分为各种类型的子任务,相应的处理也应进展分类。相对于这样的
23、应用,系统的功能十分庞大。用户在某次使用时,不一定用到所有的功能,也就是说做什么事,用什么功能。这样有必要定义系统的不同运行。系统的每种运行可能涉及不同的模块,使用不同的界面,不同的支持环境,并有不同的前置条件,以及以不同的控制操作完成一次运行。它们所占的系统资源也不同。定义不同的运行,给出相应的运行模块集合有利于测试和维护。如果某种功能在一次运行时发生故障,就能根据相应的模块集合大致确定故障的可能X围。4.4.1 运行模块的组合前台程序启动后,进入网上宠物商店系统首页,用户的单击对话框按钮事件触发主模块调用各下层模块,进入对应的子对话框,同样由用户的输入触发这些模块调用其下层模块,完成相应操
24、作。4.4.2 运行控制本软件控制流程:主界面运行,等待用户的输入,根据用户的输入调用各子模块。4.4.3 运行时间检索业务响应时间2s;运行响应时间1s;4.5 出错处理设计各表值的相应规定,如用户指令不符合值要求即提示相应错误4.5.1 出错输出信息输入空字符:提示“数据为空,请重新输入;审核错误要进入购宠、留言、查看订单模块:提示“登录名或密码不正确,请重新输入; 游客进展注册时输入的、登录名等不合法时:提示“输入错误,请重新输入;4.5.2 出错处理对策对于一般错误,给用户提示信息,让用户重新输入或登陆。对于严重错误,启动备份文件恢复,建议使用帮助文件。5 详细设计5.1编写目的该文档
25、的目的是描述网上宠物商店系统工程的详细设计,其主要内容包括:模块图系统截图本文档的预期的读者是:开发人员图书管理员读者测试人员5.2 模块图用户注册信息联系方式密码总价值用户名性别地址图5.1用户注册信息E-R图.订单详情数量单价订单号宠物名图5.2订单表E-R图宠物信息数量宠物名产地描述宠物编号图片价格类型图5.3宠物信息E-R图主分类后台前台图5.4主分类E-R图支付方式数量编号支付方式地址图5.5支付表E-R图管理员-宠物删除添加查找修改图5.6管理员-宠物E-R图管理员-会员地址用户名图5.7管理员-会员E-R图5.3 系统截图图5.8 系统管理员/用户登录模块图5.9 后台登陆界面图
26、5.10管理界面之主页面图5.11管理界面之订单管理图5.12 商城主界面图5.13 会员注册界面图5.14 购物车管理图5.15 对订单进展修改界面图5.16修改普通管理员与会员资料界面6 系统测试6.1定义一级错误:不能完全满足系统要求,根本功能未完全实现;或危及人身及财产平安等。二级错误:严重地影响系统要求或根本功能的实现,且没有更正方法重新安装或重新启动该软件不属于更正方法。三级错误:严重地影响系统要求或根本功能的实现,但存在合理的更正方法重新安装或重新启动该软件不属于更正方法。四级错误:使操作者不方便或遇到麻烦,但它不影响执行工作功能或重要功能。五级错误:其他错误。回测:产生测试错误
27、或缺陷的测试项由软件开发人员进展修改调试正确后,由软件测试人员再次进展的针对该测试项及其相关项的测试。6.2 简述网上宠物商城系统采用目前比拟流行的B/S模式,MyEclipse作为前端开发工具,后台数据库管理系统为SQL ,系统的运行平台为WindowsXP。测试结果功能项分布及测试结果情况:表6.1 测试结果测试需求测试重点及结果通过原因结果会员登录输入用户名和密码满足需求通过注册会员创立新的会员满足需求通过登录失败输入错误的用户名、密码满足需求通过修改注册信息修改成功满足需求通过验证码不区分大小写验证码区分大小写为满足需求未通过宠物管理添加修改删除等功能满足需求通过订单管理查看受理订单满
28、足需求通过会员管理修改删除会员满足需求通过系统管理添加修改删除管理员满足需求通过查询宠物能否进展模糊查询满足需求通过6.3 测试结果评价总的来说,测试结果是很令人满意的。模块功能根本实现并通过测试。6.4 评价及总结在测试过程中测试了本系统的所有功能,认为考虑到了绝大多数错误情况,错误信息在单元测试时根本都已经解决。测试评价结果为:该网上宠物商店系统实现了需求中的所有功能,并处理了绝大多数错误情况,修复了绝大多数BUG,通过测试。7 软件使用说明书7.1 系统功能介绍本系统完成了在线系统的根本功能。共有前台操作系统和后台管理系统,是一个较为完备的网上宠物商店系统。在前台的操作中,有用户注册功能
29、、用户登录功能、查询功能、购置功能购物车。同样,在后台的管理中,亦有一系列根本功能:管理员登录功能、对于商品的根本操作等功能。7.2 软件详细介绍前台模块图7.1 商城主界面1进入前台首页提交用户名、密码两种信息2) 浏览、查询宠物3) 查看宠物详情,点击“购置按钮,将宠物放入购物车4) 修改宠物数量或清空购物车5) 点击下一步,提交订单,等待发货6) 游客点击“注册按钮,进入注册页面后台模块图 7.2 管理员登录界面(1) 进入后台管理员登录页面(2) 依照自己的权限进入不同的管理页面(3) 管理员进展宠物信息管理(4) 会员进展会员各项操作(5) 订单管理员进展订单管理(6) 系统管理员进
30、展系统管理员完毕语本论文介绍了JSP语言配合Struts框架建立电子商城,将不同的任务分开,整合到一个页面进展处理从而实现业务层和数据库层之间的交互,简化了开发者在数据库逻辑方面的工作,完成了电子商城一些根本的功能实现并且可扩展性好,易维护。网上宠物商店系统是为了让顾客和管理员能够更快速的购宠或对其信息修改,使过程变得更加方便、简单。本系统虽然不够完善但是强大简单易维护,所需人力资源远远少于其它语言,更能节约本系统的本钱,到达高效益,低投入的目标!当然它也可以作为深度开发的根底工程,原因在于本系统没有实现目前电子商城的所有功能,比方商品详细介绍不够完全。下一步应该是紧跟时代要求,在框架、图形化
31、、兼容性以及异步通信方面多下功夫,让宠物商城界面变得更加好看,更加好玩,更加好用!通过本次的设计,使我能够更好地熟练运用JSP,但是对于框架的运用还是不能够很好的使用。设计中,我深深的知道自己掌握的知识是远远不够的,设计中遇到了好多问题,在很多方面掌握不够好。这次毕业设计不仅是我们在学校里最后一次完成的学业任务,也是我即将走进社会的第一次全面规划,加强自己动手能力的任务。在设计中已经加强了自己实践能力,并加强了自己的主动学习精神,为了目标而不懈奋斗。 由于时间有限,加之所掌握的知识有限参考资料匮乏,效劳器的根本功能已经具备,但不是非常的齐全,有待进一步完善。致 在本次毕业设计实践中,指导教师X
32、XX教师在做人、敬业、创新思维等方面,均给予我极大的帮助,使我很受启发。虽然没有很好的实现自己原来的想法,但是在同学和教师的帮助下还是能够根本运行。感谢教师和同学给予我的帮助,特别感谢我的指导教师,在他的帮助和催促下我才能很好的完成我的毕业设计。参考文献1 X志诚.JSP程序设计实例教程.:人民邮电,2021.52 孙卫琴.精通Struts:基于MVC的JavaWeb设计与开发.:电子工业,2004.113 李刚.整合Struts+hibernate+Spring应用开发详解.:清华大学出版.4 X桂元、贾燕枫.Struts开发入门与工程实践.:人民邮电,2005.12 5 孙卫琴.Tomca
33、t与Java Web开发技术详解.:电子工业,2003.116 X其庆.Java模块设计实例经典.:冶金工业2004.6 7 X斌.?精通Java Web整合开发?,电子工业,2007.118 美Rogers Cadenhead. Java编程入门经典.梅兴文译.第4版.:人民邮电,20079 赵文靖.Java程序设计根底与上机指导.:清华大学,200610 赵毅.跨平台程序设计语言Java.:XX电子科技大学,200611 王路群.Java高级程序设计.:中国水利水电,200612 雍俊海.Java程序设计习题集.:清华大学,200613 X福喜.Java语言习题与解析.:清华大学,2006
34、14 X其庆.Java程序设计实例教程.:冶金工业,2006附 录1、该模块由假设干类实现,下面详细阐述各个类的设计与实现。1)、管理员登录的action类package .struts.action;import javax.servlet. . ServletRequest;import javax.servlet. . ServletResponse;import org.apache.struts.action.*;import .ORM.*;import .base.*;import .service.*;import .struts.form.LoginForm;public cl
35、ass AdminLoginAction extends BaseAction public ActionForward login(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response) LoginForm loginForm = (LoginForm) form;AdminService service = new AdminServiceImpl();ActionForward forward = null;ActionMessages msgs = new Act
36、ionMessages();tryAdmin admin = service.adminLogin(loginForm.getLoginName(), loginForm.getLoginPwd();if (admin!=null)request.getSession().setAttribute(Admin, admin);forward = mapping.findForward(loginSuccess);elseforward = mapping.getInputForward();msgs.add(loginError,new ActionMessage(Constants.ADMI
37、N_LOGINERROR_KEY);saveErrors(request, msgs);catch(Exception ex)logger.info(在执行AdminLoginAction类中的login方法时出错:n);ex.printStackTrace();return forward;public ActionForward logout(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response) request.getSession().invalidate();r
38、eturn mapping.findForward(logoutSuccess);2)、管理员form类。package .struts.form;import javax.servlet. . ServletRequest;import org.apache.struts.action.ActionErrors;import org.apache.struts.action.ActionMapping;import org.apache.struts.validator.ValidatorForm;public class AdminForm extends ValidatorForm pr
39、ivate String adminType;private String loginPwd;private String loginName;private String adminName;public ActionErrors validate(ActionMapping mapping, ServletRequest request) return null;public void reset(ActionMapping mapping, ServletRequest request) public String getAdminType() return adminType;publ
40、ic void setAdminType(String adminType) this.adminType = adminType;public String getLoginPwd() return loginPwd;public void setLoginPwd(String loginPwd) this.loginPwd = loginPwd;public String getLoginName() return loginName;public void setLoginName(String loginName) this.loginName = loginName;public S
41、tring getAdminName() return adminName;public void setAdminName(String adminName) this.adminName = adminName;2、由于篇幅有限,现就系统管理模块为代表讲解。1)、利用hibernate实现数据库操作package .ORM;/ 对象关系映射public class Admin implements java.io.Serializable private Integer id;private Integer adminType;/ 成员访问private String adminName;
42、private String loginName;private String loginPwd;public Admin() public Admin(Integer adminType, String adminName, String loginName,String loginPwd) this.adminType = adminType;this.adminName = adminName;this.loginName = loginName;this.loginPwd = loginPwd;public Integer getId() return this.id;public v
43、oid setId(Integer id) this.id = id;public Integer getAdminType() return this.adminType;public void setAdminType(Integer adminType) this.adminType = adminType;public String getAdminName() return this.adminName;public void setAdminName(String adminName) this.adminName = adminName;public String getLoginName() return this.loginName;public void setLoginName(String loginName) this.loginName = loginName;public String getLoginPwd() return this.loginPwd;public void setLoginPwd(String loginPwd) thi