python基于Python的汽车检测站管理

97 篇文章 2 订阅
94 篇文章 0 订阅
本文介绍了使用Python的Django框架和MySQL数据库设计与实现的汽车检测站管理系统。系统涵盖了个人中心、用户管理、车辆信息管理等多个功能,旨在提高管理效率和便捷性。通过B/S结构,实现了用户友好的界面和高效的数据管理。系统具备良好的易用性和安全性,满足汽车检测站的实际需求。
摘要由CSDN通过智能技术生成

摘  要

随着网络科技的不断发展以及人们经济水平的逐步提高,计算机如今已成为人们生活中不可缺少的一部分,为汽车检测站方便管理,基于Python技术设计与实现了一款简洁、轻便的管理系统。本系统解决了汽车检测站管理中的主要问题,包括个人中心、用户管理、车辆信息管理、员工管理、保险单管理、违章信息管理等功能。

本系统采用了Python语言的Django框架,数据采用MySQL数据库进行存储。结合B/S结构进行开发设计,功能强大,界面化操作便于上手。本系统具有良好的易用性和安全性,系统功能齐全,可以满足汽车检测站管理的相关工作。

关键词:汽车检测站;Python技术;Django框架;MySQL;

Abstract

With the continuous development of network technology and the gradual improvement of people's economic level, computer has now become an indispensable part of people's life. For the convenience of the management of automobile detection station, a simple and portable management system is designed and implemented based on Python technology. This system solves the main problems in the management of automobile detection station, including personal center, user management, vehicle information management, employee management, insurance policy management, violation information management and other functions.

This system uses Django framework of Python language, data is stored by MySQL database. Combined with B/S structure for development and design, powerful, user-friendly operation. This system has good ease of use and security, the system has complete functions, can meet the related work of automobile detection station management.

Key words: automobile detection station; Python technology; Django framework; MySQL;

目  录

1 绪  论................................................................................................................................ 4

1.1研究背景和意义...................................................................................................... 4

1.2拟解决的问题及特性.............................................................................................. 4

1.3论文的结构.............................................................................................................. 5

2 相关技术简介及部署环境说明........................................................................................ 6

2.1 Python简介............................................................................................................. 6

2.2 Django框架简介..................................................................................................... 6

2.3 MySQL简介........................................................................................................... 7

2.4 B/S结构................................................................................................................... 8

2.5系统的开发环境...................................................................................................... 9

2.6小结.......................................................................................................................... 9

3 需求分析.......................................................................................................................... 11

3.1系统的可行性分析................................................................................................ 11

3.2系统需求分析........................................................................................................ 11

3.3开发目标................................................................................................................ 12

3.4 系统用例分析....................................................................................................... 12

3.5系统流程设计........................................................................................................ 14

3.5.1 用户登录流程.............................................................................................. 14

3.5.2 系统操作流程.............................................................................................. 14

3.6小结........................................................................................................................ 15

4 系统总体设计.................................................................................................................. 16

4.1系统功能结构设计图............................................................................................ 16

4.2 数据库设计与实现............................................................................................... 16

4.2.1 概念模型设计.............................................................................................. 17

4.2.2 系统数据表设计.......................................................................................... 19

4.3小结........................................................................................................................ 23

5 系统详细设计与实现...................................................................................................... 24

5.1系统登录实现........................................................................................................ 24

5.2管理员模块实现.................................................................................................... 24

5.3员工功能实现........................................................................................................ 26

5.4用户功能实现........................................................................................................ 28

5.5 小结....................................................................................................................... 29

6 系统测试.......................................................................................................................... 30

6.1软件测试的定义.................................................................................................... 30

6.2测试方法................................................................................................................ 30

6.3测试过程................................................................................................................ 30

6.4测试结果................................................................................................................ 31

6.5小结........................................................................................................................ 31

参考文献.............................................................................................................................. 33

致  谢.................................................................................................................................. 34

1 绪  论

1.1研究背景和意义

随着科学技术的不断发展,计算机现在已经成为了社会的必需品,人们通过网络可以获得海量的信息,这些信息可以和各行各业进行关联,汽车检测站系统也不例外,它给汽车检测站带来了更多的选择和便捷。为解决这样的问题,汽车检测站的系统应运而生并快速发展,目前已成为众多公司的应用模块,同时也引起了学术界的长期关注[1]。

随着时代的发展和需求的不断提高,汽车检测站的系统应对的数据量将越来越庞大,数据结构也会越来越复杂,因此本文所提出的汽车检测站的系统具有实际意义,可提高效率,减少不必要的人力财力的损失,具有一定的现实意义。

1.2拟解决的问题及特性

