python高校本科生学习成长记录系统的设计与实现flask-django-php-nodejs-程序员宅基地

技术标签: 学习  python  node.js  django  php  vue.js  flask  

二十一世纪我们的社会进入了信息时代,信息管理系统的建立,大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多,而在线管理系统刚好能满足这些需求,在线管理系统突破了传统管理方式的局限性。于是本文针对这一需求设计并实现了一个基于django高校本科生学习成长记录系统,为了简捷并有效的解决学习各方面的问题。
本文讲述了高校本科生学习成长记录系统。结合电子管理系统的特点,分析了高校本科生学习成长记录系统的背景,给出了高校本科生学习成长记录系统实现的设计方案。
本论文主要完成不同用户的权限划分,不同用户具有不同权限的操作功能,在用户模块,主要有用户进行注册和登录,用户可以查看活动信息、干部信息、奖惩信息、奖学金评定等,还能修改个人信息等;管理员模块,管理员可以对用户信息、活动信息、干部信息、奖惩信息、奖学金评定、出勤信息、成绩信息等进行相应的操作。
关键词:高校本科生学习成长记录系统;django框架 ;
语言:Python
框架:django/flask
软件版本:python3.7.7
数据库:mysql 
数据库工具:Navicat
前端框架:vue.js
通过比较两个不同因素的框架,可以看出Flask和Django不能被标记为单一功能中的最佳框架。当Django在快速发展的大型项目中看起来更好并且提供更多功能时,Flask似乎更容易上手。这两个框架对于开发Web应用程序都非常有用,应根据当前的需求和项目的规模来选择它们。
最新python的web框架django/flask都可以开发.基于B/S模式,前端技术:nodejs+vue+Elementui+html+css
,前后端分离就是将一个单体应用拆分成两个独立的应用:前端应用和后端应用,以JSON格式进行数据交互.充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护等特点
目 录
摘 要 I
Abstract II
1绪 论 1
1.1 课题背景 1
1.2 选题的目的与意义 1
1.3 初步设计方法与实施方案 2
1.4 本文研究内容 2
2 关键技术介绍 3
2.1 python 语言 3
2.2 Vue简介 4
2.3 MySQL数据库 4
2.4 django框架 5
3 系统分析 6
3.1可行性分析 6
3.1.1系统可行性分析 7
3.1.2技术可行性分析 7
3.1.3 操作可行性分析 7
3.1.4运营可行性 8
3.1.5法律可行性 8
3.2 需求分析 9
3.3系统用例图 9
3.4系统流程的分析 9
3.4.1 用户管理的流程 10
3.4.2 个人中心管理流程 10
3.4.3 登录流程 11
4系统设计 11
4.1 软件功能模块设计 12
4.2 数据库设计 13
4.2.1 概念模型设计 13
4.2.2 数据表 14
5 系统功能实现 15
5.1管理员模块实现 19
5.2用户模块实现 29
6系统测试 31
6.1系统测试结论 31
结 论 32
致 谢 33
参考文献 34

1绪 论
1.1 课题背景
21世纪以来,随着科学技术的飞速发展,人们对信息的要求越来越高,于是传统的信息技术越来越难以满足人们的要求。高校本科生学习成长记录系统通过计算机技术进行信息管理,完善平台与用户之间的关系,有助于提高工作效率,实现信息化管理[1]。此次设计的系统不仅利于管理员总体负责整体系统的运行维护,统筹协调,同时也方便用户随时查询活动信息等,高校本科生学习成长记录系统的开发很好地解决了这一问题,同时也为用户提供方便的信息获取渠道。
1.2 选题的目的与意义
本文研究的目标是通过对各种功能单元进行最优的整合,从而达到对各种管理的具体要求,从而最大限度地提高本行业的自动化和信息化水平,从而使得高校本科生学习成长记录更清楚、更透明。操作简单,管理方便,可以实现自动检测,减少了高校本科生学习成长记录的错误。高校本科生学习成长记录系统最大的特色在于信息的处理,因为它涉及到大量的信息,而且涉及到的各种类型和复杂的管理,使得整个过程更加的繁琐。它们之间的联系很复杂,而且数据的检索和分析方式也很复杂。在以往的传统高校本科生学习成长记录中,以上各项工作都是非常繁杂和繁琐的。由于在进行数据的加工时,往往会发生信息的反复传输和丢失,所以必须引进电脑进行信息的管理,以达到改善工作者管理工作的效果。
该软件满足了时代的变化,满足了用户的需求,充分发挥了网络的交互和实时性,提供了方便、快捷、舒适的服务,使用户能够及时掌握最新的信息,使用户能够及时掌握最新的数据,并能有效地提升用户的服务水平。本制度的优势在于:
(1)该系统将活动信息及时地提供给使用者。使用者可以在任何时候登陆该网站查询相关资讯,所有资讯均真实可信,并严肃处理各项事务,确保使用者权益得到切实保障。
(2)该系统网页的界面结构简洁,便于使用者使用。
(3)系统更新方便,成本低廉,能够与用户进行双向的信息交换,能够适应市场的发展,并能吸引到越来越多的用户[2]。

