【毕业设计】英语互助考试兴趣小组平台uniapp/安卓小程序

   博主介绍:👉全网个人号和企业号粉丝40W+,每年辅导几千名大学生较好的完成毕业设计,专注计算机软件领域的项目研发,不断的进行新技术的项目实战👈
⭐️热门专栏推荐订阅⭐️ 订阅收藏起来,防止下次找不到

🔎千套JAVA项目实战持续更新中~

🔎百套小程序APP项目实战持续更新中~

🔎百套Python实战项目持续更新中~
有需求的各位可以先收藏起来,还有大家在毕设选题,开题报告有疑惑的都可以找我,给你参考意见,需要开题模板的可以私信留言告诉我

❤️文末获取源码联系、项目参考文档分享❤️        ⚠️一定要先收藏⚠️

 

4 系统设计

一个成功设计的系统在内容上必定是丰富的,在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值,吸引更多的访问者访问系统,以及让来访用户可以花费更多时间停留在系统上,则表明该系统设计得比较专业。

4.1 设计原则

本系统在设计过程中需要依照一定的设计原则进行,目的就是为了让开发的系统具备高质量,齐全完备的功能,方便简单的操作,如此才可以最大限度的满足使用者的要求。系统设计原则除了基本的易操作原则,安全性原则外,还有准确性原则,实用性原则,可维护性原则。

第一个设计原则:易操作原则,针对本系统设计的功能要完备齐全,编码时,设计的各个接口要具备友好性,使用者一旦使用本系统时,要能够轻松上手,操作本系统处理数据时,要具备便利性。此外,也需要设计一些必要提示,引导使用者操作系统。

第二个设计原则:安全性原则,本系统在登录模块要对各个访问者进行身份验证,系统会通过访问者输入的信息进行判断,使用提前编写的安全验证代码进行数据比对,引导匹配成功的访问者进入指定的操作界面。这样可以避免无关性访问者窃取系统的数据。

第三个设计原则:准确性原则,为了保证使用者登记的数据是正确的,需要提前设计数据纠错机制,让使用者可以通过系统的报错提示,仔细检查登记的错误信息,并及时纠正错误,填写规范正确的信息。比如设置密码时,要求密码的长度不能低于6个字符,且数据类型要求不能全部是数字等都能进行规范。

第四个设计原则:实用性原则,本系统主要用于处理信息,在实际工作中,要帮助使用者完成信息处理任务,同时本系统在面对特殊情况时,也要能够满足信息处理的需要。另外,为了后期便于在本系统中进行功能的扩充,也需要提前预留好空间。

第五个设计原则:可维护性原则,本系统在实际使用期间,难免会遇到一些故障,因此,本系统在应对故障时,要能够进行诊断并弱化故障,可以在短时间内进行自维护。

4.2 功能结构设计

在前面分析的管理员功能的基础上,进行接下来的设计工作,最终展示设计的结构图(见下图)。

4.3 数据库设计

开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。

4.3.1 数据库概念设计

这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。

(1)下图是用户实体和其具备的属性。


图4.1 用户实体属性图

(2)下图是考试记录表实体和其具备的属性。


图4.2 考试记录表实体属性图

(3)下图是兴趣小组实体和其具备的属性。


图4.3 兴趣小组实体属性图

(4)下图是小组打卡实体和其具备的属性。


图4.4 小组打卡实体属性图

(5)下图是答题详情表实体和其具备的属性。


图4.5 答题详情表实体属性图

(6)下图是公告信息实体和其具备的属性。


图4.6 公告信息实体属性图

(7)下图是字典表实体和其具备的属性。


图4.7 字典表实体属性图

(8)下图是加入的小组实体和其具备的属性。


图4.8 加入的小组实体属性图

(9)下图是错题表实体和其具备的属性。


图4.9 错题表实体属性图

(10)下图是学习讨论实体和其具备的属性。


图4.10 学习讨论实体属性图

4.3.1 数据库物理设计