面对高重复性机械性的工作,工作人员不可避免的会出现失误,而改正失误的成本也相当高。这些都为汽车检测站管理工作带来了新的问题[1]。从而急需开发一款这样的系统来解决这些问题,对高速发展的技术有着更强的适应性,只需要维护更新得当,大大的降低了人力成本。汽车检测站系统有以下几个特性:

(1)高自由度:汽车检测站系统是一种人性化设计的系统,可以根据用户的需要来添加不同功能的组件和界面,让汽车检测站系统更加的符合操作者的使用习惯,提供更多的便利功能。

(2)用户之间互动性强:系统的所有用户可以交流自己的心得。

(3)高检索率:传统管理信息检索也需要系统的支持,不过纸质载体的体积大,占地面积广,复原困难等问题,就算检索到了位置,也会出现找不到资源的情况,汽车检测站系统可以不受物理空间的限制,能储存的资料也没有空间的限制,大大的提高了资源搜索效率。

(4)节省资源:传统汽车检测站管理需要消耗大量人力对信息进行编辑管理,费人,费时,费力。而汽车检测站系统这些缺陷都没有,还节省了大量资源。极大地提高工作效率,可以精确查询和编辑各类信息,能更快、更好地满足了他们的需求。

1.3论文的结构

本文的主体结构如下:

第一章主要对当下的汽车检测站系统的背景及开发意义进行了重点论述。

第二章 重点介绍本系统的相关的开发技术,并对软件的部署环境进行必要的说明。

第三章 重点对系统进行需求分析、流程分析和可行性论述。

第四章 主要对系统整体功能进行设计和对数据库进行设计。

第五章 详细的对各个模块进行阐述,各个模块总体的设计以文字加图表的形式进行说明。

第六章 对系统的测试方法进行说明及测试结果的展示。

2 相关技术简介及部署环境说明

2.1 Python简介

Python是由荷兰数学和计算机研究学会的吉多·范罗苏姆于20世纪90年代设计的一款高级语言。Python优雅的语法和动态类型,以及解释型语言的本质,使它成为许多领域脚本编写和快速开发应用的首选语言。Python相比与其他高级语言,开发代码量较小,代码风格简洁优雅,拥有丰富的第三方库。Python的代码风格导致其可读性好,便于维护人员阅读维护,程序更加健壮。Python能够轻松地调用其他语言编写的模块,因此也被成为“胶水语言”[3]

Python的应用场合非常广泛,在科研领域中,可以用Python训练人工智能模型,也可以对实验数据进行数据分析。在生活中,Python提供了很多优秀的、开源的Web开发框架,例如DjangoFlaskPyramidTornado等。知乎、豆瓣网、Youtube等知名应用都是由Python为基础进行开发的。相比于其他框架,Django有着更加丰富的插件,作为企业级框架也很好上手,适合本次开发。此次图书管理系统是开发一个Web应用,采用Django框架,将在下一节进行具体介绍。本次开发选用的是Python3.6.4版本。

2.2 Django框架简介

Django被官方称之为“完美主义者框架”,只需要很少的代码就能更快的完成一个优秀的Web应用[4]。Django采用了MTV框架模式,此模式根据MVC进行改进形成了更适于Django的设计模式。M为模型(Model)、T为模板(Template)、V为视图(View)。下面介绍部分Django的核心与优点:

  1. 对象关系映射(ORM,Object-Relation-Mapping):ORM的方法论有着三个核心原则:
  • 简单:以最基本的形式构建数据。
  • 传达性:数据库结构被任何人都能理解的语言文档化。
  • 精确性:基于数据模型创建正确标准化的结构。

用于Python之中即是以Python类形式定义数据模型,类中的每一个属性对应着数据库中的一列。引入ORM后,无需编写原生SQL语句,使用基于面向对象的思想去编写类、对象、调用方法等,ORM会将其映射成SQL语句通过pymysql执行。

  1. 路由配置(URLConf):Django的URL设置更加灵活优雅,看似复杂难懂,但使用的都是简单的正则表达式,你可以随心所欲的创造优美的、简洁的、专业的地址。
  2. 模板(Template):模板可以理解为承载数据的工具,为了将数据从视图中分离出来,通过各种各样的标签来进行数据的传输。Django的模板融入了面向对象中继承的思想,提高了复用减少冗余代码。
  3. 视图(View):视图就是views.py中的函数,也就是逻辑代码,为了将URL和视图关联起来,用到了上述的URLConfs,URLConfs将URL模式映射到视图中,每个视图有两件事是必须要做的:返回一个包含被请求页面的HttpResponse对象,或者抛出一个异常。
  4. 后台管理系统(Django-Admin):Django提供的一个基于Web的管理工具。

