




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
盐城师范学院毕业设计盐 城 师 范 学 院毕业设计 自行车出租售卖管理系统的设计与实现学生姓名 学 院 信 息 工 程 学 院 专 业 软件工程 班 级 12(1) 学 号 指导教师 2016年5月27日自行车出租售卖管理系统的设计与实现摘 要工业化带来严重的环境污染问题,让人们最终认识到必须在发展的同时保护好环境。所以环保、低碳的风尚逐渐兴起,加上国外的骑行文化进入国内,越来越多的人骑自行车通勤、游玩,自行车出租产业也随之发展。我们也需要使用便携高效的信息化手段来完成对自行车的管理,跟上产业发展的步伐。 本设计的内容正是使用web技术设计开发了一个自行车出租的信息化管理系统,能够有效地实现对自行车出租情况的管理。整体界面清新简单,便于上手,使用本系统能方便地在网上预订车辆,享受骑行的乐趣。【关键词】 自行车租借;MySQL;J2EE全套设计加扣 3012250582Bicycle rental sale management system Design and ImplementationAbstractThe environment is seriously polluted because of the industrialization development,so people finally realized that it is necessary to protect the environment at the same time.So environmental protection, low carbon fashion gradually rise.Coupled with the culture of riding abroad to enter the country, more and more people ride bicycles to commute, play,The Bicycle rental industry is also developing. To keep up with the pace of the development of the industry, we need to try some efficient and convenient ways to manager bicycles which are rent or sold.The contents of this design has developed a bicycle rental and sale system that can help us know the status of the bicycles when they are rent or sold. The whole page is elegant, convenient for people to use, when you use this system you can book bicycle, enjoy your cycling time.Key words BicycleRental; MySQL;J2EE目 录1 课题概述11.1 课题开发背景11.2 课题研究现状11.3 课题研究内容12 开发工具与相关技术12.1 Tomcat22.2 MySQL22.3 MyEclipse23 需求分析23.1功能需求分析23.2性能需求分析54 系统设计54.1系统设计54.1.1系统结构描述54.1.2系统总体流程图64.1.3系统总体结构图64.2数据库设计74.2.1数据库需求分析74.2.2数据库逻辑结构设计75 系统具体实现95.1系统概要设计105.2系统结构105.3系统的实现105.3.1网站首页实现115.3.2网站车辆详情页实现135.3.3管理员登录的实现145.3.4车辆信息列表的实现155.3.5车辆信息修改的实现176系统功能测试186.1系统测试简述186.2测试用例与结果187开发总结18参考文献20致 谢211 课题概述1.1 课题开发背景绿色环保,低碳生活已成为时下社会发展的主旋律。体现在人们的出行上就是越来越多的人采取骑自行车的方式通勤。国外的骑行文化传入我国,人们对骑行文化的认同也加速了自行车租借模式的成熟。互联网进入我国已经走过了二十个年头,借着互联网+的热潮,信息化已深入各行各业,信息化充分展示了其强大的管理能力。高效便捷的管理系统成为各行业应用管理的主要方式。现在很多城市为了治理堵车问题,已经提倡骑自行车,政府也是出资建立了很多自行车点。我在街头调查发现,大多数市民对于骑自行车出行是认可的,也表示都有这方面的考虑,但是同时很多人觉得一样的车不够个性,也有少部分人想骑性能好点的车方便去较远的地方。所以我觉得做一个不同于公共的,有性能车、有品牌的自行车出租还是很有前景的。而做成这件事也需要一个好的系统来提供服务。这个系统也可以用在公共的租借模式上,都是可行的。因此为自行车租借进行有效管理开发一套BS架构的管理系统是对整个行业有利的。1.2 课题研究现状B/S模式的MVC框架很多,每个都有它的优缺点,整合使用能让系统结构清晰,方便维护。1.3 课题研究内容本系统是基于SSH开发的自行车租借系统。用于实现自行车的租借管理,实现了从预约到租借到还车的整个流程的管理,能有效地监管车辆的状态。用户可以在线浏览,预订车辆,查看自己的租借记录,对车辆进行评价留言。经理可以实现对车辆的管理,人员的管理,收入的分析。工作人员管理车辆租借,回复留言。技术人员对车辆状态进行评估。本系统使用了SSH框架进行整合开发,这套框架是主流企业开发系统应用最广泛的框架,使用该框架可以提高开发效率,提高软件的维护性、扩展性。2 开发工具与相关技术2.1 TomcatApache Tomcat是一个轻量的应用服务器开源软件,因为其比较小而且免费所以使用广泛。2.2 MySQLMySQL相较于Oracle而言,MySQL更加小巧,而且没有那么严格的权限并且它是免费的,所以小型系统使用广泛。2.3 MyEclipseMyEclipse主要用于java开发,相较于Eclipse,它增加了很多强大的插件,结合这些插件的使用能进行多种功能的开发。3 需求分析需求分析就是分析软件最终要达到的效果,确定软件开发的方向、细节。需求分析项目建设的基础。只有软件开发前期做好调研,编写详细的需求分析对开发过程进行指导,才不会走弯路,影响最终的结果。3.1功能需求分析自行车租借管理系统为用户实现从浏览车辆到登录预定车辆的整个过程,未登录用户可以先浏览网站的内容,有兴趣后可以注册成为会员,进行车辆的预定租借。已登录的会员可以通过该系统进行自行车的预定,后台管理系统中实现对车辆,人员,收入,留言的管理。本系统共有5种不同的角色,分别拥有不同的界面和操作。分别是经理(权限最高),工作人员(负责车辆的租借管理),技术人员(负责对车辆检查),已登录用户(可租车),未登录游客(只能浏览网站不能预定车辆)。经理经理进入系统可以修改密码。其主要功能如下,用例图如图3-1所示:(1)经理可以添加工作人员账号,添加技术人员账号。(2)经理可以添加车辆信息,对库存车辆进行信息的修改。(3)经理可以查看收入,按日查看,按月查看,按车辆查看。图3-1 经理用例图工作人员工作人员负责车辆的管理,其账户由经理创建,可自行修改密码。其功能如下,用例图如图3-2所示:(1) 处理客户的预定信息(2) 对车辆的租借管理(3) 客户信息查询(4) 回复留言图3-2 工作人员用例图技术人员技术人员负责车辆的检查,其账户由经理创建,可自行修改密码。其功能如下,用例图如图3-3所示:(1)查询确认列表(2)确认车辆完好图3-3 技术人员用例图游客(未登录)游客是潜在的用户群体,可以访问网站,浏览车辆其功能如下,用例图如图3-4所示:图3-4 游客用例图客户(已登录)其功能如下,用例图如图3-5所示:(1) 登录(2) 注册(3) 浏览车辆(4) 预定车辆(5) 查看租车记录(6) 留言图3-5 客户用例图3.2性能需求分析1) 系统的界面美观,响应式布局,适合不同尺寸的显示器显示;2) 适应于Chrome浏览器。 3) 系统要求在内存2G以上,响应时间要求在0.51秒内。 4 系统设计4.1系统设计4.1.1系统结构描述本系统为B/S架构,方便维护和部署,在地址栏输入地址即可访问,有效降低了成本,部署升级方便简单。系统使用MVC设计模式,视图层将请求发送到控制层,然后控制层调用模型层的方法,返回数据集至视图层。4.1.2系统总体流程图系统的流程,如4-1所示。图4-1系统流程图4.1.3系统总体结构图本系统包括五种基本角色:经理、客户、游客、工作人员、技术人员,系统的总体结构如图4-2所示。自行车租借管理系统游客客户经理工作人员技术人员查询确认列表确认车辆完好人员管理车辆管理财务分析车辆租借管理客户信息查询留言管理留言处理预定信息注册登录浏览车辆预定车辆查看记录图4-2自行车租借管理系统结构图4.2数据库设计优异的数据库可为指定的应用环境搭建最优的模式,使其能有效存储数据,满足应用要求。我们需要仔细分析数据表,对数据库结构进行优化设计。4.2.1数据库需求分析通过对系统的需求分析,本系统共需设计7张表,分别为:车辆信息表、用户信息表、预订信息表、租车记录表、留言表、日统计表、月统计表。4.2.2数据库逻辑结构设计依照需求分析,对数据库进行逻辑设计,各表详情如下:(1)车辆信息表,表中存放:车辆的信息,具体见下表4-1:表4-1 车辆信息记录表字段名类型字段备注表主键可以为空IDint主键IDTFBEIZHUtext备注FTCHEJIAvarchar车价FTCHEJIAHAOvarchar车身编号FTCHEPAIvarchar车牌号FTDELETESTATUSint(11)删除状态记录FFPINPAIvarchar品牌FTSHIJIANvarchar添加时间FTTOTALZdouble车辆租金总计FTTUPIANvarchar车辆图片FTWEIHUdouble总维护费FTXINGHAOvarchar型号FTXSZvarchar实际图片FTYANSEvarchar颜色FTZHUANGTAIvarchar状态FTZUJINvarchar租金FT(2)用户表,表中存放:用户的数据,具体见下表4-2:表4-2 用户记录表字段名类型字段备注表主键可以为空IDint主键TFCREATETIMEDate添加时间FF续表4-2DELETESTATUSint删除状态记录FFDIANHUAvarchar电话FTPASSWORDvarchar密码FTROLEint类型FFUSERNAMEvarchar用户名FTXINGMINGvarchar姓名FT(3)预定表,表中存放:预定信息,具体见下表4-3:表4-3 预定记录表字段名类型字段备注表主键可以为空IDint主键TFBEIZHUtext备注FTDELETESTATUSint删除状态记录FFDIANHUAvarchar联系电话FTJSZvarchar个人信息表FTSFZvarchar身份证号码FTSFZ2varchar身份证复印件FTSHIJIAN1varchar预定时间FTSHIJIAN2varchar处理时间FTXINGMINGvarchar客户姓名FTZHUANGTAIvarchar状态FTCARIDint车辆信息FTKEHUIDint预订客户FTWORKIDint经办工作人员FT(4)租车记录表,表中存放:租借信息,具体见下表4-4:表4-4 租车记录表字段名类型字段备注表主键可以为空IDint主键TFBEIZHUtext备注FTDELETESTATUSint删除状态记录FFDIANHUAvarchar联系电话FTJSZvarchar驾驶证复印件FTSFZvarchar身份证号码FTSFZ2varchar身份证复印件FTSHIJIAN1varchar已租时间FT续表4-4SHIJIAN2varchar还车时间FTTIANSHUvarchar已租天数FT(5)留言表,表中存放:留言内容,留言用户等信息,具体见下表4-5:表4-5 留言记录表字段名类型字段备注表主键可以为空IDint主键TFDELETESTATUSint删除状态记录FFHUIFUtext回复内容FTNEIRONGtext留言内容FTSHIJIAN1varchar留言时间FTSHIJIAN2varchar回复时间FTTITLEvarchar留言标题FTZHUANGTAIvarchar回复状态FTKEHUIDint留言客户FTWORKIDint回答的工作人员FT(6)日统计表 ,表中存放:每日收入,具体见下表4-6:表4-6 日统计记录表字段名类型字段备注表主键可以为空IDint主键TFDELETESTATUSint删除状态记录FFJINEdouble金额FTRIQIvarchar日期FTWEIHUdouble维护费FT(7)月统计表,表中存放:每个月的收入记录,具体见下表4-7:表4-7 月统计记录表字段名类型字段备注表主键可以为空IDint(11)主键TFDELETESTATUSint(11)删除状态记录FFJINEdouble金额FTMONTHvarchar日期FTWEIHUdouble维护费FT5 系统具体实现5.1系统概要设计整个系统共分两大模块:网站界面、后台管理。租借网站用于给游客浏览内容,查看系统提供的服务。如有需求需要租车,则需要注册后成为会员,然后会有租借车辆、发表留言的权限。管理系统是三种角色(经理,工作人员,技术人员)共同使用,不同的角色显示的内容不一样,功能也不同。登录时判断身份进入不同的界面,执行不同的操作。5.2系统结构整体结构如图5-1所示,其中zulin是项目名称。在src包下有业务逻辑类,数据访问映射文件,控制器和实体类等,其中的action包里是控制器,用来处理请求,dao包是业务处理操作,具体实现是调用存放在impl包下的方法,model包存放的是实体类,util包下存放的是有标准列表分页类等。WebRoot下有JSP、JS、CSS、图片等文件和目录, web.xml为配置文件。图5-1 系统包图5.3系统的实现5.3.1网站首页实现(1)地址栏输入网址后,显示主页面,主页面的数据需要从数据库中获取,实现的方式有多种:(a)先配置访问一个临时空白页面,空白页面发送请求,请求里查询数据跳转到主页显示。(b)直接配置xml文件直接通过请求获取数据跳转首页。(c)页面执行onload方法,发送请求,处理后跳转到页面本身。本系统利用Ajax方法获取数据,页面效果如图5-2所示:图5-2 网站首页图(2)配置文件web.xml中配置,默认地址栏输入localhost/zulin就访问到protal.jsp页面。protal.jsp(3)请求跳转的实现方法Protal.jsp中页面一加载就执行ajax方法发送一个action请求至后台,用于查询出主页所需要显示的信息:$.ajax(type:get,url:method!index,dataType:html,data:,Controller层中相对应的请求中,具体的处理是调用carDao的selectBeanList方法进行数据的查询操作,查询出首页展示的数据:public String index() throws IOException, ServletExceptionHttpServletRequest request = ServletActionContext.getRequest();HttpServletResponse response = ServletActionContext.getResponse();response.setCharacterEncoding(UTF-8);response.setContentType(text/html;charset=utf-8);Util.init(request);List carlist = carDao.selectBeanList(0, 4, where zhuangtai = 正常 and deletestatus=0 order by shijian desc);carDao中使用的方法是由spring所配置的hibernate的操作对象实现的对数据的查询操作,有了hibernate可以很快速地实现具体的操作。public List selectBeanList(final int start,final int limit,final String where) return (List)this.getHibernateTemplate().executeFind(new HibernateCallback() public Object doInHibernate(final Session session)throws HibernateException, SQLException List list = session.createQuery(from Car +where).setFirstResult(start).setMaxResults(limit).list();return list;);返回的数据在protal页面,再利用Ajax方法来动态改变页面上的内容显示数据:success: function(date) var pinpai = date.split(+)0;/获取车辆品牌var tupian = date.split(+)1;/获取车辆图片var xinghao = date.split(+)2;/获取车辆型号var yanse = date.split(+)3;/获取车辆颜色var id = date.split(+)4;/获取车辆id var car_tupian_html =img src=uploadfile/+tupian+ alt=;var car_html=品牌:+pinpai+型号:+xinghao+颜色:+yanse+了解更多;5.3.2网站车辆详情页实现(1)页面效果图用户可以查看车辆详情,选择预定车辆。页面效果如图5-3所示:图5-3 车辆详情图(2)信息查询实现过程首页车辆点击图片,就会发送一个action请求并将参数id带入到controller层进行处理: img src=uploadfile/+tupian+ alt=Controller层接收传递的id参数,调用carDao的selectBeanList方法查询出该条记录的所有信息,放入request中,并跳转至车辆详情页面:/进入车辆详细选择页面public String showCarList()HttpServletRequest request = ServletActionContext.getRequest();String chepai = request.getParameter(chepai);StringBuffer sb = new StringBuffer();sb.append( where );if (chepai != null & !.equals(chepai) sb.append(chepai like % + chepai + %);sb.append( and );request.setAttribute(chepai, chepai);Jsp页面用el表达式接受request中的数据,显示在页面上:车牌号:$bean.chepai 车身编号:$bean.chejiahao 品牌:$bean.pinpai 型号:$bean.xinghao 车价:¥$bean.chejia 租金(按天计算):¥$bean.zujin 颜色:$bean.yanse 5.3.3管理员登录的实现(1)页面效果图登录界面,会根据输入的用户名来识别用户身份,进入不同的页面,页面效果如图5-4所示:图5-4 系统登录图(2)身份的识别和验证的实现方法登录界面用户名输入框绑定js的blur事件,当用户名输入完成,光标离开后调用ajax方法,发送请求至后台,同时传入参数(输入的用户名的值)。$(#name).blur( function()$.ajax(type:post,url:method!checktologin,dataType:html,data:userName=+$(#name).val(), success: function(date) $(select optionvalue=+date+).attr(selected, true);,Action请求中接收前台传来的参数(用户名)并调用Dao的查询方法,如果查询结果不为0,就将用户的角色返回至jsp页面。/检查用户是否存在public void checktologin() throws IOExceptionHttpServletRequest request = ServletActionContext.getRequest();HttpServletResponse response = ServletActionContext.getResponse();String username = request.getParameter(userName);User user = userDao.selectBean(where username = +username+ and deletestatus=0 );PrintWriter out;out = response.getWriter();if(user.getRole()!=0)out.print(user.getRole();out.flush();out.close();return;返回成功:ajax接收返回的date值,然后动态改变角色下拉框的值。如果返回失败:弹出提示账户不存在,同时清空用户名,将光标重新定位到输入框上。success: function(date) $(select optionvalue=+date+).attr(selected, true); , error:function() alert(该用户不存在,请注册); $(#name).val(); $(#name).focus(); 5.3.4车辆信息列表的实现(1)页面效果图显示所有车辆的信息,在这个界面可以清晰地显示车的状态,让管理的人看到所有车的状态,页面效果如图5-5所示:图5-5 车辆管理图(2)车辆列表的实现方法页面上的输入框里,按照输入框里的提示,输入对应的内容,点击查询。 查询后台接收从页面输入的数据,作为条件参加查询。String chepai = request.getParameter(chepai);String chejiahao = request.getParameter(chejiahao);具体的查询操作,是在Controller对应的请求方法里调用Dao的方法查到对应的记录。最后将数据放到页面上显示。/车辆信息列表public String carlist() HttpServletRequest request = ServletActionContext.getRequest();String chepai = request.getParameter(chepai);String chejiahao = request.getParameter(chejiahao);StringBuffer sb = new StringBuffer(); request.setAttribute(url, method!carlist);request.setAttribute(url2, method!car);request.setAttribute(biaoti, 车辆信息管理);this.setUrl(Mybike/car/carlist.jsp);return SUCCESS;5.3.5车辆信息修改的实现(1)页面效果图修改车辆的信息,修改的页面能看到修改之前的各项信息,页面效果如图5-6所示:图5-6 车辆修改图(2)车辆修改的实现方法列表页点击对应记录后面的修改按钮,会发送请求到后台。 修改对请求进行操作,将对应记录查到放到页面上显示。/跳转到更新车辆信息页面public String carupdate() HttpServletRequest request = ServletActionContext.getRequest();Car bean = carDao.selectBean( where id= + request.getParameter(id);request.setAttribute(bean, bean);request.setAttribute(url, method!carupdate2?id=+bean.getId();request.setAttribute(biaoti, 车辆信息更新);this.setUrl(Mybike/car/carupdate.jsp);return SUCCESS;在页面修改内容后,同样有请求到后台,将新数据更新到数据库中。6系统功能测试6.1系统测试简述测试主要目的是验证和确认已完成系统的各项功能。本节选取有代表性的几个模块测试。6.2测试用例与结果表6-1 用户登录测试项登录测试模块登录模块操作过程1. 打开系统主页,选择登录;2. 按照显示项依次输入1234563. 选择登录;预期结果用录成功实际结果用录成功表6-2 注册测试测试项注册测试模块注册模块操作过程1.打开系统主页,选择注册;2.按照提示依次输入用户名密码:123456、真实姓名:sa、电话号码:134190234563.选择确认;4.返回主页,使用刚注册时填写的信息,重新登录;预期结果用册成功实际结果用册成功表6-3 添加车辆测试测试项添加车辆测试模块车辆管理模块操作过程1. 打开系统主页,登录为管理员;2. 进入车辆管理页面;3. 选择添加按钮,添加新的车辆信息;预期结果该车辆添加成功实际结果该车辆添加成功7开发总结基于SSH框架完成了小型的自行车租借系统的设计与实现。在代码编写过程中也遇到过很多问题,在同学和老师的帮助下得到了解决。经理的首页会有几个模块分别展示库存数量,注册数量,还有昨日收入。在写controller层查询昨日收入时,创建了日期对象,从中获取了当前的年、月、日。因为开发时的月份是单数,所以测试数据的时候并没发现什么问题。后来在首页做好显示后统计数据库里数据时,突然发现和做的假数据对不上,在后台打印出来发现,从日期对象中取得的月需要加1才是当前月份。网站首页获取数据的实现,开始是采用空白页发送请求到后台处理查询返回首页的方式,但是一直不能正常跳转。最后在同学的建议下改用Ajax方式,页面初始化发送请求查询出值得同时再跳回页面本身,再动态改写页面上的内容。写的过程中发现Ajax方法接收后台传来的值怎么判断其长度都是不对,通过后台打印显示是查到了数据的,为了解决,就先直接页面弹出结果集,才发现是后台输出乱码,没有指定结果集。其他的Java代码编写过程中常犯的错误也遇到过,空指针,下标越界等等,都在慢慢排查中得到解决。通过这次设计也复习了很多关于基础的知识。整个系统的页面是采用了Bootstrap3静态框架,因为是国外的框架,全英文的内容,花了半天翻译了一下才对整体的迁移方式有所了解,将自己的项目展示页面换成符合框架规范的样式。这对我学习整体项目的开发方式有了深入了解。通过对毕业设计的开发工作,综合运用了所学知识,对整个软件系统的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 丰富体育赛事活动的策略及实施路径
- 阻聚剂项目可行性研究报告
- 小学篮球基础技能训练计划
- 部编版四年级语文上册听说教学计划
- 校医务室食品安全工作领导小组及职责
- 电子商务领域见习基地管理措施
- 2025年风湿免疫科疾病诊断答案及解析
- 2025年放射科影像学检查常见误诊病症分析答案及解析
- 2025年妇产科疾病预防与保健测试答案及解析
- 2025年呼吸内科常见疾病诊疗试题卷答案及解析
- 2025年成人高考政治试题及答案
- 《老年人生活能力康复训练》养老服务与管理专业全套教学课件
- 2025-2030中国间二硝基苯行业现状态势及前景趋势预测报告
- (完整版)保安培训课件
- 从课本到奥数课件
- 人类行为与社会环境全套课件
- (全国通用)三甲人民医院诊断证明书请假条模板(广东佛山)
- 部编版一年级上册语文研课标说教材课件
- 纳米材料ppt课件精品课件
- 最新VTE指南解读(静脉血栓栓塞症的临床护理指南解读)
- 旅行社计调实务课件完整版电子教案
评论
0/150
提交评论