收藏 分销(赏)

基于JSP的学生成绩综合管理系统的开发.doc

上传人:w****g 文档编号:2507928 上传时间:2024-05-30 格式:DOC 页数:31 大小:1.04MB 下载积分:12 金币
下载 相关 举报
基于JSP的学生成绩综合管理系统的开发.doc_第1页
第1页 / 共31页
基于JSP的学生成绩综合管理系统的开发.doc_第2页
第2页 / 共31页


点击查看更多>>
资源描述
学生成绩管理系统 1. 背景 ( 1)项目名称。 学生成绩管理系统 2. 目提出者 广州康大职业技术学院 ( 3)项目承接者。 15 软件 2 班 ( 4)用户。 15 软件 2 班 内容摘要: 学生成绩管理系统采取java,jsp,servlet和Mysql数据库等工具,在工作MyEclipse上开发而成。 学生成绩管理系统关键用于各类高校对老师管理,同时初始化老师登录信息;和老师对学生,课程,学生成绩信息管理,同时初始化了学生登录信息。学生能够查询课程信息和自己成绩信息。 本系统能提升了教务管理效率,大大地减轻了老师负担,使学生能随时随地查询课程信息和自己成绩。 关键字:Java Web ,学生成绩管理系统,信息管理系统 1.选题目标和意义 1.1 项目开发背景 几年前,各个学校对于学生成绩管理还是停留在利用手工操作,伴随各个学校规模不停壮大,学生人数逐年增加。相关学生成绩管理工作所包含数据量越来越大,有学校不得不靠增加人力、物力来进行学生成绩管理。但人工管理又有着很多缺点,比如:效率底、易犯错、检索信息慢、对学校管理提供决议信息较为困难等。所以我想借此次毕业设计之际,开发一个适适用于高校学生成绩管理系统,方便学校对各类信息管理,减轻学校负担。 1.2 项目概述 本管理系统关键内容是学生信息管理,课程信息管理,学生成绩管理和老师信息管理,管理员添加老师统计,初始化老师登录信息,老师添加学生统计,初始化学生登录信息等等。全文共分为概述、系统分析、系统总体设计、具体设计、开发总结、参考文件、附录等。 1.3 设计目标和意义 本系统是将现代化计算机技术和传统教学、教务工作相结合设计完成系统,实现了工作过程计算机化,提升工作效率和工作质量,该系统完成将含有以下几点关键意义: (1)系统含有较强实用性、可靠性和适用性 (2)对各个数据输入进行了检测,大大降低了异常发生。 (3)能够根据用户输入关键字进行查询 (4) 注意到了数据安全性。 (5)简化了用户操作过程,尽可能降低用户工作量 2 系统开发技术及关键架构 2.1 开发技术选择 因为JAVA面向对象,安全性高,跨平台,易移植,易掌握等特点,尤其是在安全性和跨平台性两个方面很显著。所以,最终我选择采取Java技术开发这个系统。 2.2 项目开发工具 这个web系统服务器采取开源Tomcat6.0,数据库采取开源MySQL。在MyEclipse 工作平台上使用Java、JavaScript和JSP技术,采取MVC模式开发。 2.2.1 MyEclipe介绍 MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ),简称MyEclipse是对Eclipse IDE扩展,利用它我们能够很方便地使用数据库和JavaEE开发和公布系统,提升了工作效率。 2.2.2 MySql介绍 MySQL名字来历是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB企业,在1月16号被Sun企业收购。MySQL被广泛地应用在Internet上中小型网站中。因为其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,很多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。 2.2.3 Tomcat介绍 Tomcat是Apache 软件基金会(Apache Software Foundation)Jakarta 项目中一个关键项目,由Apache、Sun 和其它部分企业及个人共同开发而成。因为Tomcat 技术优异、性能稳定,而且无偿,所以深受Java 爱好者喜爱并得到了部分软件开发商认可,成为现在比较流行Web 应用服务器。 2.3 数据库连接 JDBC(Java Data数据库连接)是一个用于实施SQL语句Java API,能够为多个关系数据库提供一个标准API。据此能够构建更高级工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,本系统采取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) 否 sex 性别 varchar(5) age 年纪 int sys 所在系 varchar(20) grade 班级 varchar(20) 表6-8 课程表 couinfo 字段 字段名 类型 可否为空 主键 cno 课程编号 varchar(10) 否 是 cname 课程名称 varchar(10) 否 tname 任课老师 varchar(10) credit 学分 float 表6-9 成绩表 scoinfo 字段 字段名 类型 可否为空 主键 ino 学号 varchar(10) 否 是 cno 课程编号 varchar(10) 否 是 type 成绩类型 varchar(10) 否 是 score 分数 int 否 表6-10 老师表 teainfo 字段 字段名 类型 可否为空 主键 tno 老师编号 varchar(10) 否 是 tname 老师姓名 varchar(10) 否 tsex 老师性别 varchar(5) tsys 所在系 varchar(10) 表6-11 用户信息表 user 字段 字段名 类型 可否为空 主键 id 用户ID varchar(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”后,提醒输入格式不对,请重新数字,当输入大于或等于分页总数数字时,跳转到最终一页 点击“首页”回到第一页,点击“尾页”回到最终一页 点击“上一页”回到上一页,点击“下一页”回到下一页 这个页面实现了老师对学生基础信息管理(添加,删除,修改,查询),同时添加了一条学生登录统计,初始密码为学生学号,添加学生信息关键代码(学生信息管理添加实现类)以下: public boolean doCreate(Stu stu,User user) throws Exception { boolean flag=false; String sql1="insert into studb(ino,name,sex,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.getSex()); this.pst1.setInt(4, stu.getAge()); this.pst1.setString(5, stu.getSys()); this.pst1.setString(6, stu.getGrade()); String sql2="insert into user(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.executeUpdate()>0&&this.pst2.executeUpdate()>0){ flag=true; } this.pst1.close(); this.pst2.close(); return flag; } 点击“添加”添加学生信息后界面以下图: 图7-6 学生信息添加界面 学号为数字或字母,假如是其它特殊符号,系统提醒犯错并清空学号后文本框,年纪是2位数整数,不然提醒犯错清空年纪后文本框。每一个文本框全部要填,假如有其中一个文本框没有填就提交,提醒没有填文本框不能为空。 老师添加一条学生信息统计,就同时添加了一条学生登录统计,该学生登录ID为学号,登录密码也为学号,用户姓名为学生姓名,用户类型为学生,学生登录后能够修改自己登录密码。 修改学生信息关键代码(学生信息管理修改实现类)以下: public boolean doUpdate(Stu stu,User user) throws Exception { boolean flag=false; String sql1="update studb set name=?,sex=?,age=?,sys=?,grade=? where ino=?"; this.pst1=this.conn.prepareStatement(sql1); this.pst1.setString(1, stu.getName()); this.pst1.setString(2, stu.getSex()); this.pst1.setInt(3, stu.getAge()); this.pst1.setString(4, stu.getSys()); this.pst1.setString(5, stu.getGrade()); this.pst1.setString(6, stu.getIno()); String sql2="update user set name=? where id=?"; this.pst2=this.conn.prepareStatement(sql2); this.pst2.setString(1, user.getName()); this.pst2.setString(2, user.getId()); if(this.pst1.executeUpdate()>0&&this.pst2.executeUpdate()>0){ flag=true; } this.pst1.close(); this.pst2.close(); return flag; } 点击图7-5列表中要修改数据后“修改”修改学生信息,比如点击第一条统计后“修改”,界面以下图 图7-7 学生信息更新界面 只要不修改主键“学号”,年纪为整数,每一项全部不为空,就能成功修改统计。 点击图7-5列表中要删除数据后“删除”删除一条统计。删除学生信息关键代码(学生信息管理删除实现类)以下: public boolean doDelete(Stu stu,User user) throws Exception { boolean flag=false; String sql1="delete from studb where ino=?"; this.pst1=this.conn.prepareStatement(sql1); this.pst1.setString(1, stu.getIno()); String sql2="delete from user where id=?"; this.pst2=this.conn.prepareStatement(sql2); this.pst2.setString(1, user.getId()); if(this.pst1.executeUpdate()>0&&this.pst2.executeUpdate()>0){ flag=true; } this.pst1.close(); this.pst2.close(); return flag; } 比如点击任意一条统计后“删除”,弹出以下图提醒框 图7-8 统计删除提醒框 点击“确定”后统计删除成功,点击“取消”后返回原界面,删除失败 在图7-5文本框中输入学生姓名(可输入模糊信息),查询学生信息关键代码(学生信息管理查询实现类)以下:   public List<Stu> findAll(String keyWord) throws Exception { List<Stu> all=new ArrayList<Stu>(); String sql="select * from studb where name like ?"; this.pst=this.conn.prepareStatement(sql); this.pst.setString(1, "%"+keyWord+"%"); ResultSet rs=this.pst.executeQuery(); Stu stu=null; while(rs.next()){ stu=new Stu(); stu.setIno(rs.getString(1)); stu.setName(rs.getString(2)); stu.setSex(rs.getString(3)); stu.setAge(rs.getInt(4)); stu.setSys(rs.getString(5)); stu.setGrade(rs.getString(6)); all.add(stu); } this.pst.close(); return all; } 在图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 成绩信息管理 进入老师管理,分别测试添加,删除,修改,查询功效 对成绩信息添加,删除,修改操作达成了预 期效果 同预期 管理员管理页面测试用例 测试用例 场景 测试用例 预期结果 实际结果 TC1 老师信息管理 进入管理员管理首页,点击老师信息管理,分别测试添加,删除,修改,查询功效,而且测试以编辑学生统计信息登录系统效果 对老师信息添加,删除,修改操作达成了预期效果,而且能查询到效果 添加老师能以老师编号登录系统,当删除该老师统计后,该老师不能登录系统 同预期 学生管理页面测试用例 测试用例 场景 测试用例 预期结果 实际结果 TC1 课程信息查询 以任意学生身份登录系统,点击课程信息,查对课程信息 查询结果是学校全部课程,无误 同预期 TC2 成绩信息查询 以任意学生身份登录系统,点击成绩信息,查询个人成绩 查询到成绩是自己个人考试成绩,无误 同预期 8.3 测试小结 本章关键测试了学生成绩管理系统可行性,而且介绍了专门针对本系统测试方法,描述了部分简单测试用例。另外,还介绍了对系统进行测试预期结果和最终实际结果。从总体上来说,整个系统设计全部比较符合要求,圆满地完成了开题汇报中所提出设计要求,基础上达成了这次系统开发预期效果。 9 总结 毕业设计是大学本科教育最终一个关键实践步骤,重培养学生综合利用本学科基础理论、专业知识和基础技能,提升分析和处理实际问题能力。在使用java开发这个系统过程中,我深刻地认识到需求分析在整个软件开发步骤中关键性,没有做好需求分析就开发系统,问题发觉地越晚,所付出代价就越大。同时,我也感受到了在整个软件开发步骤中,可能会碰到部分难以预料问题,这时就需要多在网上或书上找资料,多向老师和同学寻求帮助,不停思索,寻求多种处理方案。 系统总体上实现了预期中效果,方便了管理员管理老师信息,老师管理学生信息,课程信息和成绩信息。用户在添加统计时又进行了数据检测,避免数据库中出现无效数据。管理员在添加老师和老师在添加学生时全部同时添加了登录信息,初始化了登录密码,方便了用户管理。学生只能查询自己成绩信息,提升了学生用户隐私。因为个人能力和时间有限,系统还有部分不足,有待改善,期望老师们提出宝贵意见,我会尽力去改善。在次,多亏了指导老师和同学们帮助,使我成功完成了这个系统。在这里,我表示衷心感谢
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 研究报告 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服