面向中小学生的计算机编程设计和实现计算机科学技术专业

上传人:文*** 文档编号:196816537 上传时间:2023-04-01 格式:DOCX 页数:61 大小:3.15MB
收藏 版权申诉 举报 下载
面向中小学生的计算机编程设计和实现计算机科学技术专业_第1页
第1页 / 共61页
面向中小学生的计算机编程设计和实现计算机科学技术专业_第2页
第2页 / 共61页
资源描述:

《面向中小学生的计算机编程设计和实现计算机科学技术专业》由会员分享,可在线阅读,更多相关《面向中小学生的计算机编程设计和实现计算机科学技术专业(61页珍藏版)》请在装配图网上搜索。

1、题 目 面向中小学生的计算机编程在线教学系统的设计与实现 摘要随着人工智能时代的发展,编程教育已经逐渐成为我国教育领域中的研究重点。近年来,国家教育部门多次出台编程教育政策,均明确将逐渐推进中小学各个阶段的编程技术。然而,目前我国的编程教育仍然缺乏优质的教学资源,传统编程教育形式单一、枯燥无味,不适合中小学生。因此,需要创造性地开发新形式资源,具有互动性和趣味性。所以,面向中小学生的在线编程教学的前景非常广阔。与传统编程教育相比,借助于互联网优势的在线编程教育更加灵活,功能也更加丰富多样。经过系统的研究、分析和设计,本文最终设计并制作了一个基于SSM(Spring + Spring MVC +

2、 My Batis)架构的面向中小学生的计算机编程在线教学系统。通过对系统业务进行梳理,给出了系统的功能性需求分析。基于此,本文将系统所要实现的主要业务划分为管理员模块、教师模块和学生模块。然后通过系统设计,来完成各功能模块对应实体和数据库表结构的设计,设计出符合MVC框架理念的工具类和方法并通过编程实现。最后,对在线编程教学系统的各项功能进行了功能测试。测试结果显示,在线编程教学系统实际运行稳定,符合各项要求。关键词: SMM;编程教育 ;少儿编程 ;在线教学AbstractWith the advent of the era of artificial intelligence, prog

3、ramming education has become a research hotspot in the education field. In recent years, the national education department has issued a number of policies, all of which have made it clear that programming education will be gradually implemented in primary and secondary schools. However, the current

4、programming education in our country lacks high-quality educational resources. The traditional programming education form is single and boring, and is not suitable for programming education for primary and middle school students. Need to develop interactive and interesting new forms of resources. Th

5、erefore, the prospect of online programming education is very broad.Compared with traditional programming education, online programming education that takes advantage of the Internet is more flexible and has more diverse functions. After systematic analysis and design, this paper designs and impleme

6、nts a computer programming online teaching system for primary and middle school students based on SSM architecture. Through combing the business of the system, the functional requirements analysis of the system is given. Based on this, this article divides the business to be implemented by the syste

7、m into management module, teacher module and student module. Then complete the design of the corresponding entity and database table structure of each functional module through the system design link, and design the tool classes and methods that conform to the concept of the MVC framework and implem

8、ent it by programming. Finally, perform functional tests on the various functions of the online programming teaching system. The test results show that the actual operation of online programming teaching is stable and meets various requirements.Keywords: SMM; Programming Education; Children Programm

9、ing; Online LearningII目录摘要IAbstractII1. 绪论11.1 研究背景及意义11.2 国内外研究现状11.3 工作内容21.4 论文组织结构22. 相关技术概述32.1 MVC设计模式32.2 SSM框架42.2.1 Spring框架42.2.2 Spring MVC框架52.2.3 My Batis框架52.3 My SQL62.4 本章小结63. 系统需求分析73.1 系统可行性分析73.2 业务流程分析73.3 功能需求分析83.3.1 管理员模块83.3.2 教师模块93.3.3 学生模块103.4 本章小结114. 系统设计124.1 系统架构设计12

10、4.1.1 系统总体架构设计124.1.2 系统技术架构设计124.2 系统功能设计134.2.1 系统功能结构设计134.2.2 系统功能顺序图144.3 数据库设计154.3.1 系统类图设计154.3.2 数据库表设计174.4 本章小结245. 系统实现与测试255.1 开发环境255.2 开发框架环境配置255.2.1 数据表实现255.2.2 创建Web工程265.3 功能实现295.3.1 登录拦截295.3.2 用户登录295.3.3 管理员模块功能325.3.4 教师模块功能385.3.5 学生模块功能435.4 系统测试485.4.1 基础功能测试485.4.2 核心功能测

11、试495.5 本章小结50结论51参考文献52致谢54II1. 绪论1.1 研究背景及意义在“互联网+”的高速发展下,人工智能技术的发展日新月异,它正在不断地改变着各个行业,并且潜移默化地逐渐渗透到我们的日常生活中。伴随着人工智能时代的正式降临,编程能力作为其一项重要的技能,渐渐受到工业界和教育界的关注,日渐成为全球培养创新性人才的战略实施重点1。因此,编程教育日益凸显时代价值,备受人们关注,成为国内外教育研究的热点2。编程教育可以有效地提升人们的计算思维能力,研究发现,具有良好计算思维能力的学生能更有效、辩证地解决问题。然而,计算思维能力和编程能力的培养并非是一朝一夕就可以实现的,需要从少儿

