摘 要
本文介绍了一种基于C#的在线考试系统的设计与实现。该系统旨在为教育机构提供一个便捷、高效的在线考试平台,学生可以通过该系统进行各种类型的考试,包括选择题、填空题和主观题等。系统采用C#作为开发语言,结合ASP.NET框架进行前后端开发,利用MySQL数据库进行数据存储。在系统设计方面,采用了分层架构,包括用户界面层、业务逻辑层和数据访问层,以实现系统的模块化和易维护性。用户可以通过网页浏览器访问系统,在线注册账号、选择考试科目、完成考试并查看成绩。系统还具有管理员后台管理功能,管理员可以管理考试科目、添加试题、监控考试过程和生成考试报告等。通过实验和测试,验证了系统的稳定性和可靠性,表明该系统能够满足在线考试的需求,并具有良好的用户体验。
关键词:在线考试;C#
Abstract
This paper introduces the design and implementation of an online examination system based on C #. The system aims to provide a convenient and efficient online examination platform for educational institutions, through which students can conduct various types of exams, including multiple choice questions, fill-in-blank questions and subjective questions. The system uses C # as the development language, combined with the ASP.NET framework for front and rear end development, and uses the MySQL database for data storage. In terms of system design, a hierarchical architecture is adopted, including the user interface layer, business logic layer and data access layer, in order to realize the modularity and easy maintainability of the system. Users can access the system through a web browser, register an account online, select the test subjects, complete the test, and check the scores. The system also has the administrator background management function, the administrator can manage the test subjects, add the test questions, monitor the test process, and generate the test report. The stability and reliability of the system are verified through experiments and testing, indicating that the system can meet the needs of online examination and has a good user experience.
Keywords: Online examination; C #
目 录
第1章 绪论
1.1研究背景
随着信息技术的发展和互联网的普及,教育行业也逐渐向数字化转型。在线教育、远程教育等模式的普及,使得在线考试系统成为教育机构和培训机构必备的工具。在线考试系统相比传统考试方式具有诸多优势,如方便快捷、灵活便利、节省成本、减少作弊等,因此受到了广泛关注和应用。
在现代教育中,传统的纸质考试逐渐显得笨重和低效,而在线考试系统能够有效提高考试的效率和准确性。学生可以随时随地进行考试,不再受时间和地点的限制,为学习和测试提供了更便利的途径。教育机构可以通过在线考试系统实现试题的自动生成和自动打分,减轻教师的负担,提高考试的效率和公平性。此外,在线考试系统还可以实现对考试过程的实时监控、数据分析和报告生成,帮助教师和管理者更好地了解学生的学习情况和考试表现,为教学管理提供科学依据。
基于C#的在线考试系统的设计与实现,正是为了满足这一教育需求而提出的。借助C#这一成熟且强大的编程语言,结合ASP.NET等技术,可以快速开发出功能强大、稳定可靠的在线考试系统,为教育机构和学生提供便利的在线考试服务。通过系统的设计与实现,可以进一步促进教育信息化的发展,提升教学质量和效率,推动教育教学的创新和发展。
1.2研究意义
基于C#的在线考试系统的设计与实现在现代教育领域具有重要的研究意义和实践价值。随着信息技术的快速发展和互联网的普及,教育行业迎来了数字化转型的时代,而在线考试系统作为其中的重要组成部分,为教育机构和学生提供了更为便捷、高效、灵活的考试方式。以下是基于C#的在线考试系统的研究意义:
促进教育信息化发展:在线考试系统的设计与实现是教育信息化发展的重要举措之一。借助C#等编程语言和技术,可以打造功能完善、性能稳定的在线考试平台,推动教育信息化进程,提升教育教学的现代化水平。
提高教学效率和质量:在线考试系统的应用能够有效提高教学效率和质量。教师可以通过系统自动生成试题和自动评分,节省大量的时间和精力,将更多的精力投入到教学内容的设计和教学方法的改进上,从而提高教学质量。
强化教育公平性:在线考试系统能够减少人为因素对考试结果的影响,强化考试的公平性和客观性。系统可以实时监控考试过程,防止作弊行为的发生,确保考试的公正性,为学生提供公平的竞争环境。
提供个性化学习支持:在线考试系统可以根据学生的学习情况和表现,提供个性化的学习支持和指导。通过对考试数据的分析,系统可以识别学生的学习特点和问题,为学生量身定制学习计划和教学资源,帮助其更好地提高学习效果。
推动教学方法创新:在线考试系统的引入促进了教学方法的创新和改进。教师可以通过系统分析学生的答题情况和考试表现,及时调整教学内容和方法,更好地满足学生的学习需求,提升教学效果。
综上所述,基于C#的在线考试系统的设计与实现不仅是教育信息化发展的需要,也是提高教学效率、保障教育公平、促进教学质量提升的重要途径。通过持续的研究与实践,不断完善和优化在线考试系统,将为教育教学的创新和发展注入新的活力和动力。
1.3论文结构与章节安排
论文将分层次进行编排,除去论文摘要致谢文献参考部分,正文部分主要结构如下:
第一章:绪论,此章节对在线考试系统的设计和实现的的背景以及意义进行详细的论述以及说明,同时进行了论文整体框架的结构的简要介绍。
第二章:系统分析,此章节所做的主要的工作是对在线考试系统进行了技术、经济和操作方面可行性的分析;对在线考试系统实行了总体功能的需求、用例分析。
第三章:系统总体设计,主要是对在线考试系统的功能结构进行设计,并对在线考试系统数据库的概念结构以及物理结构的设计进行了分析。
第四章:系统详细设计与实现,根据在线考试系统功能的划分,分别的对在线考试系统所需要实现的前台用户功能和后台管理员功能进行了分析和说明。
第五章:系统测试,主要介绍了在线考试系统测试目的和对在线考试系统的部分功能界面进行测试并对测试结果作出总结。
第六章:结论,主要对在线考试系统的开发设计工作进行总结。
第2章 系统分析
系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。下面是详细的介绍。
2.1可行性分析
C#作为一种稳定且广泛使用的编程语言,配合ASP.NET框架,在Web应用开发领域有着丰富的实践经验和成熟的技术支持。结合SQL Server数据库,可实现高效的数据存储和管理。同时,C#语言在安全性和稳定性方面的优势,也能为在线考试系统提供可靠的保障。因此,从技术层面分析是可行的。
系统采用B/S架构,用户只需要通过浏览器即可访问系统,无需安装额外的软件。同时,系统的操作界面简洁明了,易于理解和使用,用户无需具备专业的计算机知识即可进行操作。因此,从操作层面分析是可行的。
随着科技的快速发展,市场对在线考试系统的需求日益增长。该系统能帮助教师高效管理学生考试,提高批改试卷的效率,具有广泛的市场前景。因此,从社市场角度分析是可行的。
2.2系统功能分析
按照在线考试系统的角色,主要划分为学生用户、教师用户和管理员这三大功能模块,各模块功能如下:
1.学生用户功能
(1)注册登录:新用户可以通过注册成为系统用户,已注册用户可通过账号密码进行登录。
(2)首页:学生用户可以查看首页展示的轮播图、公告、新闻资讯等信息。
(3)公告消息:学生用户可以查看系统发布的网站公告、关于我们、联系方式、网站介绍等信息。
(4)新闻资讯:学生用户可以查看新闻资讯列表中某一资讯的详情并可以进行点赞、收藏和发表评论操作。
(5)我的:学生用户点击我的头像的下拉按钮“我的账户”进入页面可以修改个人信息和密码;点击“个人中心可以查看和管理个人中心中的个人首页、班级学生和收藏信息;点击“退出”即可退出系统登录。
2.管理员功能
(1)登录:管理员的账号和密码是事先在数据库中设定好的,管理员可以通过在后台输入正确的账号和密码进行登录。
(2)后台首页:管理员可以查看后台首页展示的试卷评价分统计、考试成绩统计图表信息。
(3)系统用户:管理员可以查看系统用户(管理员、教师用户、学生用户)列表中某个用户的详情,可以对系统用户信息进行增删改查操作。
(4)班级信息管理:管理员可以查看班级信息列表中的某个班级的详情,可以对班级信息进行增删改查操作。
(5)班级学生管理:管理员可以查看班级学生信息列表中的某个学生的详情信息,可以对学生信息进行删改查操作。
(6)系统管理:管理员在“系统管理”这一菜单可对轮播图进行管理,可以对轮播图信息进行增删改查操作。
(7)公告消息管理:公告消息管理界面是管理员用来管理系统中的公告消息的界面,管理员可以对公告消息信息进行增删改查操作。
(8)资源管理:在资源管理界面,管理员对新闻资讯和资讯分类进行管理,可以对新闻资讯、资讯分类信息进行增删改查操作。
(9)考试管理:在考试管理界面,管理员对科目列表、试题库、错题记录和试卷列表进行管理,可以对科目列表、试题库、错题记录和试卷列表信息进行增删改查操作。
3.教师用户功能
(1)登录:教师的账号有管理员添加好的,教师可以通过在后台输入正确的账号和密码进行登录。
(2)班级信息管理:教师用户可以查看自己班级的信息,可以对班级信息进行改查操作。
(3)班级学生管理:教师用户可以查看自己班级学生信息列表中的某个学生的详情信息,也可以对自己学生信息进行删改查操作。
(4)考试管理:在考试管理界面,教师用户对科目列表、试题库、错题记录和试卷列表进行管理,可以对科目列表、试题库、错题记录和试卷列表信息进行增删改查和批改操作。
2.3系统用例分析
通过2.2功能的分析,得出了本系统的用例图:
学生用户用例图如下图2-1所示。
图2-1 学生用户用例图
管理员用例图如下图2-2所示。
图2-2 管理员用例图
教师用户用例图如下图2-3所示。
图2-3 教师用户用例图
2.4系统流程分析
系统流程是用一些特定的符号和线条来进行演示用户在使用系统时的过程,在进行系统分析的时候,系统流程可以帮助开发人员更好的理解业务,发现错误,完善系统。
2.4.1 用户登录流程
用户通过登录才能访问系统及权限以内的功能,对此将实现各种应用及管理等功能,用户登录流程图如下图2-4所示。
图2-4用户登录流程图
2.4.2数据删除流程
如果系统里面存在一些没用的数据,相关的管理人员还可以对这些数据进行删除,数据删除流程如下图2-5所示。
图2-5 数据删除流程图
2.5本章小结
本章主要通过对在线考试系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个在线考试系统要实现的功能。同时也为在线考试系统的代码实现和测试提供了标准。
第3章系统设计
本章主要讨论的内容包括在线考试系统的架构设计、功能模块设计、数据库系统设计。
3.1 系统架构设计
本在线考试系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
图3-1 系统架构设计图
表现层(UI):又称UI层,主要完成本系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本在线考试系统时的舒适度。UI的界面设计也要适应不同版本的在线考试系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。
业务逻辑层(BLL):主要完成本系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):由于本系统的数据是放在服务端的MySQL数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本系统的数据存储和管理功能。
3.2 系统功能模块设计
3.2.1整体功能模块设计
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本在线考试系统中的用例。那么接下来就要开始对系统主要功能进行设计。根据前面章节的需求分析得出,其总体功能模块图如下图3-2所示。
图3-2 系统功能模块图
3.2.2用户模块设计
用户模块是系统中一个重要的功能模块,它涉及用户的注册、登录、个人信息管理等操作。在用户模块设计中,我们将定义用户数据的结构和属性,包括用户名、密码、邮箱等。同时,还需要实现用户注册、登录、修改密码等功能,并对用户输入进行验证和处理。用户模块的结构图如下图3-3所示。
图3-3用户模块结构图
3.2.3班级信息管理模块设计
班级信息管理模块是本系统中的重要功能之一。该模块的设计旨在提供对班级信息的添加、编辑、删除和查看等管理功能,以便及时、准确地向系统用户添加相关的班级信息。其模块功能结构图如下图3-4所示:
图3-4班级信息管理模块结构图
3.2.4评论管理模块设计
在线考试系统是一个学习性质的公开平台,用户可以对新闻资讯、公告信息进行评论,增加用户之间的互动性。但是同时也为了更好的规范评论的内容,管理员可以删除不合适的评论,其模块功能结构图如下图3-5所示:
图3-5评论管理模块结构图
3.3数据库设计
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
3.3.1 数据库概念结构设计
在线考试系统中主要的数据库表总E-R实体关系图如下图3-6所示。
图3-6 系统总E-R图
3.3.2逻辑结构设计
数据库是在线考试系统的数据处理的基础,也是为界面数据的展示与存储的关键。在线考试系统的数据库表如下。
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | token_id | int | 10 | 0 | N | Y | 临时访问牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 临时访问牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大寿命:默认2小时 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用户编号: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | article_id | mediumint | 8 | 0 | N | Y | 文章id:[0,8388607] | |
2 | title | varchar | 125 | 0 | N | Y | 标题:[0,125]用于文章和html的title标签中 | |
3 | type | varchar | 64 | 0 | N | N | 0 | 文章分类:[0,1000]用来搜索指定类型的文章 |
4 | hits | int | 10 | 0 | N | N | 0 | 点击数:[0,1000000000]访问这篇文章的人次 |
5 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
6 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
8 | source | varchar | 255 | 0 | Y | N | 来源:[0,255]文章的出处 | |
9 | url | varchar | 255 | 0 | Y | N | 来源地址:[0,255]用于跳转到发布该文章的网站 | |
10 | tag | varchar | 255 | 0 | Y | N | 标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开 | |
11 | content | longtext | 2147483647 | 0 | Y | N | 正文:文章的主体内容 | |
12 | img | varchar | 255 | 0 | Y | N | 封面图 | |
13 | description | text | 65535 | 0 | Y | N | 文章描述 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分类ID:[0,10000] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000]决定分类显示的先后顺序 |
3 | name | varchar | 16 | 0 | N | N | 分类名称:[2,16] | |
4 | father_id | smallint | 5 | 0 | N | N | 0 | 上级分类ID:[0,32767] |
5 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该分类的作用 | |
6 | icon | text | 65535 | 0 | Y | N | 分类图标: | |
7 | url | varchar | 255 | 0 | Y | N | 外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | class_information_id | int | 10 | 0 | N | Y | 班级信息ID | |
2 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
4 | class_name | varchar | 64 | 0 | N | N | 班级名称 | |
5 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | class_students_id | int | 10 | 0 | N | Y | 班级学生ID | |
2 | teacher_users | int | 10 | 0 | Y | N | 0 | 教师用户 |
3 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
4 | class_name | varchar | 64 | 0 | Y | N | 班级名称 | |
5 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
6 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
6 | title | varchar | 255 | 0 | Y | N | 标题: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | comment_id | int | 10 | 0 | N | Y | 评论ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 评论人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回复评论ID:空为0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 内容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵称: | |
6 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | exam_question_id | mediumint | 8 | 0 | N | Y | ||
2 | subject_name | varchar | 255 | 0 | Y | N | 科目名称 | |
3 | type | varchar | 20 | 0 | Y | N | 类型 | |
4 | title | varchar | 255 | 0 | Y | N | 题目 | |
5 | question_item | varchar | 500 | 0 | Y | N | 选项 | |
6 | answer | varchar | 500 | 0 | Y | N | 参考答案 | |
7 | score | double | 9 | 2 | Y | N | 总分 | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | hits_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 标题: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | praise_id | int | 10 | 0 | N | Y | 点赞ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 点赞人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 点赞状态:1为点赞,0已取消 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | student_users_id | int | 10 | 0 | N | Y | 学生用户ID | |
2 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
3 | student_gender | varchar | 64 | 0 | Y | N | 学生性别 | |
4 | student_age | varchar | 64 | 0 | Y | N | 学生年龄 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | subject_id | int | 10 | 0 | N | Y | ||
2 | name | varchar | 255 | 0 | Y | N | ||
3 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | exam_id | mediumint | 8 | 0 | N | Y | 考试id | |
2 | subject_name | varchar | 255 | 0 | Y | N | ||
3 | name | varchar | 32 | 0 | N | N | 考试名称:[2,32] | |
4 | duration | int | 10 | 0 | Y | N | 答题时长 | |
5 | score | double | 9 | 2 | Y | N | 总分 | |
6 | status | varchar | 10 | 0 | Y | N | 状态:启用、禁用 | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
9 | user_id | int | 10 | 0 | Y | N | 出题人 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | exam_question_id | mediumint | 8 | 0 | N | Y | ||
2 | subject_name | varchar | 255 | 0 | Y | N | 科目名称 | |
3 | type | varchar | 20 | 0 | Y | N | 类型 | |
4 | title | varchar | 255 | 0 | Y | N | 题目 | |
5 | question_item | varchar | 500 | 0 | Y | N | 选项 | |
6 | answer | varchar | 500 | 0 | Y | N | 参考答案 | |
7 | score | double | 9 | 2 | Y | N | 总分 | |
8 | question_order | int | 10 | 0 | Y | N | 排序 | |
9 | exam_id | mediumint | 7 | 0 | Y | N | 所属试卷 | |
10 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_answer_id | mediumint | 8 | 0 | N | Y | ||
2 | user_id | mediumint | 7 | 0 | N | N | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
3 | exam_id | mediumint | 7 | 0 | N | N | 0 | 考试id |
4 | score | double | 9 | 2 | Y | N | 0.00 | 分数 |
5 | answers | text | 65535 | 0 | Y | N | 答案 | |
6 | score_detail | text | 65535 | 0 | Y | N | 评分详情 | |
7 | objective_score | double | 9 | 2 | Y | N | 0.00 | 客观题得分 |
8 | subjective_score | double | 9 | 2 | Y | N | 0.00 | 主观题得分 |
9 | score_state | tinyint | 4 | 0 | Y | N | 0 | 评分状态 |
10 | nickname | varchar | 255 | 0 | Y | N | 提交人 | |
11 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
13 | comment_desc | varchar | 255 | 0 | Y | N | 评语 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | teacher_users_id | int | 10 | 0 | N | Y | 教师用户ID | |
2 | teachers_name | varchar | 64 | 0 | Y | N | 教师姓名 | |
3 | teacher_gender | varchar | 64 | 0 | Y | N | 教师性别 | |
4 | teacher_age | varchar | 64 | 0 | Y | N | 教师年龄 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | upload_id | int | 10 | 0 | N | Y | 上传ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 访问路径 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路径 | |
5 | display | varchar | 255 | 0 | Y | N | 显示顺序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父级ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夹 | |
8 | type | varchar | 32 | 0 | Y | N | 文件类型 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用户ID:[0,8388607]用户获取其他与用户相关的数据 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1可用|2异常|3已冻结|4已注销) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用户组:[0,32767]决定用户身份和权限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登录时间: |
5 | phone | varchar | 11 | 0 | Y | N | 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手机认证:[0,1](0未认证|1审核中|2已认证) |
7 | username | varchar | 16 | 0 | N | N | 用户名:[0,16]用户登录时所用的账户名称 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成 | |
10 | | varchar | 64 | 0 | Y | N | 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0未认证|1审核中|2已认证) |
12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 针对获取用户信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | vip_level | varchar | 255 | 0 | Y | N | 会员等级 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 会员折扣 |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | user_answer_id | mediumint | 8 | 0 | N | Y | ||
2 | subject_name | varchar | 255 | 0 | Y | N | 科目名称 | |
3 | question_item | varchar | 255 | 0 | Y | N | 选项 | |
4 | title | varchar | 255 | 0 | Y | N | 题目 | |
5 | type | varchar | 255 | 0 | Y | N | 题目类型 | |
6 | exam_id | mediumint | 7 | 0 | N | N | 0 | 考试id |
7 | score | double | 9 | 2 | Y | N | 0.00 | 分数 |
8 | answers | text | 65535 | 0 | Y | N | 用户提交的答案 | |
9 | answer | text | 65535 | 0 | Y | N | 参考答案 | |
10 | score_detail | text | 65535 | 0 | Y | N | 评分详情 | |
11 | objective_score | double | 9 | 2 | Y | N | 0.00 | 客观题得分 |
12 | subjective_score | double | 9 | 2 | Y | N | 0.00 | 主观题得分 |
13 | score_state | tinyint | 4 | 0 | Y | N | 0 | 评分状态 |
14 | nickname | varchar | 255 | 0 | Y | N | 提交人 | |
15 | user_id | int | 10 | 0 | N | N | 提交人ID | |
16 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
17 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用户组ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 显示顺序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名称:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述该用户组的特点或权限范围 | |
5 | source_table | varchar | 255 | 0 | Y | N | 来源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 来源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 来源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注册位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
3.4本章小结
整个在线考试系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
第4章 系统实现
4.1客户用户功能模块
4.1.1用户注册界面
用户点击首页右上方的“注册”按钮进入注册页面填写账号、密码、确认密码、昵称、邮箱、身份等信息后再点击“注册”按钮,系统将会对输入的信息进行验证,通过验证后即可完成注册。其界面如下图4-1所示。
图4-1 用户注册界面图
注册的代码如下所示:
public object Register(JObject obj)
{
var username = obj["username"].ToString();
if (DapHelper.Exists(TableName, "and username=@username", new Dictionary<string, object>
{
{ "username" , username}
}, DBName.Db))
{
return ReturnData.Error("该账号已存在");
}
var pwd = obj["password"];
var password = EncryptHelper.MD5(obj["password"].ToString());
Dictionary<string, object> dics = GetDics();
dics["password"] = password;
dics["user_group"] = obj["user_group"].ToString();
DapHelper.Add(TableName, dics, DBName.Db);
return ReturnData.Success();
}
4.1.2用户登录界面
已注册用户点击首页右上方的“登录”按钮进入登录页面输入用户名和密码并点击“登录”按钮,系统将会对输入的信息进行验证,验证通过后即可登录成功。其界面如下图4-2所示。
图4-2 用户登录界面图
登录的代码如下:
public class ValidateAuthorizeAttribute : ValidateAuthorityBase
{
protected override ReturnData ValidateTicket(string encryptTicket, System.Web.Http.Controllers.HttpActionContext actionContext)
{
ReturnData returnData = LoginHelper.Decrypt(encryptTicket);
if (returnData.code != 200)
{
return returnData;
}
UserLoginInfo userInfo = returnData.result as UserLoginInfo;
#region 验证登录状态
bool loginStatus = false;
if (CommonHelper.IsLoged())
{
UserLoginInfo userInfoFromSession = CommonHelper.GetUserLoginInfoFromSession();
if (userInfo.user_id == userInfoFromSession.user_id)
{
loginStatus = true;
}
}
else
{
loginStatus = LoginHelper.ValidateUserInfo(userInfo.user_id,
userInfo.username, userInfo.password);
if (loginStatus)
{
CommonHelper.SetUserSession(userInfo);
}
}
if (loginStatus == false)
{
return ReturnData.Error(30000, "登录失效,请重新登录!");
}
#endregion
return ReturnData.Success();
}
}
4.1.3前台首页界面
首页界面是用户访问系统的入口页面,它展示平台的主要功能和特色。用户可以查看首页展示的轮播图、新闻资讯等信息。其界面如下图4-3所示。
图4-3 前台首页界面图
4.1.4公告消息界面
用户可以查看系统发布的网站公告、关于我们、联系方式、网站介绍等信息。点击网站公告进入页面可以查看该公告的详细信息。其界面如下图4-4所示。
图4-4 公告消息界面图
4.1.5新闻资讯界面
学生用户可以查看新闻资讯列表中某一资讯的详情并可以进行点赞、收藏和发表评论操作。其界面如下图4-4所示。
图4-5 新闻资讯界面图
4.1.6在线考试界面
用户可以查看试题列表中某个试卷的详情并进行在线考试。其界面如下图4-6所示:
图4-6 在线考试界面图
4.1.7个人中心界面
点击右上角“我的”下拉按钮“个人中心”,进入个人中心页面可以查看个人首页、班级学生和收藏信息。其界面如下图4-7所示。
图4-7 个人中心界面图
添加的代码如下:
[HttpGet]
[HttpPost]
public virtual ReturnData add()
{
return baseService.Add();
}
4.2管理员功能模块
4.2.1系统用户界面
管理员可以查看系统用户(管理员、教师用户、学生用户)列表中某个用户的详情,可以对系统用户信息进行查询、重置、添加和删除操作。其界面如下图4-8所示:
图4-8系统用户界面图
删除的代码如下:
[HttpGet]
[HttpPost]
public object del()
{
return baseService.DeleteData();
}
4.2.2系统管理界面
管理员在“系统管理”这一菜单可以对轮播图进行管理。管理员可以查看轮播图列表中的某一轮播图信息详情,可以对轮播图信息进行查询、重置、添加和删除操作。其界面如下图4-13所示:
图4-13系统管理界面图
4.2.3公告消息管理界面
公告消息管理界面是管理员用来管理系统中的公告消息的界面。管理员可以通过该界面进行公告消息的创建、编辑、发布和删除等操作,以便向用户传达各种重要信息、公告、更新或事件等内容。其界面如下图4-14所示:
图4-14 公告消息管理界面图
4.2.4资源管理界面
在资源管理界面,管理员对新闻资讯和资讯分类进行管理。管理员可以查看新闻资讯列表中某一资讯详情和评论信息,可以查看资讯分类列表中某个分类的详情,可以对新闻资讯、资讯分类信息进行查询、重置、添加和删除操作。其界面如下图4-15所示:
图4-15 资源管理界面图
4.3教师用户功能模块
4.3.1班级信息管理界面
教师用户可以查看自己班级的信息,可以对班级信息进行改查操作。其界面如下图4-9所示:
图4-9班级信息管理界面图
查询的代码如下:
[HttpGet]
[HttpPost]
public object get_obj()
{
return baseService.GetObj();
}
[HttpGet]
[HttpPost]
[AllowAnonymous]
public virtual object get_list()
{
return baseService.GetList();
}
4.3.2考试管理界面
在考试管理界面,教师用户对科目列表、试题库、错题记录和试卷列表进行管理,可以对科目列表、试题库、错题记录和试卷列表信息进行增删改查和批改操作。其界面如下图4-10所示:
图4-10考试管理界面图
第5章 系统测试
5.1测试目的
无论什么样的系统,测试都至关重要,通过测试可以检查出潜藏的缺陷,从而确保系统的性能和稳定性,避免Bug的出现,并确保系统的功能和性价比达到预期的要求。
5.2系统测试用例
系统测试包括:用户登录功能、班级信息查看功能、轮播图添加功能、密码修改功能测试,如表5-1、5-2、5-3、5-4所示:
用户登录功能测试:
表5-1 用户登录功能测试表
用例名称 | 用户登录系统 |
目的 | 测试用户通过正确的用户名和密码可否登录功能 |
前提 | 未登录的情况下 |
测试流程 | 1) 进入登录页面 2) 输入正确的用户名和密码 |
预期结果 | 用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入 |
实际结果 | 实际结果与预期结果一致 |
班级信息查看功能测试:
表5-2 班级信息查看功能测试表
用例名称 | 班级信息查看 |
目的 | 测试班级信息查看功能 |
前提 | 客户用户登录 |
测试流程 | 点击班级信息 |
预期结果 | 可以查看到所有班级信息 |
实际结果 | 实际结果与预期结果一致 |
系统轮播图添加界面测试:
表5-3 系统轮播图添加界面测试表
用例名称 | 系统轮播图添加测试用例 | |
目的 | 系统轮播图添加功能 | |
前提 | 管理员用户正常登录情况下 | |
测试流程 | 1)管理员点击系统管理,然后点击轮播图进入添加页面填写信息。 2填写完成后点击提交。 | |
预期结果 | 提交以后,页面首页会显示新的轮播图信息 | |
实际结果 | 实际结果与预期结果一致 | |
实际结果 | 实际结果与预期结果一致 |
密码修改功能测试:
表5-4 密码修改功能测试表
用例名称 | 密码修改测试用例 |
目的 | 测试管理员密码修改功能 |
前提 | 管理员用户正常登录情况下 |
测试流程 | 1)用户密码修改并完成填写。 2)点击进行提交。 |
预期结果 | 使用新的密码可以登录 |
实际结果 | 实际结果与预期结果一致 |
5.3系统测试结果
通过编写在线考试系统的测试用例,已经检测完毕用户登录功能、班级信息查看功能、轮播图添加功能、密码修改功能测试,通过这四大模块的测试为在线考试系统的后期推广运营提供了强力的技术支撑。
第六章 结论
在开发在线考试系统之前,我们需对用户的实际需求进行深度剖析。这不仅包括对系统的可行性研究,还包括对功能需求和其他需求的分析。在可行性分析阶段,本人从技术性和经济性等多个角度对系统实现的可能性进行了全面评估,结果表明,该系统的实施是可行的。
本文首先概述了在线考试系统开发的背景及其意义,接着详细阐述了系统的具体业务需求,并根据这些需求对系统的结构以及功能模块进行设计。我们把这个系统划分为多个独特的功能模块,每个模块都具有其独特的功能和作用。
在深入分析系统功能需求的过程中,本人对系统的总体架构和功能模块进行了深入研究,并选择了最适合的系统开发技术来完成各个模块的开发工作。系统开发完成后,对系统进行了部署和测试。测试结果表明,该系统在功能和性能方面都满足了预期的要求,具有较好的稳定性和可靠性。
参考文献
[1]Durán J ,Hierro D L R F A ,Herrera F , et al.On-line linguistic Decision Support System based on Citizen Crowd Decision Making[J].Information Fusion,2024,108102416-.
[2]廖国龙,向巴卓玛,李浩,等.基于敏捷数据管理方法论的医学在线考试系统研究与设计——以北京中医药大学为例[J/OL].中医教育,1-10[2024-05-01].http://kns.cnki.net/kcms/detail/11.1349.R.20240403.2144.040.html.
[3]Houfek K ,Benda J ,Mašín Z , et al.UKRmol-scripts: A Perl-based system for the automated operation of the photoionization and electron/positron scattering suite UKRmol+[J].Computer Physics Communications,2024,298109113-.
[4]Wang T ,Yu G Z ,Li J .CGRWDL: alignment-free phylogeny reconstruction method for viruses based on chaos game representation weighted by dynamical language model[J].Frontiers in Microbiology,2024,151339156-1339156.
[5]Wenzheng D ,Dan W ,Leizhi K , et al.Development of a computer-aided design system for casting process based on UG/KF language[J].The International Journal of Advanced Manufacturing Technology,2024,131(12):5745-5758.
[6]Roy S ,Vuong P D ,Jana K D .Priority-aware scheduling method based on linguistic interval type 2 fuzzy logic systems for dense industrial IoT networks employing soft computing[J].Results in Control and Optimization,2024,14100391-.
[7]唐涛,王祎冰,简峰,等.无线电监测技术演练在线考试学习平台系统构建[J].数字通信世界,2024,(02):102-105.
[8]Yan N .A Study on the Ideological and Political Education of College English Based on Systemic Functional Linguistics[J].Curriculum Learning and Exploration,2024,2(2):
[9]余久久,张继山,吴宁,等.智慧校园视域下基于LAMP的在线考试系统敏捷设计与实现[J].西昌学院学报(自然科学版),2023,37(04):48-54.DOI:10.16104/j.issn.1673-1891.2023.04.009.
[10]欧文辉.基于ThinkPHP框架的高校在线考试系统的应用研究[J].科技风,2023,(25):84-86.DOI:10.19392/j.cnki.1671-7341.202325028.
[11]马燕芹,陈海田,张振峰,等.基于云原生的智能在线考试系统设计与实现[J].电脑知识与技术,2023,19(25):48-51.DOI:10.14004/j.cnki.ckt.2023.1405.
[12]付冬芹.在线考试系统的设计与实现[D].北京交通大学,2023.DOI:10.26944/d.cnki.gbfju.2023.000427.
[13]李曼玉,朱宏程,苏蕾,等.基于教考分离的在线考试系统设计研究[J].电脑编程技巧与维护,2023,(08):7-9.DOI:10.16184/j.cnki.comprg.2023.08.020.
[14]李伟,金梁.基于WAMP架构的Web在线考试系统设计[J].自动化技术与应用,2023,42(05):162-165.DOI:10.20033/j.1003-7241.(2023)05-0162-04.
[15]柯圣.基于Java的在线考试系统的研究与设计[J].电脑知识与技术,2023,19(13):52-54.DOI:10.14004/j.cnki.ckt.2023.0676.
[16]王晖.基于.NET语言在线考试系统的设计与实现[J].电子技术与软件工程,2021,(05):154-155.
[17]王学梅.基于移动端的C语言在线考试系统的设计与实现[J].信息技术与信息化,2020,(12):187-189.
[18]李志龙,席润芝,李宇龙.跟“龙哥”学C语言编程[M].电子工业出版社:202007.324.
[19]魏宜.C语言编程在线考试系统设计与实现[D].华中科技大学,2020.DOI:10.27157/d.cnki.ghzku.2020.005853.
[20]王新宇.基于JSP的C语言公共课在线考试系统的研究与开发[D].吉林建筑大学,2019.
致谢
我首先要感谢我的论文指导老师。在论文的完成过程中,是在指导老师的精心指导下完成的。在论文的完成过程之中,导师对我的耐心地指导,提出了建设性意见给了我巨大的帮助,倾注了大量的心血。导师严谨的治学态度、一丝不苟的敬业精神、高水平的教学能力都给我树立了成功的典范,这对于我以后的生活和学习中都起到了巨大的积极的影响。
与此同时,我还要感谢我班的同学们对我的关怀和帮助,他们又是我的同学,又是我的朋友,同时也是我学习的榜样。正是由于大家给予我的大力支持才使我顺利地完成了大学学业,感谢在大学期间给予我帮助的所有老师和同学们。
最后,我还要感谢我的父母,你们的养育之恩我永远不会忘记,将来我也要用我的成绩回报你们。
免费领取项目源码,请关注❤点赞收藏并私信博主,谢谢-