《网站规划与设计》期末论文

校外学习中心:湖南交通工程学院 学号:20161202011009x姓名 :xxx   成绩

 

 

学生在线选课系统的设计与实现

 

 

 

摘要

随着社会的发展,信息科技已经影响到我们的方方面面。将计算机、通信、数学等技术应用到教育领域,提高学校运营效率,提升教学工作的质量成为新时期教育信息化建设的必然趋势。因此,实现便捷、高效、稳定的学生在线选课系统对于现代化的教育发展是至关重要的。

基于.NET平台和SQL Server数据库技术,利用B/S框架设计和开发学生在线课程选择系统[1]。系统分为学生模块、教师模块和管理员模块。其中,学生模块主要包括查看可选课程、选择可选课程、修改已选课程、删除已选课程、修改用户信息的功能。教师模块主要包括:检查教学信息、检查学生信息、检查已选本课程学生信息。管理员模块主要包括添加用户和课程信息,删除用户和课程信息,修改用户和课程信息,检查用户和课程信息,修改管理员的用户信息功能。

 

关键词:选课;教育;在线;B/S

 
目录

摘要 I

ABSTRACT II

1  前言 1

1.1 选题的目的和意义 1

1.2 国内外研究现状 1

1.3 本文的组织结构 2

2  相关技术 3

2.1 ASP.NET 3

2.2 SQL Server 3

2.3 Microsoft Visual Studio 4

2.4 B/S 4

3 系统分析 5

3.1 系统可行性分析 5

3.1.1 经济可行性 5

3.1.2 技术可行性 5

3.1.3 社会可行性 5

3.2 功能性需求分析 5

3.3 非功能性需求分析 6

3.4 系统用例分析 6

4  系统总体设计 9

4.1 系统功能分析 9

4.2 数据库的设计 9

4.2.1 数据库设计原则 10

4.2.2 概念结构设计 10

4.3.3 逻辑结构设计 12

4.3.4 数据库表设计 13

5  系统详细设计与实现 15

5.1登录模块 15

5.2 学生模块的设计与实现 16

5.2.1 选择可选课程 16

5.2.2 删除已选课程 16

5.3 教师模块设计与实现 16

5.3.1 查看授课信息 16

5.3.2 查看学生信息 17

5.4 管理员模块的设计与实现 18

5.4.1 添加学生用户信息 18

5.4.2 添加教师用户信息 19

5.4.3 管理教师用户信息 20

6  系统测试 22

6.1 系统测试目标和方法 22

6.2 系统测试用例 22

6.2.1 系统登录测试 22

6.2.2 管理员删除学生测试 23

6.2.3 管理员添加教师测试 23

结论 24

致谢 25

参考文献 26

 

 

 

1  前言

随着计算机技术的普及应用,我国已步入信息化时代。教育信息化建设是推进教育行业整体信息化建设步伐的重要部分,而互联网的发展也必将促使教育行业进入大数据时代,为构建相对完善的教育系统,要充分借鉴国内外研究经验,为系统开发与设计提供参考。

1.1 选题的目的和意义

在信息快速的时代背景下,以传统的学校管理工作在当今社会已经无法适应。手工管理学校教育信息的工作也无法满足现代化教育管理工作的需求,对高校科研项目开展有着制约性影响。

现代化信息社会中,人们对信息资源的获取效率和更新速度有着较高的要求,因此在教育工作中要实现资源优化管理,提高教育效率,满足庞大信息与数据的自动化处理。通过调查了解到,目前我国较多大中型学校管理工作仍以传统模式为主,在推行教育系统应用过程中,缺乏专业技术人员,对系统软件的操作能力较差,无法成熟运用。因此针对这种现状在线选课系统应用进一步完善,并实现自动化设计,使应用更加便捷、灵活、高效。本文研究的重要意义就在于基于此背景下进行自动化教育系统的设计开发,以促进教育资源优化,提升学校整体管理效率。

充分结合计算机技术以及信息处理技术,将教育模式优化,并实现教育信息集成化、数字化管理,基于全自动教育系统设计,进行统一集成教育信息资源管理。这一自动化系统的设计与实现,对推动教育与科研开展都有着重要意义。

本文在研究过程中以系统应用高效为中心,旨在实现自动化教育系统设计。在线选课系统中包括学校内部教育以及资源共享问题。通过建立一个用户操作便捷、灵活、检索高效的在线选课系统,以用户体验为中心,实现自动化、人性化系统设计,推进高校整体信息化建设。

