基于python+vue的ITS 信息平台的设计与实现flask-django-nodejs-php

伴随着我国社会的发展,人民生活质量日益提高。于是对系统进行规范而严格是十分有必要的,所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套信息平台,帮助交通局进行信息共享、交通信息、交通辅助等繁琐又重复的工作,提高工作效率的同时,也减轻了管理者的压力。

本论文的主要内容包括:

第一,研究分析当下主流的web技术,结合信息日常管理方式,进行信息平台的数据库设计,设计 信息平台功能,并对每个模块进行说明。

第二,陈列说明该系统实现所采用的架构、系统搭建采用的服务器、系统开发环境和使用的工具,以及系统后台采用的数据库。

最后,对系统进行全面测试,主要包括功能测试、查询性能测试、安全性能测试。

分析系统存在的不足以及将来改进的方向。

语言: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格式进行数据交互.充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护等特点
目 录
摘 要 Ⅰ

Abstract Ⅱ

1 绪 论 1

1.1研究背景 1

1.2 研究意义 1

1.3 研究现状 2

1.4本文组织结构 2

2 技术介绍 4

2.1flask框架介绍 4

2.2 python语言 5

2.3 Mysql的特点 6

2.4 B/S架构 6

2.5本章小结 6

3需求分析 7

3.1可行性分析 7

3.1.1经济可行性 7

3.1.2技术可行性 8

3.1.3运营可行性 8

3.1.4法律可行性 8

3.2系统需求分析 8

3.2.1 性能需求 9

3.2.2 安全性需求 9

3.2.3 功能需求 10

3.3本章小结 10

4系统设计 11

4.1系统结构设计 11

4.2系统功能模块设计 11

4.3 数据库设计 12

4.3.1 概念模型设计 12

4.3.2 数据库表结构 12

4.4本章小结 14

5 系统实现 15

5.1系统开发环境以及运行环境 15

5.1.1 系统开发环境 15

5.1.2 系统运行环境 15

5.2 信息平台的主要功能模块实现 15

5.2.1前台系统功能模块 15

5.2.2后台管理员功能模块 16

5.2.3后台员工功能模块 18

5.2.4本章小结 18

6系统测试 19

6.1 系统测试目的 19

6.2 系统测试环境 19

6.3系统测试用例 19

6.4本章小结 20

结 论 21

参考文献 22

致 谢 23

1 绪 论

1.1研究背景

信息技术的集成化和信息网络化的不断发展,人类开始步入信息化时代,信息技术作为一种资源成为交通局战略不可分割的一部分,在当今社会,人们的生活节奏逐渐加快,人们对经济的要求逐渐降低,越来越多的人开始追求简单、快捷的方式。以现在计算机的技术的应用,使计算机成为人们使用现代发达技术的桥梁[1]。计算机可以有效的解决信息,十分方便的获取信息,从而提高工作的效率。

1.2 研究意义

现如今科技的卓越发展,时代环境的大变革。人们生活变得越来越多元化,这种多元化很大程度上由互联网科技发展引起,日新月异的互联网让我们实现了众多的不可能。利用网络进行信息管理改革已经成为了人们追捧的一种趋势[2]。" 信息平台"是运用python语言,flask框架,以Mysql数据库为基础而来发出来的。为保证我国经济的持续性发展,必须要让互联网信息时代在我国日益壮大,蓬勃发展,一个好的信息平台,方便员工通过注册登录到网站查询信息共享、交通信息、交通辅助、重大事件,修改个人信息等,管理员对信息进行维护与管理,还能帮助工作者从琐碎冗杂的日常管理事务中解放出来,更专心投入在其它事务上,因而能更好的履行它自身的社会责任,这个 信息平台也就间接地为美好社会的创建出了一份力[3]。所以 信息平台的设计和实现是必要的也是很有意义的。

1.3研究现状

