【《基于Python和Django的兴趣班预约管理系统设计》16000字】_第1页
【《基于Python和Django的兴趣班预约管理系统设计》16000字】_第2页
【《基于Python和Django的兴趣班预约管理系统设计》16000字】_第3页
【《基于Python和Django的兴趣班预约管理系统设计》16000字】_第4页
【《基于Python和Django的兴趣班预约管理系统设计》16000字】_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

[2]。所以电子化信息管理的出现就能缓解以及改变传统人工方式面临的处境,一方面可以确保信息数据在短时间被高效处理,还能节省人力成本,另一方面可以确保信息数据的安全性,可靠性,并可以实现信息数据的快速检索与修改操作,这些优点是之前的旧操作模式无法比拟的。因此兴趣班预约管理系统为兴趣班线下人工预约管理模式的升级提供了重要的窗口。兴趣班预约管理系统现状随着计算机技术飞速发展,信息化处理越来越依赖计算机来完成。利用计算机来管理庞大复杂的兴趣班预约信息能有效的解决了效率低,保密性差、查找难问题。可以很大程度上减少了人力和物力的浪费,并且易于操作,可以更加方便管理人员对兴趣班预约信息的管理,能够满足现代信息管理的要求。国外的信息管理系统被较早的应用于教育事业,学生的各种服务基本上通过校园网都可以进行实施,学校及各教育联盟的资源也都可以实现网络共享,较早的实现了教育的信息化。早在20世纪8O年代,美国就已在教育行业中融入了信息化技术,并且持续对其进行升级、改善,让信息技术更加地契合教育行业。因此国外的课程预约信息化管理相对已经比较成熟,且课程预约信息化管理软件功能也比较丰富,操作简便,基本上能满足课程预约信息化管理的需求。而我国是从新世纪以后才开始突破传统的教育氛围,建立信息化校园,以管理信息系统来取代传统的纸质文件档案管理系统REF_Ref9694\r\h[3]。目前,很多培训机构开发了自己的课程预约系统,每一个系统基本都是根据自己所在培训机构的需求进行设计与开发。目前的课程预约系统由于各个培训机构的管理、预约制度、预约方式划分情况不尽一致,因此,想找到一个能满足自己的培训机构需求的课程预约系统是比较困难的。课题研究内容结合普通用户的日常所需,本课题将设计并实现一个基于Django的兴趣班预约管理系统。本课题研究内容是通过Django框架搭建后台,使用原生html+CSS+js写法进行页面的搭建,MYSQL数据库用来存储系统数据,实现课程预约功能,完成一个兴趣班预约管理系统。本课题的目的在于开发一个简单但又实用的兴趣班预约管理系统,满足线上课程预约简单方便的需求。该系统具有以下功能:1、实现老师、学生端登陆注册,重置密码;2、实现管理端登陆,重置密码;3、管理员可以管理老师学生信息,查看、删除、修改。管理员可以增添课程,可以查看老师学生预约详情;4、老师端可以修改自己个人信息,可以查看自己的预约信息并且取消预约。5、学生端可以个人信息修改,可以查看课程信息,可以进行个人课堂预约,可以在上课前一天取消预约。6、退出登录为了更好的了解和理解程序的开发流程与相关内容,本文将通过五个章节进行内容阐述。第一章描述了程序的开发背景,程序运用于现实生活的目的与意义;第二章主要介绍了兴趣班预约管理系统的功能分析与性能分析,以及程序开发所用到的技术与工具;第三章介绍了系统的数据库表文件结构的设计信息与核心操作的流程设计;第四章描述了程序的功能实现界面的内容;第五章描述了程序功能的测试内容,并介绍了系统测试的概念与方法。