1.2 国内外研究现状

20世纪中期,在美国“阿帕”项目的支持下,互联网开始形成并迅速发展起来,但此时互联网依然是一项属于专业人士的工具,伟大的伯纳斯·李为了互联网的普及与发展,放弃专利申请[2]。让全世界网民免费使用这项技术,使互联网真正进入了全民时代。在这样的背景下,教育产业也进入了互联网时代。

然而由于国外进入信息化时代较早,信息化教育概念也随之提出,国外信息化教育系统发展的繁荣时期是上世纪九十年代中后期,在这段历史时期中计算机技术高速发展,信息化教育系统依托于Internet技术实现创新突破发展,如数据库技术、Web 技术等等。

信息化教育是信息化技术在教育领域的新应用,基于教育刚性需求的不断扩大,到目前为止信息化教育正以前所未有的速度快速发展。我国高等教育正在实行扩招政策。Internet技术逐渐实现普及应用,对人们的工作、生活都产生了巨大影响,也促进了文化、信息的全球化传播。教育信息相关的系统与Internet技术相融合,使教育系统更加完善,应用更加高效。对中国的教育信息系统的设计借鉴了国外系统的研究理论的发展,数据库技术的不断革新,联机分析处理,和其他技术来加强中国的信息技术教育的技术支持系统。

1.3 本文的组织结构

本文以湖南涉外经济学院为例,为满足广大学生用户和教师用户的需求,提高系统整体应用效率,实现自动化、数字化系统的设计与实现,本文主要分为六个部分进行详细论述:

第一部分,针对学生在线选课系统的研究现状以及研究背景的分析,明确本文研究意义,为本文提供理论依据,进而形成本文理论研究框架;

第二部分,包括了Ado.net技术和ASP.net概述以及SQL server数据库技术,总结本文研究过程中应用的关键技术;

第三部分,本系统设计主要需要分析、系统数据流程图分析和系统功能分析以及系统设计的可行性分析;

第四部分,主要介绍了系统功能和系统的总体框架,以及系统数据库的逻辑结构设计和概念结构设计;

第五部分,这是本文的重点研究部分。主要介绍了各功能模块的设计与实现,主要介绍了最核心系统的功能;

第六部分,主要是系统测试部分,明确测试目标,运用有效测试方法进行系统要点测试,并得出有效系统测试结论。

 

 

 

 

 

 

 

 

 

2  相关技术

2.1 ASP.NET

ASP是微软公司的一项技术,它是一种服务器端脚本技术,允许嵌入在网页中的脚本由因特网服务器执行[3]。

ASP是动态服务器页面。它与SQL Server和其他数据库有很好的兼容性。ASP.NET有很多自己的特点。首先,NET Framework中的类可以编写ASP.NET程序代码时访问。其次,ASP.NET提供简便、结构性强的代码共享方便,它可用任何与公共语言运行库兼容语言来写。ASP.NET还优化数据绑定和服务器控件,并使用Web控件和缓冲技术和页面事件。本系统平台所有页面均利用该Web开发模型进行开发。

组件可以由脚本程序调用,或者其他组件可以调用其他数据,aspnet_isapi.dll处理页面的一个流程如图2.1所示。

 

图2.1 aspnet_isapi.dll处理流程图

当客户端请求服务器资源时,HTTP请求被inetinfo.exe进程拦截(WWW服务),然后Check请求资源的类型,并根据资源映射信息将请求的资源分配给特定的处理器模块(存储在IIS元库中,一个IIS专用配置数据库)。允许程序开始处理代码,生成标准HTML代码,然后将HTML添加到原始HTML,最后返回完整的HTML到IIS,然后将内容发送给客户的浏览器。

2.2 SQL Server

“数据库连接池”其实是后台数据库与Web应用程序可靠的连接纽带。通常,Web应用程序是多个用户访问的主要位置,若能够与数据库进行充分连接,则可发挥数据库资源的重要作用。也就是说,数据库连接池功能与Web相关性能及指标息息相关,关系到程序自身的伸缩功能,数据库连接池正是有效解决上述问题的关键性技术。数据库连接池可对数据库中相关信息进行合理分配,并发挥管理作用,进而能够显著提升数据库本身的操控性能。与此同时,数据库连接池可释放>最大空闲时间的数据,进而有效防止数据库连接过程中可能出现的遗漏情况[4]。在C#所开发的系统中,开源数据库连接池的应用原理为:事先在数据库缓冲池内部添加数量适合的连接,在需要创建相应的数据库连接功能时,仅需要在数据库连接池中取出对应部分,即可完成操作。应用完成后,要将对应部分放回原先的位置。这种使用连接池的方法可以充分利用数据库中的相关连接。它还可以为应用程序的可靠性和稳定性提供科学的保证,并能有效地提高应用程序的速度,使数据库访问活动更快更方便。