Django-Admin来自django.contrib也就是Django的标准库,默认被配置好,只需要激活启用即可,它的优势在于可以快速对数据库的各个表进行增删改查,一行代码即可管理一张数据库表,相比于手动后台1个模型一般需要4个urls,4个视图函数和4个模板,可以说Django完成了一个程序编写的大部分重复工作,并且对于图书管理这种以管理工作为重系统来说,极度契合。

  1. 应用(Application):当项目规模过大时,难免会产生目录过长,文件过多的问题,Django理念中的App可以将项目相对独立的进行开发,插拔的工作方式和独立性让开发者废弃的App即使删除也不会影响整体,是一种不可多得的理念。

因为本次使用的Python版本为3.6.4,低版本的Django不支持Python3,故此次使用的Django版本为3.2.12。

2.3 MySQL简介

数据库在软件项目中扮演着操作管理数据的角色同时还能够保证数据的独立性、一致性和安全性,并为系统访问数据提供有效方式不仅如此数据库还能大大减少程序员开发程序时间。在日常能够接触实用的一般有两类数据库,一类是以(Oracle,DB2,SQL Server,MySQL )为代表的关系型数据库和以(NoSql、MongeDB)为代表的非关系型数据库,两类数据库各有各的优缺点。其中非关系型数据库又分为网络数据库和层级数据库。-网络数据库是指在计算机网络系统中应用数据库技术然后借助网络技术将存储于数据库中的大量信息及时发布出去;在成熟的数据库技术的帮助下,计算机网络实现了对网络中的各种数据的有效管理,用户与网络中的数据库数据交互也借此得以进行。IMS也是最早研制成功的数据库系统。关系数据结构、关系操作集合、关系完整性约束构成了关系模型。作为数据库另外一种区分方式的存储介质被大家分为磁盘和内存这 两种。例如:关系型数据库就存储在磁盘中,非关系型数据库则存储在内存中。典型的关系型数据库有:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、SQLite。小型关系型数据库:Microsoft Access,SQLite;中型关系型数据库:SQL Server,Mysql;大型关系型数据库:Oracle,DB2。

大家常用的其他关系形数据库系统大多是MySQL AB公司开发的,其中MySQL也是由这家开发的,所应用的分布式数据库管理系统是客户机/服务器体系结构得益于此结构,而且用这个系统建造的数据库具有很强的适用性,用C和C++编写的系统让他拥有很强的适用性所以他可以在大部分操作系统上使用并能和php结合。不同的API函数针对不同的语言(C,C++,JAVA等)来处理不同数据;为了更好地支持多CPU多线程通过使用核心线程来实现;提供的存储机制分为事务和非事务存储机制;MySQL采用双重许可,不管是从MySQL AB公司获得正式的商业许可又或是许可条款下以免费软件或开放源码软件的方式使用MySQL软件都是被允许的。

MySQL作为数据库拥有很多优点,其中由于是开放源码,所以使用成本特别低,而它体积小的特点决定了速度快的特性。因此,My Sql具有开放性,多线程支持多种API,可跨数据库连接,国际化,数据库体积巨大等特点。简单的来说 ,MySql是一个开放的、快速的、多线程的、多用户的数据库服务器。

选用MySQL作为数据库的其中一个原因就是支持多线程,支持多线程的特点为利用系统资源提供了便捷并因此大大提高了系统运行速度和效率,而且连接数据库的方式多样包括但不局限于TCP/IP、ODBC和JDBC等途径;但是没有东西是完美无缺的,即便MySQL也如此,虽说它有着众多优点但其功能不够强大,规模也相对较小,无法应对大型数据哭的处理。但是对于本系统来说,选用MySQL作为数据库,其功能性能已绰绰有余,如果要进行二次开发的数据库表结构空间的扩展也是完全可行的。综上所述,MySQL是作为本系统数据库的最优选择。

2.4 B/S结构

B/S模式,全称是Browser/Server,其为随着web兴起而诞生的一种结构模式,可看作为改进了的C/S结构。在B/S结构下,系统功能核心部分会直接集中部署到服务器上,用户使用的客户端运行在浏览器上即可。由于只需要管理服务器,而浏览器不需要维护,在用户规模大时,会大幅提升效率。将服务器上安装好数据库,用户使用浏览器,再通过Web Server就可以进行数据交互。