2需求分析与总体设计兴趣班预约管理系统不仅仅要满足课程预约的功能,还要重视系统的性能。比如用户使用起来需要灵活、操作简洁,并且系统需要有稳定性、可维护性。在完成系统的基本功能时,性能上也需要达标,通过反复的测试,找到系统的不足之处并且进行修正优化,使其变得更加完善,能够满足使用者的需求。2.1用例分析系统分为了管理员、学生端和老师端。系统能够做到三端分端登录,而其中最重要得便是管理员部分。管理员连接着学生与教师,管理着所有的信息。管理员不仅仅需要管理老师和学生的信息,同时也需要管理课程信息,还有课程预约的信息。所以管理员的功能十分重要,一定要有齐全的功能。管理员能够进行教师管理、学生管理、取消预约管理、课程预约管理和系统管理。图2.1为管理员用例图。图2.1管理员用例图表2.1为管理员用例说明表。表2.1管理员用例说明表角色管理者用例描述进行用户管理、预约管理等,对信息进行增删改查等前置条件管理员登陆成功基本事件流1)管理员对学生信息进行增删查改2)管理员对教师信息进行增删查改3)管理员对课程信息进行增删查改4)管理员对预约信息进行查询、删除5)管理员对系统进行页面论插图更改学生端是面向学生的一端,系统功能主要是面对学生设计的。学生的需求就是使用系统完成课程预约,所以学生端需要简洁明了,功能明确。学生端需要实现学生登陆注册、个人信息管理、课程预约和取消预约。图2.2为学生用例图。图2.2学生用例图表2.2为学生用例说明表。表2.2学生用例说明表角色学生用例描述用例描述学生登录系统获得操作权限的过程前置条件学生对应登录注册界面已打开基本事件流学生打开预约管理系统登录界面进行注册学生打开预约管理系统登录界面并输入相应的用户名、密码进行登录3)登入系统后进行个人信息的查看和修改4)登入系统后可以进行课程预约5)对预约课程进行取消预约教师端是面对教师服务的,教师在登入自己的用户端后,能够对学生提交的课程预约进行审核,审核后才是达到了系统课程预约的功能。主要功能有登陆注册、个人信息管理、课程预约审核、取消预约审核。图2.3为教师用例图。图2.3教师用例图表2.3为教师用例说明表。表2.3教师用例说明表角色教师用例描述用例描述教师登录系统获得操作权限的过程前置条件教师对应的登录界面已打开基本事件流1)教师打开预约管理系统登录界面进行注册2)教师打开预约管理系统登录界面并输入相应的用户名、密码进行登录3)登入系统后进行个人信息的查看和修改4)可以对学生课程预约进行审核5)可以对学生取消预约进行审核2.2系统功能分析兴趣班预约管理系统主要目的是代替人工进行课程预约管理,使得兴趣班预约的过程更见简单方便,提高了预约的效率。系统需要一个管理员来管理所有的信息。老师和学生则实现系统最重要的功能,预约功能和个人信息修改功能。而管理员还可以管理用户,编辑修改删除课程信息等等。这样既保护了系统的安全性,同时也使得系统运行得更加有序。对此,兴趣班预约管理系统需要具有登录注册功能、用户信息管理功能、课程信息管理功能、课程预约管理功能、课程预约功能、取消预约功能和预约审核功能。下面对几个功能进行说明。登录注册功能:能实现教师和学生的登录和注册,从而进入系统,然后进行课程预约等功能。用户信息管理功能:管理员能够对用户实施管理,可以修改用户信息并且对用户有查询、删除等功能。学生和教师可以对自己的个人信息进行查询修改,并且重置密码等。课程信息管理功能:管理员能够对课程信息实施管理,可以添加、删除、修改、查询课程。课程预约管理功能。管理员可以查看课程预约信息,可以进行删除、查询功能。学生和教师能够查询已预约的课程。课程预约功能:学生可以进行课程预约,可以选择课程、老师、时间等。取消预约功能:学生可以将已预约成功的课程进行取消预约预约审核功能:教师可以查看学生发送的预约申请,并且进行审核,执行通过或者不通过操作。同时可以查看学生发送的取消预约申请,并且进行审核,执行通过或者不通过操作。图2.4兴趣班管理预约系统功能图2.3系统性能分析系统性能分析也是十分重要的。在满足功能需求的同时,需要考虑系统在生活中运行使用时,能否快速流畅,方便简洁,达到规定的指标。因此一个完整的系统,是需要进行性能分析的。本此性能分析主要从可用性、稳定性、灵活性、可维护性指标这几个方面来进行分析。(1)可用性指标本次软件开发的目的就是为了提高数据管理的效率,同时分端操作,针对不同老师和学生不同类型的用户设置了对应的功能。并且满足了对各种数据的管理,解决了人工操作复杂繁琐的问题REF_Ref10302\r\h[4]。程序设计能够实现预期的功能,便于用户使用,并且大部分使用者都能够轻松便捷的操作程序提供的各个功能,达到了可用性指标。(2)稳定性指标程序开发的目的就是为了投入使用,能够稳定的处理各种数据并且不出错,并且避免数据的丢失REF_Ref10354\r\h[5]。如果软件使用时一旦不稳定,就会给使用者带来干扰。因此当使用者有错误操作,或者填入了错误的数据,程序需要保持稳定,能够都让使用者正常的使用。当程序的某个功能出现错误时,其他功能模块也需要正常的使用。因此程序需要稳定性来提升用户体验。(3)灵活性指标本次程序软件的开发是为了更加方便的实现课程预约,摒弃了线下预约的的繁琐。因此需要程序的使用十分灵活。不论使用者在哪里,都可以登入系统完成相关的功能,并且程序的操作流程应该尽量与用户日常操作软件的行为习惯相贴合REF_Ref10393\r\h[6]。同时需要实现管理员对不同数据的管理十分方便,这才是达成了本次程序设计的目的。(4)可维护性指标当前需要开发的程序软件是根据当下的用户需求进行设计开发的,但是随着时间的推移,社会大环境的改变,开发出的程序也是需要与时俱进的,需要根据用户不断变换的需求进行相应的功能内容的扩展REF_Ref10468\r\h[7]。需要注意的就是,当对成型的程序进行功能模块新增时,仍然需要保证程序原有架构以及功能不能受到影响,新增的功能模块在系统中也能够运行正常,该指标达标也就可以保证此程序是可以在满足信息管理要求下,从容应对市场环境的变化REF_Ref10494\r\h[8]。2.4系统构架设计2.4.1相关技术介绍1、B/S结构介绍在早期,一些使用HTML语言编写的文件,再集合一些其它资源文件就可以组成一个最简单的Web程序,了解了Web程序也需要了解Web站点,它们之间的关系就是一个或者多个Web程序可以放在Internet上的一个Web站点中进行使用。可以说Web应用程序的开发也带动了B/S这种网络结构模式的兴起REF_Ref10534\r\h[9]。B是Brower即浏览器的首字母,S是Server即服务器的首字母,两个首字母进行组合就成了网络结构模式的简称B/SREF_Ref10583\r\h[10]。由于这种结构模式通过安装在客户端的浏览器进行服务器的访问,可以把程序的核心功能安排在服务器中进行处理,给程序的开发,后期使用和维护省去了许多工作。MYSQL数据库介绍开发的程序面向用户的只是程序的功能界面,让用户操作程序界面的各个功能,而用户使用程序功能生成的数据信息放在数据库。一般来说,程序开发通常就会对常用数据存储工具的特点进行分析比对,比如MySQL数据库的特点与优势,Access数据库的特点与优势,SQLServer数据库的特点与优势等,最终看哪个数据库与需要开发的程序比较匹配,也符合程序功能运行需要的数据存储要求,比如,当开发程序要求数据库占用空间小,并能满足程序数据存储要求时,就可以考虑现在的MySQL数据库REF_Ref10619\r\h[11]。MySQL在数据库工具里面是最受认可的其中一个应用软件。需要说明的信息就是,本程序的开发就运用到了此数据库。它将程序数据通过使用不同的数据表格进行保存,在增加了程序数据的存储速度的时候,也提高了数据库的灵活性REF_Ref10658\r\h[12]。MySQL体积较小、需求配置低、容易获得且复杂程度低,使用Web浏览器即可下载安装,MySQL具有的网络化特性极大的提高了数据共享的效率REF_Ref11693\r\h[13]。开发人员可以通过在MySQL设立权限组数据表的方式对用户角色进行访问权限的控制和分配。当连接到服务器时,所有的密码传输均采用加密方式,安全性能良好REF_Ref11716\r\h[14]。Python语言介绍Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言REF_Ref11742\r\h[15]。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python的两大特色是清晰的语法和可拓展性REF_Ref11778\r\h[16]。它不算一种自由格式的语言,一些语法对缩进有着严格的要求,但这也使得代码看起来十分的清晰。而它的可拓展性表现在它拥有强大的类库,这些类库覆盖了文件I/O、GUI、网络编程、数据库访问、文本操作等绝大部分应用场景。2.4.2系统构架设计及技术选型本系统主要由三个部分组成:管理员、学生端和教师端。管理员模块中,包含了学生教师信息管理,课程信息管理,课程预约管理。学生端主要包括了登录注册,个人信息管理,课程预约功能,取消预约功能。而老师端包括了登陆注册功能,个人信息管理,审核预约功能。具体结构图如图2.5所示。图2.5系统结构设计图本次开发的系统为了节约开发成本,也为了后期在维护和升级上的便利性,打算通过浏览器来实现系统功能界面的展示,让程序软件的主要事务集中在后台的服务器端处理,前端部分只用处理少量的事务逻辑。首先,前端用Layui技术,Layui是一款采用自身模块规范编写的前端UI框架,遵循原生HTML/CSS/JS的书写与组织形式。同时Laiyu是轻量级框架,简单易上手,并且UI简洁美观,方便维护使用,满足了系统的可用性与可维护性指标REF_Ref11873\r\h[17]。所以Layui进行页面的搭建以及与后台接口的交互能够达到系统需求。后端则是使用了Django框架实现与前端对接的接口编写、数据库搭建、静态文件存储等功能。Django框架齐全的功能,自带大量常用工具和框架,可轻松、迅速开发出一个功能齐全的Web应用。并且Django具有强大的数据库访问组件。Django自带一个面向对象的、反映数据模型与关系型数据库间的映射关系的映射器,无须学习SQL语言即可操作数据库。因此Django框架能够满足对数据库的调用,能够实现系统的功能需求。同时也满足系统的可用性、稳定性、灵活性、可维护性指标。Django的接口使用视图文件以及url文件进行配合编写来实现,先是在视图文件中编写对应的接口函数,关于接口函数其可以对数据库数据进行对应的增删查改操作、对数据进行加密或是返回给前端对应的数据包等,再在urls.py文件中加入对应函数与设定好的url匹配。关于静态文件的存储,Django提供对应static文件配置,其在新建好对应静态文件的文件夹后,在setting.py中进行对应的静态文件夹配置,在Django中编写代码时就可以直接使用相对路径进行对应的静态文件调用。数据库的构建则首先是在setting.py文件中配置对应的MySQL数据库,并在MySQL数据库中创建对应相同名称的数据库,之后在model.py文件中创建对应的表类以及其所带有的各个属性,完成表的创建后在terminal中使用model类迁移的语句对已经完成的表进行实体化到对应的MySQL数据库中去。2.5本章小结本章主要介绍了本系统的需求分析和总体设计,明确了系统需要具有登录注册功能、用户信息管理功能、课程信息管理功能、课程预约管理功能、课程预约功能、取消预约功能和预约审核功能,并且需要达到可用性、稳定性、灵活性、可维护性指标。同时对B/S结构、MYSQL数据库、Python等相关技术进行了介绍,然后对系统进行了总体结构的设计,并且阐述了为何选择Layui与Django框架进行前后端的搭建。