2.3 Microsoft Visual Studio

Visual Studio是一种基于组件和其他技术的软件开发工具,可用于构建功能强大、高性能的应用程序。它的集成开发环境(IDE)接口已被重新设计和组织,以使其更易于理解。它可以创建运行ASP.NET 5网站的跨平台(包括Windows,Linux和Mac)。Visual Studio 2015集成了微软研究院的单元测试技术。更好的代码编辑器。代码编辑器已被“Roslyn”取代,它将为您提供不同的代码编辑体验。当你想修复代码时,会出现一个小灯泡。 它会为您提供一系列修复代码的程序。你只需要选择。

2.4 B/S

B/S结构(Browser/Server,Browser/Server模式)是Web兴起后的一种强大的网络结构模式,WEB浏览器是客户端最重要的应用软件。该模型统一了客户端,将系统的核心功能集中到服务器上,简化了系统的维护、开发和使用[5]。只要客户端安装浏览器,如Internet Explorer或Netscape导航器,服务器就会安装Oracle或者SQL Server或者其他数据库。浏览器通过Web服务器与数据库进行交互。


3 系统分析

3.1 系统可行性分析

3.1.1 经济可行性

使用现有的校园网络,计算机和配套设备,系统可用于选择课程而无需特殊设备;该系统非常简单,不需要特殊培训;系统的功能可以大大提高课程选择的效率,并且可以对学校课程的选择做出更大的贡献。该软件系统已经在指导员的帮助下完成,没有任何费用。

3.1.2 技术可行性

在软件方面,系统采用流行的B / S模式,并结合.NET技术。在硬件方面,科学技术的飞速发展带来了硬件的快速更新。高容量,高可靠性和经济实惠的价格使通用硬件平台能够满足系统的需求。

3.1.3 社会可行性

学生网上选课系统设计与实施的社会可行性研究是分析系统投入使用后对社会可能产生的影响。系统建成后,首先是提高学校教师的工作效率。二,学生选择课程比较方便,三是为学生提供免费课程。

3.2 功能性需求分析

通过对湖南涉外经济学院的教务工作的了解,以选课业务现状为背景。根据需求进行系统划分,进而实现完成的系统设计。

根据不同系统的功能以及面向群体不同,各个角色的职能和功能也不同。主要系统和功能如下:

  1. 学生模块

学生模块顾名思义是由学生根据自身一些需求进行相关的选择,比如对喜欢的课程修改,添加或者删除功能,同时也能管理选择的课程。

  1. 教师模块

教师模块,基本功能:查看学生的信息,查看自己授课的信息,查看选择本课程的学生信息,也可以修改相关账号的账号密码。教师可以对自己所教授的课程进行管理工作。

  1. 管理员模块

新教师入职成功后,需要在本系统的教师管理中新增教师信息,同时有教师离职,也可以通过删除教师功能进行删除操作。同时有新增、删除和修改学生信息的权利。

3.3 非功能性需求分析

系统设计与开发中其性能要求良好,以保障用户应用便捷。首先,执行时间方面性能方面需要进行调整,查询时间应当被控制在5s时间之内;其次,系统具有可伸缩性特征。通过增加硬件以及相关资源的方式对系统容纳情况变化加以适应,通过这种方式就能够对应用程序当中是否可以获取更多资源与强化执行进行评估与衡量。

系统的安全性也是系统开发设计中的重要需求。系统安全性控制方面。针对系统中数据信息实施安全性检查,避免出现黑客利用木马对数据以及信息进行攻击,防止造成损失。该系统可以记录和保存发送请求的IP地址和物理地址,还减少了通过IP交换机侵入办公信息资源系统的机会。系统数据保密性方面。系统当中通过进行数据加密技术可以更加安全的确保信息传送具有隐蔽性、安全性以及完整性。访问可控性方面。通过这种非功能性需求分析,可以有效控制系统访问情况,这样就能够确保不同管理人员角色方面的特殊性。系统还应当拥有身份认证以及权限控制机制设计功能,可以安全的完成对访问者的身份认证,并对授权更加谨慎,对所有访问登记到访问日志当中。恢复功能方面。系统使用的过程中应当提升有意或者是无意造成的损害,一旦数据受到攻击,系统需要设计形成自动恢复的功能。系统遭受到灾难性的破坏之后,通过进行经常性的备份以及快速回复也能够让系统损失降到最低。系统可维护功能方面。系统管理人员通过进行参数设置可以对实际业务与任务流程进行控制,数据修改必须受到控制,这个过程中必须经过高级授权才能够认证并操作相对应的应用系统当中,结合授权完成具体操作内容。

