基于安卓的学生在线评教小程序设计与实现_第1页
基于安卓的学生在线评教小程序设计与实现_第2页
基于安卓的学生在线评教小程序设计与实现_第3页
基于安卓的学生在线评教小程序设计与实现_第4页
基于安卓的学生在线评教小程序设计与实现_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

关键技术介绍1.1Android简介Android是一个开源的移动操作系统,采用Linux作为操作系统内核,实现了进程管理,存储管理,设备管理,文件管理等操作系统的基本功能,同时,Android提供开源AndroidSDK(SoftwareDevelopment)软件组件,开发人员基于Android应用程序开发框架,灵活方便地开发各种移动应用程序REF_Ref18522\r\h[7]。2.2JSP简介JSP是ServletAPI的扩展,ServletAPI本质上将Java代码编码为HTML,HTML由JSP容器编译和执行,并根据动态代码的结果生成相应的HTML代码,以便在客户机的浏览器中显示REF_Ref18522\r\h[2]。JSP具有servlet包括访问JavaAPI的所有优点,它在转换为servlet之前是可用的。此外,JSP页面是一种通用的表示代码,它是嵌入在Servlet中的应用程序之中的,因此我们还可以把JSP页面称之为“彻底”的Servlet。通过JSP动态页面技术访问页面操作流程如图2-1所示。2.3MYSQL简介MySQL是瑞典MySQLAB公司开发的一个小型关系数据库管理系统,Sun公司在2008年1月16日将其收购。是因为它的体积偏小,速度较快,成本很低所以往往被许多中小型网站数据库选中作为数据库。使用MySQL和他们自己的快速底层例程(ISAM)来连接表是开发人员最初的意图。在进行了一系列的测试之后开发人员们得出结论:mSQ并没有任何表现能够表现出他们所需要的快速灵活。2.4Apache服务器Apache最初是由伊利诺伊大学厄巴纳-香槟分校的国家超级计算机应用中心(NCSA)开发的,是世界上最大的Web服务器软件。从那时起,apacheXHTTP就得到了开源社区成员的开发和增强。ApacheHttpweb服务器具有可靠的信誉,并且已经被世界上超过一半的web站点使用——尤其是几乎所有最受欢迎和访问最多的站点。第3章系统分析3.2系统功能需求分析本系统实现一个基于安卓学校在线评教小程序,分为学生用户、系统管理员用户和教师用户三个主要使用用户。功能模块具体描述如下:学生管理模块:学生用户注册/登录:实现了每个学生用户的注册和登录。评教列表:实现评教的列表显示,学生登录后可以对评教进行评分。公告:学生用户可以查看管理员发布的公告详情。我的:实现学生用户登录后可以根据自己的需求对自己的资料信息进行修改。管理员管理模块:系统管理:管理员对该系统有一个整体的管理,普通用户没有此权限,管理员对普通用户的信息以及学生班级的信息进行添加、查看、编辑或删除。评分管理:管理员可以查看评分统计信息,还可以管理不同学生对不同老师的具体评分信息,对其进行相关操作。公告管理:管理员可以发布实时的公告,也可以对公告进行相关操作,例如设置发布时间,修改公告内容。教师管理模块包括:1.教师信息管理:教师登录系统后,可以修改个人信息和登录密码。2.课程信息管理:教师可以查看各科课程的基本信息。3.我的评分:教师可以查看学生们对自己的评分信息。第4章系统设计4.1系统开发环境操作系统:Windows10。开发软件:eclipse。数据库:mysql。4.2数据库设计4.2.1数据库逻辑结构设计规划出的实体有七个,具体实体属性图描述如下:4.2.2数据库物理结构设计根据前面的数据分析可建立如下几张数据表,各表详细信息描述如下:4.2.3系统功能模块设计 (1)后台登录模块为了保证系统的安全运行,用户在使用该系统之前要输入用户名和密码,选择适当的用户身份,输入正确的用户名和密码进入系统。未注册用户必须先进行个人信息注册,注册完成后才能进行登录系统的操作。(后台的每个用户账号对应至少一个角色权限,当某个用户账号存在多个角色权限时,需要在登录页面进行选择角色登录。)(2)系统后台管理模块用户登录成功之后会进入后台管理模块。班级管理模块 进入班级管理界面,显示出班级列表的相关信息,该模块可以进行班级的新增,修改,删除。新增班级的信息有名称,年级,学院以及专业。用户管理模块进入用户管理界面,可以看到两种身份的用户信息(教师及学生),会显示相应身份用户的相关个人信息。课程信息管理模块进入课程信息管理界面,会显示所有课程的详细信息,并且可以根据教师的姓名进行选择查询,选择某个老师的姓名,点击查询即可显示该老师相关的课程信息。对于某个老师的课程信息可以进行新增,修改,删除。第5章系统详细设计与实现5.1服务端5.1.1管理员登录模块后台的服务器实现采用JDBC访问后台数据库,并返回响应结果。通过登陆后台,服务器端包含了系统管理、用户管理、课程信息管理、评分管理、界面如下图:5.2客户端5.2.1登录模块客户端页面在客户端的登录界面的选取中,本系统是采用了常用的对话框的形式。当学生用户输入正确的用户名和密码之后,会成功进如该系统,界面如下图:第6章系统测试6.1软件测试概述在一个软件的开发过程中,想要开发的软件能够成功的被广泛运用,那么对软件进行测试(简称“软件测试”)这一步骤是万万不可或缺的,它是保证自己所开发软件的软件质量的一种重要手段。软件测试有两种方法:黑盒测试和白盒测试。两个测试方法有着本质的区别,黑盒测试是验证每个功能的运行是否属于正常,前提是已经知道其功能。白盒测试是验证系统的内部操作是否符合规则和规定,前提是知道内部工作流程。6.2测试设计表6.1系统登录测试用例表根据上述的系统入口测试用例,如果输入正确的信息,进入系统;如出错,其测试效果图如下:结论实践证明,基于安卓学生在线评教小程序有着很好的发展前景,经测试运行。本文所开发的基于安卓学校在线评教小程序拥有良好的交互界面、用户使用起来方便灵活、各个用户操作简单、涵盖的重要功能齐全、还拥有独特的表现方式,并且还基本具备了成熟的技术理论。通过这次忙碌又有条不紊的软件开发,使我有机会对我所学到的基本理论,相关专业知识和我的专业基本技术有了一定的了解与认识。基于安卓学生在线评教小程序系统是一个人机系统。基本的信息处理工具有计算机系统和现代通信技术两个工具,为管理决策提供科学有效的信息。它包含了:相关数据处理功能,主要功能预测,规划和控制功能。基于安卓学生在线评教小程序系统的开发是一项较为复杂的系统开发工程,必须严格遵守系统设计,系统分析,系统实现,系统开发和评估等方面的规则与规定。基于安卓学生在线评教小程序系统,旨在为提高学生在线评教水平提供了信息处理的进一步处理和加工的综合性工具。在此基础上,系统会准确地识别开发系统来分析和总结用户的基础上,用户需求的功能。设计该系统的前置程序实际要求。该系统的发展不仅提供正确的数据及时处理,以确保系统正常工作,及时在系统中调整,监测和控制功能,反馈给运营商数学方法来预测使用必须考虑是否存在使用与预测函数未来历史数据。毕业设计是我们在离开大学步入社会的最后一道大题,虽然题目很难,题量很大,看起来困难重重,但其实在我们实际的操作起来的时候,又感觉只要认真对待,所有的问题都能迎刃而解。在整个毕业设计的过程中,更多的JSP编程知识被我吸收,我也更加深入的探究了这个逐渐成熟和得到广泛应用的电子信息技术。设计过程也是重新学习的过程。当我遇到问题,我试着去解决。这极大地鼓舞了我们的自主学习能力,如果没有办法解决,我会认真问老师。我从老师那里学到了很多知识,老师在我的学习中发挥了重要作用。毕业设计也是一个我们从学生走向实习岗位的过渡,一条必经之路。在这不长不短的时间里,我们可以学会很多东西,比如在遇到棘手的问题时,不能总是盲目的寻求帮助,要自己先独立的思考,一味的不懂就问,是无法提高自我的独立思考能力的,还有就是在整个的设计中要保持头脑清醒,遇到不明白的地方不能焦躁急切,要沉下心来,仔细冷静的去思考探究,还要有不断接受新事物的准备,让自己的思想和能力都能有大大的提高。在设计过程是,理论和实践也必须结合起来,课堂上学到的知识往往不能够满足我们在实际开发过程中所需要的东西,所以我们一定要亲身去实践,这也是为我们走入社会,适应新身份新环境打下基础。过去,我们有一些设计经验,但我们只开发了部分模块或子系统。本次毕业设计是知识与管理相结合,我经常遇到设计上的问题。在我不知道如何解决这些问题的时候,很多同学也给予我了不少的帮助。在设计过程中,同学之间互相那公主的机会增加了,这个过程不仅培养自学和编程技巧,也提高了我沟通交流的能力,为我进入社会打下了一定的基础。在编程过程中,我充分意识到“实际上知道什么是真的”这本书是不够的。只有当理论与现实中的知识相结合才能真正学到。在不断完善和补充的同时,发现系统其他的需要,在今后的使用中也能解决很多问题。为了减少程序调试的工作量有一个重要的途径——预编程。要想在调试过程中大大的减少程序调试的工作量,必须要做好认真严谨的考虑。虽然在开始写程序之前我们都做了很多的准备工作,但在实际的程序写作中还是遇到了不少的麻烦与问题。其中一些问题如果没有完成则是意想不到的。由于时间有限,技术能力并不高超,该系统还是存在一些不足之处,该系统的功能也需要进一步的去完善。参考文献[1]陈恒、楼偶俊、朱毅、项聪、张术梅。JSP网站设计[J].清华大学出版社,2017(8):72-72.[2]张跃平、耿祥义。JSP程序设计[J].清华大学出版社,2017.[3]陆璐.JSP动态网站项目化教程.中国水利水电出版社.2013.[4]范新灿.JSP综合项目开发案例精编.高等教育出版社.2013.[5]罗如为.

