基于SSM技术的农场管理系统设计与实现_第1页
基于SSM技术的农场管理系统设计与实现_第2页
基于SSM技术的农场管理系统设计与实现_第3页
基于SSM技术的农场管理系统设计与实现_第4页
基于SSM技术的农场管理系统设计与实现_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

本科论文目录摘要 [25],我们经常听到的数据库有很多,例如Oracle,MySQL,SqlServer,postgreSQL等,在该系统中所用的数据库为MySQLWorkbench6.3。在本系统中总共用到了20张表,整体如下表4.1:表4.1总体表表名CROPS解释植物信息表ATTENDANCE员工出勤记录表ENVIRONMENT环境表WORKRECORD农事记录表FERTILZER肥料表PLANT种植表HARVEST收成表LOCATION土地使用ORDER订单表LOGINS登录表MATERIAL材料表BENEFIT利润WOEKTYPE工作类型CROPSTYPE植物种类PRODUCE人均产出表ITEMS商品表SALARY工资表STAFF员工信息表STOCK库存表PURCHASE进货表ER图也称实体-联系图,提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。ER图作用主要体现在十点:描述现实世界关系概念模型的有效方法。表示概念关系模型的一种方式。用“矩形框”表示实体型,矩形框内写明实体名称;用“椭圆图框”表示实体的属性,并用“实心线段”将其与相应关系的“实体型”连接起来;用“菱形框”表示实体型之间的联系成因,在菱形框内写明联系名,并用”实心线段“分别与有关实体型连接起来,同时在”实心线段“旁标上联系的类型。本系统的ER图如下图4.2所示图4.2系统ER图下面对主要的几个表进行描述:1.利润表主要是对管理农场所得的利润,其中主要字段有月份,肥料,材料,植物,收获,购买,收入以及利润。如表4.3所示。表4.3利润表是否主键字段名字段描述数据类型长度可空是MOUTH月份VARCHAR(45)45FERTILIZER肥料INT(11)11是MATERIAL材料INT(11)11是PLANT植物INT(11)11是HARVEST收获INT(11)11是PURCHASE购买INT(11)11是INCOME收入INT(11)11是AGRICULTURALCOL2agriculturalcol2VARCHAR(45)45是AGRICULTURALCOL2agriculturalcol2VARCHAR(45)45是AGRICULTURALCOL3agriculturalcol3VARCHAR(45)45是2.员工出勤表主要是记录员工的出勤情况,其中主要字段有id值,员工id,日期,地址,以及员工出勤天数。如表4.4所示。表4.4员工出勤记录表是否主键字段名字段描述数据类型长度可空是IDIdINT(11)11STAFFID员工idINT(11)11是DATE日期VARCHAR(45)45是LOCATION地址VARCHAR(45)45是DUTYDAY出勤天数INT(11)11是ATTENDANCECOLattendancecolVARCHAR(45)45是ATTENDANCECOL1attendancecol1VARCHAR(45)45是ATTENDANCECOL2attendancecol2VARCHAR(45)45是ATTENDANCECOL3attendancecol3VARCHAR(45)45是ATTENDANCECOL4attendancecol4VARCHAR(45)45是3.环境表主要是对农场周围环境值的监测,其中主要字段有天气,卫生环境以及气候等,如表4.5所示。表4.5环境表是否主键字段名字段描述数据类型长度可空是IDIdINT(11)WEATHER天气VARCHAR(45)45是HYGIENE卫生环境VARCHAR(45)45是CLIMATE气候VARCHAR(45)45是

ENVIRONMENTMONITORCOLenvironmentmonitorcolVARCHAR(45)45是

ENVIRONMENTMONITORCOL1Environmentmonitorcol1VARCHAR(45)45是

