软件工程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10829 |
团队名称 | 你说的都队 |
作业目标 | 系统设计与数据库设计 |
作业正文 | https://www.cnblogs.com/nsddd/p/13124368.html |
其他参考文献 |
团队项目的预期开发计划时间和分工安排:
日期 | 任务详细说明 |
---|---|
6月14日 | 系统设计和数据库设计完成,博客撰写完成 |
6月15日-6月17日 | 完善UI界面,统一开发环境,确定项目规范,分配具体任务 |
6月18日-6月20日 | 前端 后端 数据库人员讨论具体方案 |
6月21日-6月23日 | 数据库设计,前端组开始进行界面的实现,后端组针对功能模块进行讨论研究,并实现各自负责的模块。 |
6月24日-6月26日 | 各自负责的模块开发,给出各组出现的问题,讨论解决方案 |
6月27日-7月1日 | 进行各模块的初步单元测试,同时后端组集中讨论组合各模块的方式和注意点,进行集成测试。 |
7月2日-7月3日 | 前端交接界面,并进行进一步的完善;后端交接集成的项目,进行进一步的测试,进行前后端的交互,团队集中讨论测试,及进一步的完善。 |
7月4日-7月5日 |
进行项目的最后完善,发布项目的正式版本 |
序号 | 组员姓名 | 在整个项目中的职责 | 在本次任务中的职责 | 本次任务的贡献度 |
---|---|---|---|---|
1 | 马自强 | 前端开发 | 系统安全和权限设计 | 9% |
2 | 易江明 | 数据库设计 | 功能模块层次图 | 10.5% |
3 | 向彩云 | 界面设计 | 设计类图 | 9% |
4 | 刘志 | 数据库设计 | 体系结构设计 《数据库设计说明书》博客园编写 | 12% |
5 | 曾尧 | 后端开发 | 代码修改 | 10.5% |
6 | 李纪荃 | 测试 文档编写 | 表结构设计 | 9% |
7 | 林畅 | 后端开发 | 《系统设计说明书》 | 11% |
8 | 胡金泽 | 界面设计 | 完善界面设计 | 10% |
9 | 段清平 | 测试 文档编写 | 系统安全和权限设计 | 9% |
10 | 王鸿鹄 | 前端开发 |
ER分析 |
10% |
体系结构设计
本系统的设计主要是基于MVC设计模式,M代表模型Model,V代表视图View,C代表控制器Controller。MVC设计模式将系统分为三层,层与层之间又通过一定的模式联系,使数据实体、业务逻辑与呈现视图分离,同时降低耦合性、提高重用性和可维护性。
系统架构运行图:
功能模块层次图
系统分为前台和后台管理两大模块,其中前台功能有:用户浏览招领信息、寻物信息、感谢信息、登录注册,用户注册登录后可以发布招领信息、寻物信息、发表感谢信,还可以参与聊天室聊天,这里采用websocket的方式做了一个简单的聊天室,用户可以参与进去进行聊天。查看招领和寻物信息时用户也可以选择认领该物品。在用户中心里用户可以修改自己的基本信息、查看自己发布的信息、登录的日志信息等。后台管理功能有:用户管理(用户添加、编辑、删除、冻结、解冻、重置密码、批量导出到excel、批量从excel导入用户、查看用户登录日志等)、物品管理(招领物品管理、寻物信息管理)、菜单权限信息查看、系统设置(密码修改、日志查看、公告管理、感谢信管理等)
设计类图
ER分析
根据系统分析的主要实体有:用户(学生和管理员,用系统权限来区分)、招领、寻物、感谢留言、公告、系统日志和系统菜单。各个实体具体的描述属性图如下(实体属性在下图中并没有全部给出,因为属性过多的原因):
1. 用户实体
2. 招领实体
3. 寻物实体
4. 感谢留言实体
5. 公告实体
6. 系统日志实体
7. 系统菜单实体
表结构
-
数据库逻辑设计主要是把数据库概念设计时设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。它包括数据项、记录及记录间的联系、安全性和一致性约束等等。导出的逻辑结构是否与概念模式一致,从功能和性能上是否满足用户的要求,要进行模式评价。
本系统数据库名称为lostandfound,数据库中包括:1)用户表(user)2)招领表(pickthings)3)寻物表(lostthings)4)感谢留言表(expressthanks)5)公告表(notice)6)系统日志表(systemlog)7)系统菜单表(menuitem)。各表数据结构如下:
(1)用户表(user),存储用户信息
字段名称
数据类型
主键
是否空
说明
ID
bigint(20)
Y
N
用户ID
UserName
varchar(20)
N
N
用户名
Password
varchar(50)
N
N
密码
Grade
varchar(10)
N
N
年级
Name
varchar(20)
N
Y
姓名
NickName
varchar(20)
N
Y
昵称
TelPhone
varchar(12)
N
N
联系电话
Email
varchar(30)
N
Y
邮箱
QQ
varchar(15)
N
Y
qq
State
int(11)
N
N
状态
CreateTime
date
N
N
创建时间
LastLoginTime
datetime
N
Y
最后一次登录时间
(2)招领表(pickthings),存储招领信息
字段名称
数据类型
主键
是否空
说明
ID
bigint(11)
Y
N
招领ID
ThingsName
varchar(30)
N
N
物品名称
PickPlace
varchar(30)
N
N
捡到地点
PickTime
date
N
N
捡到时间
ThingsType
varchar(15)
N
N
物品类型
ThingsNo
varchar(10)
N
Y
物品编号
ThingsImg
text
N
Y
物品图片
ThingsDes
text
N
N
物品描述
StoragePlace
text
N
N
暂存地点
TelPhone
varchar(30)
N
Y
联系电话
PublishTime
datetime
N
Y
发布时间
Status
int(11)
N
N
状态
UserName
varchar(20)
N
N
用户名
(3)寻物表(lostthings),存储寻物信息
字段名称
数据类型
主键
是否空
说明
ID
bigint(11)
Y
N
寻物ID
ThingsName
varchar(30)
N
N
物品名称
LostPlace
varchar(30)
N
N
丢失地点
LostTime
date
N
N
丢失时间
ThingsType
varchar(15)
N
N
物品类型
ThingsNo
varchar(10)
N
Y
物品编号
ThingsImg
text
N
Y
物品图片
ThingsDes
text
N
N
物品描述
PublishTime
datetime
N
Y
发布时间
Status
int(11)
N
N
状态
UserName
varchar(20)
N
N
用户名
(4)感谢留言表(expressthanks),存储感谢留言信息
字段名称
数据类型
主键
是否空
说明
ID
bigint(20)
Y
N
感谢留言ID
Title
varchar(30)
N
N
感谢标题
Substance
text
N
N
感谢内容
Status
int(11)
N
N
状态
UserName
varchar(20)
N
N
感谢人
LeaveTime
datetime
N
N
感谢时间
(5)公告表(notice),存储系统公告信息
字段名称
数据类型
主键
是否空
说明
ID
int(11)
Y
N
公告ID
title
varchar(50
N
Y
标题
Substance
longtext
N
N
公告内容
Status
int(11)
N
N
状态
PublishTime
datetime
N
Y
发布时间
(6)系统日志表(systemlog),存储系统日志比信息
字段名称
数据类型
主键
是否空
说明
ID
bigint(20)
Y
N
系统日志ID
Description
longtext
N
N
描述
ExceptionCode
longtext
N
N
异常代码
Type
varchar(10)
N
Y
类型
RequestIp
varchar(50)
N
N
请求人IP
ExceptionDetail
longtext
N
N
异常详细信息
Method
longtext
N
N
请求方法
Params
longtext
N
N
请求参数
CreateBy
longtext
N
N
操作人
CreateDate
datetime
N
N
操作时间
(7)系统菜单表(menuitem),存储系统菜单信息
字段名称
数据类型
主键
是否空
说明
ID
int(20)
Y
N
系统菜单ID
MenuItemName
varchar(20)
N
N
菜单名称
MenuItemUrl
varchar(30)
N
Y
菜单url地址
ParentId
varchar(20)
N
Y
父菜单ID
Status
int(11)
N
N
状态
MenuItemDes
varchar(30)
N
Y
菜单描述
Authority
int(11)
N
N
菜单访问权限
Sort
int(11)
N
Y
菜单排序
系统安全和权限设计
1.用户登录和身份认证:每次用户登录系统时,用户必须标识自己的名字和身份,由系统核对,通过审核后提供系统使用权。
2.记录日志:本系统应该能够记录系统运行时发生的所有错误,包括本机错误和网络错误。这些错误便于查找错误的原因。同时日志应该记录用户的关键性操作信息。
3.通过用户权限定义和合法权检查确保只有合法权限的人访问数据库,未经授权的人无法存储或读取数据。
本系统有两个管理用户级别,分别拥有不同的管理权限,具体如下:
|
一般用户 |
系统管理员 |
用户信息管理 |
√ |
√ |
招领信息管理 |
|
√ |
寻物信息管理 |
|
√ |
评论信息管理 |
|
√ |
公告信息管理 |
|
√ |
系统信息管理 |
|
√ |
数据库设计说明书地址: https://github.com/drinkmorehotshui/Team
系统设计说明书地址: https://github.com/drinkmorehotshui/Team