1.3 初步设计方法与实施方案
软件体系结构方案:由于本系统需要在不同设备上都能运行,而且电脑配置要求也要越低越好,为了实现这一要求,经过考虑B/S架构成为最佳之选。使用B/S架构的系统可以几乎在任何电脑上运行,只要浏览器可以正常工作就可以正常运行该系统,而且后期维护及二次修改较为容易,符合要求。
操作系统方案:Windows10操作系统,该系统是目前微软公司推出的最新系统,目前大多数市面上的电脑都使用该系统,并且该系统功能完善,兼容性好。开发工具:选用 Eclipse,python开发语言django框架,MySQL数据库。
1.4 本文研究内容
该系统以 B/S架构为基础,通过 Mysql技术,实现了对数据的查询与存储,保证了工作的正常、高效,提高了工作效率。主要的工作包括:
(1)本系统界面简洁明了,便于使用者进行操作。Eclipse提供了可视化的程序设计,大多数的功能都可以由控制程序来实现,并且用户可以很容易地进行各种操作。
(2)本系统分为二部分,能够满足管理人员与使用者的不同需要。该系统的使用者有:管理员及用户[3]。
3 系统分析
3.1可行性分析
在开发一个新的软件之前,必须要进行一个系统的可行性研究,以最大限度地利用这个问题。以下我们将从系统,技术,操作、运营、法律等方面来决定该体系的发展[4]。

3.1.1系统可行性分析
利用计算机支持高效率完成高校本科生学习成长记录系统的日常事务,是适应现代化制度要求、推动信息管理系统走向科学化、规范化的必要条件;同时计算机有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高高校本科生学习成长记录的效率,也是本系统信息化的重要条件[5]。
3.1.2 技术可行性分析
高校本科生学习成长记录系统在使用电脑和信息分析系统这些设计没有硬性要求,电脑只要是可以正常使用的话,那么代码和页面设计就是可行的。要求高的主要是服务器,平台上传服务器一定要选择性价比高和安全性高的,打开网站一定要顺滑不卡顿,所以硬件也是可行的[6]。
3.1.3 操作可行性分析
将根据管理系统中的用户体验和管理员的效率来分析该措施的可行性。管理员和用户都可以通过简单的操作登录进对应的系统页面,方便用户搜索信息和管理人员管理数据,不需要特别懂电脑的人也可以轻松访问系统模块。该系统已完全投入使用[7]。

3.1.4运营可行性
可操作性是指将系统开发所涉及到的所有功能全都实现,代码收尾工作完成后对用户消费水平,系统的业务能力是否与用户消费水平所对等,是否可以满足大部分消费者的需求,页面是否美观,能否让用户满意,代码显示是否为轻量级,操作和功能是否简单便捷,是否同时适用于小孩,成人和老人。系统能否同时应用于windows、linux等操作系统,这取决于系统的可移植性。JAVA 编程语言的适应性非常强,基本上能够较好的适应目前市场环境中所流行的各个平台。也就是说Java的可移植性很强,那么系统的价值越高,可行性也就越强。
3.1.5法律可行性
该高校本科生学习成长记录系统是面向大众开源化和不收取任何费用的。它的主要目的是帮助用户解决本科生学习成长记录问题。完全符合法律可行性要求,系统内部权限划分不会导致内部用户泄露系统机密。对于用户信息,系统有保护措施,用户密码在数据库中加密,并有严格的自我控制和商品价格解释。