12、时期就开始培养3。美国规划十年内在整个全国范围内展开中小学生的编程教育,英国政府明确规定全国中小学生必须学习编程,就在去年,编程教育已基本成为日本全国小学生的必修课程。作为培养少儿信息技术知识素养和独立探究思维能力的重要手段,中小学编程教育的主要目的是通过计算编程思维启蒙、可视化图形编程等人工智能相关知识的综合学习,激发中小学生探索的好奇心,培养他们的计算思维能力和创造力45。因此,编程教育工作者应以培养学生思维作为落脚点来开展编程教育6。由于受到传统教育手段和方法的限制,许多中小学老师普遍采用了填鸭式的教学手段来教授人工智能和应用程序设计,学生不仅提不起兴趣,而且上课时就像听天书一样晦涩难懂

13、,这会使学生的未来发展受阻7。近年来,互联网的发展克服了知识获取的时间和空间限制,在线教育呈现爆发式增长。随着各类在线教育平台的开发和应用日趋成熟,编程教育也逐渐采用了线上模式进行授课。因为去年的新冠肺炎疫情,教育体系积极地采用线上的方式进行教学和授课,在线教育市场大幅度扩容,引起社会各界高度重视8。在少儿编程行业兴起的过程中,本就依赖于计算机的编程课程依托在线教育优势,能够更好地在未来竞争中占据关键地位,因此,对于所有企业来说,发展线上编程教育课程必是长期发展战略部署中的重要一步。在线编程教育主要有以下几个特点:(1)不受时空限制,学生可以与不同城市的老师和同学一起学习交流;(2)充分利用优

14、质教学资源,通过在线技术手段,将最好的教学内容和理念传播出去;(3)容易激发学生的学习兴趣,学生不仅可以制定自己的学习计划并通过在线学习资源进行学习,还可以在教学平台上互相交流讨论9。1.2 国内外研究现状目前,少儿编程教育普及率最高的国家是美国,普及率为44.8%;2014年,英国将编程列为所有学校的必修课,规定5至7岁的孩子学习算法的含义以及如何将其转化为程序并执行;2016年,澳大利亚将编程教育列为国家必修课,孩子们10岁便开始学习编程,到了12岁就能通过编程解决实际问题;德国将编程教育规定为全国中小学生的必修课程,以色列规定从小学一年级开始学习编程10。由此可见,我国的少儿编程教育远远

15、落后于西方发达国家。日本中小学人工智能教育课程体系现状:日本的编程教育根据学生的年龄和认知能力分为不同阶段,相互关联,环环相扣,逐步提升学生人工智能的认知能力与技术能力。小学的人工智能教育以编程教育为核心,帮助小学生了解计算机,了解编程;中学以信息教育为核心,帮助初中生深入理解信息技术在社会生活中的作用与影响,通过编程制作简单的程序;让高中生使用信息技术解决生活中遇到的实际问题11。目前,我国少儿编程教育的主要问题:计算机教育知识体系滞后,教学方法和内容陈旧乏味,缺乏完整合理的程序设计教学大纲,师资队伍建设滞后。1.3 工作内容本人参与了基于SSM框架的在线编程教学系统的研究以及项目的设计和应

16、用实现的各个阶段,以下是具体的工作内容:1.系统的需求分析。本文对在线编程教学系统进行需求分析,根据用户的类型系统主要分为三大功能模块,借助用例图、业务流程图等详细分析各个模块的业务需求和数据库的结构逻辑,为之后系统的实现做好了充足的准备。2.参与系统设计。根据需求分析并结合项目特点确定系统的总体构架设计,划分系统功能模块,结合流程图阐述各个功能模块的具体设计。分析系统中各项实体类之间的关系,完成数据库表的逻辑设计与物理设计。3.参与系统功能模块的具体开发与实现。根据需求分析和系统设计的结果,完成了管理员功能模块、教师功能模块、学生功能模块的实现。4.参与系统测试工作。对系统各个功能模块做出测

17、试,确保开发的系统符合预期需求,对测试效果做出了总结。1.4 论文组织结构论文一共分为五章,详细内容安排如下:第一章绪论,概述在线编程教学系统的研究发展背景与其意义、国内外研究现状、主要工作内容以及论文的组织结构。第二章相关技术概述,介绍系统实现所需要的关键技术。第三章系统需求分析,进行系统的可行性、业务流程和功能需求的分析。第四章系统设计,介绍系统的架构、功能和数据库的设计,为系统的实现奠定基础。第五章系统实现与测试,论述系统中各个模块的实现、测试以及功能测试结果。2. 相关技术概述基于Java EE的企业级开源框架数量众多,选用合适的框架可以在节约人力物力成本的同时最大化满足系统对于功能和