ENVIRONMENTMONITORCOL2Environmentmonitorcol2VARCHAR(45)45是ENVIRONMENTMONITORCOL3Environmentmonitorcol3VARCHAR(45)45是4.农事记录表主要记录农事的员工,工作类型,日期以及工作的地点,如下表4.6所示。表4.6农事记录表是否主键字段名字段描述数据类型长度可空是IDIdINT(11)11STAFFID员工IDINT(11)11是WORKTYPE工作类型VARCHAR(45)45是(表4.6续表)DATE日期VARCHAR(45)45是LOCATION工作地点VARCHAR(45)45是FARMWORKCOLfarmworkcolVARCHAR(45)45是FARMWORKCOL1farmworkcol1VARCHAR(45)45是FARMWORKCOL2farmworkcol2VARCHAR(45)45是FARMWORKCOL3farmworkcol3VARCHAR(45)45是FARMWORKCOL4Farmworkcol4VARCHAR(45)45是5.肥料表主要是记录肥料的名称,肥料的总量以及肥料的剩余量,如表4.7所示。表4.7肥料表是否主键字段名字段描述数据类型长度可空是IDIdINT(11)11NAME肥料名称INT(11)11是TOTAL总量INT(11)11是RESIDUE剩余量INT(11)11是FERTILIZERCOLfertilizercolVARCHAR(45)45是FERTILIZERCOL1fertilizercol1VARCHAR(45)45是FERTILIZERCOL2fertilizercol2VARCHAR(45)45是FERTILIZERCOL3fertilizercol3VARCHAR(45)45是6.订单表主要是记录农作物id,数量,日期以及它的状态,如表4.8所示。表4.8订单表是否主键字段名字段描述数据类型长度可空是IDIdINT(11)11CID农作物idINT(11)11是QUANTITY数量INT(11)11是DATE日期VARCHAR(45)45是STATUS状态VARCHAR(45)45是FINANCECOLfinancecolVARCHAR(45)45是FINANCECOL2financecol2VARCHAR(45)45是FINANCECOL3financecol3VARCHAR(45)45是FINANCECOL4financecol4VARCHAR(45)45是7.收成表主要是记录土地某种植物的收成,其中字段包括农作物id,收割日期和产量等,如表4.9所示。表4.9收成表是否主键字段名字段描述数据类型长度可空是IDIdINT(11)11(表4.9续表)CID植物idINT(11)11是DATE收割日期VARCHAR(45)45是QUANTITY产量VARCHAR(45)45是HARVESTCOLharvestcolVARCHAR(45)45是HARVESTCOL1harvestcol1VARCHAR(45)45是HARVESTCOL2harvestcol2VARCHAR(45)45是HARVESTCOL3harvestcol3VARCHAR(45)45是HARVESTCOL4harvestcol4VARCHAR(45)45是8.土地使用表主要记录土地的名称,亩数,以及使用的情况,如表4.10所示。表4.10土地使用表是否主键字段名字段描述数据类型长度可空是IDIdINT(11)11LOCATION土地名称VARCHAR(45)45是AREA亩数INT(11)11是STATUS使用情况VARCHAR(45)45是LANDCOLlandcolVARCHAR(45)45是LANDCOL1landcol1VARCHAR(45)45是LANDCOL2landcol2VARCHAR(45)45是LANDCOL3landcol3VARCHAR(45)45是LANDCOL3landcol3VARCHAR(45)45是9.工作类型表。如表4.11所示。表4.11工作类型表是否主键字段名字段描述数据类型长度可空是IDIdINT(11)11WORKTYPE工作类型VARCHAR(45)45LOGINLOGSCOLloginlogscolVARCHAR(45)45是LOGINLOGSCOL1loginlogscol1VARCHAR(45)45是LOGINLOGSCOL2loginlogscol2VARCHAR(45)45是LOGINLOGSCOL3loginlogscol3VARCHAR(45)45是10.登录表主要是记录登录名称,密码,登录时间,登录ip,如表4.12所示。表4.12登录表是否主键字段名字段描述数据类型长度可空是LOGINIDloginidINT(11)11LOGINNAMEloginnameVARCHAR(45)45PASSWORDpasswordVARCHAR(45)45LOGINTIMElogintimeDATETIMELOGINIPloginipVARCHAR(45)45(表4.12续表)LOGINSCOLloginscolVARCHAR(45)45是LOGINSCOL1loginscol1VARCHAR(45)45是LOGINSCOL2loginscol2VARCHAR(45)45是LOGINSCOL3loginscol3VARCHAR(45)45是11.材料表主要是记录所需材料的情况,其中有名称,总量以及剩余量,如表4.13所示。表4.13材料表是否主键字段名字段描述数据类型长度可空是IDIdINT(11)11NAME名称VARCHAR(45)45TOTAL总量INT(11)11RESIDUE剩余INT(11)11MODIFYPASSWORDLOGSCOLmodifypasswordlogscolVARCHAR(45)45是MODIFYPASSWORDLOGSCOL1modifypasswordlogscol1VARCHAR(45)45是MODIFYPASSWORDLOGSCOL2modifypasswordlogscol2VARCHAR(45)45是MODIFYPASSWORDLOGSCOL3modifypasswordlogscol3VARCHAR(45)45是MODIFYPASSWORDLOGSCOL4modifypasswordlogscol4VARCHAR(45)45是12.商品表,如表4.14所示。表4.14商品表是否主键字段名字段描述数据类型长度可空是IDIdINT(11)11

