基于S2SH高校学生工作管理系统的设计与实现
2021-03-07魏付芳
魏付芳
(德州职业技术学院 山东省德州市 253034)
1 系统需求分析
1.1 系统功能
结合当前高校学生工作管理的实际需求,综合确定基于S2SH高校学生工作管理系统的功能模块如下:
(1)党团工作管理:用于学生预备党员关系档案构建、预备党员转正审核等一系列工作内容。
(2)奖励违纪管理:用于奖学金申报统计关系、学生违纪和处理管理等一系列工作内容。
(3)学生助学管理:用于对助困项目统计、设置及管理,并根据各部门实际情况,合理设置勤工岗位和岗位人数[1]。
(4)学生综合管理:用于学生军训、学生考证、学生就业等一系列综合业务管理。
(5)学生日常事务:用于对学生保险、档案以及其他特殊情况(如结婚、出国、入伍等)进行处理及管理。
(6)文化活动管理:用于对校内各类文化活动相关工作进行管理。
(7)学生情况汇总:用于学生个人信息以及学生综合测评信息管理。
(8)固定资产管理:用于对学生工作簿所购置的各类固定资产进行统计管理。
(9)信息发布反馈:用户对公告、文件的发布及管理。
1.2 系统流程
基于各系统功能模块,合理分析各系统功能的具体工作流程,方便后续系统设计中设计人员能够对系统功能有更为明确的了解,提高设计针对性[2]。以教师用户操作学生助学管理模块为例,用户在系统管理过程中主要会经历以下操作流程:登录学生工作管理系统→选择用户→输入用户名密码→用户名及密码验证→进入学生助学管理模块→验证权限→功能界面→结束。
1.3 系统用户
基于S2SH高校学生工作管理系统主要涉及到系统管理员、普通管理员、院系辅导员以及学生四种系统用户。
(1)系统管理员:系统管理员可以对系统中所有功能栏目进行“增删改查”,并负责对其他用户的权限赋予及管理。
(2)普通管理员:普通管理员是负责学生工作管理的相关教师,其可以根据自身的工作职能,在系统中进行各栏目工作内容的查询、添加、修改及删除[3]。
(3)院系辅导员:院系辅导员作为学生工作的直接管理者和参与者,其在实际工作过程中负责审核学生相关工作申请、查询系统内部统计资料、查询公告以及文件下载通知等一系列工作内容。
(4)学生:学生可以通过系统浏览所有开放信息,并可以对自己的信息进行查询以及各类工作申请、材料及文件的上传及下载。
1.4 非功能性需求
非功能性需求主要包括可靠性、效率性、可移植性等要求:
(1)可靠性:系统在一定环境及条件下,可以持续正常运作。通常情况下,系统可靠性包括容错性和易恢复性两方面要求,其中容错性是指系统在发生故障时,可用系统功能仍然可以满足实际系统业务正常使用;易恢复性是指系统在发生故障并重新恢复系统后,恢复后的系统不会影响系统功能正常实现[4]。
(2)效率性:在一定时间内,系统的整体性能和使用资源量能够满足用户需求。具体要求包括响应时间、数据吞吐量等。
(3)可移植性:在改变系统环境情况下,系统的适应能力。具体包括系统的已安装性、系统的可替换性以及系统的可拓展性等,其可以确保系统在各种环境下的适应能力,进而保障系统的应用成效[5]。
当然除了几点需求,非功能性需求还包括如功能性、易用性、易维护性等基本需求指标,相关需求在其他系统也较为常见,在此将不再另行赘述。
2 基于S2SH高校学生工作管理系统的设计与实现
2.1 系统总体架构
基于S2SH高校学生工作管理系统在设计中将会采用多层架构模式,具体设计架构如图1所示[6]。
图1:基于S2SH高校学生工作管理系统设计总体架构图
2.2 数据库
数据库作为高校学生工作管理系统的重要组成内容,其设计成效将会直接影响到总体整体应用效果,所以设计人员必须提高相关重视,根据设计要求完成具体数据库设计工作。具体来说,数据库需要满足系统各类用户的数据使用要求,并由此构建出数据库与应用程序之间的最优结构。通常情况下,数据库设计需要建立在数据库及相关技术的基础上,是整体高校学生工作管理系统的核心技术,实际数据库设计将会经历数据库需求分析、概念结构设计、逻辑结构设计、物理结构设计、实践验证设计等步骤,为保障数据库具体设计成效,应严格按照上述步骤进行具体设计。
(1)数据库需求分析:数据库需求分析的目的及原理与系统需求分析的目的及原理基本一致,差异点仅在于数据库分析的侧重点在于分析用户使用数据需求,确定具体数据库所需的数据种类、范围、数量及数据流动情况,进而为后续数据库设计提供必要约束及参考。
(2)概念结构设计:基于需求分析结构,根据系统功能内容,形成概念角度的结构设计,具体概念结构设计内容应遵循自上而下全局定义、自下而上局部定义、由核心向外逐步发展等原则,必要情况下可以采用多种概念结构设计方案相互融合的方式完成具体设计过程。
(3)逻辑结构设计:逻辑结构设计就是将概念结构设计中的内容转换成为具体数据模式,通常包括数据概念模型和数据关系模型两种模型。本设计中将会使用范围更为广泛的数据关系模型,并遵循概念结构和逻辑结构一对一的方式进行数据关系模型构建。此过程中,概念属性就是关系属性,概念的码就是关系的码。
(4)物理结构设计:根据概念结构设计和逻辑结构设计,合理分类符合系统数据应用环境的物理结构,并基于物理结构对概念结构和逻辑结构进行预测评估,分析其中存在的不足,并对不足进行具体优化污水。
(5)实践验证设计:灵活运用现有数据平台所提供的各类数据语言、工具,结合概念结构设计、逻辑结构设计以及物理结构设计,实施具体数据库构建,并在构建过程中持续优化数据库应用程序,确保数据库的实用性。
2.3 表现层
表现层主要包括视图文件和核心控制器两部分,其实现主要依靠FliterDispatcher、视图文件和输入检验以及拦截器等部分来实现。具体实现过程是需要导入JAR 包,并将JAR 包导入到webRoot 中。
(1)web.xml 的部署:在设计过程中,基于XML 的特点,需要对设计中的大小写以及次序进行着重关注。例如,XML 文件的次序应分别为XML 头、Doctype、Web-app 元素。其中Web-app 元素也需要关注元素的次序,虽然服务器不会强度要求元素的具体次序,但在实施过程中却可能会拒绝执行次序不正确的Web应用程序。具体部署过程中应对servlet 和JSP 页面进行名称和URL 定制化设计,此过程中可以通过servlet-mapping 元素来实现定制化URL 和名称的关联效果[7]。
(2)Struts.xml 配置:Struts.xml 配置主要是指对Struts.xml 页面中常用的各类标签进行合理配置,例如,在进行学生配置、奖学金配置以及军训配置过程时,可以将三种配置分别放在三种配置文件中,然后通过Struts.xml 来导入程序,实现具体配置效果。
(3)拦截器:拦截器是保障系统安全的重要组成内容,其在应用过程中可以对用户的登录权限进行检测验证,进而对不具备权限的用户进行有效拦截。常用情况下,拦截器可以通过userIntercept 类中的Check 来实现对用户的实际系统操作权限的限定及配置。
(4)视图文件和输入检验:系统的视图文件主要是通过Struts2 和JSP 来实现,具体实现过程中,系统可以对两种用户输入信息和反馈程序进行接收和处理,并实时反馈给用户两类视图文件,此过程中将会设计到多个JSP 页面,相关页面均用于实现系统视图功能。输入检验则是指系统对用户所输入的信息与数据库数据信息进行匹配对比,然后将匹配对比结构反馈给用户的过程,此过程中,Struts 可以实现多种检验方式,实际设计可以根据自身需求进行检验方式合理选择。
2.4 逻辑层
2.4.1 业务控制器
业务控制器与FilterDispatcher 一样均属于Struts2 的重要组成,其中FilterDispatcher 在具体设计过程中无需设计者进行配置,业务控制器作为系统程序应用的核心,其包括大量的用户请求业务,具有多次复用属性,应根据相关属性及特点进行合理设计。
2.4.2 DAO 接口
在系统中,DAO 接口主要用于实现数据访问操作,通常包括有数据库数据“增删改查”等操作,相关操作可以分别通过business、ImanageRegDAO 等来实现。以系统管理员登录信息添加过程为例,介绍DAO 结构的实现过程。数据表添加:在对Admin添加数据表时,首先应通过DROP 去除相应的数据表,然后再进行dao.create 创建,若是在此过程中发现已经存在数据表,那么则忽略数据表添加过程。
2.5 其他功能实现
2.5.1 MD5
MD5 的核心在于对直接传的Hash 进行合理变换处理,即将任意长度的直接传变换成为一定长度的整数。MD5 校验码的主要作用是对所接受的数据执行上列运算,从而检验数据的正确性,即在所下载的文件与网站文件的MD5 一致的情况下,便可以确定所下载文件的完整性,说明文件无需重新下载;反之则说明文件下载不完全,需要重新进行下载。
2.5.2 生成Excel 文件
系统设计中将会涉及到大量的数据库文献,为方便对相关数据库文件的分析、统计、查询及处理,系统还会为学生工作管理过程中提供相应的Excel 文件导入等功能。
3 结束语
综上所述,文章基于S2SH 完成高校学生工作管理系统的设计及实现。具体来说,文章获取到以下成果:
(1)结合高校学生工作管理现状,指出基于S2SH 完成高校学生工作管理系统的功能需求、系统流程、系统用户以及非功能性需求。
(2)设计中采用多层架构设计模式,从数据库、表现层、逻辑层以及其他功能等角度完成具体系统架构设计。
(3)通过MD5 和Struts2 拦截器等方式,有效提高了系统的整体安全性,保障系统的具体应用安全目标。