【基于Python+Django的机票预订系统】--毕业设计参考

本文只展示了部分章,有需要完整的童鞋可以私信拿。

摘 要

时代在飞速进步,每个行业都在努力发展现在先进技术,通过这些先进的技术来提高自己的水平和优势,机票预订系统当然不能排除在外。本次我所开发的机票预订系统是在实际应用和软件工程的开发原理之上,运用Python语言以及Django框架进行开发,可以让用户实现在线进行浏览航班信息、旅游景点、酒店信息、系统公告,进行在线选择、预订飞机票、管理个人信息等操作。在系统开发之前首先要进行需求分析,分析出机票预订系统的主要功能,然后设计了系统结构。整体设计包括系统的功能、系统总体结构、系统数据结构和对系统安全性进行设计;最后要对系统进行测试,还要对测试的结果进行总结和分析,为以后系统的维护提供方便,也为以后类似系统的开发提供参考和帮助。这种个性化的网络系统管理更重视相互协调和管理合作,能激发管理者的创造性和主动性,这对机票预订系统来说非常有益。

关键词:机票预订系统,Django,MySQL

Abstract

In the rapid progress of The Times, every industry is trying to develop advanced technology, through these advanced technology to improve their own level and advantages, air ticket booking system of course can not be excluded. The air ticket booking system I developed is based on the practical application and software engineering development principle, using Python language and Django framework for development, which allows users to realize online browsing flight information, tourist attractions, hotel information, system announcements, online selection, booking air tickets, management of personal information and other operations. Before the development of the system, we must first analyze the requirements, analyze the main functions of the air ticket booking system, and then design the system structure. The overall design includes the function of the system, the overall structure of the system, the data structure of the system and the design of the system security; Finally, to test the system, but also to summarize and analyze the results of the test, for the future maintenance of the system to provide convenience, but also for the future development of similar systems to provide reference and help. This kind of personalized network system management pays more attention to mutual coordination and management cooperation, which can stimulate managers' creativity and initiative, which is very beneficial to the air ticket booking system.

Key words:Flight reservation system, Django, MySQL

 

目 录

第1章 绪 论.............................................................................................................. 4

1.1 课题的研究背景............................................................................................ 4

1.2 课题研究目的................................................................................................ 4

1.3 课题的研究意义............................................................................................ 4

1.4 研究现状........................................................................................................ 5

第2章  相关技术....................................................................................................... 6

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

2.2  Django框架................................................................................................... 6

2.3 PyCharm简介.................................................................................................. 2

2.4 MySQL简介.................................................................................................... 2

第3章  系统分析....................................................................................................... 4

3.1 技术可行性分析............................................................................................ 4

3.2  操作可行性分析............................................................................................ 4

3.3 需求分析........................................................................................................ 4

3.4 项目设计目标................................................................................................ 4

3.4.1 关于系统的基本要求............................................................................ 4

3.4.2开发目标................................................................................................. 5

3.5 系统流程分析................................................................................................ 5

3.6 本章小结........................................................................................................ 7

第4章  系统设计....................................................................................................... 8

4.1 系统体系结构................................................................................................ 8

4.2  开发流程设计................................................................................................ 9

4.3  数据库设计原则.......................................................................................... 10

4.4  数据表信息.................................................................................................. 12

第5章  系统实现..................................................................................................... 17

5.1系统前台功能实现......................................................................................... 17

5.2后台模块实现................................................................................................. 21

5.2.1管理员模块实现................................................................................... 21

5.3  本章小结...................................................................................................... 24

第6章  系统测试..................................................................................................... 25

6.1  系统测试的目的.......................................................................................... 25

6.2  系统测试方法.............................................................................................. 25

6.3  功能测试...................................................................................................... 25

6.4  本章小结...................................................................................................... 26

结  论.......................................................................................................................... 27

参考文献...................................................................................................................... 28

致  谢.......................................................................................................................... 29

  1. 绪 论

随着社会的快速发展,计算机的影响是全面而深刻的。当前疫情已席卷全球,人们深感不安。随着目前疫情已经开放,大家都出行的需求也在不断提高,飞机作为出行的一种方式,深受大家的喜欢,在此基础下,机票预订系统的开发成为了一件非常有意义的事情。

