python+java+nodejs基于django/flask 的二手书城系统-计算机毕业设计

技术栈和环境说明

本系统以Python开发语言开发,MySQL为后台数据库,采用DJANGO/flask框架开发。Django框架是一种基于MVC的Web应用程序开发框架,具有功能强大、易于扩展、可重用性高等优点。
开发语言:Python
框架:flask/django的都有
Python版本:python3.7.7
数据库:mysql
数据库工具:Navicat
开发软件:PyCharm
浏览器:谷歌浏览器

##项目介绍
1.选题目的和意义:
传统的考试不管是在老师出试卷,还是考生答卷,又或者是试卷的批阅,都存在各种各样的问题,例如:
(1)出试题卷无法从试题库中随机获取,出卷费事费时又费力;
(2) 考试结果反馈不能很及时;
(3)批改试卷耗费很多人力物力,;
(4)批改试卷存在错误率导致结果不精确;
(5)结果不能进行良好的统计,无法分析考生的薄弱环节.
在线考试系统可以免去老师大量的临考工作,试卷可以根据题库里已有的题目随机抽取,方便快捷。学生考完以后可实现除简答、填空题外的所有试题的自动阅卷,大大减少了老师在批阅试卷的工作量,减少了阅卷的错误率,大大提高了工作效率,实现对在线考试工作的高效组织和管理。因为是由系统随机从数据库抽取题目,这也避免了由于试卷相同而出现的作弊现象以及试卷的泄密,学生考试的公平、公正性得到了有效的保证。并且在线考试系统会针对以上各种问题给出绝优的解决办法,以保证系统的良好用户体验。

2.主要研究内容(含论文提纲):

针对过程考核、中间考核及最后考核提出新的要求,能切实检测和反馈学生学习情况的系统,能有效促进教学工作。首先满足用户界面友好,便于操作的要求;教师发起考试的一般步骤是,首先建立题库,然后从题库中抽题组成试卷,并设置考试起止时间,到达开始时间后学生开始答题,到达截止时间后开始阅卷,系统自动对客观题给分,最后由系统合并出卷面总成绩。在功能方面,主要设计登录界面管理、创建题库、选题组卷、发布试卷、参加考试、试卷处理几大核心功能。同时,设置管理员,学生,教师三个角色,根据角色的不同,展现的服务不尽相同。
系统主要功能设计:
登录:系统实现的所有其他功能必须在登录后才可以使用,登录凭证通过本系统的认证,浏览器将自动导航到首页。登录账号的角色不同,系统提供的服务有区别,教师用户登录后的"首页",显示有"题库管理"和"试卷管理";学生或管理员,显示的内容会有所区别。如果用户提供的登录凭证未能通过本系统的认证,登录过程将被阻止,并会明确提示用户修改登录凭证后再尝试登陆;如果登录凭证通过本系统的认证,浏览器将自动导航到登录原始页面。
创建题库:通过输入完成“题库名称"后,提交后系统根据指定的名称分章节建立题库。
选题组卷:在管理题库中,选择指定题库中的章节,选择好所有试题添加到试卷中,就可以生成试卷∶在试卷编辑中可以设置试卷名称、每道题目的分值等完成选题组卷。
发布试卷:在试卷管理设置考试开始及结束时间,无误后,可以发布试卷。
参加考试:考生登录系统后,可以进入考试环节。
试卷处理:在试卷管理中列出试卷列表,进入“试卷分析"页面中,有当前试卷的总分数。每道题的得分情况, 并可以通过“查看”按钮查看详细情况; 并可以通过“查看”按钮查看详细情况; 可以查看所有考生的得分情况。客观题由系统自动判分,不需要人工干预;主观题通过点击"判分"按钮,可以给主观题判分。判分完成后的成绩将自动更新为客观题和主观题的总成绩。

具体实现截图

在这里插入图片描述

在这里插入图片描述

##文章目录

论文提纲:
1 前言
1.1 研究背景和意义
1.1.1 研究背景
1.1.2 研究意义
1.2 国内外研究现状
2.开发工具以及相关技术介绍
2.1 python语言开发工具
2.2 MySQL 数据库
2.3 HTML语言工具
3.系统分析
3.1系统可行性分析
3.2需求分析
1)系统流程图
2)数据流图
3)用例图
4)E-R图
4 系统设计
4.1网上考试系统的主要功能
4.2网上考试系统的详细功能介绍
4.3 数据库的设计
5 系统实现
5.1 系统整体布局
5.2 管理员模块
5.3 教师模块
5.4 学生模块
不足与展望
参考文献
致谢

