基于JSP的学生成绩管理系统的开发_第1页
基于JSP的学生成绩管理系统的开发_第2页
基于JSP的学生成绩管理系统的开发_第3页
基于JSP的学生成绩管理系统的开发_第4页
基于JSP的学生成绩管理系统的开发_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

-.z学生成绩管理系统背景

〔1〕工程名称。

学生成绩管理系统目提出者

**康大职业技术学院

〔3〕工程承接者。

15软件2班

〔4〕用户。

15软件2班

内容摘要:学生成绩管理系统采用java,jsp,servlet和Mysql数据库等工具,在工作MyEclipse上开发而成。学生成绩管理系统主要用于各类高校对教师的管理,同时初始化教师的登录信息;以及教师对学生,课程,学生成绩信息的管理,同时初始化了学生的登录信息。学生可以查询课程信息和自己的成绩信息。本系统能提高了教务的管理效率,大大地减轻了教师的负担,使学生能随时随地查询课程信息和自己的成绩。关键字:JavaWeb,学生成绩管理系统,信息管理系统1.选题的目的和意义1.1工程开发的背景几年前,各个学校对于学生成绩的管理还是停留在运用手工操作,随着各个学校的规模不断壮大,学生人数逐年增加。关于学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进展学生成绩管理。但人工管理又有着许多缺陷,比方:效率底、易出错、检索信息慢、对学校的管理提供决策信息较为困难等。所以我想借本次毕业设计之际,开发一个适用于高校的学生成绩管理系统,方便学校对各类信息的管理,减轻学校的负担。1.2工程概述本管理系统主要内容是学生信息管理,课程信息管理,学生成绩管理和教师信息管理,管理员添加教师记录,初始化教师的登录信息,教师添加学生记录,初始化学生登录信息等等。全文共分为概述、系统分析、系统总体设计、详细设计、开发总结、参考文献、附录等。1.3设计目的与意义本系统是将现代化的计算机技术和传统的教学、教务工作相结合设计完成的系统,实现了工作过程的计算机化,提高工作效率和工作质量,该系统的完成将具有以下几点重要的意义:〔5〕简化了用户的操作过程,尽量减少用户的工作量2系统的开发技术及主要架构2.1开发技术的选择2.2工程开发的工具2.2.1MyEclipe简介2.2.2MySql简介MySQL名字的来历是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型中。由于其体积小、速度快、总体拥有本钱低,尤其是开放源码这一特点,许多中小型为了降低总体拥有本钱而选择了MySQL作为数据库。2.2.3Tomcat简介Tomcat是Apache软件基金会〔ApacheSoftwareFoundation〕的Jakarta工程中的一个核心工程,由Apache、Sun和其他一些公司及个人共同开发而成。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了局部软件开发商的认可,成为目前比拟流行的Web应用效劳器。2.3数据库的连接JDBC〔JavaData数据库连接〕是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供一个标准的API。据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,本系统采用JDBC连接数据库。3可行性研究3.1经济可行性分析本系统开发要耗去一定的时间,而所用的开发工具和软件根本是免费的。由于系统能够在未来一段时期内稳定地发挥作用,因此该系统对于管理学生成绩都有很大的帮助。由此可见,开发此系统在经济上是完全可行的。3.2操作可行性分析如今的计算机已经进入各个家庭,硬件本钱不断的下降,计算机价格不断降低。该系统具有友好的用户界面、良好的平安性设置等,使用户可以很快地掌握系统的操作方法,因此在操作上是可行的。3.3技术可行性分析从目前IT业内使用比拟广泛的数据库和管理软件来看,使用比拟简单的中小型数据库Mysql和Java开发该系统非常简单实用。该系统能为用户提供非常友好、操作简单的用户界面。因此,从技术可行性分析来看是可行的。3.4可行性综合分析利用计算机实现学生管理系统势在必行。通过对当前的开发背景和上述几个可行性分析可以发现开发这个系统是可行的。本学生成绩管理向着规*化、简单化、有效化的方向开展。4需求分析4.1功能分析经过前期的深入调查和研究,总结出该系统需要完成的具体功能,分析如下:管理员管理:能够实现管理员对教师信息添加,删除,修改和查询。初始化教师登录信息:用户ID为教师编号,初始密码也为教师编号,用户类型为教师。教师管理:能够实现教师对学生信息,课程信息和成绩信息的添加,删除,修改和查询等功能;初始化学生登录信息:用户ID为**,初始密码也为**,用户类型为学生。学生查询:学生能够查询课程信息和自己的成绩信息。以上所有用户在登录后都可以修改自己的密码。4.2系统数据流程图由以上的功能分析,得出如图4-1的系统数据流程图,该数据流程图直观地反映了该系统的整体框架和设计要求。图4-1数据流程图5总体设计用户登录时,系统先判断用户名是否存在,密码和用户类型是否正确。如果正确,则进入用户首页,进展相关的管理操作。如果错误,则用户要重新输入用户名,密码和选择用户类型。用户登录后根据用户类型,从而拥有不同权限。登录流程图和系统功能构造图如下所示。图5-1登录流程图5.2系统功能构造图图5-2系统功能构造图6数据库设计6.1系统实体E-R图图6-1学生实体E-R图图6-2课程实体E-R图图6-3成绩实体E-R图图6-4教师实体E-R图图6-5系统用户实体E-R图6.2实体联系图从上面的需求分析和总体设计得出管理员,教师,学生,课程和成绩实体之间的联系图如下列图所示:图6-6系统总体联系图6.3逻辑构造设计根据系统的功能描述,设计要用的数据表。因为这些表之间相互关联,存储着系统的相关数据,所以在设计数据表的过程中,要求设计一个表只存储一个实体或对象的相关信息,不同实体存储在不同的表中。本系统需要设计的数据库表如以下各图。表6-7学生表studb字段字段名类型可否为空主键ino**varchar(10)否是name**varchar(10)否se*性别varchar(5)age年龄intsys所在系varchar(20)grade班级varchar(20)表6-8课程表couinfo字段字段名类型可否为空主键o课程编号varchar(10)否是ame课程名称varchar(10)否tname任课教师varchar(10)credit学分float表6-9成绩表scoinfo字段字段名类型可否为空主键ino**varchar(10)否是o课程编号varchar(10)否是type成绩类型varchar(10)否是score分数int否表6-10教师表teainfo字段字段名类型可否为空主键tno教师编号varchar(10)否是tname教师**varchar(10)否tse*教师性别varchar(5)tsys所在系varchar(10)表6-11用户信息表user字段字段名类型可否为空主键id用户IDvarchar(10)否是name用户**varchar(10)否password密码varchar(10)否job用户身份varchar(10)否7系统主要功能模块详细设计7.1用户登录用户登录需要验证用户的用户名,密码和身份。如果登录成功,页面就会跳转到相关页面,如果登录失败登录界面就会显示提示信息,登录界面如下图7-1登录界面7.2管理教师,管理员和学生登录系统后拥有不同权限,详细介绍如下所示:7.2.1教师身份登录后的管理界面图7-2教师管理首页教师管理三个模块:学生信息管理,课程信息管理和成绩信息管理,教师登录后可以点击“修改口令〞修改自己的口令,点击“退出系统〞返回登录界面,修改口令的界面如下列图图7-3密码修改界面如果新密码为空,则提示“修改失败,新口令不能为空!〞,如果新密码和确认密码不同,则提示“口令修改失败〞,一样则提示“口令修改成功〞,口令修改失败的界面如下列图图7-4密码修改失败界面学生信息管理模块:在图7-2中点击“学生信息管理〞后进入学生信息管理,界面,点击后的界面如下列图图7-5学生信息管理界面在“跳到〞后输入2,点击“Go〞后,列表跳转到第2页,当输入小于0的数,点击“Go〞后,提示输入格式不对,请重新数字,当输入大于或等于分页总数的数字时,跳转到最后一页点击“首页〞回到第一页,点击“尾页〞回到最后一页点击“上一页〞回到上一页,点击“下一页〞回到下一页这个页面实现了教师对学生根本信息的管理(添加,删除,修改,查询),同时添加了一条学生登录记录,初始密码为学生的**,添加学生信息的关键代码(学生信息管理的添加实现类)如下:publicbooleandoCreate(Stustu,Useruser)throwsE*ception{ booleanflag=false;Stringsql1="insertintostudb(ino,name,se*,age,sys,grade)values(?,?,?,?,?,?)"; this.pst1=this.conn.prepareStatement(sql1); this.pst1.setString(1,stu.getIno()); this.pst1.setString(2,stu.getName()); this.pst1.setString(3,stu.getSe*()); this.pst1.setInt(4,stu.getAge()); this.pst1.setString(5,stu.getSys()); this.pst1.setString(6,stu.getGrade()); Stringsql2="insertintouser(id,name,password,job)values(?,?,?,?)"; this.pst2=this.conn.prepareStatement(sql2); this.pst2.setString(1,user.getId()); this.pst2.setString(2,user.getName()); this.pst2.setString(3,user.getPassword()); this.pst2.setString(4,user.getJob()); if(this.pst1.e*ecuteUpdate()>0&&this.pst2.e*ecuteUpdate()>0){ flag=true; } this.pst1.close(); this.pst2.close(); returnflag; }点击“添加〞添加学生信息后的界面如下列图:图7-6学生信息添加界面**为数字或字母,如果是其他的特殊符号,系统提示出错并清空**后的文本框,年龄是2位数的整数,否则提示出错清空年龄后的文本框。每一个文本框都要填,如果有其中一个文本框没有填就提交,提示没有填的文本框不能为空。教师添加一条学生信息记录,就同时添加了一条学生登录记录,该学生的登录ID为**,登录密码也为**,用户**为学生**,用户类型为学生,学生登录后可以修改自己的登录密码。修改学生信息的关键代码〔学生信息管理的修改实现类〕如下:publicbooleandoUpdate(Stustu,Useruser)throwsE*ception{ booleanflag=false; Stringsql1="updatestudbsetname=?,se*=?,age=?,sys=?,grade=?where ino=?"; this.pst1=this.conn.prepareStatement(sql1); this.pst1.setString(1,stu.getName()); this.pst1.setString(2,stu.getSe*()); this.pst1.setInt(3,stu.getAge()); this.pst1.setString(4,stu.getSys()); this.pst1.setString(5,stu.getGrade()); this.pst1.setString(6,stu.getIno()); Stringsql2="updateusersetname=?whereid=?"; this.pst2=this.conn.prepareStatement(sql2); this.pst2.setString(1,user.getName()); this.pst2.setString(2,user.getId()); if(this.pst1.e*ecuteUpdate()>0&&this.pst2.e*ecuteUpdate()>0){ flag=true; } this.pst1.close(); this.pst2.close(); returnflag; }点击图7-5的列表中的要修改的数据后的“修改〞修改学生信息,例如点击第一条记录后的“修改〞,界面如下列图图7-7学生信息更新界面只要不修改主键“**〞,年龄为整数,每一项都不为空,就能成功修改记录。点击图7-5的列表中的要删除的数据后的“删除〞删除一条记录。删除学生信息的关键代码〔学生信息管理的删除实现类〕如下:publicbooleandoDelete(Stustu,Useruser)throwsE*ception{ booleanflag=false; Stringsql1="deletefromstudbwhereino=?"; this.pst1=this.conn.prepareStatement(sql1); this.pst1.setString(1,stu.getIno()); Stringsql2="deletefromuserwhereid=?"; this.pst2=this.conn.prepareStatement(sql2); this.pst2.setString(1,user.getId()); if(this.pst1.e*ecuteUpdate()>0&&this.pst2.e*ecuteUpdate()>0){ flag=true; } this.pst1.close(); this.pst2.close(); returnflag; }例如点击任意一条记录后的“删除〞,弹出如下列图的提示框图7-8记录删除提示框点击“确定〞后记录删除成功,点击“取消〞后返回原界面,删除失败在图7-5的文本框中输入学生**〔可输入模糊信息〕,查询学生信息的关键代码〔学生信息管理的查询实现类〕如下:publicList<Stu>findAll(StringkeyWord)throwsE*ception{ List<Stu>all=newArrayList<Stu>(); Stringsql="select*fromstudbwherenamelike?"; this.pst=this.conn.prepareStatement(sql); this.pst.setString(1,"%"+keyWord+"%"); ResultSetrs=this.pst.e*ecuteQuery(); Stustu=null; while(rs.ne*t()){ stu=newStu(); stu.setIno(rs.getString(1)); stu.setName(rs.getString(2)); stu.setSe*(rs.getString(3)); stu.setAge(rs.getInt(4)); stu.setSys(rs.getString(5)); stu.setGrade(rs.getString(6)); all.add(stu); } this.pst.close(); returnall; }在图7-5的文本框中输入学生**〔可模糊查询〕,例如输入“01〞,点击“查询〞后的界面如下:图7-9信息查询结果图点击图7-2中的“课程信息管理〞进入课程管理模块,界面如下:图7-10课程信息管理界面点击图7-2中的“成绩信息管理〞进入成绩管理模块,界面如下:图7-11成绩信息管理界面图这两个模块和学生信息管理系统模块类似,编辑过程一样7.2.2管理员身份登录后的管理界面图7-12管理员首页图点击“教师管理〞进入教师管理模块,如下列图所示图7-13教师信息管理界面这个模块和学生信息管理系统模块类似,编辑过程一样管理员添加一条教师信息记录,就同时添加了一条教师登录记录,该教师的登录ID为教师编号,登录密码也为教师编号,用户**为教师**,用户类型为教师,教师登录后可以修改自己的登录密码。7.2.2学生身份登录后的查询界面图7-14学生查询首页点击“修改口令〞修改自己的登录密码,点击“退出系统〞返回到登录界面,学生登录后可以查询课程信息和自己的成绩信息点击“课程信息〞查询课程信息,界面如下列图所示:图7-15课程信息查询点击“成绩信息〞查询自己的成绩信息,界面如下列图所示:图7-16成绩信息查询8系统测试8.1测试原则软件测试的根本原则是站在用户的角度,对产品进展全面测试,尽早、尽可能多地发现问题,并负责跟踪和分析产品中的问题,具体测试原则有如下几点:第一,测试应该尽早进展,最好在需求阶段就开场介入,因为最严重的错误不外乎是系统不能满足用户的需求。第二,设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下不要制造极端状态和意外状态。第三,制定严格的测试方案。一定要制定测试方案,并且要有指导性。测试时间安排尽量宽松,不要希望在极短的时间内完成一个高水平的测试。第四,妥善保存测试方案、测试用例、出错统计和最终分析报告,为维护提供方便。8.2测试用例根据系统的设计流程,一个一个模块地测试,要测试的模块如下:登录模块,密码修改模块,教师管理模块,管理员管理模块和学生查询模块等。具体的测试用例,预期结果如下详细介绍:用户登录和密码修改的测试用例测试用例场景测试用例预期结果实际结果TC1用户登录翻开系统,输入用户ID,密码和选择身份后点击登录,登录系统判断用户的用户ID是否存在,密码和用户类型是否正确假设正确。如果正确,成功登录。否则,提示出错信息,要重新输入。同预期TC2修改密码进入系统管理页面后,点击“修改密码〞后输入新密码和确认密码判断新密码是否为空,如果为空,提示修改失败,新口令不能为空;再判断新密码和旧密码是否一样,假设一样则修改成功,假设不同则修改失败同预期TC3退出系统点击“退出系统〞后在弹出的提示框中选择“确定〞或“取消〞如果选择“确定〞则退出系统,如果选择“取消〞则退出系统失败,返回原界面同预期教师管理页面的测试用例测试用例场景测试用例预期结果实际结果TC1学生信息管理进入教师管理,点击学生信息管理,测试添加,删除,修改,查询功能,测试添加的学生记录信息登录系统的效果对学生信息的添加,删除,修改操作到达了预期效果;添加的学生能以**登录系统,当删除该学生记录后,该学生则不能登录系统同预期TC2课程信息管理进入教师管理,测试添加,删除,修改,查询功能对课程信息的添加,删除,修改操作到达了预期效果同预期TC3成绩信息管理进入教师管理,分别测试添加,删除,修改,查询功能对成绩信息的添加,删除,修改操

温馨提示

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

评论

0/150

提交评论