https://www.bilibili.com/video/BV1Xt421a7Es/
演示视频:
5 系统的详细设计及实现
通过对系统的总体设计,清楚了要怎么实现需求,接下来就是要进行系统的详细设计,具体的实现系统需求,对总体设计中的每一个模块进行详细的描述和设计,为源程序打下基础。
系统的实现即编码和测试,程序编写相当于软件开发的生产步骤,将软件转化为计算机代码,用特定的语言比如Java来对其功能进行描述[9]。
5.1 登录模块
登录界面是整个系统的主界面,只有通过登录页面才可以进入各自身份的主页面。登录由用户名,密码和登录身份组成,有三种身份可供选择,管理员身份,学院身份,班级身份。只有用户名和密码以及身份都匹配才可以登录成功,否则提示“用户名或密码错误”。登录界面如图5-1所示。

图5-1 登录界面
登录界面的主要代码:
//在数据库中寻找是否存在这样匹配的用户名和密码(学院负责人身份登录)
相对应的Servlet类中的UserLogin.java代码如下:
//如果dao层返回true,说明用户名和密码匹配,登录成功,进入管理员主页面,
//如果返回false,说明用户名或者密码错误,登录失败,提示用户名或密码错//误,需要重新输入用户名和密码再登录
5.2 管理员主页面
管理员身份登录进来的主页面,可以看到一共有五大模块功能,管理用户,管理学院基本信息,管理评奖评优项目信息,设定评定时间以及查看评定结果。
管理员主页面如图5-2所示

图5-2 管理员主界面
5.2.1 管理用户
管理员管理管理员用户和学院负责人用户,其中负责人用户除了用户名和密码,还有他是负责哪个学院的。可以对用户进行查询,添加,修改和删除。
学院负责人用户一栏就相当于查询了所有的学院负责人用户,然后可以根据学院或者用户名进行条件查询,如图5-3所示。
点击添加,可以添加学院负责人用户,输入用户名和密码,下拉选择负责的学院。如图5-4所示。

图5-3 学院负责人用户

图5-4 添加学院负责人用户
5.2.2 管理评奖评优项目信息
分别管理当年奖项信息和历年奖项信息,可以对当年奖项信息进行增删改查,历年的只能进行查询,不可以修改,一轮评奖评优结束就可以将这些奖项封存入历史中,便于以后查询历史数据,所以设有封存历史的按钮。
当年的评奖评优项目信息可根据奖项来查询,如图5-5所示。

图5-5 奖项信息
历史的奖项信息可根据年份或者奖项来查询,如图5-6所示。

图5-6 奖项历史信息
5.2.3 管理学院信息
管理学院信息主要管理学院的基本信息,为学院分配奖项和名额,查看分配的历史记录。
为学院分配奖项和名额的时候只能给系统中存在的学院分配系统中目前已经存在的奖项(不包括历史数据),并且分配的名额不能超过此奖项的总的名额。一旦超过就会报错提醒,重新分配。分配的名额不能小于0,否则也会报错提醒,为了防止重复分配某一个奖项给某一个学院,在分配的时候先判断重复分配,也设有报错提醒,如图5-7所示。

图5-7 为学院分配奖项和名额
查看奖项分配的时候可以根据学院或者奖项来作为条件查询。这边也有封存历史的按钮,供查看历史数据。历史数据可以根据年份查询。
查看奖项分配的页面如图5-8所示。

图5-8 查看奖项分配
5.2.5 评奖评优评定结果
查看评定结果分为两个,一是查看本次的评定结果,二是查看历史的奖项评定结果记录。管理员可以查看全校的评定结果。本次的评定结果可以根据学院和奖项进行查询,历史结果还可以根据年份进行查询。
本次的评定结果如图5-9所示。

图5-9 本次的评定结果
5.2.5 设定评定时间
设定评定时间分为两种,一是设定学院的审核时间,二是设定班级提交的时间,必须要在这个时间段内进行提交和审核,否则会报错提醒。在学院和班级的主界面上会显示相对应的审核或提交提醒消息,提醒审核或提交的截止时间,督促尽快完成评定。
开始时间和截止时间可以修改。如图5-10所示。

图5-10 设定班级提交时间
5.3 学院负责人主页面
学院负责人身份登录进来的主页面,可以看到一共有六大模块功能,管理系统班级用户,查看评奖评优信息项目,管理班级信息,查看待审核的信息并进行审核,查看评定结果,查看评奖评优历史,各个用户都可以修改自己的登录用户名和密码。
学院负责人主页面如图5-11所示

图5-11 学院负责人主页面
5.3.1 查看评奖评优项目信息
只能查看本学院分配到的奖项信息,这边的名额是本学院被分配到的名额数。如图5-12所示。

图5-12 查看奖项基本信息
主要代码如下:
关联两个表,一个是学院奖项分配表一个是奖项项目信息表,通过分配表中关联的奖项标号来查询奖项表中的奖项详细信息。
学院还可以查看自己学院奖项使用的情况,总名额是学院此奖项被分配到的总名额,已使用是本学院奖项分配到各个班级的总的名额,剩余即总名额-已使用的,如果还有剩余的名额会在备注中提示。如图5-13所示。