NAME名称VARCHAR(45)45是QUANTITY数量INT(11)11是UNITPRICE单价INT(11)11是STATUS状态VARCHAR(45)45是PACKINGCOL1Packingcol1VARCHAR(45)45是PACKINGCOL2Packingcol2VARCHAR(45)45.是PACKINGCOL3packingcol3VARCHAR(45)45是13.植物信息表主要记录植物的名称,进货数量,产量,亩数以及它的单价,如表4.15所示。表4.15植物信息表是否主键字段名字段描述数据类型长度可空是IDIDINT(11)11CROPSNAME名称VARCHAR(45)45(表4.15续表)PROFIT每颗收益INT(11)11CROPSTIME种植时间INT(11)11TYPE植物类型VARCHAR(45)45PLANTCOLplantcolVARCHAR(45)45是PLANTCOL1plantcol1VARCHAR(45)45是PLANTCOL2plantcol2VARCHAR(45)45是PLANTCOL3plantcol3VARCHAR(45)45是PLANTCOL4plantcol4VARCHAR(45)45是14.植物种类表主要记录的是植物的分类,如下表4.16所示。表4.16植物种类表是否主键字段名字段描述数据类型长度可空IdIDINT(11)11TYPENAME类型VARCHAR(45)45是FERTILIZER肥料VARCHAR(45)45是FERTILIZERNEED肥料名称VARCHAR(45)45是AREA面积INT(11)11是PLANTKINDCOLplantkindcolVARCHAR(45)45是PLANTKINDCOL1plantkindcol1VARCHAR(45)45是PLANTKINDCOL2plantkindcol2VARCHAR(45)45是15.人均产出表主要是记录每个人的平均产出量,其中主要字段包括是员工id,植物id,总产量以及日期,如表4.17所示。表4.17人均产出表是否主键字段名字段描述数据类型长度可空是STAFFID员工idINT(11)11CID植物idINT(11)11是PRODUCE产量INT(11)11是DATE日期VARCHAR(45)45是PRODUCECOLproducecolVARCHAR(45)45是PRODUCECOL1producecol1VARCHAR(45)45是PRODUCECOL2producecol2VARCHAR(45)45是PRODUCECOL3producecol3VARCHAR(45)45是PRODUCECOL4producecol4VARCHAR(45)45是PRODUCECOL5producecol5VARCHAR(45)45是16.种植表,如表4.18所示表4.18风险评估表是否主键字段名字段描述数据类型长度可空是IDIDINT(11)11IID菜地IDINT(11)11是CNAME名称VARCHAR(45)45是(表4.18续表)CPROFIT利润VARCHAR(45)45是QUANTITY数量VARCHAR(45)45是TOTAL合计VARCHAR(45)45是TIME时长VARCHAR(45)45是STATUS状态VARCHAR(45)45是YEAR年份VARCHAR(45)45是PLANTCOLPlantcolVARCHAR(45)45是PLANTCOL1Plantcol1VARCHAR(45)45是PLANTCOL2Plantcol2VARCHAR(45)45是PLANTCOL3Plantcol3VARCHAR(45)45是17.工资表主要是记录员工的id,基本工资,奖金,绩效以及日期,如表4.19所示。表4.19工资表是否主键字段名字段描述数据类型长度可空是STAFFIDsidINT(11)11SALARY基本工资INT(11)11是BONUS奖金INT(11)11是ACHIEVEMENTS绩效VARCHAR(45)45是MOUTH日期VARCHAR(45)45是SALARYCOLsalarycolVARCHAR(45)45是SALARYCOL1salarycol1VARCHAR(45)45是SALARYCOL2salarycol2VARCHAR(45)45是SALARYCOL3salarycol3VARCHAR(45)45是SALARYCOL4Salarycol4VARCHAR(45)45是18.员工信息表里面是员工的基本信息,其中有十个信息字段,有三个备用字段。如表4.20所示。表4.20员工信息表是否主键字段名字段描述数据类型长度可空是STAFFIDstaffidINT(11)11STAFFNAMEstaffnameVARCHAR(45)45GENDERgenderVARCHAR(45)45EMAILemailVARCHAR(45)45PHONENUMBERphonenumberVARCHAR(45)45AGEageINT(11)11DEPARTMENTNAMEdepartmentnameVARCHAR(45)45IDNUMBERidnumberINT(11)11LOGINTIMEaddressVARCHAR(45)45ENTRYDATE入职日期DATETIMESTAFFCOLstaffcolVARCHAR(45)45是STAFFCOL1staffcol1VARCHAR(45)45是19.库存表主要是记录仓库中货物的剩余量,如表4.21所示。表4.21库存表是否主键字段名字段描述数据类型长度可空是CIDIdINT(11)11STOCK库存INT(11)11是SOLDsoldINT(11)11是STOCKCOLstockcolVARCHAR(45)45是STOCKCOL1stockcol1VARCHAR(45)45是STOCKCOL2stockcol2VARCHAR(45)45是STOCKCOL3stockcol3VARCHAR(45)45是STOCKCOL4stockcol4VARCHAR(45)45是20.进货表主要是对物品id,库存数量,进货数量,物品单价,进货状态,以及日期进行记录,如表4.22所示。表4.22进货表是否主键字段名字段描述数据类型长度可空是IDIdINT(11)11CID物品idINT(11)11是STOCK库存INT(11)11是QUANTITY进货数量INT(11)11是UNITPRICE单价VARCHAR(45)45是STATUS状态VARCHAR(45)45是DATE日期VARCHAR(45)45是STOCKGOODSCOLstockgoodscolVARCHAR(45)45是STOCKGOODSCOL1stockgoodscol1VARCHAR(45)45是STOCKGOODSCOL2stockgoodscol2VARCHAR(45)45是STOCKGOODSCOL3stockgoodscol3VARCHAR(45)45是STOCKGOODSCOL4Stockgoodscol4VARCHAR(45)45是4.5本章小结本节主要讲述的是该农场管理系统的设计,首先通过讲述整个系统的设计目标主要就是为了使农场主能够更快更精准的管理农场,然后是进行系统上的功能的设计,主要包括员工管理、统计分析、农资管理、效益分析、和土地管理等服务。5系统的实现5.1数据库连接在做任何项目之前,我们都需要用数据库来存储数据,在SSM项目中,数据库主要在两个文件中进行连接,一个是文件generator.xml,一个是文件perties。实现数据库连接的代码如下所示:jdbc.jdbcUrl=jdbc:mysql://localhost:3306/farmjdbc.driverClass=com.mysql.jdbc.Driverjdbc.user=rootjdbc.password=123456<!--配置数据库连接--> <jdbcConnectiondriverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/farm" userId="root" password="123456"> </jdbcConnection>5.2模块实现5.2.1登录模块打开系统进入登录页面,而后需要进行一个身份验证,第一次登录时需进行新用户注册。而后登录时只需进行验证用户名和密码。登陆成功进行下一步的操作。登录失败返回登录界面。登录模块流程图如下图5.1所示。图5.1登录功能流程图登录界面如下图5.2所示:图5.2登录界面登录功能主要代码:@RequestMapping(value="/userlogin",method=RequestMethod.POST) @ResponseBody publicMsgLogin(Loginslogins,Modelmodel){ LoginsExampleloginsExample=newLoginsExample(); LoginsExample.Criteriacriteria=loginsExample.createCriteria(); criteria.andLoginnameEqualTo(logins.getLoginname()); List<Logins>login=loginsService.getLoginName(loginsExample); Loginsnewlogins=newLogins(); for(inti=0;i<login.size();i++){ newlogins=(Logins)login.get(i); } if(logins.getPassword().equals(newlogins.getPassword())){ newlogins.setLogintime(newDate()); loginsService.updateLogins(newlogins); returnMsg.success(); }else{ returnMsg.fail(); } } @RequestMapping(value="/login",method=RequestMethod.POST) @ResponseBody publicMsgLogin(Loginslogins){ LoginsExampleloginsExample=newLoginsExample(); LoginsExample.Criteriacriteria=loginsExample.createCriteria(); criteria.andLoginnameEqualTo(logins.getLoginname()); List<Logins>login=loginsService.getLoginName(loginsExample); Loginsnewlogins=newLogins(); for(inti=0;i<login.size();i++){ newlogins=(Logins)login.get(i); } if(logins.getPassword().equals(newlogins.getPassword())){ newlogins.setLogintime(newDate()); loginsService.updateLogins(newlogins); returnMsg.success(); }else{ returnMsg.fail(); } }5.2.2注册模块系统打开首先是登录界面,新用户需要通过注册才能登录系统进入主界面,用户输入符合要求的账号、密码并确认密码后点击注册按钮方能完成注册。该功能流程图如下图5.3所示。图5.3注册功能流程图注册界面如下图5.4所示:图5.4注册功能注册功能主要代码:@RequestMapping(value="/addlogin",method=RequestMethod.POST) @ResponseBody publicMsgAddLogin(Loginslogins,Modelmodel){ Stringloginip=request.getRemoteAddr(); logins.setLoginip(loginip); logins.setLogintime(newDate()); intnum=loginsService.insertLogins(logins); if(num!=0){ returnMsg.success(); }else{ returnMsg.fail(); } } @RequestMapping(value="/register") @ResponseBody publicMsgregister(Loginslogins){ Stringloginip=request.getRemoteAddr(); logins.setLoginip(loginip); logins.setLogintime(newDate()); System.out.println(logins.getLoginname()); List<Logins>list=loginsService.selectByname(logins.getLoginname()); if(list!=null&&list.size()>0)returnnewMsg(200,"用户名重复!"); intnum=loginsService.insertLogins(logins); if(num!=0){ returnMsg.success(); }else{ returnMsg.fail(); } }5.2.3忘记密码当用户忘记密码时,需要通过忘记密码来重新设置密码,当进入忘记密码页面后,输入正确的用户名,邮箱和电话号码,即可重新设置新的密码,如果用户名,电话号码,或者邮箱,有一项不正确,密码就不能重新设置。该功能流程图如下图5.5所示。图5.5忘记密码流程图忘记密码界面如下图5.6所示:图5.6忘记密码注册功能主要代码:@RequestMapping(value="/forget") @ResponseBody publicMsgforget(Loginslogins){ Stringloginip=request.getRemoteAddr(); List<Logins>info=loginsService.selectByInfo(logins); if(info==null||info.size()==0){ returnnewMsg(200,"用户名、邮箱、手机号错误!"); } logins.setLoginid(info.get(0).getLoginid()); loginsService.updateLogins(logins); returnMsg.success(); }5.2.4员工信息管理功能在成功登录之后来到主界面,首先我们可以看到员工管理的模块,在员工管理模块中有员工信息管理功能,主要是对员工的信息进行增删改查的操作,其中主要包括用户id,姓名,用户名,密码,性别,邮箱,手机号等个人信息。员工信息管理界面如下图5.7所示。图5.7员工信息管理功能功能主要代码:@ControllerpublicclassStaffController{ @Autowired StaffServicestaffService; } @RequestMapping(value="/staffadd",method=RequestMethod.POST) @ResponseBody publicMsgstaffadd(Staffstaff){ staff.setEntrydate(newDate()); Map<String,Object>map=newHashMap<String,Object>(); map.put("username",staff.getUsername()); map.put("email",staff.getEmail()); map.put("idnumber",staff.getIdnumber()); map.put("phonenumber",staff.getPhonenumber()); List<Staff>list=staffService.getAll(map); System.out.println(list.size()); if(list!=null&&list.size()>0){ Msgfail=Msg.fail(); fail.setMsg("员工用户名或手机号或邮箱或身份证号信息重复!"); returnfail; } staffService.saveMember(staff); returnMsg.success(); } @RequestMapping("/staff") @ResponseBody publicMsggetMemberWithJson( @RequestParam(value="rowoffset",defaultValue="1")Integerrowoffset){ List<Staff>member=staffService.getAll(null); returnMsg.success().add("data",member); } @RequestMapping("/staffupdate") @ResponseBody publicMsgstaffupdate(Staffstaff){ staffService.updatestaff(staff); returnMsg.success(); } @RequestMapping("/staffdelete") @ResponseBody publicMsgstaffdelete(Integerid){ staffService.deleteMember(id); returnMsg.success(); }}5.2.5效益分析功能效益分析使用Echarts进行图表的绘制,Echarts就是一个纯JavaScript图表库。可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器,底层依赖轻量级的Canvas类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。效益分析主要是对肥料的使用量,每个月农作物的种植数量和收割数量的变化,每个月进货和交易的胡亮的变化以折线图的形式展现出来,而每个月物资的使用量的总和则是以柱状图的形式展示。图表分析界面如下图5.8所示。图5.8效益分析功能功能主要代码:varlineChart=echarts.init(document.getElementById("echarts-line-chart"));varlineoption={title:{text:'各月肥料使用量趋势'},tooltip:{trigger:'axis'},legend:{data:['使用量']},grid:{x:40,x2:40,y2:24},calculable:true,xAxis:[{type:'category',boundaryGap:false,data:result.extend.data.month}],5.3本章小结本章节主要阐述的是对整个系统的实现,通过实现几个功能,对功能的实现效果图进行截取,将系统实现的效果如实的反映出来,并且通过截取核心代码,将项目的实现过程简单的体现出来。6系统测试本系统的测试部分并不是将系统所有部分全部进行测试,而是选取几个具有代表性的模块进行系统测试,其中对系统的测试随机抽取了登录,注册,员工管理三部分。6.1登录测试登录模块测试一种是当输入的账号密码均正确时进行的测试,另一种是当输入的账号密码有一个不正确时进行的测试。登录测试如下表6.1所示,测试结果如下图6.2所示。表6.1登录测试编号操作输入数据预期结果实际结果6.1-1将用户名和密码都准确无误的输入,然后进行登录账号:aaaaaa密码:123456登录成功登录成功后进入主界面6.1-2将用户名准确无误的输入,输入的密码错误,然后进行登录账号:aaaaaa密码:123456登录失败登录失败,提示处理失败6.1-3将密码准确无误的输入,输入的用户名错误,然后进行登录账号:bbbbbb密码:123456登录失败登录失败,提示处理失败6.1-4将密码和用户名都输入错误,然后进行登录账号:bbbbbb密码:654321登录失败登录失败,提示处理失败图6.2登录测试结果测试的结果是当用户名和密码都准确无误的被输入之后,才能登录成功然后进入主界面,反之,当用户名和密码有一项输入不正确则登录失败。6.2注册测试测试注册模块分为两部分,一种是当输入的账号没有被注册时进行的测试,另一种是当输入的账号被注册之后进行的测试。注册测试如下表6.3所示,测试结果如下图6.4所示。表6.3注册测试编号操作输入数据预期结果实际结果6.2-1输入没注册过的用户名和密码,并确认密码无误进行注册账号:tttttt密码:123456确认密码123456注册成功注册成功后进入主界面6.2-2输入注册过的用户名和密码,并确认密码无误进行注册账号:aaaaaa密码:123456确认密码123456注册失败注册失败,提示处理失败6.2-3输入已经注册过的用户名和密码,将确认密码输入错误进行注册账号:bbbbbb密码:123456确认密码654321注册失败注册失败,提示处理失败图6.4注册测试结果测试结果是当注册没有被注册过的用户名,当密码和确认密码都正确时,注册成功后返回登录界面,当用户名被注册过之后再次被注册时,会提示用户名已被存在,当注册没被注册过的用户名时确认密码和设置的密码对应不上时,会显示确认密码错误。6.3员工管理测试员工管理测试主要是对员工信息的各项操作,通过对员工信息的搜索,查看信息的显示是否与数据库中的数据相匹配,若匹配成功则是查询正确,反之,查询结果为失败。点击添加按钮,对员工信息进行添加,通过填写相关信息,看是否将信息添加到数据库,是否能在前台界面成功展示,员工管理测试用例如表6.5所示,测试结果如下图6.6所示。表6.5员工管理测试编号操作输入数据预期结果实际结果6.3-1检查信息是否显示无显示成功数据显示成功6.3-2与数据库的数据是否匹配无匹配成功与数据库信息一致

