Javaweb技术的校运会报名及比赛管理系统

软件架构主要用于指导系统开发设计,是构建软件系统的基础,软件架构实现了对系统的结构分层,将系统模块化开发,便于系统开发和管理,降低系统开发成本,便于后期维护。

下图是运动会管理系统的项目包结构,系统的后台代码主要放置在src文件夹中,各个文件夹的相关说明请看表5-1项目结构说明表。

 

图5-1项目包结构

表5-1项目结构说明表

包名(结构层次)

说明

business.basic

数据连接、访问,管理数据库连接类和访问基类

business.dao

业务逻辑设计层,管理业务逻辑设计接口

business.impl

业务逻辑实现层,管理业务逻辑设计的实现类

business.factory

业务逻辑的工厂层,管理业务逻辑的组装工厂类

controller.service

业务逻辑控制层,管理用于与页面进行交互的控制类

model

实体层,管理表实体类和视图实体类

servlet.filter

网站过滤器包,管理网站过滤器类

util

工具类包,管理系统中的工具类

servlet.common

公共类包,管理公共类

    1. 业务类接口设计
      1. 系统业务接口设计

系统业务接口是对系统业务逻辑进行方法定义的接口,接口根据实际业务逻辑需要来进行方法的定义,实现类则是对接口的方法进行重写和具体实现[[1]]。

表5-2接口设计与说明

接口名称

接口说明

需要实现的方法

方法说明

AdminRoleDAO

管理员用户角色业务接口

getaAdminRoleList()

分页获取用户角色列表

delAdminRole()

删除用户角色

addAdminRole()

添加用户角色

edlAdminRole()

编辑用户角色

AdminUserDAO

管理员用户业务接口

add()

添加管理员用户

udpate()

编辑管理员用户

delete()

删除管理员用户

adminlogin()

管理员用户的登录

selbypage()

分页获取管理员信息

selbyid()

根据账号获取管理员用户

NewsDAO

公告业务处理接口

addnews()

添加公告

getAllNewsNoContent()

获取所有公告

deleteNewsById()

根据主键删除公告

RoleSysModelDAO

角色权限业务接口

addRoleModel()

添加角色权限

updataRoleModel()

更新角色权限

SignUpDAO

比赛报名业务接口

insert()

添加单个比赛报名

insertList()

批量添加比赛报名

update()

编辑比赛报名

delete()

删除比赛报名

SportInfoDAO

运动会信息配置业务接口

insert()

添加运动会

update()

编辑运动会

delete()

删除运动会

getSportList()

分页获取运动会信息

getSportCount()

根据查询条件获取运动会数量

UserDAO

普通用户业务接口

insert()

添加用户

update()

编辑用户

delete()

删除用户

  1. 管理员用户角色业务接口类:基于管理员用户角色操作的接口类,包含用户角色增、删、查、改等,以及将用户角色和系统菜单添加到角色权限表的操作。
  2. 管理员用户业务接口类:基于管理员用户操作的接口类,包含了对管理员用户的添加、编辑、删除等,同时为管理员用户分配用户角色。
  3. 公告业务接口类:基于公告操作的业务接口类,包括对公告的添加、修改、发布等。
  4. 角色权限业务接口类:基于角色权限分配的业务接口,实现管理员为角色动态分配权限。
  5. 比赛报名业务接口类:基于实现比赛报名的业务接口,实现运动会比赛报名,以及后台管理员对比赛报名的管理等方法。
  6. 运动会基本信息配置业务接口类:基于运动会基本信息配置的业务接口。包含运动会时间的配置,添加、编辑、删除运动会等。
  7. 普通用户业务接口类:基于普通用户操作的业务接口。实现对普通用户的管理和信息查询。

系统业务接口实现类如下表所示,表中各接口实现的方法只举例部分。

表5-3业务接口实现类

接口实现类名称

接口实现类说明

实现的方法

方法说明

AdminRoleDAOImpl

管理员用户角色业务接口实现类

delAdminRole()

删除用户角色

addAdminRole()

添加用户角色

edlAdminRole()

编辑用户角色

AdminUserDAOImpl

管理员用户业务接口实现类

add()

添加管理员用户

udpate()

编辑管理员用户

delete()

删除管理员用户

adminlogin()

管理员用户的登录

selbypage()

分页获取管理员信息

selbyid()

根据账号获取管理员用户

NewsDAOImpl

公告业务接口实现类

addnews()

添加公告

getAllNewsNoContent()

获取所有公告

deleteNewsById()

根据主键删除公告

      1. 网页控制请求接口

系统开发使用了SpringMVC框架,通过定义控制类请求接口,前台使用Ajax请求接口并传递参数,后台控制类接收并处理。

下面列举UserController(用户处理控制类)控制类

表5-4网页控制请求接口设计

类名

说明

需要传入的参数

URL请求

getUserList

按查询条件分页获取用户

Operation,page,limit

user/getuser

addUser

添加用户信息

usrid,username,pwd,claid,usertype

user/adduser

delUser

删除用户信息

userid

user/deluser

      1. 请求接口中的数据交换格式设计

表5-5请求接口数据格式设计

方法及说明

参数

返回值

案例

Adminlogin

(管理员用户登录)

userid 账号

pwd 密码

成功: 返回
{code:0,msg:登录成功}

失败:返回

{code:1,msg:登录失败}

失败原因:账号或密码不正确

http://localhost:8080/GMS/admin/adminlogin

addadminuser

(添加管理员用户)

usesrid 账号

realname 真实姓名

pwd 密码

mobile 联系方式

roleid 角色编号

成功: 返回
{code:0,msg:添加成功}

失败:返回

{code:1,msg:添加失败}

 

http://localhost:8080/GMS/admin/addadminuser

logoutsystem

