1、学生选课管理系统目 录第1章 绪 论11.1 目的和意义11.2 课题任务11.3 系统设计思想21.4 本章小结2第2章 开发环境介绍32.1 技术32.2 C#语言32.3 SQL Server数据库简介4第3章 系统需求分析53.1 可行性分析53.2 系统环境53.3 系统的UML用例图63.4 系统性能需求63.5 本系统的业务流程7第4章 系统实现104.1 功能模块104.2 本系统的数据库设计104.2.1 数据库的概念结构设计104.2.2 本系统数据库的逻辑结构13第5章 详细设计175.1 用户登陆功能模块175.2 管理员功能的模块185.2.1 学生信息管理功能模块1
2、85.2.2 教师信息管理功能模块205.2.3 课程信息管理功能模块215.2.4 账号信息管理功能模块235.3 教师管理功能模块245.3.1 修改用户信息模块245.3.2 修改密码功能模块255.3.3 学生信息查询模块265.3.4 教师的任课表模块265.4 学生管理功能模块275.4.1 在线选课功能模块275.4.2 学生课程表管理模块28第6章 系统测试与调试346.1 测试目的346.2 测试方法346.3 系统的不足35 参考文献.36 致谢36摘要:大学生数量逐年增加的同时,教务信息系统的数量也在不断的增加。学校为了更加周到并且人性化的服务学生,针对学生选课这一环节,
3、设计了本系统,可以让学生实现网络上在线选课,在设计本系统的时候,主要实现学生在线选课、课程信息的增删改、登录用户的信息查询等功能。本学生选课系统使用的是Browser/Server(B/S)结构,用Visual Studio 2010作为系统的开发平台,本系统采用的是ASP.NET技术,SQL Server 2008作为本系统的数据库服务器,C#.NET语言作为本系统的开发语言,在开发本系统的时候还用到了一些辅助开发工具,比如:Dreamweaver、Photoshop等软件。在本文中将主要介绍学生选课系统各个功能的实现。关键词:选课;Visual Studio 2010;SQL Server
4、;ASP.NET;C#.NETAbstract:When the number of college graduates increased year by year, and the number of information system of educational administration was also increased constantly. Schools in order to service for students being full of more thought and hommization, pointing at the course for stude
5、nts ,The design of this system ,could let students realize course-choosing online, when they design the system, mainly to make students select course online, perform in course information, such as increase ,delete, alteration, and inquire login information of users.The course-choosing system of stud
6、ents applied the Browser/Server (B/S) structure, using Visual Studio 2010 as the development platform, the system applied ASP.NET technology, SQL Server 2008 as the database server, and C#.NET language as the development language, when developed the system, we also used some auxiliary development to
7、ols, for example: Dreamweaver, Photoshop and some other softwares. This paper introduces the student elective system each function in this paper.Keywords: select course; Visual Studio 2010; SQL Server; ASP.NET; C#.NET引言在大学生数量增加的同时,教务系统也在不断的跟进上涨。在以前学生都是在教室里经过登记来选课的,但是学生人数量在上升,学生选课的数据信息处理越来越重,所以为了减少相关
8、数据信息的处理工作量,并且能够让每一个在校学生可以更好的选取自己喜欢的课程,针对选课这个事情,本系统将对学生自己进行选课和教师的课程公布这两个方向进行相关的设计,能够完成学生在线选课,自己所选课程的查询,个人的相关数据信息以及管理员可以发布课程信息等功能。本论文剖析了浏览器/服务器(B/S)结构的特征,而本系统是用浏览器/服务器结构的相关思想来实现学生在线选课,在本篇论文中简要的介绍了学生选课系统中的相关功能模块,还有数据库的设计。重点说明了用ASP.NET技术制作相关的动态页面并且能够访问用SQL Server 2008数据库管理系统开发的数据库,而且呈现出了重要的实现代码。学生可以通过本系
9、统很方便的进行选课。在开发本学生选课系统的时候,我是在Windows 7操作系统下和Microsoft Visual Studio 2010的开发平台下完成的。本系统使用的是C#开发语言开发的,使用SQL Server 2008数据库管理系统创建本系统所需的数据库。本系统具有较好的性能,安全性也比较高。可以在web.config文件中修改连接数据库的字符串达到成功连接数据库的效果,并且经过加密可以增长灵活性,可以更好的全面的保护数据库中数据的安全。在代码的编写过程中要尽量用一些编程技巧来提高系统的性能。1.绪 论 1.1 目的和意义在大学生增加的同时,教务系统也在不断的跟进上涨。在以前学生都是
10、在教室里经过登记来选课的,但是学生人数量在上升,学生选课的数据信息处理越来越重,所以为了减少相关数据信息的处理工作量,并且能够让每一个在校学生可以更好的选取自己喜欢的课程,针对选课这个事情,本系统将对学生自己进行选课和教师的课程公布这两个方向进行相关的设计,能够完成学生在线选课,自己所选课程的查询,个人的相关数据信息以及管理员可以发布课程信息等功能。现在学校教务处必须要建立一个学生选课系统,它对于学校的教务信息管理这一块来说是至关重要的,所以说学生在线选课系统可以让学生更全面的知道学校在本学期开设的选修课程,也方便了教务处对学生的相关信息的管理,他和之前通过传统的人工管理方比起来有许多的优点,
11、比如:效率高,保密性好,可以长时间无损坏的保存大量的数据文件,可以更好的查找、更新和维护,可以减少大量的相关工作人员,可以规范化管理该信息。所以说开发学生选课系统是学校教务处很重要的一项工作,在本文中将详细讲解在开发学生在线选课系统时所涉及到相关问题和解决这些问题的方法。 1.2 课题任务在设计学生在线选课系统时采用了计算机信息技术,来支持学校的管理工作,提高了学校在学生选课管理的现代化水平,优化了学生的综合信息资源的配置,为学校提供了全面的信息服务,为学校在学生选课方面的工作提供了很大的支持。可以根据使用者的对相关信息的要求,分别对用户的信息需求进行了分析:1数据信息:可以在任何时间增加新生
12、信息,添加一个或者多个新的班级信息,并且可以记录新生的注册信息登记;可以通过设置来修改对教学的计划,班级的课程,专业的名称,课程的名称等相关信息;用过对成绩的记录进行修改从而改变学生的考试成绩,必须要实现各种查询功能,包括新学的注册查询,成绩查询,课程设置查询。2信息处理:设置增、删、改、查等信息的处理功能。3数据安全性、完整性:可以设置用户密码,这样就可以保证用户账号不被非法操作。 1.3系统设计思想可以通过实际需求来实现学生选课系统的设计实现,合理的选择操作系统、数据结构、数据库以及开发环境来建立一个正确的设计思想,完善体系结构,就可以发挥出本系统的优势,学生在线选课系统可以按照下面的原则
13、进行设计:1实用性 以学生需求为目标,方便管理为原则,通过需求分析,设计一个比较完善的学生在线选课系统,要尽可能的方便学校对相关数据信息进行管理,学生可以免培训教学直接通过友好的界面自主进行选课,使本系统具有真正的实用性。2方便性 学生可以在任何时间,只要是有互联网的地方就可以选课,大大的方便了学生选课。3共享性 学生选课系统的设计实现了系统的共享,只要是在学校内网上学校的许多部门都可以使用本系统,为学校的相关工作带来了便利。4可靠性 经过先进的网络设计和软、硬件的选型从而实现了学生选课系统是一个具有可靠性很强的系统。5可维护性 在进行系统的设计时要求该系统方便维护,维护包含了硬件的维护和软件
14、的维护。 1.4本章小结本章节主要介绍了在线选课系统的开发背景和开发目的 。2.开发环境介绍2.1 ASP.NET技术在微软的.NET战略中ASP.NET是一个重要的组成部分,它是在微软在发布.NET平台之后,从ASP升级为ASP.NET的,但是呢,它并不是简简单单的升级而已,却是一种基于.NET平台开发的新技术,而他是在IIS2.0上第一次推出的,在它推出的时候 ADO 1.0 也一起问世了,它的简单和高度可定制的能力,也是其迅速崛起的原因,这些原因也使它能快速的成为Web应用程序的建立、管理、部署的最佳最合适的平台。整个ASP.NET平台是非常强大的,他由功能强大的Visual Basic
15、.NET、Managed Extensions for C+、Visual C+.NET、Visual C#.NET、XML、J+等.NET兼容语言编写而成的,也就是说一个程序员可以随便使用任意一种语言来创建应用程序。也就是说你可以在同一个应用程序中使用两种或者两种以上的语言来创建的该应用程序。用户在创建.NET程序时,用户完全可以通过使用一个文本编辑器来创建一部分.NET程序或者创建整个的.NET程序,在编译该.NET应用程序时,程序员可以使用命令提示窗口来调用合适的编辑器。它与.NET Framework紧密结合,提供了模块化的设计方式,与此同时,网络上用ASP技术开发ASP网站以万为单位
16、在网络上疯狂的增长。ASP.NET程序就是用ASP.NET语法创建的各中类型的网页、服务的集合 ,在这个集合中它可能包含了几个不同的文件类型及文件夹。ASP.NET它具有多语言支持的特性,在开发与代码的执行效率上了也大大的提高了,他还具有丰富的工具箱和设计器并且扩展性也比较好。2.2 C#语言2006年的6月份Microsoft Corporation发布了一种最新的编程语言它的名字叫:C#。 也就说C#成为了微软公司研究院的最新的研究成果。C#看起来与Java有着惊人的相似;而且呢使用C#开发应用程序要比使用C+开发程序要简单的多,虽然它比C+简单了许多,但是并不意味着它一个简单的编程语言,
17、恰恰相反它是一种很强大的语言,也就是说用C+能完成创建编写的程序使用C#一样也可以。因为C#是一种类型安全的语言,所有使用C#编写代码要比使用C+编写的代码长一些,这样就可以让使用C#编写的代码看起来更为健壮,并且在调试的时候也是比较简单的。其实程序员使用C#语言开发应用程序是非常高效的,并且开发出来的应用程序实现的功能也是很强大的。因为C#与C/C+有着极高相似度,所以说如果一个程序员使用过C/C+开发程序,那么他很快的就可以学会使用C#开发程序。C#是一种简单、安全、面向对象的程序设计语言。在C#中它吸收了并把C+、VB、Java等程序设计语言的长处淋漓精致的展现出来了,而表现出来的东西就
18、是为了诠释C#是一种最新的程序设计技术。在C#中它把C语言的语法风格完美的保存了下来,并且它还拥有C+的面向对象的特性。但是呢,C#程序编程语言使用的是.NET框架的类库,并且它对面向Internet对象模型进行了重新设计;在C#中废弃了对指针类型,在废弃后,这样的话程序就不可以随随便便的访问内存地址,从代码的健壮性方面看代码更为健壮;在C#中没有多重继承这个说法,所有在C#中没有像C+那样因为多重继承而带来的那些可怕的后果。C#的程序设计环境是在.NET框架下的。于此同时,C#程序设计语言托管的运行时环境是公共语言提供的,这样的话程序就会变得更加稳定、安全。其特点有: 语言简洁。 保留了C+
19、的强大功能。 快速应用开发功能。 语言的自由性。 强大的Web服务器控件。 支持跨平台。 与XML相融合2.3 SQL SERVER数据库简介数据库技术就是把巨大的大数据进行数字化管理的最基础的技术。在信息化的今天,互联网的应用是很普及的,所有数据库技术也变成了信息管理领域应用最广泛的技术之一。Microsoft Corporation在2008年推出了一款最新的数据库管理系统软件它的名字叫:SQL Server 2008。简单易用、功能强大等特点是SQL Server系列的数据库管理系统软件的共同特点,然而在这么多年的发展过程中,SQL Server系列的数据库管理系统软件渐渐的成为数据库管
20、理领域的市场占有率最高的数据库管理软件。SQL Server它具有一些特点,这些特点让它具有强大的数据库管理功能,比如说它的多种开发平台、远程管理等等一些特点。而且SQL Server系列数据库管理系统功能完善且管理工具具备可视化的特性。Microsoft Corporation对SQL Server 2008数据库管理软件进行了全方位的升级,它的技术先进,而且它还支持超大规模的数据库技术、并行查询、多线程服务器等,它与先前版本技术完全不同,它可以将一些产品延伸到数据库管理以外的其他方面。SQL Server 2008还有具有强大的网络功能和分布式功能,它可以通过软硬件不同与网络环境的不同可以
21、组合成各种的工作模式。适合小企业应用到各种规模的企业计算,同时SQL Server数据库提供了通知服务、复制和最新的SQL服务代理等企业级应用,SQL Server数据库的使用者可以使用各种语言在该软件中编写业务逻辑,这样就可以方便的进行数据库开发了。3.系统需求分析3.1 可行性分析现如今,在学校的教务管理信息系统中学生选课系统已经成为其不可或缺的一部分,而且一个好的、功能比较完善的学生选课管理系统对于校方来说也是非常重要,学校的教务信息管理者能在本系统中看到学生的信息也可以方便快捷的查询学生选课方面的一系列信息。目前,在校大学生和在校的老师他们都具有一定的计算机操作水平,而且在学校里,学校
22、可以提供大量的计算机供学生和老师使用。所以只要学生选课系统在学校使用,在硬件和软件方面都没有什么问题。只要本系统的操作简单、界面友好而且实用的话,无论学生还是老师一定都会乐于使用本系统,因为使用本系统可以节约大量是人力物力和时间。所有经过以上的分析,本性在运行的方面是可行的。当我们要做一个较大的项目时,我们必须要进行可行性研究,在这些大的项目中不是所有的问题都能一眼看出它的解决方案的,所有说如果不进行可行性研究的话,就不可能在预算内解决相关问题,这样的话就会造成大量的资源浪费。所有说做一个项目,必须进行项目可行性研究。所谓的可行性研究就是用最小的开发成本来判断该项目是不是能够开发,有没有开发的
23、价值。可行性研究的目的就是判断一个项目值不值得去开发,如果开发的话,在开发的时候能不能解决遇到的相关问题。这样就可以简化、压缩需求分析和设计过程。对于目前来说,开发需要的工具和环境也应有尽有。因此,设计、开发此系统是可行的。我们可以从软硬件的要求、环境、操作人的水平等方面去衡量这个系统所需要的相关技术我们是否已经具有了。我们可以用ASP.NET技术和SQL Server2008数据库来开发学生选课系统,因为这个技术也是现在的主流之一。在硬件方面,根据目前市场上的电脑配置来看,该项目所需要的硬件配置根本不存在问题,你的电脑配置越高,开发环境跑起来也越流畅。所以硬件问题基本不存在。在开发本系统的时
24、候,根据我所学过的编程技术来看,我准备使用ASP.NET技术和 SQL Server2008 数据库这两个开发工具来开发本系统。目前所有的大学学校都具有自己的学生选课系统,因为学生选课系统对于一个学校来说是非常重要的,它可以为在校大学生提供准确的和便捷的信息,也方便学校对学生这方面的信息维护。在所有的大学中,每所大学里的老师和学生对电脑的操作都是非常熟悉的,而且学校的相关设备也比较全面。所有学生和老师操作一个简单、实用的学生选课系统是没有问题的。通过上面的分析和介绍,开发学生选课系统是可行的。3.2 系统环境开发环境:由于ASP.NET与SQL Server2008都需要较高的运行环境,所以对
25、系统的开发环境要求较高。3.3 系统的UML用例图三种用可以登录学生选课系统,他们分别是管理员、学生和教师。管理员在本系统中权限是最高的,也就是说他可以操作本管理系统中的全部管理信息模块。学生登录本系统后,该学生就有权限修改自己相关信息、在线选课、查找自己的选课等功能。教师登录可以修改自己的个人信息、查看自己的任课表、查看相关的学生信息等相关功能。学生选课系统的所有的用例图如下图3-3所示:图3-3 系统中管理员、学生、教师用例图3.4 系统性能需求(1) 数据精度在本系统中,对于数据的精度是有一定要求的,最基本的要求就是在数据传输的过程数据不能被丢失。(2) 本系统时间特性要求响应时间:必须
26、在学生和老师容忍的时间内,也就是说尽量有多快就多快。更新处理时间:及时更新;数据的转换和传送时间:必须在使用的用户容忍的时间内,也就是说尽量有多快就多快。系统业务流程可以使用学生选课系统用户角色:管理员、教师和学生。3.5 本系统的业务流程本系统是根据用户角色的不同进行分类的,三种用户角色分别为:管理员模块、教师模块和学生管理模块。本系统的管理员模块的业务流程图如下图3-4所示:图3-4 管理员的业务流程图教师管理模块的业务流程图如下图3-5所示:图3-5教师的业务流程图学生管理模块业务流程图如下图3-6所示:图3-6学生的业务流程图上面的图的描述,对本系统的业务流程做出了初步介绍。384.系
27、统实现4.1 功能模块3种用户可以登录本系统,他们有:系统管理员,教师和学生。学生信息查询:根据学生的学号可以查询到学生的相关信息。教务信息维护:主要是维护学生、系、课程和学生选课及成绩等方面的基本信息。包括增加、删除、修改。学生选课:为学生提供选课界面。在选课界面上要列出所有学校开设的所有选修课程的信息以供学生自己查询和选课。在学生进入可以任意选课界面前,学生首先要在登录界面正确的要输入自己用户名和密码。如果正确系统就会跳转到用户角色为学生的界面,进入后学生可以看到自己的相关信息,同时学生可以进入到在线选课页面,当学生选择课程时,界面会跳转到课表反映该生选择情况。当然学生在选课的时候会受一些
28、限制,如该课程选课人数的限制。学生可以在已选课程界面查看自己已经选择的课程,在该界面学生也可以退选已选课程。下图4-1是网上选课的功能模块图:图4-1 选课系统功能模块图4.2本系统的数据库设计4.2.1 数据库的概念结构设计所谓的数据库就是把数据模型组织起来的数据集合。它具有以下特点:尽可能的不重复。应用程序能独立使用其数据结构。用软件对数据的增、删、改进行统一的管理。数据库是由文件管理系统发展而来的在设计本系统的数据库时,设计人员必须要建立合理的数据库模式和存储结构,这样的话,数据就可以实现高效读取,而且在任务处理方面的要求也都一一的满足了,所有说在建立一个应用系统的时候,数据库的设计也是
29、本系统总体设计的核心技术之一。(1)逻辑设计:逻辑结构设计也就是把E-R图转换为逻辑结构。在设计逻辑结构时,一般不适用概念结构,而是用网状、关系、层次模型来代替它而且起到的效果也都大同小异,可以将转换来的模型向特定的数据模型转换,也可以对数据进行优化处理。 (2)物理设计:在学生选课系统中最要的功能就是对信息的进行记录与查询,所以说设计一个好的数据库对于本系统来说非常重要的,也就是说数据库的设计是会大大的影响到程序设计的,还有数据是否安全准确。我在通过数据库中各个表中的的信息绘制数据库中每一张表的实体图。管理员的实体图如下图4-2所示:图4-2管理员实体图课程的实体图如下图4-3所示:图4-3
30、课程实体图系统公告的实体图如下图4-4所示:图4-4系统公告实体图学生选课的实体图如下图4-5所示:图4-5学生选课实体图学生的实体图如下图4-6所示:图4-6学生信息实体图教师的实体图如下图4-7所示:图4-7教师信息实体图学院的实体图如下图4-8所示:图4-8学院信息实体图专业的实体图如下图4-9所示:图4-9专业信息实体图4.2.2本系统数据库的逻辑结构在目前数据库管理领域中常用的几种数据库管理系统中我选择了SQL2008数据库管理系统作为学生选课系统的数据库管理软件,我创建的数据库名叫ElectiveMisData。1.管理员表如下图4-9所示:图4-1 Admin2.课程表如下图4-
31、2所示:图4-2 Course3公告表如下图4-3所示:图4-3 News4.选课表如下图4-4所示:图4-4 SelectCourse5.学生表如下图4-5所示:图4-5 Student6.教师表如下图4-6所示:图4-6 Teacher7.学院表如下图4-7所示:图4-7 Xueyuan8.专业表如下图4-8所示:图4-8 Zhuanye5.详细设计3种用户可以登录本系统,他们有:系统管理员,教师和学生。学生信息查询:可以依据系科、班级及学号查询学生信息,主要是学生的基本信息和选修课的学分情况。教务信息维护:主要是维护学生、系、课程和学生选课及成绩等方面的基本信息。包括增加、删除、修改。学
32、生选课:为学生提供选课界面。在选课界面上要列出所有学校开设的所有选修课程的信息以供学生自己查询和选课。在学生进入可以任意选课界面前,学生首先要在登录界面正确的要输入自己用户名和密码。如果正确系统就会跳转到用户角色为学生的界面,进入后学生可以看到自己的相关信息,同时学生可以进入到在线选课页面,当学生选择课程时,界面会跳转到课表反映该生选择情况。当然学生在选课的时候会受一些限制,如该课程选课人数的限制。学生可以在已选课程界面查看自己已经选择的课程,在该界面学生也可以退选已选课程。下面对主要的功能模块的设计进行描述,主要显示界面的截图和关键的代码实现。5.1 用户登陆功能模块本系统的主页是用户登录页
33、面,用户可以输入用户名和密码并选择登录的用户登录,根据不同用户的选举之前的角色来访问不同的模块,登录成功其界面样式如下图5-1所示:图5-1 用户登录界面5.2 管理员功能的模块所谓的管理员就是本系统中权限最高的使用者,也就是说管理员可以操作系统中的全部管理模块。5.2.1学生信息管理功能模块管理员在添加新的学生信息时,本系统会对学生的学号是否已经在数据库中存在进行验证,还有管理员还可以对学生其他基本信息进行添加,应包括学生姓名,性别,出生年月等信息。也包括对这些信息的删除与修改。添加学生信息的界面如下图5-2所示:图5-2 添加学生信息在添加完学生信息后,管理员将能够处理学生信息,修改和删除
34、学生的信息。学生信息管理界面如下图5-3所示:图5-3学生信息管理界面5.2.3教师信息管理功能模块当添加教师信息的时候,同样本系统也要对教师的工号进行验证,在设计数据库的时候教师的工号被设置成了唯一标识,也可以通过这个标识避免对教师信息的重复添加,所以和添加学生时一样的验证方法来教师工号,管理员在添加教师的信息时还可以添加教师其他的的基本信息。添加教师信息界面如下图5-4所示:图5-4添加教师信息界面添加教师信息后,本系统将跳转到教师信息管理页面。教师信息管理界面如下图5-5所示:图5-5教师信息管理界面5.2.4课程信息管理功能模块课程信息管理功能模块是本系统中重要的模块之一,它主要是为实
35、现学生在线选课功能做铺垫。它和之前的添加学生信息教师信息一样,对于课程信息的添加,同样课程的编号也是不允许重复的,所以在添加课程信息的同时首先要对课程的编号进行验证,看看是否已经在数据库表中存在,如果已经存在给出课程添加失败的提示,如果不存在就可以添加该课程信息,在管理员在添加课程信息是还应包括课程编号,课程名称,课程学分,课程的最多选课人数等基本的课程所需信息。在添加完课程信息后,管理员将可以处理课程信息,可以修改和删除课程的信息。添加课程信息运行效果如下图5-6所示:图5-6添加课程信息界面课程管理运行效果如下图5-7所示:图5-7课程管理界面在实现添加课程信息功能时,我创建一个btnad
36、d_Click()方法来实现该功能。在该方法中要比前面添加学生、教师等信息要多一个验证,也就是说在添加课程是我需要验证两项东西一个是课程号另一个是课程名称。虽然是多了一个验证,但是验证的机制还是大同小异的,也就是说多了一个判断其他的基本不变,而且用的思想也是一样的,只要是通过这两项验证,就并且把那些必填的项填好,那么就可以通过insert into把该条课程信息添加到Course表中去,在往数据库中添加数据的时候我们要注意页面中的每个输入框对应数据库中的相应的字段,所有在写insert into语句是要注意每个字段的前后顺序,不要将顺序弄乱,如果弄乱的话会造成信息的添加错误,这也是在添加数据时
37、要中点注意的地方。所示在这个地方需要细心、仔细,不断的测试,以保证数据准确的添加进数据库中。5.2.5账号信息管理功能模块管理员可以通过账号管理模块对选课网站后台的用户进行管理,包括账号信息的增、删、改。管理员账号管理信息界面如下图5-8所示:图5-8管理员账号管理界面5.3教师管理功能模块老师登录学生选课系统后,系统将跳转到教师模块,教师可以查看自己的基本信息,自己的信息可以在线修改,登陆密码也是可以在线修改的,查看自己本学期的任课表,可以查看选择自己开设的选修课有哪些学生选择了并且显示出这些学生的基本信息,还可以看到本系统的公告信息等功能。5.3.1修改用户信息模块因为教师的信息是管理员添
38、加的,信息可能不准确,教师可以自己登录系统对自己的信息进行修改。修改用户信息的界面如下图5-9所示:图5-9修改用户信息界面在把数据库中的数据显示到页面上面后,用户可以根据自己的需要修改相应的信息,在修改的时候教师工号是不可以修改的,因为教师工号在数据库中是作为唯一标示存在的,所以用户是不可以随便进行修改的,其他信息用户就可以随意修改,当用户点修改按钮后,系统通过update语句对数据库中的记录进行更新,然后系统就会自动跳转到Myinfo.aspx页面,显示出最新的自己个人信息。5.3.2修改密码功能模块因为教师账号是管理员添加的,所以密码都是一致的,教师可以通过管理员给的密码进行登录账号后,
39、把原密码修改成自己常用密码,在修改密码时,教师必须两次输入原密码在输入一次新密码进行修改,这样可以保证账号的安全性。修改登陆密码的界面如下图5-10所示:图5-10修改登陆密码界面5.3.3 学生信息查询模块老师可以查询选择我开设课程的学生信息,这样能让教师了解有那些学生选择了该课程,可以看到他们的基本信息。查看教师信息的界面如下图5-11所示:图5-11查询学生信息界面5.3.4教师的任课表模块登陆后的教师可以查看自己的任课信息,包括课程编号,学分,学期,学院,专业,班级,上课地点,上课时间,上课人数。教师任课表信息查看的界面如下图5-12所示:图5-12任课表信息查看5.4学生管理功能模块
40、学生模块是本系统的最重要的模块,因为本模块要实现学生的在线选课。学生用户在登录成功后,学生就可以查看更改自己的个人信与登录密码,查看学校开设的选修课程等。更改学生自己的用户信息和密码与前面的教师登录管理模块类似,所以将不再进行介绍。5.4.1在线选课功能模块该系统的最主要功能就是学生在线选课了,本系统之前所有的设计及相关信息管理基本上都是为学生选课这个功能的实现做铺垫,在学生本人登陆本系统后,就可以进入到在线选课模块了,学生自己将看见本学期学校开设的所有选修课程信息,而学生可以依据自己平时的兴趣爱好和自己想学的课程方向,然后点击选择该课程的按钮学生就可以实现在线选课的功能了,学生在选课的时候不
41、能够重复的选择一门课程,一门课程只可以选择一次并且不能选择选课人数等于已选人数的选修课程,只要是满足上面说的两种情况之一,系统会给出一个提示告诉学生该课程已选不能重复选择或者改课程选课人数等于最大上课人数时也不能选择。在线选课的界面如下图5-13所示:图5-13在线选课5.4.2学生课程表管理模块如果说学生登录在成功选课之后,本系统就会自动跳转到自己已选课程页面,学生可以看到自己已经选择了哪些课程,在该页面显示了课程的基本信息,它们包括课程编号,任课教师,学分,学期,上课地点等该门课程的信息。我的课程界面如下图5-14所示:图5-14我的课程表6.系统测试与调试6.1测试目的测试是每一个即将完
42、成的系统必须要经历的环节,也是可以说到了最后的阶段,测试好差决定了该软件系统的质量好差。所谓的测试,也就是说测试人员要尽可能的找出该系统中的错误,一个测试好差的评定标准就是看该测试能发现多少个系统中迄今为止还没有发现的错误。一般测试人员最好不是该系统程序的编写人员,因为在程序的编写人员心中他们肯定认为自己写的程序没有什么错误,也不希望发现错误,所以如果是他们自己测试的话,他们可能会刻意的规避一些错误,从而导致达不到预期的测试效果。在测试这个阶段,根本的任务就是找出并改正系统中的错误。在该阶段关键的技术就是设计测试方案,方案的好坏是该阶段最重要的,而它的基本要求就是要做到尽可能的高效测试数据并尽
43、可能的完善测试,从而就可以尽可能多的发现软件中的错误。6.2测试方法现在的软件测试有两种方法,它们分别是:黑盒测试和白盒测试。白盒测试:详细检查软件程序的细节检查。这种方法是首先把测试对象作为一个盒子,测试者可以自己选择和设计测试用例,所谓的白盒测试也就是对系统的逻辑路径进行测试。为了验证实际与预测两个状态是否一致,测试人员可以在不同的地方检测该系统的状态。因此,白箱测试的主要模块如下:网站系统至少测试一遍。所有的决策逻辑,以真”或假”的至少两个案例可以再测量一次。在周期边界和运行在循环体的边界。测试内部数据结构的有效性。黑盒测试:它不像白盒测试,他主要就是测试系统的功能。它可以测出白盒测试不
44、容易测出来的错误。黑盒测试主要就是发下如下错误:功能不正确或者漏了一些功能在界面上,如果输入是正确的,正确的结果可以输出。数据结构和错误信息(例如:外部数据文件读取错误)。能否满足性能上的要求。是否能终止或初始化错误6.3系统的不足学生选课选课系统是在学校的服务器上面运行的,而且在校学生的数量是非常庞大的,所以说它对学校服务器的性能有一定的要求,比如说:许多学生同时登陆本系统并需要在线选课,那么学校的服务器就需要承受很大的压力,如果说在学生选课的时候网络或者学校服务器出现故障的话,系统就会出现崩溃的现象,在线学生就不可以在线选课,所示学校服务器需要具有很好的性能才可以。在数据的安全性方面,我在
45、设计数据库的时候没有注意这方面,所以本系统在数据的安全性方面没有一个好的保障。其次就是系统的界面了,我可以美化系统的界面,这样学生就可以登录一个漂亮的选课系统,等等还有一些其他方面都是有待改善的。如果说想开发一个好的系统必须要做到以下方面:要对所需要开发的系统做一个充分的调查研究,并且需要详细的分析一定要给出一个详细的数据库设计方案要对所需开发系统要用的开发平台有足够的了解、必须可以在该平台上熟练的操作等等,只有做好这些准备,开发人员才可以做出一个比较完善的系统。参考文献 1 (美)Jeffrey Richte著.Microsoft.NET Frameworks.清华大学出版社,2003.4
46、2 王晓敏,邝孔武.信息系统分析与设计(第4版).清华大学出版社,2013. 3 王欣,等.UML系统建模及系统分析与设计.水利水电出版社,2013. 4 胡智喜,等.UML面向对象系统分析与设计教程.电子工业出版社,2014. 5 吕云翔.软件工程课程设计.机械工业出版社,2009 6 李龙澍.软件工程课程设计. 机械工业出版社,2010 7 韩万江编著.软件工程案例教学. 机械工业出版社,2008. 8 解本巨等编著.UML与Rational Rose 2003从入门到精通.电子工业出版社,2010 9 Russ Basiura等著,杨浩译.ASP.NET Web 服务高级编程.清华大学出版社, 2003.210 朱玉超、鞠艳、王代勇 编著ASP.NET 项目开发教程北京:电子工业出版社,200811 尚俊杰、秦卫中 编著ASP.NET 程序设计案例教程M北京:清华大学出版社,200512 陈伟 编著 SQL Server 2005数据库应用与开发教程北京:清华