课 题宠物商店管理系统设计报告.docx
- 文档编号:9922220
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:21
- 大小:423.26KB
课 题宠物商店管理系统设计报告.docx
《课 题宠物商店管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《课 题宠物商店管理系统设计报告.docx(21页珍藏版)》请在冰豆网上搜索。
课题宠物商店管理系统设计报告
课题:
宠物商店管理系统设计
一、需求分析
1.1项目开发背景
PetStore是SUN公司推出的一个宠物店系统,是J2EE应用和学习的一个好例子。
针对不同的侧重点,具有不同的版本。
该系统不同的版本是优秀程序员智慧的结晶。
从功能层面来说,这个系统具有:
宠物分类展示、下订单、添加到购物车、浏览产品细节等一系列网上商城所具备的基本功能。
1.2功能介绍
1.2.1整体介绍
Petstore提供网上商城系统所必需的功能:
用户身份认证、商品信息列表、选购商品、下订单等,围绕这些功能,系统的设计分为以下四个部分:
●宠物分类展现和宠物查找模块(catalog部分),供用户浏览、查找并选购宠物。
●购物车管理(cart部分),供用户查看购物车的情况,并作出是否购买的选择。
●账户管理模块(account部分),为用户提供注册和账户登录功能。
●订单管理(order部分),供用户管理自己的账单。
1.2.2详细说明
宠物商店用户通过账户管理模块登录或者注册新用户,只有拥有经过注册的用户名和正确的密码才能更改系统内部代码、页面形式、系统数据库以及管理客户账户等;宠物分类展现部分是系统与客户的交流界面,用户在此功能界面上可以浏览整个宠物店的所有产品情况,包括:
宠物生活习性、宠物产地、库存情况、售价等等。
用户在此处还可以点击单一宠物的链接进入更进一步的说明;购物车模块是系统与用户账户交流的平台,用户是否购买某产品将直接反映在这个界面和相关的数据库上。
订单管理是账户管理的配合模块,是对客户的账户的直接管理和反应。
1.3系统开发平台
●Jdk即Java开发数据包;
●Web服务器tomcat;
●Mysql数据库,用于网站系统文件表格的建立、更改、维护等;
●MyEclipse,用于编写、调试系统代码、生成发布。
二、系统设计
2.1宠物管理系统功能设计目标:
(1)实用性强:
我们努力使系统符合实际操作流程的习惯,并尽量减少用户的输入,易学易用的友好的用户界面,满足各层次的用户使用的需求;
(2)先进的程序结构:
使用当代前卫的软件编程,能延长其生命周期,易于维护与管理;
(3)安全可靠性高:
后台维护功能齐全,根据平台在各个阶段不同的使用情况,管理人员可以设置相应的操作权限,增加系统注册,分配各个栏目的管理权限,实现系统的维护,保证系统的安全、可靠;
(4)使用模块化设计的方法:
使系统具有良好的可扩充性,以适应其不同阶段的发展需要,便于后来者分析、维护;
(5)操作简单,维护方便:
每个子系统都具有相对独立的系统维护功能
对可变化的项目可自行维护;
(6)查询功能强大:
可以对宠物的基本情况、用户基本情况,宠物主人信息,用户留言等按各种方式查询,可形成各种表单,同时还可对其进行汇总,使管理人员能及时准确地掌握用户和其宠物的基本情况。
2.2宠物管理系统的总体设计:
本宠物商店管理系统是基于B/S架构下的多层结构应用系统。
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。
2.3系统详细功能设计以及总体结构图:
通过详细调查现实世界要处理的对象,充分了解系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
新系统必须充分考虑今后可能的扩充和改变。
系统总体结构图:
系统实现的功能:
●宠物类别管理
Ø宠物类别查询
Ø宠物类别修改
Ø宠物类别删除
Ø新增宠物类别
●宠物信息管理
Ø宠物大小类别,是否有伤人危险
Ø宠物是否注册疫苗,何时,何地
Ø宠物有监管人或流浪或被社区收容
Ø宠物的其他信息以及备注
Ø宠物查询
Ø宠物修改
Ø宠物删除
Ø新增宠物
●宠物监管人管理
Ø宠物监管人性别年龄
Ø宠物监管人与宠物关系
Ø宠物监管人工作及工作住址
Ø宠物监管人联系方式等
Ø宠物监管人查询
Ø宠物监管人添加
Ø宠物监管人信息修改
Ø宠物监管人删除
●用户评论管理
Ø评论内容管理
Ø用户评论查询
●用户登录管理
Ø用户注册
Ø用户登录
Ø用户密码修改
●相关文档管理
Ø文档信息查看
Ø文档信息添加
Ø文档信息删除
●个人信息管理
Ø管理员密码更改
Ø退出系统
2.4数据库结构设计:
本系统分为4大模块,用户管理模块,宠物管理模块,文档管理模块以及留言板管理模块,其中宠物管理模块又分为宠物信息管理,宠物类别,宠物监管人信息管理。
注册用户以及管理员分别对数据管理拥有自己的权限。
图4-2:
整体框架E-R图
系统ER图
2.5系统的用例图
2.5.1总体用例分析
总体用例图
如图,用户管理、宠物,宠物类别及宠物监管人管理、留言板管理、文档管理四个模块构成了本宠物管理系统。
User是指系统用户,包括普通注册用户和管理员两种,普通注册用户只可以查看各种信息,以及添加与自己有关的信息,管理员才可以添加,查看,删除,修改各种信息。
2.5.2用户管理用例分析
用户管理用例图
如图,用户管理模块主要包括:
用户登陆、用户注册、用户信息修改、用户删除、用户信息查询五个功能组成。
2.5.3宠物,宠物类别及宠物监管人管理
信息管理用例图
如图,宠物,宠物类别,宠物监管人信息管理模块主要包括:
宠物信息管理,宠物类别管理,宠物监管人信息管理三个功能模块组成。
2.5.4留言板管理
留言板管理用例图
如图,留言板管理模块主要包括:
留言板列表,留言板内容两个个内容组成。
2.5.5文档管理
文档管理用例图
文档管理模块主要包括:
文章列表、文章内容两个内容组成。
2.6系统出错处理设计:
(1)用户输入账号跟密码错误,需要在登录框提示“信息错误,请重新填写!
”。
(2)用户注册账户时用了跟别人一样的账户名,需要在注册页面提示“用户名已存在!
”。
(3)用户在提交注册信息时,有姓名账号密码等未填写时,需要弹出提示框:
“未填写的内容不能为空!
”。
(4)用户在添加宠物有的时候,如果有未填写或为选择的状况,需要在该页面弹出提示框“未填写的内容不能为空!
”。
三、宠物管理系统的实现
3.1宠物管理系统数据库的实现
Hibernate可以通过一个XML的mapping文件把一个POJO(Plainoldjavaobject)和数据库中的表对应起来,在这个XML文件(一般命名为*.hbm.xml)中,配置好Object和数据库中表的映射关系,然后把这个mapping加入到hibernate.cfg.xml中,这样Hibernate在启动时就可以加载这些mapping,并可以根据配置文件对对象实现自动的加载,并且可以对这些Object自动的维护。
Session工厂的配置信息:
applicationContext-bean.xml
xmlversion="1.0"encoding="UTF-8"?
>
--
-Middletierapplicationcontextdefinitionfortheimagedatabase.
-->
//www.springframework.org/schema/beans" xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xmlns: aop="http: //www.springframework.org/schema/aop" xmlns: context="http: //www.springframework.org/schema/context" xmlns: tx="http: //www.springframework.org/schema/tx" xsi: schemaLocation="http: //www.springframework.org/schema/beanshttp: //www.springframework.org/schema/beans/spring-beans-2.5.xsd http: //www.springframework.org/schema/aophttp: //www.springframework.org/schema/aop/spring-aop-2.5.xsd http: //www.springframework.org/schema/contexthttp: //www.springframework.org/schema/context/spring-context-2.5.xsd http: //www.springframework.org/schema/txhttp: //www.springframework.org/schema/tx/spring-tx-2.5.xsd"> --抽象bean,是所有bean的父bean--> --bean--> 以上代码是applicationContext-bean.xml文件中Session工厂的配置信息 宠物信息数据库表: 如表所示,这是宠物信息的表,id是系统自动生成,其余的分别为宠物姓名,宠物类型,简介,添加该宠物的用户id,图片,年龄是否疫苗,疫苗时间,疫苗地点,是否领养,是否伤人等宠物信息。 接下来会对它如何连接到工程以及如何实现该功能做详细介绍。 其中图片在petaction中默认由本地,上传到服务器上的upload文件夹中,以便游客浏览以及管理员管理,id为系统自动+1生成,userid与user列表中的userid一致,typename与t_type列表中的typename一致,需要t_type预添加。 3.3宠物管理系统功能说明 根据对宠物管理系统业务流程的分析,用户登录后要能自己添加自己的宠物信息,包括宠物的姓名,年龄,宠物的id,上传图片,是否疫苗,疫苗事件,疫苗地点,是否领养以及是否伤人等信息。 用户登录后可以浏览别的用户的宠物信息,而管理员可以对用户前台添加的信息进行修改与删除。 3.4主要的宠物信息管理的实现 3.4.1DAO层的实现 数据访问层,又称DAO层,在该层主要完成对象-关系映射的建立,通过这个映射,再通过访问业务对象即可实现对数据库的访问,使得开发中不必再用SQL语句编写复杂的数据库访问程序,这样就简化了对数据库的访问,提高了开发效率。 同时通过对象-关系映射的配置,可以建立业务对象之间的复杂关系,如一对多、多对一、一对一、多对多等关系。 这样就不再需要在数据库中建立表之间的复杂联系,使得业务对象之间的关系和数据库相分离,简化了数据库的建立和维护。 在这一层中主要使用Hibernate框架来实现。 Tpet以及Tpet.hbm.xml为hibernate自动生成文件,用于连接数据库。 3.4.2Service层的实现 Service为业务逻辑层,主要业务逻辑包括这些类分别实现了相应的接口,这些类在工作的过程中还需要依赖相应的DAO对象和JavaBean对象。 实际操作时,在Action中通过Service对DAO接口进行调用,使整个系统有良好的层次。 比如这边Petservices调用TPet,而PetserviceImpl继承Petservices,进行查询、添加、修改和删除操作。 Petservices代码: importcom.oa.models.TPet; importcom.oa.utils.PageInfo; publicinterfacePetServices{ //查询 publicPageInfoqueryPet(intcurrentpage,intpageunit, HttpServletRequestrequest,Stringurl,Stringcond); //添加 publicBooleanaddPet(TPetpet); //修改 publicBooleanupdatePet(TPetpet); //ID查询 publicTPetgetPet(Integerid); //删除 publicTPetdelPet(Integerid); } PetserviceImpl主要代码: publicclassPetServicesImplextendsAbstractServicesimplementsPetServices{ //查询 publicPageInfoqueryPet(intcurrentpage,intpageunit, HttpServletRequestrequest,Stringurl,Stringcond){ introwCount=this.getPetsCount(cond); List pageunit,cond); PageInfoPageInfo=newPageInfo(currentpage,pageunit,rowCount,url, list); returnPageInfo; } //获得 publicList Stringcond){ try{ Stringhql="fromTPetawhere1=1"+cond; returnthis.query(hql,currentpage,pageunit); }catch(Exceptione){ e.printStackTrace(); } returnnull; } //添加 publicBooleanaddPet(TPetpet){ save(pet); returntrue; } 以上为查询以及添加的代码,其余删除修改略。 3.4.3Action层的实现 Action用于处理视图层与业务层之间的衔接,当页面产生一个动作请求时候,通过Struts配置文件找到对应的Action中的接口,经过Action处理后返回结果并从Struts的配置文件中找到对应的跳转页面。 查询代码: publicStringqueryPet()throwsException{ if(getSessionAttribute("querypageunit")==null){ setSessionAttribute("querypageunit",this.pageunit); } StringBuffercond=newStringBuffer(); if(null! =searchname&&""! =searchname.trim()){ cond.append("anda.petnamelike'%"+searchname.trim()+"%'"); } intcurpage=Integer.parseInt(this.getCurrentpage(ServletActionContext.getRequest())); intpageunit=Integer.parseInt(this.getPageunit(ServletActionContext.getRequest(),"querypageunit")); Stringurl="pet_queryPet? a=a"; PageInfopageInfo=this.petServices.queryPet(curpage, pageunit,ServletActionContext.getRequest(),url,cond.toString()); setRequestAttribute("pageinfo",pageInfo); setRequestAttribute("searchname",this.searchname); return"queryPet"; } 预添加以及添加代码: publicStringpreaddPet()throwsException{ List setRequestAttribute("list",list); return"preaddPet"; } publicStringaddPet()throwsException{ TUseruser=(TUser)getSessionAttribute("user"); TPetpet=newTPet(); pet.setAge(age); pet.setIsbiter(isbiter); pet.setIsuser(isuser); pet.setPetname(petname); pet.setRemark(remark); pet.setTypename(typename); pet.setUserid(user.getUsername()); pet.setVacadrr(vacadrr); pet.setVaccin(vaccin); pet.setVaccin(vaccin); pet.setVacdate(vacdate); //将图片上传到工程下的upload文件夹中 StringtargetDirectory=ServletActionContext.getRequest() .getRealPath("/upload"); StringtargetFileName=generateFileName(pictureFileName); Filetarget=newFile(targetDirectory,targetFileName); FileUtils.copyFile(picture,target); pet.setPicture(targetFileName); petServices.addPet(pet); return"addPet"; } 预添加将后台管理员添加的宠物类型添加到宠物信息,添加功能中有图片上传。 查看代码: publicStringviewPet()throwsException{ TPetpet=petServices.getPet(id); setRequestAttribute("pet",pet); return"viewPet"; } 其余修改删除代码等省略。 struts中宠物管理功能的实现: 3.4.4静态Jps页面的实现表现层 其余静态页面运用css模块统一风格,其中pet功能页面代码均在files/pet/文件夹中,添加宠物信息为add.jsp,查看宠物信息为view.jsp,查看宠物列表为list.jsp,修改宠物信息为update.jsp,由struts控制跳转,代码略。 结合Struts的表现层标签,JSP可完成全部的表现层功能一一数据收集、数据表示和客户端数据校验 四、实现效果 主界面,要求具有分类展现功能,网站产品再次一览无余。 要求: 据右侧边条将所有产品的简录的链接展示在此处,能从此处进pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 题宠物商店管理系统设计报告 宠物商店 管理 系统 设计 报告