1、Zslxfx学生网上选课系统毕业论文 作者: 日期:2 个人收集整理 勿做商业用途生命是永恒不断的创造,因为在它内部蕴含着过剩的精力,它不断流溢,越出时间和空间的界限,它不停地追求,以形形色色的自我表现的形式表现出来。泰戈尔江西工业职业技术学院毕业综合实践课题名称: 学生选课系统 作 者: 学 号: 分 院: 电子信息工程系 专 业: 指导老师: 2010年 3 月 10 日课 题 摘 要随着在校大学生的不断增加,学生选课系统也是学校对学生管理中不可缺少的一部分。以往的选课方法是使用人工的方法管理文件档案,这种管理方式存在许多的缺点:效率低、保密差,另外时间一长,将产生大量的文件和数据,这对于
2、查找、更新和维护都带来不少的困难.随着科学技术的不断提高,计算机已经进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,实用技术绝对选课信息进行管理,具有手工管理所无法比拟的优点.例如:查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。本文通过分析浏览器/服务器结构的特点并结合选课的实际情况简单的介绍了系统各功能模块及数据库的设计,着重讨论了用ASP.NET技术和SQL Server 2005 开发选课系统的数据库的访问技术和动态网页制作技术,并给出了一些可以实现的核心代码.通过该系统,使学生可以很方便的在校园网上进行网上选课。该系统在Windows XP系统和VS
3、2005平台下开发完成,使用C作为ASP。NET的开发语言,SQL Server 2005作为数据库。系统有较高的安全性和较好的性能。其中连接数据库的字符串可以随时在web。config里修改。代码尽量使用了存储过程和尽量减少了数据库连接打开的时间来提高性能。本文除了有对程序的系统分析、总体设计、数据库设计、功能实现等主体部分外,还介绍了ASP。NET和数据库的结合的基本内容。关键词:学生选课、 浏览器/服务器、 ASP。NET、VS 2005、 SQL Server 2005数据管理系统AbstractWith the continuous increase in college stude
4、nts, students in schools of students elective system is also an integral part of management. Previous elective method is to use artificial methods to manage file archives, this management approach has many disadvantages: low efficiency, poor security, while over time, will generate a large number of
5、 documents and data, which for finding, updating and maintenance of bring a lot of difficulties。 With the continuous improvement of science and technology, the computer has access to all areas of human society, and play an increasingly important role. As a part of computer applications and practical
6、 management of information technology is absolutely elective, with manual management incomparable advantages。 For example: to find convenient, high reliability, large memory capacity, security and good, long life and low cost.文档为个人收集整理,来源于网络本文为互联网收集,请勿用作商业用途This paper analyzes the browser / server s
7、tructure is characterized by combining the actual situation of elective a brief introduction of the system of functional modules and database design, focused on using ASP。NET technology and SQL Server 2005 Developer elective system, access to the database technology and dynamic web production techni
8、ques, and give some of the core code can be achieved。 Through the system so that students can easily online Online Course on campus. The system is Windows XP system and VS2005 platform is developed using C # as the ASP.NET development language, SQL Server 2005 as a database。 System has a higher secu
9、rity and better performance。 In which the database connection string in the web.config where you can change at any time。 The code to make use of the stored procedure and to minimize the database connection open time to improve performance.文档为个人收集整理,来源于网络文档为个人收集整理,来源于网络This addition to the programs s
10、ystem analysis, overall design, database design, function and so the main part of the implementation, but also describes the combination of ASP。NET and database elements。 Keywords: Student elective, browser / server, ASP。NET, VS 2005, SQL Server 2005 database management system目 录第一章 引言41。1课题研究目的41.2
11、 课题研究的意义4第二章 系统分析与总体设计52.1系统分析52.2系统设计构架5第三章 数据库的设计和实现63。1数据库需求分析63.2数据库概念结构设计73。3数据表的设计8第四章 公共类与公共页面设计114。1 Web.config页面设计114。2 数据库连接操作类Db类114.3 工具类MyUtility类124.4 错误信息类和错误显示页面13第五章 系统说明书135.1系统界面说明135.1.1登录界面135。1。2学生选课界面145.1。3学生查看选课界面155。2系统登录及浏览权限说明16第六章 总结17参考文献18致 谢19第一章 引言1.1课题研究目的1。掌握采用Inte
12、rnet的TCP/IP协议,以B/S方式,ASP.NET编程技术,多媒体技术。2.掌握一种多任务多用户操作系统3。ASP.NET的动态网页编程技术和SQL Server2005大型的数据库。4.学会使用VS2005开发工具。5。培养相互合作的精神。1.2 课题研究的意义学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难. 随着
13、科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用. 作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件. 因此,开发这样一套软件成为很有必要的事情,在下面的各章中我们将以开发学生选课系统为例,谈谈其开发过程和所涉及到的问题及解决方法。本文中所做的主要工作如下:(1) 介绍了个性化页面的背景及Windows XP+IIS+ASP
14、.NET系统的一般原理;(2) 阐述整个个性化页面生成系统的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点。(3) 设计实现用户管理、课程管理、选课信息录入管理、课程的浏览和查找、学生查找等ASP。NET页面 .(4) 分析并解决实现中的若干技术问题。 (5) 建立完整的网上选课,进行测试并分析结果。第二章 系统分析与总体设计2.1系统分析在本系统的功能操作针对不同的用户角色分权进行管理。系统对角色提供的主要功能如下:个人信息管理(编号、姓名、院系、学号、专业、性别等)、选课管理、管理学生本人已选课程.教师角色提供以下功能操作:查看自己所担任课程的课表和选该门课的学生信息。系统给后台
15、管理员(后台用户)提供的操作功能如下:查看所有的院系、专业、课程、学生、教师的信息并对它进行管理(添加、编辑、删除等).2。2系统设计构架本网站采用三层架构,表现层通过统一的接口向数据访问层发送请求,业务逻辑层将请求按照一定按照一定逻辑规则处理后进入数据库操作,然后将从数据库返回的数据集合封装成对象的形式返回到表现层.通过这样的数据处理流程,用户表现层表现层甚至可以不知道数据库是结构,只要维护与数据的访问层之间的接口即可.这种方式在一定程度上增加了数据库的安全性,同时也降低了对用户表现层开发人员的要求,因为表现层不需要进行任何关于数据库的操作。根据上述的分析,可以描述出系统的功能模块图.分别从
16、管理员界面、学生界面、教师界面对功能模块进行描述.管理员界面的功能模块如图2-1所示:管理员登录系统管理院系管理系统专业管理系统课程管理学生管理教师管理查看院系添加院系修改院系删除院系查看专业添加专业修改专业删除专业查看课程修改课程添加课程删除课程查看学生添加学生修改学生删除学生查看教师添加教师删除教师修改教师图2-1 管理界面的系统功能模块图教师界面的功能模块如图2-2所示:学生界面的功能模块如图23所示:学生登录课 程个人信息管理修改个人信息查看个人信息添加选课删除选课查看选课信息学生信息查看选课信息教师登录选课学生信息教师信息担任学生课表添加选课课程如图22教师界面的功能模块 如图2-3
17、学生界面的功能模块第三章 数据库的设计和实现3。1数据库需求分析用户的需求具体体现在对各种信息的提供和查询,数据库是此类系统的核心,系统中所有的信息都存储在数据库中,在所有ASP.NET页面中通过ADO。NET与数据库连接,操作数据库中的数据,从而实现所有需要的功能。数据库软件有很多,本系统中数据库采用Microsoft SQL Server 2005作为数据库工具。数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的影响。一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后物理实现。系统分析中分析数据库用户需求,并画出ER图直观地表示出数据库系统的需求。逻辑设计中根据系统
18、分析设计的一个关系模型。物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。针对学生选课系统的需求,总结如以下信息: 用户分学生用户、教师用户和管理员用户。 一个院系包括很多专业. 一个专业包括很多学生 一个专业包括多门课程 一门课程对应一位教师,一位教师可以教多门课程。 一个院系对应多个教师。 一个学生可选多门课程,每门课程可以由多名学生选学。经过对上述系统功能的分析和需求总结,设计如下数据项: 管理员信息,包括用户名和密码。 教师,包括教师名教师工号、所属院系等. 学生,包括学生编号、学生姓名、所属
19、院系、性别、所属专业等。 院系,包括院系名称。 专业,包括专业名称、所属院系。 课程,包括课程名称、课程描述、所属专业及所属教师。3。2数据库概念结构设计由上述数据项,可以设计出能够满足用户需求的各种实体,以及他们之间的关系。这些实体包含了各种具体的信息,通过相互之间的作用使整个数据库可以用一个ER图表示。实体之间关系的E-R图如图3-1所示: 课 程教 师院 系专 业学 生选 课 如图3-1 实体之间关系的E-R图管理员信息实体E-R图如图32所示教师用户实体ER图如图33所示学生用户信息实体E-R图如图34所示院系信息实体E-R图如图35所示教师工号教师姓名所属院系教 师管理员 密 码用户
20、名 图3-3 管理员信息实体ER图 如图3-3 教师用户实体E-R图院 系所属专业学 生性 别所属院系 用户编号院系名称学生姓名图3-4 学生用户信息实体E-R图 图35 院系信息实体ER图专业信息实体E-R图如图36所示课程信息实体ER图如图3-7所示课 程所属专业用户编号所属院系学生姓名管理员院系名称专业名称图36 专业信息实体ER图 图3-7 课程信息实体ER图3。3数据表的设计经过数据库系统分析和逻辑设计后,数据库的结构已经非常清晰,剩下的就是用一种数据库软件实现这样的结构。本系统中数据库采用Microsoft SQL Server 2005作为数据库。首先我们在Microsoft S
21、QL Server 2005的“企业管理器”创建一个数据库,我们命名为“WebCourse_Data。选中WebCourse_Data数据库,向数据库中添加7个表:包括users、teacherinfo、studentinfo、deptinfo、majorinfo、majorinfo、stucourse。其中每个表与逻辑设计中一种的关系模式相对应。下面是每个数据表中的属性,包括属性列的名称、数据类型是否可以为空等内容.Users为用户表,记录用户的登录信息,包括管理员、教师和学生的登录帐户.本系统默认用户为admin,其他可由管理员添加,默认密码都为123。其中userID为主键,其详细信息请
22、看表6-1表6-1 Users(用户表)Teacherinfo为教师信息列表,以TeacherID为主键,记录教师相关的信息。其详细信息请看表62表62 Teacherinfo(教师信息列表)Studentinfo为学生信息列表,以StudentID为主键,记录学生相关的信息。其详细信息请看表63表6-3 Studentinfo(学生信息列表)Deptinfo为院系列表,以DeptID为主键,记录院系的相关信息。其详细信息请看表64表6-4 Deptinfo(院系列表)majorinfo为专业信息列表,以majorID为主键,记录专业相关的信息。其详细信息请看表65表6-5 majorinfo
23、(专业信息列表)courseinfo为课程信息列表,以courseID为主键,记录课程相关的信息。其详细信息请看表6-6表66 courseinfo(课程信息列表)stucourse为学生和课程的关系表,因为学生和课程多对多关系,所以用表建立以courseID为主键的多对对关系。其详细信息请看表67表6-7 stucourse(学生和课程的关系表)第四章 公共类与公共页面设计4.1 Web.config页面设计Web。Config文件是用来保存网站的很多全局设置,代码是通过using Configuration引用,在Web。Config文件中添加数据库连接字符串。在ADO。NET中用一个字符
24、串来表示一个数据库,一般都把这个字符串放到Web。Config文件中,在整个项目中均可使用.appSettingsadd key=”ConnString value=”Data Source=。SQLEXPRESS;User ID=sa;Password=sa;Initial Catalog=WEBCOURSE;/!-数据库链接字符串add key=ConnString value=Data Source=.SQLEXPRESS;AttachDbFilename=DataDirectory|WebCourse。mdf;Integrated Security=True;User Instance
25、=True; /-/appSettingscompilers/compilation!- 自定义错误信息设置 customErrors mode=”On” 或 ”RemoteOnly 以启用自定义错误信息,或设置为 Off” 以禁用自定义错误信息。为每个要处理的错误添加 4.2 数据库连接操作类Db类 在ASP.NET中通过ADO.NET技术对数据库进行操作。ADO.NET中有许多很方便的类可用来操作数据库,例如SqlConnection类、SqlDataAdapter类、SqlCommand类、DataSet类等。由于在选课系统中,操作数据库的地方非常多,为了避免很多重复代码的编写,所以对数
26、据库操作做了简单的封装-Db类。在Db类中有三个静态函数ExecuteSelectSql、ExecuteSql和ExecuteInsertSql,其中ExecuteSelectSql函数用来执行查询操作,ExecuteSql用来执行修改、插入和删除三类操作,ExecuteInsertSql执行需要返回刚插入记录的identity的insert语句. 通过ADO。NET执行SQL语句从而对数据库进行操作,一般顺序为:先通过SqlConnection的Open函数连接到数据库,然后再通过Sqlcommand执行指定的SQL语句,执行结束后再调用SqlConnection的Close函数关闭数据库连
27、接. ExecuteSelectSql函数的代码如下: public static DataSet ExecuteSelectSql( string sqlSelect ) SqlConnection conn = new SqlConnection(connString); SqlDataAdapter sda = new SqlDataAdapter(sqlSelect,conn); DataSet ds = new DataSet(); try sda。Fill(ds); catch(SqlException e) throw new Exception(e.Message); retu
28、rn ds; 4。3 工具类MyUtility类 在网站的编写过程中经常会有很多公共函数调用,把它们都写在一个工具类里:MyUtility类,每个函数作为工具类的一个静态成员函数。其中包括MD5静态成员函数以及Alert静态成员函数。 MD5静态成员函数:MD5算法。MD5算法是一个不可逆的加密算法,通常用于重要信息的加密,如登录密码,在ASP.NET中,提供有MD5的算法实现函数,调用MD5算法代码如下:public static string MD5(string str) string result = ”; result = FormsAuthentication.HashPasswo
29、rdForStoringInConfigFile(str,”MD5); return result; Alert静态成员函数的功能是显示一个提示对话框,在网站的运行过程中,经常需要给用户一些即时反馈,比如修改密码成功,选课成功等提示框。代码如下:public static string Alert(string s) return ”alert(”+s+);/script; Back函数的功能是回退到某个网页,i的取值通常为负,当为1时表示回退到上一个网页,为-2时表示回退到上上个网页,依次类推。4。4 错误信息类和错误显示页面 在用户使用系统过程中,可能由于用户操作失败或则网络原因等,系统运
30、行会出现一些错误,为了便于统一,本系统定义专用的错误信息类和错误显示页面。在错误信息类ErrorInfo类中,定义了所有的本系统中所出现的错误情况和函数Message。函数Message根据错误情况得到相应显示字符串.错误显示页面根据URL中错误代码参数显示不同的错误信息.第五章 系统说明书5.1系统界面说明下面是在线选课系统的预览,此处简单介绍本系统的部分功能。5。1。1登录界面登录界面图解如图51所示:图5-1 登陆界面在用户名和密码处输入用户名和密码,系统会由该用户输入的用户名来判断登入用户的身份是管理员还是老师或是学生,如果输入用户名密码成功后便会自动跳转到登入身份下的界面登录选课系统
31、,如果输入有误则提示“登录失败!”。登录界面的主要动态代码如下:protected void btnOK_Click(object sender, System。EventArgs e) CourseBiz。Auth auth = new CourseBiz.Auth(); if (auth.Login(txtName。Text, txtPass.Text)) FormsAuthentication.SetAuthCookie(txtName。Text, false); Response。Redirect(”Common/Main.aspx); else Response.Write(”scr
32、ipt language=javascriptalert(登录失败!);); 5。1。2学生选课界面学生选课界面图解如图52所示:图5-2 学生选课界面在选课界面上,选着好所在院系及所要选课的专业后,查看所有选修课程列表,在列表中给出了课程信息,选择你想要选学的课程前面的方框内打钩.选择完成后单击“选课按钮进行链接完成选课。学生选课界面的主要动态代码如下:protected void ddlDept_SelectedIndexChanged(object sender, System.EventArgs e)/选择其他专业后,重新绑定学生信息CourseBiz。Major major = ne
33、w CourseBiz。Major();ddlMajor.DataSource = major.GetMajorInfoByDid(int.Parse(ddlDept。SelectedValue);ddlMajor.DataBind();DgBind();protected void ddlMajor_SelectedIndexChanged(object sender, System。EventArgs e)DgBind();protected void btnAdd_ServerClick(object sender, System。EventArgs e)/循环插入学生选课信息forea
34、ch(DataGridItem item in dgBulletin.Items)if(item。ItemType=ListItemType.Item | item.ItemType=ListItemType。AlternatingItem)CheckBox chkID = (CheckBox)item.FindControl(chkID);if(chkID.Checked=true)int CourseID = int.Parse(item.Cells1。Text);int StuID = int。Parse(Requestsid);CourseBiz。Student stu = new C
35、ourseBiz。Student();stu。InsertStudentCourse(StuID, CourseID);Response。Redirect(StuAddCourse。aspx?sid=+Request”sid”); 5。1.3学生查看选课界面学生查看选课界面图解如图53所示:图5-3 学生选课界面在学生选完课程以后,点了图5-2中的选课按钮就会跳到该页面,该页面实现的功能是查看学生所选科目,在学生觉得所选科目不妥时,可以点击删除选课或去选课按钮.进行选课删除或者修改、增加。该页面提高了选课系统的可行性和增加了学生选课的可扩充性、可变性。学生查看选课界面的(删除选课及去选课)主要
36、动态代码如下:protected void btnAdd_ServerClick(object sender, System。EventArgs e)/循环删除学生选课信息foreach(DataGridItem item in dgBulletin.Items)if(item。ItemType=ListItemType。Item item。ItemType=ListItemType.AlternatingItem)CheckBox chkID = (CheckBox)item。FindControl(”chkID”);if(chkID。Checked=true)int CourseID =
37、int.Parse(item。Cells1.Text);int StuID = int.Parse(Request”sid);CourseBiz.Student stu = new CourseBiz.Student();stu。DeleteStudentCourse(StuID, CourseID);Response.Redirect(”StuCourse.aspx?sid=”+Request”sid”);protected void Button1_ServerClick(object sender, System。EventArgs e)/转向到学生选课页面Response.Redire
38、ct(”StuAddCourse。aspx?sid=+Request”sid);5。2系统登录及浏览权限说明在学生选课系统登录界面内输入用户名及密码后,系统自动到数据库中查找该名用户的级别如果级别是1时,证明该用户为管理员;当级别是2时,证明该用户为教师;级别是3时,证明该用户为学生。如果登录用户是管理员,它具有添加院系、专业等一切网站信息的修改、删除及添加及有查看教师、学生所有信息功能;并要肩负起该网站的更新及维护任务。如果登录用户是教师时,它具有查看自己信息以及他所任课程名下的所有学生的信息,并不具备添加院系、专业等功能。如果登录用户是学生时,它具有查看自己信息和对自己专业的课程选择以及对
39、所选课程进行增加、删除及修改的权限。并不具备查看教师及其他学生信息的行为功能.第六章 总结 经过几个月的学习,研究和开发,我选择的课题学生选课系统基本完成。其功能基本符合网络上的用户要求,能够在线选课,在线添加课程,在线查询课程等。虽然由于自己知识上的不足,有些地方有少许错误和容错性能比较低,但是还是可以基本完成选课系统应有的功能。 通过毕业设计过程我会到了许多知识,这也是在大学里第一次比较完整的完成一个小项目,虽然过程中遇到了许多困难,在同学和老师的帮助下一一克服了.通过不断的发现问题,总结问题和解决问题的过程,使我在此次毕业设计活动中不断的提高,和得到了宝贵的经验。参考文献1吴晨,ASP.NET+SQL Server数据库开发与实例,清华大学出版社,出版2006年7月2屈武江,ASP。NET程序设计,大连理工大学出版社,出版2007年9月3(美)内格尔,C高级编程(第4版),清华大学出版社,出版2006年10月4(美)solid,SQLServer2005从入门与精通(应用技术基础),清华大学出版社,出版2006年09月5(美)保罗ASP.NET 2。0经典教程C篇,人民邮电出版社,出版2007年5月致 谢
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100