版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章引言1.1研究的背景和意义幼儿园是一个关键的场所,它对幼儿的发展起着关键作用。管理幼儿园是保障幼儿园发展的关键,一个出色的管理系统能够提升幼儿园的管理能力和服务水平。随着社会的不断进步,幼儿园中的管理变得越来越麻烦。传统的人工管理方法已经不能满足幼儿园的管理需要。因此,研究开发一套幼儿园管理系统,实现信息化管理已经成为幼儿园管理的趋势和方向。我将尝试基于Java对幼儿园管理系统进行设计与实现,实现后的益处主要包括以下几个方面:(1)提高幼儿园管理水平和服务质量,加强对幼儿的管理和监控。(2)适应幼儿园信息化管理需要。(3)采用信息化的管理方式,可缩短工作时间,降低管理费用。1.2国内外研究现状近年来,国内多位教育领域的研究者在幼儿园管理系统方面进行了探讨和研究。在2018年,李金昱在他的《基于移动应用的幼儿园管理系统的设计与实现》[1]中,将C/S模式作为移动客户端,将B/S模式作为管理端,利用Mybatis+SpringMVC+Spring的架构,利用Java、Html5、JavaScript等编程语言,实现了三方客户之间的数据交换,并在管理端对数据进行管理。系统是根据社会中所存在的一些问题而设计的,通过使用客户端来帮助幼儿园的管理,增加了家长与幼儿园之间的互动,为促进幼儿的健康发展提供了一个优秀的点对点的交流平台。但是该系统在管理和使用上存在缺陷。而在2020年,王苗苗的《基于人脸识别的幼儿园管理系统研究与实现》[2]利用PHP语言、Symfooy框架、MySQL数据库、B/S体系结构与C/S体系,并将C/S体系结构有机地组合起来,开发出一个具有食堂管理,视频实时监控,人脸识别签到,公告栏,家长圈,班级相册等功能的幼儿园管理系统。在此基础上,进一步降低了幼儿园的经营费用和经营时间。根据对国外相关文献和研究的调查,幼儿园管理系统在国外已经得到广泛应用,并取得了很好的效果。在2014年Hedges,H.&Cavanagh,M.就《Developingeffectiveleadershipinearlychildhoodeducation:Areviewoftheliterature》[3]设计开发了幼儿园管理系统,系统使用Spring、Struts技术,采用Hibernate技术封装映射系统底层Oracle数据库。实现了基本信息管理、安全信息管理、卫生保健管理、招生工作管理、人力资源管理和系统管理等模块。通过系统应用,为幼儿园日常管理提供了有力支持,解决了日常工作中的多种问题,但该系统在数据安全方面存在隐患。而在2016年,Macdonald,C.基于《Earlychildhoodeducationmanagement:InsightsfromtheCanadiancontext》[4]设计了幼儿园信息管理系统,系统采用B/S体系结构。利用MVC设计模式,将系统分为用户、逻辑和数据三层,整合了新闻管理、学生管理、教职工管理、餐饮管理等主要功能。并利用SQLServer2005为系统提供数据存储和保护,解决了数据的安全隐患问题。1.3研究内容本设计使用Java语言进行设计与开发,使用Eclipse作为开发工具,数据将被保存在MySQL数据库中,使用DataGrip来实现数据的交互,并在Windows系统中运行,之后将实现用户信息管理、幼儿园基本信息管理、教师信息管理、课程信息管理、幼儿活动信息管理、餐饮信息管理、班级信息管理、留言信息管理等功能,需要做的主要工作包括:(1)分析国内外有关的研究成果,确定开发的技术路线。(2)分析系统要求,确定系统的体系结构。(3)为数据存储选择合适的数据库。(4)详细的设计与实现系统的各个功能模块。(5)选择适当的测试方法对系统进行测试,并在测试结果的基础上不断改进和完善。
第2章系统技术2.1JavaJSP是一种以Java语言为基础,使用Java语言来实现数据显示的一种网络应用。JSP技术是一种将HTML与其他语言相结合的方法,它能有效地解决Web页面的结构化问题,从而避免了很多重复的代码。JSP拥有更高的程序一致性,它能够实现跨平台的应用,它可以调用Jar包中的对象和方法,它拥有强大的事务处理能力,同时它还能够保持相对复杂的编程技术。2.2MySQLMySQL是一种中小规模的关系数据库,通常用于中小型的管理系统。它与Java密切相关。利用数据库驱动类,实现了对数据的简单处理。同时,安装简便,学习速度快,适用范围广。MySQL是利用协议对SQL语句的语法进行分析,当语法检查失败时,就会向程序端报告错误,在检查完毕后,就会把数据指令送到存储器中进行抽取。2.3JSONJSON是当前基于业务的软件开发中普遍采用的一种轻量化数据交换格式,它可以有效地实现系统的前端和后台数据的传输。这个系统是在Android平台上与服务器平台上进行互动的,所传送的数据也是以JSON格式传输的。JSON是一种具有层次化、高效、易懂、易写等特点的轻量化数据交换格式。
第3章系统分析3.1可行性分析3.1.1技术可行性在这个系统的开发过程中,要考虑到技术上的可行性,这个系统采用的是Java语言,它的框架是SpringBoot。并且使用MVC的设计模型,这些技术都是很成熟的,在许多相关的领域都有应用。因此,该系统在技术上是切实可行的。3.1.2经济可行性在本系统开发过程中,使用的大多数开发工具都是免费的,而且需要的成本很低。在系统完成之后,所开发的系统具有更好的使用前景,并且具有更高的经济价值,因此开发这一系统在经济上是可行的。3.1.3法律可行性在进行幼儿园管理系统的设计与开发时,应严格按照有关法律、法规进行。比如,在保护用户隐私的前提下,确保数据安全,避免数据泄露,并且不涉及知识产权,不复制任何网站,不得侵犯其他站点的著作权等。3.2需求分析3.2.1功能性需求基于Java幼儿园管理系统按其所扮演的角色,可将其划分为两类:一类是管理员,另一类是前台使用者。管理员可以对幼儿园的基本信息、用户信息、教师信息、课程信息、幼儿活动、餐饮、班级、留言等进行管理,其中管理员系统用例图如3.1所示:图3.1管理员系统用例图在前台用户进行了注册和登录之后,他们可以查看到幼儿园、教师、课程、幼儿活动、餐饮和班级等方面的信息,并通过留言板功能与管理者交流与反馈。其中前台用户的系统用例图如3.2所示:图3.2前台用户系统用例图3.2.2非功能性需求确定系统功能性需求后,需要思考非功能性需求,保证系统可持续运行。性能要求:每项服务的响应速度不得超过2秒,数据库使用率不得超过80%。稳定性需求保证长期稳定运行,可以考虑设计备用服务器。安全性需求防止病毒入侵,删除数据或窃取用户信息。
第4章系统设计4.1功能结构设计以SpringBoot框架为基础,采用Java语言,利用Eclipse开发工具,进行幼儿园管理系统的设计与开发。以需求分析的结果为依据,按照高内聚低耦合原则,将幼儿园管理系统划分成了用户管理、幼儿园基本信息管理、教师信息管理、餐饮信息管理、课程信息管理、幼儿活动管理、班级信息管理、留言信息管理等模块。系统的功能结构图如下图4.1所示。图4.1系统功能结构图4.2数据库设计4.2.1设计原则根据MySQL数据库应用环境,构造最优数据库结构,有效存储数据,满足幼儿园管理系统业务需求。针对常见问题,需要确定用户需求,注重数据维护,添加命名规范,斟酌优化与效率,调节数据关系,正确使用索引。设计原则包括一对一原则、双向原则和高效原则。4.2.2概念结构设计在数据库的设计中,首先要考虑的是概念结构。E-R模式在概念结构设计中贯穿始终,通过对数据库需求的分析,对各个功能进行分类,最终形成一个数据流。系统各类实体属性图如下。(1)管理员实体包括用户名、密码、姓名、年龄、性别、电话等属性,其实体属性图如图4.2所示。图4.2管理员实体属性图(2)用户实体包括用户id、用户名、密码、姓名、年龄、性别、电话等属性,其实体属性图如图4.3所示。图4.3用户实体属性图(3)简介实体包括幼儿园名称、详情等属性,其实体属性图如图4.4所示。图4.4简介实体属性图(4)餐饮实体包括星期、早餐、午餐、晚餐等属性,其实体属性图如图4.5所示。图4.5餐饮实体属性图(5)教师实体包括姓名、性别、年龄、职称、学历、工龄等属性,其实体属性图如图4.6所示。图4.6教师实体属性图(6)留言实体包括用户id、留言信息、留言时间、回复信息、回复时间等属性,其实体属性图如图4.7所示。图4.7留言实体属性图(7)活动实体包括活动名称、活动详情、举办时间等属性,其实体属性图如图4.8所示。图4.8活动实体属性图(8)课程实体包括课程名、上课时间、课程详情等属性,其实体属性图如图4.9所示。图4.9课程实体属性图(9)班级实体包括班级id、年级、班主任、班长、总人数、学年等属性,其实体属性图如图4.10所示。图4.10班级实体属性图4.2.3逻辑结构设计用符合数据库管理系统产品所支援的数据模式来取代抽象的E-R图,即逻辑结构。创建了一个资料库资料表,结果如下所示。(1)简介信息表“简介信息表”用来记录幼儿园的基本信息,其表结构如表4.1所示:表4.1jianjie信息表编号数据字段名称对应类型主键允许空字段的备注信息No1C_idint(4)PKNo唯一标识No2C_filenamenvarchar(100)NONull图片No3C_shipinnvarchar(100)NONull视频No4C_titlenvarchar(20)NONull幼儿园名称No5C_contentText(16)NONull幼儿园详情(2)餐饮信息表“餐饮信息表”用来记录每日三餐的信息,其表结构如表4.2所示:表4.2canyin信息表编号数据字段名称对应类型主键允许空字段的备注信息No1C_idint(4)PKNo唯一标识No2C_xqnvarchar(10)NONull星期No3C_zaocannvarchar(50)NONull早餐No4C_wucannvarchar(50)NONull午餐No5C_wancannvarchar(50)NONull晚餐(3)教师信息表“教师信息表”用来记录教师的信息,其表结构如表4.3所示:表4.3jiaoshi信息表编号数据字段名称对应类型主键允许空字段的备注信息No1C_idint(4)PKNo主键No2C_filenamenvarchar(9)NONull图片No3C_namenvarchar(10)NONull姓名No4C_sexnvarchar(5)NONull性别No5C_agenvarchar(5)NONull年龄No6C_zcnvarchar(15)NONull职称No7C_xuelinvarchar(8)NONull学历No8C_gnnvarchar(10)NONull工龄No9C_contenttext(20)NONull详情(4)留言信息表“留言信息表”用来记录留言的信息,其表结构如表4.4所示:表4.4liuyan信息表编号数据字段名称对应类型主键允许空字段的备注信息No1C_idint(4)PKNo唯一标识No2C_midnvarchar(9)NONull用户idNo3C_contentnvarchar(20)NONull留言内容No4C_savetimenvarchar(15)NONull留言时间No5C_hfcontentnvarchar(50)NONull回复内容No6C_hftimenvarchar(15)NONull回复时间(5)幼儿活动信息表“幼儿活动信息表”用来记录幼儿活动的信息,其表结构如表4.5所示:表4.5puji信息表编号数据字段名称对应类型主键允许空字段的备注信息No1C_idint(4)PKNo唯一标识No2C_filenamenvarchar(50)NONull图片No3C_titlenvarchar(10)NONull活动名No4C_contenttext(16)NONull活动详情No5C_savetimenvarchar(10)NONull举办时间(6)前台用户信息表“前台用户信息表”用来记载前台使用者资讯的表格,表格结构如下表4.6所示:表4.6member信息表编号数据字段名称对应类型主键允许空字段的备注信息No1C_idint(4)PKNo用户idNo2C_utypenvarchar(10)NONull身份No3C_unamenvarchar(9)NONull用户名No4C_upassnvarchar(16)NONull密码No5C_tnamenvarchar(8)NONull姓名No6C_sexnvarchar(5)NONull性别No7C_agenvarchar(5)NONull年龄No8C_telnvarchar(15)NONull电话No9C_savetimenvarchar(20)NONull创建时间No10C_delstatusnvarchar(20)NONull是否存在(7)管理员用户信息表“管理员用户信息表”用来记录管理员用户的具体信息,其表结构如表4.7所示:表4.7sysuser信息表编号数据字段名称对应类型主键允许空字段的备注信息No1C_idint(4)PKNo管理员idNo2C_usertypenvarchar(10)NONull身份No3C_usernamenvarchar(10)NONull用户名No4C_userpwdnvarchar(20)NONull密码No5C_realnamenvarchar(10)NONull姓名No6C_sexnvarchar(5)NONull年龄No7C_agenvarchar(5)NONull性别No8C_telnvarchar(15)NONull电话No9C_delstatusnvarchar(20)NONull是否存在No10C_savetimenvarchar(20)NONull保存时间(8)特色课程信息表“课程信息表”用来记录课程的信息,其表结构如表4.8所示:表4.8kecheng信息表编号数据字段名称对应类型主键允许空字段的备注信息No1C_idint(4)PKNo课程idNo2C_filenamenvarchar(20)NONull图片No3C_namenvarchar(20)NONull课程名No4C_sktimenvarchar(15)NONull上课时间No5C_contenttext(16)NONull课程详情No6C_savetimenvarchar(30)NONull保存时间(9)班级信息表“班级信息表”用来记录班级的信息,其表结构如表4.9所示:表4.9banji信息表编号数据字段名称对应类型主键允许空字段的备注信息No1C_idint(4)PKNo班级idNo2C_filenamenvarchar(9)NONull图片No3C_classnvarchar(10)NONull班级No4C_tnamenvarchar(5)NONull班主任No5C_bnamenvarchar(5)NONull班长No6C_countnvarchar(6)NONull总人数No7C_yearnvarchar(8)NONull学年No8C_cnnvarchar(10)NONull详情
第5章系统实现5.1用户信息管理系统管理员在用户信息管理页面可以查看所有用户和删除老用户。当前台有新用户成功注册后,即可在用户信息列表查看到该用户的详细信息;如果您希望删除一个用户,只需点击操作栏中的“删除”键就可以将其删除。用户信息管理界面如图5.1所示:图5.1用户信息管理界面核心代码如下: //用户列表 @RequestMapping("admin/memberlist") publicStringlistAll(@RequestParam(defaultValue="1",value="pageNum")IntegerpageNum,HttpServletRequestrequest,HashMapmap){ Stringkey=request.getParameter("key"); map.put("key",key); PageHelper.startPage(pageNum,10); List<Member>list=memberDAO.selectAll(map); PageInfo<Member>pageInfo=newPageInfo<Member>(list); request.setAttribute("key",key); request.setAttribute("pageInfo",pageInfo); return"admin/memberlist"; } //用户信息删除 @RequestMapping("admin/memberDel") publicStringdel(intid,RedirectAttributesredirectAttributes){ memberDAO.delete(id); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:memberlist.do"; }在基于Java的幼儿园管理系统正常运行后,每一个用户都要先登录后才能访问该系统,新的用户要先注册后才能登录。新用户点击注册按钮进入用户注册页面,在该页面中,用户需要填写账号、密码、姓名、性别、年龄和联系方式,填写完毕后,点击提交,系统会对账号信息的唯一性进行判定,在判定成功后,会返回注册成功,并且可以用这个账号登录,当用户注册的账号已经存在时,就会收到这个账号已经存在的提示信息,并且注册失败。前台用户注册的界面如图5.2所示:图5.2前台用户注册界面核心代码如下: //用户注册 @RequestMapping("register") publicStringreg(Membermember,HttpServletRequestrequest,RedirectAttributesredirectAttributes){ //member.setUpass(MD5.getDigest(member.getUpass())); member.setSavetime(Info.getDateStr()); memberDAO.add(member); redirectAttributes.addFlashAttribute("reg","注册成功,请登录"); return"login"; } //检查用户名是否唯一 @RequestMapping("checkUname") publicvoidcheckUname(Stringuname,HttpServletRequestrequest,HttpServletResponseresponse){ try{ PrintWriterout=response.getWriter(); List<Member>list=memberDAO.checkUname(uname); if(list.size()==0){ out.print(0); }else{ out.print(1); } }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } }在注册完成之后,会自动跳转到登录界面,当用户输入正确的账号、密码和验证码后,点击登录就可以登录成功。如果输入错误,提示账号、密码或验证码输入不正确,其用户登录的界面如图5.3所示:图5.3用户登录界面核心代码如下: //前台登录 @RequestMapping("Login") publicStringqtLogin(Membermember,Stringupass,HttpServletRequestrequest){ List<Member>list=memberDAO.selectOne(member); if(list.size()==0){ request.setAttribute("suc","用户名或密码错误"); return"login"; }else{ request.getSession().setAttribute("sessionmember",list.get(0)); return"redirect:index.do"; } }每一位用户在注册之后,都能够在任何时候对自己的个人信息进行修改,当你登录成功之后,你可以点击对自己的个人信息进行修改,这样你就会进入到一个个人信息编辑界面,在这个界面中,你的第一栏是你的个人账户信息,第二栏是你的姓名信息,再往下是你的性别信息、年龄信息和电话号码,你将你想要修改的信息全部输入进去,然后点击提交按钮,你就可以修改成功了。在图5.4中显示了个人信息的编辑界面:图5.4个人信息编辑界面核心代码如下: //修改个人信息 @RequestMapping("mgrinfo") publicStringgredit(Membermember,RedirectAttributesredirectAttributes,HttpServletRequestrequest){ memberDAO.update(member); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:memberinfoEditshow.do?msg=gr"; }用户可以修改个人的信息,也可以修改个人账户的密码,在点击了修改密码按钮后,进入修改界面,用户填写旧密码和新密码,点击提交,就可以提交到后台进行验证,验证了密码的符合格式要求之后,会显示修改成功,并会自动退出登录,回到登录界面,其修改密码界面如图5.5所示:图5.5修改密码界面核心代码如下: //修改密码 @RequestMapping("upassedit") publicStringupdatepwd(intid,Stringqrnewupass,HttpServletRequestrequest,RedirectAttributesredirectAttributes){ memberDAO.updatepwd(id,qrnewupass); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:memberinfoEditshow.do?msg=mm"; }5.2幼儿园基本信息管理每一所幼儿园都要有一份基础资料,它包含了幼儿园的名称,幼儿园的照片,幼儿园的地址,幼儿园的性质,幼儿园的具体情况等。在此基础上,系统还可以通过管理人员对数据进行修改,以确保数据的准确性和实时性。图5.6中显示了幼儿园的基本资料编辑界面:图5.6幼儿园基本资料编辑界面核心代码如下: //编辑页面 @RequestMapping("admin/jianjieshow") publicStringshow(HttpServletRequestrequest,RedirectAttributesredirectAttributes){ Stringmsg=request.getParameter("msg")==null?"":request.getParameter("msg"); Jianjiejianjie=jianjieDAO.findById(1); if(msg.equals("msg")){ request.setAttribute("suc","操作成功"); } request.setAttribute("jianjie",jianjie); return"admin/jianjieedit"; } //简介编辑 @RequestMapping("admin/jianjieEdit") publicStringupdate(Jianjiejianjie,HttpServletRequestrequest){ jianjieDAO.update(jianjie); return"redirect:jianjieshow.do?msg=msg"; }前台用户注册登录后点击“关于我们”即可查看幼儿园的基本信息,其幼儿园基本信息查看界面如图5.7所示:图5.7幼儿园基本信息查看界面核心代码如下: //前台显示 @RequestMapping("jianjie") publicStringlist(HttpServletRequestrequest){ Jianjiejianjie=jianjieDAO.findById(1); request.setAttribute("jianjie",jianjie); return"jianjie"; }5.3教师信息管理管理员用户登录后台管理后点击“教师管理”进入教师信息管理界面如图5.8所示,可对教师资料进行增加、删除、修改、查询操作。其 图5.8教师信息管理界面 核心代码如下: //后台教师信息列表 @RequestMapping("admin/jiaoshilist") publicStringddlist(@RequestParam(defaultValue="1",value="pageNum")IntegerpageNum,HttpServletRequestrequest){ Stringkey=request.getParameter("key"); PageHelper.startPage(pageNum,10); HashMapmap=newHashMap(); map.put("key",key); List<Jiaoshi>list=jiaoshiDAO.selectAll(map); PageInfo<Jiaoshi>pageInfo=newPageInfo<Jiaoshi>(list); request.setAttribute("key",key); request.setAttribute("pageInfo",pageInfo); return"admin/jiaoshilist"; }//jiaoshiAdd教师新增 @RequestMapping("admin/jiaoshiAdd") publicStringadd(Jiaoshijiaoshi,RedirectAttributesredirectAttributes){ jiaoshiDAO.add(jiaoshi); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:jiaoshilist.do"; }//教师编辑 @RequestMapping("admin/jiaoshiEdit") publicStringedit(Jiaoshijiaoshi,RedirectAttributesredirectAttributes){ jiaoshiDAO.update(jiaoshi); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:jiaoshilist.do"; } //教师删除 @RequestMapping("admin/jiaoshiDel") publicStringdel(intid,RedirectAttributesredirectAttributes){ jiaoshiDAO.delete(id); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:jiaoshilist.do"; }在招聘了新的教师之后,就需要将新的教师信息添加进去,管理员点击添加信息按钮,就可以跳转到教师添加界面,教师信息添加界面具体如图5.9所示:图5.9教师信息添加界面核心代码如下: //教师编辑页面 @RequestMapping("admin/jiaoshishow") publicStringshow(intid,HttpServletRequestrequest){ Jiaoshihdlist=jiaoshiDAO.selectById(id); request.setAttribute("jiaoshi",hdlist); return"admin/jiaoshiedit"; }用户登录后点击教师链接,会跳转到教师页面,页面记录了所有的教师的基本信息,教师信息界面如图5.10所示:图5.10教师信息界面前台用户若要查看某一位老师的具体资料,只需点击该老师,便会进入该老师的详细资料界面,如图5.11所示::图5.11教师详细资料界面核心代码如下: //教师信息前台列表 @RequestMapping("jiaoshi") publicStringqtlist(@RequestParam(defaultValue="1",value="pageNum")IntegerpageNum,HttpServletRequestrequest){ Stringkey=request.getParameter("key"); PageHelper.startPage(pageNum,10); HashMapmap=newHashMap(); map.put("key",key); List<Jiaoshi>list=jiaoshiDAO.selectAll(map); PageInfo<Jiaoshi>pageInfo=newPageInfo<Jiaoshi>(list); request.setAttribute("key",key); request.setAttribute("pageInfo",pageInfo); return"listjiaoshi"; } //前台查看详情 @RequestMapping("jiaoshicx") publicStringjiaoshicx(intid,HttpServletRequestrequest){ HashMapmap=newHashMap(); Jiaoshijiaoshi=jiaoshiDAO.findById(id); List<Jiaoshi>jiaoshi=jiaoshiDAO.selectAll(map); request.setAttribute("jiaoshi",jiaoshi); request.setAttribute("jiaoshi",jslist); return"jiaoshicx"; }5.4餐饮信息管理管理员点击“餐饮管理”,进入餐饮管理界面如图5.12所示,可以对餐饮信息进行增删改查。图5.12餐饮信息管理界面核心代码如下: //后台餐饮信息列表 @RequestMapping("admin/canyinlist") publicStringddlist(@RequestParam(defaultValue="1",value="pageNum")IntegerpageNum,HttpServletRequestrequest){ Stringkey=request.getParameter("key"); PageHelper.startPage(pageNum,10); HashMapmap=newHashMap(); map.put("key",key); List<Canyin>list=canyinDAO.selectAll(map); PageInfo<Canyin>pageInfo=newPageInfo<Canyin>(list); request.setAttribute("key",key); request.setAttribute("pageInfo",pageInfo); return"admin/canyinlist"; } //餐饮新增 @RequestMapping("admin/canyinAdd") publicStringadd(Canyincanyin,RedirectAttributesredirectAttributes){ canyinDAO.add(canyin); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:canyinlist.do"; } //餐饮编辑 @RequestMapping("admin/canyinEdit") publicStringedit(Canyincanyin,RedirectAttributesredirectAttributes){ canyinDAO.update(canyin); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:canyinlist.do"; }//餐饮删除 @RequestMapping("admin/canyinDel") publicStringdel(intid,RedirectAttributesredirectAttributes){ canyinDAO.delete(id); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:canyinlist.do"; }管理员点击右上角的添加按钮即可跳转到餐饮信息新增界面,餐饮信息新增界面如下图5.13所示:图5.13餐饮信息新增界面核心代码如下: //餐饮编辑页面 @RequestMapping("admin/canyinshow") publicStringshow(intid,HttpServletRequestrequest){ Canyinhdlist=canyinDAO.selectById(id); request.setAttribute("canyin",hdlist); return"admin/canyinedit"; }前台用户点击餐饮信息就会进入餐饮信息界面,在餐饮清单中,就能看到餐饮的全部信息。在图5.14中,可以看到餐饮信息的查看界面:图5.14餐饮信息查看界面核心代码如下: //餐饮信息前台列表 @RequestMapping("canyin") publicStringqtlist(@RequestParam(defaultValue="1",value="pageNum")IntegerpageNum,HttpServletRequestrequest){ Stringkey=request.getParameter("key"); PageHelper.startPage(pageNum,10); HashMapmap=newHashMap(); map.put("key",key); List<Canyin>list=canyinDAO.selectAll(map); PageInfo<Canyin>pageInfo=newPageInfo<Canyin>(list); request.setAttribute("key",key); request.setAttribute("pageInfo",pageInfo); return"listcanyin"; }5.5课程信息管理管理员点击“课程管理”进入课程信息页面如图5.15所示。可以在课程管理页添加、删除、修改、查询。图5.15课程信息管理界面核心代码如下: //课程列表 @RequestMapping("admin/kechenglist") publicStringlistAll(@RequestParam(defaultValue="1",value="pageNum")IntegerpageNum,HttpServletRequestrequest,HashMapmap){ Stringkey=request.getParameter("key"); map.put("key",key); PageHelper.startPage(pageNum,10); List<KC>list=kechengDAO.selectAll(map); PageInfo<KC>pageInfo=newPageInfo<KC>(list); request.setAttribute("key",key); request.setAttribute("pageInfo",pageInfo); return"admin/kechenglist"; } //课程新增 @RequestMapping("admin/kechengAdd") publicStringadd(KCkecheng,RedirectAttributesredirectAttributes,HttpServletRequestrequest,HashMapmap){ Stringsavetime=Info.getDateStr(); kecheng.setSavetime(savetime); kechengDAO.add(kecheng); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:kechenglist.do"; } //课程编辑 @RequestMapping("admin/kechengEdit") publicStringedit(KCkecheng,RedirectAttributesredirectAttributes){ kechengDAO.update(kecheng); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:kechenglist.do"; }//删除 @RequestMapping("admin/kechengDel") publicStringdel(intid,RedirectAttributesredirectAttributes){ kechengDAO.delete(id); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:kechenglist.do"; }当管理员想要增加一门课程的时候,只要点击“添加”按钮,你就会进入到课程新增页面,在你填好了课程的名称和上课时间之后,你再点击提交,你就可以获得一门新的课程,这个课程新增界面具体表现在图5.16中:图5.16课程新增界面核心代码如下://跳转至编辑页面 @RequestMapping("admin/kechengshow") publicStringshow(intid,HttpServletRequestrequest){ KCkecheng=kechengDAO.findById(id); request.setAttribute("kecheng",kecheng); return"admin/kechengedit"; }前台用户可以通过进入幼儿园管理系统,查看特色课程信息,了解幼儿园开设的各种有趣的课程,包括绘画、音乐、舞蹈、手工等。用户可以点击特色课程,查看具体的课程内容和描述信息,例如:课程名称、上课时间、课程时长、教学内容等等。用户还可以查看课程的图片展示,了解课程的教学效果和实际教学过程。特色课程列表界面如图5.17所示:图5.17特色课程列表界面用户可以点击某个课程的查看详情按钮,就可以跳转到详情界面,查看该课程的详细信息,具体情况见图5.18。图5.18课程详细信息界面核心代码如下: //课程前台列表 @RequestMapping("listkecheng") publicStringqtlist(@RequestParam(defaultValue="1",value="pageNum")IntegerpageNum,HttpServletRequestrequest,HashMapmap){ Stringkey=request.getParameter("key"); map.put("key",key); PageHelper.startPage(pageNum,9); List<KC>list=kechengDAO.selectAll(map); PageInfo<KC>pageInfo=newPageInfo<KC>(list); request.setAttribute("key",key); request.setAttribute("pageInfo",pageInfo); return"listkecheng"; } //前台查看详情 @RequestMapping("kechengcx") publicStringkechengcx(intid,HttpServletRequestrequest){ HashMapmap=newHashMap(); Kechengkecheng=kechengDAO.findById(id); List<Kecheng>kecheng=kechengDAO.selectAll(map); request.setAttribute("kecheng",kecheng); request.setAttribute("kecheng",kclist); return"kechengcx"; }5.6幼儿活动信息管理管理员选择“幼儿活动管理”,进入活动管理界面如图5.19所示,可以对信息进行增删改查操作。图5.19幼儿活动信息管理界面核心代码如下: //幼儿活动列表 @RequestMapping("admin/pujilist") publicStringlistAll(@RequestParam(defaultValue="1",value="pageNum")IntegerpageNum,HttpServletRequestrequest,HashMapmap){ Stringkey=request.getParameter("key"); map.put("key",key); PageHelper.startPage(pageNum,10); List<Puji>list=pujiDAO.selectAll(map); PageInfo<Puji>pageInfo=newPageInfo<Puji>(list); request.setAttribute("key",key); request.setAttribute("pageInfo",pageInfo); return"admin/pujilist"; }//幼儿活动新增 @RequestMapping("admin/pujiAdd") publicStringadd(Pujipuji,RedirectAttributesredirectAttributes,HttpServletRequestrequest,HashMapmap){ Stringsavetime=Info.getDateStr(); puji.setSavetime(savetime); pujiDAO.add(puji); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:pujilist.do"; } //幼儿活动编辑 @RequestMapping("admin/pujiEdit") publicStringedit(Pujipuji,RedirectAttributesredirectAttributes){ pujiDAO.update(puji); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:pujilist.do"; } //删除 @RequestMapping("admin/pujiDel") publicStringdel(intid,RedirectAttributesredirectAttributes){ pujiDAO.delete(id); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:pujilist.do"; } 在管理员对幼儿活动进行添加操作的时候,点击添加按钮,就可以跳转到活动信息新增界面,幼儿活动信息新增界面如图5.20所示。图5.20幼儿活动信息新增界面核心代码如下: //跳转至编辑页面 @RequestMapping("admin/pujishow") publicStringshow(intid,HttpServletRequestrequest){ Pujipuji=pujiDAO.findById(id); request.setAttribute("puji",puji); return"admin/pujiedit"; }在“幼儿园活动”网页中,前台用户可以看到幼儿园将要开展的或已经开展的活动,包括了活动名称、时间、地点、主题以及相关的图片。使用者也可以检视事件的详情及相关资讯。图5.21显示了幼儿活动的界面图5.21幼儿活动界面当用户点击某项活动时,就会进入到活动详情页面,这样就可以看到活动的具体信息,幼儿活动详情界面如图5.22所示:图5.22幼儿活动详情界面核心代码如下: //幼儿活动前台列表 @RequestMapping("puji") publicStringqtlist(@RequestParam(defaultValue="1",value="pageNum")IntegerpageNum,HttpServletRequestrequest,HashMapmap){ Stringkey=request.getParameter("key"); map.put("key",key); PageHelper.startPage(pageNum,9); List<Puji>list=pujiDAO.selectAll(map); PageInfo<Puji>pageInfo=newPageInfo<Puji>(list); request.setAttribute("key",key); request.setAttribute("pageInfo",pageInfo); return"listpuji"; } //前台查看详情 @RequestMapping("pujicx") publicStringpujicx(intid,HttpServletRequestrequest){ HashMapmap=newHashMap(); Pujipuji=pujiDAO.findById(id); List<Puji>pjlist=pujiDAO.selectAll(map); request.setAttribute("puji",puji); request.setAttribute("pjlist",pjlist); return"pujicx"; }5.7班级信息管理管理员点选“班级信息管理”,便会进入班级管理界面如图5.23所示,可以对资料进行增加、删除、修改、查找等操作。图5.23班级信息管理界面核心代码如下: //班级列表 @RequestMapping("admin/banjilist") publicStringlistAll(@RequestParam(defaultValue="1",value="pageNum")IntegerpageNum,HttpServletRequestrequest,HashMapmap){ Stringkey=request.getParameter("key"); map.put("key",key); PageHelper.startPage(pageNum,10); List<BJ>list=banjiDAO.selectAll(map); PageInfo<BJ>pageInfo=newPageInfo<BJ>(list); request.setAttribute("key",key); request.setAttribute("pageInfo",pageInfo); return"admin/banjilist"; }//班级新增 @RequestMapping("admin/banjiAdd") publicStringadd(BJbanji,RedirectAttributesredirectAttributes,HttpServletRequestrequest,HashMapmap){ Stringsavetime=Info.getDateStr(); banji.setSavetime(savetime); banjiDAO.add(kecheng); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:banjilist.do"; } //班级编辑 @RequestMapping("admin/banjiEdit") publicStringedit(BJbanji,RedirectAttributesredirectAttributes){ bianjiDAO.update(banji); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:banjilist.do"; } //删除 @RequestMapping("admin/banjiDel") publicStringdel(intid,RedirectAttributesredirectAttributes){ banjiDAO.delete(id); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:banjilist.do"; } 管理员点击班级列表界面的添加按钮,就会进入班级新增页面,在填写好班级的班级信息、年级信息、班主任信息、班长信息、学生数和学年之后,点击提交按钮,就可以已经上传新增的班级信息,然后在前台和后台界面就可以查看到新增的班级信息,班级信息新增界面如图5.24所示:图5.24班级信息新增界面核心代码如下: //跳转至编辑页面 @RequestMapping("admin/banjishow") publicStringshow(intid,HttpServletRequestrequest){ BJbanji=banjiDAO.findById(id); request.setAttribute("banji",banji); return"admin/banjiedit"; }在班级网页中,可以看到幼儿园的班级,年级,以及与之有关的图片。使用者亦可检视该课程之详情及有关资讯。“班级查看”界面见图5.25:图5.25班级查看界面在班级列表中,点击“查看详情”按钮,就可以看到该班次的具体情况,班次详情界面如图5.26所示:图5.26班次详情界面核心代码如下: //班级前台列表 @RequestMapping("listbanji") publicStringqtlist(@RequestParam(defaultValue="1",value="pageNum")IntegerpageNum,HttpServletRequestrequest,HashMapmap){ Stringkey=request.getParameter("key"); map.put("key",key); PageHelper.startPage(pageNum,9); List<BJ>list=banjiDAO.selectAll(map); PageInfo<BJ>pageInfo=newPageInfo<BJ>(list); request.setAttribute("key",key); request.setAttribute("pageInfo",pageInfo); return"listbanji"; } //前台查看详情 @RequestMapping("banjicx") publicStringbanjicx(intid,HttpServletRequestrequest){ HashMapmap=newHashMap(); Banjibanji=banjiDAO.findById(id); List<Banji>bjlist=banjiDAO.selectAll(map); request.setAttribute("banji",banji); request.setAttribute("bjlist",bjlist); return"banjicx"; }5.8留言信息管理幼儿园管理系统的留言板功能主要用于幼儿园老师和家长之间的交流和信息传递。实现该功能需要以下步骤:(1)创建留言板模块:在幼儿园管理系统中创建留言板模块,包括留言板的展示页面和发布留言的功能页面。(2)留言板体现:在留言板的体现页面,需要展示最近的留言内容和留言者的信息。可以按照时间先后或者按照班级分类显示。(3)发布留言:在发布留言的功能页面,家长可向班级的留言板发布信息,包括提醒事项、感谢信、反馈意见等。(4)回复留言:老师可在留言板上对家长留言进行回复,回复内容也会被显示在留言板上,方便其他家长查看。(5)管理留言:管理员能够审核并删除不符合规定和不当的留言,保证留言板的秩序和安全。以上是幼儿园管理系统留言板功能的实现描述,该功能能够提高家长和老师之间的交流频率和效率,让家长及时了解幼儿园的动态和重要信息,也便于老师管理班级和建立与家长的互动关系。管理员点击留言管理,跳转到管理界面如图5.27所示,可以对留言信息进行查询回复和删除操作。图5.27留言信息管理界面核心代码如下: //留言后台列表 @RequestMapping("admin/liuyanlist") publicStringlistAll(@RequestParam(defaultValue="1",value="pageNum")IntegerpageNum,HttpServletRequestrequest,HashMapmap){ Stringkey=request.getParameter("key"); map.put("key",key); PageHelper.startPage(pageNum,10); List<Liuyan>list=liuyanDAO.selectAll(map); PageInfo<Liuyan>pageInfo=newPageInfo<Liuyan>(list); for(Liuyanliuyan:list){ Membermember=memberDAO.findById(Integer.parseInt(liuyan.getMid())); liuyan.setMember(member); } request.setAttribute("key",key); request.setAttribute("pageInfo",pageInfo); //saveobject.getTypeObject(request); return"admin/liuyanlist"; } //留言回复 @RequestMapping("admin/liuyanHF") publicStringhf(Liuyanliuyan,HttpServletRequestrequest,RedirectAttributesredirectAttributes){ liuyan.setHftime(Info.getDateStr()); liuyanDAO.update(liuyan); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:liuyanlist.do"; } //留言删除 @RequestMapping("admin/liuyanDel") publicStringdel(intid,HttpServletRequestrequest,RedirectAttributesredirectAttributes){ liuyanDAO.delete(id); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:liuyanlist.do"; }前台的使用者登录后,打开在线留言页面。在留言页面可以查看和增加留言信息。其留言界面如图5.28所示:图5.28留言界面核心代码如下: //留言前台列表 @RequestMapping("listliuyan") publicStringqtlist(@RequestParam(defaultValue="1",value="pageNum")IntegerpageNum,HttpServletRequestrequest,HashMapmap){ PageHelper.startPage(pageNum,10); List<Liuyan>list=liuyanDAO.selectAll(map); PageInfo<Liuyan>pageInfo=newPageInfo<Liuyan>(list); for(Liuyanliuyan:list){ Membermember=memberDAO.findById(Integer.parseInt(liuyan.getMid())); liuyan.setMember(member); } request.setAttribute("pageInfo",pageInfo); return"listliuyan"; } //留言新增 @RequestMapping("liuyanAdd") publicStringlyadd(Liuyanliuyan,HttpServletRequestrequest,RedirectAttributesredirectAttributes){ Membermember=(Member)request.getSession().getAttribute("sessionmember"); if(member!=null){ liuyan.setMid(String.valueOf(member.getId())); liuyan.setSavetime(Info.getDateStr()); liuyanDAO.add(liuyan); redirectAttributes.addFlashAttribute("suc","操作成功"); return"redirect:listliuyan.do"; }else{ return"login"; } }管理员在留言列表中点击回复按钮,就会跳转到留言回复界面如图5.29所示。图5.29留言回复界面核心代码如下: //回复页面 @RequestMapping("admin/liuyanshow") publicStringshow(intid,HttpServletRequestrequest){ Liuyanliuyan=liuyanDAO.findById(id); request.setAttribute("liuyan",liuyan); return"admin/liuyanhf"; }
第6章系统测试6.1测试方法TESTERS首先站在使用者的角度,对不同的测试案例进行对比,找出不同的测试案例。因此,可以用黑盒测试方法来测试这个系统。6.2功能测试系统登录是管理系统的安全保障,设计测试用例触及多个方面,首先要测试的是登录功能。如果你输入的帐号和密码不正确,那么你就无法登录,其结果如下图6.1-6.3所示:图6.1不输入信息错误提示图6.2账号输入错误图6.3密码输入错误在正确地输入了账号和密码后,会出现一个“登录成功”的提示,并跳转到系统的主界面,登录成功后如下图6.4所示:图6.4系统主界面对系统用户模块的功能进行测试,向MySQL数据库中输入用户的信息,并对用户信息进行更新或删除操作,最后比较操作前后的结果。在用户信息管理界面即可查看所有的用户信息,其用户信息管理界面如下图6.5所示:图6.5用户信息管理界面使用管理员添加zou账号后,后台即可查看到该用户信息,添加用户成功后的用户管理界面如下图6.6所示:图6.6添加成功后的用户信息管理界面将aa123账号修改为任123,姓名修改为仁老师,修改成功后如下图6.7所示:图6.7修改用户成功后的用户信息管理界面将郭老师除外的所有用户全部删除,删除成功后如下图6.8所示:图6.8删除用户成功后的用户信息管理界面测试系统幼儿园基础信息管理模块,用于浏览幼儿园的基础信息,并更新幼儿园的基础信息,对比操作先后的结果。查看幼儿园基
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 磷石膏渣场综合治理提升项目规划设计
- 集中供热设施改造项目技术方案
- 地下停车场车位优化方案
- 抽水蓄能电站初设方案
- 并网系统适配光伏储能充电桩的接入方案
- 2026学年四川省凉山州四年级数学期末评估全真模拟题附答案详细答案和解析
- 2026年全国一级注册建筑师之建筑结构考试进阶提升题附答案
- 论肿瘤位置对胃癌术后患者预后的多维影响与临床启示
- 论经济法视角下我国药品价格虚高的有效规制
- 论等同原则在专利侵权判定中的精准应用与价值衡平
- 课件插入音频教学的好处
- 宿舍矛盾课件
- 红色文化知识竞赛试题及答案
- 药物外渗应急预案及处理
- 油气储存企业安全风险评估细则(2025年修订版)
- 2025年全国统一高考英语试卷(全国一卷)含答案
- DB62T 3081-2022 绿色建筑工程验收标准
- 学习解读《SLT 631.1水利水电工程单元工程施工质量验收标准 第 1 部分:土石方工程》课件
- 材料物理知到智慧树章节测试课后答案2024年秋南开大学
- 新能源发电技术 课件 第4章 太阳能发电
- 城市合伙人协议 城市合伙人方案(协议)范本
评论
0/150
提交评论