基于机电学院选课系统设计毕业设计论文.docx

上传人:b****5 文档编号:24703989 上传时间:2023-05-31 格式:DOCX 页数:30 大小:652.72KB
下载 相关 举报
基于机电学院选课系统设计毕业设计论文.docx_第1页
第1页 / 共30页
基于机电学院选课系统设计毕业设计论文.docx_第2页
第2页 / 共30页
基于机电学院选课系统设计毕业设计论文.docx_第3页
第3页 / 共30页
基于机电学院选课系统设计毕业设计论文.docx_第4页
第4页 / 共30页
基于机电学院选课系统设计毕业设计论文.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

基于机电学院选课系统设计毕业设计论文.docx

《基于机电学院选课系统设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于机电学院选课系统设计毕业设计论文.docx(30页珍藏版)》请在冰豆网上搜索。

基于机电学院选课系统设计毕业设计论文.docx

基于机电学院选课系统设计毕业设计论文

毕业设计论文

基于机电学院选课系统设计与实现

摘要

随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨。

以往的选课方法是随堂报名。

这种方法虽然直接,但是造成选课的盲目性和教务处处理数据的繁重性。

为了减轻教务处工作,以及每个学生更好的选择自己所喜欢的科目。

针对学生选课这一环节,本系统从学生网上自主选课以及教师的课程发布两个大方面进行了设计,基本实现了学生的在线信息查询、选课功能以及教师对课程信息发布的管理等功能。

本文通过分析浏览器/服务器结构的特点并结合选课的实际情况,提出了基于浏览器/服务器结构网上选课系统的基本设计思想,简要介绍了系统各功能模块及数据库的设计,着重讨论了用ASP.NET技术和SQLServer2000开发网上选课系统时的数据库访问技术和动态网页制作技术,并给出了部分实现代码。

通过该系统,使学生可以方便地在校园网上进行网上选课。

该B/S结构的系统在WindowsXP系统和VS.NET平台下开发完成,使用C#作为ASP.NET的开发语言,SQLServer2000作为数据库。

系统有较高的安全性和较好的性能。

其中连接数据库的字符串可以随时在web.config里修改,并经过编码加密,增加了灵活性,保护了数据库的安全。

代码尽量使用存储过程和尽量减少数据库连接的打开时间等手段来提高性能。

本文中除了有对程序的系统分析、总体设计、数据库设计、功能实现等主体部分外,在这之前还介绍了与网上选课系统相关的信息、IIS介绍、IIS与ASP.NET的结合等的基本内容及发展情况。

关键词:

网上选课,浏览器/服务器结构,ASP.NET,数据库管理系

1引言

1.1课题研究的目的

1.掌握采用Internet的TCP/IP协议,以B/S方式,ASP.NET编程技术,多媒体技术。

2.掌握一种多任务多用户操作系统

3.ASP.NET的动态网页和SQLServer大型的数据库。

4.学会使用某种开发工具。

5.培养相互合作的精神。

1.2课题研究的意义

学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:

效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:

检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

因此,开发这样一套软件成为很有必要的事情,在下面的各章中我们将以开发一套学生选课系统为例,谈谈其开发过程和所涉及到的问题及解决方法。

本文中所做的主要工作如下:

(1)介绍了个性化页面的背景及Win2000server+IIS+ASP.NET系统的一般原理;

(2)阐述整个个性化页面生成系统的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点。

(3)设计实现用户管理、课程管理、选课信息录入管理、新生信息录入管理、课程的浏览和查找、学生查找等ASP.NET页面。

(4)分析并解决实现中的若干技术问题。

(5)建立完整的网上选课,进行测试并分析结果。

1.3课题的可行性分析

1.3.1课题调研

(1)与实践活动和相关的文件和资料由教师提供。

(2)本课题要求学生有熟练的ASP.NET开发能力,有较强的自学能力以一定的关系数据库理论开发功底。

(3)具有对复杂表进行处理的能力。

(4)具体问题再做详细调查研究并与指导老师面谈。

1.3.2可行性分析

(1)技术可行性-----本系统仅需要一台装有Office软件的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。

对于软件技术要求,现在的程序设计语言已非常成熟,要运用HTML样式,图形图象制作工具来制作生动活泼的网页及美观的图形文件或动画文件,数据库使用SQL Server2000中提供的数据库桌面工具ODBC。

(2)经济可行性-----由于本系统是为学生选课管理使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。

所带来的效益远远大于系统软件的开发成本。

在经济上完全可行。

(3)操作可行性-----界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。

第2章内容主要是:

系统需求分析包括,现有系统介绍;系统的实体分析,实体关系图。

2系统分析与总体设计

2.1系统分析

在本系统中,有三类用户:

系统管理员,教师和学生。

三种不同的用户所具有的操作权限以及操作内容均不一样。

本选课系统给予教师很大的自主权,系统管理员只负责向系统中添加学生和教师的个人信息以及教学楼教室信息。

系统管理员不参与开设课程、选择课程等,一切均由教师、学生等录网站自行完成。

系统管理员设置一个选课时间段,在到达时间段以前,教师可以开设课程;到达时间段以后,学生可以登陆网站选择课程。

教师用户登陆网站后可以开设课程,为自己的课程编辑上课时间和地点,当系统中出现时间地点冲突的时候,系统向教师用户报告并推荐一个时间地点。

每门课程可以是必修或则选修,教师为每门课程设置一个学分,并可以在课程结束后给予分数,如果学生及格,学生将获得该课程的学分。

对于学生用户,每个学生除了必须选择必修课程外,至少还要选择两门选修课程,学生可以对自己选课信息锁定,以免不小心被修改。