6.3-3输入没有错误的用户名进行搜索账号:aaaaaa搜索成功显示和用户名相关的信息6.3-4输入不存在的用户名进行搜索账号:tttttt搜索失败显示不存在该用户6.3-5输入准确无误的全部信息然后进行添加账号:tttttt电话号码:123456789性别:男年龄:21岁身份证号:147258963258邮箱:tttttt@添加成功刷新表格,成功显示新增信息6.3-6信息输入准确无误但有选项未填,进行添加账号:tttttt电话号码:123456789性别:男年龄:21岁身份证号:147258963258邮箱:添加失败刷新表格,显示新增信息失败,邮箱栏为空6.3-7输入准确无误的信息但有的信息不符合要求进行添加账号:tt电话号码:123456789性别:男年龄:21岁身份证号:147258963258邮箱:tttttt@添加失败刷新表格,显示新增信息失败,新增时,账号字段少于三个图6.6测试结果测试结果是当信息准确无误的输入后,进行查询,可以查询到相关信息。否则就会查询失败。添加信息时,在输入框内输入准确无误的信息后,可以将信息添加成功,反之,若输入信息有误,则添加失败。员工管理功能成立。6.4本章小结本节主要阐述了在系统实现功能后对部分功能进行的测试操作,将测试的过程通过表的形式展现出来,可以一目了然的看到对功能的操作,以及预期结果和实际效果对比。其中选取了三部分进行测试,分别是登录功能的测试,注册功能的测试以及员工管理的测试。通过测试,系统可以达到预期要求。

