版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XXxxxxxxxxxxx学院课程设计报告书课程名称:软件开发工具课程设计题目:基于Struts的学生成绩管理系统的设计与开发系名:专业班级:姓名:学号:指导教师: 课程设计任务书课程名称:软件开发工具课程设计指导教师:班级名称:开课系、教研室:软件与信息安全一、课程设计目的与任务软件开发工具课程设计是一个综合性的设计型实验教学环节,旨在使学生通过软件开发的实践训练,进一步掌握业界流行的软件开发工具的使用;掌握使用业界流行的软件开发工具进行软件设计,开发和测试的方法与技术;进一步加深对软件工程方法和技术以及最新发展趋势和技术的了解;掌握数据的组织方法;提高软件开发的实际能力,培养创造性的工程设计能力和分析、解决问题的能力以及查阅和运用文献资料的能力。学生将在指导教师的指导下,独立地完成从需求分析到系统设计,实现,测试和部署的全过程。二、课程设计的内容与基本要求本课程设计将通过软件业界流行的MyEclispe开发环境,使用Struts框架技术、JDBC数据访问技术和数据库技术设计和开发一个学生成绩管理系统,该系统具有以下功能:1.管理员:1)登录:管理员登录后进入系统主界面;可以修改自己的密码;2用户信息管理:将实现用户信息的增、删、改、查功能;3)学生信息管理:将实现学生信息的增、删、改、查功能;4)课程信息管理:将实现课程信息的增、删、改、查功能;5)成绩信息管理:将实现成绩信息的增、删、改、查功能;2.教师:1)登录:教师登录后进入系统主界面;可以修改自己的密码;2)成绩信息管理:将实现成绩信息的增、删、改、查功能;3.学生:1)登录:学生登录后进入系统主界面;可以修改自己的密码;2)学生信息管理:将实现对自己信息的改、查功能;系统由欢迎界面进入登录界面,登录成功后,系统主界面中要求使用上导航和左导航实现不同信息管理的切换;要求使用header和footer。要求界面美观易用,符合用户使用习惯;功能完善,系统流程合理,数据处理正确。三、课程设计步骤及时间进度和场地安排本课程设计将安排在第18周,教育技术中心。具体安排如下:下发任务书,学生查阅资料系统设计和原型开发第三,四天系统功能实现第五天系统调试测试打包和验收周次星期一星期二星期三星期四星期五第18周第1-4节第1-4节第1-4节第1-4节第5-6节地点现教222现教222现教222现教222现教222四、课程设计考核及评分标准课程设计考核将综合考虑学生考勤和参与度,系统设计方案正确性,系统设计和开发效果以及课程设计报告书的质量。具体评分标准如下:设置六个评分点(1)设计方案正确,具有可行性、创新性;25分(2)系统开发效果较好;25分(3)态度认真、刻苦钻研、遵守纪律;10分(4)设计报告规范、课程设计报告质量高、参考文献充分20分(5)课程设计答辩概念清晰,内容正确10分(6)课程设计期间的课堂考勤、答疑与统筹考虑。10分按上述六项分别记分后求和,总分按五级记分法记载最后成绩。优秀(100~90分),良好(80~89分),中等(70~79分),及格(60~69分),不及格(0~59分)目录TOC\o"1-3"\h\u242031设计目的 6265242软件开发环境与技术简介 6173142.1JSP技术 680832.2Servlet应用程序 6313972.3JDBC技术简介 781692.4MVC设计模式 7171812.5struts框架介绍 7156683需求分析 835294总体设计 9250034.1系统功能结构 9201164.2数据表结构 9250465详细设计 1179485.1struts配置 11132265.2登录功能设计 11157425.3分页显示信息 129345.3.1显示用户信息 1256845.3.2显示教师信息 13162955.3.3显示学生信息 14121355.3.4显示课程信息 15116625.3.5显示成绩信息 16219765.4查询信息 1651035.4.1查询学生信息 1659435.4.2查询用户信息 17280035.4.3查询教师信息 17165785.4.4查询课程信息 1790085.4.5查询成绩信息 1729995.5添加信息 18292805.5.1添加学生信息 18119285.5.2添加教师信息 19303465.5.3添加课程信息 193375.5.4添加成绩信息 19286275.6修改信息 1950525.6.1修改学生信息 19178975.6.2修改教师信息 20207605.6.3修改课程信息 2161665.6.4修改成绩信息 22246885.7删除信息 22272835.7.1删除学生信息 22125525.7.2删除教师信息 23173455.7.3删除课程信息 23233585.7.4删除成绩信息 23245736系统测试 233986.1测试登陆 2364306.2测试页码跳转功能 24313836.3测试添加功能 25181476.4测试删除功能 2651956.5测试更新功能 28183976.6测试查询功能 284427总结 2978318参考文献
30
1设计目的软件开发工具课程设计是一个综合性的设计型实验教学环节,旨在使学生通过软件开发的实践训练,进一步掌握业界流行的软件开发工具的使用;掌握使用业界流行的软件开发工具进行软件设计,开发和测试的方法与技术;进一步加深对软件工程方法和技术以及最新发展趋势和技术的了解;掌握数据的组织方法;提高软件开发的实际能力,培养创造性的工程设计能力和分析、解决问题的能力以及查阅和运用文献资料的能力。2软件开发环境与技术简介2.1JSP技术JSP(JavaServerPages)技术是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP(JavaServerPages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。2.2Servlet应用程序Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。运行过程如图2.2所示。图2.2Servlet运行过程图2.3JDBC技术简介JDBC的全称为JavaDataBaseConnectivity,是一套面向对象的应用程序接口,制定了统一访问各类关系型数据库的标准接口,为各个数据库厂商提供了标准接口的实现。它是一种可用于执行SQL语句的JavaAPI(ApplicationProgrammingInterface应用程序设计接口)。它由一些Java语言编写的类和界面组成。JDBC为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。JDBC主要提供两个层次的接口,分别是面向程序开发人员的JDBCAPI(JDBC应用程序接口)和面向系统底层的JDBCDriveAPI(JDBC驱动程序接口),它们的功能如上图2.1所示。图2.3jdbc功能结构图2.4MVC设计模式MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。在MVC模式中,Web用户向服务器提交的所有请求都由控制器接管。接受到请求之后,控制器负责决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。2.5struts框架介绍Struts最早是作为ApacheJakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。这个框架之所以叫"Struts",是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷时候的基础支撑。这也是一个解释Struts在开发Web应用程序中所扮演的角色的精彩描述。当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。同样,软件工程师使用Struts为业务应用的每一层提供支持。它的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。3需求分析本课程设计将通过软件业界流行的MyEclispe开发环境,使用Struts框架技术、JDBC数据访问技术和数据库技术设计和开发一个学生成绩管理系统,该系统具有以下功能:1.管理员:1)登录:管理员登录后进入系统主界面;可以修改自己的密码;2用户信息管理:将实现用户信息的增、删、改、查功能;3)学生信息管理:将实现学生信息的增、删、改、查功能;4)课程信息管理:将实现课程信息的增、删、改、查功能;5)成绩信息管理:将实现成绩信息的增、删、改、查功能;2.教师:1)登录:教师登录后进入系统主界面;可以修改自己的密码;2)成绩信息管理:将实现成绩信息的增、删、改、查功能;3.学生:1)登录:学生登录后进入系统主界面;可以修改自己的密码;2)学生信息管理:将实现对自己信息的改、查功能;系统由欢迎界面进入登录界面,登录成功后,系统主界面中要求使用上导航和左导航实现不同信息管理的切换;要求使用header和footer。要求界面美观易用,符合用户使用习惯;功能完善,系统流程合理,数据处理正确。4总体设计4.1系统功能结构4.2数据表结构用户表学生表教师表课程表成绩表5详细设计5.1struts配置在web.xml中添加如下代码 <!--配置Struts2框架的核心Filter--> <filter> <!--配置Struts2核心Filter的名字--> <filter-name>struts</filter-name> <!--配置Struts2核心Filter的实现类--> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <!--配置Filter拦截的URL--> <filter-mapping> <!--配置Struts2的核心FilterDispatcher拦截所有用户请求--> <filter-name>struts</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>5.2登录功能设计利用MVC三层构架,设计登录页面,如下图所示。Login.actionExecute()UserDAOLogin.actionExecute()UserDAOlogin.jsp当用户填写完用户名和密码之后点击登录,将信息提交给Login.action,Login.action将调用UserDAO的checkLogin方法通过访问数据库对用户名、密码以及身份进行匹配,并将处理结果返回给前端,登录成功将跳至主页,否则回到登录页面。页面设计,登录页面如图5.2-1所示。图5.2-1登录页面5.3分页显示信息5.3.1显示用户信息利用MVC三层构架,设计主页页面,主页页面能分页显示学生信息,如下图所示。user.actionExecute()ausermsg.jspUserDAOuser.actionExecute()ausermsg.jspUserDAO用户信息当用户登录成功之后,将信息提交给User.action的execute()方法,改方法将调用UserDAO的getUsers方法设置pageBean各个属性,从数据库导出的学生信息也在pageBean中,并将pageBean的发送给前端,让前端分页显示学生信息,并且显示分页状态。页面设计,用户信息页面如图5.3-1所示。图5.3-1用户信息5.3.2显示教师信息利用MVC三层构架,设计主页页面,主页页面能分页显示学生信息,如下图所示。ateachermsg.jspteacher.actionExecute()TeacherDAOateachermsg.jspteacher.actionExecute()TeacherDAO教师信息当用户登录成功之后,将信息提交给teacher.action的execute()方法,改方法将调用TeacherDAO的getTeachers方法设置pageBean各个属性,从数据库导出的学生信息也在pageBean中,并将pageBean的发送给前端,让前端分页显示学生信息,并且显示分页状态。页面设计,用户信息页面如图5.3-2所示。图5.3-2教师信息5.3.3显示学生信息利用MVC三层构架,设计主页页面,主页页面能分页显示学生信息,如下图所示。astudentmsg.jspstudent.actionExecute()StudentDAOastudentmsg.jspstudent.actionExecute()StudentDAO学生信息当用户登录成功之后,将信息提交给student.action的execute()方法,改方法将调用StudentDAO的getStudents方法设置pageBean各个属性,从数据库导出的学生信息也在pageBean中,并将pageBean的发送给前端,让前端分页显示学生信息,并且显示分页状态。页面设计,用户信息页面如图5.3-3所示。图5.3-3学生信息5.3.4显示课程信息利用MVC三层构架,设计主页页面,主页页面能分页显示课程信息,如下图所示。aclassmsg.jspclass.actionExecute()ClassDAOaclassmsg.jspclass.actionExecute()ClassDAO学生信息当用户登录成功之后,将信息提交给class.action的execute()方法,改方法将调用ClassDAO的getClass方法设置pageBean各个属性,从数据库导出的学生信息也在pageBean中,并将pageBean的发送给前端,让前端分页显示学生信息,并且显示分页状态。页面设计,用户信息页面如图5.3-4所示。图5.3-4课程信息5.3.5显示成绩信息方法同上述一样。5.4查询信息5.4.1查询学生信息利用MVC三层构架,设计查询学生信息页面,如下图所示。Student.actionslStudent()StudentDAOStudent.actionslStudent()StudentDAO查询当用户填好查询条件和关键字之后,将信息提交给Student.action的slStudent(),该方法将调用StudentDAO的getStudentsByWhere方法设置pageBean属性,并将pageBean的发送给前端,让前端分页显示学生信息,并且显示分页状态。5.4.2查询用户信息利用MVC三层构架,设计查询用户信息页面,如下图所示。User.actionslUser()UserDAOUser.actionslUser()UserDAO查询当用户填好查询条件和关键字之后,将信息提交给User.action的slUser),该方法将调用UserDAO的getUsersByWhere方法设置pageBean属性,并将pageBean的发送给前端,让前端分页显示用户信息,并且显示分页状态。5.4.3查询教师信息利用MVC三层构架,设计查询教师信息页面,如下图所示。Teacher.actionslTeacher()TeacherDAOTeacher.actionslTeacher()TeacherDAO查询当用户填好查询条件和关键字之后,将信息提交给Teacher.action的slTeacher(),该方法将调用TeacherDAO的getTeachersByWhere方法设置pageBean属性,并将pageBean的发送给前端,让前端分页显示教师信息,并且显示分页状态。5.4.4查询课程信息利用MVC三层构架,设计查询课程信息页面,如下图所示。Class.actionslClass()ClassDAOClass.actionslClass()ClassDAO查询当用户填好查询条件和关键字之后,将信息提交给Class.action的slClass(),该方法将调用ClassDAO的getClassByWhere方法设置pageBean属性,并将pageBean的发送给前端,让前端分页显示课程信息,并且显示分页状态。5.4.5查询成绩信息利用MVC三层构架,设计查询成绩信息页面,如下图所示。Score.actionslScore()ScoreDAOScore.actionslScore()ScoreDAO查询当用户填好查询条件和关键字之后,将信息提交给Score.action的slScore(),该方法将调用ScoreDAO的getScoreByWhere方法设置pageBean属性,并将pageBean的发送给前端,让前端分页显示成绩信息,并且显示分页状态。5.5添加信息5.5.1添加学生信息利用MVC三层构架,设计添加学生信息页面,如下图所示。Student.actionaddStudent()StudentDAOStudent.actionaddStudent()StudentDAOaddstudent.jsp当用户填写完学生信息之后,将信息提交给Student.action的addStudent()方法,Student.action将调用StudentDAO的addStudent方法把信息导入数据库,并将处理结果返回给前端。页面设计,添加学生信息页面如图5.5-1所示。图5.5-1添加学生信息页面5.5.2添加教师信息利用MVC三层构架,设计添加教师信息页面,如下图所示。Teacher.actionaddTeacher()TeacherDAOTeacher.actionaddTeacher()TeacherDAOaddTeacher.jsp当用户填写完学生信息之后,将信息提交给Teacher.action的addTeacher()方法,Student.action将调用TeacherDAO的addTeacher方法把信息导入数据库,并将处理结果返回给前端。页面设计,添加学生信息页面如图5.5-2所示。图5.5-2添加教师信息5.5.3添加课程信息利用MVC三层构架,设计添加课程信息页面,如下图所示。Class.actionaddClass()ClassDAOClass.actionaddClass()ClassDAOaddClass.jsp当用户填写完学生信息之后,将信息提交给Class.action的addClass()方法,Class.action将调用ClassDAO的addClass方法把信息导入数据库,并将处理结果返回给前端。页面设计,添加课程信息页面如图5.5-1所示。图5.5-2添加课程信息5.5.4添加成绩信息方法同上。5.6修改信息5.6.1修改学生信息Student.actionupStudent()Student.actionupStudent()StudentDAOupstudent.jspStudentDAOupstudent.jsp当用户修改完学生信息之后,将信息提交给Student.action的upStudent()方法,改方法将调用StudentDAO的updataStudent方法把信息导入数据库,并将处理结果返回给前端,跳转至主页面。页面设计,更新学生信息页面如图5.6-1所示。图5.6-1更新学生信息页面5.6.2修改教师信息Teacher.actionupTeacher()Teacher.actionupTeacher()TeacherDAOupTeacher.jspTeacherDAOupTeacher.jsp当用户修改完教师信息之后,将信息提交给Teacher.action的upTeacher()方法,改方法将调用TeacherDAO的updataTeacher方法把信息导入数据库,并将处理结果返回给前端,跳转至主页面。页面设计,更新教师信息页面如图5.6-2所示。图5.6-2修改教师信息5.6.3修改课程信息Class.actionupClass()Class.actionupClass()ClassDAOupClass.jspClassDAOupClass.jsp当用户修改完课程信息之后,将信息提交给Student.action的upStudent()方法,改方法将调用ClassDAO的updataClass方法把信息导入数据库,并将处理结果返回给前端,跳转至主页面。页面设计,更新课程信息页面如图5.6-3所示。图5.6.3修改课程信息5.6.4修改成绩信息方法同上。5.7删除信息5.7.1删除学生信息Student.actiondeStudent()Student.actiondeStudent()StudentDAO点击删除StudentDAO点击删除当用户点击某一条记录后面的删除按钮之后,将信息提交给Student.action的deStudent()方法,改方法将调用StudentDAO的deleteStuentById方法把数据库中的相关记录删除,并将处理结果返回给前端,刷新主页。5.7.2删除教师信息Teacher.actiondeTeacher()Teacher.actiondeTeacher()TeacherDAO点击删除TeacherDAO点击删除当用户点击某一条记录后面的删除按钮之后,将信息提交给Teacher.action的deTeacher()方法,改方法将调用TeacherDAO的deleteTeacherById方法把数据库中的相关记录删除,并将处理结果返回给前端,刷新主页。5.7.3删除课程信息Class.actiondeClass()Class.actiondeClass()ClassDAO点击删除ClassDAO点击删除当用户点击某一条记录后面的删除按钮之后,将信息提交给Class.action的deClass()方法,改方法将调用ClassDAO的deleteClassById方法把数据库中的相关记录删除,并将处理结果返回给前端,刷新主页。5.7.4删除成绩信息Score.actiondeScore()Score.actiondeScore()ScoreDAO点击删除ScoreDAO点击删除当用户点击某一条记录后面的删除按钮之后,将信息提交给Score.action的deScore()方法,改方法将调用ScoreDAO的deleteScoreById方法把数据库中的相关记录删除,并将处理结果返回给前端,刷新主页。6系统测试6.1测试登陆现有一用户注册的用户名为“唐思文”,密码是“123456”。测试用例一:在用户名文本框中输入“唐思文”,密码文本框中输入“12345678”,点击【登录】按钮以后跳转到failure.jsp,效果如图6.2-1所示。6.2-1登录失败页面测试用例二:在用户名文本框中输入“凡晓庆”,密码文本框中输入“123456”,点击【登录】按钮以后跳转到主页。6.2测试页码跳转功能测试用例一:首先让系统处于首页,即第一页,如图6.3-1所示。然后在页码跳转框里选择“2”,运行结果如图6.3-2所示。图6.3-1第一页图6.3-2第二页6.3测试添加功能测试用例一:在添加页面中,输入的学号不是11位,然后就按【确定】按钮,预期运行结果是弹出对话框,提示“学号格式不正确!添加失败!”,实际运行结果如图所示6.4-1。图6.4-1添加失败页面测试用例二:已知学号为“10212812136”的学生已经存在,在学号文本框中输入“10212812136”,姓名为“唐思文”,预期结果是弹出对话框,提示“学号已存在!添加失败!”。实际运行结果如图6.4-3所示。图6.4-3添加失败页面测试用例三:已知学号为“10212812134”的学号不存在。在学号文本框中输入“10212812134”,姓名文本框中输入“张梦华”,预期运行结果是添加成功。实际运行结果如图6.4-4所示。图6.4-4添加成功页面6.4测试删除功能删除前选中删除的学生,然后点击删除按钮。测试用例一:删除学号为10212812457,然后点击【删除】按钮。预期结果是弹出对话框,提示是否“确定要删除吗?”。实际运行结果如图6.5-1所示。然后如果点击“确定”,预期结果是选中的学生全部删除,运行结果如图6.5-2所示。然后如果点击的是“取消”,预期结果是删
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全新护林员合同3篇
- 安庆房票合同范例
- 江苏幕墙合同范例
- 聘请燃气专家合同范例
- 武汉晴川学院《染整工艺与设备》2023-2024学年第一学期期末试卷
- 家庭器具维修合同范例
- 租赁设备 转让合同范例
- 建设工程合同范例购销合同
- 老潼关加盟合同范例
- 窗帘承包加工合同范例
- 医院关于成立DRG-s管理领导小组通知
- 部编版语文四年级上册作文归纳整理总复习课件
- 【新教材】苏教版小学科学三年级上册:12河流与湖泊课件
- 配电项目工程重点、难点及解决措施
- 充氨安全安全操作规程20某0310
- 风力发电项目报价清单 (风机基础等)
- DB41∕T 2001-2020 金银花扦插育苗技术规程
- 会务合同模板
- 校园超市经营服务方案
- 临床路径及在麻醉科的应用
- 红色喜庆倒计时跨年晚会年会颁奖典礼PPT模板课件
评论
0/150
提交评论