3.2 需求分析
需求分析的首要是要分析用户的需求,知道用户存在的一些情况,并且要明确用户的使用状况,然后设计规划解决的问题。其中在使用定性的分析以及定量的分析,从这两个方面获取用户的需求。一方面定性的分析获得的应该是用户的基本需求,能够发现现在人们的习惯要求。所以定性的需要主要是为了多与用户交流,从而更为深刻的了解一些存在的需求问题;定量的分析则是发现一些潜在的用户,并且获得不一样的反馈内容。所以定量的需求要让用户来阐述一些情况,一定让使用者清晰的进行客观的描述,这样才能够比较全面的获得用户的需求所在。
其中获得用户需求以后,就要可以将用户需求设计为高校本科生学习成长记录系统的功能模块。在能及时的分析和发现有关需求的情况下,需要系统同时的跟进需求设计。在高校本科生学习成长记录过程中还需要创建需求工作的数据分析,以便于后面的分析做总结。写入一个需求的报告内容,其中需要包含完整的描述需求、以及功能需求、模型等后续开发过程中还需要用到的部分资料。
需求的分析中用户需求就是比较的重要,而且可以通过各种的路径,以及各用户对于系统的功能需求,你需要对这些内容做出整理以及分类,然后分析这些需求的现实情况下的可能原因,还需要有认真的分析过程,结合现实的情况下最终做出一系列的需求资料。在有关用户的期望分析中能够明确一些可能实现的情况,高校本科生学习成长记录功能是许多个可以测试的功能相结合的,正是由于这些功可以使得用户能够更加积极的提供出需求,让系统功能可以变得更加的完善。这样就可以保证所有设计的功能模块都是可以用到的,而且也是可测试的,对于后续系统的开发能够有比较关键的作用,也能快速完成用户所提供的需求。
这个阶段所要求做的就是将上述的分析具体化,设计出能满足预定目标系统的过程。从粗到细,根据程序结构化设计的要求,把整个项目分为二个用户角色,分别是管理员与用户。在具体的功能模块设计上,二个角色的功能又不尽相同[8]。作为系统实施的基础,系统设计的作用尤为重要。
3.3系统用例图
高校本科生学习成长记录系统可以将功能划分为用户的使用功能和管理员功能。
6系统测试
在经过长期的测试与修改下,系统能正常运行,已经达到基本的要求,但难免有时会出现一些报错和Bug,如果忽略一些不起眼的小问题有可能会产生连锁反应:数据的报错,数据的无缘被修改以及泄露,甚至会成为不法分子的可乘之机,给开发者和使用者造成惨重的代价。综合以上几点,必修要对这个完成的系统进行测试,只有通过一定的测试来解决这些出现的问题。通过不断地进行测试,一步一步的发现系统中的问题,然后对问题进行一次又一次的修改,使该高校本科生学习成长记录系统更加完善,最后争取没有漏洞和Bug,成为一个接近完美无暇的高校本科生学习成长记录系统的网站。还要在测试修改的过程中吸取经验:自己为什么会犯这种错误、代码的编写哪个逻辑环节出了错误、又有哪些地方是因为自己的粗心大意造成的等等。使系统本身接近完美以及以后的维护更加快捷方便[13]。
本课题根据实际需求情况,选择以功能为主要的黑盒测试方法。具体测试过程如下:
当用户输入用户名和密码后未勾选用户时,系统提示“请选择用户登录类型”;当输入错误的用户名或密码时,系统提示“账号或密码不正确”;当输入正确的用户名和密码时,系统提示“登陆成功”后进入首页;当输入用户名和密码后点击重置,用户名和密码清空,则可以重新输入用户名和密码。如表6-1所示[14]。
表6-1登录功能测试表
测试内容 测试数据 期望结果 实际结果
登录功能 用户名:430
密码:430 提示请选择用户登录类型 提示请选择用户登录类型
登录功能 用户名:430
密码:123 提示账号或密码不正确 提示账号或密码不正确
登录功能 用户名:430
密码:430 提示登陆成功 提示登陆成功
重置功能 用户名:430
密码:430 用户名和密码重置 用户名和密码重置

当只输入账号后点击注册时,系统提示“必填项不能为空”;当只输入账号、密码和注册密码时,系统提示“姓名不能为空”;当输入账号、密码、注册密码和姓名后,系统提示“注册成功”并且进入登录界面;当输入账号后点击重置,账号清空,则可以重新输入[15]。如表6-2所示。
表6-2注册功能测试表
测试内容 测试数据 期望结果 实际结果
注册功能 账号:507 提示必填项不能为空 提示必填项不能为空
注册功能 账号:507
密码:507
确认密码:507 提示姓名不能为空 提示姓名不能为空
注册功能 账号:507
密码:507
确认密码:507
姓名:王一 提示注册成功,进入登录界面 提示注册成功,进入登录界面
重置功能 账号:507 账号重置 账号重置