结论在充分的需求分析和系统设计的基础上,本文综合运用SSM和其他相关技术与MVC相结合,来设计和实现农场管理系统中的功能。毕业设计和论文的主要工作概述如下:(1)通过对农场管理中存在的问题进行分析,阐述了系统设计和实现的需求来源,并根据需求得出了我自己设计和实现的子系统的功能要求。设计了每个子系统的数据库表,描述了每个子系统的详细设计过程,类设计和时序设计,最后给出了系统的实现效果图。(2)使用SSM技术框架,结合MVC分层开发的开发思想,开发系统的特定功能。编程过程具有清晰的层次和清晰的功能。通过农场管理系统,我们可以为农场提供人员管理,统计分析,农资管理,收益分析和土地管理服务。更快,更准确地管理农场。致谢通过完成这次的毕业设计,从中发现了自己很多的不足,由于缺乏经验,会有很多考虑不周全的地方,如果没有老师的督促指导,以及一起学习的同学们的支持,想要完成这次的设计会非常难。回想这一路走来的日子,父母的疼爱关心,老师的悉心教诲,朋友的支持帮助一直陪伴着我,让我从中学习到很多,渐渐长大,也慢慢地在走向成熟。四年的学习,不仅让我在知识结构和动手实践能力上重新上了一个新的台阶,更重要的是,各方面的素质得到了提高。而这一切,都应该归功于我的老师,是他的深切教诲和鼓励让我不断地进步,感谢我的指导教师李佳佳老师和倪春雨老师,是老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严于律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。这次论文从选题到完成,每一步都是在指导教师的悉心指导下完成的,倾注了指导教师的大量心血。在此,再次向导师表示崇高的敬意和衷心的感谢,在写开题报告和论文的过程中,遇到了很多的问题,在老师悉心的指导下,问题都很快的得以解决。所以在此,郑重感谢我的指导老师。感谢我的同学在设计项目过程中对我给予的最大的帮助和鼓励,在完成项目的过程中遇到了很多问题,知识储备不够,项目报错,都是在身边的同学一遍一遍的帮我调试,帮我改错,牺牲自己的时间来帮助我完成项目,并且在论文写作的过程中给予我很大的帮助,在与他们交流的过程中拓展了我的视野和思路。在这里,再次感谢我的同学,感谢他们的帮助。感谢我的父母,焉得谖草,言树之背,养育之恩,无以为报。在上学的日子中,对我无微不至的关怀,给予我最多的鼓励与帮助。感谢父母,你们的健康快乐是我最大的心愿。在论文完成之际,我的心情久久不能平静,从开始选题到完成毕业设计,有那么多的老师,同学,朋友给了我许多帮助,再次感谢。在这篇论文的写作和完成毕设的过程中,我深感自己的水平还非常的欠缺。生命不息,学习不止,人生就是一个不断学习和完善的过程。

