摘 要
书法是中华民族悠久的文化艺术,是世界文化艺术的璀璨。中华民族在历朝历代都非常重视文字的书写,因为他不只是生活、文化、思想和科学交流的媒介,而且其艺术价值非常高。随着科学的进步,电脑的普及,很多学校为了更好的宣扬书法艺术,除了开发书法培训课程的同时也开展越来越多的书法比赛。这个时候,一个好的书法比赛评分系统可以给校管理人员以及比赛评委带来作品信息以及作品评分管理上很大的便利。
而开发一个书法比赛评分系统的目的,(1)能够让参赛者随时随地查看各种比赛信息的同时,用户还可以自己进行在线提交作品进行参赛,(2)评委注册登录后可以查看各类比赛提交的作品信息,还可以在线进行评分公布,(3)管理员作为系统的维护员可以对系统上各类相关信息进行管理。总体来说系统是通过springboot架构搭建后台的,中间件使用的是tomcat服务器,数据库管理平台采用开源的Mysql,前端使用的主要是jsp页面展示技术。通过测试,该需要能够较好的完成设定的目标。
2.3用例分析
书法比赛评分系统中的管理员主要负责了如下功能操作。
(1)站点管理功能需求:站点管理包括了轮播图,公告栏两部分,管理员可以对这两部分进行添加,修改,删除和查询等。
(2)用户管理功能需求:用户管理部分包括了管理员,参赛者,评委三部分,管理员可以对这三部分进行添加,修改,删除以及查询等。
(3)内容管理功能需求:内容管理部分包括了交流中心,资讯分类,管理员可以对其进行管控。
(4)更多管理功能需求:更多管理主要实现了测评信息、评分中心、作品中心、获奖选手、分类信息、留言中心的功能,管理员可以进行添加,编辑,删除操作。
图2-1管理员角色用例图
书法比赛评分系统中的评委用户主要负责了如下功能操作。
(1)注册登录功能需求:没有账号的评委,可以输入账号,密码,昵称,邮箱等信息进行注册操作,注册后可以输入账号和密码进行登录。
(2)作品中心管理功能需求:作品中心管理部分包括了参赛者提交的参赛作品信息。
(3)评分中心管理功能需求:评分中心管理主要实现了对参赛者提交的参赛作品进行评分操作。
图2-2评委用户角色用例图
书法比赛评分系统中的前台参赛者主要有如下功能操作。
(1)用户查看系统信息功能需求:用户可以通过系统首页查看书法比赛评分系统信息,包括首页、书坛资讯、测评信息、作品中心、系统帮助等,同时可以输入关键词进行书法比赛评分系统的信息查询等模块。
(2)用户登录与注册功能需求:用户可以通过注册获取帐户。
(3)留言中心功能需求:用户登录系统以后,是可以进行对留言中心信息查看,进行发布、评论等操作。
(4)测评信息功能需求:参赛者登录系统以后,是可以进行对测评信息进行查看搜索。
(5)获奖作品功能需求:参赛者登录系统以后,是可以进行对获奖作品信息进行查看。
(6)作品中心功能需求:参赛者登录系统以后,是可以进行对作品中心的作品列表进行查看。
(7)我的账户功能需求:用户登录系统以后,是可以进行我的账户进行管理的,包括个人资料,修改密码两部分。
图2-3 参赛者用户角色用例图
3系统总体设计
3.1 系统开发架构的选择
如今随着web系统功能的不断完善,越来越多的项目选择web系统,同样书法比赛评分系统也是通过浏览器来访问系统主页面的。Web系统与app相比(后者主要是C/S架构),可以通过浏览器来规避很多问题,依靠浏览器让项目的开发变得简单,不再担心项目的版本跟新带来的数据传输等一系列的问题。值得注意的是B/S架构的项目,浏览器与服务器的数据的交互是通过http协议进行的,同样,服务器与数据库的数据交互也是通过http协议,统一的格式让信息的交互更加的简便与快捷。下图是具体的b/s架构图:
图3-1 系统B/S结构
3.1系统功能模块设计
书法比赛评分系统的整体架构确定以后,再来看书法比赛评分系统的主要功能模块图。整体的功能模块包括前台和后台,前台只要实现了参赛者和评委两个用户,主要的页面,包括首页,书坛资讯、测评信息、获奖选手、作品中心、留言中心等。后台的模块主要实现了管理员,站点管理、用户管理、系统管理、更多管理等。确定了模块以后,再设计各个模块的功能特点,方便抽取出各个模块的公共部分来。
图3.1书法比赛评分系统功能模块图
3.1.1 前台页面设计
本书法比赛评分系统的前台页面所有的页面设计主要是上中下的结构,这样的好处是让所有的页面更加的整洁。主题的页面颜色采用淡色为主,为突出页面的美观。主页面上分为导航栏,导航栏的每个导航项目设计为一张jsp页面,除此之外,还有就是用户中心页面,后台管理的页面了。后台管理页面已简单的上下结构为主。
3.1.2 用户模块设计
(1)用户模块结构图
本系统的用户包括管理员,参赛者,评委模块。三种用户模块的功能基本是相同的,参赛者跟评委模块比管理员多了一个注册功能,所以以用户模块的结构图为例进行分析,如下图:
图3.2用户模块结构图
(2)各个结构的具体业务逻辑
a.查询用户信息:设计最基础的查询功能,主要就是根据用户id查询用户信息。该功能主要体现在管理员用户信息查询和用户自己查询信息的时候。
b.修改用户信息:用户可以根据情况,对自己的基本信息进行修改,包括名字修改、密码修改、头像修改等操作。
c.增加用户:用户可以通过注册来获得账号
d.删除用户信息:管理员没有权利进行删除信息的删除,最多把用户加入到黑名单中,禁止用户进行登录操作。
3.1.3 评论管理模块设计
(1)评论模块结构图
书法比赛评分系统是一个交流性质的公开系统,用户和用户之间可以对系统上的内容,比如留言中心、书坛资讯等进行点评,增加用户之间的互动性。但是同时也为了更好的规范评论的内容,给予管理员删除不合适的言论的功能,所以需要专门设计一个评论管理模块,具体的结构图如下:
图3.3评论模块结构图
(2)各个结构的具体业务逻辑
a.查询评论:设计最基础的查询功能,主要就是根据用户id查询该用户下的所有评论信息。
b.发布评论:用户可以根据情况,发布自己评论信息到系统上。
c.删除评论:管理员没有权限修改用户的评论信息,但是可以删除用户的整条评论。
3.1.4作品中心模块设计
(1)作品中心模块结构图
书法比赛评分系统是中需要存储不少书法参赛作品信息,用户可以查看参赛信息,进行参赛报名,评委和管理员可以添加,修改,删除作品,进行作品评分管理等,具体的结构图如下:
图3.4作品中心模块结构图
(2)各个结构的具体业务逻辑
a.添加作品:管理员和评委可以对作品信息进行添加。
b.修改作品:管理员和评委可以对作品信息进行修改。
c.删除作品:管理员和评委可以对作品信息进行删除。
d.参赛:用户可以提交作品信息,进行作品参赛。
e.作品评分:管理员和评委可以对学生作品获奖评分进行管理,参赛者可以进行查看。
3.2数据库设计
3.2.1数据库概要设计
书法比赛评分系统根据上面的E-R实体图,就再找到实体与实体之间的关系来,制作总的E-R图,实体之间的关系一共有4种,也就是一对一,多对一,一对多和多对多,总的E-R图是设计数据库表格的依据,如下图是系统的总E-R图。
图3.5系统总体E-R图
3.2.2数据库逻辑设计
根据上面的E-R图,继而设计数据库表格,注意的是数据库表格遵从三范式标准,这样以后操作也会更加简单一些。
系统的各个数据库表如下。
名称 类型 长度 不是null 主键 注释
judges_id int 11 是 是 评委ID
judge_account varchar 64 是 否 评委账号
name_of_judges varchar 64 否 否 评委姓名
gender varchar 64 否 否 性别
age varchar 64 否 否 年龄
examine_state varchar 16 是 否 审核状态
recommend int 11 是 否 智能推荐
user_id int 11 是 否 用户ID
create_time datetime 0 是 否 创建时间
update_time timestamp 0 是 否 更新时间
名称 类型 长度 不是null 主键 注释
work_center_id int 11 是 是 作品中心ID
work_name varchar 64 否 否 作品名称
work_type varchar 64 否 否 作品类型
work_cover varchar 255 否 否 作品封面
work_specification varchar 64 否 否 作品规格
instructor varchar 64 否 否 指导老师
entry_account int 11 否 否 参赛账号
contestant varchar 64 否 否 参赛者
age varchar 64 否 否 年龄
work_details longtext 0 否 否 作品详情
hits int 11 是 否 点击数
praise_len int 11 是 否 点赞数
examine_state varchar 16 是 否 审核状态
recommend int 11 是 否 智能推荐
create_time datetime 0 是 否 创建时间
update_time timestamp 0 是 否 更新时间
名称 类型 长度 不是null 主键 注释
winners_id int 11 是 是 获奖选手ID
contestant varchar 64 否 否 参赛者
age varchar 64 否 否 年龄
personal_avatar varchar 255 否 否 个人头像
grade varchar 64 否 否 成绩等级
entry_account int 11 否 否 参赛账号
introduction_to_art text 0 否 否 艺术简介
work_details longtext 0 否 否 作品详情
hits int 11 是 否 点击数
praise_len int 11 是 否 点赞数
recommend int 11 是 否 智能推荐
create_time datetime 0 是 否 创建时间
update_time timestamp 0 是 否 更新时间
名称 类型 长度 不是null 主键 注释
system_help_id int 11 是 是 系统帮助ID
help_title varchar 64 否 否 帮助标题
help_tab varchar 64 否 否 帮助标签
help_attachment varchar 255 否 否 帮助附件
release_time date 0 否 否 发布时间
help_content text 0 否 否 帮助内容
recommend int 11 是 否 智能推荐
create_time datetime 0 是 否 创建时间
update_time timestamp 0 是 否 更新时间
名称 类型 长度 不是null 主键 注释
scoring_center_id int 11 是 是 评分中心ID
work_name varchar 64 否 否 作品名称
work_type varchar 64 否 否 作品类型
work_specification varchar 64 否 否 作品规格
entry_account int 11 否 否 参赛账号
contestant varchar 64 否 否 参赛者
age varchar 64 否 否 年龄
work_score varchar 64 否 否 作品分数
grade varchar 64 否 否 成绩等级
name_of_judges varchar 64 否 否 评委姓名
judge_account int 11 否 否 评委账号
work_details longtext 0 否 否 作品详情
recommend int 11 是 否 智能推荐
create_time datetime 0 是 否 创建时间
update_time timestamp 0 是 否 更新时间
名称 类型 长度 不是null 主键 注释
message_center_id int 11 是 是 留言中心ID
message_title varchar 64 否 否 留言标题
message_type varchar 64 否 否 留言类型
message_person varchar 64 否 否 留言人
message_time date 0 否 否 留言时间
message_content text 0 否 否 留言内容
recommend int 11 是 否 智能推荐
create_time datetime 0 是 否 创建时间
update_time timestamp 0 是 否 更新时间
名称 类型 长度 不是null 主键 注释
evaluation_information_id int 11 是 是 测评信息ID
message_header varchar 64 否 否 信息标题
evaluation_attachment varchar 255 否 否 测评附件
release_time date 0 否 否 发布时间
indicator_details text 0 否 否 指标详情
scoring_rules text 0 否 否 打分规则
recommend int 11 是 否 智能推荐
create_time datetime 0 是 否 创建时间
update_time timestamp 0 是 否 更新时间
名称 类型 长度 不是null 主键 注释
contestant_id int 11 是 是 参赛者ID
entry_account varchar 64 是 否 参赛账号
contestant varchar 64 否 否 参赛者
gender varchar 64 否 否 性别
age varchar 64 否 否 年龄
examine_state varchar 16 是 否 审核状态
recommend int 11 是 否 智能推荐
user_id int 11 是 否 用户ID
create_time datetime 0 是 否 创建时间
update_time timestamp 0 是 否 更新时间