18、性能的要求。合适的框架可以事半功倍,而不合适的框架可能给系统带来不可预期的负面效果,甚至拖垮整个系统。本章论述了本系统选取的框架和技术的内容和功能以及选择的原因。2.1 MVC设计模式所谓MVC,其实质就是一种软件范式,具体内容为模型、视图以及控制器的英文首字母缩写,在具体实现路径中具有典型特征是业务逻辑、前端界面以及数据间互相是独立和分离形态下进行代码编写,并且让许多业务逻辑汇聚集合到同一部件之下,这种方式具有显著优势,那就是如果出现界面改动需要实现时,不需要再进行针对性的逻辑编写,另外用户交互改进需求实现时也可以进行免逻辑编写处理,从而有效提升效率。MVC架构如图2.1所示:图2.1 MV

19、C模式架构图模型:在MVC三个组件中,模型所需要进行的业务处理数量和规模显著高于其他二者,被模型处理并实现返回的数据其状态呈现出显著中立性,数据格式并不存在与模型的相关性,这就意味着一个模型可以实现同时对多个不同视图进行基于需要的数据提供,模型代码能够在数据提供中被多个不同视图重复性应用,因此显著降低了系统代码的重合率。视图:实质上就是用户交互界面,MVC具有的典型优势就在于多视图处理。需要注意的是,处理流程并非在视图中进行,它仅仅是一种数据输出的工具,其中对用户开放了操作许可。控制器:其实质性功能就是用户请求接受,同时基于用户请求来实现与模型的连接并调用实现,其与视图间存在同样连接和调用实现

20、,需要注意的是,控制器本身并不进行任何数据等类型处理操作,也并不进行任何数据或相关输出,它的功能仅限于对请求的接受实现,并同时明确具体对应模型的调用,同时还需要依据返回数据来明确进行相应视图的选择12。MVC架构模型开发软件具有显著优势,对每个模块进行解耦后,每个模块都有更多的自由度,当业务增加时,无需重新构建原有系统,只需在原有系统上增加一个接口即可更改功能。将独立更改单个模块所产生的连带影响降到最低。这样,每个模块都可以同步修改更新,从而使整体开发更快。此外,通过对代码的分层,也大大提高了代码的复用性。可以在多个视图层中使用相同的模型层或控制器层。这样就可以很方便的解决不同访问终端带来的显

21、示问题。对于同一个应用,只需额外创建一个模型层,配置相关参数,就可以共享同一套模型和控制器层,大大减少开发任务13。为了最大限度地提高系统的可拓展性和复用性,本系统使用MVC架构模式作为选择技术框架的理念基础。这样,降低了功能之间的耦合度,增加了各部分的独立性,便于管理。2.2 SSM框架在线编程教学系统的后端开发采用了SSM框架,SSM框架是一种基于MVC设计模式,集成了Spring、Spring MVC以及My Batis框架的优秀框架集。本系统被该框架划分为前端表示层、控制层、业务逻辑层和数据持久层14。其中,Spring作为框架的基础核心,主要负责处理业务逻辑层,管理系统的核心对象。S

22、pring MVC用于管理表示层,负责接收和处理用户请求。Mybatis 框架主要负责的是数据持久层,完成与数据库相关的操作。2.2.1 Spring框架在线编程教学系统采用Spring框架进行快速开发。Spring是一款轻量级开源框架,它在J2EE基础上实现,其开发目的是为了解决软件开发的复杂性。Spring框架可以有效降低组件之间的耦合,符合开闭原则,可以速集成其他框架,来提高开发效率和质量15。Spring有两个非常重要的特性:IoC(控制反转)和AOP(面向切面编程)。IoC属于典型的工厂模式,是一种设计思想。与传统应用程序在类的内部创建依赖对象的方式不同,IOC容器控制外部资源的获取

23、,通过Spring框架的核心容器创建设计好的对象,并将其注入到被依赖对象中去,大大减轻了对象之间的耦合关系16。AOP又称为面向方面,指开发者对横切点或横切平面的模块化编程思想,是OOP(Object Oriented Programming,面向对象编程)的延续。从功能模块中提取通用的业务逻辑,将其封装成切面切入系统,减少业务逻辑中的代码重复,避免不必要的开发工作17。Spring框架包含七个模块,可以满足设计和实现企业级应用系统的所有要求,其中模块具有极强的适用性和兼容性,既可以单独利用,也可以组合利用,对应的模块部署起来也比较容易和灵活18。Spring框架的七大模块图,如图2.2所示:

24、图2.2 Spring的七大模块图2.2.2 Spring MVC框架所谓Spring MVC,其主要功能就是Java web模块的构建和创设,其运行时基于MVC之上,并不需要利用其它整合手段或方法就可以实现与Spring的联合运行。借助于Spring的优越性,Spring MVC正在逐渐成为表示层的主流框架19。Spring MVC通过MVC模式实现业务逻辑、数据和页面显示的分离,降低了系统的耦合程度20。它由Model、View、Controller三个部分组成,提高了代码的重复使用率,灵活适配控制器。Model(模型)是处理应用程序数据逻辑的部分,通常负责数据库的数据存取;View(视图

25、)表示模型中包含数据的可视化,通常依据模型数据而创建;Controller(控制器)主要功能是对用户交互进行对应的处理完成并与模型和视图进行基于请求和需要的连接和调用实现。Spring MVC的工作过程:用户发送请求,被web.xml里面配置的前端控制器进行对应的请求处理,之后环节是利用映射器直接对标到适配器并进行搜寻并匹配,当实现前述步骤后,会进行控制器调用并实现业务处理并完成,并返回Model And View到前端控制器,之后环节为控制器提出解析请求,而视图解析器进行请求实现,并将解析结果返回给Dispatcher Servlet,Dispatcher Servlet返回对应的页面和信息

26、给用户21。其中Dispatcher Servlet是整个SpringMVC的核心22。2.2.3 My Batis框架所谓My Batis,实质上来说就是一个持久层架构,且其体量属于轻量级的,具体功能方面SQL查询的实现,且支持定制化,同时还有存储实现及映射实现等。它最大的好处之一是它封装好了数据库连接,无需开发者手动配置,简化了JDBC代码23。该框架还支持使用数据库连接池,可以大大提高开发效率。该框架使用简单的XML或注解的方式来配置需要的参数,使用映射方法灵活生成目标SQL语句,然后由My Batis框架执行SQL语句并将结果映射成Java对象返回24。使用者可以使用持久层操作数据库,

27、而无需知道JDBC操作数据库相关的执行步骤。My Batis简单易学,没有第三方依赖,只需要安装两个jar包和一些SQL映射文件就可以开发学习了。通过官方文档和源码,可以快速掌握My Batis的设计思路和实现原理。同时,My Batis不会影响应用程序和数据库的现有设计。2.3 My SQLMy SQL是当前应用场景最为广泛的主流数据库系统,且其性质是关系型,同时也是在web方面得到最好实用度和适配度的关系数据库。My SQL基于二维数据表,将数据依据不同的核心将之归入不同表中,这一点与其他部分数据库的仓库型存储形式截然不同,也因为此种特性具有更好的系统响应度,同时在灵活度方面也具有显著优势

28、25。My SQL是开源的,用户可以直接使用结构化的SQL语言在数据库系统上进行数据信息管理操作。MySQL的主要优势如下:(1)运行速度快,My SQL体积小,命令执行的速度快。(2)使用成本低。My SQL是开源的,且提供免费版本,对大多数用户来说大大降低了使用成本。(3)使用容易。与其他大型数据库的设置和管理相比,其复杂程度较低,易于使用。(4)可移植性强26。My SQL能够运行与多种系统平台上,如windouws,Linux,Unix等。(5)适用更多用户。My SQL支持最常用的数据管理功能,适用于中小型企业甚至大型网站应用。2.4 本章小结本章对在线编程教学系统开发过程中使用到的

29、关键技术进行了描述,主要包括MVC设计模式、Spring框架、Spring MVC框架、My Batis框架、My SQL数据库等。本章内容的描述为系统的研发奠定了的理论和技术基础。-57 -3. 系统需求分析本章对系统实现的可行性进行研究,基于该系统使用的实际工作情况,具体分析该系统需要实现的功能诉求,主要是对前者展开用例分析。用例分析主要涉及到功能需求阐述、功能用例图、用例图说明等方面对系统的管理员功能模块、教师功能模块、学生功能模块分别进行具体的阐述。3.1 系统可行性分析本节将从技术、经济和操作三个方面来进行系统的可行性分析。在线编程教学系统的开发采用成熟的Spring + Sprin

30、g MVC + My Batis(SSM)框架开发,在技术层面完全是可行的。使用IntelliJ IDEA、Microsoft Edge等开发工具进行开发。数据库使用开源的MySQL8.0。本系统前后端分离,各个模块独立开发的方法也便于系统今后的维护和升级。因此,在技术上,在线编程教学系统的开发不会有任何问题。在线编程教学系统减轻了客户端的负担,只需使用浏览器即可进行在线学习,节省了大量成本。所以本系统开发所需的成本完全在可以接受的范围内,它的经济效益远远超过开发成本。其次,系统运行和维护相对容易,专业人员可以进行远程维护,减少不必要的成本。因此,本系统在经济上是可行的。操作可行性分析主要评估

31、预期的软件系统在实际环境中的适用性以及实施过程中的障碍。在今天的中国,网络覆盖率非常高。目前,我国已经建成81.9万个5G基站,覆盖了全国所有地级以上城市。5G终端的业务超过了3.1亿,产业、经济和社会领域的服务器应用示范项目超过1万个。也就是说,系统的使用环境基本没有什么问题。大多数用户都可以很好的使用基于Web的在线编程教学系统。因此,从操作可行性的角度来看,本系统的开发方案也是可行的。3.2 业务流程分析在线编程教学系统制定了三个业务主角,即管理员、教师和学生。系统的业务流程图如图3.1所示:图3.1 在线编程教学系统业务流程图3.3 功能需求分析功能性需求从用户的需求出发,定义系统和组