参考文献肖娥芳.家庭农场发展的研究进展[J].贵州农业科学.2014,42(2):229-233戴艳梅.福建象山休闲农场开发思路与发展对策研究[D].福建农林大学,2009孙艺惠,杨存栋,陈田,郭焕成.我国观光农业发展现状及发展趋势[J].经济地理.2007,(5):835-836伍铃.顺昌县绿锦园休闲农场发展思路与开发策略研究[D].福建农林大学,2013金钰.人均GDP达4000美元能说明什么?[J].统计科学与实践(天津).2010,(5):28何婉.法美两国乡村旅游的发展及对我国的启示[J].中共杭州市委党校学报,2006(02):85李四海.我国国有农场发展现状及改革建议[J].现代农业科技.2017,(15):263,265李慧敏,王殿安,贺凤欣.国有农场面临的困境及解困途径[J].农业经济,2002(2):18-19黄波.国内大型农场的优势以及发展趋势[J].农业与技术.2016,36(24):246张禄祥.国内外现代农业发展概况与发展趋势[J].广东农业科学,2007(12):124-125杨文艳,田春尧主编.Java程序设计[M].北京:北京理工大学出版社.2018.03:1吴炬.认识JavaScript语言和jQuery[J].人文之友.2018,(15):149邢琛.浅谈网页开发中的JSP技术[J].电脑迷.2018,(8):141韦建波,韦龙勇.浅议bootstrap框架优缺点[J].科技视界.2017,(12):222孙静,万杰,李亚龙.以Bootstrap为基础建立响应式安徽省地震局网站[J].四川地震,2015,(03):38-41李希,鲍正德,李晨曦.浅析AJAX、JSON在实例中的应用[J].计算机系统网络和电信.2019,(2):28]RaviKumarSachdeva;SawtantarSingh.UseofAJAXtoImproveUsabilityofOnlineInformationSystems[J].GlobalJournalofComputerScience&Technology.2013,Vol.13(No.8-C):2DiLu;YupingQiu;ChunQian;XiWangandWeiTan.DesignofCampusResourceSharingPlatformbasedonSSMFramework[J].IOPConferenceSeries:MaterialsScienceandEngineering.2019,Vol.490(Chapter5):062043AriefGinanjar,MokhamadHendayun.SpringFrameworkReliabilityInvestigationAgainstDatabaseBridgingLayerUsingJavaPlatform[J].ProcediaComputerScience,2019,161黄俊勇.基于Spring框架的研究与设计[J].电脑知识与技术.2018,(3):116陈张.浅析struts2和springMVC的异同[J].数码世界.2017,000(004):150MargarethaOhyver,JurikeV.Moniaga,IwaSungkawa,BonifasiusEdwinSubagyo,IanArgusChandra.TheComparisonFirebaseRealtimeDatabaseandMySQLDatabasePerformanceusingWilcoxonSigned-RankTest[J].ProcediaComputerScience,2019,397孙铀.学生毕业论文管理系统的设计与实现[D].辽宁:大连理工大学,2007.DOI:10.7666/d.y1092878姚云飞,杜洪波,梁建辉.基于SpringMVC框架毕业设计管理系统设计[J].软件,2018,39(1):91.DOI:10.3969/j.issn.1003-6970.2018.01.018孟小峰,周龙骧,王珊.数据库技术发展趋势[J].软件学报,2004(12):74-88