如今,因为无线网相关技术的快速,尤其是在网上进行资源的上传下载、搜索查询等技术,以及信息处理和语言开发技术的进步,同时编程语言、建模技术的不断发展,促使诸多的平台系统架构由C/S(客户端/服务器)更多的转变为采用B/S(浏览器/服务器)的架构,从而让程序平台网络端的系统架构迎来了一个新的阶段。

并且,在对国外 信息平台发展现状的了解中,发现国外 信息平台一大多是一种门户的建设,除日常的办公业务外,与其他关系紧密的许多业务也都被设计为功能模块加入系统中[4]。在这一点上,我国完全没有落后,通过采用集成了这些功能的系统,帮助交通局各项业务的工作效率都得到了极大提高,从而持续地为交通局带来更多经济收益。

1.4本文组织结构

本论文将详细阐述信息平台的开发背景、应用可行性以及系统实现所具有的现实意义,在对信息平台进行详细的需求分析后,会根据需求分析的结果再结合实际情况为系统的实现选取合适的技术和架构,之后在上述分析论述的基础上进行系统设计,最后完成系统实现和测试。

本文共分为七章,分别是:

第一章绪论,在这一章中对信息平台的研究背景和意义进行介绍,同时浅述了信息管理系统的发展,明确了信息平台的实现的目的和方向[5]。

第二章技术介绍,在本章中列举介绍了系统实现采用到的所有技术,包括一些主流的框架技术。

第三章需求分析,这一章对信息平台的需求进行了全面详细的分析,从系统实现的应用可行性、技术可行性,再到系统的功能、性能、安全性需求都做了说明分析,最后描述了系统的业务流程对需求分析进行补充。

第四章系统设计,这一章中包含了系统实现选取的架构模式,以及组成系统的各个功能模块。

第五章系统实现,本章是在经过前面几章的分析后,将信息平台开发实现,章节内容包括系统开发环境、运行环境和具体的功能模块实现。

第六章系统测试,模拟系统的实际应用环境,对编写完成的程序进行测试。在本章中列举了测试用例和测试结果。

第七章总结,对信息平台的整个设计和实现过程进行总结[6]。

2.4 B/S架构

Web程序设计技术是一项用于网页制造方面的专业技术,主要实现了网页的动态交互功能,通过此项技术语言(如java、CGI、ASP等)所设计的相关网页可以对用户所发出的及时操作以及需求进展相应的相应,从而到达实现即时动态交互的目的。

B/S构造(Browser/Server,浏览器/效劳器模式),其是一种分布式的计算机网络系统,用户通过浏览器向上一级的网站程序传递相关的参数和请求,然后效劳器上的程序再将这些请求和参数进展处理,最后将结果通过反响回用户浏览器反映出来。

2.5本章小结

在本章中,详细介绍了本论文中实现的 信息平台所采用的技术,包括后台开发中所使用的Spring Boot框架,对上述技术的研究和应用,可以为程序后续的顺利开发提供帮助,在简化程序开发的同时提高开发效率和质量[7]。

3需求分析

在这一章中将对本论文要实现的 信息平台进行详尽的可行性分析、需求分析等,本章内容主要涵盖了对系统预期应用环境的分析,对系统功能和安全性需求的分析,最后还有对系统的功能需求的分析[8]。这一章的内容将为之后的系统设计和实现提供可靠依据,是系统完整可靠实现的重要保障。

1

3.1可行性分析

3.1.1经济可行性

系统采用的是开发环境Eclipse进行设计以及编写,并且根据所学的java语言来实现相应的功能的开发,综合就是一个比较基础的系统开发设计,所以所用到的有开源的开发环境所构成。而且可以利用现有的设备,不用进行另外的硬件设备购买[9]。

用户通过使用 信息平台,很大程度减小了人员成本,极大提高了管理的效率。目前的由人员管理的方式存在很多不足,首先是人工成本大,并且工作效率比较低,然后是存在着很多现金流失的问题[10]。