3.4 系统用例分析

用例分析是从用例模型到分析模型的过程,是需求与设计的桥梁。 用例图是从软件需求分析到最终实施的第一步。它描述了人们如何使用该系统。用例视图显示了相关用户是谁,用户需要为系统提供什么服务,以及用户希望系统提供什么服务[6]。这样系统的用户可以更容易地理解和操纵用户所使用的元素,并帮助软件开发。ER终于实现了这一点。用例图广泛用于各种开发活动,但它们通常用于描述系统和子系统。 用例图有三个主要功能:获取需求,指导测试,并指导整个过程中的其他工作流程。

因此,接下来我们将通过用例图的形式对整个系统进行分析。根据对学校老师及同学的需求调研,公司角色主要分为三类:学生,教师,系统管理员。对于不同的角色,系统可供操作的功能模块的权限自然不同。

  1. 学生通过登录操作成功进入系统后,将可以操作在线选课系统,学生用例如图3.1所示。

 

图3.1学生用例图

  1. 教师通过登录操作进入系统后,将可以操作选课系统、查看授课信息、查看学生信息,教师用例如图2所示。

 

 

图3.2教师用例图

 

 

 

 

3.管理员通过登录操作系统成功进入系统后,将可以进行学生信息管理、教师信息管理、课程管理。管理员用例如图3.3所示。

 

图3.3管理员用例图

 

 

 

 

 

 

 

 

4 系统总体设计

系统设计是新系统的物理设计阶段。通过上一个章节的研究,我们已经知道了用户的所求。在用户提供的环境中,我们设计了一个可以在计算机网络环境中能运行的方案,即建立新系统的物理模型[7]。该阶段是设计软件系统的模块层次结构,并根据所需要的功能设计模块的控制过程。目的是确定软件系统是如何完成的。

4.1 系统功能分析

概要设计是软件结构的设计,包括组成模块,模块级别,每个模块的功能等。以下两个方面将从整体设计和模块划分来解释。概要设计是制定软件概要设计说明,说明系统模块的划分,并选择技术路线。它也解释了软件的实现,并指出了关键的技术难点。

整个学生在线系统分为三个模块:学生用户和教师用户,管理员用户。系统设计中的一个重要设计思想是系统模块化,它将复杂的系统功能分解为更简单、更容易创建和修改的组件。

清晰地反映内部组织关系是功能结构图主要的目的,为了使其更加连贯,我们制定了更清晰的内部逻辑关系。学生在线课程选择系统的功能模块如图4.1所示。

 

图4.1系统功能模块图

4.2 数据库的设计

数据库设计是指根据用户需求设计数据库结构,建立基于特定数据库管理系统的数据库的过程[8]。数据库设计是建立数据库及其应用系统的技术,是信息系统开发建设的核心技术。本章从数据库设计原则、逻辑结构设计、概念结构设计和数据库形式设计四个方面阐述了学生在线选课系统的数据库设计。

4.2.1 数据库设计原则

我决定使用SQL Server数据库作为在线课程选择系统的数据库管理系统。SQL Server是微软公司推出的关系型数据库管理系统。它具有操作简单,扩展性好,相关软件集成度高的优点。但一个好的应用系统并不是基于一个好的数据库。设计了合理的数据库模型,降低了服务器编程和维护的难度,提高了系统的实际运行效率。在设计数据库时,我们应该遵循以下原则:

  1. 综合考虑数据库的规范化

对于通用数据库设计,至少应该满足前3条标准。

第一个规范:每个组件必须是不能分开的原子量。

第二范式:对非主要属性的主键不存在局部依赖。

第三种方式是不存在对非主属性主键的局部依赖,也不存在传输依赖。

数据库设计遵循这些规则可以减少数据冗余。但对于多表查询,尤其是是大数据,其性能会降低许多,客户端的编程难度也会相应增加。对于大数据项目,我们可以考虑违反第三范式的要求并适当地改进数据冗余设计。

  1. 数据的完整性和一致性