捷键与一些电脑小技巧HYPERLINKwinkey+d:

这是高手最常用的第一快捷组合键。这个快捷键组合可以将桌面上的所有窗口瞬间最小化,无论是聊天的窗口还是游戏的窗口……只要再次按下这个组合键,刚才的所有窗口都回来了,而且激活的也正是你最小化之前在使用的窗口!

--这个就是winkeywinkey+f:

不用再去移动鼠标点“开始→搜索→文件和文件夹”了,在任何状态下,只要一按winkey+f就会弹出搜索窗口。

winkey+r:

在我们的文章中,你经常会看到这样的操作提示:“点击‘开始→运行’,打开‘运行’对话框……”。其实,还有一个更简单的办法,就是按winkey+r!

alt+tab:

如果打开的窗口太多,这个组合键就非常有用了,它可以在一个窗口中显示当前打开的所有窗口的名称和图标●,选中自己希望要打开的窗口,松开这个组合键就可以了。而alt+tab+shift键则可以反向显示当前打开的窗口。

winkey+e:

当你需要打开资源管理器找文件的时候,这个快捷键会让你感觉非常“爽”!再也不用腾出一只手去摸鼠标了!

小提示:

winkey指的是键盘上刻有windows徽标的键●。winkey主要出现在104键和107键的键盘中。104键盘又称win95键盘,这种键盘在原来101键盘的左右两边、ctrl和alt键之间增加了两个windwos键和一个属性关联键。107键盘又称为win98键盘,比104键多了睡眠、唤醒、开机等电源管理键,这3个键大部分位于键盘的右上方。

再补充点

F1显示当前程序或者windows的帮助内容。

F2当你选中一个文件的话,这意味着“重命名”

F3当你在桌面上的时候是打开“查找:所有文件”对话框

F10或ALT激活当前程序的菜单栏

windows键或CTRL+ESC打开开始菜单

CTRL+ALT+DELETE在win9x中打开关闭程序对话框

DELETE删除被选择的选择项目,如果是文件,将被放入回收站

SHIFT+DELETE删除被选择的选择项目,如果是文件,将被直接删除而不是

放入回收站

CTRL+N新建一个新的文件

CTRL+O打开“打开文件”对话框

CTRL+P打开“打印”对话框

CTRL+S保存当前操作的文件

CTRL+X剪切被选择的项目到剪贴板

CTRL+INSERT或CTRL+C复制被选择的项目到剪贴板

