1、基于JSP的学生成绩管理系统的开发学生成绩管理系统1.背景( 1 )项目名称。 学生成绩管理系统2. 目提出者 广州康大职业技术学院 ( 3 )项目承接者。 15 软件 2 班 ( 4 )用户。15 软件 2 班内容摘要 :学生成绩管理系统采用 java , jsp , servlet 和 Mysql 数据库 等工具,在工作 MyEclipse 上开发而成。学生成绩管理系统主要用于各类高校对教师的管理, 同时初始 化教师的登录信息;以及教师对学生,课程,学生成绩信息的管 理,同时初始化了学生的登录信息。学生可以查询课程信息和自 己的成绩信息。本系统能提高了教务的管理效率,大大地减轻了教师的负担
2、, 使学生能随时随地查询课程信息和自己的成绩。关键字: Java Web ,学生成绩管理系统,信息管理系统1. 选题的目的和意义项目开发的背景几年前,各个学校对于学生成绩的管理还是停留在运用手工操 作,随着各个学校的规模不断壮大,学生人数逐年增加。关于学 生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增 加人力、物力来进行学生成绩管理。但人工管理又有着许多缺陷, 比如:效率底、易出错、检索信息慢、对学校的管理提供决策信 息较为困难等。所以我想借本次毕业设计之际,开发一个适用于 高校的学生成绩管理系统,方便学校对各类信息的管理,减轻学 校的负担。项目概述本管理系统主要内容是学生信息管理,
3、 课程信息管理, 学生成 绩管理和教师信息管理,管理员添加教师记录,初始化教师的登 录信息,教师添加学生记录,初始化学生登录信息等等。全文共 分为概述、系统分析、系统总体设计、详细设计、开发总结、参 考文献、附录等。设计目的与意义本系统是将现代化的计算机技术和传统的教学、 教务工作相结 合设计完成的系统,实现了工作过程的计算机化,提高工作效率 和工作质量,该系统的完成将具有以下几点重要的意义:(1)系统具有较强的实用性、可靠性和适用性(2)对各个数据的输入进行了检测,大大减少了异常的发生。(3)能够按照用户输入的关键字进行查询(4) 注意到了数据的安全性。(5)简化了用户的操作过程,尽量减少用
4、户的工作量2 系统的开发技术及主要架构开发技术的选择由于JAVA面向对象,安全性高,跨平台,易移植,易掌握等特 点,尤其是在安全性和跨平台性两个方面非常显著。 因此,最后我选 择采用 Java 技术开发这个系统。项目开发的工具这个web系统的服务器采用开源的,数据库采用开源的MySQ。在MyEclipse工作平台上使用Java、JavaScript与JSP技术,采用MVC模式开发MyEclipe 简介MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench), 简称MyEclipse是对Eclipse IDE的扩展,利用它我们可以很方便地 使用数据库和J
5、avaEE开发和发布系统,提高了工作效率。MySql 简介MySQ名字的来历是一个小型关系型数据库管理系统,开发者 为瑞典MySQLA公司,在2008年1月16号被Sun公司收购。MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速 度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型 网站为了降低网站总体拥有成本而选择了 MySQL乍为网站数据库。Tomcat 简介Tomcat 是 Apache 软件基金会 (Apache Software Foundation ) 的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些 公司及个人共同
6、开发而成。因为 Tomcat 技术先进、性能稳定,而 且免费,因而深受 Java 爱好者的喜爱并得到了部分软件开发商的 认可,成为目前比较流行的 Web 应用服务器。数据库的连接JDBCJava Data数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供一个标准的 API。据此可以构建 更高级的工具和接口,使数据库开发人员能够用纯 Java API 编 写数据库应用程序,本系统采用 JDBC连接数据库。3 可行性研究经济可行性分析本系统开发要耗去一定的时间, 而所用的开发工具和软件基本 是免费的。由于系统能够在未来一段时期内稳定地发挥作用,因 此该系统对于管理学生
7、成绩都有很大的帮助。由此可见,开发此 系统在经济上是完全可行的。操作可行性分析如今的计算机已经进入各个家庭, 硬件成本不断的下降, 计算 机价格不断降低。该系统具有友好的用户界面、良好的安全性设 置等,使用户可以很快地掌握系统的操作方法,因此在操作上是 可行的。技术可行性分析从目前 IT 业内使用比较广泛的数据库和管理软件来看,使用 比较简单的中小型数据库 Mysql 和 Java 开发该系统非常简单实 用。该系统能为用户提供非常友好、操作简单的用户界面。因此, 从技术可行性分析来看是可行的。可行性综合分析利用计算机实现学生管理系统势在必行。通过对当前的开发 背景和上述几个可行性分析可以发现开
8、发这个系统是可行的。本 学生成绩管理向着规范化、简单化、有效化的方向发展。4需求分析功能分析经过前期的深入调查和研究,总结出该系统需要完成的具体功 能,分析如下:管理员管理:能够实现管理员对教师信息添加,删除,修改和 查询。初始化教师登录信息:用户ID为教师编号,初始密码也为 教师编号,用户类型为教师。教师管理:能够实现教师对学生信息,课程信息和成绩信息 的添加,删除,修改和查询等功能;初始化学生登录信息:用户 ID为学号,初始密码也为学号,用户类型为学生。学生查询:学生能够查询课程信息和自己的成绩信息。以上所有用户在登录后都可以修改自己的密码。系统数据流程图由以上的功能分析,得出如图4-1的
9、系统数据流程图,该数据 流程图直观地反映了该系统的整体框架和设计要求。图4-1数据流程图5网站总体设计用户登录时,系统先判断用户名是否存在,密码和用户类型是 否正确。如果正确,则进入用户首页,进行相关的管理操作。如 果错误,则用户要重新输入用户名,密码和选择用户类型。用户 登录后根据用户类型,从而拥有不同权限。登录流程图和系统功 能 结 构 图 如 下 所 示。图5-1登录流程图系统功能结构图图5-2系统功能结构图6数据库设计系统实体E-R图图6-1学生实体E-R图图6-2课程实体E-R图图6-3成绩实体E-R图图6-4教师实体E-R图实体联系图从上面的需求分析和总体设计得出管理员,教师,学生
10、,课程 和成绩实体之间的联系图如下图所示:逻辑结构设计根据系统的功能描述,设计要用的数据表。因为这些表之间 相互关联,存储着系统的相关数据,所以在设计数据表的过程中, 要求设计一个表只存储一个实体或对象的相关信息,不同实体存 储在不同的表中。本系统需要设计的数据库表如以下各图。表6-7学生表studb字段字段名类型可否为空主键ino学号varchar(10)否是n ame姓名varchar(10)否sex性别varchar(5)age年龄intsys所在系varchar(20)grade班级varchar(20)表6-8课程表couinfo字段字段名类型可否为空主键eno课程编号varchar
11、(10)否是cn ame课程名称varchar(10)否tn ame任课老师varchar(10)credit学分float表6-9成绩表scoinfo字段字段名类型可否为空主键ino学号varchar(10)否是eno课程编号varchar(10)否是type成绩类型varchar(10)否是score分数int否表6-10教师表teainfo字段字段名类型可否为空主键tno教师编号varchar(10)否是tn ame教师姓名varchar(10)否tsex教师性别varchar(5)tsys所在系varchar(10)表6-11用户信息表user字段字段名类型可否为空主键id用户IDva
12、rchar(10)否是n ame用户姓名varchar(10)否password密码varchar(10)否job用户身份varchar(10)否7系统主要功能模块详细设计用户登录用户登录需要验证用户的用户名,密码和身份。如果登录成功, 页面就会跳转到相关页面,如果登录失败登录界面就会显示提示 信息,登录界面如下图7-1登录界面网站管理教师,管理员和学生登录系统后拥有不同权限, 详细介绍如下 所示:教师身份登录后的管理界面欢迎光临学生成绩管理系统!图7-2教师管理首页教师管理三个模块:学生信息管理,课程信息管理和成绩信息管理,教师登录后可以点击“修改口令”修改自己的口令,点击 “退出系统”返回
13、登录界面,修改口令的界面如下图请埼入口令備改信怠:当前ID: tOl确认密码】 du m图7-3密码修改界面如果新密码为空,则提示“修改失败,新口令不能为空! ”,如 果新密码和确认密码不同,则提示“口令修改失败”,相同则提示 “口令修改成功” ,口令修改失败的界面如下图图7-4密码修改失败界面学生信息管理模块:在图7-2中点击“学生信息管理”后进入 学生信息管理,界面,点击后的界面如下图S:|3 DI匚-琬1诵-哥此IR皿AA IPam卜口sDS厂tt:-?巨计耳一班II -I T-I蛾躺耐皿I?: tH更国)欢迎进入学生信息管理1ft详生1勺列吟. 討I理在“跳到”后输入2,点击“ GO后
14、,列表跳转到第2页, 当输入小于0的数,点击“ GO后,提示输入格式不对,请重新 数字,当输入大于或等于分页总数的数字时,跳转到最后一页 点击“首页回到第一页,点击“尾页回到最后一页 点击“上一页回到上一页,点击“下一页回到下一页 这个页面实现了教师对学生基本信息的管理 (添加,删除,修 改,查询 ), 同时添加了一条学生登录记录,初始密码为学生的学 号,添加学生信息的关键代码 ( 学生信息管理的添加实现类 )如下:public bOOlean dOCreate(Stu stu,User user) thrOws ExceptiOn bOOlean flag=false;String sql1
15、=insert intOstudb(inO,name,sex,age,sys,grade)values(,);= ();();();();();String sql2=insert intOuser(id,name,passwOrd,jOb)values(,);= ();();();if& flag=true;return flag;点击“添加添加学生信息后的界面如下图:请输人添加信息;图7-6学生信息添加界面学号为数字或字母,如果是其他的特殊符号,系统提示出错并 清空学号后的文本框,年龄是 2位数的整数,否则提示出错清空 年龄后的文本框。每一个文本框都要填,如果有其中一个文本框 没有填就提交
16、,提示没有填的文本框不能为空。教师添加一条学生信息记录,就同时添加了一条学生登录记 录,该学生的登录ID为学号,登录密码也为学号,用户姓名为学 生姓名,用户类型为学生,学生登录后可以修改自己的登录密码。修改学生信息的关键代码(学生信息管理的修改实现类)如下:public boolea n doUpdate(Stu stu,User user) throws Excepti on boolea n flag=false;String sql仁update studb setn ame=,sex=,age=,sys=,grade= where ino 二;= ();();();();();();S
17、tri ng sql2=update user set n ame= where id=; = ();();if&flag=true;retur n flag;点击图7-5的列表中的要修改的数据后的“修改”修改学生信 息,例如点击第一条记录后的“修改”,界面如下图请输入更新信息:图7-7学生信息更新界面只要不修改主键“学号”,年龄为整数,每一项都不为空,就 能成功修改记录。点击图7-5的列表中的要删除的数据后的“删除”删除一条记 录。删除学生信息的关键代码(学生信息管理的删除实现类)如 下:public boolea n doDelete(Stu stu,User user) throws E
18、xcepti on boolea n flag=false;String sql仁delete from studb where ino=; = ();Stri ng sql2=delete from user where id=; = ();if& flag=true;retur n flag;例如点击任意一条记录后的“删除”,弹出如下图的提示框图7-8记录删除提示框点击“确定”后记录删除成功,点击“取消”后返回原界面, 删除失败在图7-5的文本框中输入学生姓名(可输入模糊信息),查询 学生信息的关键代码(学生信息管理的查询实现类)如下:public List fin dAII(Stri n
19、g keyword) throws Excepti on List all=new ArrayList();Stri ng sql=select * from studb where n ame likeJ= %+keyWord+%);ResultSet rs= Stu stu=null;while()stu=new Stu();(1););););););(stu);return all;在图7-5的文本框中输入学生姓名(可模糊查询),例如输入01”,点击“查询”后的界面如下:欢迎进入学生信息管理騎入学生姓名何脚扭如I 画 MS曲15D13T21麻一班w雌图7-9信息查询结果图点击图7-2中
20、的“课程信息管理”进入课程管理模块,界面如下:欢迎进入课程信息管理请输人髀名駅碾般帕 IS E耗第号课梓戢:臊作111Mi代;.Fk2211. a31Lmi41115111+D毎戈册用首瓦上一瓦下一页尾贡当前瓦瑞JOBb 1/2銘到匚页画图7-10课程信息管理界面点击图7-2中的“成绩信息管理”进入成绩管理模块,界面如 下:欢迎进入成绩信息管理请输扎学的斟可灘殖闻.I I阿(HJWS1117Eai1222J22E313r323首頁上一貝下一貝层页asi/MSt. 1/5 oj :二图7-11成绩信息管理界面图这两个模块和学生信息管理系统模块类似,编辑过程一样管理员身份登录后的管理界面当曲超户:
21、血qi:ae:9sM|hipiVKCH|i,lqCH ;:欢迎光临学生成绩管理系统!图7-12管理员首页图点击“教师管理”进入教师管理模块,如下图所示dut JK1;I 粧 aj;w欢迎进入教帅仃息管理nmstFWM厂应ifl厂tOLKt M*边】tdL壕胃JtettM厂MT0E厂rOE样种:图7-13教师信息管理界面这个模块和学生信息管理系统模块类似,编辑过程一样管理员添加一条教师信息记录,就同时添加了一条教师登录记 录,该教师的登录ID为教师编号,登录密码也为教师编号,用户 姓名为教师姓名,用户类型为教师,教师登录后可以修改自己的 登录密码。晋KJ ETVT1HI学生身份登录后的查询界面勺
22、户:询 L1 专id 陆 st欢迎光临学生成绩管理系统!图7-14学生查询首页点击“修改口令”修改自己的登录密码,点击“退出系统”返 回到登录界面,学生登录后可以查询课程信息和自己的成绩信息点击“课程信息”查询课程信息,界面如下图所示:皿 亠 - 亠 WF|i KRinC-:! tYKTfMtMOJ 空 也岀:駅It 闪2E1!S5I1&L1r1M曲!HJftIL 43:21宜片楙单a|ei耀無9A匚1?调E11aM.Q*1-1?itiiT-3刖h点击“成绩信息”查询自己的成绩信息,界面如下图所示:图7-16成绩信息查询8系统测试测试原则软件测试的基本原则是站在用户的角度,对产品进行全面测 试
23、,尽早、尽可能多地发现问题,并负责跟踪和分析产品中的问 题,具体测试原则有如下几点:第一,测试应该尽早进行,最好在需求阶段就开始介入,因为最 严重的错误不外乎是系统不能满足用户的需求。第二,设计测试用例时应考虑到合法的输入和不合法的输入以及 各种边界条件,特殊情况下不要制造极端状态和意外状态。第三,制定严格的测试计划。一定要制定测试计划,并且要有指 导性。测试时间安排尽量宽松,不要希望在极短的时间内完成一 个高水平的测试。第四,妥善保存测试计划、测试用例、出错统计和最终分析报告, 为维护提供方便。测试用例根据系统的设计流程,一个一个模块地测试,要测试的模块如下:登录模块,密码修改模块,教师管理
24、模块,管理员管理模块 和学生查询模块等。具体的测试用例,预期结果如下详细介绍: 用户登录和密码修改的测试用例测试 用例场景测试用例预期结果实际 结果TC1用户登录打开系统,输入 用户ID,密码 和选择身份后点击登录,登录 系统判断用户的用户 ID是否存在,密 码和用户类型是 否正确右正确。如果止确,成功 登录。否则,提 示出错信息,要 重新输入。同预 期TC2修改密码进入系统管理 页面后,点击“修改密码”后 输入新密码和 确认密码判断新密码是否 为空,如果为空, 提示修改失败, 新口令不能为 空;再判断新密 码和旧密码是否 相同,若相同则 修改成功,若不 同则修改失败同预 期TC3退出系统点击
25、“退出系 统”后在弹出的 提示框中选择“确定”或“取 消”如果选择“确定” 则退出系统,如 果选择“取消” 则退出系统失 败,返回原界面同预 期教师管理页面的测试用例测试场景测试用例预期结果实际用例结果|TC1学生信息 管理进入教师管理, 点击学生信息 管理,测试添 加,删除,修改, 查询功能,测试 添加的学生记 录信息登录系 统的效果对学生信息的添 力卩,删除,修改 操作达到了预期 效果;添加的学 生能以学号登录 系统,当删除该 学生记录后,该 学生则不能登录 系统同预 期TC2课程信息 管理进入教师管理, 测试添加,删 除,修改,查询 功能对课程信息的添 力卩,删除,修改 操作达到了预期
26、效果同预 期TC3成绩信息 管理进入教师管理, 分别测试添加, 删除,修改,查 询功能对成绩信息的添 力卩,删除,修改 操作达到了预 期效果同预 期管理员管理页面的测试用例测试 用例场景测试用例预期结果实际 结果TC1教师信息 管理进入管理员管 理首页,点击教 师信息管理,分 别测试添加,删 除,修改,查询 功能,并且测试 以编辑的学生 记录信息登录 系统的效果对教师信息的添 力卩,删除,修改 操作达到了预期 效果,并且能查 询到效果添加的教师能以 教师编号登录系 统,当删除该教 师记录后,该教 帅不能登录系统同预 期学生管理页面的测试用例测试 用例场景测试用例预期结果实际 结果TC1课程信息
27、 查询以任意学生身 份登录系统,点 击课程信息,核 对课程信息查询的结果是学 校所有的课程, 无误同预 期TC2成绩信息 查询以任意学生身 份登录系统,点 击成绩信息,查 询个人的成绩查询到的成绩是 自己个人的考试 成绩,无误同预 期测试小结本章主要测试了学生成绩管理系统的可行性, 并且介绍了专门 针对本系统的测试方式,描述了一些简单的测试用例。此外,还 介绍了对系统进行测试的预期结果和最后的实际结果。从总体上 来说,整个系统的设计都比较符合要求,圆满地完成了开题报告 中所提出的设计要求,基本上达到了这次系统开发的预期效果。9总结毕业设计是大学本科教育最后一个重要的实践环节,重培养学 生综合运用本学科的基本理论、专业知识和基本技能,提高分析 与解决实际问题的能力。在使用java开发这个系统的过程中,我 深刻地认识到需求分析在整个软件开发流程中的重要性,没有做 好需求分析就开发系统,问题发现地越晚,所付出的的代价就越 大。同时,我也感受到了在整个软件开发的流程中,可能会碰到 一些难以预料的问题,这时就需要多在网上或书上找资料,多向 老师和同学寻求帮助,不断思考,寻找各种解决方案。系统总体上实现了预期中的效果,方便了管
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1