预期达到的目标

1、学习系统开发和设计的技术相关知识和工作流程;
2、学习使用 PYCHARM 工具编辑前后台代码;
3、学习使用DJANGO/flask框架实现系统的开发;
4、掌握使用 MySQL 创建和编辑数据库的方法;

系统设计

基本理论:以软件工程方法学为指导理论,严格按照软件生命周期的问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试和软件维护这8个阶段来执行。
(1)数据库设计:设计一个高效的数据库结构,包括用户信息、车辆信息、订单信息等数据表的设计,以及数据表之间的关联关系。
(2)系统架构设计:设计系统的整体架构,包括前端页面设计、后端设计、接口设计等。
(3)用户体验设计:设计用户友好的界面,提高用户体验,包括用户注册等操作的流程设计。
(4)前端页面设计:使用Python的Web框架,如Django或Flask,可以快速开发用户友好的前端页面。
前端的数据收集及可视化研究,熟悉Django框架,python编程设计语法。
解决的问题是如何更好的设计一个简易而方便操作前端的页面,解决数据间的关系,调整数据表的结构
该系统采用面向对象的程序设计方法,该方法是一种基于结构分析的以数据为中心的程序设计方法,其主要思想是将数据及处理这些数据的操作都封装在一个叫做类的数据结构里。这种方法描述的现实世界模型贴切、合理,更符合人们认识世界的思维方法。

详细视频演示

请联系我获取更详细的演示视频

技术路线

本系统的开发与设计是基于vue为前端页面核心框架为django/flask,技术方面主要采用了Html、Js、CSS3、python、Mysql。
本课题使用Python语言进行开发。代码层面的操作主要在PyCharm中进行,将系统所使用到的表以及数据存储到MySQL数据库中,方便对数据进行操作本课题基于WEB的开发平台
②前端开发选择:Vue。
②后端开发选择:python、django/flask。
③数据库选择:MySQL。
④开发工具选择:pycharm、Navicat for MySQL。

解决的思路

使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用PyCharm 导入项目,修改配置,运行项目;
将项目中config.ini配置文件中的数据库配置改为自己的配置,然后运行;
1.运行环境:python3.7/python3.8。
2.IDE环境:pycharm+mysql5.7/8.0+;
3.数据库工具:Navicat11
4.硬件环境:windows11/10 8G内存以上
5.数据库:MySql 5.7/8.0+版本;
运行成功后,在浏览器中输入:http://localhost:8080/项目名
本系统选择编程语言。Pymysql是封装了MySQL驱动的Python驱动一个能使Python连接到MySQL的库。Python语言官方规范访问数据库的统一接口规范(Python DB-API),防止在使用不同数据库时,由于底层数据库技术不同造成接口程序紊乱的问题。通过本次系统设计可以提高自己的编程能力,强化对所学知识的理解和运用

性能/安全/负载方面

在性能方面,系统应该能够支持多种用户访问,并且能够保证高效的运行速度。因此,在系统设计时,应该采用合理的技术手段来提高系统的性能,比如采用CDN技术,使用高性能的数据库等。
在可靠性方面,系统应该能够稳定运行,保证系统服务的可靠性和安全性。系统需要采用多种技术手段,如负载均衡、多版本控制、备份等来保证系统的可靠性和安全性。
最后,在安全方面,系统需要采用多层安全防御措施,保障用户数据的安全性和隐私性。同时,系统应该能够通过安全监测和日志审计等技术手段,实时掌握系统的运行状况,及时发现和解决安全问题。

可行性分析论证

该体系采用了 Django架构。Django是一个开放源码的 Web架构,它是 Python开发的,它拥有完全的架子功能。有了 Django, Python编程开发者可以很容易地实现一个正规站点所需的大多数,并在此基础上发展更多的 Web应用。Django自身是以 MVC模型为基础的,也就是模型+视图+ Controller (Controller)+ MVC (Controller)+ MVC (MVC)的优良特性,开发速度快,部署方便,可重用性高,维护成本低。Python和 Django是一个很好的结合,可以快速的开发,设计和部署网站。MySQL作为一款免费的开源软件,其功能也足以满足个人使用者和中小企业的需求。在此技术基础上搭建超市购物管理系统是可行的。总之,在技术层次,能够实现整个的水果推荐体系的发展。
软件开发人员并不需要很多钱,但专为个人独立,节省了大量的成本,并且还提高了个人的实际能力。所以本系统经济可行性较强,从节约成本出发,然后进行具体的系统的设计,在系统的设计过程中由于采用的所有开发工具都是免费的,因此不需要有任何的额外成本就可以进行该系统的设计。采用Django框架,系统升级方便,后期维护升级成本也较低。因此,本设计在经济上完全可行。

