网上选课系统的设计与实现 毕业论文.doc

上传人:西安人 文档编号:3962246 上传时间:2019-10-11 格式:DOC 页数:23 大小:878.02KB
返回 下载 相关 举报
网上选课系统的设计与实现 毕业论文.doc_第1页
第1页 / 共23页
网上选课系统的设计与实现 毕业论文.doc_第2页
第2页 / 共23页
网上选课系统的设计与实现 毕业论文.doc_第3页
第3页 / 共23页
网上选课系统的设计与实现 毕业论文.doc_第4页
第4页 / 共23页
网上选课系统的设计与实现 毕业论文.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《网上选课系统的设计与实现 毕业论文.doc》由会员分享,可在线阅读,更多相关《网上选课系统的设计与实现 毕业论文.doc(23页珍藏版)》请在三一文库上搜索。

1、题目:网上选课系统 目 录1 概述11.1 开发背景11.2 软件开发工具和开发环境12 需求分析22.1 需求分析的任务22.2 系统功能需求22.3 数据字典42.4 数据模型42.4.1 E-R模型52.4.2 系统E-R图53 总体设计83.1 总体结构设计83.2 数据库设计93.2.1 数据表设计93.2.2 数据表关系114 详细设计114.1 数据库连接124.2 系统设计134.2.1 教务管理子系统134.2.2 学生选课子系统154.2.3 教师查询子系统165 小结18参考文献:19 20网上选课系统摘要:随着计算机网络的普及,各高等学校纷纷建立基于B/S(浏览器/服务

2、器)结构的网上选课系统。与传统的选课方式相比,网上选课系统为学生选课带来了极大的便利。学生无论是在学校机房,还是在宿舍都能通过网络连接进行选课。学生能够灵活的管理自己的选课情况,而不受时间地点的限制。任课教师也可通过网络方便的查询到学生选课的情况。教务管理人员则可通过选课系统的教务管理子系统集中管理学生的选课情况,使得学生选课工作达到系统化和自动化,大大提高了学校的工作效率。本系统是采用C#编程语言和 SQL Server2005数据库实现的基于B/S结构的网上选课系统。本系统从功能上总体分为学生选课子系统、教师查询子系统和教务管理子系统三个部分。关键词:网上选课系统;C#;SQL Serve

3、r2005数据库Online Course-Choosing SystemABSTRACT:Along with the development of the web, every university have been built the Online Course-Choosing System which is based on the B/S (Browser/Server) structure. Compared with the traditional way of choose courses, this system is very convenient. Students

4、can choose courses either at computer room or dormitory on the net .Students can manage their courses at the elective time flexibly. Teachers can examine the situation of course-choosing conveniently. And the manager of the educational administration can centralizely manage the situation of course-c

5、hoosing, this system can help students to select courses systematizely and automaticly, which greatly improved the schools work efficiently. The Online Course-Choosing System used C# language and SQL Server 2005 Database to realize online course-choosing,which is also based on B/S structure. This sy

6、stem is makes up by three sub-systems: Student Course-Choosing sub- system、Teacher Inquiry sub-system and the Educational Administration Management sub- system. Key words: Choose Course System ; C# ; SQL Server 2005 Database1 概述1.1 开发背景MIS系统的飞速发展,技术的成熟以及应用领域的不断扩大,为网上信息的交互提供了一个良好的平台和方便的操作界面。由于MIS系统基于

7、用户需求的设计方法,使得该系统的使用更加的人性化、个人化、更贴近用户。网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的教学模式学生按照学校安排好的课程上课已经不能适应新型的教学手段,如果仍然通过纸上的方式选课,一方面浪费的大量的人力、物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着高校人数的增多,这种弊端会越来越多的暴露出来。因此,利用网络,使学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。从教师的角度来说,同样是节省了大量的工作量,由于教师提出代课申请完成课