(管理员用户退出系统)

 

成功: 返回
{code:0,msg:退出成功}

失败:返回

{code:1,msg:退出失败}

http://localhost:8080/GMS/admin/logoutsystem

deladminuser

(删除管理员用户)

userid 账号

成功: 返回
{code:0,msg:删除成功}

失败:返回

{code:1,msg:删除失败}

http://localhost:8080/GMS/admin/deladminuser

 

    1. 数据库设计
      1. 数据库结构设计

 

图5-2系统数据库结构设计图

 

      1. 表详细设计
  1. T_User 公众网站用户表

Userid为用户账号,并作为主键约束。

表5-6前端网站用户表

序号

字段名

数据类型

主键

非空

描述

1

userid

VARCHAR(50)

账号

2

username

VARCHAR(50)

用户名

3

pwd

VARCHAR(50)

密码

4

alreadynum

Int

已报名项目数

5

sex

VARCHAR(2)

性别

6

roleid

int

角色id

7

userregion

int

班级id/学院id

  1. T_Role 角色表

roleid为主键约束

表5-7角色表

序号

字段名

数据类型

主键

非空

描述

1

roleid

int

角色编号

2

rolename

VARCHAR(100)

角色名称

  1. T_Project 比赛项目表

Pid为主键约束

表5-8比赛项目表

序号

字段名

数据类型

主键

非空

描述

1

pid

int

项目编号

2

pname

VARCHAR(100)

项目名称

3

ptypeid

int

项目类型编号

  1. T_SportInfo 运动会配置表

sportid为主键约束

表5-10运动会信息表

序号

字段名

数据类型

主键

非空

描述

1

pinfoid

int

项目信息编号

2

sprotid

int

运动会编号

3

pwd

VARCHAR(50)

密码

4

alreadynum

Int

已报名项目数

5

userregion

int

班级id/学院id

  1. T_ProjectInfo运动会项目表

pinfoid为主键约束

表5- 9比赛项目信息表

序号

字段名

数据类型

主键

非空

描述

1

pinfoid

int

项目信息编号

2

sprotid

int

运动会编号

3

pwd

VARCHAR(50)

密码

4

alreadynum

Int

已报名项目数

5

userregion

int

班级id/学院id

  1. T_SignUp 比赛报名表

sid为主键约束

表5-10比赛报名表

序号

字段名

数据类型

主键

非空

描述

1

sid

int

比赛报名编号

2

userid

VARCHAR(50)

账号

3

proinfoid

int

项目信息编号

  1. T_AdminUser管理端用户表

userid为主键约束

表5-11管理端用户表

序号

字段名

数据类型

主键

非空

描述

1

userid

VARCHAR(50)

账号

2

realname

VARCHAR(50)

用户名

3

pwd

VARCHAR(50)

密码

4

roleid

Int

角色编号

5

userstatus

int

用户状态

6

mobile

Char

联系电话

7

Createtime

Datetime

创建时间

8

Lastlogindate

Datetime

最后登录时间

  1. T_AdminRole 管理端角色表

roleid为主键约束

表5-12管理端角色表

序号

字段名

数据类型

主键

非空

描述

1

id

int

管理员角色编号

2

name

NVARCHAR(30)

角色名称

3

description

NVARCHAR(255)

角色描述

4

Deepth

Int

跟节点

5

Parentid

Int

父节点编号

      1. 视图详细设计
  1. V_User 用户信息视图

查询用户信息

 

表5-13用户信息视图

序号

字段名

描述

1

userid

账号

2

pwd

密码

3

username

用户名

4

roleid

角色编号

5

rolename

角色名称

6

claid

班级编号

7

claname

班级名称

8

gradename

年级名称

9

majid

专业编号

10

majname

专业名称

11

colid

学院编号

12

colname

学院名称

  1. V_AdminUser 管理员用户视图

查询管理员用户信息

表5-14管理员用户视图

序号

字段名

描述

1

userid

账号

2

mobile

联系电话

3

pwd

密码

4

userstatus

用户状态

5

realname

真实姓名

6

createtime

创建时间

7

loginstatus

登录状态

8

lastlogindate

登录时间

9

roleid

角色编号

10

rolename

角色名称

11

description

角色描述

  1. V_SignUp 比赛报名视图

查询用户比赛报名信息

表5-15比赛报名视图

序号

字段名

描述

1

sid

比赛报名编号

2

userid

账号

3

proinfoid

项目信息编号

4

username

用户名

5

roleid

角色编号

6

rolename

角色名称

7

claid

班级编号

8

claname

班级名称

9

gradename

年级名称

10

majid

专业编号

11

majname

专业名称

12

colid

学院编号

13

colname

学院名称

14

sportid

运动会编号

15

pid

项目编号

16

nownum

当前报名人数

17

maxnum

项目人数限制

18

pname

项目名称

19

ptypeid

项目类型编号

20

ptypename

项目类型名称

21

Sportname

运动会名称

22

sportstart

运动会开始时间

23

sportend

运动会结束时间

24

enrollstart

比赛报名开始时间

25

enrollend

比赛报名结束时间

      1. 系统存储过程
  1. up_addAdminRole 添加管理员角色存储过程
  • 依赖表:角色权限表,菜单表
  • 作用:添加管理员用户角色,若角色添加成功,则在角色权限表中添加用户角色和菜单编号作为权限管理
  • 返回:返回1代表成功,0代表失败
  1. up_deleteCollege 删除学院的存储过程
  • 依赖表:专业表、班级表
  • 作用:删除学院,如果学院编号有外键引用,则删除外键对应的班级信息和专业信息
  • 返回:返回1代表成功,0代表失败
 

[1] 陈学海. 基于语义网关的离散制造执行系统可重构体系与关键技术研究[D]. 重庆大学, 2014

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值