《【课程管理系统的设计与实现(论文)】.docx》由会员分享,可在线阅读,更多相关《【课程管理系统的设计与实现(论文)】.docx(21页珍藏版)》请在第一文库网上搜索。
1、课程管理系统的设计与实现目录1概述21.1 研究背景21.2 研究现状21.3 研究内容22开发技术介绍32.1 B/S架构32.2 Python技术介绍32.3 mysq1数据库介绍32.4 Django框架32.5 分析43.1 寻找用户43.2 寻找用例43.2.1 管理员用例图53.2.2 教师用例图53.2.3 学生用例图63.3 业务流程分析74数据库设计84.1 系统数据库设计84.1.1 数据库ER图84.1.2 逻辑设计104.1.3 数据表字段设计104.2 系统界面实现125系统实现125.1 登录125.2 管理员功能界面135.2.1 学生管理135.2.2 教师管理
2、135.2.3 课程管理145.2.4 选课管理145.2.5 公告管理145.3 教师功能界面145.3.1 课程管理155.4 学生功能界面155.4.1 学生信息155.4.2 课程管理155.4.3 学生中心156系统测试166.1 程序调试166.2 程序的测试166.3 测试分析176.4 测试结论18结论201概述1.1 研究背景随着现代网络的高速发展,课程管理系统的网络化也正处于高速发展的的新兴期,所以一个功能完善的,从系统功能以及实际操作需求出发的,依靠飞速发展的新兴技术等多方面技术结合的课程管理系统可以帮助教师管理课程,学生也可以通过该系统实现选课管理、查询资料等操作。在如
3、今线上教育高速发展的大环境下,我国的线上教育这一产业也发展起来了。在这样的大环境下开设计一个用户操作简单、选课过程便捷,方便人们进行网络选课的课程管理系统是具有非常好的发展前景的。本人设计的课程管理系统是典型的课程管理软件系统,在该系统的课程设计中包括了管理数据库的结构设计、功能设计实现以及管理系统维护和针对管理员,老师,学生的正确使用操作管理方式,对于以上问题我根据不同用户的情况进行了分析,并以此设计了典型的专业课程资源档案和管理系统平台,在原先已有的技术上首先保证了系统的功能完整性和安全性,其次整个系统的功能要保证用户操作简洁,使用方便。随着技术发展以及网络技术意识的提高,网络的强大的功能
4、早已为人们接受,以本课程管理系统为例,其后期维护非常高,且软件所需要的环境也是在提高。对于该课程管理系统而言,它已经满足了现代化管理的潮流。因此,课程信息的管理网络化已经是大势所趋,开发相应的课程管理系统是非常有必要的。1.2 研究现状本系统针对管理员、老师以及学生的不同需求做出分析,以满足不同用户的需求,例如学生可以在线选课,管理员可以通过后台实时管理系统数据。从该系统的具体功能来看,管理员需要对课程管理系统能够进行实时的管理,而设计该系统最初的目的就是为了通过网络化的实时操作来减少人力和财力的投入,提高工作效率。最终希望通过课程管理系统可以达到以下目的: 提高课程管理的效率,使得课程管理有
5、秩序。 实现用户能够通过该系统平台可以及时更新课程的信息,更好的对课程信息进行管理等。 尽量解决以往传统的管理系统响应慢,无法实时操作等弊端。1.3 研究内容在设计该系统的初始阶期,主要是从整体对该系统进行描述,并且进行了系统分析。分析主要目的是为了更好、更完善的去设计系统,同时根据相关的基础,对系统进行了功能方面的分析。最后根据前面分析的结论进行系统设计,选用了Python技术对系统进行设计,选用mysq1数据库和DjangO结构进行设计。其中所选的Python和mysq1都是非常成熟的技术,可靠性强,具有一定的实用性。在完成功能设计,进行测试,最后发布系统。2开发技术介绍该课程管理系统系统
6、采用Django、b/s模型这两种数据库结构,选用Python语言对系统进行设计开发,其中Django模型相较python其他多种的web模型框架,框架本身已经集成了ytorm、模板搜索引擎、SBSSiOn等诸多核心功能,最大的特点体系大且功能全。2.1 B/S架构b/s结构主要用于安装和自动维护软件服务器,其中的客户端的主要功能是通过使用浏览器的接口来自动运行这些软件以及完成自动维护。随着互联网技术的飞速发展,传统的C/S结构已经逐渐再满足用户的正常需求。所以现在大都采用了B/S结构,而这一选择极大的减少了日常工作的维护。2.2 Python技术介绍PythOn语言是一种程序开发的通用语言,
7、由GuidovanROSSUm上世纪末研发出来,并且同期公开发行使用。Python有非常多的特点,比如该语言有着非常简洁的语法,十分清晰的语句,以及极其丰富的类库。基于这些特点,使得它能够很好的与其他编程语言相结合,继而实现预期的功能。2.3 mysq1数据库介绍mysq1数据库最大的优点就是该数据库让初学者也可以非常简便的完成相关操作。如果在已使用mysq1数据库的前提下想将其功能按照需求再重新编写其代码。只需要非常容易的改写一小部分代码就可轻松完成。mysq1作为一款以及运用非常成熟的的企业数据库管理系统,其功能很完善、数据的存储规模也非常大。正是因为MYSQ1的这些优点所以才选用其作为本
8、系统的数据库。2.4 Django框架Python现有的WEB框架有Django、Tornado等多种,django与其他Web模型框架相比其优势在于:体系大且功能全,不仅框架本身已经集成了大部分的核心功能。并且DjangO框架高度透明化,不论数据库是否相同,但该框架的具体使用方法大致是相同的,所以在我们在根据自身需求去改变数据库类型的时候就只需要改变配置就可以了。3需求分析课程管理系统的功能模块的设计原理是通过对单个设计项目中的各种元素进行组合、分解和针对需求进行相应更换后做出一个对应的设计单元,最后根据各个系统模块来做一个简单的原则。为了提供给用户更好的使用体验,功能模块整体设计时是需要根
9、据不用用户的不同要求来设计的。并且在设计与实现上要做到相应的功能模块和内部信息要保持联系一致要尽可能避免不同功能模块之间代码的重复或代码出现耦合。需求有功能需求和非功能性需求,这里采用用例图和用例模型。用例用于描述系统的功能,从外部用户的角度观察系统,系统应具备哪些功能。它是对系统功能的宏观描述。3.1 寻找用户用户是可交互的实体,在下面会分析用户有哪些?(1)使用系统功能的参与者是谁?(2)需要借助系统功能才完成工作即使用用户是谁?(3)保证系统正常工作,管理系统的管理员是谁?3.2 寻找用例I针对使用用户(1)不同的用户需要系统为其提供什么样的功能;该用户可以通过该功能完成哪些工作?(2)
10、不同的用户能否对系统进行正常的增删改查的操作?针对课程管理系统(1)该系统可以为不同的用户提供哪些不同的功能?(2)系统改进方向是什么?编号参与者用例名称用例说明1管理员学生管理添加、删除、修改学生信息2教师管理添加、删除、修改教师信息3课程管理添加、删除、修改课程信息4选课管理添加、删除、修改选课信息5公告管理添加、删除、修改公告信息6系统管理管理维护系统7教师学生管理查看已经完成选课的学生信息8教师管理添加、删除、修改、查看教师信息9课程管理添加、删除、修改、查看课程信息10教师选课管理添加、删除、修改、查看课程信息11公告管理添加、删除、修改、查看公告信息12学生学生管理添加、删除、修改
11、、查看学生信息13教师管理选择教师并查看教师信息14课程管理选择课程并查看课程信息15选课管理选择课程16公告管理查看、修改公告信息任何一个系统的核心用户都是其系统管理员,管理员可以控制所有的系统功能模块,并且所有系统中的信息管理员都可以统一进行增删改查等操作,以便其可以对整个系统中的信息进行实时管理和更新。322教师用例图相比与管理员,教师需要先使用相应账号登录系统教师端之后才可以管理课程等,教师用例图如图3-2所示:3.2.3学生用例图相比与教师和管理员,学生在登录系统之后就可以在线完成选师选课等操作,但无法对教师信息和课程信息进行修改。学生用例图如图3-3所示:图3-3学生用例图3.3业
12、务流程分析业务流程分析在调查分析中占比很大,因为这一环节涉及到了每个不同用户已经不同功能模块的业务流程,所以在系统的整体设计上要保证信息输入输出时的正确无误和数据储存的安全性即完整无丢失,这里我结合系统开发的实际操作步骤绘制具体流程图,如下图3-3所示:图334数据库设计4.1 系统数据库设计4.1.1 数据库E-R图E-R图是针对不同用户的不同操作通过数据需求分析建立的,用模型来展现数据之间的关联,并对不同用户进行不同的处理,建立相对应的E-R图来表示实体、属性和他们之间的关系,下面展示了不同实体的关系图:1、实体为管理员,如图4-1:图4-1管理员实体图2、实体为公告,如图42:图4-2公
13、告实体图3、实体为选课操作,如图4-3:4、实体为课程,如图4-4:图4-4课程实体图5、实体为学生,如图4-5:图4-5学生实体图4.1.2 逻辑设计(1)用户账号(id,用户名,密码)(2)用户账号(id,用户名,密码,是否为教师)(3)管理员(主键id,用户名,密码,是否是超级管理员)(4)课程信息(id,课程编号,主图路径,课程类型,课程状态)(5)选课(主键id,路径,所属类型)(6)查看选课(id,已选课程,选课时间)4.1.3 数据表字段设计不同功能模块之间的数据库都是隔开的,当数据库运行时,会根据有关协议进行通讯。然后自动连接数据。如需对单个的数据库进行了解,则应选择相对应的桥
14、段,会有自动讲解。在点击完成后对话框内会弹出数据源的名称,再进行相应的操作,如通过账号和密码登录登录。根据不同的系统功能模块的种类的划分,中间的系统设计和功能实现涉及多个数据表。下面针对不同数据库列表的结构设计和主要功能建立了相应的数据表如下所示:表4-1USerinfo管理员信息表列名idnamepwd备注序号账号密码长度16150160是否可空否否否类型整型字符串字符串Primary是否否表4-2Csjxingtai公告信息表列名reportname1inkcourse备注序号公告内容发布日期操作长度1110010011是否可空否否否否类型整型字符串字符串整型Primary是否否否表4-3Stu选课信息信息表列名idnonamesexte1deptteam备注序学号姓名班级课程名称授课教师操作号类型整型字符串字符串字符串字符串字符串字符串是否可空否否否否否否否长度11100100100100100