经济可行性是主要计算项目的开发成本,还有项目成功后可能带来的有效收益。很多的项目只有开发成本能控制在企业有可能接受的范围内的情况下,这样的项目才会被批准开发。然而本次系统的开发在上述所有的问题的情况下,是可以完成相关的系统设计。

3.1.2技术可行性

技术可行性是分析系统都需要用到哪些技术知识,语法是否规范标准,代码量多大,是否具有可移植性,在 B/C在这种设计模式下能够真正的实现数据层和表示层的分离,以及前台页面是否可以做到美观实用,是否吸引眼球。网站是否足够稳定,后台管理页面是否足够方便管理,数据库的构建是否可以符合系统要求,是否需要搭建集群等等[11]。

3.1.3运营可行性

可操作性是指将系统开发所涉及到的所有功能全都实现,代码收尾工作完成后对用户消费水平,系统的业务能力是否与用户消费水平所对等,是否可以满足大部分消费者的需求,页面是否美观,能否让用户满意,代码显示是否为轻量级,操作和功能是否简单便捷,是否同时适用于小孩,成人和老人。系统能否同时应用于windows、linux等操作系统,这取决于系统的可移植性。JAVA 编程语言的适应性非常强,基本上能够较好的适应目前市场环境中所流行的各个平台。也就是说Java的可移植性很强,那么系统的价值越高,可行性也就越强[12]。

3.1.4法律可行性

该信息平台是面向大众开源化和不收取任何费用的。它的主要目的是帮助人们解决高重复手工问题。完全符合法律可行性要求,系统内部权限划分不会导致内部用户泄露系统机密。对于用户信息,系统有保护措施,用户密码在数据库中加密,并有严格的自我控制[13]。

3.3本章小结

在本章中对本论文要实现的 信息平台要实现的需求进行了详尽的说明,包括系统实现的可行性分析,整个系统在功能、性能和安全方面需求的分析,最后对整个系统不同身份用户的业务流程进行了有序的阐述。通过对以上内容的分析和说明,使得系统要实现的具体功能更加清晰,这给后面系统的设计和实现奠定了良好的基础,有助于整个程序开发的顺利进行。

4系统设计

通过前三章的分析说明,本论文中 信息平台已经具有了良好的实现基础,目前的第四章将对系统的具体实现进行说明介绍。

4.1系统结构设计

随着互联网的兴起以及国内外许多B/S架构的优秀系统被广泛使用而变得流行,B/S架构成为了系统开发的主流。本论文中的 信息平台也同样采用了B/S架构标准的三层架构,即将整个系统划分为表现层、业务层和持久层这三层,并且在表现层采用 B/C设计模型。

采用B/S架构,整个系统的核心业务逻辑都被放在服务器端,使得开发过程变得方便。虽然这会使得服务器端的压力较大,但在Ajax等技术兴起后,在前台也就是浏览器端也可以实现部分业务逻辑,一定程度上分担了服务器的压力。

同时,该系统采用的三层B/S架构,将整个系统进行分层。在表现层,主要负责处理从客户端接收到的请求,根据请求内容进行处理后向客户端响应结果。在业务层中,囊括了整个系统的核心业务逻辑,它位于数据访问层之上表现层之下,表现层的请求发送至业务层,业务层将根据编写好的业务逻辑与数据层进行交互。但是每个层之间是不具有必然联系的,表现层的请求发送至业务层,业务层在接受到后可以不进行处理,这并不会导致整个系统出现错误。所以只要层与层之间交互的接口不发生变化,某一层的变更并不会对其它层产生影响。所以这种架构的系统实际上很易于扩充,只要表现层有新的请求发送给业务层,业务层只要有相应的处理逻辑就好了,所以业务逻辑层的设计是十分重要的。而在持久层,主要进行的就是数据的存取,也就是和数据库打交道。

