1.前言
1.1 相关技术
开发工具:Eclipse、Navicat(MySql工具)、Tomcat
代码管控平台:clm平台
后端:Spring+SpringMVC+MyBatis
前端:BootStrap、jQuery、Ajax、JavaScript
1.2 系统概述
如今社会已经进入信息时代。校园作为学生在社会发展最重要的学习和交流场所之一,校园委托服务的需求逐渐增加,然而缺少一个方便的委托系统让学生们自由发布和接取委托,因此我们设计了校园委托系统旨在为广大师生的校园生活提供便利。
本文所介绍的校园委托系统主要包括下面四个模块:登录注册模块、委托发布和接取模块、管理员模块、留言模块。该系统采用Spring+Spring MVC+Mybatis框架。前端界面则是使用bootstrap和jQuery来实现,出于安全性的考虑,在用户注册处使用了MD5加密,也使用了Ajax技术实现窗口弹窗。数据库采用了MySQL。该系统实现了登录注册、委托发布和接取、管理员后台信息管理、留言等功能,为学生之间的发布委托和接取委托服务体验和管理员的后台信息管理,提供了一体化的服务。
2.需求分析
2.1 系统用例图
3.概要设计
3.1系统整体流程图
3.2 程序开发视图
本系统的开发是使用SSM框架,每一层都有各自的作用,分别是控制器层(controller)、视图层(view)、dao层、service层。
3.3 模块结构图
3.4 数据库设计
3.4.1 系统数据库E-R图
3.4.2系统数据库表
系统数据库总表
表名 |
中文描述表名 |
功能说明 |
admin |
管理员表 |
存储管理员信息 |
user |
用户表 |
存储用户信息 |
notice |
公告表 |
存储公告信息 |
reply |
回复表 |
存储留言回复信息 |
tag |
标签表 |
存储标签信息 |
task |
委托表 |
存储委托信息 |
message |
留言表 |
存储留言信息 |
管理员表admin
列名 |
数据类型 |
长度 |
小数点 |
是否可空 |
键 |
注释 |
AdminID |
int |
11 |
0 |
否 |
主键 |
自增id |
Username |
varchar |
30 |
0 |
否 |
用户名 | |
Password |
varchar |
30 |
0 |
否 |
密码 | |
|
varchar |
30 |
0 |
是 |
邮箱 | |
Phone |
varchar |
30 |
0 |
否 |
电话 |
用户表user
列名 |
数据类型 |
长度 |
小数点 |
是否可空 |
键 |
注释 |
UserID |
int |
11 |
0 |
否 |
主键 |
自增id |
Username |
varchar |
30 |
0 |
否 |
用户名 | |
Password |
varchar |
80 |
0 |
否 |
密码 | |
|
varchar |
30 |
0 |
是 |
邮箱 | |
Phone |
varchar |
30 |
0 |
否 |
电话 | |
Ban |
Int |
11 |
0 |
是 |
封禁状态 |
公告表notice
列名 |
数据类型 |
长度 |
小数点 |
是否可空 |
键 |
注释 |
id |
int |
11 |
0 |
否 |
主键 |
自增id |
title |
varchar |
50 |
0 |
是 |
主题 | |
content |
varchar |
50 |
0 |
是 |
内容 | |
editor |
varchar |
50 |
0 |
是 |
发布者 | |
createTime |
datetime |
0 |
0 |
是 |
发布时间 |
回复表reply
列名 |
数据类型 |
长度 |
小数点 |
是否可空 |
键 |
注释 |
rid |
int |
11 |
0 |
否 |
主键 |
自增id |
taskID |
Int |
11 |
0 |
是 |
委托id | |
rname |
varchar |
255 |
0 |
是 |
回复者用户名 | |
rtime |
datetime |
0 |
0 |
是 |
回复时间 | |
replycontent |
varchar |
255 |
0 |
是 |
回复内容 | |
uname |
varchar |
255 |
0 |
是 |
回复对象 | |
rmessage |
varchar |
255 |
0 |
是 |
留言表message
列名 |
数据类型 |
长度 |
小数点 |
是否可空 |
键 |
注释 |
id |
int |
11 |
0 |
否 |
主键 |
自增id |
uname |
varchar |
255 |
0 |
是 |
留言者用户名 | |
content |
varchar |
255 |
0 |
是 |
留言内容 | |
rname |
varchar |
255 |
0 |
是 | ||
time |
datetime |
0 |
0 |
是 |
留言时间 | |
taskID |
Int |
11 |
0 |
是 |
委托id |
标签表tag
列名 |
数据类型 |
长度 |
小数点 |
是否可空 |
键 |
注释 |
TagID |
int |
11 |
0 |
否 |
主键 |
自增id |
Tagname |
varchar |
30 |
0 |
是 |
标签名 |
委托表task
列名 |
数据类型 |
长度 |
小数点 |
是否可空 |
键 |
注释 |
TaskID |
int |
11 |
0 |
否 |
主键 |
自增id |
TaskTitle |
varchar |
30 |
0 |
否 |
委托主题 | |
TaskDescription |
varchar |
255 |
0 |
否 |
委托描述 | |
TagID |
varchar |
30 |
0 |
否 |
标签id | |
TaskStatus |
varchar |
10 |
0 |
否 |
委托状态 | |
PublicTime |
datetime |
0 |
0 |
否 |
发布时间 | |
DeadLine |
datetime |
0 |
0 |
否 |
截止时间 | |
PublisherID |
Int |
11 |
0 |
是 |
发布者id | |
ReceiverID |
Int |
11 |
0 |
是 |
接取者id | |
Price |
double |
10 |
2 |
是 |
价钱 | |
CompleteTime |
datetime |
0 |
0 |
是 |
完成时间 | |
ReceiverScore |
Int |
11 |
0 |
是 |
接取者评分 | |
PublisherScore |
Int |
11 |
0 |
是 |
发布者评分 |
4 详细设计
4.1 系统类图
4.2 系统详细设计
4.2.1 登录页面
该页面为用户登录页面。用户可在该页面输入用户名和密码,经过校验后即可登录。
当用户忘记密码时,可点击左下角“忘记密码”按钮输入信息进行重置密码。
当用户想新建账号时,可点击右下角“用户注册”按钮输入用户名、密码、邮箱、手机号,通过获取邮箱验证码进行注册。
4.2.2 查看公告
用户登录后可进入此页面可查看公告和委托
4.2.3 发布委托
点击发布委托进入发布委托详情页,输入委托名、委托描述,选择标签类别,截至时间和委托价格即可发布委托。若是对输入内容不满意可点击重置按钮回复初始状态。
4.2.4 接取委托
这是委托列表界面,可通过点击上方的标签类别来进行筛选。点击接取进入接取委托界面,点击查看后可接取委托。
委托信息界面
订单界面
接取委托后可在个人委托管理界面选择我的接取查看
5.2.5 委托留言
在个人委托信息管理处查看被接取的委托
查看委托界面
点击联系接取者可进入发布者与接取者的一对一留言对话界面
留言界面
4.2.6 交付委托
交付委托界面
完成的委托后点开委托详情界面,为对方打分并交付,双方都打完分后系统判定该委托已完成。
5.2.7 修改个人信息
查看、修改个人信息界面
点击主界面的用户头像处可进行个人信息修改
4.2.8 管理员登录
管理员登录界面
该页面为管理员登录页面。管理员可在该页面输入用户名和密码,经过校验后即可登录。
4.2.9 用户管理
用户管理界面
管理员登录后进入用户管理页面,可查询用户,封禁用户、解封用户和导出用户信息。
4.2.10 公告管理
公告管理界面
编辑公告界面
进入公告管理后,可以编辑、发布公告、删除公告
4.2.11 委托管理
委托管理界面
进入委托管理,可以查看用户发布的委托、可通过时间范围、委托名、标签三种不同方式来查找、筛选委托,并将不合适的委托予以删除。
4.2.12 标签管理
标签管理界面
进入标签管理,可对标签进行增加和删除操作。
5. 代码
5.1 代码结构
6.开发总结
本次项目是我们首次共同设计并完成一个完整的软件项目。校园委托系统是一个基于 Spring+Spring MVC+Mybatis 技术开发的委托交易平台,旨在为校园内的学生提供一个安全、便捷、高效的 委托交易平台。该系统的主要功能包括用户注册和登录、发布和更改委托、接取竞争委托、取消委托、更新委托状态、留言对话、评价委托、查看委托、 管理委托、封号用户、管理标签、和产生信誉分等。 用户可以在系统中注册账号并登录系统,以发布和接取委托。在发布委托时,用户可以填写委托的标题、描述、价格、标签、时间等信息,并在发布后对自己的委托信息进行更改。其他用户可以在系统中接取委托,委托发布者和接取者可以在系统中查看委托的状态,并进行相应的状态更新。 在委托已经被接取后,发布委托者和接取委托者双方可以在留言区交流。在完成一个委托之后,系统会要求接取者和发布者进行一个互相评价并打分,评价会同步到能被他人查看的信息页面,能增强用户之间的信任度。
管理员可以对不符合平台规定的委托进行查看和删除操作,对标签类别进行增删改查操作。管理员还可以对违反平台规定的用户进行封号操作,以保持平台的健康发展。信誉分是用于反映用户的信用度,可以通过用户之间进行评价委托的打分计算产生,初始信誉分为一百,本系统前端采用 Bootstrap 技术,界面简洁美观,易于操作。系统的开发团队由小组成员共同完成,通过 Spring+Spring MVC +Mybatis 技术的应用,实现了系统的高效运行和良好的用户体验。
不足之处:
1.本系统数据库设计中忽略了委托的完成时间,仅记录了委托的发布时间和截至时间。
2.本系统未完善图片插入功能,稍显简陋。