Java

Web开发技术与项目实战.水利水电出版社.2019.[6]韩超。Android经典应用程序开发[J].电子工业出版社,2017,(11)[7]张余.Android网络开发从入门到精通.清华大学出版社.2014.[8]黄俊.Java程序设计与应用开发.第二版.机械工业出版社.2014.[9]李宁.Android应用开发实战.机械工业出版社.2013.[10]谢景明.Android移动开发教程.人民邮电出版社.2013.[11]崔洋.MySQL数据库应用从入门到精通.中国铁道出版社.2013.[12]王雨竹.MySQL入门经典.机械工业出版社.2013.[13]钱雪忠.MySQL数据库技术与实验指导.清华大学出版社.2012.[14]向昌成.Java程序设计项目化教程.

清华大学大学出版社.2013.[15]石正喜.MySQL数据库实用教程.北京师范大学出版社.2014.附录:学生评教代码:publicStringlist(HttpServletRequestrequest)throwsExceptionintoffset=0;intcounts=0;try{offset=Integer.parseInt(request.getParameter("pager.offset"));}catch(Exceptione){}intutype=Integer.parseInt(request.getSession().getAttribute("utype")+"");Pingfenpinfo=newPingfen();inttid=Integer.parseInt(request.getParameter("tid")==null?"0":request.getParameter("tid"));if(utype==2){Teachertea=(Teacher)request.getSession().getAttribute("cuser");pinfo.setTid(tea.getId());tid=tea.getId();doublefen=0;List<Pingfen>pingfenList=pingfenService.reportStatic(pinfo);if(pingfenList!=null&&pingfenList.size()>0){fen=pingfenList.get(0).getFs();}request.setAttribute("fen",fen);}else{doublefen=0;pinfo.setTid(tid);List<Pingfen>pingfenList=pingfenService.reportStatic(pinfo);if(pingfenList!=null&&pingfenList.size()>0){fen=pingfenList.get(0).getFs();}request.setAttribute("fen",fen);}PageBeanpage=newPageBean(offset);Pingfenpingfen=newPingfen();pingfen.setTid(tid);counts=pingfenService.getCount(pingfen);ListpingfenList=pingfenService.queryPingfenList(pingfen,page);request.setAttribute("list",pingfenList);CoursecourseQuery=newCourse();List<Course>courseList=courseService.queryCourseList(courseQuery,null);request.setAttribute("courseList",courseList);request.setAttribute("itemSize",counts);intpage_count=counts%PageBean.PAGE_IETM==0?counts/PageBean.PAGE_IETM:counts/PageBean.PAGE_IETM+1;request.setAttribute("pageItem",PageBean.PAGE_IETM);request.setAttribute("pageTotal",page_count);return"/admin/pingfen/pingfen_list.jsp";}@RequestMapping(value="/pingfen_report")publicStringreport(HttpServletRequestrequest)throwsException{Pingfenpingfen=newPingfen();List<Pingfen>pingfenList=pingfenService.reportStatic(pingfen);request.setAttribute("title","教师评分统计");Stringitems="";Stringscore="";if(pingfenList!=null&&pingfenList.size()>0){for(Pingfenpinfo:pingfenList){Teachertea=teacherService.queryTeacherById(pinfo.getTid());pinfo.setTeacherVO(tea);items=items+"'"+tea.getName()+"',";score=score+pinfo.getFs()+",";}items=items.substring(0,items.length()-1);score=score.substring(0,score.length()-1);}request.setAttribute("items",items);request.setAttribute("score",score);request.setAttribute("pingfenList",pingfenList);return"/admin/pingfen/pingfen_report.jsp";}@RequestMapping(value="/pingfen_toAdd")publicStringtoAdd(HttpServletRequestrequest)throwsException{Coursecourse=newCourse();List<Course>courseList=courseService.queryCourseList(course,null);request.setAttribute("courseList",courseList);Teacherteacher=newTeacher();List<Teacher>teacherList=teacherService.queryTeacherList(teacher,null);request.setAttribute("teacherList",teacherList);Studentstudent=newStudent();List<Student>studentList=studentService.queryStudentList(student,null);request.setAttribute("studentList",studentList);return"/admin/pingfen/pingfen_add.jsp";}@RequestMapping(value="/pingfen_add")publicStringadd(Pingfenpingfen,HttpServletRequestrequest)throwsException{pingfenService.insertPingfen(pingfen);return"redirect:pingfen_list.action";}@RequestMapping(value="/pingfen_toUpdate")publicStringtoUpdate(HttpServletRequestrequest)throwsException{intid=Integer.parseInt(request.getParameter("id"));Pingfenpingfen=pingfenService.queryPingfenById(id);request.setAttribute("pingfen",pingfen);Coursecourse=newCourse();List<Course>courseList=courseService.queryCourseList(course,null);request.setAttribute("courseList",courseList);Teacherteacher=newTeacher();List<Teacher>teacherList=teacherService.queryTeacherList(teacher,null);request.setAttribute("teacherList",teacherList);Studentstudent=newStudent();List<Student>studentList=studentService.queryStudentList(student,null);request.setAttribute("studentList",studentList);return"/admin/pingfen/pingfen_update.jsp";}@RequestMapping(value="/pingfen_update")publicStringupdate(Pingfenpingfen,HttpServletRequestrequest)throwsException{pingfenService.updatePingfen(pingfen);return"redirect:pingfen_list.action?tid="+pingfen.getTid();}@RequestMapping(value="/pingfen_delete")publicStringdelete(HttpServletRequestrequest)throwsException{intid=Integer.parseInt(request.getParameter("id"));pingfenService.deletePingfen(id);return"redirect:pingfen_list.action";}@RequestMapping(value="/pingfen_toView")publicStringtoView(HttpServletRequestrequest)throwsException{intid=Integer.parseInt(request.getParameter("id"));Pingfenpingfen=newPingfen();pingfen.setId(id);List<Pingfen>list=pingfenService.queryPingfenList(pingfen,null);pingfen=list.get(0);request.setAttribute("pingfen",pingfen);return"/admin/pingfen/pingfen_view.jsp";}}学生信息管理代码:publicStringlist(HttpServletRequestrequest)throwsException{intoffset=0;intcounts=0;try{offset=Integer.parseInt(request.getParameter("pager.offset"));}catch(Exceptione){}PageBeanpage=newPageBean(offset);Studentstudent=newStudent();Stringsno=request.getParameter("sno");student.setSno(sno);request.setAttribute("sno",sno);Stringname=request.getParameter("name");student.setName(name);request.setAttribute("name",name);Stringbanji=request.getParameter("banji");student.setBanji(Integer.parseInt(banji==null||"".equals(banji)?"0":banji));request.setAttribute("banji",banji);initAuthorization(request,student);counts=studentService.getCount(student);ListstudentList=studentService.queryStudentList(student,page);request.setAttribute("list",studentList);BanjibanjiQuery=newBanji();List<Banji>banjiList=banjiService.queryBanjiList(banjiQuery,null);request.setAttribute("banjiList",banjiList);request.setAttribute("itemSize",counts);intpage_count=counts%PageBean.PAGE_IETM==0?counts/PageBean.PAGE_IETM:counts/PageBean.PAGE_IETM+1;request.setAttribute("pageItem",PageBean.PAGE_IETM);request.setAttribute("pageTotal",page_count);return"/admin/student/student_list.jsp";}@RequestMapping(value="/student_toAdd")publicStringtoAdd(HttpServletRequestrequest)throwsException{Banjibanji=newBanji();List<Banji>banjiList=banjiService.queryBanjiList(banji,null);request.setAttribute("banjiList",banjiList);return"/admin/student/student_add.jsp";}@RequestMapping(value="/student_add")publicStringadd(Studentstudent,HttpServletRequestrequest)throwsException{studentService.insertStudent(student);return"redirect:student_list.action";}@RequestMapping(value="/student_toUpdate")publicStringtoUpdate(HttpServletRequestrequest)throwsException{intid=Integer.parseInt(request.getParameter("id"));Studentstudent=studentService.queryStudentById(id);request.setAttribute("student",student);Banjibanji=newBanji();List<Banji>banjiList=banjiService.queryBanjiList(banji,null);request.setAttribute("banjiList",banjiList);return"/admin/student/student_update.jsp";}@RequestMapping(value="/student_update")publicStringupdate(Studentstudent,HttpServletRequestrequest)throwsException{studentService.updateStudent(student);return"redirect:student_list.action";}@RequestMapping(value="/student_edit")publicStringeditInfo(Studentstudent,HttpServletRequestrequest)throwsException{studentService.updateStudent(student);Studentostu=(Student)request.getSession().getAttribute("cuser");student.setBanjiVO(ostu.getBanjiVO());request.getSession().setAttribute("cuser",student);return"/admin/student/student_info.jsp";}@RequestMapping(value="/student_delete")publicStringdelete(HttpServletRequestrequest)throwsException{intid=Integer.parseInt(request.getParameter("id"));studentService.deleteStudent(id);return"redirect:student_list.action";}@RequestMapping(value="/student_toView")publicStringtoView(HttpServletRequestrequest)throwsException{intid=Integer.parseInt(request.getParameter("id"));Studentstudent=newStudent();student.setId(id);List<Student>list=studentService.queryStudentList(student,null);student=list.get(0);request.setAttribute("student",student);return"/admin/student/student_view.jsp";}@ResponseBody@RequestMapping(value="/student_snoExist")publicStringsnoExist(HttpServletRequestrequest)throwsException{Stringexist="true";Stringsno=request.getParameter("sno");Studentstudent=newStudent();student.setSno(sno);Listlist=studentService.queryStudentList(student,null);if(list!=null&&list.size()>0){exist="false";}returnexist;}@RequestMapping(value="/student_random")publicStringrandomStudent(HttpServletRequestrequest)throwsException{Studentstudent=newStudent();initAuthorization(request,student);List<Student>slist=studentService.queryStudentList(student,null);if(slist!=null&&slist.size()>0){Randomran

温馨提示

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

评论

0/150

提交评论