以上这种对程序进行分层的方式,可以使开发者专注于结构中的某一层,每一层要进行的工作十分明确,降低了耦合性,这种标准化的开发方式,有利于程序的复用,也极大地降低了之后对系统功能扩充和维护的成本。

这些功能可以充分满足 信息平台的需求。此系统功能较为全面如下图系统功能结构如图4-1所示。

3.2系统需求分析

3.2.1 性能需求

信息平台设计的目的在于帮助交通局的管理者能够更加高效轻松地进行日常的管理工作,所以作为一个工具,该系统应该被设计得易于上手使用,整个系统界面需要简洁明了、清晰易懂,而且一定要为用户提供必要的提示信息,比如在登录时用户密码或者用户名输入错误时要给予提示。总之一定要从使用者的角度出发,去设计用户操作界面[14]。

3.2.2 安全性需求

首先要保证服务器不受攻击,数据库不能曝露在互联中。对使用系统的不同用户赋予相应的权限,用户只能进行自己权限允许范围内的操作。数据库中进行多用户管理,对用户的敏感信息如身份证信息,只有最高权限的数据库管理员用户可查询,其他用户无权限查看。

3.2.3功能需求

本信息平台是为了提高员工查阅信息的效率和管理人员管理信息的工作效率,可以快速存储大量数据,还有信息检索功能,这大大的满足了员工和管理员这二者的需求。操作简单易懂,合理分析各个模块的功能,尽可能优化界面,让员工和管理员能使用环境更好的系统。

对比要实现的功能来分析出员工的需求,可以让员工在线对其进行查看交通信息等信息,这不仅满足了员工的需求,还大大的节省了时间。因此,管理员对信息进行添加、修改、删除、查看,可以提高管理员的工作效率。

5.2.4本章小结

在本章中对系统的开发和应用环境进行说明,这些内容为下一章测试时的环境搭建提供依据。本章还通过文字说明和截图的方式对系统应用的界面做了简要介绍。

6系统测试

系统测试是针对整个信息平台进行的测试,通过测试验证整个系统是否正确满足了前面需求分析篇章中的所有需求,测试系统的性能和功能是否与预想的一致,进而提高系统的稳定性和可靠性[15]。同时,通过合理的测试可以发现系统中存在的问题,以防止系统在正式投入使用后出现故障,影响系统使用者工作的顺利进行。系统测试的的主要方法有白盒测试和黑盒测试,本章节将采用黑盒测试法,从系统的功能和性能两方面入手进行测试。

6.1 系统测试目的

在一个可靠的软件系统开发过程中,系统测试是其中重要的一环,有时在一套大型的软件系统中一个小故障就可能带来严重后果。虽然不存在完全没有问题的软件,但是可以通过全面系统的测试尽可能的发现漏洞,并在系统投入使用前修复漏洞,尽可能减小在实际使用中系统发生故障的概率[16]。

6.2 系统测试环境

为了使测试结果更加可靠,需要模拟实际的系统应用场景来搭建测试环境。下表列出了系统测试环境的组成部分。

表6-1系统测试环境组成

硬件或软件 型号以及版本

操作系统 Windows10

数据库 MySQL

浏览器 Chrome

测试网络 4G热点

6.3系统测试用例

1.页面跳转测试

目的测试是测试系统的不同功能页面间能否正常准确跳转,测试结果如下表。

表6-2首页跳转表

编号 操作 预期结果 测试结果

1 点击用户管理 跳转相应用户管理界面 成功跳转管理界面

2 点击登录 跳转至初始界面 成功跳转初始界面

3 点击注册 跳转到注册界面 成功跳转注册界面

2.用户登录功能测试

测试登录注册功能的正确性以及用户错误登录时的系统反馈,测试结果如下表所示。

表6-3 注册登陆页面测试表

编号 操作 预期结果 测试结果

1 点击注册,输入新的用户名密码 注册成功 注册成功