32、件的功能。本系统方案中依据用户的不同角色类型进行功能模块划分,共有管理员、教师及学生等三个不同功能模块,本章节用例图来详细说明这三个模块需要实现的功能。3.3.1 管理员模块在本系统方案中,管理员角色具有相应的最高权限,主要涉及对学生、课程及课程资料等多方面内容和事项的管理操作。具体功能如下:(1) 学生管理:可以对学生信息进行相关管理操作,涉及到增删改查等多方面事项和业务,如果需要多名学生同时添加,利用excel表格批量导入。(2)教师管理:可以对教师信息进行相关管理操作,涉及到增删改查等多方面事项和业务,如果需要多名教师同时添加,利用excel表格批量导入。(3)课程管理:可以对课程信息进

33、行相关管理操作。(4)课程资料管理:可以对课程文档及视频等内容进行相关管理操作。(5)论坛管理:管理话题讨论所涉及的所有数据和信息。(6)公告管理:可以对公告信息进行相关管理操作。管理员的用例图如图3.2所示:图3.2 管理员的用例图3.3.2 教师模块在本系统方案中,教师可以实现多种管理操作,涉及到课程文档等相关课程资料和内容的上传操作、基于课程进行讨论和测试的发起和提出等。功能详情如下:(1) 课件管理:对自己上传内容进行相应的管理操作。(2) 话题管理:基于课程内容进行讨论添加并查看讨论进行现状。(3) 测试管理:基于课程内容发起测试,并进行试题等相关内容添加。(4) 个人信息管理:对自

34、身资料基于需要和系统规则进行修改。教师用例图详情见图3.3:图3.3 教师的用例图3.3.3 学生模块在本系统方案中,学生可以实现多种管理操作,涉及到课程文档等内容的在线观看及下载、基于课程参与相关讨论、完成教师要求的测试内容。(1) 视频观看:实现视频操作即在线观看。(2) 文档下载:实现课程文档等类型课程资料操作即在线下载。(3) 话题讨论:实现讨论参与。(4) 在线测试:实现测试参与。该项功能中还涉及到系统自动打分的内容。(5)个人信息管理:修改个人资料。 学生的用例图如图3.4所示:图3.4 学生的用例图3.4 本章小结在本章中,我们首先分析了实现在线编程教学系统的可行性,然后用业务流

35、程图来描述整个系统的业务逻辑流程,并根据系统的功能需求将系统功能划分为管理员、教师、学生三个模块,并讲述了各功能模块的具体功能。北京工业大学毕业设计(论文)4. 系统设计4.1 系统架构设计4.1.1 系统总体架构设计本系统属于平台类型,基于此,以B/S模式进行实现,本系统方案中对于服务器选择方面,考虑到系统功能诉求及现场环境需要,选择Tomcat具体架构详情见图4.1:图4.1 B/S结构图系统前端使用Vue框架、HTML技术和CSS技术等构建简洁美观的用户操作界面;系统后端基于SSM框架进行设计架构,采用Controller层、Service层、Dao层三层开发设计模式对各功能模块的业务逻

36、辑进行实现,从而实现用户请求与My SQL数据库之间的数据交互。4.1.2 系统技术架构设计本系统开发方案设计是应用SSM架构进行具体实现的,具体来说就是利用Spring中所具有的IOC功能属性,将对象间的互联关系通过该架构实现统一性集合式处理,让系统解耦能够更轻松进行,针对系统开发难度及复杂性都能大为简化;利用Spring中所具有的AOP功能属性,能够对系统事务、权限等多方面内容实现综合性管理。该架构中涉及到Spring MVC部分,其实质来说就是利用MVC来实现具体应用即web结构的开发,同时还能对其实现解耦,基于此,系统界面设计能够以更为简洁化方式呈现;该架构中涉及到MyBatis部分,

37、其实质来说就是充分利用xml文件,提供映射实现,并进行对象支持,从而让数据库操作具有更高的便利性。以上三大部分架构其中需要利用的功能模块能够实现有效结合,让模块接口实现能够更为简单。具体架构实现见图4.2。本系统开发方案利用SSM架构,是基于多方面需求考量,对于用户动态需求能够更为充分的满足,并提升系统稳定性且为后续的功能扩展或其他新增需求提供必要的延展性。图4.2 系统技术架构设计图总而言之,系统控制层在方案设计上利用Spring MVC展开,具有如下优势:首先该架构是依托于MVC之上的,其中控制器在方案设计中利用的MVC关键组件,一方面具有强大而稳定的性能对视图展开正确而效率的解析,同时也

