基于Web的选课系统论文.docx
- 文档编号:18557335
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:45
- 大小:880.24KB
基于Web的选课系统论文.docx
《基于Web的选课系统论文.docx》由会员分享,可在线阅读,更多相关《基于Web的选课系统论文.docx(45页珍藏版)》请在冰点文库上搜索。
基于Web的选课系统论文
目录
摘要1
Abstract2
第一章引言4
1.1课题研究的目的4
1.2课题研究的意义4
1.3课题的可行性分析5
第二章系统分析与总体设计6
2.1系统分析6
2.2系统总体设计7
第三章数据库设计与实现9
3.1数据库系统分析9
3.2数据库逻辑设计12
3.3数据库物理实现13
第四章公共类与公共页面设计16
4.1Web.config页面设计16
4.2数据库连接操作类—Db类19
4.3工具类MyUtility类20
4.4错误信息类和错误显示页面21
第五章系统说明书22
5.1系统界面说明22
5.2系统管理说明27
5.2教师管理说明30
第6章总结34
参考文献35
致谢36
第一章引言
1.1课题研究的目的
1.掌握采用Internet的TCP/IP协议,以B/S方式,ASP.NET编程技术,多媒体技术。
2.掌握一种多任务多用户操作系统
3.ASP.NET的动态网页和SQLServer2005大型的数据库。
4.学会使用某种开发工具。
5.培养相互合作的精神。
1.2课题研究的意义
学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套软件成为很有必要的事情,在下面的各章中我们将以开发一套学生选课系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
本文中所做的主要工作如下:
(1)介绍了个性化页面的背景及SQLServer2005+IIS+vs(C#)系统的一般原理;
(2)阐述整个个性化页面生成系统的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点。
(3)设计实现用户管理、课程管理、选课信息录入管理、新生信息录入管理、课程的浏览和查找、学生查找等ASP.NET页面。
(4)分析并解决实现中的若干技术问题。
(5)建立完整的网上选课,进行测试并分析结果。
1.3课题的可行性分析
1.3.1课题调研
(1)与实践活动和相关的文件和资料由教师提供。
(2)本课题要求学生有熟练的ASP.NET开发能力,有较强的自学能力以及一定的关系数据库理论开发功底。
(3)具有对复杂表进行处理的能力。
(4)具体问题再做详细调查研究并与指导老师面谈。
1.3.2可行性分析
(1)技术可行性-----本系统仅需要一台装有Office软件的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。
对于软件技术要求,现在的程序设计语言已非常成熟,要运用HTML样式,图形图象制作工具来制作生动活泼的网页及美观的图形文件或动画文件,数据库使用SQL Server2005中提供的数据库桌面工具ODBC。
(2)经济可行性-----由于本系统是为学生选课管理使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。
所带来的效益远远大于系统软件的开发成本。
在经济上完全可行。
(3)操作可行性-----界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。
第2章内容主要是:
系统需求分析包括,现有系统介绍;系统的实体分析,实体关系图。
第二章系统分析与总体设计
2.1系统分析
在本系统中,有三类用户:
系统管理员,教师和学生。
三种不同的用户所具有的操作权限以及操作内容均不一样。
本选课系统给予教师很大的自主权,系统管理员只负责向系统中添加学生和教师的个人信息以及教学楼教室信息。
系统管理员不参与开设课程、选择课程等,一切均由教师、学生等录网站自行完成。
系统管理员设置一个选课时间段,在到达时间段以前,教师可以开设课程;到达时间段以后,学生可以登陆网站选择课程。
教师用户登陆网站后可以开设课程,为自己的课程编辑上课时间和地点,当系统中出现时间地点冲突的时候,系统向教师用户报告并推荐一个时间地点。
每门课程可以是必修或则选修,教师为每门课程设置一个学分,并可以在课程结束后给予分数,如果学生及格,学生将获得该课程的学分。
对于学生用户,每个学生除了必须选择必修课程外,至少还要选择两门选修课程,学生可以对自己选课信息锁定,以免不小心被修改。
当时候超过选课时段后,系统自动锁定学生的选课课程。
系统可以根据学生的选课信息,生成一份学生自己的课表。
课程结束后学生可登录网站查询成绩与学分。
根据上面的要求,从操作功能上可以分为两个类:
一个是通用操作,主要实现用户的登录注销和修改密码等;另一种是为不同用户定制不同操作。
1。
通用操作
(1)登录与注销
每个用户都可以用自己的帐号登录系统。
用户操作完成后推出系统,注销后可以重新登录系统。
(2)修改密码
每个用户第一次登录都用默认密码(教师和学生与帐号一样)。
2。
用户所具有功能
(1)系统管理员
设置选课时间段:
系统管理员通过此项功能设置选课时段,只有在选课时间段里,学生才可以选择课程,超过次时间段,学生选课信息被自动所定,不得修改。
录入学生与教师个人信息:
通过此项功能可以实现对教师和学生的个人信息添加删除。
录入教学楼教室信息:
通过此项功能可以把学校里所有的教学楼教室的信息录入到系统中,以便教师在开设课程时候设置上课的教室。
(2)教师用户
显示和修改个人信息:
教师用户登录系统后,可以查看和修改教师的个人信息,如姓名,电话,E-mail地址等。
开设课程:
教师用户登录系统后,可以开设课程,可以设置该课程为必修课程或则选修课程,可以设置该课程的最大人数。
教师还可以为该课程设置一个前导课程,若学生没有学习或则选择前导课程则不能选择该课程。
编辑课程上课时间:
教师在开设了课程后,可以灵活地设置上课时间和地点。
给学生分数:
课程结束后,教师用户登录系统,可以为学过课程的学生给予相应的成绩,若
及格,给予学生学分。
(3)学生用户
显示和修改个人信息:
学生登录系统后,可以查看和修改学生的个人信息,如姓名,性别,电话等。
查看必修课程:
学生登录后,可以查看所有的必修课程。
查看该课程的信息,上课时间地点,开课教师信息等。
选择选修课程:
学生登录系统后,在所有选修课程中可以选择至少两门选修课程。
同时可以查看相关信息。
锁定选课信息:
学生登录系统,确定了所选课程后,可以锁定自己的选课信息,以防被别人或则自己不小心修改。
查看最终选课信息:
学生登录系统后,可列出已选择的课程,若选课信息未被锁定,则可以退选,若所选课程少于两门,系统会提示选择的课程少于两门。
查看学分和成绩
课程结束后,学生登录系统可查看自己学习课程的成绩和已获的学分。
2.2系统总体设计
在前面的系统的系统功能分析中,将系统划分成10个模块,如图:
用户登录身份验证模块验证用户名和密码,并根据不同的用户类型,跳转到对应的页面中。
设置选课时间模块提供给系统管理员修改选课时间段。
录入信息模块提供给系统管理员,用来录入学生和教师信息,以及录入教学楼教室等信息。
开设课程模块提供给教师用户,用来开设一门必修课程或则选修课程。
编辑课程时间地点模块提供给教师用户,编辑课程的上课时间地点友好的界面和操作。
评分模块用于教师用户给选修该教师开设的课程的学生评分。
查看课程模块包括查看必修课程、查看选修课程、查看已选课程、查看课程成绩单。
选课和锁定模块中实现选择选修课程和锁定选课信息的功能。
第三章数据库设计与实现
数据库是此类系统的核心,系统中所有的信息都存储在数据库中,在所有ASP.NET页面中通过ADO.NET与数据库连接,操作数据库中的数据,从而实现所有需要的功能。
数据库软件有很多,如MicrosoftSQLServer2000等。
本系统中数据库采用MicrosoftSQLServer2000作为数据库工具。
数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的影响。
一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后物理实现。
系统分析中分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。
逻辑设计中根据系统分析设计的一个关系模型。
物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。
3.1数据库系统分析
本系统的数据库实体主要有“学生”、“教师”、“教学楼”、“教室”、“课程”等。
其中“教师”与“课程”存在“开设”联系,并且一个教师可以开设N门课程,即“教师”与“课程”之间是一对多的关系。
同样“教学楼”与“教室”也存在一对多的关系。
一个学生可以学习N门课程,一门课程可以有M个学生学习,即“学生”与“课程”之间是多对多的关系。
同样“课程”与“教室”之间也是多对多的关系。
整个数据库可以用一个E-R图表示,如图:
E—R图中的实体图:
3.2数据库逻辑设计
数据库逻辑设计就是将E—R图转换为关系模型的过程,即将所有实体和关系转换成一系列的关系模式。
转换过程中常见规则有:
(1)一个实体型转换为一个关系模式;
(2)一个一对一的联系可转换成一个独立的关系模式,也可与任意一端对应的关系模式合并;
(3)一个一对多的联系可以转换成一个独立的关系模式,也可与多的那一端对应的关系模式合并;
(4)一个多对多的关系转换成一个关系模式。
根据以上四条规则,下面将E—R图转换成关系模型。
对于“教学楼”、“教室”和两者之间的关系,就可以根据规则(3)转换成两个关系模式
教学楼(教学楼ID,教学楼名称)
教室(教室ID,教学楼ID,教室名称)
对于“学生”、“课程”和它们之间的“选修”关系就可以规则(4)转换成三个关系模式。
学生(学号,姓名,性别,年龄,登陆密码,学分,地址,电话,电子邮件)
课程(课程编码,课程名称,开课教师编号,学分,最大人数,课程简介,前导课程编号)
选课(学号,课程编号,成绩)
依次类推,剩下的关系转换成下面三个关系模式:
教师(教师编号,姓名,性别,年龄,电话,电子邮件,个人简介)
课程时间地点(课程编号,开始周次,结束周次,上课时间,上课教室ID)
管理员(帐号,密码)
3.3数据库物理实现
经过数据库系统分析和逻辑设计后,数据库的结构已经非常清晰,剩下的就是用一种数据库软件实现这样的结构。
本系统中数据库采用MicrosoftSQLServer2000作为数据库。
首先我们在MicrosoftSQLServer2000的“企业管理器”创建一个数据库,我们命名为“SC”,如图3-1:
图3-1
选中SC数据库,向数据库中添加8个表:
Student,Teacher,Course,SC,CourseTime,Building,Room和Admin,每个表与逻辑设计中一种的关系模式相对应。
下面是每个数据表中的属性,包括属性列的名称、数据类型、长度、是否可以为空和备注说明等内容。
(1)Student表。
Student表用来存储学生的个人信息,使用学号作为主键,如图3-2:
图3-2
(2)Teacher表。
Teacher表用来存储教师的个人信息,用学校分配给教师的教师编号作为主键,这样可以避免重复,如图3-3:
图3-3
(3)Course表。
Course表用来存储课程信息,Course表以课程编号为主键,设置课程编号自动增加1(通过建表的时候对属性列设置“标识”,并设置“标识递增量”为1)。
表中开课教师Id为外键,所有“TId”的值必须是Teacher表中的“TId”值。
设置外键关系可以通过在建立表的窗口中单击右键,在右键菜单中选择“关系”,在弹出的对话框中设置外键关系。
如图3-4:
图3-4
(4)SC表。
SC表用于存储学生的选课信息,在SC表中学号和课程编号是主键,同时也是外键。
如图3-5:
图3-5
(5)CourseTime表。
CourseTime表用来存放课程的上课时间和上课地点信息,其中课程编号和教室编号为外键。
如图3-6:
图3-6
(6)Building表。
Building表用来存放教学楼信息,Building表中教学楼编号为主键,自动增加1。
如图3-7:
图3-7
(7)Room表。
Room表用来存放教室信息,在Room表中,教室编号为主键,自动增加1,教学编号为外键。
如图3-8:
图3-8
(8)Admin表。
Admin表用来存放系统管理员信息,如图3-9:
图3-9
第4章公共类与公共页面设计
4.1Web.config页面设计
Web.Confi
g文件是用来保存网站的很多全局设置,代码是通过usingConfiguration引用,在Web.Config文件中添加数据库连接字符串。
在ADO.NET中用一个字符串来表示一个数据库,一般都把这个字符串放到Web.Config文件中,在整个项目中均可使用。
xmlversion="1.0"encoding="utf-8"?
>
--动态调试编译
设置compilationdebug="true"以启用ASPX调试。
否则,将此值设置为
false将提高此应用程序的运行时性能。
设置compilationdebug="true"以将调试符号(.pdb信息)
插入到编译页中。
因为这将创建执行起来
较慢的大文件,所以应该只在调试时将此值设置为true,而在所有其他时候都设置为
false。
有关更多信息,请参考有关
调试ASP.NET文件的文档。
-->
defaultLanguage="c#" debug="true" /> --自定义错误信息 设置customErrorsmode="On"或"RemoteOnly"以启用自定义错误信息,或设置为"Off"以禁用自定义错误信息。 为每个要处理的错误添加 "On"始终显示自定义(友好的)信息。 "Off"始终显示详细的ASP.NET错误信息。 "RemoteOnly"只对不在本地Web服务器上运行的 用户显示自定义(友好的)信息。 出于安全目的,建议使用此设置,以便 不向远程客户端显示应用程序的详细信息。 --> mode="RemoteOnly" /> --身份验证 此节设置应用程序的身份验证策略。 可能的模式是"Windows"、 "Forms"、"Passport"和"None" "None"不执行身份验证。 "Windows"IIS根据应用程序的设置执行身份验证 (基本、简要或集成Windows)。 在IIS中必须禁用匿名访问。 "Forms"您为用户提供一个输入凭据的自定义窗体(Web页),然后 在您的应用程序中验证他们的身份。 用户凭据标记存储在Cookie中。 "Passport"身份验证是通过Microsoft的集中身份验证服务执行的, 它为成员站点提供单独登录和核心配置文件服务。 --> --授权 此节设置应用程序的授权策略。 可以允许或拒绝不同的用户或角色访问 应用程序资源。 通配符: "*"表示任何人,"? "表示匿名 (未经身份验证的)用户。 --> --允许所有用户--> -- roles="[逗号分隔的角色列表]"/> roles="[逗号分隔的角色列表]"/> --> --应用程序级别跟踪记录 应用程序级别跟踪为应用程序中的每一页启用跟踪日志输出。 设置traceenabled="true"可以启用应用程序跟踪记录。 如果pageOutput="true",则 在每一页的底部显示跟踪信息。 否则,可以通过浏览Web应用程序 根目录中的"trace.axd"页来查看 应用程序跟踪日志。 --> enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" /> --会话状态设置 默认情况下,ASP.NET使用Cookie来标识哪些请求属于特定的会话。 如果Cookie不可用,则可以通过将会话标识符添加到URL来跟踪会话。 若要禁用Cookie,请设置sessionStatecookieless="true"。 --> mode="InProc" stateConnectionString="tcpip=127.0.0.1: 42424" sqlConnectionString="datasource=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" /> --全球化 此节设置应用程序的全球化设置。 --> requestEncoding="utf-8" responseEncoding="utf-8" /> --数据库连接字符串 --> --选课时间段 --> 00: 00/2005-06-1500: 00: 00"/> \\选课系统\\time.txt"/> 在上面的代码中部分解释: Datasource: 表示数据库服务器地址,可以填IP地址,若为本机数据库,则填(local) Initialcatalog: 表示数据库名称。 Persistsecurityinfo: 表示数据库登录验证模式。 SQLServer支持用户名登录验证和Windows身份验证两种模式。 一般选用前一种,故这里Persistsecurityinfo的值署为True。 Userid: 表示登录数据库的用户名。 Pwe: 表示登录数据库的用户名的密码。 Packetsize: 表示包的大小值,此项默认配置为4096即可。 4.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函数的代码如下: /// ///执行select类型的sql语句,返回select得到的数据集 /// /// /// publicstaticDataSetExecuteSelectSql(stringsqlSelect) { SqlConnectionconn=newSqlConnection(connString); SqlDataAdaptersda=newSqlDataAdapter(sqlSelect,conn); DataSetds=newDataSet(); try { sda.Fill(ds); } catch(SqlExceptione) { thrownewException(e.Message); } returnds; } ExecuteSql函数代码如下: publicstaticintExecuteSql(stringsql) { introws=-1; SqlConnectionconn=newSqlConnection(connString); SqlCommandcmd=newSqlCommand(sql,conn); try { conn.Open(); rows=cmd.ExecuteNonQuery(); } catch(SqlExceptione) { thrownewException(e.Message); } fin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Web 选课 系统 论文
![提示](https://static.bingdoc.com/images/bang_tan.gif)