本数据库是关系型数据库,因此对二维表的结构设计也比较关键。毕竟二维表格模型就是关系型数据库中的关系模型。而一些常用的关系模型中的概念也需要了解,才可以对关系模型进行设计。下面就简单介绍关系,元组,属性,域,关键字等常用概念的含义。

关系:关系就是数据库中的一张数据表,每张数据表都有命名,也就是每个关系也有名字,那就是数据表名;

元组:元组就是数据表中的一行记录;

属性:属性就是数据表中的字段,也就是数据表中的一列;

域:域就是对数据表中属性的取值进行限定;

关键字:关键字就是数据表中的主键;

在了解了表结构设计的常用概念后,接下来就需要使用前面绘制的E-R模型完成表结构的设计工作,并在数据库中创建数据表,并为各个数据表进行命名。以下就对设计的结果通过表格形式进行展示。

表4.1客服聊天表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yonghu_id

Integer

提问用户

3

chat_issue

String

问题

4

issue_time

Date

问题时间

5

chat_reply

String

回复

6

reply_time

Date

回复时间

7

zhuangtai_types

Integer

状态

8

chat_types

Integer

数据类型

9

insert_time

Date

创建时间

表4.2字典表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

dic_code

String

字段

3

dic_name

String

字段名

4

code_index

Integer

编码

5

index_name

String

编码名字

6

super_id

Integer

父字段id

7

beizhu

String

备注

8

create_time

Date

创建时间

表4.3试卷表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

exampaper_name

String

试卷名称

3

exampaper_date

Integer

考试时长(分钟)

4

exampaper_myscore

Integer

试卷总分数

5

exampaper_types

Integer

试卷状态

6

exampaper_delete

Integer

逻辑删除(0代表未删除 1代表已删除)

7

create_time

Date

创建时间

表4.4试题表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

exampaper_id

Integer

所属试卷id(外键)

3

examquestion_name

String

试题名称

4

examquestion_options

String

选项,json字符串

5

examquestion_score

Integer

分值

6

examquestion_answer

String

正确答案

7

examquestion_analysis

String

答案解析

8

examquestion_types

Integer

试题类型

9

examquestion_sequence

Integer

试题排序,值越大排越前面

10

create_time

Date

创建时间

表4.5考试记录表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

examrecord_uuid_number

String

考试编号

3

yonghu_id

Integer

考试用户

4

exampaper_id

Integer

所属试卷id(外键)

5

total_score

Integer

所得总分

6

insert_time

Date

考试时间

7

create_time

Date

创建时间

表4.6答题详情表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

examredetails_uuid_number

String

试卷编号

3

yonghu_id

Integer

用户id

4

examquestion_id

Integer

试题id(外键)

5

examredetails_myanswer

String

考生答案

6

examredetails_myscore

Integer

试题得分

7

create_time

Date

创建时间

表4.7错题表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yonghu_id

Integer

用户id

3

exampaper_id

Integer

试卷(外键)

4

examquestion_id

Integer

试题id(外键)

5

examredetails_myanswer

String

考生作答

6

insert_time

Date

记录时间

7

create_time

Date

创建时间

表4.8学习讨论表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

forum_name

String

帖子标题

3

yonghu_id

Integer

用户

4

users_id

Integer

管理员

5

forum_content

String

发布内容

6

super_ids

Integer

父id

7

forum_types

Integer

帖子类型

8

forum_state_types

Integer

帖子状态

9

insert_time

Date

发帖时间

10

update_time

Date

修改时间

11

create_time

Date

创建时间

表4.9加入的小组表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

xingquxiaozu_id

Integer

小组

3

yonghu_id

Integer

用户

4

insert_time

Date

加入时间

5

create_time

Date

创建时间

表4.10公告信息表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

news_name

String

公告标题

3

news_types

Integer

公告类型

4

news_photo

String

公告图片

5

insert_time

Date

公告时间

6

news_content

String

公告详情

7

create_time

Date

创建时间