3系统详细设计本章主要根据前一章需求分析,明确了系统各个部分的功能。本章首先介绍了数据库的设计具体内容,然后讲解了系统流程设计。系统流程设计主要分为核心操作流程设计、登录流程设计和信息添加流程设计。3.1数据库设计程序功能操作不管是添加,修改,还是删除等功能产生的数据都是经由数据库进行数据保存和更新的,所以一个数据库设计的好坏也是程序是否好坏的判定标准,因为程序的成功,有一半的功劳都是靠数据库的优秀设计。数据库一旦设计得良好是可以减轻开发人员的开发负担的。3.1.1数据库E-R设计这个部分的设计需要使用到E-R图绘制工具,常用的工具就是Visio工具来绘制E-R模型图,这款工具不仅可以快速创建需要的E-R模型图,而且该工具提供的操作界面很简单,可以短时间内修改绘图界面的图形或者是文字的属性。E-R图,也称为实体关系图,用于显示实体集之间的关系。它提供了一种表示实体类型、属性和连接的方法;用来描述现实世界的概念模型。E-R模型是数据库的设计或蓝图,将来可以作为数据库来实现REF_Ref11974\r\h[18]。在绘制E-R模型图时,要分清楚各个图形代表的含义,以免绘制出错,E-R模型图由长方形(实体),椭圆形(属性),菱形(关系)这三部分图形符号组成,绘制期间要区分开来,用准确的图形符号代表相应的数据元素。(1)管理员实体属性图见图3.1。管理员有账号、密码和ID。管理员的ID是唯一的,不能更改的。图3.1管理员实体属性图(2)教师实体属性图见图3.2。教师的属性有七个分别是:ID、账号、密码、姓名、电话、性别和头像。其中ID是注册时随机生成的,是唯一的,不可更改也不可重复。而账号名在注册时也是不能重复的。图3.2教师实体属性图(3)学生实体属性图见图3.3。学生的属性有ID、账号、密码、姓名、电话、性别和头像。图3.3学生实体属性图3.1.2数据库表结构设计数据库系统一旦选定之后,需要根据程序要求在数据库中建立数据库文件,并在已经完成创建的数据库文件里面,为程序运行中产生的数据建立对应的数据表格REF_Ref12052\r\h[19]。数据表结构设计就是对创建的数据表格进行字段设计,字段长度设计,字段类型设计等,当数据表格合理设计完成之后,才能正常存储相关程序运行产生的数据信息。3.1通知公告表序号列名数据类型说明允许空1IdIntid否2addtimeDate创建时间是3titleString标题是4introductionString简介是5pictureString图片是6contentString内容是3.2取消预约表序号列名数据类型说明允许空1IdIntid否2addtimeDate创建时间是3kechengmingchengString课程名称是4quxiaoshijiandatetime取消时间是5quxiaoyuanyinString取消原因是6jiaoshizhanghaoString教师账号是7jiaoshixingmingString教师姓名是8xuehaoString学号是9xingmingString姓名是10sfshString是否审核是11shhfString审核回复是3.3学生表序号列名数据类型说明允许空1IdIntid否2addtimeDate创建时间是3xuehaoString学号是4mimaString密码是5xingmingString姓名是6nianlingInteger年龄是7xingbieString性别是8shoujiString手机是9zhaopianString照片是3.4教师表序号列名数据类型说明允许空1IdIntid否2addtimeDate创建时间是3jiaoshizhanghaoString教师账号是4mimaString密码是5jiaoshixingmingString教师姓名是6nianlingInteger年龄是7xingbieString性别是8shoujiString手机是9zhaopianString照片是3.5课程预约表序号列名数据类型说明允许空1IdIntid否2addtimeDate创建时间是3kechengmingchengString课程名称是4yuyueshijiandatetime预约时间是5yuyueshizhangString预约时长是6yuyueyuanyinString预约原因是7jiaoshizhanghaoString教师账号是8jiaoshixingmingString教师姓名是9xuehaoString学号是10xingmingString姓名是11sfshString是否审核是12shhfString审核回复是3.6收藏表序号列名数据类型说明允许空1IdIntid否2addtimeDate创建时间是3useridInteger用户id是4refidInteger收藏id是5tablenameString表名是6nameString收藏名称是7pictureString收藏图片是8typeString类型(1:收藏,21:赞,22:踩)是9inteltypeString推荐类型是3.7管理员表序号列名数据类型说明允许空1IdIntid否2usernameString用户名是3passwordString密码是4roleString角色是5addtimeDate新增时间是3.8课程信息表序号列名数据类型说明允许空1IdIntid否2addtimeDate创建时间是3kechengmingchengString课程名称是4kechengleixingString课程类型是5kaikeshijiandatetime开课时间是6jieshushijiandatetime结束时间是7shangkexueshengString上课学生是8kechengneirongString课程内容是9fengmianString封面是10jiaoshizhanghaoString教师账号是11jiaoshixingmingString教师姓名是12thumbsupnumInteger赞是13crazilynumInteger踩是14clicktimedatetime最近点击时间是15clicknumInteger点击次数是3.2系统流程设计3.2.1核心操作流程设计程序上交给用户进行使用时,需要提供程序的操作流程图如图3.4所示,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。图3.4程序操作流程图图3.5为学生课程预约操作的流程图。首先进入课程预约界面,然后进行课程预约,等老师进行审核后,数据通过数据库传过来,判断是否预约成功。图3.5学生课程预约操作流程图图3.6为老师预约审核操作的流程图。首先进入审核界面,然后进行预约审核,审核结果传入数据库。图3.5老师预约审核流程图图3.7为学生取消课程预约操作的流程图。首先进入取消课程预约界面,然后取消课程预约,等老师进行审核后,数据通过数据库传过来,判断是否取消预约成功。图3.7学生取消课程预约操作流程图图3.8为老师取消预约审核操作的流程图。首先进入审核界面,然后进行取消预约审核,审核结果传入数据库。图3.8老师取消预约审核流程图3.2.2登录流程设计在这个部分,需要对程序的登录功能模块的运行流程如图3.9所示,进行单独说明。程序设置登录模块也是为了安全起见,让用户使用放心,登录模块主要就是让用户提交登录信息,程序进行数据验证,验证通过的用户才能够成功登录程序。图3.9程序登录流程图3.2.3信息添加流程设计程序的信息添加流程如图3.10所示,都是一致的。图3.10信息添加流程图程序的添加功能就是提供给操作者录入信息的功能,不管是涉及到用户信息添加,还是其它功能模块涉及到的信息添加。程序都是先对操作者录入的数据进行判定,这个判定规则是一段提前编写完成的程序代码,当程序判定数据符合要求时,才会把操作者录入的数据登记在数据表里面,比如添加的用户信息,就会把新添加的用户信息写入用户信息的数据表文件里面。3.2.4接口流程设计接口无法被实例化,但是可以被实现。首先在视图文件views.py中设计接口的逻辑,包含用户的增删改查等。然后设计前端页面,调用刚刚设计的get、post等方法。最后在urls.py文件中增加接口的路由配置。图3.11接口设计流程图3.3本章小结本章主要介绍了系统的详细设计,一是数据库的设计,绘制了E-R图明确了实体集之间的关系,同时完成了数据库表结构设计。二是介绍了系统的核心操作流程设计图、登录流程设计图、信息添加流程设计图和接口设计流程图。