1.1 课题的研究背景

机票预订系统主要通过计算机网络,对所需的信息进行统一管理,方便用户随时随地进行增添、修改、查询、删除各类信息。本系统极大的促进了系统与数据库管理系统软件之间的配合,满足了绝大部分用户的需求,给用户带来了很大的便利。以现在计算机的技术的应用,使计算机成为人们使用现代发达技术的桥梁。计算机可以有效的解决信息,十分方便的获取信息,从而提高工作的效率。

1.2 课题研究目的

全球经济在快速的发展,中国更是进步飞速,这使得国内的互联网技术进入了发展的高峰时期,这让中外资本不断转向互联网这个大市场。在这个信息高度发达的现在,利用网络进行信息管理改革已经成为了人们追捧的一种趋势。“机票预订系统”是运用Python语言和Django框架,以MySQL数据库为基础而发出来的。可以实现用户在线进行浏览航班信息、旅游景点、酒店信息、系统公告,并进行在线选座、预订飞机票等操作。为保证我国经济的持续性发展,必须要让互联网信息时代在我国日益壮大,蓬勃发展。伴随着信息社会的飞速发展,机票预订系统所面临的问题也一个接一个的出现,所以现在最该解决的问题就是信息的实时查询和访问需求的问题,以及如何利用快捷便利的方式让访问者在广大信息系统中进行查询、分享、储存和管理。这对我们的现实生活中具有非常重要的意义,所以机票预订系统诞生了。

1.3 课题的研究意义

现在还有许多人用纸质工具存储并管理信息,网络仅仅起到一般的辅助性作用。以我对人们常用软件的了解程度,大家仍然把传统的Office软件当成主要工具,机票预订系统相比Office软件来说会更全面更专业。本系统通过标签分类等方式,使管理人员对各项功能信息实现高效的管理,可以极大的提高管理人员的工作效率。

1.4 研究现状

在国外线上管理发展较早。相对应的软件的开发设计和保护也有所增加[4]。由于长時间的技术积累,产品研发工作更是持续推动,最终获得了较大的发展。如今,向着智能化,数字化和信息化的方位快速发展。各行各业都使用了相似的规章制度,推动发展,获得了较好的经济效益[5]

在国内,因起步较晚,目前的管理还不够完善,发展不平衡,对机票预订系统的管理过程中应用电子计算机和网上的领域以及外部状况信息存有很大差别。技术性简易地取代了过去的形式或方式,但根据更科学的方式再次设计方案管理的这一环节中,大家必须舍弃传统的管理方式,尽早更改管理方法,变化管理理念合理操纵,使系统更细腻,控制成本、提升管理效益。

计算机作为信息科学的媒介和关键,它的出现和发展对人类社会的繁荣起着至关重要的作用。无论是政府机构还是公共机构,都会根据工作内容选择一套优秀的通信技术和专业的办公设备,利用这些技术和设备快速收集、解决和存储信息,使管理工作变得方便快捷,达到科学合理的管理目标。

总之,机票预订系统的发展呈不断上升的发展趋势,现在传统的手工制作和半手工管理的方法进入到信息化管理的转变过程中,必须使用和融合新的信息技术来完成传统的系统设计方法,才能保证系统的效果和质量。

 

2章  相关技术

本机票预订系统的数据库采用的是MySQL数据库,并且选择了Python语言和Django框架进行开发项目,在项目开发过程中,实现了系统功能模块的安全性、实用性、稳定性、易维护和页面简单等特点。

2.1 Python简介

网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。Python 属于一个高层次的脚本语言,以解释性,编译性,互动性和面向对象相结合。在设计上相比其他语言,它更具有特色语法结构,很强的可读性。

Python语言之所以如此广泛的被使用是由其自身的优势所决定的,首先它的兼容性非常的好可以实现跨平台的使用,互联网络的出现使人们进行信息传递有了更多的方法,使信息资源得到了最大限度的共享,人与人之间的交流变得更加方便,打破了地域对信息传递的束缚,为人们生活带来了极大的便利。虽然Python语言在当今已经发展非常 成熟,但是它并不是完美无缺的,需要研发人员不懈的努力来使其更加完善。