38、能对参数信息进行必要而正确的解析,另一方面对于业务对象来说,能够借此实现直接访问,从而显著提升系统测试可行性。系统业务层在方案设计上利用Spring展开,该架构具有IOC和AOP功能属性,且在设计模式选择上,利用依赖注入进行,从而能够对系统对象实现总体性和综合性控制,并显著提升系统测试可行性;系统持久层在方案设计上利用MyBatis展开,这一方案的优点在于xml映射并绑定,从而显著提升系统效率。MyBatis是作用并实现与数据库连接,由于数据间相关具有搞复杂特性,利用该架构能够显著强化系统可靠性。4.2 系统功能设计4.2.1 系统功能结构设计在线编程教学系统主要分为管理员、教师、学生三大模块

39、。系统的功能模块图如图4.3所示:图4.3 系统功能模块图管理员功能:通过登录该开发系统,系统会赋予其最高权限,能够对系统进行全面管理和相应维护。可以管理所有系统内部信息和资料,如对学生、老师、课程等信息进行管理实现,并对课程资料进行管理和编辑实现,同时还有闯关等特色小环节管理实现等,同时在有需要时可以推送全系统公告。教师功能:通过登录该开发系统,老师可以实现课程相关内容和资料的上传;面向学生发起相关测试并且对测试内容进行设计和编辑;对课程内容发起讨论并进行讨论管理;面向学生发起编程关卡相关任务。学生功能:通过登录该开发系统,学生可以实现课程相关的文档和视频的下载及观看,可以实现话题讨论及在线

40、测试,同时还能进行闯关,并在有需要时进行个人信息操作等。4.2.2 系统功能顺序图在对系统功能结构进行相应的方案规划时,首先要对功能进行详细剖析,尤其要注重对其功能实现过程的掌握和理解。为了后续逻辑编码能够更效率化实现,需要在之前对功能和业务流程及具体的组成结构进行分析和了解。通常来说系统业务逻辑虽然可能涉及到的业务各不相同,但存在同样的流程,因此需要对这种情况加利用,对业务流程的分析过程中只需要择取其中具有代表性的即可完成。(1)上传视频通过对教师上传视频这一业务事项展开观察,发现其中顺序图主要包含了七个不同对象,具体有教师、主页、全部视频列表页、进行视频上传页,另外还涉及到控制器具体响应和

41、事务、数据库操作及处理业务、服务器等。具体顺序图详情见4.4。具体场景:教师登录实现;点击按钮进行视频上传;页面跳转,此时页面加载出现对应视频课程列表;将上传视频选定并进行表单提交;成功上传页面再次跳转回到对应视频列表。图4.4 上传视频顺序图(2)添加测试通过对教师添加视频这一业务事项展开观察,发现其中顺序图主要包含了七个不同对象,具体有教师、主页、全部测试列表页、进行添加测试页,另外还涉及到控制器具体响应和事务、数据库操作及处理业务、服务器等。具体顺序图详情见4.5。具体场景:教师登录实现;点击按钮进行添加测试;页面跳转,此时页面加载出现对应测试列表;将添加测试选定并进行表单提交;成功上传

42、页面再次跳转回到对应测试列表。图4.5 添加测试顺序图4.3 数据库设计数据库设计是否达到预期标准和要求,会给系统开发带来显著影响,同时数据库设计优良与否,也会对后期维护带来明显影响。下面将进行本次系统方案中涉及到数据库部分的实现,具体应用的是MySQL,利用其进行数据库构建。4.3.1 系统类图设计根据在线编程教学系统的需求分析和功能设计,进行系统类图的设计,系统角色类图如图4.6所示:图4.6 系统角色类图本次系统方案设计中主要数据类型包括课程及文档,另外还有课程视频等多种不同实体,其中文档和视频可以划分到某课程下,其上传的操作方主要是教师,而学生可以在登录后对这些内容进行下载或观看,都需

43、要在线进行。其中path为存储路径。具体类图详情见图4.7:图4.7 课程、课件类图在实体类之外,该系统还涉及到部分通知类。系统公告可以推送到所有用户界面实现观看操作。同时教师也可以根据需要进行问题发布,而学生则可以据此展开学习和交流,基于此,就需要构建一个用于讨论实现的实体类,通常来说用discuss表示,部分实体对象并非直接可以实现获取而需要进行分析,如在线编程教学系统中,为了记录学生对教师发布的讨论进行回复,为了实现对该信息的记录就需要建立一个专门对象,也就是discuss_post,具体类图详情见图4.8:4.8 公告、讨论、讨论回复类图本系统开发方案中还涉及到在线测试功能,教师通过该

44、功能发布测试,同时实现试题的添加并且出具相关正确解答。学生登录系统,在需要时进行测试并在线完成相应题项解答,系统依据答案关联给出具体得分。该功能的实现涉及到以下几个实体类,主要有task、student_task等。具体类图详情见图4.9:图4.9 测试、试题、学生成绩类图综合上述分析,已经对本次系统开发中所涉及到的实体类进行了比较全面而系统的分析,并且它们的相关属性会在后文数据表方案中展开详细描述。4.3.2 数据库表设计前文中已经对实体类图进行了清晰而详细的确定,接下来对于概念层需要进一步展开设计将之具体化。通常来说实体类间的相关需要从当前实际出发进行相应确定。这主要是因为如学生可以在有需

