学科竞赛系统的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品,体验高科技时代带给人们的方便,同时也能让用户体会到与以往常规产品不同的体验风格。
与安卓,iOS相比较起来,学科竞赛系统在流畅性,续航能力,等方方面面都有着很大的优势。这就意味着学科竞赛系统的设计可以比其他系统更为出色的能力,可以更高效的完成最新的竞赛申请、竞赛审批、竞赛结果等功能。
此系统设计主要采用的是JSP技术来进行开发,采用SSM框架技术,框架分为三层,分别是控制层Controller,业务处理层Service,持久层dao,能够采用多层次管理开发,对于各个模块设计制作有一定的安全性;数据库方面主要采用的是MySQL来进行开发,其特点是稳定性好,数据库存储容量大,处理能力快等优势;服务器采用的是Tomcat服务,能够提供稳固的运行平台,确保系统稳定运行。通过学科竞赛系统来提升本课题的各项功能的工作效率,提供了一个多样功能,具有良好实用性的学科竞赛系统。
关键词:学科竞赛系统;SSM框架;
系统需求分析
需求分析的首要是要分析用户的需求,知道用户存在的一些情况,并且要明确用户的使用状况,然后设计规划解决的问题[9]。其中在使用定性的分析以及定量的分析,从这两个方面获取用户的需求。一方面定性的分析获得的应该是用户的基本需求,能够发现现在人们的习惯要求。所以定性的需要主要是为了多与用户交流,从而更为深刻的了解一些存在的需求问题;定量的分析则是发现一些潜在的用户,并且获得不一样的反馈内容。所以定量的需求要让用户来阐述一些情况,一定让使用者清晰的进行客观的描述,这样才能够比较全面的获得用户的需求所在。
系统用例图
本系统采用自上往下的方法开发,基本定位如下功能:
本课题要求实现一套学科竞赛系统,系统主要包括管理员和学生、二级学院、教务处、分管院的功能模块;
(1)管理员用例图如下所示:
图2-1管理员用例图
(2)学生用例图如下所示:
图2-2学生用例图
(3)教务处用例图如下所示:
图2-3教务处用例图
(4)二级学院用例图如下所示:
图2-4二级学院用例图
(5)分管院用例图如下所示:
图2-5分管院用例图
2.3可行性分析
2.3.1经济可行性
任何系统在开发之前,经济方面的问题都是最应该被考虑的,经济问题主要体现在两个方面。一方面是在开发时,现有可使用的设计资源能否满足系统的预计开发消耗;另一方面是在开发以后,系统的盈利能否保证系统的正常运行和日复一日的更新消耗。
开发方面,因为在开发系统时使用的开发工具基本都是免费的,只有一些少量的人工费。所以,开发工具上的经济消耗都是很少的,都是在可控范围内的。另外,可以在确保质量的前提下,尽可能的减少设计成本,可以为开发之后的工作留下更多的经济资源。
2.3.2技术可行性
技术可行性不只是考虑在技术上是否可实现,实际上还包含了在当前的实际的情况下的技术可行性。有很多的因素例如时间不足、预期的开发目标技术难度比较难、不能有充足的技术积累、而且对于技术的掌握不够等这些实际存在的情况,都是要提前部署和认真规划的。
开发学科竞赛系统的技术内容分析,目前的状况是从网络硬件和相关技术上看是可行的。该系统采用了jsp技术和 MySQL数据库。到现在可以知道,很多的基础知识都是经过学习使用的,在后续的设计中还需要不断的练习,学习更多相关的技术经验来充实自己对于系统的开发。
2.3.3社会可行性
在社会可行性分析中,首先能结合国家经济和社会发展的实际情况,还需要能够让用户更加的便利,给使用者带来多方面的高效益,使得可以比较快速的发展以及应用,随着很多领域的发展,尤其是智能化的社会下,据统计许多的人都拥有属于自己的系统,这种情况下就带来很多的问题,比较突出的就是管理上的不足,从而出现低效率的原因。
社会上的可行性,包括法律上的可行性,也包括法律上的可能性,法律上的可行性,需要社会上的许多因素,可以来实现系统建设的现实性。如果所开发的系统与国家法律或政策等相关的因素不相符合,在某些信息化的邻域中使用的是一些加密的信息或者技术问题,还有不经过正常的操作使用其他的一些公开的信息等这些情况,这样的系统的开发在法律的范围中就是不能被允许的。
2.4系统开发技术
2.4.1 JSP技术介绍
JSP技术本身是一种脚本语言,JSP全称JSP server page(JSP服务页),JSP在使用时不能直接被客户端浏览器直接运行,它只能被服务器运行解析,其本质上JSP是一个Servlet,但看上去更像一个HTML,相比较JSP更适合编写服务器端运行页面。它与HTML的最大区别,就是JSP在客户端浏览器中查看源码是看不到的。简单地说,JSP就是在HTML的基础上加了JSP代码。JSP还拥有九大内置对象,可以更好地对网页进行开发。
2.4.2 MySQL数据库
MySQL 是一种关联数据库管理系统,该系统速度快而且灵活性强,主要原因是它将数据保存在不同的表中,MySQL软件的优点是成本低、体积小、速度快,开放源码,所以一般中小型网站的开发都选择 MySQL 作为网站数据库。
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。
2.4.4 SSM框架
SSM就是Spring+Spring MVC+MyBatis,其中SpringMVC实际上是Spring中包含的内容。SSM是当下主流的轻量级Java EE企业级框架,既可以作为数据源较简单的web项目的框架,也可以用来搭建大型的企业级应用系统。
2.5系统流程分析
(1)个人信息流程图
用户在成功进入系统以后,可以获得账号、姓名等个人信息。获得个人信息的流程见图2-6所示。
图2-6个人信息流程图
用户进行登录操作的流程图如图2-7。
图2-7 用户登录界面流程图
用户进行注册操作的流程图如图2-8。
图2-8 用户注册流程图
系统设计
系统设计要提出具体的软件功能及要求,是系统分析后进行的流程。它的主要目的是提供软件开发的思路和具体流程,是系统运行的根本保障。它要确定软件各个模块的功能,并形成相应的流程图,方便设计者思考。同时要将每个模块需要完成的任务详细的表达出来,并对每个模块进行具体化的设计分析,提供相当数量的设计方案,再通过设计者的详细分析和比对,选择出最佳的方案进行设计开发。并对相应的方案进行验证和拓展。
3.1系统功能结构
3.1.1系统结构图
系统结构图可以把杂乱无章的模块按照设计者的思维方式进行调整排序,可以让设计者在之后的添加,修改程序内容的过程中有一个很明显的思维方向。同时结构图还可以让设计者以外的其他人更直观的看出整个系统的设计理论和设计过程。让系统的设计变的更直观。该系统的功能架构图如图3-1所示:
图3-1 学科竞赛系统功能结构图
3.2.1 数据库概念设计
从系统运行完整的角度出发,设置相应的实体,明确各实体之间的联系。下面列举整个系统中涉及核心功能的实体:
- 二级学院信息实体
图3-2二级学院信息实体图
- 教务处信息实体
图3-3教务处信息实体图
- 学生信息实体
图3-4学生信息实体图
4、竞赛申请信息实体
图3-5 竞赛申请信息实体图
系统详细设计
4.1登录模块设计
这个功能模块用来让工作人员进行后端登录。管理人员通过网站。在输入自己的用户名和密码、角色进行登录,登录后管理人员就可以对后台的信息相关的操作。
首先,设计后端管理的登录页面。对页面的各个板块进行详细的设计,规划它们的字体大小,背景颜色,字体颜色和板块大小等。还要加上图片,让页面被设计的更加美观。以便让以后需要登陆的管理员可以直观的使用。
4.2管理员功能模块
管理员通过登录页面填写用户名和密码,选择角色后点击登录操作,如图4-1所示。
图4-1管理员登录页面
管理员登录进入学科竞赛系统的实现可以查看首页、个人中心、学生管理、二级学院管理、教务处管理、分管院管理、竞赛申请管理、竞赛审批管理、竞赛结果管理等功能,如图4-2所示。
图4-2管理员功能界面图
管理员点击学生管理;在学生管理页面对学号、学生姓名、性别、年龄、手机、专业、头像等信息,进行查询,新增或删除学生信息等操作;如图4-3所示。
图4-3学生管理界面图
管理员点击二级学院管理;在二级学院管理页面对学院账号、学院负责人、手机号、邮箱等信息,进行查询,新增或删除二级学院信息等操作;如图4-4所示。
图4-4二级学院管理界面图
管理员点击教务处管理;在教务处管理页面对教务处账号、教务处姓名、手机号、邮箱等信息,进行查询,新增或删除教务处信息等操作;如图4-5所示。
图4-5教务处管理界面图
管理员点击分管院管理;在分管院管理页面对领导账号、领导姓名、手机号、邮箱等信息,进行查询或删除分管院信息等操作;如图4-6所示。
图4-6分管院管理界面图
管理员点击竞赛申请管理;在竞赛申请管理页面对竞赛名称、竞赛类型、竞赛等级、申请时间、申请说明、学号、学生姓名、是否审核、审核回复等信息,进行查询或删除竞赛申请等操作;如图4-7所示。
图4-7竞赛申请管理界面图
管理员点击竞赛审批管理;在竞赛审批管理页面对竞赛名称、竞赛类型、竞赛等级、申请时间、申请说明、学号、学生姓名、学院账号、学院负责人、领导账号、领导姓名、是否审核、审核回复等信息,进行查询竞赛审批等操作;如图4-8所示。
图4-8竞赛审批管理界面图
4.3 学生功能模块
注册界面,第一次使用本系统的使用者,首先是要进行注册,点击“注册”,然后就会进入到注册的页面里面,将学生信息录入注册表,确认信息正确后,系统才会进入登录界面,学生登录成功后可使用本系统所提供的所有功能,如图4-9所示。
图4-9学生注册界面
学生通过登录页面填写用户名和密码,选择角色后点击登录操作,如图4-10所示。
图4-10学生登录界面
学生登录系统后,可以对首页、个人中心、竞赛申请管理、竞赛审批管理、竞赛结果管理等功能进行相应操作,如图4-11所示。
图4-11学生功能界面图
4.4 二级学院功能模块
二级学院通过登录页面填写用户名和密码,选择角色后点击登录操作,如图4-12所示。
图4-12二级学院登录界面
二级学院登录到系统界面,可以对首页、个人中心、竞赛申请管理、竞赛审批管理、竞赛结果管理等功能进行相应操作,如图4-13所示。
图4-13二级学院功能界面图
4.5 教务处功能模块
教务处通过登录页面填写用户名和密码,选择角色后点击登录操作,如图4-14所示。
图4-14教务处登录界面
教务处登录到系统界面,可以对首页、个人中心、竞赛申请管理、竞赛审批管理、竞赛结果管理等功能进行相应操作,如图4-15所示。
图4-15教务处功能界面图
4.6 分管院功能模块
分管院通过登录页面填写用户名和密码,选择角色后点击登录操作,如图4-16所示。
图4-16分管院登录界面
分管院登录到系统界面,可以对首页、个人中心、竞赛申请管理、竞赛审批管理、竞赛结果管理等功能进行相应操作,如图4-17所示。
图4-17分管院功能界面图
软件测试
软件测试(Software Testing)是指在设计基本完成后对软件的各项功能进行测试,检测其能否达到在系统设计之初对其的预期情况[11]。预估系统上线后的情况,对出现问题的地方进行及时修改。软件测试作为系统设计的最终阶段,它的准确性往往影响了系统的最终使用感。因为软件是由数据、文档以及程序代码组成的,所以软件测试的对象就不仅仅是程序的本身,还有包括软件设计过程中形成的数据、文档等。但软件测试也存在着问题,软件测试注重的是软件设计的最终结果,其并没有关心整个系统在开发过程中发生的问题。软件测试必须假设和考虑在设计过程中发生的问题。并对软件测试中发现的问题进行回归测试[12]。要更好的通过软件测试检测系统以更好的找出问题来提高系统的质量。软件测试要以最少的人力和经济消耗来完成系统的设计结尾工作。而且所有的测试都要以人为本,任何的测试都要考虑到用户使用的实际体验感,要确保用户有一个好的使用体验。要确保整个软件测试过程都按照原定的规则进行,以确保最终设计的系统的完整性和实用性。
测试用例
表 5-1 测试用例表
测试功能、流程 | 预期结果 | 实际结果 | 结论 |
进行登录实验。需要管理员输入相应的信息验证,看能否进入 | 录入信息验证通过, 转入管理员界面 | 登陆成功, 成功跳转页面 | 测试成功 |
对用户的登录进行测试。管理员就录入特定的信息,看能否成功登录 | 录入特定信息, 可以登录,可以在数据后台找到信息 | 可以登录,在后台找到了对应信息 | 测试成功 |
测试登录功能是否符合规定。测试员要输入错误的登录信息,检查能否登录 | 在输入错误的信息后,系统会发现错误,禁止测试人员登录 | 输入错误信息后,系统禁止登录 | 测试成功 |
对兼容性进行测试,让软件在不同的电子类产品上进行登录测试 | 都可以成功打开软件,正常运行 | 可以在不同的设备上和其他软件共存 | 测试成功 |
续表5-1
测试功能、流程 | 预期结果 | 实际结果 | 结论 |
安装测试,在试验机上登录软件,检测能否按预期正常运行 | 登录后可以进行正常操作,可以发行 | 在试验机上可以正常运行,没有卡顿 | 测试成功 |