图5-13 查看奖项使用情况
5.3.2 管理班级信息
管理班级信息包括管理班级的基本信息,管理班级的奖项分配。
管理班级的基本信息,可以添加班级,但是只能添加本学院的班级,班级信息主要包括班级代码,专业,哪届的,班级名称,可以对班级信息进行更新,修改的时候学院是固定的不可以修改的。如图5-14所示。

图5-14 管理班级基本信息
学院在给班级分配奖项的时候只能分配给自己院里面的班级且这个班级是在这个系统里面存在的,除此之外,分配的奖项只能是本学院有这个奖项和名额的,分配的名额数也不能超过本学院被分配的总名额,否则会报错。如图5-15所示。

图5-15 为班级分配奖项
和管理员给学院分配奖项名额类似的,名额总数有限制,并且不能分配为0的以及不能重复分配。查看奖项分配的时候可以根据班级和奖项进行查询,评定结束之后进行封存历史。可以在奖项分配历史中查询到历史数据,同样可以根据年份进行查询。如图5-16所示。

图5-16 查看奖项分配历史
5.3.3 管理班级用户
管理班级系统用户,只能管理本学院的班级的用户,比如添加班级用户,班级那栏下拉框只有本学院的班级可供选择,并且学院那栏也固定为本学院,不可以修改。如图5-17 所示。

图5-17 添加班级用户
5.3.4 待审核
待审核就是班级那边提交了获奖学生,学院这边还没有对此获奖学生进行审核是否通过。这边也设有班级和奖项的查询方式。如图5-18所示。
在student这个表中有一个字段是submit如果已经提交了,就会将submit置为1,如果审核通过的话会将close字段置为1,如果不通过会置为2,所以在查询待审核的时候的要查询submit=1的并且close=0的。

图5-18 查看待审核
5.3.5 查看评定结果
审核的时候会有通过和失败,通过的记录就会出现在审核通过里面一旦审核通过就不可以再进行修改。
可以根据班级和奖项进行查询,评定结束之后封存进历史,存入历史中之后就不会在审核通过这一栏出现,要到评定历史中进行查询,其中只有审核通过的会存入到历史中,没有通过的对以后的历史查询没什么价值,所以不会存入历史数据中。如图5-19所示。

图5-19 查看审核通过
学院可以查看目前为止的奖项统计信息,名额是本班级此奖项被分配到的名额,提交是班级总共提交上来的(一般提交的名额不会超过名额,除非提交的名单中有审核不通过的),剩余=名额-通过。如果学院有未审核的备注1会提示,如果有剩余名额没用备注2会提示。如图5-20所示

图5-20 查看统计信息
5.3.6 查看评奖评优历史
评奖评优历史就是每次评定完之后将评定通过的结果存入到历史时候产生的记录,在这边可以根据年份,班级,奖项查询到某年某班获得某奖项的是哪几个人,和管理员相比。学院只能查看自己本学院的。如图5-21所示。

图5-21 查看评奖评优历史
5.4 班级负责人主界面
班级负责人登录进来的主界面,一共有四大模块功能,查看评奖评优项目信息,管理获奖学生,查看评定结果,查看评奖评优历史。中间显示提交的开始时间和截止时间提醒信息。如图5-22所示。

图5-22 班级负责人主界面
5.4.1 评奖评优项目信息
班级负责人可以查看到本班级获得的奖项和名额以及奖项的基本信息情况,但是只能查看,不可以对其作任何修改。如图5-23所示。

图5-23 查看评奖评优项目信息
5.4.2 管理获奖学生信息
管理获奖学生信息可以添加获奖的学生(只能添加本班级的学生,体现为添加的时候班级和学院是固定的不可以修改),主要包括信息为学院,班级,学号,姓名,奖项,其中奖项只能选择本班级被分配到的奖项。
添加成功的获奖学生信息会将submit置为0,等待提交。提交之前信息可以修改和删除,一旦提交之后就不可以再修改和删除了。提交之后会将submit置为1,close置为0,等待审核。提交的时候一是要检验你提交的获得某个奖项的人数是否超过本班级此奖项被分配到的名额数,二会检验是否已超过截止时间了。待提交的界面如图5-24所示。

图5-24 待提交获奖学生信息
5.4.3 查看评定结果
此功能和学院的查看评定结果功能类似,只是学院的可以查看整个学院的评定结果情况,但是班级的只能查看本班级的评定情况,并且班级没有封存历史的权限。可以根据奖项和学号进行查询。
查看审核通过的获奖学生信息界面如图5-25所示。

图5-25 查看审核通过的获奖学生信息
班级可以查看本班级奖项的统计信息,如图5-26所示。

图5-26 查看统计信息
5.4.4 查看评奖评优历史
查看评奖评优的历史记录,只能查看本班级的评奖评优历史,可以查看某年某个奖项是哪些人获得的,或者可以查看某一位学生在大学期间获得过哪些奖和荣誉称号。如图5-27所示。

图5-27查看评奖评优历史
本文详细介绍了IT系统的设计与实现过程,包括登录模块、管理员和学院负责人主页面的功能,如管理用户、评奖评优项目、学院信息等,并展示了关键代码片段。主要使用Java等编程语言进行编码和测试。
890

被折叠的 条评论
为什么被折叠?