4系统实现在本章节中,将详细论述系统的实现流程、系统的功能实现、系统的展示效果。系统采用python语言开发,Django框架,从而简化兴趣班预约管理系统的开发过程,还采用了免费开源的MySQL作为数据库服务器。下面具体论述系统的实现过程和展示。4.1数据库实现在系统实现中,最基础的就是数据库的构建。只有数据库的建立完善后,才能进行功能实现,进行前端与后台的接口实现。数据库中一共有九个表,分别为管理员表、学生表、教师表、课程信息表、课程预约表、课程信息表、通知公告表、配置文件表、收藏表。图4.1数据库总体图下图分别展示学生、课程信息的数据库实现。由图4.2可见,数据库中的学生表有学号、密码、姓名、年龄、性别、电话号码与照片等信息。其中,在创建一个新的学生信息时,学号、密码、姓名是必须输入的,否则添加不成功。图4.2学生数据库实现由图4.3可见,数据库中的课程信息表有课程建立时间、课程名称、课程类型、课程内容、教师等信息。图4.3课程信息数据库实现4.2后端实现后端由Python实现,使用的是使用Django框架实现与前端对接的接口编写、数据库搭建、静态文件存储等功能。图4.4后端页面实现红框1为项目目录,红框2为代码区域,在此区域中编写代码,红框3为信息运行区,在此区域可以看见代码运行的情况。Django通常的接口时使用的其中的视图文件以及url文件进行配合编写来实现,先是在视图文件views.py中编写对应的接口函数,关于接口函数其可以对数据库数据进行对应的增删查改操作、对数据进行加密或是返回给前端对应的数据包等,再在urls.py文件中加入对应函数与设定好的url匹配。下图为管理员接口的部分展示。图4.5管理员部分接口展示4.3前端实现页面主要由HTML/CSS/JS书写,可以设置页面的布局等,添加各种按钮以及文本标签并设计相应属性完成前端页面的设计在图4.4的红框1部分,templates文件夹存放的就是程序前端页面html文件。图4.6前端编写页面展示4.3.1登陆注册1、用户登录界面在浏览器输入文本系统地址后即可以进入系统的首页。如图4.7所示,为兴趣班预约管理系统的登录页面。图4.7登录页面兴趣班预约管理系统为三端登录,在系统的登录页面选择对应的身份,在此输入用户密码即可登入兴趣班管理系统。图4.8登录身份选择2、用户注册当新用户进入登录界面,可以先进行注册。注册界面需要输入教师账号,两次密码,教师姓名,年龄和手机账号。当两次输入密码不一样时,会弹出两次密码输入不一样的提示。当教师账号与已注册的教师账号重复时,会弹出用户已存在,请勿重复注册的提示框。当注册成功时,会弹出绿色的注册成功的提示框。如图4.9所示,是注册密码不一致时的提示。图4.9提示1如图4.10所示,是注册时教师账号重复的提示。图4.10提示2如图4.11所示,是注册成功时的提示。图4.11提示3如图4.12所示,是教师注册的界面。教师注册必须填入教师账号、密码以及教师姓名,年龄和手机号码可以不填入也能注册成功。图4.12教师注册界面4.3.2管理员在兴趣班预约管理系统的登录界面,选择管理员选项,输入管理员账号与密码后,即可以进入系统的管理员首页。如图4.13所示,为兴趣班预约管理系统的管理员页面。兴趣班预约管理系统的管理员界面分为三个部分,第一个部分为菜单栏,如图4.13的红框1所示,第二个部分为功能界面,为图中的红框2,第三个部分为登入退出的入口,在图中红框3部分。图4.13管理员主页管理员的菜单栏有七个部分,分别为个人中心、学生管理、教师管理、课程信息管理、课程预约管理、取消预约管理和系统管理。1、个人中心在菜单栏中个人中心这一部分,有两个功能,一个是修改用户名,另一个则是修改密码。图4.14为修改用户名的界面。图4.14个人中心-个人信息修改密码需要输入原密码、新密码以及确认密码,只有当新密码与确认密码一样时才能修改成功。图4.15为修改密码的界面。图4.15个人中心-修改密码2、学生管理在菜单栏中学生管理这一部分,可以查看学生信息,新增学生,删除学生,以及修改学生具体信息。首次点击学生管理,则客户端传参当前的页数、显示的条数给服务器端查询数据库的学生信息,查询后返回数据给客户端展示。如图4.16所示。图4.16学生管理页面红框1部分为查询功能。点击查询按钮,客户端传参要查询的学生学号、姓名给服务器端查询数据库学生信息,查询后返回数据给客户端展示,同时支持模糊查询。图4.17查询红框2部分为新增与批量删除功能。在学生展示页面中的功能操作一栏中,点击新增按钮,就可以实现添加新增学生的功能。在添加学生界面填写好学生的学号、密码、姓名、年龄、性别、手机与照片,点击提交则客户端传参学生信息给服务器端,同时数据库新增学生信息表对应数据。并且学号、密码与姓名是新增学生必须填入的内容,否则添加不成功。图4.18添加学生页面在学生管理页面中的功能操作一栏中,点击确定批量删除按钮,客户端传参所选学生的ID给服务器端,在数据库中删除学生信息表对应数据。点击删除按钮,就可以实现批量删除学生信息的功能,如图4.19所示。图4.19批量删除学生页面红框3部分为一名学生信息的查询、修改与删除功能。在学生展示页面中的功能操作一栏中,点击修改按钮,就可以实现修改学生信息功能,如图4.20所示。修改学生信息界面可以修改学生学号、密码、姓名、年龄、性别、手机号码和照片。点击提交后,则修改数据库学生信息表对应数据,若文件信息字段没填写则不修改原有字段信息。图4.20修改学生信息页面3、课程信息管理在菜单栏中课程信息管理这一部分,可以查看课程信息,新增课程,删除课程,以及修改课程具体信息。界面与学生管理界面几乎一致,但红框1部分不一致。红框1部分仍为查询功能,但查询条件不一样。可以通过课程名称、课程类型、上课学生和教师姓名来查询课程信息。支持模糊查询。图4.21课程信息查询红框2部分仍为新增与批量删除功能。在课程信息展示页面中的功能操作一栏中,点击新增按钮,就可以实现添加新增课程的功能。在添加课程界面填写好课程的课程名称、课程类型、开课时间、结束时间、封面照片、教师账、教师姓名与课程内容,点击提交则客户端传参课程信息给服务器端,则可以新增数据库课程信息表对应数据。图4.22添加课程页面在课程信息管理页面中的功能操作一栏中,点击确定批量删除按钮,客户端传参所选课程信息的ID给服务器端删除数据库课程信息表对应数据。点击删除按钮,就可以实现批量删除课程信息的功能,如图4.23所示。图4.23批量删除课程信息页面红框3部分为课程信息的查询、修改与删除功能。在课程信息展示页面中的功能操作一栏中,点击修改按钮,就可以实现修改课程信息信息功能,如图4.24所示。修改学生信息界面可以修改课程名称、课程类型、开课时间、结束时间、封面照片、教师账、教师姓名与课程内容。点击提交,修改后的课程信息传给服务器端修改数据库中课程信息表对应的数据,若信息字段没填写则不修改原有字段信息。图4.24修改课程信息页面4、课程预约管理在菜单栏中课程预约管理这一部分,可以查看课程预约信息,删除课程预约信息。首次点击课程预约管理,客户端传参当前页数、显示条数给服务器端,查询数据库课程预约的信息后,返回数据给客户端展示。如图4.25所示。图4.25课程预约管理页面红框1部分为查询功能。点击查询按钮客户端传参要查询的课程名称、教师姓名和学生姓名给服务器端查询数据库信息,查询后返回数据给客户端展示,支持模糊查询。图4.26课程预约查询红框2部分为批量删除功能。在课程预约管理页面中的功能操作一栏中,勾选想要选择的信息,点击确定删除按钮,就可以实现批量删除课程信息的功能。红框3部分为一名课程预约信息的查询与删除功能。点击详情可以进入课程预约的详细界面,可以查看预约的课程名称、预约时间、预约时长、教师账号、教师姓名、学生姓名与学号等,但是不能进行修改。图4.27修改课程信息页面4.3.3学生端在兴趣班预约管理系统的登录界面,选择学生,输入学生相应账号与密码后,即可以进入学生端的首页。如图4.28所示,为兴趣班预约管理系统的学生端后台页面,页面分为三个部分。图4.28学生端后台页面兴趣班预约管理系统的学生端后台界面分为三个部分,第一个部分为菜单栏,如图4.31的红框1所示,第二个部分为功能界面,为图中的红框2,第三个部分为登入退出的入口,在图中红框3部分。1、个人中心个人中心与管理员的个人中心一样,有两个部分,可以修改密码与个人信息。学生个人信息可以修改学号、姓名、年龄、性别、手机号码与照片。图4.29学生个人信息修改界面取消预约管理课程预约管理有三个部分。第一个部分是查询功能,可以通过课程信息、教师姓名查询取消预约的课程。第二个部分是删除功能。第三个部分是查询取消预约详情和删除单条取消预约功能。图4.30取消预约管理界面图4.23删除页面课程预约管理课程预约管理有三个部分。第一个部分是查询功能,可以通过课程信息、教师姓名查询预约的课程。第二个部分是删除功能。第三个部分是查询课程预约详情、取消课程预约功能和删除单条课程预约功能。图4.32课程预约管理界面红框3部分有个重要的功能,取消课程预约。当学生有事不能如是在预约时间上课时,可以取消课程预约。必须输入取消原因才能提交。图4.33取消预约界面4、课程预约在学生端前台可以查看课程信息推荐,点击图片可以查看课程信息的详情。图4.34课程信息界面在课程的详情界面,可以看到课程信息,如课程名称、课程类型、开课时间、上课教师等。点击课程预约按钮即可进行课程预约。图4.35课程信息详情界面如图4.36显示的就是学生课程预约的界面,点击课程预约需要输入预约时长和预约原因然后提交便可。图4.36预约页面4.3.4教师端在兴趣班预约管理系统的登录界面,选择教师,输入教师相应账号与密码后,即可以进入教师端的首页。如图4.37所示,为兴趣班预约管理系统的教师端页面。图4.37教师页面兴趣班预约管理系统的教师界面分为三个部分,第一个部分为菜单栏,如图4.37的红框1所示,第二个部分为功能界面,为图中的红框2,第三个部分为登入退出的入口,在图中红框3部分。1、个人中心个人中心与学生端一样,有两个部分,可以修改密码与个人信息。教师个人信息可以修改教师账号、教师姓名、年龄、性别、手机号码与照片。图4.38教师个人信息修改界面2、课程信息管理课程信息管理可以查看教师自己的课程。并且可以通过课程名称、课程类型等查询自己的课程。然后可以点击详情按钮查询自己课程的详情。但是在此不能进行课程的删除添加等等,课程的添加删除操作需要在管理员端进行。图4.39为教师端课程信息管理界面。图4.38课程信息管理界面3、预约审核课程预约管理有三个部分。第一个部分是查询功能,第二个部分是查询与删除功能,第三个部分审核功能。图4.39预约审核管理界面点击审核则进入审核界面,在审核界面可以修改审核状态,并且填入审核内容。调教后则可以在学生端查看相关状态。图4.40预约审核4.4本章小结本章针对前面系统流程设计进行了实现。一是进行了数据库实现,二是进行了后端实现,三是进行了前端实现。通过对前端页面的书写,后端与前端接口的连接,实现了本系统的功能,完成了本次程序开发。5系统测试所谓系统测试,就是在上线前,通过操作发现系统是否实现了功能目的,验证设计开发的系统是否达到了我们所需求的目标,系统的功能是否完善,性能是否达到要求等。主要测试系统的功能和性能。5.1系统测试的特点系统测试也是为了保证系统正式上线后,是否可以稳定正常运行,是否给使用者带来便利。系统测试也有其对应的特点:(1)系统测试它包括了端到端的完整测试;(2)系统测试也对程序软件的架构方面,程序软件的业务需求等方面进行了测试;(3)系统测试一旦采用正确的方法进行,这将减少程序正式上线之后产生的各种错误;系统测试一般都是在跟生产环境相似的环境当中运行,程序的功能比如添加功能,删除功能,修改功能等都会使用同样的数据在新系统和现有系统中进行比较,这样做让用户对新系统中的添加,修改,删除等功能能够更好地理解,也能提升用户对新系统的满意度REF_Ref12144\r\h[20]。5.2测试结果分析本章针对前面实现的系统进行了较为全面的测试,测试结果表明该系统能够基本满足前面需求分析中所需要实现的功能。表5.1是对核心功能的测试,由此表可以看出课程预约、取消预约、审核预约的功能测试结果均符合预期的结果。表5.1核心功能测试表模块操作步骤期望行为结果学生端课程预约预约添加一条预约数据通过取消预约更新相应数据通过查询返回符合条件列表通过删除删除通过老师端课程预约添加添加一条数据通过审核更新相应数据通过删除少一条数据通过查询返回符合条件列表通过表5.2是对登录功能的测试,由此表可以看出登录和注册的功能符合预期的结果。表5.2登录功能测试表模块操作步骤期望行为结果登录用户名错误无法登录通过密码错误无法登录通过正确输入登录系统通过用户名重复注册失败通过两次密码错误注册失败通过表5.3是信息管理功能测试表,由此表可以看出系统中对教师、学生信息管理,课程信息管理等功能测试的结果符合预期的效果。表5.3信息管理功能测试表模块操作步骤期望行为结果信息管理添加添加一条数据通过编辑更新相应数据通过删除少一条数据通过查询返回符合条件列表通过从测试结果可以看出,兴趣班课程预约管理系统所需要的功能都已经开发并且能够正常的使用,能够安全稳定的运行,并且操作界面简洁明了美观,操作方便简单,操作流程也清晰明了,能够替代人工进行服务,节约人力资本,能够投入到生活中所使用。并且兴趣班预约管理系统的安全性,以及运行性能符合开发要求。

6总结与展望2021年12月,在众多毕业设计中,我选择了兴趣班预约管理系统这个课题,因为我觉得设计出这个管理系统,能够让我熟悉设计管理系统的大致框架以及相关的知识。事实证明,在这一段时间的学习,让我收获颇多。我学习了如何使用Django开发框架、Mysql数据库等,前后端如何连接等等。本系统实现了三端分端登录,分为了学生端、教师端、管理员,并且具有可用性、稳定性、灵活性、可维护性等等。在操作页面上,操作步骤清楚明了,方便大家进行对信息的搜索、查看、删除。当然,在这段时间里,也充满了很多挑战,例如在数据库表设计上,最开始要考虑全面,并且需要考虑表之间的关系,在后面随着系统的优化改进,数据库表也需要做出相应改进优化

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论