学生网上选课系统毕业论文.docx
《学生网上选课系统毕业论文.docx》由会员分享,可在线阅读,更多相关《学生网上选课系统毕业论文.docx(25页珍藏版)》请在冰点文库上搜索。
![学生网上选课系统毕业论文.docx](https://file1.bingdoc.com/fileroot1/2023-5/28/fab04be4-042e-4e49-a240-1a908bd43c67/fab04be4-042e-4e49-a240-1a908bd43c671.gif)
学生网上选课系统毕业论文
NANCHANGUNIVERSITY
毕业论文
THESISOFBACHELOR
题目:
学生网上选课系统
专业:
准考证号:
学生姓名:
指导教师:
起讫日期:
摘要
随着在校大学生的不断扩增,学生选课系统也是在学校对学生管理方面中不可缺少的一部分。
过去的选课方法是采用人工的方法去管理文件档案,而这种管理方式存在许多的缺点:
保密性差、效率低,另外时间一长,将会产生大量的文件和数据,这对于查找、更新和维护都会带来不少的困难。
随着科学技术的不断提高,计算机已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,实用技术绝对选课信息进行管理,具有手工管理所无法比拟的优点。
例如:
查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
本文通过分析浏览器/服务器结构的特点并结合选课的实际情况简单的介绍了系统各功能模块及数据库的设计,着重讨论了用ASP.NET技术和SQLServer2005开发选课系统的数据库的访问技术和动态网页制作技术,并给出了一些可以实现的核心代码。
通过该系统,使学生很很方便的在校园网上进行网上选课。
该系统在WindowsXP系统和VS2005平台下开发完成,使用C#作为ASP.NET的开发语言,SQLServer2005作为数据库。
系统有较高的安全性和较好的性能。
其中连接数据库的字符串可以随时在web.config里修改。
代码尽量使用了存储过程和尽量减少了数据库连接打开的时间来提高性能。
本文除了有对程序的系统分析、总体设计、数据库设计、功能实现等主体部分外,还介绍了ASP.NET和数据库的结合的基本内容。
关键词:
学生选课,浏览器/服务器,ASP.NET、VS2005,SQLServer2005数据管理系统
Abstract
Withthecontinuousincreaseincollegestudents,studentsinschoolsofstudentselectivesystemisalsoanintegralpartofmanagement.Previouselectivemethodistouseartificialmethodstomanagefilearchives,thismanagementapproachhasmanydisadvantages:
lowefficiency,poorsecurity,whileovertime,willgeneratealargenumberofdocumentsanddata,whichforfinding,updatingandmaintenanceofbringalotofdifficulties.Withthecontinuousimprovementofscienceandtechnology,thecomputerhasaccesstoallareasofhumansociety,andplayanincreasinglyimportantrole.Asapartofcomputerapplicationsandpracticalmanagementofinformationtechnologyisabsolutelyelective,withmanualmanagementincomparableadvantages.Forexample:
tofindconvenient,highreliability,largememorycapacity,securityandgood,longlifeandlowcost.
Thispaperanalyzesthebrowser/serverstructureischaracterizedbycombiningtheactualsituationofelectiveabriefintroductionofthesystemoffunctionalmodulesanddatabasedesign,focusedonusingASP.NETtechnologyandSQLServer2005Developerelectivesystem,accesstothedatabasetechnologyanddynamicwebproductiontechniques,andgivesomeofthecorecodecanbeachieved.ThroughthesystemsothatstudentscaneasilyonlineOnlineCourseoncampus.ThesystemisWindowsXPsystemandVS2005platformisdevelopedusingC#astheASP.NETdevelopmentlanguage,SQLServer2005asadatabase.Systemhasahighersecurityandbetterperformance.Inwhichthedatabaseconnectionstringintheweb.configwhereyoucanchangeatanytime.Thecodetomakeuseofthestoredprocedureandtominimizethedatabaseconnectionopentimetoimproveperformance.
Thisadditiontotheprogram'ssystemanalysis,overalldesign,databasedesign,functionandsothemainpartoftheimplementation,butalsodescribesthecombinationofASP.NETanddatabaseelements.
Keywords:
Studentelective,browser/server,ASP.NET,VS2005,SQLServer2005databasemanagementsystem
第一章引言
1.1课题研究目的
1.掌握采用Internet的TCP/IP协议,以B/S方式,ASP.NET编程技术,多媒体技术。
2.掌握一种多任务多用户操作系统
3.ASP.NET的动态网页编程技术和SQLServer2005大型的数据库。
4.学会使用VS2005开发工具。
5.培养相互合作的精神。
1.2课题研究的意义
学生选课系统是一个学校不可缺少的一部分,它的内容对于学校的决策者和管理者来说都极为重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们都在使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
保密性差、效率低,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都将带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套软件成为很有必要的事情,在下面的各章中我们将以开发学生选课系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
本文中所做的主要工作如下:
(1)介绍了个性化页面的背景及WindowsXP+IIS+ASP.NET系统的一般原理;
(2)阐述整个个性化页面生成系统的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点。
(3)设计实现用户管理、课程管理、选课信息录入管理、课程的浏览和查找、学生查找等ASP.NET页面。
(4)分析并解决实现中的若干技术问题。
(5)建立完整的网上选课,进行测试并分析结果。
第二章系统的需求分析与设计
2.1系统的需求分析
在本系统的功能操作针对不同的用户角色分权进行管理。
系统对角色提供的主要功能如下:
个人信息管理(编号、姓名、院系、学号、专业、性别等)、选课管理、管理学生以及本人已选课程。
教师角色提供以下功能操作:
查看自己所担任课程的课表和选该门课的学生信息。
系统给后台管理员(后台用户)提供的操作功能如下:
查看所有的院系、专业、课程、学生、教师的信息并对它进行管理(添加、编辑、删除等)。
用户的需求具体体现在对各种信息的提供和查询,数据库是此类系统的核心,系统中所有的信息都存储在数据库中,在所有ASP.NET页面中可以通过ADO.NET与数据库连接,操作数据库中的数据,从而实现所有需要的功能。
数据库软件有很多种,本系统中数据库采用MicrosoftSQLServer2005作为数据库工具。
数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的影响。
一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后物理实现。
系统分析中分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。
逻辑设计中根据系统分析设计的一个关系模型。
物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。
针对学生选课系统的需求,总结如以下信息:
用户分学生用户、教师用户和管理员用户。
一个院系包括很多专业。
一个专业包括很多学生。
一个专业包括多门课程。
一门课程对应一位教师,一位教师可以教多门课程。
一个院系对应多个教师。
一个学生可选多门课程,每门课程可以由多名学生供选学。
经过对上述系统功能的分析和需求总结,设计如下数据项:
管理员信息,包括用户名和密码。
教师,包括教师名教师工号、所属院系等。
学生,包括学生编号、学生姓名、所属院系、性别、所属专业等。
院系,包括院系名称。
专业,包括专业名称、所属院系。
课程,包括课程名称、课程描述、所属专业及所属教师。
2.2系统设计构架
本网站采用三层架构,表现层通过统一的接口向数据访问层发送请求,业务逻辑层将请求按照一定按照一定逻辑规则处理后进入数据库操作,然后将从数据库返回的数据集合封装成对象的形式返回到表现层。
通过这样的数据处理流程,用户表现层表现层甚至可以不知道数据库是结构,只要维护与数据的访问层之间的接口即可。
这种方式在一定程度上增加了数据库的安全性,同时也降低了对用户表现层开发人员的要求,因为表现层不需要进行任何关于数据库的操作。
根据上述的分析,可以描述出系统的功能模块图。
分别从管理员界面、学生界面、教师界面对功能模块进行描述。
管理员界面的功能模块如图2-1所示:
图2-1管理界面的系统功能模块图
教师界面的功能模块如图2-2所示:
学生界面的功能模块如图2-3所示:
如图2-2教师界面的功能模块如图2-3学生界面的功能模块
2.3数据库需求分析
用户的需求具体体现在对各种信息的提供和查询,数据库是此类系统的核心,系统中所有的信息都存储在数据库中,在所有ASP.NET页面中可以通过ADO.NET与数据库连接,操作数据库中的数据,从而实现所有需要的功能。
数据库软件有很多种,本系统中数据库采用MicrosoftSQLServer2005作为数据库工具。
数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的影响。
一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后物理实现。
系统分析中分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。
逻辑设计中根据系统分析设计的一个关系模型。
物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。
针对学生选课系统的需求,总结如以下信息:
用户分学生用户、教师用户和管理员用户。
一个院系包括很多专业。
一个专业包括很多学生。
一个专业包括多门课程。
一门课程对应一位教师,一位教师可以教多门课程。
一个院系对应多个教师。
一个学生可选多门课程,每门课程可以由多名学生供选学。
经过对上述系统功能的分析和需求总结,设计如下数据项:
管理员信息,包括用户名和密码。
教师,包括教师名教师工号、所属院系等。
学生,包括学生编号、学生姓名、所属院系、性别、所属专业等。
院系,包括院系名称。
专业,包括专业名称、所属院系。
课程,包括课程名称、课程描述、所属专业及所属教师。
2.4数据库概念结构设计
由上述数据项,可以设计出能够满足用户需求的各种实体,以及他们之间的关系。
这些实体包含了各种具体的信息,通过相互之间的作用使整个数据库可以用一个E-R图表示。
实体之间关系的E-R图如图2-4所示:
如图2-4实体之间关系的E-R图
管理员信息实体E-R图如图2-5所示
教师用户实体E-R图如图2-6所示
学生用户信息实体E-R图如图2-7所示
院系信息实体E-R图如图2-8所示
图2-5管理员信息实体E-R图如图2-6教师用户实体E-R图
图2-7学生用户信息实体E-R图图2-8院系信息实体E-R图
专业信息实体E-R图如图2-9所示
课程信息实体E-R图如图2-10所示
图2-9专业信息实体E-R图图2-10课程信息实体E-R图
2.5数据表的设计
经过数据库系统分析和逻辑设计后,数据库的结构已经非常清晰,剩下的就是用一种数据库软件实现这样的结构。
本系统中数据库采用MicrosoftSQLServer2005作为数据库。
首先我们在MicrosoftSQLServer2005的“企业管理器”创建一个数据库,我们命名为“WebCourse_Data”。
选中WebCourse_Data数据库,向数据库中添加7个表:
包括users、teacherinfo、studentinfo、deptinfo、majorinfo、majorinfo、stucourse。
其中每个表与逻辑设计中一种的关系模式相对应。
下面是每个数据表中的属性,包括属性列的名称、数据类型是否可以为空等内容。
Users为用户表,记录用户的登录信息,包括管理员、教师和学生的登录帐户。
本系统默认用户为admin,其他可由管理员添加,默认密码都为123。
其中userID为主键,其详细信息请看表2-1
表2-1Users(用户表)
Teacherinfo为教师信息列表,以TeacherID为主键,记录教师相关的信息。
其详细信息请看表2-2
表2-2Teacherinfo(教师信息列表)
Studentinfo为学生信息列表,以StudentID为主键,记录学生相关的信息。
其详细信息请看表2-3
表2-3Studentinfo(学生信息列表)
Deptinfo为院系列表,以DeptID为主键,记录院系的相关信息。
其详细信息请看表2-4
表2-4Deptinfo(院系列表)
majorinfo为专业信息列表,以majorID为主键,记录专业相关的信息。
其详细信息请看表2-5
表2-5majorinfo(专业信息列表)
courseinfo为课程信息列表,以courseID为主键,记录课程相关的信息。
其详细信息请看表2-6
表2-6courseinfo(课程信息列表)
stucourse为学生和课程的关系表,因为学生和课程多对多关系,所以用表建立以courseID为主键的多对对关系。
其详细信息请看表2-7
表2-7stucourse(学生和课程的关系表)
第三章公共类的设计
3.1Web.config页面设计
Web.Config文件是用来保存网站的很多全局设置,代码是通过usingConfiguration引用,在Web.Config文件中添加数据库连接字符串。
在ADO.NET中用一个字符串来表示一个数据库,一般都把这个字符串放到Web.Config文件中,在整个项目中均可使用。
InitialCatalog=WEBCOURSE;"/>
--数据库链接字符串
=|DataDirectory|\WebCourse.mdf;IntegratedSecurity=True;UserInstance=True;"/>-->
--动态调试编译设置compilationdebug="true"以启用ASPX调试。
否则,将此值设置为false将提高此应用程序的运行时性能。
设置compilationdebug="true"以将调试符号(.pdb信息)插入到编译页中。
因为这将创建执行起来较慢的大文件,所以应该只在调试时将此值设置为true,而在所有其他时候都设置为false。
有关更多信息,请参考有关调试ASP.NET文件的文档。
-->
DEBUG;TRACE"/>
--自定义错误信息设置customErrorsmode="On"或"RemoteOnly"以启用自定义错误信息,或设置为"Off"以禁用自定义错误信息。
为每个要处理的错误添加标记。
"On"始终显示自定义(友好的)信息。
"Off"始终显示详细的ASP.NET错误信息。
"RemoteOnly"只对不在本地Web服务器上运行的用户显示自定义(友好的)信息。
出于安全目的,建议使用此设置,以便不向远程客户端显示应用程序的详细信息。
-->
3.2数据库连接操作类—Db类
在ASP.NET中通过ADO.NET技术对数据库进行操作。
ADO.NET中有许多很方便的类可用来操作数据库,例如SqlConnection类、SqlDataAdapter类、SqlCommand类、DataSet类等。
由于在选课系统中,操作数据库的地方非常多,为了避免很多重复代码的编写,所以对数据库操作做了简单的封装—Db类。
在Db类中有三个静态函数ExecuteSelectSql、ExecuteSql和ExecuteInsertSql,其中ExecuteSelectSql函数用来执行查询操作,ExecuteSql用来执行修改、插入和删除三类操作,ExecuteInsertSql执行需要返回刚插入记录的identity的insert语句。
通过ADO.NET执行SQL语句从而对数据库进行操作,一般顺序为:
先通过SqlConnection的Open函数连接到数据库,然后再通过Sqlcommand执行指定的SQL语句,执行结束后再调用SqlConnection的Close函数关闭数据库连接。
ExecuteSelectSql函数的代码如下:
publicstaticDataSetExecuteSelectSql(stringsqlSelect)
{
SqlConnectionconn=newSqlConnection(connString);
SqlDataAdaptersda=newSqlDataAdapter(sqlSelect,conn);
DataSetds=newDataSet();
try
{
sda.Fill(ds);
}
catch(SqlExceptione)
{
thrownewException(e.Message);
}
returnds;
}
3.3工具类MyUtility类
在网站的编写过程中经常会有很多公共函数调用,把它们都写在一个工具类里:
MyUtility类,每个函数作为工具类的一个静态成员函数。
其中包括MD5静态成员函数以及Alert静态成员函数。
MD5静态成员函数:
MD5算法。
MD5算法是一个不可逆的加密算法,通常用于重要信息的加密,如登录密码,在ASP.NET中,提供有MD5的算法实现函数,调用MD5算法代码如下:
publicstaticstringMD5(stringstr)
{
stringresult="";
result=FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5");
returnresult;
}
Alert静态成员函数的功能是显示一个提示对话框,在网站的运行过程中,经常需要给用户一些即时反馈,比如修改密码成功,选课成功等提示框。
代码如下:
publicstaticstringAlert(strings)
{
return"alert(\""+s+"\");";
}
Back函数的功能是回退到某个网页,i的取值通常为负,当为-1时表示回退到上一个网页,为-2时表示回退到上上个网页,依次类推。
3.4错误信息类和错误显示页面
在用户使用系统过程中,可能由于用户操作失败或则网络原因等,系统运行会出现一些错误,为了便于统一,本系统定义专用的错误信息类和错误显示页面。
在错误信息类ErrorInfo类中,定义了所有的本系统中所出现的错误情况和函数Message。
函数Message根据错误情况得到相应显示字符串。
错误显示页面根据URL中错误代码参数显示不同的错误信息。
第四章