设计了大量的表间关联是为了保证数据库的一致性和完整性。这样,父表和子表的插入,更新和删除将花费很多。

  1. 合理使用指数

索引的主要目的是提高查询速度。该索引是在频繁排序和分组的列上设置的。但通常少量的数据不会被索引。

4.2.2 概念结构设计

在E-R图中,实体,属性和关系用于表示数据之间的关系。

实体:矩形表示矩形框中的实体名称。

属性:由椭圆表示并通过无向边连接到相应的实体。

联系人:实体之间的关系。在菱形框中,联系人名称用菱形框表示。由直线连接的实体。

在学生在线课程选择系统中,主要实体是学生,教师,课程等。

  1. 学生的属性包括:学生编号,姓名,性别,班级学生实体图等等,如图2所示。

 

图4.2 学生实体图

  1. 教师,其属性包括:教师ID、姓名、性别、职称。教师实体图如图3所示。

 

图4.3 教师实体图

  1. 课程,其属性包括:课程名称、学时、学分、授课老师。课程实体图如图4.4所示。

 

图4.4 课程实体图

 

4.班级,其属性包括:班号、班主任、班长。课程实体图如图4.5所示。

 

图4.5 班级实体图

 

根据系统各个部分的实体图以及各个部分的主要功能分析,得出本教学评价系统的总体E-R图如图4.6所示。

 

图4.6 总体E-R图

4.3.3 逻辑结构设计

从概念设计阶段获得的概念模型转换为由特定DBMS支持并优化的数据模型是逻辑结构设计阶段的任务[9]。逻辑结构设计一般分为三个步骤:1.从E-R图到关系模式。数据库的逻辑设计其实是将概念模型转换为通用关系模型和关系视图设计以及数据模型优化。我们将之前的实体关系模型(E-R图)转换为通用关系模式。

所有在线课程选择系统的关系模型如下:

学生信息表(学号,学生姓名,性别,班级,电话号码)

教师信息列表(教师编号,教师姓名,教师性别,联系方式)

课程信息表(课程编号,课程名称,教师,课程学分)

选课信息表(学号,课程名称,讲师)

4.3.4 数据库表设计

  1. 根据上一小节对数据库概念模型到关系模型的转换,得出以下数据结构表。学生信息表主要用来记录学生信息。包括:ID,姓名,性别,班级等。学生信息如表4.1所示。

表4.1  学生信息表

字段名 类型 说明
Id Varchar(10) ID号
UserRealName Varchar(10) 姓名
Sex Varchar(10) 性别
Class Varchar(10) 班级
Accout Varchar(15) 账户名
Password Varchar(15) 密码
Birthday datetime 出生日期
Phone Varchar(11) 联系电话
RegDate datetime 注册时间
  1. 课程信息表(dbo.course)主要用来存放课程信息。主要包括:课程编号,课程名称,课程描述,课程类型,任课教师编号,课程学分等。课程信息如表4.2所示。

表4.2  课程信息表

字段名 类型 说明
Id Varchar(10) ID号
CourseName Varchar(20) 课程名称
Teacher Varchar(10) 授课教师
brief introduction Varchar(50) 简介
score Varchar(10) 学分
  1. 教师信息表主要用来记录教师信息。包括:ID,姓名,性别,职称等。教师信息如表4.3所示。

表4.3  教师表

字段名 类型 说明
Id Varchar(10) ID号
UserRealName Varchar(10) 姓名
Sex Varchar(10) 性别
Title Varchar(20) 职称
Accout Varchar(15) 账户名
Password Varchar(15) 密码
Profeser Varchar(20) 专业信息
Phone Varchar(11) 联系电话
RegDate datetime 注册时间
XueLi Varchar(50) 学历信息
  1. 选课信息表主要用来记录学生选课的基本信息。包括:编号,学生编号,课程编号,状态等。选课信息如表4.4所示。

表4.4  选课信息表

字段名 类型 说明
Id Varchar(10) ID号
CourseName Varchar(10) 课程名称
Teacher Varchar(10) 授课教师
brief introduction Varchar(50) 简介
name Varchar(10) 选课学生

 

 

 

 

 

 

 

更多
  • 该日志由 于2020年06月03日发表在 未分类 分类下, 你可以发表评论,并在保留原文地址 及作者的情况下引用到你的网站或博客。
  • 本文链接: 《网站规划与设计》期末论文 | 帮助信息-动天数据
  • 版权所有: 帮助信息-动天数据-转载请标明出处
  • 【上一篇】 【下一篇】

    0 Comments.