当时候超过选课时段后,系统自动锁定学生的选课课程。

系统可以根据学生的选课信息,生成一份学生自己的课表。

课程结束后学生可登录网站查询成绩与学分。

根据上面的要求,从操作功能上可以分为两个类:

一个是通用操作,主要实现用户的登录注销和修改密码等;另一种是为不同用户定制不同操作。

1.通用操作

(1)登录与注销

每个用户都可以用自己的帐号登录系统。

用户操作完成后推出系统,注销后可以重新登录系统。

(2)修改密码

每个用户第一次登录都用默认密码(教师和学生与帐号一样)。

2.用户所具有功能

(1)系统管理员

设置选课时间段:

系统管理员通过此项功能设置选课时段,只有在选课时间段里,学生才可以选择课程,超过次时间段,学生选课信息被自动所定,不得修改。

录入学生与教师个人信息:

通过此项功能可以实现对教师和学生的个人信息添加删除。

录入教学楼教室信息:

通过此项功能可以把学校里所有的教学楼教室的信息录入到系统中,以便教师在开设课程时候设置上课的教室。

(1)教师用户

显示和修改个人信息:

教师用户登录系统后,可以查看和修改教师的个人信息,如姓名,电话,E-mail地址等。

开设课程:

教师用户登录系统后,可以开设课程,可以设置该课程为必修课程或则选修课程,可以设置该课程的最大人数。

教师还可以为该课程设置一个前导课程,若学生没有学习或则选择前导课程则不能选择该课程。

编辑课程上课时间:

教师在开设了课程后,可以灵活地设置上课时间和地点。

给学生分数:

课程结束后,教师用户登录系统,可以为学过课程的学生给予相应的成绩,若

及格,给予学生学分。

(1)学生用户

显示和修改个人信息:

学生登录系统后,可以查看和修改学生的个人信息,如姓名,性别,电话等。

查看必修课程:

学生登录后,可以查看所有的必修课程。

查看该课程的信息,上课时间地点,开课教师信息等。

选择选修课程:

学生登录系统后,在所有选修课程中可以选择至少两门选修课程。

同时可以查看相关信息。

锁定选课信息:

学生登录系统,确定了所选课程后,可以锁定自己的选课信息,以防被别人或则自己不小心修改。

查看最终选课信息:

学生登录系统后,可列出已选择的课程,若选课信息未被锁定,则可以退选,若所选课程少于两门,系统会提示选择的课程少于两门。

查看学分和成绩

课程结束后,学生登录系统可查看自己学习课程的成绩和已获的学分。

2.2系统总体设计

在前面的系统的系统功能分析中,将系统划分成10个模块,如图:

用户登录身份验证模块验证用户名和密码,并根据不同的用户类型,跳转到对应的页面中。

设置选课时间模块提供给系统管理员修改选课时间段。

录入信息模块提供给系统管理员,用来录入学生和教师信息,以及录入教学楼教室等信息。

开设课程模块提供给教师用户,用来开设一门必修课程或则选修课程。

编辑课程时间地点模块提供给教师用户,编辑课程的上课时间地点友好的界面和操作。

评分模块用于教师用户给选修该教师开设的课程的学生评分。

查看课程模块包括查看必修课程、查看选修课程、查看已选课程、查看课程成绩单。

选课和锁定模块中实现选择选修课程和锁定选课信息的功能

3数据库设计与实现

数据库是此类系统的核心,系统中所有的信息都存储在数据库中,在所有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.Config文件是用来保存网站的很多全局设置,代码是通过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的集中身份验证服务执行的,

它为成员站点提供单独登录和核心配置文件服务。

-->

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得到的数据集

///

///select语句

///返回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)

4.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时表示回退到上上个网页,依次类推。

代码如下:

publicstaticstringBack(inti)

{

return"location.href=\"javascript:

history.go("+i+");\";";

}

4.4错误信息类和错误显示页面

在用户使用系统过程中,可能由于用户操作失败或则网络原因等,系统运行会出现一些错误,为了便于统一,本系统定义专用的错误信息类和错误显示页面。

在错误信息类ErrorInfo类中,定义了所有的本系统中所出现的错误情况和函数Message。

函数Message根据错误情况得到相应显示字符串。

错误显示页面根据URL中错误代码参数显示不同的错误信息。

4.5登录页面

登录页面是所有用户公用的功能。

不同的用户登录到系统中将转向不同的页面。

解决方法运用了ASP.NET的内置对象Session记录用户登录信息,同样也可以在网站里随时判断用户是否已经登录。

5系统说明书

5.1系统界面说明

下面是在线选课系统的预览,此处简单介绍本系统的部分功能。

1.登录页面,如图5-1:

图5-1

在用户名和密码处输入用户名和密码,在“用户类型”下拉列表框中选择“学生”,单击“登录”按钮,登录选课系统。

主要代码如下:

privatevoidbtnLogin_Click(objectsender,System.EventArgse)

{

inttype=Int32.Parse(ddlType.SelectedItem.Value);

stringuser=txtUser.Text.Trim();

stringinputkey=txtKey.Text.Trim();

stringkey="";

stringsql="";

DataSetds;

switch(type)

{

case1:

//学生

//验证学生身份代码

break;

case2:

//教师

//验证教师身份代码

break;

case3:

//系统管理员

//验证管理员身份代码

break;

default;

break;

}

}

2.查看必修课程列表页面,如图5-2:

图5-2

登录成功后,进入学生主页,点击“必修课程”链接,得到所有必修课程的列表,在列表中可以看到所有必修课程及课程的简单信息,如授课教师姓名、课程所占学分等。

在列表中可以点课程名称,如“计算机应用基础”链接,查看课程详

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1