6.1 系统测试结论
本系统主要使用黑盒测试,通过模拟用户使用系统实现各个功能编写测试用例,并进行测试。以确保系统流程的正确性。系统测试必不可少,可以使系统更加完善,该系统的可使用性也会更高。
测试该系统主要为了验证系统的功能模块是否满足我们最初的设计理念,验证各个功能模块逻辑是否正确,此系统不需要过于复杂的逻辑处理,以便于使用者操作。测试的最终目的也是围绕着用户使用展开。测试过程中所有场景都应符合用户需求,不可偏离需求目标,遇到问题时要站在用户的角度进行思考。经过一系列的测试过程后得到最终的测试结果,从测
试结果可以看出,实现的系统在功能和性能方面满足设计要求。

结 论
毕业设计创作已经接近尾声了,大学生活也即将结束,对于软件工程这门学科,真可谓是博大精深,值得我们学习和思考的东西还有好多,只有不断地拜读前人的著作,了解最新技术,才是学习这门可最好的方法。
在此次设计中,渐渐对数据库设计、软件工程和python这几门课程的知识有了更加深刻的理解,并能够灵活运用其中的知识来分析实际的问题,加强了我的分析和考虑问题的能力。
更重要的是从指导老师xxx身上学到了很多东西。她待学生细心热枕,耐心回答学生的问题,主动询问学生的难处,使我见过难得的平易近人的老师。她工作态度认真负责,讲课生动透彻,让我不管是在专业还是做人上感触颇深,让我得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,感谢她细心而又耐心的辅导。

致 谢
论文可以停留在第六章,但是人生还需要继续。
行文至此,落笔为终。我的大学生涯到此处画上了句号。始于xxx年金秋,终于xxxx盛夏。逐梦计算机学院,终究还需离别。目之所及,皆是回忆。感谢母校的培育与关怀,让我的大学生活充满色彩。
生逢盛世,与有荣焉。感谢党和国家为我提供了和平安逸的学习环境和生活环境,让我可以接受更好的教育,成为一名有理想、有知识的大学生。
桃李不言,下自成蹊。大学生活中我首先要感谢我的导员xxx老师,专业知识渊博,为学严谨认真,待人和蔼可亲,关心学生,让我感受到大学中的温暖。特别是在大学的最后阶段,每天帮我们筛选公司,帮助我就业;写论文时对我谆谆教诲,松懈时的督促。这四年张老师倾注的心血难以估计。感谢我的指导老师xxx老师,在我有困惑时总是不厌其烦的帮我解答问题,不管多晚给老师发消息,她总是第一时间向我伸出援手。为了我可以更好的完成毕业设计,经常会发一些小技巧帮助我。良师难得,定将一生铭记,一生感恩。
父母之恩,无以为报。他们含辛茹苦的将我养大成人,让我站在他们的肩膀上见识到了他们没见到的繁华。即将踏入社会,我只想不断努力,成为他们的骄傲。
平生感知己,寸岂悠悠。恰同学少年,风华正茂。我想感谢自己的室友们,朋友们。在我迷茫的时候有你们陪我,在我开心的时候你们也会在我身边。愿你们前程似锦,以梦为马,不负韶华。
本次毕业设计的完成预示着大学时代的句号,在这个设计过程中,我收获到的绝不仅仅是做项目过程中要到的知识,更多的是同窗情谊和师生情谊,最重要的是做任何事情都要具备的认真态度,以及真正职业的思考方式方法。我会带着大学收获的知识走向社会,我们更高处见!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/QQ_511008285/article/details/136964855

智能推荐

JWT(Json Web Token)实现无状态登录_无状态token登录-程序员宅基地

文章浏览阅读685次。1.1.什么是有状态?有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的session。然后下次请求,用户携带cookie值来,我们就能识别到对应session,从而找到用户的信息。缺点是什么?服务端保存大量数据,增加服务端压力 服务端保存用户状态,无法进行水平扩展 客户端请求依赖服务.._无状态token登录

SDUT OJ逆置正整数-程序员宅基地

文章浏览阅读293次。SDUT OnlineJudge#include<iostream>using namespace std;int main(){int a,b,c,d;cin>>a;b=a%10;c=a/10%10;d=a/100%10;int key[3];key[0]=b;key[1]=c;key[2]=d;for(int i = 0;i<3;i++){ if(key[i]!=0) { cout<<key[i.