B/S架构如图2-1所示,共有三层体系结构,以B/S模式为基础的三层结构更符合系统的需求。一层是浏览器层,即表现层,系统展示给各个用户的前端页面并可在该页面完成简单输入输出功能;一层是web服务器层,当进行各类操作时,由其完成信息的传递,起到承上启下作用。例如要登录用户进入后台时输入账号密码,浏览器发送访问数据库请求给web服务器,然后web服务器去系统的数据库对应的用户表中查看是否有相符合的信息并完成操作。最后是数据库层,它存放着本系统的各项数据,每当接收到web服务器的请求,会将请求转化为sql语句对数据库进行修改并将修改后结果返回服务器。最后Web服务器将传来结果转为HTML返回浏览器,从而完成前端页面的修改。

 

图2-1  B/S结构图

随着如今软件系统更新速度快,使用B/S结构有许多优点。从维护成本上看,B/S结构只需维护服务器,而浏览器作为客户端,无需维护,满足现在用户体量越来越大的情况,且主流方向也是用户端越来越庞大,而服务器端逐渐“肥胖”,B/S结构十分契合这一点。

2.5系统的开发环境

系统使用Python语言,以Django作为框架进行开发,其所使用的硬件和软件环境如下:

硬件环境:Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz 2.50 GHz 处理器,16.0GB 运行内存。

软件环境:Windows10 64位操作系统,TomCat服务器,IDEA开发工具。

2.6小结

本章详细的介绍了开发汽车检测站系统所需要的技术与工具,工欲善其事必先利其器,对于技术和工具了解的越多越清晰,才会在开发过程中如鱼得水。

3 需求分析

3.1系统的可行性分析

汽车检测站系统的可行性分析基于当下的互联网背景,从经济、技术、法律和用户使用上进行了调查,从此验证次系统开发的可行性[6]。下面分别从以下几点进行分析:

  1. 经济可行性分析:此系统所用的框架技术完全是开源的,其余的软件使用也都是免费的,在开发方面所消耗的成本可以忽略不计。而建立系统信息库所需的费用远远少于其带来的社会收益,从经济上分析系统是完全可行的。
  2. 技术可行性分析:对系统进行分析,汽车检测站系统的大部分功能都需要管理员完成,系统只需要添加少量代码就可以很好适配管理员功能[7]。可以提高文件的复用率,提高效率。在数据库方面,ORM简化了表的创建和使用,采用了Oracle旗下开源的关系型数据管理系统MySQL,多表存储的特点使数据更加规范化,增删改查更容易[8]。综上所述,技术开发上并无太大的难点。
  3. 用户使用可行性分析:鉴于系统的使用用户,有统一的账号和密码,且系统无需用户有过多的操作,界面清晰简洁,用户使用可行性上无问题。
  4. 法律可行性分析:即分析本系统是否与各类法律相悖。本系统使用市面开源免费软件开发,且作为个人毕设,无商用,均为本人自主开发,并且页面设计合理,发布的信息要求符合常规。整个系统无抵触法律法规的问题。因此在法律上,本系统可行。

3.2系统需求分析

需求分析在系统开发中有着十分重要的作用[9]。软件项目凭借软件工程的思想和步骤可以大大的提高开发效率,缩短软件开发周期,保证了软件项目的质量。需求分析作为软件工程方法中的一步是至关重要的。软件需求工程是一门分析并记录软件需求的学科[10]。需求分析简单的来说就是用户需要什么,系统需要什么,对此进行问题的列举,等级的排列,需要缜密的思分析和大量的调研[11]。

汽车检测站系统在国内有很多值得借鉴的例子,功能也都趋于完善,因此系统将轻量化开发,要完成以下功能:

(1)要支持完整的用户注册,登录功能,账号的管理通过管理员来实现。

(2)系统的前端页面简单明了,更能让用户快速上手,一目了然,不需要教程也能直接使用。

(3)为了用户能够方便的搜寻信息。

(4)管理员通过后台系统来完成对审核员信息的编辑,包括添加、删除等操作。

3.3开发目标

汽车检测站系统主要开发目标如下:

(1)对零碎化、分布散的汽车检测站信息进行收纳、整理,通过网络服务平台使这些信息内容更加调理,更加方便化和清晰化,让访问该系统的每个用户享受浏览的过程。

(2)生活中存在的一些现象:人员冗余。汽车检测站系统应尽量减少用户的需求压力,给他们提供省时省力省心的服务平台,降低其工作量。

(3)便于查询信息及管理信息等。

(4)通过计算机网络技术,提升解决管理问题和技术工作的质量,为用户一种规范方便的服务。

(5)该系统的面向用户为管理员和审核员,系统的设计风格应该简约整洁,操作容易上手,目标信息明确,避免花里胡哨。

(6)为社会稳定和发展贡献一份力量。