8、程发布的工作较学生选课而言更加的复杂,因此通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生机率。作为教师,也只要通过自己的电脑来操作即可,不用再奔波于教务处和办公室之间。以MIS系统的构建思想来实现网上选课系统可以最大程度的做到实用性,可扩展性和可维护性相结合,安全性以及规范化原则。1.2 软件开发工具和开发环境1该系统的开发工具(1) Visual Studio .NET 2005(C#) Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Vis

9、ual C+、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。C#是一种重要的新语言,微软将其设计和定位成.NET战略的一部分,C#内建了很多有用的库,并由高级集成开发环境提供支持.它有效地支持目前占主导地位的编程方法面向对象编程(OOP)。(2) Microsoft SQL Server 2005SQL Server是微软公司开发的一个关系数

10、据库管理系统,以Transact_SQL作为它的数据库查询和编程语言。(3) Dreamweaver MX 2004Dreamweaver MX 2004是Macromedia公司开发的集网页制作与网站管理于一身的网页编辑软件。它以强大的功能和友好的操作界面倍受广大网页制作者的欢迎,已经成为业内网页制作的首选专业设计软件。2该系统的开发工具环境本系统的开发环境:Windows 2000/Windows xp Professional 2 需求分析2.1 需求分析的任务需求分析是软件定义时期的最后一个阶段,也是设计数据库的一个起点,它确定了系统必须完成哪些工作,提出完整、准确、清晰和具体的要求,

11、直接影响到后面各个阶段的设计,及设计结果是否合理和实用。需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统/计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计系统。2.2 系统功能需求通过对网上选课系统的调查和研究,结合学生选课的实际需求,该选课系统主要完成学生选课的任务,网上选课系统的数据流图,如下所示:图 1 系统管理员子系统数据流图图 2 学生子系统数据流图图 3 教师子系统数据流图2.3 数据字典数据字典是关于数据信息的集合,也就是对数据流图中包含的

12、所有元素的定义的集合。任何字典最主要的用途都是供人查阅对不了解的条目的解释,数据字典的作用也正是在软件分析和设计的过程中给人提供关于数据的描述信息。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。数据字典:基于系统的数据流图,可以得到这样的数据字典卡片,如下所示:名字:学生名称别名:描述:标识学生信息中某个学生的域定义:学生名称=50字符50位置:选课报表 学生信息表名字:选课报表别名:选课表描述:提供给教务处,了解选课情况信息的表 定义:选课报表=

13、学生名称+学生学号+学生性别+所属专业+课程名称 位置:输出到浏览器名字:学生性别别名:描述:标识学生性别的关键域定义:学生性别=0bit1 位置:学生信息表名字:学生学号别名:描述:标识学生表中一个特定学生的关键域定义:学生学号=50字符50位置:学生信息表名字:课程名称别名:描述:学生所选课程的描述定义:课程名称=50字符50 位置:课程信息表名字:专业名称别名:描述:学生所属专业的描述定义:专业名称=50字符50 位置:专业信息表2.4 数据模型数据模型中包含3种相互关联的信息:数据对象、数据对象的属性及数据对象彼此间相互连接的关系。2.4.1 E-R模型E-R模型中包含“实体”、“联系

14、”和“属性”等三个基本成分。(1)实体实体是客观世界存在的且可相互区分的事物。它可以是人也可以是动物;可以是具体事物也可以是抽象概念。(2)联系联系是指客观世界中各事物彼此间的联系。联系分为三类:一对一的关系,一对多的关系,多对多的关系。(3)属性属性是实体或联系所具有的性质,通常一个实体用若干属性来刻画。人们通常就是用实体、联系和属性这三个概念来理解现实问题,因此,ER模型比较接近人的思维方式。此外,ER模型使用简单的图形符号表示系统分析员对问题的理解,不熟悉计算机的人也能理解它,因此,ER模型可以作为用户与系统分析员之间的交流工具。2.4.2 系统E-R图图 4 实体关系E-R图(1)实体

15、关系E-R图,如图 4 实体关系E-R图所示:(2)实体属性图图 5 课程信息实体属性E-R图 课程信息实体属性E-R分图,如下图 5 课程信息实体属性E-R图所示:图 6 院系信息实体属性E-R图 院系信息实体属性E-R分图,如下图 6 院系信息实体属性E-R图所示:图 7 专业信息实体属性E-R图 专业信息实体属性E-R分图,如下图 7 专业信息实体属性E-R图所示: 学生选课信息实体属性E-R分图,如下图 8 学生选课信息实体属性E-R图所示:图 8 学生选课信息实体属性E-R图图 9 学生信息实体属性E-R图 学生信息实体属性E-R分图,如下图 9 学生信息实体属性E-R图所示: 教师

16、信息实体属性E-R分图,如下图 10 教师信息实体属性E-R图 所示:图 10 教师信息实体属性E-R图 用户信息实体属性E-R分图,如下图 11 用户信息实体属性E-R图所示:图 11 用户信息实体属性E-R图3 总体设计3.1 总体结构设计根据学校的实际需要,本系统分为三个模块:学生用户模块、教师用户模块和系统管理员模块。系统的功能模块如图 12 系统的功能模块图所示:图 12 系统的功能模块图(一) 学生操作1.身份验证:输入学生姓名及密码,然后点击“登录”进入“选课系统”的菜单页,开始选课。2.选课操作以及选课结果查询操作:学生可以选课,修改已选的课程,并且查看自己选课结果。(二) 教

17、务管理员操作1.身份验证:输入用户名和密码,然后点击“登录”,进入选课系统后台的管理信息系统。2.基本信息录入及修改。包括课程信息,老师信息以及学生信息等。(三) 老师操作身份验证:输入用户名和密码,然后点击“登录”,进入自己任课菜单页,老师可以查看自己所教课程、每门课的选课学生名单。本系统后台主要实现教师信息管理、学生信息管理、课程信息管理、专业信息管理和院系信息管理,其中教师信息管理有教师姓名、教师工号、教师所属院系;学生信息管理有学生姓名、学生学号、学生性别、学生所属院系和学生所属专业;课程信息管理有课程名称、教师名称、课程描述、所属专业、学分、课时;专业信息管理有专业名称、院系名称;院

18、系信息管理有院系ID和院系名称。3.2 数据库设计3.2.1 数据表设计(1)表 1课程信息(CourseInfo)字段名称字段类型字段长度是否为空字段释意备注CourseIDint4not null课程编号主键CourseNamenvarchar50not null课程名称TeacherIDnvarchar50not null教师编号CourseDesnvarchar200not null课程描述IsDeletedbit1状态MajorIDint4not null专业编号索引表 1课程信息(2)表 2院系信息 (DeptInfo)字段名称字段类型字段长度是否为空字段释意备注DeptIDint

19、4not null院系编号主键DeptNamenvarchar50not null院系名称IsDeletedbit1状态表 2院系信息 (3)表 3专业信息(MajorInfo)字段名称字段类型字段长度是否为空字段释意备注MajorIDint4not null专业编号主键MajorNamenvarchar50not null专业名称DeptIDint4not null院系编号索引IsDeletedbit1状态表 3专业信息 (4)表 4 学生选课信息(StuCourseInfo)字段名称字段类型字段长度是否为空字段释意备注StuCourseIDint4not null选课编号主键Student

20、IDint4not null学生编号索引CourseIDint4not null课程编号索引表 4 学生选课信息(5)表 5 学生信息(StudentInfo)字段名称字段类型字段长度是否为空字段释意备注StudentIDint4not null学生编号主键StudentNamenvarchar50not null学生名称StudentNumbernvarchar50not null学生学号StudentGenderbit1not null学生性别DeptIDint4not null院系编号MajorIDint4not null专业编号索引IsDeletedbit1状态表 5 学生信息(6)表

21、 6 教师信息(TeacherInfo)字段名称字段类型字段长度是否为空字段释意备注TeacherIDint4not null教师编号主键TeacherNamenvarchar50not null教师名称TeacherNumbernvarchar50not null教师工号DeptIDint4not null院系编号索引IsDeletedbit1状态表 6 教师信息(7)表 7用户信息(Users)字段名称字段类型字段长度是否为空字段释意备注UserIDint4not null用户编号主键Namenvarchar50not null用户名称Passnvarchar50not null用户密码T

22、ypetinyint1not null用户类型IDint4not null用户号表 7用户信息3.2.2 数据表关系数据表的关系,如图 13 数据表关系图所示,部分表属性如下:课程信息(CourseID,CourseName,TeacherID,CourseDes,IsDeleted,MajorID)院系信息(DeptID,DeptName,IsDeleted)专业信息(MajorID,DeptID,IsDeleted)学生信(StudentID,StudentName,StudentGender,DeptID,MajorID,IsDeleted)图 13 数据表关系图教师信息(Teacher

23、ID,TeacherName,TeacherNumber,DeptID,IsDeleted)4 详细设计系统程序流程图,如图 14 系统程序流程图示:该系统有三种用户身份,在登录界面,用户输入用户名、密码,系统会自动判别用户身份进而进入相应主界面,否则重新登录;进入主界面后,系统记录用户的身份权限,用户根据自己的权限大小,可以进行相应的操作,系统管理员权限最高,可以进行所有的操作,学生用户可以进行选课操作、修改个人信息等,教师用户只能进行查看自己所担任的课程及每门课的选课学生名单。图 14 系统程序流程图4.1 数据库连接数据库连接是系统时刻都需要调用的,为了使用方便,把它写在Web.conf

24、ig文件的appSettings节里面,在每个需要连接数据库的文件里进行调用就行了,代码如下:4.2 系统设计系统设置从功能上可分为教务管理子系统、教师查询子系统和学生选课子系统三个部分。4.2.1教务管理子系统教务管理子系统可分为院系管理,专业管理,课程管理,学生管理,教师管理五个小模块,具体讲述课程管理子模块。课程管理子模块可分为添加课程,修改、删除课程三个小模块,具体讲述添加子功能。1界面设计添加课程界面如图 15 添加课程界面所示:图 15 添加课程界面2后台设计添加课程的部分代码如下:(1)在App_Code文件夹的Course.cs中的代码为:/ / 插入课程基本信息/ / pub

25、lic void InsertCourseInfo(string CourseName, int TeacherID, string CourseDes, int MajorID, int Credits,int Lesson) string sqlString0 = select count(*) from CourseInfo where CourseName= + CourseName + ; SqlConnection conn = new SqlConnection(SqlString); conn.Open(); SqlCommand seleco = new SqlCommand

26、(sqlString0, conn); int CourseCount = Convert.ToInt32(seleco.ExecuteScalar(); conn.Close(); if (CourseCount = 0) string sqlString = insert CourseInfo(CourseName,TeacherID,CourseDes,MajorID,Credits,Lesson) values( + CourseName + , + TeacherID + , + CourseDes + , + MajorID + , + Credits + , + Lesson +

27、 ); SqlHelper.ExecuteNonQuery(SqlString, CommandType.Text, sqlString); else System.Web.HttpContext.Current.Response.Write( alert(此课程已添加!); ); (2)在Admin文件夹的courseadd.aspx.cs中的代码为:/在courseadd.aspx.cs的btbOK(按钮)下实现添加的功能protected void btnOK_Click(object sender, System.EventArgs e)/判断条件,名称不允许未空,名称长度不超过个字符

28、if(txtName.Text=)Response.Write(alert(名称不允许未空););else if(txtName.Text.Length20)Response.Write(alert(最多个字符););elseCourseBiz.Course course = new CourseBiz.Course();CourseBiz.Teacher teacher = new CourseBiz.Teacher();if(RequestAction=add)/添加课程 course.InsertCourseInfo(txtName.Text.Trim(), int.Parse(ddlT

29、eacher.SelectedValue), txtDes.Text, int.Parse(ddlDept.SelectedValue), int.Parse(Credits.Text.Trim(), int.Parse(Lesson.Text.Trim();else/更新课程 course.UpdateCourseInfo(txtName.Text.Trim(), int.Parse(ddlTeacher.SelectedValue), txtDes.Text, int.Parse(ddlDept.SelectedValue), int.Parse(txtNumber.Text), int.

30、Parse(Credits.Text.Trim(), int.Parse(Lesson.Text.Trim();string str = window.dialogArguments.document.location.href=Course.aspx;window.close(); Response.Write(str);4.2.2 学生选课子系统学生选课子系统可分为个人信息维护、学生选课和查看选课信息三个小模块,具体讲述学生选课子模块。1界面设计学生选课界面如图 16 学生选课界面所示:图 16 学生选课界面2后台设计学生选课的部分代码如下:(1) 在App_Code/Student.cs

31、中的代码:/ / 插入一条学生选课记录/ / / public void InsertStudentCourse(int StuID, int CourseID)string sqlString = insert StuCourse(StudentID,CourseID) values(+StuID+,+CourseID+); SqlHelper.ExecuteNonQuery(SqlString, CommandType.Text, sqlString);(2) 在Student/stuaddcourse.aspx.cs中的代码:protected void btnAdd_ServerCli

32、ck(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 = int.Parse(item.Cells1.Text);int StuID

33、= int.Parse(SessionID.ToString();CourseBiz.Student stu = new CourseBiz.Student();stu.InsertStudentCourse(StuID, CourseID);Response.Redirect(StuAddCourse.aspx);4.2.3 教师查询子系统教师查询子系统可分为担任课程课表查询、选课学生信息查询两个小模块,具体讲述选课学生信息查询子模块。1界面设计选课学生信息查询界面如图 17 选课学生信息查询界面所示:图 17 选课学生信息查询界面2后台设计选课学生信息查询的部分代码如下:(1) 在App_

34、Code/Teacher.cs中的代码:/ / 取得选课的学生信息/ / / public DataSet GetStuInfoByTID(int TeacherID)string sqlString = select * from StuCourse st inner join CourseInfo sc on st.CourseID=sc.CourseID inner join StudentInfo stc on st.StudentID=stc.StudentID inner join MajorInfo smi on stc.MajorID=smi.MajorID where sc.

35、TeacherID=+TeacherID;return SqlHelper.ExecuteDataset(SqlString, CommandType.Text, sqlString);(2) 在Teacher/coursestuinfo.aspx.cs中的代码:/教师查询学生选课信息 public void DgBind() CourseBiz.Teacher teacher = new CourseBiz.Teacher();DataSet ds = teacher.GetStuInfoByTID(int.Parse(SessionID.ToString();if(ds!=null & d

36、s.Tables.Count0 & ds.Tables0.Rows.Count0)dgBulletin.DataSource = ds;dgBulletin.DataBind();elselblNo.Visible = true;dgBulletin.Visible = false; 5 小结通过最后两个多月的毕业设计,我对WEB服务器、数据库软件SQL Server 2005、ASP.NET、JavaScript等系列知识都有了一定的了解。使用ASP.NET开发系统的能力也有了很大提高。由于在此之前对于ASP.NET和C#知识的了解还不够多,所以开始碰到许多困难。例如一开始我使用的是Acce

37、ss2000数据库服务器,由于性能上与我使用的操作系统Windows XP有很多地方不相容,使得我在很长一段时间内找不到问题的症结,导致了大量时间在检查代码甚至是对硬件的检查中,后来在看了有关ASP.NET编程方面的资料后更换了数据库服务器才将问题解决,另外在进行对用户控件的使用以及网页中脚本代码与html代码之间的关系上都有过很大的困难,通过在网上寻找有关资料以及老师和同学的帮助下最后都得到了解决。在整个设计阶段感受最为深刻的是掌握学习的方式和解决问题的方法。首先是解决问题的方式,虽然面临的信息很多,但是如何从大量的信息中筛选出所需的信息,有用的信息,才是解决问题的关键,另外一个就是解决问题

38、的方法,就像我在解决设计中的很多问题一样,一开始总是在看书,和书上的进行比对,虽然书本上的知识大部分都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。在整个毕业设计的过程中,我深刻的体会到了这一点的重要性,也牢记住了这一点,在今后的学习和研究中我也会继续将这种方法延续下去。参考文献:1 明日科技、张跃廷、苏宇、房大伟.ASP.NET开发典型模块大全.人民邮电出版社,2009.102 明日科技、张跃廷、王小科、帖凌珍.A程序开发范例宝典.人民邮电出版社,2007.33(美)Christain Nagel、Bill E

39、vjen、Jay Glynn等李敏波译,黄静审核C#高级编程(第四版)清华大学出版社,2006.104 (美)Christian Gross张凯峰、李彦娜、张广亮译Net2.0模式开发实践 人民邮电出版社,2007.55 求是科技ASP.NET信息管理系统开发人民邮电出版社,2007.116 胡海璐 汪孝宜 丁恩生 .网络系统实例开发.电子工业出版社,20067 陈娴 刘开文 王蓉玲 李健 .ASP.NET项目开发实践.中国铁道出版社,20038 张剑平.学校管理信息系统.北京:中国铁道出版社,19979 G.Andrew Duthie,ASP.NET程序设计 .清华出版社,200210 桂思强.ASP.NET与数据库程序设计 .中国铁道出版社,2002

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1