《趣味绘图程序设计.docx》由会员分享,可在线阅读,更多相关《趣味绘图程序设计.docx(31页珍藏版)》请在优知文库上搜索。
1、趣味绘图程序设计摘要通过开发基于PythOnTUme库的大学生教学辅助平台,目的是将程序设计流程控制结构由繁化简,从静态场景到动态演示,从无交互到有键盘控制,从而提高学生对程序结构的理解,同时也可以培养学习者的兴趣和积极性。该平台利用PythOnTkinter库构建平台界面框架,同时采用其菜单功能将所有案例整合,从而形成相对完整的平台。通过平台研究表明,把顺序、选择和循环三种逻辑结构通过动态演示会让其变得更加直观清晰,使得平台使用者对知识内容的理解更加轻松。与此同时,将知识内容加以整合,形成相对流程化的学习,以此让内容逻辑知识更加简单明了。其次,研究还表明该平台不仅可以用于学生对流程控制结构的
2、自学,也可用于高校相关课堂的教学中。因此,让流程控制结构“遨游”在TUrtle画布中,是学习程序设计流程控制结构不错的选择。关键词:Python;流程控制结构;TUrtIe库;大学生教学辅助;Tkinter库第一章海龟绘图的研究意义1第二章系统的关键技术及研究思路22.1 TUrtle库简介22.2 平台基本开发技术22.2.1 Tkinter框架22.2.2 MySQ1.数据库32.3 系统研究思路32.3.1 网络资源的利用32.3.2 项目结构框架的设计32.3.3 项目的需求分析32.3.4 软件设计42.3.5 模块开发和软件测试4第三章系统需求分析53.1 系统概述53.2 可行性
3、分析53.2.1 技术性分析53.2.2 经济可行性53.2.3 操作可行性53.3 功能需求分析53.4 非功能需求分析63.4.1 性能需求描述63.4.2 兼容性需求描述73.4.3 数据保密需求描述73.4.4 可维护性需求描述7第四章TUrHe教学辅助平台设计84.1 系统设计原则84.2 技术架构设计84.3 功能结构设计94.3.1 用户模块设计94.3.2 管理员模块设计104.3.3 系统菜单模块设计104.4 MySQ1.数据库设计104.5 平台设计的重难点114.5.1 平台设计的重点114.5.2 平台设计的难点11第五章系统的实现125.1 环境需求125.1.1
4、硬件需求125.1.2 软件需求125.2 构建数据库125.3 模块实现145.3.1 用户模块的实现145.3.2 管理员模块的实现155.3.3 菜单选项模块的实现15第六章结论23致谢错误!未定义书签。参考文献24第一章海龟绘图的研究意义第一章海龟绘图的研究意义在编程过程中,我们必须运用流程控制来完成与使用者的沟通,并按照使用者的要求来确定程式“做什么”和“怎么做”。流程控制是一种非常重要的方式,可以用来控制程序的运行方式。根据执行过程的不同,可以将其分成三个主要的结构,分别是顺序结构、选择(分支)结构和循环结构。在这一过程中,采用了顺序、选择和循环三种程序结构以及模块化的函数编程方法
5、来解决问题。但是,现在大多数程序员都把重点放在了枯燥的语法学习上,而很难掌握程序结构和函数。与流程控制结构有关的知识是非常枯燥的,许多学习者都是依靠自己的想象来模拟流程的执行,因此学习起来比较困难。随着大数据的飞速发展,Python中所包含的大量数据资源在科学计算、文件处理和数据可视化等方面的应用价值日益突出。在Python中,内部的“海龟绘图”模块进行了精巧的设计,绘图模式简单而有力,可以使程序的表达更加清晰。所以,有了Turtle类库,你就可以省略那些枯燥无味的基本文法,而直接让开发人员去了解不同的结构层次。在Python海龟绘图的基础上,实现了程序设计流程控制结构的动态演示。在解决具体图
6、形绘制问题的时候,开发者只需要对海龟的运动轨迹进行计算,就可以调用图形绘制函数。此外,通过设置turtle的填充属性,就可以实现图形色泽鲜艳、生动,满足用户的兴趣。与此同时.,还可以简单地进操作,让用户能够更加直观地理解程序结构。第二章系统的关键技术及研究思路2.1 Turtle库简介TUme库是PythOn自带的函数库,其具有绘画图像的功能。TUrtle通过画布实现图形绘制,其中画布即绘画区域,可使用SetUP设置起始位置以及区域大小。将画布中移动的点想象成一只乌龟,将画布想象成坐标象限,并分为横轴和竖轴,乌龟则从坐标系原点开始移动,根据参数设置,其移动的路径则形成了绘制的图像。乌龟移动的路
7、径即是画笔,可根据相关需求更改其属性。如turtle.color()命令,则可以更改绘图颜色,让图形更加生动形象。TUrtIe的基础绘图命令如下图2.1所示。turtle.forward(dstafe)电当Ilm宅方向格动dtstanceM可以为分.8Mturtle.right(degree)向右朝Idegg命令turtle.pendownO落下告Saturtle.penup()建起省Z图2.1基础绘图命令2.2 平台基本开发技术本系统主要面向高校学习Python的学生,甚至可以应用于高校课堂,目的是将程序设计流程控制结构由繁化简,从静态场景到动画演示,从无交互到有键盘控制,从而提高学生对程序
8、结构的理解,极大地提高了学习者的兴趣和积极性。系统的开发环境为:WindoWSIl操作系统、PyCharm开发环境、Python语言、Turtle库、MySQ1.数据库,并采用Tkinter框架来构建系统,结合Tkinter菜单功能将流程控制相关知识点加以整合,从而形成相对完整的教辅平台。本系统一共分为了三大模块:用户模块、系统菜单模块、管理员模块,其中每个模块包含了多个功能。2.2.1 Tkinter框架TkilHer是一个名为“Tk”的PythOn标准的图形用户接口库;从本质上来说,它就第二章系统的关键技术及研究思路是TC1.ZTK工具包,基于Python接口。Tkinter是一个在Pyt
9、hon中内置的标准类库,因此无需分别进行安装。由Tkinter编写的程序,也被称为GUI程序,GUIGraphicalUserInterface)指的是“图形用户界面“,它是计算机图形学(CG)的一门分支,它的研究内容是在计算机中对图形进行表达,并使用计算机对图形进行计算、处理和显示。所以,GUl程序一般都是由窗口、下拉菜单、对话框等图像要素构成,通过鼠标点击菜单栏、按钮、弹出对话框等手段来实现与使用者的交互,从而提升使用者的交互感受,使得本来“冰冷”的程序变得更有“温度”。2.2.2 MySQ1.数据库数据库,也被称作数据管理系统,它可以被看作是电子化的文件柜,是一个存储电子文件的地方,用户
10、可以对文件中的资料进行新增、查询、更新、删除等操作。MySQ1.的语言没有结构,因此用户可以处理这些数据。由于MySQ1.的语言和结构相对简单,但具有强大的功能和信息存储能力,因此其速度、可靠性和适应性受到人们的重视,并被广泛使用。MySQ1.数据库在程序设计中有着非常广泛的用途,它给用户提供了很多的数据查询的便利。MySQ1.数据库的特点是:灵活、强大、语言比较简洁。2.3 系统研究思路2.3.1 网络资源的利用有目的、有计划、系统地搜索流程结构的相关研究案例和文献,查阅国内外研究现状,结合学校开发经历,确定研究项目方向和内容方法。研究问题应该具有明确性、具体性和可操作性,以便进一步展开研究
11、工作。2.3.2 项目结构框架的设计核心语言使用PythOn,并利用其自带的TmIe库,实现动态演示,同时引用Tkinter库开发系统框架,利用其菜单功能将所有案例实现整合,数据库则使用MySQ1.对注册用户数据进行收集,后期通过GUl对界面设计进行美化。2.3.3 项目的需求分析彻底分析基于TUnle库开发的软件功能,了解软件开发目的,说明项目测试背景,测试项目的内容,列出编写本报告及测试整个过程中所要参考的文件、资料,并收集相关需求。234软件设计结合软件设计流程结构,软件系统模块以及数据库实现项目功能,其中分为用户模块、系统菜单模块、管理员模块三个模块。2.3.5 模块开发和软件测试通过
12、软件的设计,分别对每个模块进行开发,首先搭建前端框架,接着创建数据库以及其连接配置,然后实现三个模块的功能,最终测试该功能是否正常运行,纠正问题错误。第三章系统需求分析3.1 系统概述为了加深初学者对程序设计的了解,本研究项目引入了TUrtIe库,利用它语法简单和直观易懂的特点,更加贴合初学者实际情况,最主要是它拥有的概念容易被记住,这使得初学者上手容易,且满足了他们自我动手的成就感。与此同时,收集大量的实际案例,让初学者在不同的图形动画中探索PythOn的奥秘。最后利用Tkinter的菜单项加以整合,形成相对完整的系统平台,极大降低了初学者的操作难度以及找寻案例所花费的时间。3.2 可行性分
13、析3.2.1 技术性分析随着科技的飞速发展,开发工具也越加强大,其中拥有不少的绘图软件,也为动画制作提供了更多的可能性,所以利用更好的开发工具,可以显著地提升开发效率。就Python语言来说,可以对于TUrtIe进行深度研究,同时利用其中相关库的搭配,使得实现控制结构动态演示变得易如反掌。3.2.2 经济可行性从经济角度来看,本系统的开发成本相对较低。首先,开发环境所需的WindoWSIl操作系统、PyCharm开发环境、PythOn语言、TUrUe库、MySQ1.数据库以及Tkinter框架等都是免费或开源的,大大降低了开发成本。其次,系统的开发主要依赖于高校的教学资源和学生的课余时间,无需
14、额外的人力和物力投入。因此,从经济角度来看,本系统的开发是完全可行的。3.2.3 操作可行性本研究项目初衷就是让初学者加强对控制结构的理解,并且能够在动画演示的过程中,培养兴趣的同时,独自探索Python语言。所以在操作上设置较为通俗易懂,不存在任何过难操作。3.3 功能需求分析用户进入Turtle辅助学习系统实际是按照相关流程实现的。对用户来说层层递进的流程结构是最容易操作上手的,因此在流程上,本研究项目采取了一定的顺序排版。就流程结构层次来说,将顺序结构、选择结构以及循环结构依次展开解析,从易到难逐渐递进。其次,在程序使用层面,用户首先进入登录注册页面,对于第一次使用的用户来说,则需进行注
15、册,注册完毕后则返回到登录平台,用户通过输入注册的账号和密码进入主页面。在使用过程中,使用者可以通过从菜单条中选取不同的内容,来了解实际使用情况。初学者可以先通过“基础坐标项”了解到何为TUrtle,为今后的学习奠定基础。在“流程结构”项中,可以初步了解到流程结构的基础知识框架,以及不同结构包含的语句形式,之后选择相关流程结构,深入了解各个控制结构的逻辑结构。具体流程如图3.1图3.1流程图3.4非功能需求分析3.4.1 性能需求描述响应度(1)在九成的概率中,普通周期的响应时间小于1.5s,峰值周期小于4s。(2)从按下按钮到出现第一个界面,定位系统所需的时间不会超过300ms。(3)在建议的组态环境中,登陆响应时间为2秒以内,刷新项目分页列表响应时间为2秒以内,打开菜单项目响应时间为1秒以内。资源使用率(1) CPU占用率不超过一半值;(2)内存占用率不超过一半值。3.4.2 兼容性需求描述(1)系统支持Mac、WindOWS操作系统。(2)在所有系统实施中,仅有不超过百分之五的要求对特定操作系统进行特定化。(3)用不多于2个小时来取代一个关系型数据库系统,并确保不会有任何数据缺失。3.4.3 数据保密需求描述应当