摘 要
随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代,影音播放网站就是信息时代变革中的产物之一。
任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于Python语言设计并实现了影音播放网站。该系统基于B/S即所谓浏览器/服务器模式,应用Django框架,选择MySQL作为后台数据库。系统主要包括用户、影音分类、影音大全等功能模块。
本文首先介绍了影音播放网站的技术发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E-R图。然后,设计框架并根据设计的框架编写代码以实现系统的各个功能模块。最后,对初步完成的系统进行测试,主要是功能测试、单元测试和性能测试。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。
关键词:影音播放网站;Python语言;MySQL数据库;Django框架
Abstract
With the rapid development of information technology and network technology, mankind has entered a new information age. Traditional management technology has been unable to manage information efficiently and conveniently. In order to meet the needs of the times and optimize management efficiency, a variety of management systems came into being. All walks of life have entered the era of information management. Video broadcasting websites are one of the products of the reform of the information age.
Any system should follow the basic process of system design, and this system is no exception. It also needs to go through the steps of market research, demand analysis, outline design, detailed design, coding and testing, and design and implement the video playback website based on Python language. The system is based on B / s, the so-called browser / server mode, applies Django framework and selects MySQL as the background database. The system mainly includes user, audio-visual classification, audio-visual Daquan and other functional modules.
This paper first introduces the technical development background and development status of the Video Broadcasting website, and then follows the conventional software development process. Firstly, select the applicable language and development platform for the system, formulate the module and design the database structure according to the demand analysis, and then draw the function module diagram, flow chart and E-R diagram of the system according to the design of the overall function module of the system. Then, design the framework and write code according to the designed framework to realize each functional module of the system. Finally, test the preliminarily completed system, mainly including function test, unit test and performance test. The test results show that the system can achieve the required functions, and the operation condition is OK without obvious shortcomings.
Keywords: video website; Python language; Mysql database; Django framework
目录
1 绪论
1.1开发背景
如今,随着社会的不断发展,计算机技术已经逐渐成熟和完善,并且已经融入到人们生活的方方面面之中,影音播放的各项管理都开始向信息化的方向扩展。计算机拥有查询迅速、课时量大、安全性好、可靠性高、节约人力,花费少等长处。这些长处使其能够对影音播放的管理效率给予极大的提高。所以,用计算机来代替传统的人工方式来进行影音播放管理已是大势所趋,影音播放网站应运而生。
在世界范围内,影音播放网站已经得到了非常广泛的应用,范围变的越来越广,功能也在不断的完善,操作简便、节省人力、成本低廉,但工作的效率确一直不断的提高。目前,该系统主要应用于各大网站。尤其,随着电子商务的不断发展,这对影音网站而言非常的重要。
影音播放网站的作用就是提供一个在线播放影音以及搜索的系统,以缩短用户查找难,尽可能地降低用户盲目在各大影院来回咨询,本影音播放网站能够为用户在线播放影音,使得影音播放更加系统和规范。并且,让影音网站获得最佳的经济效益。
1.2研究的背景
随着信息化的发展,互联网需要提供更多的服务,构造更完善的体系以满足越来越多的用户的精神与物质需求。伴随着Internet技术的日益成熟,一种建立在网络基础上的信息管理模式形成了,这便是今天为大家所熟悉的线上管理系统。
但是依靠线下传统的手工统计进行管理远远不够的,所以有很多影音网站的影音播放工作只停留在传统的影音播放模式。同时,很多影音网站本身资金是有限再加上也缺少专业水平的工作人员,所以影音播放的管理手段较为落后,也就很难提高管理者工作效率,同时也就不能很好的为用户提供在线查看影音大全功能,于是影音播放系统能够为用户提供更为完善的影音大全。以前影音播放都是通过手动来进行管理记录及操作,不但麻烦琐碎,还经常出现错误,给广大用户带来很不便,同时也需要大量的人力、物力和财力,极大的浪费了影音网站的资源。随着网络的快速发展,人们慢慢地来希望影音播放系统能够提供更为合理及完善的服务。
本设计尝试用Python在网络上架构一个影音播放网站,以推影音播放网站无纸化,作业电子化,管理智能化的发展。本文从理论和实践两个角度出发,对一个具有数据分析功能的影音播放网站进行设计与实现分析。论文首先较为详尽地介绍了面向对象分析与设计的有关概念与技术,特别深入介绍了在本系统中运用到的知识,如:面向对象的分析设计流程;系统中所用到的开发框架Django框架以及mysql的特点、结构框架以及使用方法。接着对影音播放网站的可行性进行了分析,然后对系统的设计思想、设计目标与系统的整体结构进行了明确的规划。最后对系统的主要页面、数据库、应用程序的设计与实现作了较为详细的讲解。
本影音播放网站是在Pycharm.Python语言平台上运用Django框架来实现的。其主要功能有:用户、影音分类、影音大全等。论文在撰写过程中,力求将理论与实践应用相结合,对各种理论进行阐述的同时配合系统从实际应用和操作技巧上加以说明,希望能够更充分地体现到这些知识与技术在本系统中的应用与实现。
1.4 研究内容
影音播放网站已经成为管理的一个重要的管理系统,而且系统的开发也成为了当下比较重要的一个管理系统,对于影音播放网站的出现,也被作为管理的一个必要性工作。并且所开发的影音播放网站的实现也是经过很长一段时间的磨合和完善,使得开发技术不断升级,所以对于管理系统的应用程度和发展的广度也在不断的提高,使得所掌握的系统的维护和系统开发使用的技术更加完善。
影音播放网站主要是将所有设计的数据信息进行查询智能的管理,对于用户想要查找某一数据可以更方便快捷的查找出所需的数据信息,并且数据的安全性、存储性都有了很大的提高,对于管理系统,需要有安全门锁,也就是不管什么使用者角色想要进行数据信息的查看或者管理,都需要进行在线登录,只有登录成功,才可以进入到系统操作界面,进行相关功能信息的管理维护,如果没有账号信息是无法进入系统,确保系统的安全性,并保证信息的安全,对于开发的 影音播放网站在数据查找方面、信息存储大,安全性和保密性都远远要高于人工的手纸笔的管理方式,这种信息化系统管理也是为的资源管理提供了更全面的一个保障,所以当下对于影音播放网站是非常受欢迎的,而且需求度也是比较高的一款管理系统。
对于系统主要的研究内容,首先是对整个影音播放网站进行详细说明,然后根据所探讨出的结果进行通过多种渠道寻找解决方法,调查了解当下相关的涉及到的管理工作所面临的一些困境,和想要达到什么样的效果,然后结合所学的技术知识进行开发设计一套完成的影音播放网站,系统的实现离不开系统的调研、分析、设计、实现、测试五个阶段,进行分别对每个阶段进行信息内容的说明。
1.5 初步设计方法与实施方案
软件体系结构方案:由于本系统需要在不同设备上都能运行,而且电脑配置要求也要越低越好,为了实现这一要求,经过考虑B/S结构成为最佳之选。使用B/S结构的系统可以几乎在任何电脑上运行,只要浏览器可以正常工作就可以正常运行该系统,而且后期维护及二次修改较为容易,符合要求。
操作系统方案:Windows10操作系统,该系统是目前微软公司推出的最新系统,目前大多数市面上的电脑都使用该系统,并且该系统功能完善,兼容性好。开发工具:选用Pycharm。Python开发语言,后台Django框架,
1.6 本文主要工作
本文主要是对系统项目的设计与实现,整篇文章包括了整个项目的软件开发过程。
首先是前期的准备工作,从选题的背景出发,深刻了解研究现状,并且对影音行业有一定的认知;然后针对课题,对相关所需要的技术进行准备,并且对于这个项目所需要的算法进行相关的研究,最后对系统进行需求分析。
中期主要是系统实现的研究,是对系统详细的设计以及系统的实现。其中包括了对系统总体架构的研究,系统各个功能模块的划分。系统的详细设计是对划分的模块在进行详细的设计,是各个模块得到实现。
后期的系统测试阶段。后期测试是对系统的各个模块以及整个系统进行测试,输出测试结果,对这些结果进行分析并提出修正和优化的建议。
1.7 本文的组织结构
本文主要分为七个章节,第一部分为绪论,主要介绍了目前电脑技术发展状况、影音播放发展阶段,分析当前影音播放网站弊端以及使用信息技术来管理影音播放信息的好处。
第二部分为相关技术简介,主要介绍了各技术的发展历程,技术发展现状,技术优点以及选用该技术的原因等。
第三部分为系统分析,主要分析了软件设计所需要的功能。
第四部分为系统设计,主要进行了系统的架构设计、数据库设计等。
第五部分为系统详细设计。
第六部分为系统调试与测试,利用测试方法进行可行性测试、性能测试、系统测试等。
第七部分为总结与致谢,主要总结了程序设计的完成过程及完成情况,比对完成设计过程中施以援手的同学和老师表达中心的感谢和祝愿。
2 系统开发环境
2.1 Python简介
Python 属于一个高层次的脚本语言,以解释性,编译性,互动性和面向对象相结合。在设计上相比其他语言,它更具有特色语法结构,很强的可读性。
2.2 B/S模式
当向其他用户发送请求的功能时应用B/S(Browser/Server,即浏览器/服务器结构)模式具有独一无二的优点:用户请求通过网络向其他Web服务器发送时只需要通过浏览器就可以实现该功能。该功能的好处之一就是有效简化了用户端,大部分开发的软件只需要用浏览器即可,用户端的正常运行则通过这些浏览器来实现,而服务器则负责执行数据的存储和读取等其他的多功能工作。
B / S架构,主要有表示逻辑层,控制逻辑层,数据层这三层。表示逻辑层:服务请求这一功能主要是逻辑层的,Web服务器准备好后,服务请求最先被发送。等到最先发送的请求被服务器接收到后,然后将接受到的请求信息在web服务器上进行识别,识别这一操作是由服务器执行操作的,只要经过服务器的识别请求操作之后再将接收到的信息返回给用户端,此时浏览器就能显示用户端接收到的返回的请求的信息。控制逻辑层:控制逻辑层的主要任务是接收用户的请求,将相应程序和数据库连接是接收用户数据的请求的首要条件,然后处理请求信息数据,请求数据经过处理后返回给Web服务器的就是最终处理完成的结果,最后返回给用户端的最终结果再次通过Web服务器。数据层:服务器从Web服务器接收请求是数据层主要任务但还包括执行数据库查询、修改、删除操作,最后将数据库操作结果返回网络服务器。表示逻辑层,控制逻辑层和数据层三层之间的关系具有独立性,但三层之间又具有藕断丝连的相互关联的特性。
B/S架构作为目前在程序开发中应用非常广泛的程序结构同时也是一种以互联网系统为基础的程序开发架构。目前B/S架构的广泛使用打破了结构模式被C/S结构垄断的局面并有淘汰C/S结构的势头,而给基于网络模式的程序系统提供优秀的支持也是应用B/S系统的优点之一。伴随着互联网的进一步发展,不局限于在一台电脑上使用,可以让其他接入互联网的电脑也能操作和使用该系统就成为求大多数的信息管理系统的要求。这样的趋势和要求使得基于B/S架构的程序设计方法得到了越来越广泛的使用并成为主流架构。利用B/S架构设计的程序不是窗体程序即不必在电脑上额外安装用户端,只需要使用操作系统中的浏览器就可以对程序进行操作和使用。这得益于B/S架构的运行方式:只需要在远程的服务器上把开发好的的软件系统部署好,在部署好程序之后访问部署好的程序系统就可以在任何接入互联网的电脑上通过浏览器访问,这给用户使用管理系统的过程中带来不可估量的便利和便捷。
2.3 MySQL环境配置
(1)本系统的数据使用的是MySQL,所以要将MySQL安装到指定目录,如果下载的是非安装的MySQL压缩包,直接解压到指定目录就可以了。然后点击C:\Program Files\MySQL\bin\winMySQLadmin.exe这个文件其中C:\Program Files\MySQL是MySQL安装目录。输入winMySQLadmin的初始用户、密码(注:这不是MySQL里的用户、密码)随便填不必在意,确定之后右下角任务的启动栏会出现一个红绿灯的图标,红灯亮代表服务停止,绿灯亮代表服务正常,左击这个图标->winnt->install the service 安装此服务,再左击这个图标->winnt->start the service 启动MySQL服务。
(2)修改MySQL数据库的root密码。用cmd进入命令行模式输入如下命令:
cd C:\Program Files\MySQL\bin
MySQLadmin -u root -p password 123
回车出现Enter password: ,这是要输入原密码. 刚安装时密码为空,所以直接回车,此时MySQL 中账号 root 的密码被改为 123 安装完毕。
2.4 Django框架介绍
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVT的框架模式,即模型M,视图V和模板T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
2.5 mysql数据库介绍
数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的考研。简单来讲,存储粮食的考研叫粮仓存储数据的考研就叫数据库。数据库在软件项目中扮演着操作管理数据的角色同时还能够保证数据的独立性、一致性和安全性,并为系统访问数据提供有效方式不仅如此数据库还能大大减少程序员开发程序时间。在日常能够接触实用的一般有两类数据库,一类是以(Oracle,DB2,SQL Server,MySQL )为代表的关系型数据库和以(NoSql、MongeDB)为代表的非关系型数据库,两类数据库各有各的优缺点。 其中非关系型数据库又分为网络数据库和层级数据库。网络数据库网络数据库是指在计算机网络系统中应用数据库技术然后借助网络技术将存储于数据库中的大量信息及时发布出去;在成熟的数据库技术的帮助下,计算机网络实现了对网络中的各种数据的有效管理,用户与网络中的数据库数据交互也借此得以进行。作为最成功的典型层次模型数据库系统,IMS是最早研制成功的数据库系统。建立在关系模型基础上的关系数据库借助于集合代数等数学概念和方法来对对数据库中的数据进行处理。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。1970年由埃德加·科德于首先提出的关系模型融合了“科德十二定律”。现如今即使很多人仍旧不看好这个模型,但它依然是数据存储的传统标准。关系数据结构、关系操作集合、关系完整性约束构成了关系模型。作为数据库另外一种区分方式的存储介质被大家分为磁盘和内存这 两种。例如:关系型数据库就存储在磁盘中,非关系型数据库则存储在内存中。典型的关系型数据库有:Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL、SQLite。小型关系型数据库:Microsoft Access,SQLite;中型关系型数据库:SQL Server,Mysql;大型关系型数据库:Oracle,DB2。
各种大家常用的操作系统平台的关系数据库系统大多是由瑞典的MySQL AB考研培训开发的其中MySQL也是由这家开发的,它所应用的分布式数据库管理系统是用户机/服务器体系结构得益于此结构,而且用这个系统建造的数据库具有很强的适用性,具体体现在因特网上的任何地方都可以访问用它搭建的数据库。MySQL具有功能强、使用简单、管理方便、运行速度快、可靠性高、安全保密性强等优点,用C和C++编写的系统让他拥有很强的适用性所以他可以在大部分操作系统上使用并能和php结合。不同的API函数会被用来针对不同编程语言(C,C++,JAVA等)来处理不同数据;为了更好地支持多CPU多线程通过使用核心线程来实现;提供的存储机制分为事务和非事务存储机制;MySQL采用双重许可,不管是从MySQL AB考研培训获得正式的商业许可又或是许可条款下以免费软件或开放源码软件的方式使用MySQL软件都是被允许的。
MySQL作为数据库拥有很多优点,其中由于是开放源码,所以使用成本特别低,而它体积小的特点决定了速度快的特性,许多中小型网站为了降低网站总体拥有成本这时选用MySQL作为网站数据库就是他们的不二之选,选用MySQL可以大量缩减数据库成本。因此,My Sql具有开放性,多线程支持多种API,可跨数据库连接,国际化,数据库体积巨大等特点。简单的来说 ,MySql是一个开放的、快速的、多线程的、多用户的数据库服务器。
选用MySQL作为数据库的其中一个原因就是支持多线程,支持多线程的特点为利用系统资源提供了便捷并因此大大提高了系统运行速度和效率,而且连接数据库的方式多样包括但不局限于TCP/IP、ODBC和JDBC等途径;但是没有东西是完美无缺的,即便MySQL也如此,虽说它有着众多优点但其功能不够强大,规模也相对较小,无法应对大型数据哭的处理。但是对于本系统来说,选用MySQL作为数据库,其功能性能已绰绰有余,如果要进行二次开发的数据库表结构空间的扩展也是完全可行的。综上所述,MySQL是作为本系统数据库的最优选择。
|
图2.2 数据库管理系统和接口的原理
3 系统分析
3.1 系统可行性分析
3.1.1 经济可行性
由于本系统是作为毕业设计系统,且系统本身存在一些技术层面的缺陷,并不能直接用于商业用途,只想要通过该系统的开发提高自身学术水平,不需要特定服务器等额外花费。所有创造及工作过程仅需在个人电脑上就能实现,使用到的软件大多为开源软件,所以经济成本并不高,可以轻易实现。
3.1.2 技术可行性
本系统的开发使用Python作为系统开发的开发语言,开发环境选择Pycharm,而B/S结构决定了本系统的兼容性和多用户可操作性,此外选择MySql作为数据库不仅提高了数据安全性更保障了数据的可操作性。
3.1.3 运行可行性
本系统作为以Django作为开发框架的系统,而且选用B/S结构则决定了要操作本系统仅需要占用很小的资源,并没有过多地硬件配置要求,目前市面上只要能正常运行浏览器的个人电脑都可以正常运行使用该系统。
综上所述,本系统的设计与开发在经济上、技术上、运行上的条件都是满足的,因此,系统开发具备可行性条件。
3.2 网站现状分析
系统使用用户的数量直接决定了用户信息管理者的工作量,毫无疑问,网站管理者的工作量较大较繁琐。通过前期的调研总结出网站现有的对用户管理工作状况如下分析:
缺少统筹规划,如果一个网站在信息化管理中缺少综合性、系统性、整体性,那不可避免的需要投入大量人力物力来规划整理信息。引入信息化管理方式无疑可以达到节省信息管理成本的目的不仅减少资源浪费还可以使影音播放信息变得井井有条,成为市场竞争中的一大优势。
要循序渐进,心急吃不了热豆腐,任何事情都不可能一蹴而就,就算信息管理系统也一样,要让系统发挥最大效率还是应该多调研,多听取导师或者同学的意见,并进行必要的统筹规划,有组织有目的地设计系统功能,团结各个部门发挥主观能动性。
(3)信息安全措施不到位
隐私权神圣不可侵犯,这是中华人民共和国宪法赋予我们的权利,人和人都不能侵犯我们的正当权益,而网络用户信息管理存在极大安全隐患,信息泄露的案列不在少数,加强信息安全措施是完善网络信息管理过程中不可避免的一环。
(4)资源不能充分共享
资源共享是网络的一大特点,没有共享就没有社交,网络也就失去了他应有的魅力,如果能够实现用户信息共享,无疑对于影音播放的发展存在不可或缺的帮助。
(5)现有系统可扩展性不高。
如今科学技术发展飞速,随着而来的就是技术更新,那势必会给软件更新带来挑战,因此,系统必须具备良好的开放性和可扩充性,为了不落后于时代,这是必备特色之一。
基于上述分析,影音播放网站应该切合实际,做到确实有效,集体表现为:一是系统能够整理并集合归类用户信息,防止用户信息混乱,难以整理;二是系统要安全稳定,不能泄露用户信息,造成隐私泄露,不仅伤害用户利益更是对食堂名誉的损毁;三是系统要具有良好的开放性,不仅要方便定期的维护维修,更要方便及时增加新功能,保证先进的时代契合性。经过详细的讨论论证,确定系统的总体要求。
3.3 功能需求分析
系统功能需求分析是通过软件开发者在参与市场调研,通过导师与同学之间交流后经过详细缜密的思考,再讨论研究后得出的初步系统开发所需实现功能。这是开发的第一步,也是至关重要的一步,如果不在这个阶段制定系统所需模块,日后会带来不必要的麻烦。因此,必须严肃认真,全身心投入去做好这个步骤。
本系统采用自上往下的方法开发,基本定位如下功能:
本课题要求实现一套影音播放网站,系统主要包括管理员模块和用户模块功能模块。
图3-1管理员用例图
图3-2用户用例图
3.4 系统设计规则与运行环境
软件系统的优劣很大程度上是由系统设计的完善与否决定的。世间万物都必须遵循生老病死的法则,这是大自然的规则不能违反,软件设计也一样需要遵循系统设计规则。因此,在设计过程中必须遵循系统设计规则。
规则如下:
简单性:为了扩大系统使用者的受众面,系统设计应该本着操作越简单约好的原则,这样不仅能提高系统的使用率更能够扩大系统使用面。
针对性:一个系统针对性越强,所能提供的功能必然越完善,用户体验肯定更好,所以应该明确指定系统针对性。
实用性:实用永远是检验一个系统是否成功的唯一标准,使用的语言再高端,使用的结构再新颖但不能满足管理员及用户的要求那就是失败。
运行环境:
本系统是一个利用B/S结构来开发的程序,数据库在服务器上部署MySQL数据库即可,其他包括 Pycharm等常规开发程序。硬件要求:CPU:酷睿i3 -3.0GHZ;内存:4G以上;硬盘:128GB。软件平台:操作系统:Windows 10;数据库:MySQL。
3.5系统流程分析
3.5.1登录流程图
用户登录流程为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。如图3-3所示。