表4.11兴趣小组表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

xingquxiaozu_name

String

小组名称

3

xingquxiaozu_photo

String

小组封面

4

xingquxiaozu_types

Integer

小组类型

5

zhuanye_types

Integer

专业

6

shuiping_types

Integer

英语水平

7

xingquxiaozu_address

String

所属地点

8

yonghu_id

Integer

小组组长

9

xingquxiaozu_content

String

小组简介

10

create_time

Date

创建时间

表4.12小组打卡表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

xingquxiaozu_id

Integer

兴趣小组

3

yonghu_id

Integer

用户

4

xingquxiaozu_liuyan_text

String

小组打卡内容

5

insert_time

Date

小组打卡时间

6

create_time

Date

创建时间

表4.13用户表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

yonghu_name

String

用户姓名

3

yonghu_photo

String

头像

4

yonghu_phone

String

联系方式

5

yonghu_id_number

String

身份证号

6

yonghu_email

String

邮箱

7

yonghu_delete

Integer

假删

8

create_time

Date

创建时间

表4.14主题资讯表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

zhutizixun_name

String

资讯标题

3

zhutizixun_types

Integer

资讯类型

4

zhutizixun_photo

String

资讯封面

5

zhutizixun_video

String

资讯视频

6

zan_number

Integer

7

cai_number

Integer

8

insert_time

Date

发布时间

9

zhutizixun_content

String

资讯内容

10

create_time

Date

创建时间

表4.15资讯收藏表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

zhutizixun_id

Integer

主题资讯

3

yonghu_id

Integer

用户

4

zhutizixun_collection_types

Integer

类型

5

insert_time

Date

收藏时间

6

create_time

Date

创建时间

表4.16资讯评论表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

zhutizixun_id

Integer

主题资讯

3

yonghu_id

Integer

用户

4

zhutizixun_liuyan_text

String

评论内容

5

insert_time

Date

评论时间

6

update_time

Date

回复时间

7

create_time

Date

创建时间

表4.17用户表表

序号

列名

数据类型

说明

允许空

1

Id

Int

id

2

username

String

用户名

3

password

String

密码

4

role

String

角色

5

addtime

Date

新增时间


5 系统实现

进入到这个环节,也就可以及时检查出前面设计的需求是否可靠了。一个设计良好的方案在运用于系统实现中,是会帮助系统编制人员节省时间,并提升开发效率的。所以在系统的编程阶段,也就是系统实现阶段,对于一些不合理的设计需求,也是可以及时发现。因为设计的方案是完全指导系统的编码过程的。

5.1用户信息管理

如图5.1显示的就是用户信息管理页面,此页面提供给管理员的功能有:用户信息的查询管理,可以删除用户信息、修改用户信息、新增用户信息,

还进行了对用户名称的模糊查询的条件

图5.1 用户信息管理页面

5.2 兴趣小组管理

如图5.2显示的就是兴趣小组管理页面,此页面提供给管理员的功能有:查看已发布的兴趣小组数据,修改兴趣小组,兴趣小组作废,即可删除,还进行了对兴趣小组名称的模糊查询 兴趣小组信息的类型查询等等一些条件。

图5.2 兴趣小组管理页面

5.3小组打卡管理

如图5.3显示的就是小组打卡管理页面,此页面提供给管理员的功能有:根据小组打卡进行条件查询,还可以对小组打卡进行新增、修改、查询操作等等。

图5.3 小组打卡管理页面

5.1学习讨论管理

如图5.4显示的就是学习讨论管理页面,此页面提供给管理员的功能有:根据学习讨论进行新增、修改、查询操作等等。

图5.4 学习讨论管理页面

源码获取

大家点赞、收藏、关注 ,让更多需要的同学看到

不同开发语言专栏推荐订阅

 🔎千套JAVA项目实战持续更新中~

🔎百套小程序APP项目实战持续更新中~

🔎百套Python实战项目持续更新中~

👇下方有我的微信名片👇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值