基于.net智能选课系统.doc_第1页
基于.net智能选课系统.doc_第2页
基于.net智能选课系统.doc_第3页
基于.net智能选课系统.doc_第4页
基于.net智能选课系统.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

四川工业科技学院论文(毕业设计)四 川 工 业 科 技 学 院题 目: 基于.net智能选课系统 姓 名: 吴疯 学 号: 201311260020 指导教师: 陈会平 专 业: 软件外包 班 级: 2013级软件外包1班 学 院: 电子与信息工程系 系 电子与信息工程系 专 业 软件外包 年级 2013级 学 号 201311260020 姓 名 吴疯 指导教师 陈会平 题目 基于.net智能选课系统 指导教师评 语 指导教师 (签章) 成 绩 2015 年 月 日 诚信承诺一、 本论文是本人独立完成;二、 本论文没有任何抄袭行为;三、 若有不实,一经查出,请取消本人论文成绩。承诺人: 年月日目录内容摘要6第1章 需求分析71.1系统要解决的问题71.2系统目标81.3系统可行性分析91.3.1 技术可行性91.3.2 经济可行性101.3.3 操作可行性10第2章 系统总体设计112.1 系统总体功能112.2 系统各部分功能122.2.1 系统管理员模块功能122.2.2 教师模块功能122.2.3 学生模块功能132.3 系统登录模块的程序流程图13第3章 数据库设计143.1 数据库表概要说明143.2 数据库概念设计153.2.1 各表的作用及实体属性图153.2.2 系统总体E - R图183.3 数据库逻辑设计18第4章 系统详细设计214.1 系统各模块功能详细介绍214.1.1 登录模块功能214.1.2 管理员模块功能214.1.3 教师模块功能224.1.4 学生模块功能224.2 系统总体流程图224.3 主要模块的详细设计244.3.1 登录模块.24结束语.26 致 谢.27参考文献.27 内容摘要 随着在校大学生人数的不断增加,教务系统的数据量也不断的上涨。以往的选课方法是随堂报名。这种方法虽然直接,但是造成选课的盲目性和教务处处理数据的繁重性。为了减轻教务处工作,以及每个学生更好的选择自己所喜欢的科目。针对学生选课这一环节,本系统从学生模块、教师模块以及管理员模块三个大方面进行了设计,基本实现了学生的在线信息查询、选课功能以及管理员对系统的整体管理和课程信息发布的管理等功能。 本文通过分析浏览器/服务器架构的特点并结合选课的实际情况,提出了基于浏览器/服务器架构网上选课系统的基本设计思想,简要介绍了系统各功能模块,着重讨论了数据库的设计及用 ASP.NET技术和SQL Server 2010开发网上选课系统时的数据库访问技术和动态网页制作技术,并给出了部分实现代码。通过该系统,使学生可以方便地在校园网上进行网上选课。开发完成,使用C作为ASP.NET的开发语言,SQL Server 2010作为数据库。系统有较高的安全性和较好的性能。其中连接数据库的字符串在web.config文件中参数化配置,增加了灵活性,并经过编码加密,提高了数据库的安全性。网上选课在全球高校已趋向普遍,网上选课系统也会在不断的实际应用中得到更多机会的发展和完善。相信系统以后会向着更加完善、更加高效、更加简洁和更加人性化的方向发展。关键词:网上选课,浏器/服务器,ASP.NET,数据库管理系统28四川工业科技学院论文(毕业设计) 第1章 需求分析软件开发的首要任务就是进行软件系统的需求分析,只有对系统的需求有一个详细而准确的认识才能使设计出的软件最大限度的满足用户的需求,使软件实现其应有的价值。需求分析是软件开发工作的前提,也是软件开发后续工作的依据,需求分析定位不准确,软件开发的后续工作也就失去了进行下去的必要,因此需求分析工作应该越详细越好。进行需求分析应该首先弄明白系统要解决的问题。1.1系统要解决的问题1学校学生选课的具体流程。需求分析阶段2. 学生选课系统应该设计哪几个功能模块。概要设计3. 前台比较适合用哪种程序开发语言来进行开发。可行性分析4. 后台数据库应该如何来设计。详细设计5. 画出系统的程序流程图和数据流图,确定系统的大体框架。概要设计6. 设计好各个模块应该具有的功能。概要设计7. 模块与模块应该怎样进行连接才能让系统更加好用。详细设计8. 软件应该怎样进行测试。技术测试1.2 系统目标利用学校现有的软硬件设施,并根据学生选课的规则,开发出有本校特色的、适合于本校教务处进行学生选课工作的系统,本系统应该严格根据本学校学生选课规则进行设计,并且应该达到以下几个要求:1. 必须能够满足管理员、教师和学生模块的不同功能需求。(1) 权限管理,为不同的操作用户分配不同的操作权限。(2) 管理员能够管理所有系统数据库的信息,并且能够对教师和学生模块进行管理。(3) 教师能够查询自己所担任的课程,并且可以向管理员提出课程申请。(4) 学生可以修改自己的基本信息,在模块开放的时间内,进行基本的选课和查看、删除自己的已选选课信息。2. 操作应该尽可能的简单。(1) 在界面设计上应该力求简洁明了,能够让用户很容易地看懂该如何操作。(2) 功能集成上应该尽可能地方便用户的操作,尽可能实现一个功能或几个功能能在一个界面上操作完成。3. 界面力求友好。(1) 界面设计上应该美观大方,控件的分布应该合理。(2) 界面上应该具有适量的提示性文字,提示用户应该怎样操作来完成相应的功能。1.3 系统可行性分析从技术可行性、经济可行性、操作可行性和法律可行性等方面进行分析。1.3.1 技术可行性该系统利用VS进行前台界面的开发,利用VS提供的控件和相应的开发环境完全可以完成本程序前台界面的开发,后台数据库利用SQL SERVER 2010进行设计,SQL SERVER 2010具有强大的数据库开发功能,结合相应VS提供的ADO.net技术可以方便的进行数据库数据添加、修改、删除和查询操作。因此,本系统的开发在技术上是可行的。开发风险分析:作为投资者,是希望开发者可以尽可能地开发出接近自己本意的软件。所以作为开发者,必须经过深入的调查,理解用户的需求,只有这样,才能尽可能地减少诸如由于调查不充分或是开发者本身之间的理解出现分歧造成的开发风险。我们做毕设也有投资者,是不是应该从毕设的角度来阐述这一点资源分析:作为开发者,要尽可能地利用手头的软件开发出可以适用于尽可能多的操作平台上的好的软件,这就需要对资源本身进行分析。相关技术的发展:在开发之初,要对技术的发展进行考察,以确定现有技术是否能够实现新系统的技术观点。在开发过程中,建议尽可能地采用支持先进技术的开发工具进行开发。1.3.2 经济可行性首先该软件为学生毕业设计开发的软件,以达到学生能够熟练地掌握软件开发的目的,所以开发者的费用是可以忽略的;其次本软件的实现及使用极其容易,因为主要使用的是面向对象操作和控件丰富的VS,所以软件的维护费用及对用户的培训费用相对较低。开发成本的估算:作为投资者和开发者,在软件开始设计之前都应该进行成本估算,以确定可以用最少的资金开发出尽可能好的软件。开发效益的估算:要使开发出的软件符合投资者的要求,就要求开发者就以后软件开发产生的效益进行评估,以确定软件开发的必要性。运行成本的估算:软件开发出来之后,必须进行考察,以确定支持该软件的操作系统。确定运行该软件的成本,以便于可以更好地计算软件的成本。运行效益的估算:软件运行的效益是要计算在软件运行的总效益中的。只有这样才可以度量系统解决方案的性能价格比。1.3.3 操作可行性要考虑操作系统对软件的支持,只有操作系统的支持用户才可以运行软件,达到用户购买软件的目的。而在用户的操作上,应保证操作简单易懂。本软件采用面向对象的设计语言,对工作人员和用户来说,实现使用和操作都是可行的;本软件的开发周期为2个月,在时间进度上也不存在任何问题。 第2章 系统总体设计2.1 系统总体功能根据系统的需求分析及网上选课的特点,本系统设计三个模块,即:管理员模块、教师模块和学生用户模块,管理员权限的用户可以管理本系统中的所有功能,包括学院管理、专业管理、课程管理、教师管理、学生管理、模块开发管理等等。教师权限的用户可以查看自己的任课课程信息情况、选课的学生信息还有及进行课程申请功能操作。而学生模块,可以查看、修改自己的基本信息还有进行选课和查看、删除选课信息等功能。各个模块的模块功能图如下:图2.1 系统总体模块图图2.2 系统管理模块图图2.3 教师模块图图2.4 奖学金评定查询模块图2.2 系统各部分功能2.2.1 系统管理员模块功能系统管理员模块主要包括七个功能,分别为:院系管理、专业管理、课程管理、教师管理、学生管理、申请管理、模块管理。2.2.2 教师模块功能教师模块主要包括三个功能,分别是:查看担任课程信息、查看选课学生信息、课程申请。2.2.3 学生模块功能学生模块主要包括三个功能,分别是:查看修改基本信息、学生选课、查看删除选课信息。2.3 系统登录模块的程序流程图 登录系统输入用户号输入密码密码是否正确 N 查找权限 Y返回登录界面加载不同界面进入系统图2.5 系统登录模块程序流程图 第3章 数据库设计3.1 数据库表概要说明本系统的数据库包括9个表,分别为:1登录用户表:作用是用户登录信息,字段包括用户ID、用户名、密码、用户类型、教师/学生编号。2教师信息表:作用是存储教师的基本信息,字段包括教师编号、姓名、教师工号、所属院系ID、删除标志位。3学生信息表:作用是存储学生的基本信息,字段包括学生编号、姓名、学号、性别、院系ID、专业ID、删除标志位。4课程信息表:作用是存储课程的基本信息,字段包括课程编号、名称、所属教师编号、描述、上课地点、最多人数、专业ID、删除标志位。5院系信息表:作用是存储学院基本信息,字段包括院系ID、名称、删除标志位。6专业信息表:作用是存储专业基本信息,字段包括专业ID、名称、所属学院ID、删除标志位。7模块管理状态表:作用是存储管理员对教师和学生模块开关管理信息,字段包括教师模块开关标志位、学生模块开关标志位。8. 申请处理表:作用是存储教师提交的课程申请相关信息,字段包括教师编号、课程名称、课程描述。9. 选课表:作用是存储最终学生选课信息,字段包括选课ID、课程ID、学生ID。3.2 数据库概念设计3.2.1 各表的作用及实体属性图1. 登录用户表作用是用户登录信息,包括用户ID、用户名、密码、用户类型、教师/学生编号等信息。登录用户表的实体属性图如图4.1所示。图3.1 用户实体属性图2. 学生信息表作用是存储学生的基本信息,包括学生编号、姓名、学号、性别、院系ID、专业ID等信息。学生实体的实体属性图如图4.2所示。图3.2学生实体的实体属性图3. 教师信息表作用是存储教师的基本信息,包括教师编号、姓名、教师工号、所属院系ID等相关信息。 教师信息表的实体属性图如图4.3所示。图3.3 教师实体的实体属性图4. 课程表作用是存储课程的基本信息,包括课程编号、名称、所属教师编号、描述、上课地点、最多人数、专业ID等信息。课程表的实体属性图如图4.4所示。图3.4课程表实体的实体属性图5. 学院信息表作用是存储学院基本信息,包括院系ID、名称等属性。学院表的实体属性图如图4.5所示。3.5 学院实体的实体属性图6. 专业信息表作用是存储专业基本信息,包括专业ID、名称、所属学院ID等属性。学院实体的实体属性图如图4.6所示。图3.6 专业实体的实体属性图3.2.2 系统总体E - R图 图3.7 系统E-R图3.3 数据库逻辑设计数据库对于信息管理系统而言,其重要性不言而喻。对于本系统来言,管理员对教师信息表、课程信息表、学生信息表等的管理都是通过对数据库中表的添加、修改、删除和查询等操作来完成的。而数据库的逻辑设计直接影响到管理信息系统性能的好坏。因此,数据库的设计是管理信息系统设计的重点,其中数据库的逻辑设计又是重中之重。下面介绍一下本系统中几个表的结构:表3.1 用户登录信息表序号字段名类型长度是否允许为空备注1用户IDInt4否主键2用户名Varchar10否3密码Int4否4用户类型Int4否5教师/学生IDInt4否外键表3.2 学生信息表序号字段名类型长度是否允许为空备注1学生IDInt4否主键2姓名Varchar10否3学号Int4否4性别Bit1否5院系IDInt4否外键6专业IDInt4否外键7删除标志位Bit1否表3.3 课程表序号字段名类型长度是否允许为空备注1课程IDInt4否主键2名称Varchar50否3描述Varchar50是4任课教师IDInt4否外键5教室Varchar10是6人数上限Int4是7专业IDInt4否8删除标志位Bit1否表3.4 教师信息表序号字段名类型长度是否允许为空备注1教师IDInt4否主键2姓名Varchar10否3教工号Int4否4院系IDInt4否外键5删除标志位Bit1否表3.5 课程申请信息表序号字段名类型长度是否允许为空备注1教师IDInt4否外键2课程名称Varchar50否3描述Varchar50是4专业IDInt4否外键表3.6 学生选课表序号字段名类型长度是否允许为空备注1选课IDInt4否主键2学生IDInt4否外键3课程IDInt4否外键表3.7 学院信息表序号字段名类型长度是否允许为空备注1学院IDInt4否主键2名称Varchar50否3删除标志位Bit1否表3.8 专业信息表序号字段名类型长度是否允许为空备注1专业IDInt4否主键2名称Varchar50 否3所属院系IDInt4否外键4是否删除Bit1否表3.9 模块管理状态表序号字段名类型长度是否允许为空备注1教师模块状态Bit1否2学生模块状态Bit1 否 第4章 系统详细设计学生网上选课系统的主要工作是:首先是管理员开通教师模块,教师提出课程申请,然后由管理员来确定,并安排教室等资源,然后再由管理员开放学生模块,进行学生网上选课。具体来说,本系统主要包括4个模块,分别是:登录模块、管理员模块、教师模块和学生模块。下面分别对这4个模块的功能进行详细的介绍。4.1 系统各模块功能详细介绍4.1.1 登录模块功能登录模块是用户进入系统进行各种操作的窗口,具有对用户身份进行验证的功能,只有合法用户才能登录系统,并且把用户的用户角色信息传递给系统,以便系统为不同类型的用户提供不同的显示界面。4.1.2 管理员模块功能1. 院系管理能够显示系统内的详细院系信息,并可以对已经存在的信息进行编辑或者删除,还可以点击添加院系按钮,进行新增院系信息的添加。2.专业管理能够显示系统内的详细不同的专业信息,并可以对已经存在的信息进行编辑或者删除,还可以点击添加专业按钮,进行新增专业信息的添加。3.课程管理能够显示系统内的详细学校开设课程信息,并可以对已经存在的信息进行编辑或者删除,还可以点击添加课程按钮,进行新增课程信息的添加。4. 学生管理能够显示系统内的所有登记学生信息,并可以对已经存在的信息进行编辑或者删除,还可以点击添加学生按钮,进行新增学生信息的录入。5.申请管理能够显示教师提交的课程申请信息,由管理员进行确认后,将自动添加到学校的课程信息表中,期间可以由管理员进行教室等信息的分配录入。6.模块管理通过本功能,将由管理员对教师模块和学生模块的开放、关闭进行控制管理。4.1.3 教师模块功能1. 担任课程课表显示登录教师用户的已经通过申请的课程以及其详细信息。2. 选课学生信息学生选课结束后,教师通过本模块来了解已选其课程的详细学生信息;3. 课程申请教师用户通过本模块来对管理员进行课程申请,通过后将在新学期开设此门课程,申请的课程也将进入本系统的学校课程表中,由学生进行选课。4.1.4 学生模块功能1. 个人信息维护通过本模块,学生用户可以了解自己的系统内存储基本信息,并且可以对其进行修改操作。2. 选课功能本模块是本系统的最重要的核心模块,已登录学生用户可以对开放的不同院系的不同专业的课程进行自主的选择。选择后,学生的选课信息将会存储到系统数据库中的选课表中。选课信息可以在查看选课信息功能中查看。3选课信息查看功能查看自己的选课信息,并且可以删除不满意的选课。4.2 系统总体功能模块图为了让用户更加清楚地了解系统的整体结构,现把系统的详细功能结构化,系统总体功能模块图如图5.所示。图4.1 系统总体功能模块图4.3 主要模块的详细设计4.3.1 登录模块网站加载后,本模块将作为默认首页显示,用户输入用户名和密码点击登录按钮后,系统将通过数据库查询,确认登录信息都吻合后,系统将根据不同的角色进入不同的登录后界面。如果信息错误,系统将提示“登录失败,请重新登录”,页面重新跳转到登录页面。运行后的界面如图5.2所示。图4.2 系统登录效果图后台实现代码如下:public bool Login(string name, string pass) / 判断用户名和密码是否正确string sqlString = select count(*) from Users where name=+name+ and pass=+pass+;object obj = SqlHelper.ExecuteScalar(SqlString,CommandType.Text, sqlString);if(obj!=null & obj.ToString()!=0)return true;elsereturn false;/ 判断登录类型,为学生,为老师,为管理员 public int LoginType(string name)string sqlString = select type from Users where name=+name+;object obj = SqlHelper.ExecuteScalar(SqlString,CommandType.Text, sqlString);if(obj!=null & obj.ToString()!=0)return int.Parse(obj.ToString();elsereturn -1;/ 取得登录的IDpublic int LoginID(string name)string sqlString = select id from Users where name=+name+;object obj = SqlHelper.ExecuteScalar(SqlString,CommandType.Text, sqlString);if(obj!=null & obj.ToString()!=0)return int.Parse(obj.ToString();elsereturn -1; 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);elseResponse.Write(alert(登录失败,请重新登录!););结束语通过最后两个多月的毕业设计,我对WEB服务器、数据库软件Access、c#、html等系列知识都有了一定的了解。使用Microsoft Visual Studio 2010开发系统的能力也有了很大提高。由于在此之前对于Microsoft Vis

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论