3.4 系统用例分析

本系统综合网络空间开发设计要求。目的是将传统管理方式转换为在网上管理,完成汽车检测站信息管理的方便快捷、安全性高、交易规范做了保障,目标明确。汽车检测站的系统可以将功能划分为管理员、员工和用户功能。

(1)、管理员关键功能包含首页、个人中心、用户管理、车辆信息管理、员工管理、保险单管理、违章信息管理等进行管理。管理员用例如下:

图3-1 管理员用例图

(2)、员工关键功能包含首页、个人中心、车辆信息管理、保险单管理、违章信息管理等进行管理。员工用例如下:

图3-2 员工用例图

(3)、用户关键功能包含首页、个人中心、车辆信息管理、保险单管理、违章信息管理等进行管理。用户用例如下:

图3-3 用户用例图

3.5系统流程设计

3.5.1 用户登录流程

登录流程实现了管理员和用户的登录,在登录页面需要用户填写自己的信息,前端页面会将信息传递给后端接口,然后查询数据库确定该身份有效后登录成功,否则此用户登录失败,需要重新填写信息,进行再次验证,如图3-4所示。

图3-4登录流程图

3.5.2 系统操作流程

系统操作流程分析是软件开发过程中的一个关键环节,它是整个系统整体的运行过程,必须保证其中的每一个步骤都是确定的,这样一个规范的流程图可以使开发者易于理解,快速的投入到接口开发中,从而提升系统开发效率。

同时,流程图还能减少开发者对系统操作流程产生歧义和降低沟通的成本,系统操作流程如图3-5所示。

图3-5系统操作流程图

3.6小结

汽车检测站系统旨在让用户能够轻松便捷的管理系统信息,让管理员的工作负担减轻。本章主要对系统的经济、技术、法律、市场可行性进行分析。确认可行后,对汽车检测站系统进行了需求分析和流程分析,从审核员和管理员角度思考了可能会有的需求,是后续论文和应用开发的基础指导。

5 系统详细设计与实现

按照软件工程的流程来说,在系统的详细设计与实现阶段,要把模块、视图、模板进行相应的组合完成一个个所需的功能,此章将会把设计中模块一一说明如何设计和实现的。

5.1系统登录实现

系统登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作;如图5-1所示。                               

图5-1 系统登录界面

5.2管理员模块实现

管理员进入主页面,主要功能包括对首页、个人中心、用户管理、车辆信息管理、员工管理、保险单管理、违章信息管理等进行操作。管理员主页面如图5-2所示:

图5-2 管理员主界面

管理员点击用户管理。在用户页面输入姓名、性别进行查询或删除用户列表,并根据需要对用户详情信息进行详情、修改或删除操作;如图5-3所示:

图5-3用户管理界面

管理员点击车辆信息管理。在车辆信息页面输入姓名、性别进行查询或删除车辆信息列表,并根据需要对车辆信息进行详情、修改或删除操作;如图5-4所示:

图5-4车辆信息管理界面

管理员点击员工管理。在员工页面输入员工工号和员工姓名进行查询、新增或删除员工列表,并根据需要对员工信息进行详情、修改或删除操作;如图5-5所示:

图5-5员工管理界面

5.3员工功能实现

员工进入系统可以对首页、个人中心、车辆信息管理、保险单管理、违章信息管理等功能进行操作。员工主页面如图5-6所示:

图5-6员工主界面

员工点击车辆信息管理。在车辆信息页面输入车牌号、车辆保险进行查询或删除车辆信息列表,并根据需要对车辆信息进行详情、发送保险单、违章信息、修改或删除操作;如图5-7所示:

图5-7车辆信息管理界面

员工点击保险单管理。在保险单页面输入车牌编号进行查询或删除保险单列表,并根据需要对保险单信息进行详情、修改或删除操作;如图5-8所示:

图5-8保险单管理界面

员工点击违章信息管理。在违章信息页面输入车牌号进行查询或删除违章信息列表,并根据需要对违章信息进行详情、修改或删除操作;如图5-9所示:

图5-9违章信息管理界面

5.4用户功能实现

用户进入系统可以对首页、个人中心、车辆信息管理、保险单管理、违章信息管理等功能进行操作。用户主页面如图5-10所示:

图5-10用户主界面

用户点击车辆信息管理。在车辆信息页面输入车牌号、车辆保险进行查询车辆信息列表,并根据需要对车辆信息进行查看详情操作;如图5-11所示:

图5-11车辆信息管理界面

5.5 小结

      本章介绍了系统的各个模块和实现功能,对模块下的关键功能进行了介绍,并通过图片展示了实现效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值