2.2  Django框架

Django是一种开源的大而且全的Web应用框架,是由Python语言来编写的。他采用了MVC模式,Django最初是被开发来用于管理劳伦斯出版集团下的一些以新闻为主内容的网站。一款CMS(内容管理系统)软件。并于 2005 年 7 月在 BSD 许可证下发布。这套框架是以比利时的吉普赛爵士吉他手 Django Reinhardt 来命名的。

Django是Python语言中的一个web框架,并遵循MVC设计。Python语言中主流的web框架有Django、Tornado、Flask 等多种,Django相较与其它WEB框架,其优势为:大而全。Django的主要目的是简便、快速的开发数据库驱动的网站。接下来介绍Django的优点:

  1. 路由配置(URLConf):DjangoURL设置更加灵活优雅,看似复杂难懂,但使用的都是简单的正则表达式,你可以随心所欲的创造优美的、简洁的、专业

的地址。

  1. 模板(Template):模板可以理解为承载数据的工具,为了将数据从视图中分离出来,通过各种各样的标签来进行数据的传输。Django的模板融入了面向对象中继承的思想,提高了复用减少冗余代码。
  2. 视图(View):视图就是views.py中的函数,也就是逻辑代码,为了将URL和视图关联起来,用到了上述的URLConfsURLConfsURL模式映射到视图中,每个视图有两件事是必须要做的:返回一个包含被请求页面的HttpResponse对象,或者抛出一个异常。
  3. 后台管理系统(Django-Admin):Django提供的一个基于Web的管理工具。Django-Admin来自django.contrib也就是Django的标准库,默认被配置好,只需要激活启用即可,它的优势在于可以快速对数据库的各个表进行增删改查,一行代码即可管理一张数据库表,相比于手动后台1个模型一般需要4urls4个视图函数和4个模板,可以说Django完成了一个程序编写的大部分重复工作,并且对于图书管理这种以管理工作为重系统来说,极度契合。
  4. 应用(Application):当项目规模过大时,难免会产生目录过长,文件过多的问题,Django理念中的App可以将项目相对独立的进行开发,插拔的工作方式和独立性让开发者废弃的App即使删除也不会影响整体,是一种不可多得的理念。

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

2.3 PyCharm简介

   PyCharmJetBrains公司开发的一款Python集成开发环境,它提供了很多便利于开发者的功能,比如调试、语法高亮、代码跳转、智能提示、自动补全等。除此之外Pycharm还提供了一些支持Web框架的高级功能,适合此次机票预订系统的开发。

2.4 MySQL简介

作为当下比较流行的MySQL数据库管理系统,它有较高的安全性和可靠性,储存空间大,可以对系统中所有用户 的数据进行储存更新。MySQL数据库存储功能强大,稳定性好,安全系数高,受到了越来越多的软件开发者的青睐。 数据库极大的便利了数据的存储,MySQL数据库能够实现数据库被多个用户端同时使用,实现数据交互,为用户提供 便利,是一个非常有利的方面。

所以,对于整个系统的设计与实现来说,确定一个优秀的数据库管理系统具有非常重大的意义。因为数据库它 不仅仅是用于对数据的储存,它还有关于约束条件和触发器等功能的设计,因此,本次程序开发的首要选择就是一 个拥有简洁明了的数据库界面和简单易上手、有多线程交互的数据库管理系统。

2.5小结

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

3章  系统分析

为满足用户的需求,本章分析系统开发的可行性,将从技术和操作等方面来判断,然后通过需求分析、系统流程分析来确定机票预订系统的功能。

3.1 技术可行性分析

机票预订系统在使用电脑和信息分析系统这些设计没有硬性要求,电脑只要是可以正常使用的话,那么代码和页面设计就是可行的。要求高的主要是服务器,平台上传服务器一定要选择性价比高和安全性高的,打开网站一定要顺滑不卡顿,所以硬件也是可行的[2]。

所以,从以上可行性分析可得,本系统的开发使没有问题的。

3.2  操作可行性分析