45、要时进行多门课程的同步学习,而一门课程一般来说会涉及到许多不同课件文档或者视频,并且也能够延伸出许多不同讨论话题,而同一话题下又可以存在来自多个不同参与者的回复。又如教师可以就课程内容发布多个不同内容测试项目,而同一课程测试项目也可以来源于不同教师。系统E-R图如图4.10所示:图4.10 系统的总体E-R图根据上述E-R图可知,本系统开发方案中确定12个数据表能够满足功能实现的需要,具体来说包括管理员、教师、学生、课程、视频信息等,详情可参见表4.1到表4.14。表4.1 管理员信息表(admin)字段名数据类型字段类型长度描述idint(11)int管理员IDnamevarchar(50)

46、varchar50管理员名称accountvarchar(50)varchar50管理员账号passwordvarchar(50)varchar50管理员登录密码isDelint(11)int删除标记表4.2 教师信息表(teacher)字段名数据类型字段类型长度描述idint(11)int教师IDaccountvarchar(50)varchar50教师登录账号passwordvarchar(50)varchar50登录密码namevarchar(50)varchar50教师姓名genderint(11)int教师性别numvarchar(50)varchar50教师编号course_idi

47、nt(11)int教授课程telphonevarchar(50)varchar50手机号码isDelint(11)int删除标记表4.3 学生信息表(student)字段名数据类型字段类型长度描述idint(11)int学生IDaccountvarchar(50)varchar50学生账号passwordvarchar(50)varchar50登录密码namevarchar(50)varchar50学生姓名genderint(11)int学生性别numvarchar(50)varchar50学生学号telphonevarchar(50)varchar50手机号码isDelint(11)int删

48、除标记表4.4 课程信息表(course)字段名数据类型字段类型长度描述idint(11)int课程IDnamevarchar(50)varchar50课程名称numvarchar(50)varchar50课程编号introtexttext65535课程简介isDelint(11)int删除标记表4.5 视频信息表(course_video)字段名数据类型字段类型长度描述idint(11)int课程视频IDpathvarchar(50)varchar50课程视频的路径course_idint(11)int所属课程record_timedatetimedatetime上传时间teacher_id

49、int(11)int所属教师isDelint(11)int删除标记表4.6 文件信息表(course_file)字段名数据类型字段类型长度描述idint(11)int课程文档IDpathvarchar(50)varchar50课程文档的路径course_idint(11)int所属课程record_timedatetimedatetime上传时间teacher_idint(11)int所属教师isDelint(11)int删除标记表4.7 公告信息表(notice)字段名数据类型字段类型长度描述idint(11)int公告IDtitlevarchar(50)varchar50公告标题conte

50、nttexttext65535公告内容record_timedatetimedatetime发布时间isDelint(11)int删除标记表4.8 话题讨论表(discuss)字段名数据类型字段类型长度描述idint(11)int话题IDtitlevarchar(50)varchar50话题题目contenttexttext65535话题内容teacher_idint(11)int发布的教师record_timedatetimedatetime发布时间course_idint(11)int所属课程isDelint(11)int删除标记表4.9 讨论回复表(discuss_post)字段名数据类

51、型字段类型长度描述idint(11)int回复IDcontenttexttext65535回复内容discuss_idint(11)int回复话题student_idint(11)int回复的学生record_timedatetimedatetime回复时间isDelint(11)int删除标记表4.10 考试信息表(task)字段名数据类型字段类型长度描述idint(11)int考试IDteacher_idint(11)int发布考试的教师course_idint(11)int考试所属的课程record_timedatetimedatetime发布时间isDelint(11)int删除标记表

52、4.11 试题信息表(task_question)字段名数据类型字段类型长度描述idint(11)int题目IDtitlevarchar(255)varchar255题目的问题item_avarchar(255)varchar255选项Aitem_bvarchar(255)varchar255选项Bitem_cvarchar(255)varchar255选项Citem_dvarchar(255)varchar255选项Danswervarchar(255)varchar255答案task_idint(11)int所属的考试scoreint(11)int题目的分值isDelint(11)int删

53、除标记表4.12 学生成绩表(student_task)字段名数据类型字段类型长度描述idint(11)int成绩IDstudent_idint(11)int学生IDtask_idint(11)int考试IDscoreint(11)int分数record_timedatetimedatetime时间isDelint(11)int删除标记表4.13 闯关信息表(game)字段名数据类型字段类型长度描述idint(11)int关卡IDteacher_idint(13)int教师IDcontenttexttext闯关内容isDelint(11)int删除标记表4.14 学生闯关成绩表(student

54、_game)字段名数据类型字段类型长度描述idint(11)int闯关成绩IDstuden_idint(11)int学生IDscoreint(11)int闯关分数rankint(10)int闯关排名isDelint(11)int删除标记4.4 本章小结本章节主要建立在前一章系统功能需求分析这一前提之上,对在线编程教学系统展开了详细的设计并规划了相应方案。本章第一节主要是对系统方案中的架构部分进行细致论述和介绍;第二节对系统方案中的功能部分进行讨论和阐述;第三节对系统方案中的数据库部分进行讨论。以上内容都将为后续系统具体实现打下坚实基础。北京工业大学毕业设计(论文)5. 系统实现与测试前文已经进

