基于Flask与MySQL的在线问答系统的设计与实现/Python/计算机毕业设计

摘要 为了更够是学生更快更方便的获取问题答案,开发一款在线问答系统供学生使用。基于系统的业务要求,系统开发平台为Windows 10,主要使用Python语言进行开发,以及Python开发语言的框架Flask,使用MySQL作为数据库存储相关数据。开发软件为PyCharm ,与此同时运用Navicat作为数据库管理工具。

关键词:在线问答;网站系统;程序设计

近年来,随着计算机技术和互联网技术的飞速发展,越来越多的人开始使用在线问答系统。在这个信息化的时代,人们不再愿意像以前那样坐在电脑前苦苦寻找答案。相反,他们希望能够通过互联网快速找到问题的答案,传统的教学方式往往是学生上课听讲,然后在实验室里实践。但是这样的方式有一个明显的缺陷:学生很难得到及时而准确的反馈。教师一般都会收集学生的作业,然后再批改,但是这样学生就要耽误一些时间。此外,如果教师自己不能够及时回复学生的问题,也会造成一些问题。通过在线问答系统,学生不仅能够得到及时而准确的反馈,老师也能够得到大量的、充分的、准确的信息。在这个信息化的时代,在线问答系统将成为教育行业不可或缺的一部分。在线问答系统是一个能够帮助用户快速掌握知识、巩固所学内容、提高学习效率的平台。相对传统的教材和课堂教学,在线学习有很多优势。首先,用户不受时间、地域的限制,能够随时随地学习。其次,在线学习平台能够根据用户的个性化需求量身定制课程内容,从而有效提升用户的学习效果。最后,通过在线交流和分享,用户可以得到来自不同背景、不同水平的人员的帮助和建议,从而加快自己的进步,通过在线问答系统人们更好地分享知识、经验和见解,找到自己的解答。

1开发工具

1.1 Python简介

Python近几年一直以来在编译语言中始终位居前三,甚至在2020年的时候首次超过了Java语言,成为了榜首,可以见得Python近年来在技术人员心目中的地位之高[1]。之所以有这样如此高的排名,是有原因的,其中最大的原因就是其可以让开发人员把重点放在开发的逻辑处理上面,不用再去纠结Python的语法问题,这解决了很多编译语言的一个短板。正是因为他的语法非常简单,所以这门语言是非常容易上手的,在上手之后会发现其可移植性非常强,可以任意运行移植在各大平台系统中。同时它免费、开源的优越条件更是让我们的技术人员们蜂拥而至,受到追捧。

1.2 MySQL简介

MySQL数据库系统是由瑞典的 MySQL AB 公司开发、发布并支持,由MySQL的初始开发人员 David Axmark 和 Michael Monty Widenius 于1995 年建立的。 MySQL支持不同的操作系统,性能高、体积小,安装维护简单,成本低。由于出现的时间早,社区论坛比较多,用户也相对活跃。MySQL把数据保存在相应需求的表中,取代把所有数据放在一个仓库,提高了操作数据的效率。如:查询、保存、删除等。另一方面,可以通过启动软件通过可视化表对数据进行查看、更新、删除等,也方便核对系统对数据库操作的是否正确。

MySQL数据库具有海量的数据储存功能,在运行过程中既简单又快速,若要提高查询效率,可以在数据库中添加一个方便的索引。在系统中,当有必要增加数据时,可以调用插入式数据来进行数据库的数据更新步骤。MySQL是一个自由开放的开放的数据库系统,它可以根据规范的SQL陈述来提供有关系统的资讯信息,并且可以更容易地进行MySQL的设置与配置[2]。基于开放源码架构的数据处理程序,可以将其转换成基于开放源码架构的SQL。MySQL与开放源码架构相结合,可以很容易地更改数据库的纪录从而更方便的对其开展修改。

1.3 PyCharm简介

之所以本在线问答系统使用PyCharm去编译,那是因为PyCharm的优势很多,比如在编码协助上面做的就非常优秀,他可以自动补全代码,支持代码折叠节省编码空间,还有很多快捷键设置去协助提高编码效率[3]。还提供了Python重构,提高了代码的重用性,在某一角度来说也是辅助了开发人员的编码工作。除了协助编码,还有协助测试的功能,开发者可以在该编译器上面进行同一个文件夹中集成测试。

1.4 Navicat简介

Navicat是卓软数码科技2002年开发的数据库管理工具,多年来深受广大技术人员的钟爱。它的用户界面直观,允许用户以简单快捷的方式创建、共享和访问信息[4]。Navicat可以用于MySQL、SQL Server等数据库,可以运行在Windows、macOS等操作系统中。。目前在使用的Navicat版本很多,但不同版本之间并没有太大的区别。

2需求分析

需求分析对系统的开发起着决策性的作用,不仅能够提供开发的方向,也会指明开发的策略,它在系统设计、开发与实现过程中起着举足轻重的作用。在人们生活的互联网时代,在线知识问答平台可以解决很多用户的疑问。但是问答平台里面信息繁多,可能会给用户在使用中带来干扰。所以写这个程序的目的就是为了让用户简单的进行在线问答以及搜索需要的答案。结合综合所学,提升自身解决实际问题的能力,提高对python的学习能力、表达能力、获取数据的能力,在系统开发前应该做好需求分析工作。本系统在需求分析这一阶段将从系统功能需求、系统性能需求和系统运行环境三个方面分别进行详细分析。