将根据管理系统中的用户体验和管理员的效率来分析该措施的可行性。管理人员和用户都可以通过简单的操作登录进对应的系统页面,方便用户搜索业务信息和管理人员管理数据,不需要特别懂电脑的人也可以轻松访问系统模块。该系统已完全投入使用。

3.3 需求分析

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

对比要实现的功能来分析出用户的需求,可以让用户在线对相关信息进行添加、修改、查看、删除,这不仅满足了用户的需求,还大大的节省了时间。因此,管理员的需求也应当考虑一下,尽可能提高管理员的工作效率。

3.4 项目设计目标

本防系统采用MySQL数据库和Python语言,Django框架进行开发而成,极大程度上的保证了系统的稳定性。

3.4.1 关于系统的基本要求

(1)功能要求:管理人员可以对个人中心、用户管理、航班信息管理、旅游景点管理、酒店信息管理、系统管理、订单管理等功能进行管理 [3]。用户登录系统后,可以在线浏览航班信息、旅游景点、酒店信息、系统公告,并进行在线选择、预订航班信息等;用户还可以进行在线咨询客服、管理个人信息等。

(2)性能:可以准确无误的在不同的操作系统中登录到用户或者管理员的相应界面进行轻松的操作[4]。

(3)环境要求:支持不同的操纵系统和不同的平台,可用于Windows系列、Vista系统等多种操作系统[5]。

3.4.2开发目标

本机票预订系统的主要开发目标如下:

(1)减少后台管理人员的工作量,对用户的信息进行系统的管理;

(2)必须要方便快捷的查看搜索信息并管理信息;

(3)用户是具有多样性的,所以界面要设置的简单明了,操作更要方便快捷。

3.5 系统流程分析

系统登录流程图如图所示3-1所示。

图3-1 系统登录流程图

用户和管理员可以添加信息,内容没有问题之后按下确定键就添加成功了。添加信息流程图如图3-2所示.

图3-2 添加信息流程图

用户可以选择把自己发布的信息删掉,选择要删除的信息,确认之后,删除信息的操作就完成了。删除信息流程图如图3-3所示。

图3-3 删除信息流程图

3.6 本章小结

本章主要是对机票预订系统的可行性分析和所要实现的功能进行分析,在对一系列的系统可行性分析之后,又详细的讲述了项目的目标与原则,让人们深刻的了解机票预订系统的设计思想,之后重点对登录模块、添加模块和删除模块的流程进行了详细的图文介绍。

4章  系统设计

本章主要讲述的是机票预订系统的设计开发结构,简单介绍了开发流程与数据库设计的原则以及数据表的关系结构图,并且详细的展示了数据表的内部结构信息与属性。

4.1 系统体系结构

系统启动后,在登录界面,输入正确的账号密码,选择进入管理员界面或用户界面,管理员界面是用来管理页面与用户信息,用户界面可以正常的使用,并对个人信息、登录密码、航班信息、旅游景点、酒店信息、系统公告等进行份内的操作,系统登录结构图如图4-1所示。

图4-1 系统登录结构图

管理员模块属于是网站的后台,进入之后有大量的管理员功能,管理员也可以使用用户模块的功能,为了维护网站的稳定与页面的布局,将管理员模块的功能详细化后可以使用系统管理对页面进行布局修改,可以发布公告提示用户规范,用户模块只可以对个人信息、登录密码、航班信息、旅游景点、酒店信息、系统公告等进行管理等,并且进行在线选座、预订航班信息等,机票预订系统总体结构图如图4-2所示。

图4-2 机票预订系统总体结构图

4.2  开发流程设计

系统的开发流程设计简单的介绍了开发过程,先对任务书进行分析,根据要实现的功能对各个模块进行开发,之后再对模块一一进行测试,测试成功后将模块整合再测试整体功能,完善整体结构[6]。开发系统流程图如图4-3所示。

图4-3开发系统流程图

4.3  数据库设计原则

数据库设计之后,根据数据库关系,可以更加清晰地了解到数据库结构,每一个数据表之间的关系,再创建数据表。快速更改和查询对应的信息,有了数据库就不用在程序和代码中寻找。