2 使用注册成功的用户名进行登录 登陆成功 登录成功

3 使用错误用户名登录 显示账号或密码错误 提示"账号或密码错误"

4 用户名为空进行登录 显示用户名不能为空 提示"用户名不能为空"

6.4本章小结

本章旨在进一步的完善系统,为此进行了系统测试,通过测试验证了系统运行的正确性和可靠性,根据测试结果也进一步完善了 信息平台的功能。

结 论

本文对信息平台的实现进行了分析设计,并给予分析设计的内容实现了 信息平台。在论文开端,通过对现实背景的分析论述,证明了信息平台的应用可行性和现实意义。之后我们对系统实现所采用的技术进行研究说明,然后结合交通局日常管理工作的实际情况,提出了系统实现要满足的需求,并详细叙述了这些需求的具体内容以及将要应用系统的不同使用者的业务流程,这些是 信息平台能够正确实现功能的基本前提和依据,后续的设计与实现都将围绕需求中的内容展开。接着开始进行系统设计,首先进行系统架构设计,采用了当下主流的B/S结构,并在表现层使用了B/C设计模式,将整个系统分层,方便了系统的开发,降低了系统功能扩充的维护成本。然后,对数据库进行设计,将所有数据表列出。最后,我们将信息平台实现,并进行测试。

在整个系统的设计与实现过程中,除了应用在学校中学到的知识外还学习了新的技术,使我在整合已有知识的同时,拓宽了自己的知识面,增加了自己的技能点。这个过程必然不是一帆风顺的,其中有许多同学和老师的帮助,所以这次毕业设计是十分愉快的一次经历。

致 谢

毕业设计是我在大学校园中的最后一项内容了,毕业设计结束的那天也意味着我的大学生活的结束,所以在做毕业设计的时候我的内心十分复杂,因为大学生活对我来说是十分幸福的一段时光。在大学我遇到了很好的老师和同学,他们身上有很多吸引我值得我学习的特质,在和他们的相处中我也在不断完善自己,所以只是和他们相遇相识就已经让我很开心很感谢了。包括在完成毕业论文的过程中,老师也十分耐心的给予同学们耐心的指导,在我们不自信和受挫的时候也一直鼓励我们、相信我们,在毕业论文的写作遇到瓶颈的时候,还有很好的同学彼此沟通,又或者是一起去打球,往往使我感到放松并且产生新的思路。毕业后的分离总是难免的,但老师同学们带给我的成长是无法磨灭的,所以真心地感恩遇到过的这些优秀的人,我相信他们未来的生活必将精彩,我也由衷的祝福他们,我将继续努力,希望有一天能再见到他们,我能成为更优秀的自己,开心的和他们打招呼,在一起怀念大学的美好时光。

相关推荐
不去幼儿园37 分钟前
【SSL-RL】自监督强化学习: 好奇心驱动探索 (CDE)算法
大数据·人工智能·python·算法·机器学习·强化学习
vvw&3 小时前
如何在 Ubuntu 上安装 Jupyter Notebook
linux·人工智能·python·opencv·ubuntu·机器学习·jupyter
Spy973 小时前
django 过滤器的执行
后端·python·django
_.Switch3 小时前
Django SQL 查询优化方案:性能与可读性分析
开发语言·数据库·python·sql·django·sqlite·自动化
Amo Xiang3 小时前
Django 2024全栈开发指南(三):数据库模型与ORM操作(上篇)
数据库·django·django-orm
谁呛我名字4 小时前
大数据应用开发——数据可视化
javascript·vue.js·echarts
Ws_6 小时前
leetcode LCR 068 搜索插入位置
数据结构·python·算法·leetcode
lx学习6 小时前
Python学习26天
开发语言·python·学习
qq_273900237 小时前
pytorch register_buffer介绍
人工智能·pytorch·python
大今野7 小时前
python习题练习
开发语言·python