55、行来系统需求分析并据此展开了具体功能设计并列出详细而具体的方案,而在本章节中将基于前面的内容进行编码实现。本次系统方案实现中利用的开发工具选择,基于功能诉求及现实要求选择IDEA系统,同时,出于多方面因素考虑,将web载体暂时限定在Chrome google浏览器。换言之,步骤为先进行开发环境的设计并配置,之后才是进行具体的代码编写,最后步骤则是进行系统测试。5.1 开发环境本系统的开发环境设置内容如下:(1)操作系统:Windows 10(2)运行模式:B/S(浏览器/服务器)模式(3)数据库:My SQL 8.0(5)开发工具:IntelliJ IDEA 20195.2 开发框架环境配置5

56、.2.1 数据表实现正如前文所提到的,在本次系统方案设计中,数据库是MySQL,其功能能够完全适配当前系统需要且性能也符合要求,能够实现对数据库效率化操作。在具体实现过程中先进行learn创设,随后环节是进行数据表创设,具体表的数量是12个,在其中利用SQL进行实现。在系统数据库搭设完成后,就可以对数据需求顺利进行实现。系统数据表具体详情见图5.1:图5.1 系统完整数据表5.2.2 创建Web工程前面已经提及IDEA是主要的开发工具,在其中创设web工程learn,由于涉及到前面已经提及SSM框架,因此为了能够顺利完成搭设需要进行依赖添加。在下文中先展开了项目结构方面内容的创设,其中利用的是

57、Java标准。需要注意的是工程包的主要构成涉及到控制层、Dao层等,具体工程结构详情见图5.2:图5.2 工程结构图下文将进行SSM架构的具体系统配置,涉及到多方面内容,包括数据库连接、Spring容器及MVC控制器等相关内容配置等等诸多方面的配置内容。工程的具体类型是以web方式进行时间,在web-inf之下存在着一个web.xml文件,可以利用其进行转发机制的确定,同时还可以进行控制器及过滤器的相关定义业务实现。关于web.xml,限于篇幅只提供核心配置内容:配置数据库连接池及事务管理的类加载文件applicationContext.xml,其中配置了数据源及会话工厂和各种事务的支持。配置

58、如下:编写Spring MVC配置文件,主要配置Controller的扫描、处理器映射器和处理器适配器、视图解析器前后缀,以及拦截器、上传下载等内容,配置如下:到此处为止,已经基本实现了SSM的框架整合任务,之后可以继续完成业务逻辑编码。对此该方面内容,前端页面为了能够更具有视觉效果的呈现需要进行渲染,通常会利用Vue完成,该框架能够利用部分插件,具有更高的便捷性。5.3 功能实现5.3.1 登录拦截当用户没有按照系统规则进行登录时,是无法进入系统并对系统资源进行利用。如果用户继续进行访问操作,那么系统会自动进行页面跳转到登录页,只有当用户按照系统规则完成身份验证才能实现访问请求。为了实现这一

59、功能,需要在pringmvc.xml中进行一个对应功能实现的拦截器配置,基于此需要进行代码编写,具体代码详情如下:5.3.2 用户登录想要实现系统访问,所有用户都需要先完成登录操作。系统的角色有管理员、教师、学生三个,如果没有完成对应提示的登录信息输入,那么就无法实现表单提交功能,会持续提醒用户;在登录时,用户首先要进行对应角色选择,之后再按照系统要求进行用户名和密码填写,之后还需要走完验证码流程。如果中间出现认证错误,此时系统会进行相应提示。具体详情见图5.3:图5.3 用户登陆失败提示其代码如下:以学生用户登录作为样本进行举例,在登录成功后会进入该角色所限定的首页,学生首页详情见图5.4:

60、图5.4 用户(学生)登录成功进入系统首页5.3.3 管理员模块功能针对管理员模块的方案设计,基于管理员具有高权限属性,涉及到的操作和处理项目也更多,因此对其进行的编码工作量也显著增加。在登录实现并通过相关身份验证后,能够实现前文所提及所有的功能需求,具体内容详情可见图5.5。具体涉及到的功能事项包括对学生、课程、公告等多方面信息和内容添加及其他相关操作,还能对测试和话题根据系统及网站规则进行管理,另外还能进行公告展现。图5.5 管理员功能界面图基于管理业务和事项较多,也涉及到多个数据表的多类型处理操作,导致对应页面也显著偏多,碍于篇幅,只能将其中部分进行列出,具体来说包括部分核心功能的具体内容及JSP页等,详情见表5.1:表5.1 管理员功能与jsp、请求对应关系管理员功能JSP页面Controller层添加学生createStudent.jspRequestMapping(/saveStudent)学生管理searchStudent.jspRequestMapping(/searchStud

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!