年终奖盲区_年终奖盲区表-程序员宅基地

文章浏览阅读2.2k次。年终奖采用的平均每月的收入来评定缴税级数的,速算扣除数也按照月份计算出来,但是最终减去的也是一个月的速算扣除数。为什么这么做呢,这样的收的税更多啊,年终也是一个月的收入,凭什么减去12*速算扣除数了?这个霸道(不要脸)的说法,我们只能合理避免的这些跨级的区域了,那具体是那些区域呢?可以参考下面的表格:年终奖一列标红的一对便是盲区的上下线,发放年终奖的数额一定一定要避免这个区域,不然公司多花了钱..._年终奖盲区表

matlab 提取struct结构体中某个字段所有变量的值_matlab读取struct类型数据中的值-程序员宅基地

文章浏览阅读7.5k次,点赞5次,收藏19次。matlab结构体struct字段变量值提取_matlab读取struct类型数据中的值

Android fragment的用法_android reader fragment-程序员宅基地

文章浏览阅读4.8k次。1,什么情况下使用fragment通常用来作为一个activity的用户界面的一部分例如, 一个新闻应用可以在屏幕左侧使用一个fragment来展示一个文章的列表,然后在屏幕右侧使用另一个fragment来展示一篇文章 – 2个fragment并排显示在相同的一个activity中,并且每一个fragment拥有它自己的一套生命周期回调方法,并且处理它们自己的用户输_android reader fragment

FFT of waveIn audio signals-程序员宅基地

文章浏览阅读2.8k次。FFT of waveIn audio signalsBy Aqiruse An article on using the Fast Fourier Transform on audio signals. IntroductionThe Fast Fourier Transform (FFT) allows users to view the spectrum content of _fft of wavein audio signals

随便推点

Awesome Mac:收集的非常全面好用的Mac应用程序、软件以及工具_awesomemac-程序员宅基地

文章浏览阅读5.9k次。https://jaywcjlove.github.io/awesome-mac/ 这个仓库主要是收集非常好用的Mac应用程序、软件以及工具,主要面向开发者和设计师。有这个想法是因为我最近发了一篇较为火爆的涨粉儿微信公众号文章《工具武装的前端开发工程师》,于是建了这么一个仓库,持续更新作为补充,搜集更多好用的软件工具。请Star、Pull Request或者使劲搓它 issu_awesomemac

java前端技术---jquery基础详解_简介java中jquery技术-程序员宅基地

文章浏览阅读616次。一.jquery简介 jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互 jQuery 的功能概括1、html 的元素选取2、html的元素操作3、html dom遍历和修改4、js特效和动画效果5、css操作6、html事件操作7、ajax_简介java中jquery技术

Ant Design Table换滚动条的样式_ant design ::-webkit-scrollbar-corner-程序员宅基地

文章浏览阅读1.6w次,点赞5次,收藏19次。我修改的是表格的固定列滚动而产生的滚动条引用Table的组件的css文件中加入下面的样式:.ant-table-body{ &amp;amp;::-webkit-scrollbar { height: 5px; } &amp;amp;::-webkit-scrollbar-thumb { border-radius: 5px; -webkit-box..._ant design ::-webkit-scrollbar-corner

javaWeb毕设分享 健身俱乐部会员管理系统【源码+论文】-程序员宅基地

文章浏览阅读269次。基于JSP的健身俱乐部会员管理系统项目分享:见文末!

论文开题报告怎么写?_开题报告研究难点-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏15次。同学们,是不是又到了一年一度写开题报告的时候呀?是不是还在为不知道论文的开题报告怎么写而苦恼?Take it easy!我带着倾尽我所有开题报告写作经验总结出来的最强保姆级开题报告解说来啦,一定让你脱胎换骨,顺利拿下开题报告这个高塔,你确定还不赶快点赞收藏学起来吗?_开题报告研究难点

原生JS 与 VUE获取父级、子级、兄弟节点的方法 及一些DOM对象的获取_获取子节点的路径 vue-程序员宅基地

文章浏览阅读6k次,点赞4次,收藏17次。原生先获取对象var a = document.getElementById("dom");vue先添加ref <div class="" ref="divBox">获取对象let a = this.$refs.divBox获取父、子、兄弟节点方法var b = a.childNodes; 获取a的全部子节点 var c = a.parentNode; 获取a的父节点var d = a.nextSbiling; 获取a的下一个兄弟节点 var e = a.previ_获取子节点的路径 vue

推荐文章

热门文章

相关标签