2.1系统功能需求

用户:注册登录、个人资料修改、发表文章、回复评论文章、发表互动信息等。


图1 用户用例图

管理员:登录、用户管理、文章分类管理、文章信息管理、互动信息管理、系统管理等。


图2 管理员用例图

2.2系统性能需求

在进行在线问答理的过程中,不仅要考虑到在线问答系统的功能要求,而且要考虑到系统的性能需求。

(1)相容。一般的软件系统,可以分为两个部分,一个是服务器,一个是客户端。要改善在线问答系统的兼容性,就必须要注意在实现代码时,后端与前端接口之间的风格是否可以互相匹配。

(2)扩充。随着时间的流逝,软件系统会不断地进行系统的升级,当需求变化时,必须对其进行相应的功能的修改。在应用OOP方式的情况下,可以利用界面技术,严格按照软件的发展要求进行最终的系统的调整。在今后的运行过程中,在线问答系统的管理工作必须要适应不断改变的需求。从另一个方面来说,系统必须具备可扩充的能力[5]。所以在开发过程中,必须要按照软件的规格来进行,这样才能方便地进行后续的修改。

(3)信赖度。软件必须有可靠度,不然许多实际的操作就会失败,导致无法进行有效的运行。系统的可靠程度主要体现在硬件能力、应用和数据等方面。一个系统的稳定性,意味着它可以从一个不正常的状态变成一个可以正常运转的系统,它的可用性和实用性都会得到提升。

(4)可用性。软件开发者在设计软件的过程中,不仅要确保软件的运行性能,还要尽可能地简化软件的运行,因为许多用户都不懂电脑,所以在设计过程中,如果把软件的功能设定得太过繁琐,会让许多用户无法使用。

2.3 可行性需求分析

3.2.1 经济可行性研究

管理员有了这个管理软件,就可以对在线问答系统进行管理,系统运行会产生大量有价值的数据和流量,对此利用可以产生足够的经济效益。鉴于现有的因特网开放源码架构及软体装置,因此在经济性上是可以做到的。

3.2.2技术上的可行性研究

通过对在线问答系统的功能进行了初步的研究,最终选定了适合于系统的体系结构和技术来进行系统的开发。结合目前市面上已有的在线问答系统,本文所采用的技术已大致具有可行性,可以达到降低开发和学习费用的目的。这种方法可以迅速建立起一个新的体系,可以借鉴很多成熟的方法,可以方便地进行后期的维护和更新。

3.2.3操作的可行性研究

由于在线问答系统的部分功能是主要面向学生进行操作而开发的,在进行在线问答系统的管理时,必须考虑到学生对其进行操作的影响因素。该系统在设计中没有太多繁琐的操作和步骤,所用的操作接口和按键也比较简洁和易懂,参照了很多主要的在线问答系统,具有很好的操作性。

2.4系统运行环境

系统运行环境主要包括硬件环境和软件环境两种。本在线问答系统运行环境的硬件配置需要满足:

a)系统:Windows;

b)处理器为双核及以上;

c)内存空间需2G以上;

d)硬盘空间需50G以上。

本系统运行环境的软件配置需要满足:

a)数据库:MySQL4.x;

b)编程语言:Python;

c)编辑器:Pycharm;

d)IE浏览器为6.0以上。

3 总体设计

在对系统进行需求分析和分析后,需要对整个系统进行整体的分析,每一个角色都有自己的特点,每一个模块都有自己的专用代码。

3.1 系统架构设计

在此基础上,本文提出了一种基于 B/S技术的在线问答系统,B/S模式最大的优势在于,如果系统是有网络的,可以使用它。该系统依靠网络技术,所以当系统管理员不需要再设置更多的专门的程序,而且管理员也不会浪费时间去进行软件的维护[6]。

同时,在为用户设置操作接口的同时,也要保留用户所输入的所有资料,并对用户提出的要求进行相应的处理,而由服务逻辑对接收到的资料进行相应的运算,最终将所得到的结果呈现在用户面前。而服务器方则负责接收来自于用户的点击。最后,向数据库端提出了一个要求,要求数据库服务器完成相应的数据记录,然后将采集到的数据进行处理,便可以将相应的结果反馈给浏览器。

图3 架构设计图

3.2 系统功能设计

3.2.1 系统流程分析

在线问答系统主要是对日常问答进行管理,并对其进行分析,不同的模块有着不同的流程。

(1)注册

通过在在线问答系统的注册按钮进行登记,在登录页面上按下注册键即可进入注册页面,并在注册页面上填写相关的资料。

图4 注册流程图

(2)登录

如果用户所录入的信息与数据库中数据库中的信息相符,那么就表示其身份验证完毕,数据库也将会被系统的数据库所收录。在离开之前,用户需要点击“退出”。

图5 登录流程图

(3)用户管理

管理员在后台登录该系统以后,管理员可以对用户进行管理。

图6 用户管理流程图

3.2.2 功能结构


图7 功能模块图









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值