python-flask核心代码部分展示

import os
from flask import Blueprint
from utils.py_file_check import pyFileCheck

main_bp = Blueprint('main', __name__, static_folder='static')

import_str = 'from . import  '
view_tuple = set()
exclude_list = [
    # "common.py",
    "__init__.py"
]
dir = os.path.join(os.getcwd(), "api/main")
dir = dir.replace("unit_test/", '') if "unit_test/" in dir else dir
for i in os.listdir(dir):
    if i not in exclude_list and pyFileCheck(i) == True:
        current = i.split(".", 1)[0]
        view_tuple.add(current)
import_str += ','.join(view_tuple)
print(import_str)
exec(import_str)

python-django核心代码部分展示

# coding:utf-8
__author__ = "ila"

from django.http import JsonResponse

from .users_model import users
from util.codes import *
from util.auth import Auth
import util.message as mes


def users_login(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")
        if req_dict.get('role')!=None:
            del req_dict['role']
        datas = users.getbyparams(users, users, req_dict)
        if not datas:
            msg['code'] = password_error_code
            msg['msg'] = mes.password_error_code
            return JsonResponse(msg)

        req_dict['id'] = datas[0].get('id')
        return Auth.authenticate(Auth, users, req_dict)


def users_register(request):
    if request.method in ["POST", "GET"]:
        msg = {'code': normal_code, "msg": mes.normal_code}
        req_dict = request.session.get("req_dict")

        error = users.createbyreq(users, users, req_dict)
        if error != None:
            msg['code'] = crud_error_code
            msg['msg'] = error
        return JsonResponse(msg)

研究方法

(1)文献研究法:
文献研究法是根据一定的研究目的或课题,通过调查文献来获得资料,从而全面地、正确地了解掌握所要研究问题的一种方法。文献研究法被子广泛用于各种学科研究中。其作用有:能了解有关问题的历史和现状,帮助确定研究课题;能形成关于研究对象的一般印象,有助于观察和访问;能得到现实资料的比较资料;有助于了解事物的全貌。
(2)实证研究法:
实证研究法是科学实践研究的一种特殊形式。其依据现有的科学理论和实践的需要,提出设计,利用科学仪器和设备,在自然条件下,通过有目的有步骤地操纵,根据观察、记录、测定与此相伴随的现象的变化来确定条件与现象之间的因果关系的活动。主要目的在于说明各种自变量与某一个因变量的关系。
(3)经验总结法:
经验总结法是通过对实践活动中的具体情况,进行归纳与分析,使之系统化、理论化,上升为经验的一种方法。总结推广先进经验是人类历史上长期运用的较为行之有效的领导方法之一。1.进一步理解软件技术与理论知识。

感恩大学老师和同学

大学期间的学习时光对于我来说是美好而短暂的,在这期间我也接触了许多可爱的大学同学们,以及兢兢业业教学的老师们,在我的毕业论文即将完成之际,我想对那些曾经给予我支持,帮助,还有鼓励的同学和老师以及家人们表达我内心的无比感激之情。
感谢给予我论文指导的指导老师,从开题报告,任务书,论文大纲的编写与系统的功能框架设计,到最终的毕业论文,都是指导老师全程参与的悉心指导和帮忙,才能够让我的毕业论文可以符合学院要求编写完成。我的指导老师一丝不苟的教学精神以及在学术上的严谨作风,这些优点是值得我不断去努力学习的。
感谢大学同学的陪伴与帮助,在我独立编写毕业论文期间,大学同学的鼓励与耐心的帮助使得我少走很多弯路,节省毕业论文的编写时间,也让我有更多精力去完善我开发的系统。
在整个系统开发过程中,我周围的同学和朋友给了我很多意见,所以我很快就确认了系统的商业思想。在次,我由衷的向他们表示感激。

源码获取

需要成品,加我们的时候,记得把本页面标题截图发下我,方便查找相应的源代码。可以的话 顺便点赞!
文章最下方名片联系我即可~

✌💗大家点赞、收藏、关注、评论啦 、查看✌💗
👇🏻获取联系方式�

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值