《学生自动选课系统(毕业论文).doc》由会员分享,可在线阅读,更多相关《学生自动选课系统(毕业论文).doc(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、网上选课系统 第一章 绪论1.1 系统概述 随着计算机技术和网络通迅技术的飞速发展,现在国内有很多大学的选课方式由传统的选择方式转变成了网上选课,学生可以在网上选择规定范围内的课程,并且可以在网上查询成绩。无需自己去老师那一门一门查,了解自己已得多少学分还需多少学分,即节省了学生的时间,又便于学校的管理因为传统的选课方式都是手工的,教务处通知各班进行选课,各班班长再通知每个同学,经过统计在上交教务处,这样比较浪费时间。再者选课时不知道所选课人数是否已满,要等向教务处上报统计后才会知道,然后才能重新选择。网上选课系统为同学节省了时间的同时,减少了不必要的步骤,也方便管理员管理。网上选课系统为同学
2、提供了一个自由选择的平台,学生可以选修规定范围内的课程,查看已修学分总数,还可以修改个人信息。本系统也为教师提供了很大的方便,教师可以根据统计的人数挑选一定数量的学生,也可以直接在网上公布成绩,让学生直接在网上查询成绩。 此系统方便了学生的选课,同时便于管理,减少大量的人力资源;并且给了学生提供了一个自由的空间。 1.2 系统开发的目的和意义 学生选课历来是学校课程安排工作中比较复杂的一项,为了减轻学校的工作,方便学生对选修课的选择,设计了本系统-基于B/S模式自动选课系统设计与实现(管理员、教师管理子模块的设计与实现),可供学生在网上自动选修选修课。管理员管理子模块功能的实现,使得管理员的操
3、作变得简单易行,减轻了管理员的工作量,提高了工作效率;其对学生档案信息、教师基本信息以及选修课等信息的添加、修改和查询都可在此系统中实现,使得工作变得清晰且易行。教师管理子模块的功能的实现同样给广大教师带来了很大的便利,教师可直接在网上对其所授课程情况进行查询,直接发布学生的成绩,充分利用了网络这个很占优势的资源。1.3 系统开发环境硬件环境:cpu: 奔腾4 1.7G内存: 256MB硬盘: 80GB 分辨率: 1024*768软件环境:系统平台: windows XP分析设计工具:PowerDesigner 6.0关系型数据库管理系统:Microsoft Access2000开发工具: A
4、SP(VBScript)1.4 项目分工 在这个项目中,我主要负责登陆模块,教师模块和管理员模块;登陆模块实现各个用户(教师,学生,管理员)的登陆功能,以及用户密码的修改;教师模块实现教师对个人信息以及所授课程信息的查询,以及对学生成绩的添加和修改;管理员模块实现管理员对学生档案信息、教师信息、选修课信息的添加、修改和查询;以及对选课时间段的设定。 第二章 开发技术及工具简介2.1 ASP技术及功能介绍ASP是 Active Server Pages(动态服务器主页)的缩写,它是一个服务器端的脚本环境,在站点的Web服务器上解释脚本,可产生并执行动态、交互式、高效率的站点服务器应用程序。ASP
5、可以胜任基于微软Web服务器的各种动态数据发布。 ASP是微软开发的一种类似HTML(Hypertext Markup Language超文本标识语言)、Script(脚本)与CGI(Common GAteway Interface 通用网关接口)的结合体,它没有提供自己专门的编程语言,而是允许用户使用包括VBScript,JavaScript等在内的许多已有的脚本语言编写ASP的应用程序。ASP的程序编制比HTML更方便且更有灵活性。它是在Web服务器端运行,运行后再将运行结果以HTML格式传送至客户端的浏览器。因此ASP与一般的脚本语言相比,要安全的多。对于广大网页技术爱好者来说,ASP比
6、CGI具有的最大好处是可以包含HTML标签,也可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上要比HTML方便而且更富有灵活性。ASP吸收了当今许多流行的技术,如IIS,ActiveX,VBScript,ODBC等,是一种发展较为成熟的网络应用程序开发技术;其核心技术是对组件和对象技术的充分支持。通过使用ASP的组件和对象技术,用户可以直接使用ActiveX控件,调用对象方法和属性,以简单的方式实现强大的功能。2.1.1 ASP方法与传统静态主页的区别把信息系统纳入Internet/Intranet 的框架之后,首先要解决的问题是通过网页访问后台数据库信息。所有应用程序都
7、被分割为页面的形式,用户的交互操作是以提交表单等方式来实现的,这就要求Web 站点具有很强的动态数据发布能力。然而,目前Web的服务,仍以提供“静态”主页内容为主。所谓“静态”,指的就是站点的主页内容是固定不变的,无法根据用户的需求和实际情况作出相应的变化。当浏览器通过Internet的HTTP协议向站点的Web服务器申请主页时,站点服务器就会将已设计好的静态的HTML文件传送给浏览器。若要更新主页的内容, 只能用非在线的手动方式更新HTML的文件数据。 ASP所设计出的是动态主页,可接收用户提交的信息并作出反应, 其中的数据可随实际情况而改变,无须人工对网页文件进行更新即可满足应用需要。例如
8、:当在浏览器上填好表单并提交HTTP请求时,可以要求在站点服务器上执行一个表单所设定的应用程序,而不只是一个简单的HTML文件。该应用程序分析表单的输入数据,根据不同的数据内容将相应的执行结果(通常是数据库查寻的结果集)以HTML的格式传送给浏览器。数据库的数据可以随时变化,而服务器上执行的应用程序却不必更改,客户端得到的网页信息会始终保持新鲜的魅力。2.1.2 ASP的特点与功能从软件的技术层面看,ASP有如下的特点: 1. 无需编译ASP脚本集成于HTML当中,容易生成,无需编译或链接即可直接解释执行。 2. 易于生成使用常规文本编辑器(如WINDOWS下的记事本),即可进行*.asp页面
9、的设计。若从工作效率来考虑,不妨选用具有可视化编辑能力的Visual InterDev。 3. 独立于浏览器用户端只要使用可解释常规HTML码的浏览器, 即可浏览ASP所设计的主页。ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。因此,若不通过从服务器下载来观察*.asp 主页,在浏览器端见不到正确的页面内容。 4. 面向对象在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制 ActiveX Server Component(ActiveX 服务器组件)来扩充功能。 5. 与任何ActiveX Scripting 语言兼容除了可使用VBScript 和JScri
10、pt语言进行设计外,还可通过Plug-in的方式,使用由第三方所提供的其它Scripting 语言。 6. 源程序码不会外漏ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证辛辛苦苦编写出来的程序代码不会被他人盗取。 从应用的层面看,ASP有如下的功能: 1. 处理由浏览器传送到站点服务器的表单输入。 2. 访问和编辑服务器端的数据库表。使用浏览器即可输入、更新和删除站点服务器的数据库中的数据。 3. 读写站点服务器的文件,实现访客计数器、座右铭等功能。 4. 提供广告轮播器、取得浏览器信息、URL表管理等内置功能。 5. 由cookies读写用户端
11、的硬盘文件,以记录用户的数据。 6. 可以实现在多个主页间共享信息,以开发复杂的商务站点应用程序。 7. 使用VBScript或JScript等简易的脚本语言,结合HTML码,快速完成站点的应用程序。通过站点服务器执行脚本语言,产生或更改在客户端执行的脚本语言。 8. 扩充功能的能力强,可通过使用Visual Basic、Java、Visual C + 等多种程序语言制作ActiveX Server Component以满足自己的特殊需要。2.2 ADO访库的技术实现方法 ADO(ActiveX Data Objects)是一组优化的访问数据库专用对象集,为ASP提供了完整的站点数据库访问解决
12、方案。它可作用于服务器端,以提供含有数据库信息的主页内容。通过执行SQL命令,让用户在浏览器画面中输入、更新和删除站点服务器的数据库信息。 ADO使用内置的RecordSets对象作为数据的主要接口。ADO可使用 VBScript、JScrip t语言来控制对数据库的访问,以及查询结果的输出显示。 ADO可连接多种支持ODBC的数据库,如SQL Server、Oracle、Info rmix等。在使用时,首先需在控制面板的ODBC中建立相应的DSN(数据源名) 。要选择系统数据源名,指定所用的驱动程序,如SQL Server,在数据来源名称中输入DSN名,并选定服务器和数据库。 2.3 ASP
13、与组件对象的使用 在利用ASP技术进行动态Web开发的时候,应遵循这样一个原则:即 ASP的服务器端脚本必须与微软倡导的组件对象( Component Object Model )配合使用才能开发出具有实用价值的信息产品。ASP脚本相当于一种粘合剂,把一个个具有特定功能的组件对象粘合在一起,以形成最终的软件产品。这一软件制作的工艺思想类似于硬件工厂生产板卡的过程,那一个个的组件对象就相当于集成电路的芯片,而ASP脚本只是焊接芯片的焊接剂,由此可见组件对象起着核心作用。 组件对象模型COM是微软提出的一种基于二进制的Windows软件标准,它是由OLE 技术逐渐发展而来的。在使用不同语言工具写成
14、的组件对象之间,依据COM 的标准可以进行交互。COM是技术概念和标准, 其商业概念的称谓则使用ActiveX。 上文提到的ADO就是系统提供的用于访问后台数据库的组件。此外,ASP本身还提供了五个内置的对象。这五个内置对象可被ASP 脚本直接使用,它们是: 1.Request取得用户信息 2.Response 传递信息给用户 3.Server 提供访问服务器的方法和属性4.Application在一个应用程序的多个主页之间保留和使用某些共同的信息5.Session在一个用户的多个主页之间保留和使用某些共同的信息 其中,使用内置对象1、2可实现Web的交互功能,使用内置对象4、 5可解决具有协
15、作机制的应用问题。 ASP的一大特色,是可以用来编写具有协作机制的应用程序,在多个用户的多个主页之间共享信息。使用内置的Application和 Session 对象可实现这些功能。 Application对象保存一个应用程序共同的信息,使用此应用程序的所有用户都可以共同分享。为防止其被多个用户同时更改,提供loc k和unlock方法来实现互斥,例如: Application.lock 禁止其他用户更改Application的信息; Application.unlock 允许其他用户更改Application的信息。 Session对象比Application对象的使用外延范围小,它保存仅属
16、于一个用户的一个应用程序的信息。ASP的应用程序可以只有一个首页,也可以有多个主页文件,所有的文件均位于一个虚拟路径下。Session对象可让同一个用户在多个主页之间共享信息。当用户第一次在一个应用程序中申请一个*.asp主页时,ASP将为该用户分配一个SessionID号,它将唯一地标识用户的身份,从而能将同一应用程序的不同用户区分开来。 根据需要还可以自行定制具有某些特色的组件对象,以完成特殊的任务。用Visual Basic、Visual C+、Delphi和 Java等语言都可以编写。自制的组件对象分成两类: 一是由类打包而成的*.dll文件,经注册器注册后,在ASP脚本中可通过Set
17、 对象名 = 类名来引用。对象在这种使用过程中是在服务器的后台运行的,其运行的结果通过系统自动生成的HTML作用到前端浏览器。 二是生成*.ocx文件,一般用作可视化的对象ActiveX,可直接将其嵌入*.asp主页中,在页面中插入时需使用HTML语言的 标记加以引用。通常构件制作完成并按下载的要求打包后生成*.cab文件。对象在这种使用方式下要先从服务器下载,然后在客户的前端浏览器运行。在第一次下载时被展开成相关的*.dll和*.ocx文件进行本地安装及注册。以后再使用时,就可直接从本地获得,免去了下载之苦,这也是ActiveX优于Java Applet的地方。 从长远来看,ASP和组件对象
18、的配合使用无疑是一种引人入胜的新技术,更重要的是由此而提出了一种全新的软件设计方法,把硬件的工艺思想恰如其分地融合于软件的面向对象的分析、设计和施工之中, 使面向对象的概念和方法从工具语言的层次一下子跃上了系统的应用层,在快速开发多层的客户/服务器分布式应用系统中将会产生极好的效果。第三部分 需求分析需求分析阶段的任务并不是要具体解决问题,而是准确地回答为了解决这个问题,目标系统必须做什么,主要是确定目标系统必须具备哪些功能、性能、运行规格要求,而对目标系统提出完整、清晰、准确、具体的要求。3.1项目开发前提 并不是所有的问题都有简单明显的解决方法,事实上,许多问题不可能在预定的系统规模之内解
19、决。如果问题没有可行的解,那么,花费在这项开发工程的任何时间、资源、人力和经费都是无谓的浪费。 可行性研究的目的就是以最小的代价在尽可能短的时间能确定问题是否能够解决。必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得求解。 首先澄清问题定义。在问题定义阶段,初步确定问题的规模和目标,如果是正确的就进一步加以肯定,如果有错误,就应该及时改正,如果对目标系统有任何约束和限制,也必须把它们清楚地列举出来。 在澄清了问题定义之后,分析员应该导出系统的逻辑模型。然后从系统逻辑模型出发,探索若干种可供选择的主要解法(即系统实现方案)。对每种解法都应该仔细研究它的可行性,一般来说,至少应该从下述
20、三方面研究每种解法的可行性:(1)技术可行性使用现有的技术如ASP嵌套VBScript和建模分析工具PowerDesigner 6.0以及使用Access数据库可以实现这个系统。(2)经济可行性开发该系统,所需经济成本不高,耗费的人力物力都很低;且系统开发实现后,其对所需运行环境的要求也很低。(3)操作可行性用户可以在很短的时间内掌握操作,管理员经过简单的培训也可以对系统进行管理。3.2目标系统的综合要求功能要求:目标系统实现的功能主要有对信息的添加、修改和查询以及对学生选课的处理。其系统功能层次图如图3.1所示:学生自动选课系统登陆管理设置管理员操作设置教师操作设置学生选课设置 图3.1 系
21、统功能层次图a. 登陆管理设置模块实现的功能:登陆处理、注册用户、修改密码。b. 管理员操作设置模块实现的功能:对学生档案信息,以及教师基本信息和选修课信息的添加、修改、查询;对选课时间段的设定。c. 教师操作设置模块实现的功能:对信息的查询,添加和修改学生 成绩。 d. 学生选课设置模块实现的功能:查询信息、选修课程及退选课程。性能要求:目标系统具有方便用户操作友好的界面,响应时间短,能方便快捷地供给操作人需求的信息。保证系统数据的正确性,完整性,安全性。安全要求:该系统对系统管理员、教师、学生分类开放。3.3 数据流图传统的结构化分析方法(简称SA方法)就是面向数据流自顶向下、逐步求精进行
22、需求分析的方法。数据流图由数据源点或汇点、数据流、数据存储组成。经过分析得到顶层数据流图如图3.2所示。学生自动选课系统管理员学生教师 图3.2顶层数据流图系统细化时需要一定的原则,数据流图分层细化时必须保持信息的连续性,即细化前后必须保持信息的连续性,细化前后对应功能的输入和输出数据必须相同。把一个功能细化到可以写程序的程度,就不应该再进行细化了。经过进一步细化第一层及第二层数据流图,如图3.3、3.4所示:1管理员管理处理2教师操作处理3学生操作处理(1).第一层数据流图:图3.3第一层数据流图(2).第二层数据流图:3.2选课处理3.1学生登陆处理1.2输入信息处理2.1教师登陆处理教师
23、学生2.2成绩输入处理3.3退课处理2.3查询信息处理3.4查询信息处理1.1管理员登陆处理 图3.4第二层数据流图3.4数据字典数据字典是关于数据的信息集合,也就是对数据流图中出现的所有数据.数据流: 数据流的来源去处,组成数据流的数据项,数据流的流通量.数据存储: 数据文件的结构描述及数据文件中记录的存放规则.数据处理: 数据处理的逻辑功能及其算法.数据处理一般用其它工具描述更清晰.数据源: 管理员、学生、教师数据处理:登陆处理;添加处理;修改处理;删除处理;查询处理。以下是我所负责的登陆模块,以及管理员、教师管理模块这三个模块数据字典:(1)主要数据流定义:数据流名:登陆信息别名:描述:
24、管理员、教师、学生输入的登陆信息定义:登陆信息=用户名称+密码+使用权限来源:管理员、教师、学生去向:登陆处理数据项名 类型 长度用户名称 字符型 8密码 字符型 6使用权限 字符型 6数据流名:教师信息查询要求别名:描述:教师对个人基本信息的查询定义:教师信息查询要求=教师姓名+教师编号来源:教师去向:教师基本信息查询处理数据项名 类型 长度教师姓名 字符型 8教师编号 字符型 8数据流名:学生情况查询要求别名:描述:教师对所授课程的学生情况进行的查询定义:学生情况查询要求=教师姓名+教师编号+所授课程来源:教师去向:授课学生情况查询处理数据项名 类型 长度教师姓名 字符型 8教师编号 字符
25、型 8所授课程 字符型 10数据流名:选修课信息别名:描述:管理员输入的选修课的安排信息定义:选修课信息=课程名+授课时间+授课地点+授课教师+授课学期来源:管理员去向:选修课表处理数据项名 类型 长度课程名 字符型 10授课时间 日期型授课地点 字符型 20授课教师 字符型 8授课学期 日期型(2)数据存储定义:名字:管理员登陆表别名:描述:用于管理员登陆自动网上选课系统,进行管理,修改,添加和维护等操作。定义:管理员登陆表=用户名称+密码+使用权限位置:管理员登陆表 管理员登陆处理数据项名 类型 长度 用户名称 字符型 8密码 字符型 6 使用权限 字符型 6名字:选修课信息表别名:描述:
26、记录选修课的信息定义:选修课信息=课程名+授课时间+授课地点+授课教师+授课学期位置:选修课信息表 选修课表处理数据项名 类型 长度课程名 字符型 10授课时间 日期型授课地点 字符型 20授课教师 字符型 8授课学期 日期型名字:教师基本信息表别名:描述:记录教师的基本信息定义:教师基本信息表=教师姓名+教师编号+教龄 +所授课程+授课时间+授课地点位置:教师基本信息 教师信息处理数据项名 类型 长度教师姓名 字符型 8教师编号 字符型 8教龄 字符型 2所授课程 字符型 10授课地点 字符型 20授课时间 日期型 名字:学生档案信息表别名:描述:记录学生的基本信息定义:学生档案信息表=学生
27、姓名+学号+学生性别+班级+系别+籍贯+出生年月位置:学生档案信息表 学生信息处理数据项名 类型 长度学生姓名 字符型 8学号 字符型 8学生性别 布尔型班级 字符型 10系别 字符型 20籍贯 字符型 10出生日期 日期型 名字:教师登陆表别名:描述:用于教师登陆自动网上选课系统,进行查询及学生成绩录入工作定义:教师登陆表=用户名称+密码+使用权限位置:教师登陆表 教师登陆处理数据项名 类型 长度用户名称 字符型 8密码 字符型 6使用权限 字符型 6数据项名 类型 长度教师姓名 字符型 8教师编号 字符型 8数据项名 类型 长度课程名 字符型 10学生姓名 字符型 8学号 字符型 8班级名
28、称 字符型 10总人数 数值型 3授课地点 字符型 20授课时间 日期型 名字:个别课程学生情况表别名:描述:记录选修某一门课程的学生名单及人数,以供该授课教师查询及打印定义:个别课程学生情况表=课程名+学生姓名+学号+班级名称+总人数+授课地点+授课时间位置:个别课程学生情况表授课学生查询处理 | 打印处理数据项名 类型 长度课程名 字符型 10学生姓名 字符型 8学号 字符型 8班级名称 字符型 10总人数 数值型 3授课地点 字符型 20授课时间 日期型 第四章 总体设计总体设计的基本目标是如何解决问题,通过这个阶段的工作,设计人员将划分出组成系统的物理元素总体设计的另一项任务是确定软件
29、结构,即确定系统中的每一个程序由哪些模块组成以及模块和模块之间的关系.4.1系统功能划分这套学生自动选课系统,可以供学生在网上直接自主的进行选课,具体有以下功能:a. 支持学生自主修改保存密码;b. 教师可添加、修改学生成绩,以及对信息的查询;c. 管理员对信息可以进行添加、修改工作;d. 学生可以查询选修课情况,并根据个人条件进行选修选修课;e. 支持学生一人选多门选修课,但是最多不能超过3门;f. 支持学生对选修课进行退选或补选;g. 开课前,本系统自动导入选课学生名单到学生信息中,教师可在此可获取名单。使用这套系统的人员有管理员 、教师和学生,他们对系统有不同的使用权限。 1、管理员可以
30、进行使用权限的设置,只有拥有正确的用户名和相应的密码 的人,才可以使用系统并访问系统中的资源;可对学生的基本信息进行管理,学生个人密码遗忘,管理员可取回学生密码。2、 教师可对全体选课学生进行查询,及所有选课情况,以及对学生成绩的添加和修改权限。3、 学生只能进入自己的档案,进行个人选课、查询以及个人密码的修改工作。本系统在实行过程中,在时间上分三个阶段来实行:第一阶段:为选课阶段,这一阶段学生不能有退课权利,只能进行选课;第二阶段:为可退选阶段,在这一阶段学生既可以选课,也可以进行退选课程;第三阶段:为确定阶段,在这一阶段里,学生既不能再进行选课,也不可再退选,即所选课程已确定。这三个阶段实
31、行日期由管理员所确定。4.2模块功能化分对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到我所负责的模块的功能层次图如图4.1所示。学生自动选课系统管理员操作设置登陆管理设置登陆处理注册用户修改密码添加修改查询学生档案信息添加修改查询教师信息添加修改查询选修课信息设定选课时间段教师操作设置查询信息添加成绩修改成绩学生选课设置4.1细化的功能层次图我负责设计的是登陆管理、管理员操作、教师操作三个模块.a.在登陆管理设置模块中,实现了登陆处理、注册用户、修改密码功能。b.管理员操作设置模块实现的功能有:对学生档案信息,以及教师基本信息和选修课信息的添加、修改、查询;对选课时间段的设定。c
32、.教师操作设置模块实现的功能:教师对个人信息、以及所授课程的学生信息的查询,和添加和修改学生成绩的功能。通过对所负责模块功能的细化,可以对这些模块的数据流图进行进一步的细化,得到第三层数据流图如图4.2所示。1.2.1输入信息分类1.2.2必修课表处理1.2.3选修课表处理1.2.4教师信息处理1.2.5学生信息处理2.3.1查询信息分类2.3.2教师基本信息查询处理2.3.3授课学生情况查询处理图4.2第三层数据流图最后得到细化数据流图如图4.3所示:教师教师登陆处理教师登陆信息教师基本信息查询处理成绩输入处理学生信息表授课学生情况查询处理个别课程学生情况表打印处理个别课程学生情况表学生信息
33、表学生信息表管理员登陆信息管理员登陆处理管理员必修课表处理必修课信息表选修课表处理选修课信息表教师信息处理学生信息处理学生档案信息表教师基本信息图4.3细化数据流图4.3概念模型CDM4.3.1系统CDM模型的概述Power Designer 的概念数据模型(Conceptual Data Model ,简称CDM)以实体联系(EntityRelationship,简称E)理论为基础,并对这种理论进行了扩充,建立了概念数据模型。CDM把现实世界中的信息简化为体育实体之间的联系,它与数据库管理系统(Database Management System ,简称DBMS)无关。使用CDM,可以把主要精力集中在分析设计上,先考虑很多物理实现的细节,只考虑实体和实体之间的联系,这样便于分析和理解。ER模型是由P.P.Chen在1976年提出的,主要的公共构件是实体(Entity)和联系(Relationship)。实体是现实世界中可区别于其他对象的“事件”或“物体”,它可能是有形的或无形的、具体的或抽象的、有生命的或无生命的。例如学校中的每个学生是一个实体,每个实体有一组性质,称为实体的属性,用来描述实体的特征。实体可以通过联系相互关联,通常可将联系分为四类,即一对一(One to One)联系,一对多(One to many)联系,多对一(Many to One