分析机票预订系统的数据结构后,在E-R图中分析管理员登录时的模式,需要输入用户名与密码,管理员信息E-R如图4-4所示。

图4-4 管理员信息E-R图

用户E-R图如图4-5所示。

图4-5用户E-R图

航班信息E-R图如图4-6所示。

图4-6航班信息E-R图

系统公告E-R图如图4-7所示。

图4-7系统公告E-R图

旅游景点实体E-R图如图4-8所示。

图4-8旅游景点E-R图

4.4  数据表信息

在关系数据E-R图中,分析并创建数据表,数据表用来记录信息,数据表关系由多个数据表组成,下面介绍的是数据表各个字段信息如下表所示。

表4-1酒店信息表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

jiudianmingcheng

varchar

200

酒店名称

leibie

varchar

200

类别

xingji

varchar

200

星级

jiudiantupian

varchar

200

酒店图片

jiudiandizhi

varchar

200

酒店地址

fangjianleixing

varchar

200

房间类型

jiage

float

价格

fuwudianhua

varchar

200

服务电话

jiudianjieshao

longtext

4294967295

酒店介绍

表4-2航班信息表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

checi

varchar

200

车次

fengmian

varchar

200

封面

qifeidi

varchar

200

起飞地

mudedi

varchar

200

目的地

qifeishijian

datetime

起飞时间

zongshizhang

varchar

200

总时长

tujingzhandian

longtext

4294967295

途径站点

goupiaoxuzhi

longtext

4294967295

购票须知

price

float

价格

number

int

座位总数

selected

longtext

4294967295

已选座位[用,号隔开]

表4-3用户信息表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yonghuming

varchar

200

用户名

xingming

varchar

200

姓名

mima

varchar

200

密码

xingbie

varchar

200

性别

shoujihao

varchar

200

手机号

shenfenzheng

varchar

200

身份证

money

float

余额

0

表4-4在线客服表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

adminid

bigint

管理员id

ask

longtext

4294967295

提问

reply

longtext

4294967295

回复

isreply

int

是否回复

表4-5订单表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

orderid

varchar

200

订单编号

tablename

varchar

200

商品表名

hangbanxinxi

userid

bigint

用户id

goodid

bigint

商品id

goodname

varchar

200

商品名称

picture

varchar

200

商品图片

buynumber

int

购买数量

price

float

价格

0

discountprice

float

折扣价格

0

total

float

总价格

0

discounttotal

float

折扣总价格

0

type

int

支付类型

1

status

varchar

200

状态

address

varchar

200

地址

tel

varchar

200

电话

consignee

varchar

200

收货人

remark

varchar

200

备注

logistics

longtext

4294967295

物流

表4-6系统公告表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

picture

varchar

200

图片

content

longtext

4294967295

内容

表4-7旅游景点表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

jingdianmingcheng

varchar

200

景点名称

jingdianfenlei

varchar

200

景点分类

jingdiantupian

varchar

200

景点图片

jingdiandengji

varchar

200

景点等级

chengshi

varchar

200

城市

jutidizhi

varchar

200

具体地址

menpiaojiage

int

门票价格

jingdianjieshao

longtext

4294967295

景点介绍

kaifangshijian

varchar

200

开放时间

zhuyishixiang

longtext

4294967295

注意事项

表4-8收藏表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

refid

bigint

商品id

tablename

varchar

200

表名

name

varchar

200

名称

picture

varchar

200

图片

type

varchar

200

类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注)

1

inteltype

varchar

200

推荐类型

remark

varchar

200

备注

4.5  本章小结

本章具体讲述了系统的大体结构,主要包括用户、管理员两大系统模块,使其各个功能简洁明了。同时对数据库的设计原则进行分析,从而提高了系统的效率。

5章  系统实现

本章讲述的是系统对各个模块功能实现的效果图,对前台、管理员功能和用户功能分别进行了展示,页面布局清晰,操作简单快捷,基本实现了对用户和管理员对系统的需求。

5.1系统前台功能实现

当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到机票预订系统的导航条、轮播图和推荐信息等。系统首页界面如图5-1所示:

图5-1 系统首页界面

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值