七次作业-团队作业——选题报告和需求规格
团队成员
刘博良(组长),郑锦伟,王纯
项目描述
随着经济全球化和信息全球化的发展,英语能力越来越受到人们的关注。作为国际通用语言的英语,更是在很多重要场合上广泛使用。由此英语的学习越来越被社会所重视,小学到高中自不必说,英语向来是作为考核的课程之一。而在大学的英语四六级考试同样是要求在校大学生有较强的英语能力,而且英语也是考验中的必考课程之一。Crazy在线英语学习平台,顾名思义,是针对英语学习而生的学习平台。而它的主要服务对象是大学生,里面的词汇既有四六级词汇,也有考验英语需要的词汇,无论是为了四六级考试,或者是备战研考,使用Crazy在线英语学习平台都是一个不错的选择。
本项目服务对象有两种,客户端用户和后台管理用户。而后台管理用户可划分两种,超级管理员和普通管理员,超级管理员有操作后台数据的一切权利,而普通管理员只有对静态英语数据的储存有全部操作权限,其他的存储模块只有查看的权限。
至于客户端用户,是本项目的前端使用者用户,要成为客户端用户,首先需要进行用户注册,注册后进行登录才能使用学习平台进行学习使用。以下把客户端用户简称为用户。用户登录后,可以进入用户的个人中心查看信息。在个人中心里面可以查看或者修改用户的基本信息,然后还可以查看学习历史,除此之外,用户还可以查看好友的信息,查看好友在线状态,可以给好友发送留言信息,同时在个人中心里还可以查看留言板看是否有留言信息接收。
除了个人中心外,主界面里还有排行榜信息查看,可以进入排行榜界面查看前10名用户的排行。然后还有社区模块,进入社区可以浏览其他用户发的信息帖子,在社区模块里面可以发帖,在帖子界面里发送留言信息,回复留言信息等。
然后就是主模块,即学习模块,学习模块首先划分学习层次,有英语四级学习,英语六级学习,考研英语学习三大学习层次, 选择好学习层次后, 就可以选择分类学习, 组合学习和整体学习, 分类学习有单词学习,短语学习, 句子翻译学习(四六级汉译英,研考英译汉), 完型填空学习, 阅读理解学习, 还有写作练习;组合学习是从分类中用户选择要组合的类型进行套卷组合进行学习, 而整体学习是包括了所有分类题型的学习。分类学习可以选择题目数量,最少5道题以上,最多100道题,增加数目以5的倍数增加。
学习完成后,系统自动判题统计分数以及给出完成的时间, 根据分数和时间进行积分运算, 积分用于排名。
创新与收益
用户可以自定义学习计划,可以按照你的学习规律和学习习惯定义你的学习计划进行英语学习。
系统智能分析你的学习情况,智能推荐题目提供学习。
同时还可以与好友一起学习,一起相互监督,一起成长
随时获取你的学习记录,查看你的学习情况和知识掌握情况,从而可以改进你的学习计划更好地进行学习
用户场景分析
我们的项目主要面向三类用户
1.刚入大学,想考四级的大一新生们或者四级没过,要继续战四级的学生
2.过了四级后,想考六级的大学生
3.想考研深造,提高考研英语的学生
真实用户调研
问卷调查
经过调查,我们发现很多学生偏爱于网上学习,且喜欢轻松,自由的学习方式。喜欢能够随时随地碎片化学习英语的软件
未来市场与竞争
对比其他竞争产品,如百词斩,扇贝等。
我们给用户更多的自由学习合适的学习计划进行学习,确定好学习计划后。同时系统会智能根据你的学习情况进行题目推送
题型较多,除了词汇题,选择题外,还会有各种翻译题甚至是写作题提供练习,而判题由系统进行智能判断
题库庞大,题目质量高,我们采用全网分布式爬虫进行数据爬取,利用大数据进行数据清洗和数据筛选,然后系统智能对数据进行整合处理,变成各种不同类型,不同难度的高质量题目。
与好友更好地互动学习,能够邀请好友PK学习,提供学习的乐趣
有社区模块进行英语学习交流,资料分享等
需求规格
视频:https://pan.baidu.com/s/1uuzzyB9BP8-McTRPUiyNyA
密码: ly3d
1.需求分析
1.1需求描述
随着经济全球化和信息全球化的发展,英语能力越来越受到人们的关注。作为国际通用语言的英语,更是在很多重要场合上广泛使用。由此英语的学习越来越被社会所重视,小学到高中自不必说,英语向来是作为考核的课程之一。而在大学的英语四六级考试同样是要求在校大学生有较强的英语能力,而且英语也是考验中的必考课程之一。Crazy在线英语学习平台,顾名思义,是针对英语学习而生的学习平台。而它的主要服务对象是大学生,里面的词汇既有四六级词汇,也有考验英语需要的词汇,无论是为了四六级考试,或者是备战研考,使用Crazy在线英语学习平台都是一个不错的选择。
本项目服务对象有两种,客户端用户和后台管理用户。而后台管理用户可划分两种,超级管理员和普通管理员,超级管理员有操作后台数据的一切权利,而普通管理员只有对静态英语数据的储存有全部操作权限,其他的存储模块只有查看的权限。
至于客户端用户,是本项目的前端使用者用户,要成为客户端用户,首先需要进行用户注册,注册后进行登录才能使用学习平台进行学习使用。以下把客户端用户简称为用户。用户登录后,可以进入用户的个人中心查看信息。在个人中心里面可以查看或者修改用户的基本信息,然后还可以查看学习历史,除此之外,用户还可以查看好友的信息,查看好友在线状态,可以给好友发送留言信息,同时在个人中心里还可以查看留言板看是否有留言信息接收。
除了个人中心外,主界面里还有排行榜信息查看,可以进入排行榜界面查看前10名用户的排行。然后还有社区模块,进入社区可以浏览其他用户发的信息帖子,在社区模块里面可以发帖,在帖子界面里发送留言信息,回复留言信息等。
然后就是主模块,即学习模块,学习模块首先划分学习层次,有英语四级学习,英语六级学习,考研英语学习三大学习层次, 选择好学习层次后, 就可以选择分类学习, 组合学习和整体学习, 分类学习有单词学习,短语学习, 句子翻译学习(四六级汉译英,研考英译汉), 完型填空学习, 阅读理解学习, 还有写作练习;组合学习是从分类中用户选择要组合的类型进行套卷组合进行学习, 而整体学习是包括了所有分类题型的学习。分类学习可以选择题目数量,最少5道题以上,最多100道题,增加数目以5的倍数增加。
学习完成后,系统自动判题统计分数以及给出完成的时间, 根据分数和时间进行积分运算, 积分用于排名。
1.2功能需求及数据需求分析
1.2.1用例图
图1.1管理操作用例图
图1-2 客户端使用的用列图
1.2.2.具体功能和数据需求
1.2.2.1 登录注册管理
(1) 注册
用户填写基本信息进行注册,要填写的信息有(账号,密码,确认密码,邮箱,密保问题,密保问题可以设置多个,最多三个)
(2) 登录
用户根据账号或者邮箱号进行登录
(3) 忘记密码
根据密保问题重置密码
1.2.2.2 英语资料数据管理
该模块的使用用户只针对管理员
(1) 查看数据
英语数据资料首先根据层次分类,不同的层次有对应的类型的不同的题目
(2) 上传数据
选择层次(英语四级,英语六级,研考级)和类型进行上传
(3) 修改数据
可修改题目的层次,类型,描述,答案等
(4) 删除数据
可批量删除和单个删除
1.2.2.3 个人中心模块管理
(1) 用户基本信息的操作
查看/修改用户的基本信息(账号名,用户昵称,性别,年龄,邮箱,密保问题,学历,毕业学校)
查看用户的荣誉信息(总积分,排名,单词学习积分,短语学习积分,句子翻译学习积分,完型填空学习积分,阅读理解学习积分,写作学习积分)
查看学习历史,查看做过的学习套卷,可查看每道题的得分情况,用的提示次数和用户所做的答案和标准答案以及其他用户对题目的评论信息
(2) 好友模块的操作
查看好友列表,好友信息(好友账号,好友昵称,好友在线状态,好友总积分,好友排名)
可以给好友发送留言信息
发送好友申请,选择账号/邮箱号发送好友申请
查看好友申请,可以拒绝申请/接受申请
(3) 留言信息的操作
查看留言信息,回复留言
1.2.2.4 英语学习模块管理
(1) 选择学习层次
选择有:英语四级水平,英语六级水平和研考水平
(2) 选择学习方式
选择分类学习/组合学习/整体学习, 其中分类学习可以选择单词学习,短语学习,句子翻译学习,完型填空学习,阅读理解学习和写作学习等。组合学习可以任意选择一个或多个分类学习中的类型进行套卷组合来做题。整体学习结合所有分类来整体出卷。组合学习和整体学习还可以选择不同的类型的题目的出题数量来进行学习
(3) 具体学习
具体学习中,每道题有两次提示,用一次提示题目得分/2, 提交试卷后,系统自动给出总分和用户所用提示次数。
1.2.2.5 社区模块管理
(1) 发帖
用户可以创建帖子来进行发布,帖子发布包括(题目,主体内容)
(2) 回帖
可在具体帖子里留言,也可在其他用户留言里回复
1.2.2.6排行榜管理
(1) 查看排行榜
查看总积分排行前10的用户的信息(用户名,总积分,排名,单词学习积分,短语学习积分,句子翻译学习积分,完型填空学习积分,阅读理解学习积分,写作学习积分) 对他们的互动有好友添加和留言
2.主要业务的概念建模分析
2.1业务规则与数据存储分析
(1) 所有的用户,包括管理员和普通用户都有唯一的用户ID,用户ID在创建用户记录时由系统自动生成。
(2) 用户注册时填写的密保问题最多三个,最少一个,一个用户对应多个密保问题,而一个密保问题只能属于一个用户,密保问题的唯一标识是用户ID,外键也是用户ID。
(3) 用户的账号或者是用户的邮箱号也是唯一标识一个用户,不可重复。
(4) 好友储存的每条记录由两个用户的ID组成,一个用户有多个好友,也可是多个用户的好友。由两个用户的ID唯一标识。
(5) 留言信息由留言时间,发送者的ID,接收者的ID唯一标识。其中发送者ID,接收者ID也是外键。一条留言信息只能属于一个发送用户和一个接受用户,而一个用户可以给不同的用户发送多条留言,也可以接受不同用户发送的不同数量的留言。
(6) 好友申请由申请ID唯一标识。外键是发送申请的用户ID和接收申请的用户的ID。一个好友申请只能属于一个发送申请的用户和一个收到申请的用户,一个用户可以给多个用户发好友申请,也可以接受多个用户发出的好友申请。
(7) 荣誉信息存储用户的不同学习层次上以及不同的题目类型上的荣誉数据,由用户ID,学习层次ID,题目类型ID唯一标识。标识的属性既是构成主键之一,也是外键。存储的数据应该要包括获得积分,当前类型积分排名,做题完整性,做题正确率,做题用过的提示次数
(8) 历史记录存储分两级进行存储, 一级存储是套卷存储, 由套卷ID唯一标识,。二级存储是具体出题存储,由出题ID唯一标识,外键指向套卷ID。一个套卷存储对应多个出题存储记录,而一个出题存储记录只属于一个套卷存储。
(9) 英语数据存储分多级存储,首先一级是层次水平存储,由层次ID唯一标识。二级存储是类型存储,由类型ID唯一标识,外键对应一级存储的层次ID而三级存储是具体的题目存储,由其三级存储的题目ID唯一标识,外键对应于二级存储的类型ID。最后是四级选项存储,存储的是选择题的选项,外键对应三级存储的题目ID。统计学习人数由联系集来进行联合,首先设计层次水平存储与用户的联系集,存储为层次联系存储,联系属性应该包括:是否学习过,做题次数,获得积分,做题正确率,做题完整性,累积提示次数, 然后是二级类型水平与用户的联系集,存储为类型联系存储,联系属性应该包括: 是否学习过,做题次数,获得积分,做题正确率, 做题完整性, 累积使用提示次数。而对于具体的题目的与用户的联系,历史记录的出题表里已经记录了历史的具体做题的情况,而对于每一个题还得存储一个总的联系集,即用户累积做具体的题的情况的信息,存储为题目联系存储,联系属性应该包括:做题的次数,累积获得积分,累积做题正确率,累积做题完整性,累积使用提示次数。
(10) 套卷模块在用户选择学习方式和题目数量后,系统自动抽取相应的题目组成套卷,而如果用户还没有提交套卷答案,那么套卷的统计属性将保持默认,一旦用户提交后,系统自动判题给出相应得分和积分,以及给出套卷的做题相应统计情况。
(11) 社区存储也是分多级存储,一级存储是帖子存储,也是由帖子id唯一标识,二级存储是回帖存储,外键对应一级存储的帖子id。三级存储对应的是留言回帖的信息存储,外键对应回帖id,留言的用户id,主键应该由回帖id,留言的用户id和留言时间共同构成。一个帖子的存储有多个回帖,而一个回帖可以有多个留言信息,而一个回帖只能属于一个主贴,一个留言只能属于一个回帖。
3.E-R图设计
图 3-1数据库ER设计图
4.数据库逻辑模型设计
4.1 管理员存储管理
(1) 管理员信息表(实体集)
表名:manager_info
存储字段(管理员ID, 账号,密码,管理员名字,权限级别,在线状态,最后一次上线时间,账号创建时间)
表4.1管理员信息表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
管理员ID |
manager_id |
int |
否 |
主键 |
账号 |
username |
varchar(30) |
否 |
唯一 |
密码 |
password |
varchar(30) |
否 |
|
管理员名字 |
nickname |
varchar(30) |
否 |
|
权限级别 |
power |
int |
默认1 |
|
在线状态 |
status |
int |
默认0 |
|
最后上线时间 |
last_login |
datetime |
否 |
|
创建时间 |
create_time |
datetime |
否 |
|
(2) 管理操作日记(弱实体,依赖管理员实体)
表名:manage_log
存储字段(操作时间,管理员ID,操作IP,操作内容)
表4.2管理操作日记表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
操作时间 |
action_time |
datetime |
否 |
主键之一 |
管理员ID |
manager_id |
int |
否 |
主键之一,外键 |
操作IP |
manager_ip |
varchar(20) |
否 |
|
操作内容 |
action_content |
varchar(100) |
否 |
|
4.2用户信息存储管理
(1) 用户基本信息表(实体集)
表名: user_info
存储字段(用户ID,账号,邮箱,密码,昵称,性别,年龄,学历,毕业学校,在线状态,积分排名)
表4.3用户基本信息表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
用户ID |
user_id |
int |
否 |
主键 |
账号 |
username |
varchar(30) |
否 |
唯一 |
邮箱 |
|
varchar(30) |
否 |
唯一 |
密码 |
password |
varchar(30) |
否 |
|
昵称 |
nickname |
varchar(30) |
能 |
|
性别 |
sex |
varchar(10) |
默认男 |
|
年龄 |
age |
int |
默认0 |
|
学历 |
education |
varchar(30) |
能 |
|
毕业学校 |
graduated_school |
varchar(60) |
能 |
|
在线状态 |
status |
int |
默认0 |
|
积分排名 |
ranking |
int |
默认0 |
|
创建时间 |
create_time |
datetime |
否 |
|
(2) 密保问题存储表(弱实体, 依赖于用户实体)
表名:security_info
存储字段(用户ID,问题,答案)
表4.4密保问题存储表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
用户ID |
user_id |
int |
否 |
主键 外键 |
问题 |
question |
varchar(210) |
否 |
|
答案 |
answer |
varchar(210) |
否 |
|
创建时间 |
create_time |
datetime |
否 |
|
(3) 用户留言信息表(联系集,联系两个用户之间的通信信息)
表名:user_message_info
存储字段(发送的用户的ID,接收用户的ID,留言时间,留言信息)
表4.5用户留言信息表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
发送的用户ID |
send_user_id |
int |
否 |
主键之一 外键 |
接收的用户ID |
recv_user_id |
int |
否 |
主键之一 外键 |
留言时间 |
send_time |
datetime |
否 |
主键之一 |
留言信息 |
send_message |
varchar(300) |
否 |
|
4.3 好友模块存储管理
(1) 好友信息表(联系集)
表名:friend_info
存储字段(用户1的ID,用户2的ID)
表4.6好友信息表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
用户1ID |
user1_id |
int |
否 |
主键之一 外键 |
用户2ID |
user2_id |
int |
否 |
主键之一 外键 |
创建时间 |
create_time |
datetime |
否 |
|
(2) 好友申请表(实体集)
表名:apply_info
存储字段(申请ID,发送申请的用户ID,接收申请的用户ID,处理状态)
表4.7好友申请表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
申请ID |
apply_id |
int |
否 |
主键 |
发送申请的用户ID |
send_user_id |
int |
否 |
外键 |
接收申请的用户ID |
recv_user_id |
int |
否 |
外键 |
处理状态 |
status |
int |
默认0 |
|
创建时间 |
create_time |
datetime |
否 |
|
4.4社区模块存储管理
(1) 社区帖子表(实体集)
表名:article_info
存储字段(帖子ID,发帖用户的ID,标题,主体内容,回帖数,浏览次数)
表4.8社区帖子表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
帖子ID |
article_id |
int |
否 |
主键 |
发帖的用户的ID |
host_user_id |
int |
否 |
外键 |
标题 |
title |
varchar(100) |
否 |
|
主体内容 |
message |
varchar(500) |
否 |
|
回帖数 |
reply_num |
int |
默认0 |
|
浏览次数 |
visited_num |
int |
默认0 |
|
发帖时间 |
send_time |
datetime |
否 |
|
(2) 回帖存储表(实体集)
表名:reply_info
存储字段(帖子ID,回帖ID,回帖用户ID,回帖内容,回帖时间)
表4.9回帖存储表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
帖子ID |
article_id |
int |
否 |
外键 |
回帖ID |
reply_id |
int |
否 |
主键 |
回帖的用户ID |
reply_user_id |
int |
否 |
外键 |
回帖内容 |
message |
varchar(500) |
否 |
|
回帖时间 |
reply_time |
datetime |
否 |
|
(3) 回帖留言表(联系集,联系用户与回帖)
表名:reply_message_info
存储字段(回帖ID,留言用户ID,留言时间,留言信息)
表4.10回帖留言表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
回帖ID |
reply_id |
int |
否 |
主键之一 外键 |
留言用户的ID |
send_user_id |
int |
否 |
主键之一 外键 |
留言时间 |
send_time |
datetime |
否 |
主键之一 |
留言信息 |
message |
varchar(200) |
否 |
|
4.5英语题目数据存储管理
(1) 学习层次存储(实体集)
表名:level_info
存储字段(层次ID,层次名,学习人数,累积积分,题目总数,统计做题正确率,统计做题完整性,累积使用提示次数)
表4.11学习层次存储表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
层次ID |
level_id |
int |
否 |
主键 |
层次名 |
level_name |
varchar(100) |
否 |
|
学习人数 |
sum_studies |
int |
默认0 |
|
累积积分 |
sum_rank_score |
double |
默认0 |
|
题目总数 |
sum_problems |
int |
默认0 |
|
统计做题正确率 |
cal_correct_rate |
double |
默认0 |
|
统计做题完整性 |
cal_integrity |
double |
默认0 |
|
累积使用提示次数 |
sum_tips |
int |
默认0 |
|
创建时间 |
create_time |
datetime |
否 |
|
(2) 题目类型存储(实体集)
表名:type_info
存储字段(层次ID,类型ID,类型名,题目总数,学习人数,累积积分,统计做题正确率,统计做题完整性,累积使用提示次数)
表4.12题目类型存储表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
层次ID |
level_id |
int |
否 |
外键 |
类型ID |
type_id |
int |
否 |
主键 |
类型名 |
type_name |
varchar(100) |
否 |
|
学习人数 |
sum_studies |
int |
默认0 |
|
累积积分 |
sum_rank_score |
double |
默认0 |
|
题目总数 |
sum_problems |
int |
默认0 |
|
统计做题正确率 |
cal_correct_rate |
double |
默认0 |
|
统计做题完整性 |
cal_integrity |
double |
默认0 |
|
累积使用提示次数 |
sum_tips |
int |
默认0 |
|
创建时间 |
create_time |
datetime |
否 |
|
(3) 具体题目存储(实体集)
表名:problem_info
存储字段(类型ID,题目ID,题目描述,参考答案,是否为选择题,累积积分,分数,学习人数,统计做题正确率,统计做题完整性,累积使用提示次数)
表4.13具体题目存储表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
类型ID |
type_id |
int |
否 |
外键 |
题目ID |
problem_id |
int |
否 |
主键 |
分数 |
score |
double |
否 |
|
题目描述 |
problem_desc |
varchar(800) |
否 |
|
参考答案 |
answer |
varchar(800) |
否 |
|
是否为选择题 |
is_select |
int |
默认0 |
|
累积积分 |
sum_rank_score |
double |
默认0 |
|
学习人数 |
sum_studies |
int |
默认0 |
|
统计做题正确率 |
cal_correct_rate |
double |
默认0 |
|
统计做题完整性 |
cal_integrity |
double |
默认0 |
|
累积使用提示次数 |
sum_tips |
int |
默认0 |
|
创建时间 |
create_time |
datetime |
否 |
|
(4) 选择题选项存储(实体集)
表名:select_info
存储字段(选项ID,题目ID,选项描述)
表4.14选择题选项存储表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
选项ID |
select_id |
int |
否 |
主键 |
题目ID |
problem_id |
int |
否 |
外键 |
选项描述 |
select_desc |
varchar(100) |
否 |
|
创建时间 |
create_time |
datetime |
否 |
|
4.6 用户学习数据存储管理
(1) 出题套卷存储(实体集)
表名:test_info
存储字段(套卷ID,层次ID,得分,获得积分,统计做题正确率,统计做题完整性,累积使用提示次数)
表4.15出题套卷存储表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
套卷ID |
test_id |
int |
否 |
主键 |
用户ID |
user_id |
int |
否 |
外键 |
层次ID |
level_id |
int |
否 |
外键 |
是否提交 |
is_submit |
int |
默认0 |
|
得分 |
sum_score |
double |
默认0 |
|
累积积分 |
sum_rank_score |
double |
默认0 |
|
统计做题正确率 |
cal_correct_rate |
double |
默认0 |
|
统计做题完整性 |
cal_integrity |
double |
默认0 |
|
累积使用提示次数 |
sum_tips |
int |
默认0 |
|
创建时间 |
create_time |
datetime |
否 |
|
(2) 出题题目表(弱实体)
表名:test_problem_info
存储字段(套卷ID,题目ID,得分,获得积分,得分率,用户的答案,用过的提示次数)
表4.16出题题目表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
套卷ID |
test_id |
int |
否 |
主键之一 外键 |
题目ID |
problem_id |
int |
否 |
主键之一 外键 |
得分 |
get_score |
double |
默认0 |
|
获得积分 |
get_rank_score |
double |
默认0 |
|
得分率 |
get_score_rate |
double |
默认0 |
|
用户的答案 |
user_answer |
varchar(800) |
默认0 |
|
用过的提示次数 |
sum_tips |
int |
默认0 |
|
创建时间 |
create_time |
datetime |
否 |
|
(3) 选择层次表(联系集,联系用户与学习层次)
表名:user_level_info
存储字段(用户ID,层次ID,是否学习过,累积积分,做题次数,统计做题正确率,统计做题完整性,累积使用提示次数)
表4.17选择层次表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
用户ID |
user_id |
int |
否 |
主键之一 外键 |
层次ID |
level_id |
int |
否 |
主键之一 外键 |
是否学习过 |
is_study |
int |
默认0 |
|
层次排名 |
level_rank |
int |
默认0 |
|
累积积分 |
sum_rank_score |
double |
默认0 |
|
做题次数 |
sum_do_num |
int |
默认0 |
|
统计做题正确率 |
cal_correct_rate |
double |
默认0 |
|
统计做题完整性 |
cal_integrity |
double |
默认0 |
|
累积使用提示次数 |
sum_tips |
int |
默认0 |
|
创建时间 |
create_time |
datetime |
否 |
|
(4) 选择类型表(联系集,联系用户与题目类型之间)
表名:user_type_info
存储字段(用户ID,类型ID,是否学习过,累积积分,做题次数,统计做题正确率,统计做题完整性,累积使用提示次数)
表4.18选择类型表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
用户ID |
user_id |
int |
否 |
主键之一 外键 |
类型ID |
type_id |
int |
否 |
主键之一 外键 |
是否学习过 |
is_study |
int |
默认0 |
|
类型排名 |
type_rank |
int |
默认0 |
|
累积积分 |
sum_rank_score |
double |
默认0 |
|
做题次数 |
sum_do_num |
int |
默认0 |
|
统计做题正确率 |
cal_correct_rate |
double |
默认0 |
|
统计做题完整性 |
cal_integrity |
double |
默认0 |
|
累积使用提示次数 |
sum_tips |
int |
默认0 |
|
创建时间 |
create_time |
datetime |
否 |
|
(5) 题目用户联系表(联系集,联系用户与具体题目之间)
表名:user_problem_info
存储字段(用户ID,题目ID,是否学习过,累积积分,做题次数,统计做题正确率,统计做题完整性,累积使用提示次数)
表4.19题目用户联系表
字段描述 |
字段名 |
类型 |
能否为空/默认 |
约束 |
用户ID |
user_id |
int |
否 |
主键之一 外键 |
题目ID |
problem_id |
int |
否 |
主键之一 外键 |
是否学习过 |
is_study |
int |
默认0 |
|
累积积分 |
sum_rank_score |
double |
默认0 |
|
做题次数 |
sum_do_num |
int |
默认0 |
|
统计做题正确率 |
cal_correct_rate |
double |
默认0 |
|
统计做题完整性 |
cal_integrity |
double |
默认0 |
|
累积使用提示次数 |
sum_tips |
int |
默认0 |
|
创建时间 |
create_time |
datetime |
否 |
|
5.界面原型设计
工作分配
刘博良(组长):项目策划,产品设计,项目架构,数据库设计,后台逻辑编写,爬虫数据筛选编写,数据分析模块编写,前端数据逻辑编写 权重比例: 50%
郑锦伟:界面美化,前端编写,后台部分逻辑编写,爬虫编写,代码测试 权重比例30%
王纯:界面美化,前端编写,文档编写,代码测试 权重比例20%