SHIFT+INSERT或CTRL+V粘贴剪贴板中的内容到当前位置

ALT+BACKSPACE或CTRL+Z撤销上一步的操作

ALT+SHIFT+BACKSPACE重做上一步被撤销的操作

Windows键+D:最小化或恢复windows窗口

Windows键+U:打开“辅助工具管理器”

Windows键+CTRL+M重新将恢复上一项操作前窗口的大小和位置

Windows键+E打开资源管理器

Windows键+F打开“查找:所有文件”对话框

Windows键+R打开“运行”对话框

Windows键+BREAK打开“系统属性”对话框

Windows键+CTRL+F打开“查找:计算机”对话框

SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单

SHIFT在放入CD的时候按下不放,可以跳过自动播放CD。在打开wo

rd的时候按下不放,可以跳过自启动的宏

ALT+F4关闭当前应用程序

ALT+SPACEBAR打开程序最左上角的菜单

ALT+TAB切换当前程序

ALT+ESC切换当前程序

ALT+ENTER将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换

PRINTSCREEN将当前屏幕以图象方式拷贝到剪贴板

ALT+PRINTSCREEN将当前活动程序窗口以图象方式拷贝到剪贴板

CTRL+F4关闭当前应用程序中的当前文本(如word中)

CTRL+F6切换到当前应用程序中的下一个文本(加shift可以跳到前

一个窗口)

在IE中:

ALT+RIGHTARROW显示前一页(前进键)

ALT+LEFTARROW显示后一页(后退键)

CTRL+TAB在页面上的各框架中切换(加shift反向)

F5刷新

CTRL+F5强行刷新1.打开“我的电脑”-“工具”-“文件夹选项”-“查看”-在“显示所有文件和文件夹”选项前打勾-“确定”

2.删除以下文件夹中的内容:

x:\DocumentsandSettings\用户名\Cookies\下的所有文件(保留index文件)

x:\DocumentsandSettings\用户名\LocalSettings\Temp\下的所有文件(用户临时文件)

x:\DocumentsandSettings\用户名\LocalSettings\TemporaryInternetFiles\下的所有文件(页面文件)

x:\DocumentsandSettings\用户名\LocalSettings\History\下的所有文件(历史纪录)

x:\DocumentsandSettings\用户名\Recent\下的所有文件(最近浏览文件的快捷方式)

x:\WINDOWS\Temp\下的所有文件(临时文件)

x:\WINDOWS\ServicePackFiles(升级sp1或sp2后的备份文件)

x:\WINDOWS\DriverCache\i386下的压缩文件(驱动程序的备份文件)

x:\WINDOWS\SoftwareDistribution\download下的所有文件

3.如果对系统进行过windoesupdade升级,则删除以下文件:x:\windows\下以$u...开头的隐藏文件

4.然后对磁盘进行碎片整理,整理过程中请退出一切正在运行的程序

5.碎片整理后打开“开始”-“程序”-“附件”-“系统工具”-“系统还原”-“创建一个还原点”(最好以当时的日期作为还原点的名字)

6.打开“我的电脑”-右键点系统盘-“属性”-“磁盘清理”-“其他选项”-单击系统还原一栏里的“清理”-选择“是”-ok了

7、在各种软硬件安装妥当之后,其实XP需要更新文件的时候就很少了。删除系统备份文件吧:开始→运行→sfc.exe/purgecache近3xxM。(该命令的作用是立即清除"Windows文件保护"文件高速缓存,释放出其所占据的空间)

8、删掉\windows\system32\dllcache下dll档(减去200——300mb),这是备用的dll档,只要你已拷贝了安装文件,完全可以这样做。

9、XP会自动备份硬件的驱动程序,但在硬件的驱动安装正确后,一般变动硬件的可能性不大,所以也可以考虑将这个备份删除,文件位于\windows\drivercache\i386目录下,名称为driver.cab,你直接将它删除就可以了,通常这个文件是74M。

10、删除不用的输入法:对很多网友来说,WindowsXPt系统自带的输入法并不全部都合适自己的使用,比如IMJP8_1日文输入法、IMKR6_1韩文输入法这些输入法,如果用不着,我们可以将其删除。输入法位于\windows\ime\文件夹中,全部占用了88M的空间。

11、升级完成发现windows\多了许多类似$NtUninstallQ311889$这些目录,都干掉吧,1x-3xM

12、另外,保留着\windows\help目录下的东西对我来说是一种伤害,呵呵。。。都干掉!

13、关闭系统还原:系统还原功能使用的时间一长,就会占用大量的硬盘空间。因此有必要对其进行手工设置,以减少硬盘占用量。打开"系统属性"对话框,选择"系统还原"选项,选择"在所有驱动器上关闭系统还原"复选框以关闭系统还原。也可仅对系统所在的磁盘或分区设置还原。先选择系统所在的分区,单击"配置"按钮,在弹出的对话框中取消"关闭这个驱动器的系统还原"选项,并可设置用于系统还原的磁盘空间大小。

14、休眠功能会占用不少的硬盘空间,如果使用得少不妨将共关闭,关闭的方法是的

温馨提示

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

最新文档

评论

0/150

提交评论