BS结构论文学生自动选课系统

上传人:无*** 文档编号:89831850 上传时间:2022-05-13 格式:DOC 页数:44 大小:503KB
返回 下载 相关 举报
BS结构论文学生自动选课系统_第1页
第1页 / 共44页
BS结构论文学生自动选课系统_第2页
第2页 / 共44页
BS结构论文学生自动选课系统_第3页
第3页 / 共44页
点击查看更多>>
资源描述
-第一章绪论1.1 系统概述随着计算机技术和网络通迅技术的飞速开展,现在国内有很多大学的选课方式由传统的选择方式转变成了网上选课,学生可以在网上选择规定*围内的课程,并且可以在网上查询成绩。无需自己去教师那一门一门查,了解自己已得多少学分还需多少学分,即节省了学生的时间,又便于学校的管理因为传统的选课方式都是手工的,教务处通知各班进展选课,各班班长再通知每个同学,经过统计在上交教务处,这样比拟浪费时间。再者选课时不知道所选课人数是否已满,要等向教务处上报统计后才会知道,然后才能重新选择。网上选课系统为同学节省了时间的同时,减少了不必要的步骤,也方便管理员管理。网上选课系统为同学提供了一个自由选择的平台,学生可以选修规定*围内的课程,查看已修学分总数,还可以修改个人信息。本系统也为教师提供了很大的方便,教师可以根据统计的人数挑选一定数量的学生,也可以直接在网上公布成绩,让学生直接在网上查询成绩。 此系统方便了学生的选课,同时便于管理,减少大量的人力资源;并且给了学生提供了一个自由的空间。1.2 系统开发的目的和意义 学生选课历来是学校课程安排工作中比拟复杂的一项,为了减轻学校的工作,方便学生对选修课的选择,设计了本系统-基于B/S模式自动选课系统设计与实现(管理员、教师管理子模块的设计与实现),可供学生在网上自动选修选修课。管理员管理子模块功能的实现,使得管理员的操作变得简单易行,减轻了管理员的工作量,提高了工作效率;其对学生档案信息、教师根本信息以及选修课等信息的添加、修改和查询都可在此系统中实现,使得工作变得清晰且易行。教师管理子模块的功能的实现同样给广阔教师带来了很大的便利,教师可直接在网上对其所授课程情况进展查询,直接发布学生的成绩,充分利用了网络这个很占优势的资源。1.3 系统开发环境硬件环境:cpu:奔腾41.7G内存: 256MB硬盘: 80GB分辨率: 1024*768软件环境:系统平台:windows *P分析设计工具:PowerDesigner 6.0关系型数据库管理系统:Microsoft Access2000开发工具:ASP(VBScript)1.4 工程分工在这个工程中,我主要负责登陆模块,教师模块和管理员模块;登陆模块实现各个用户教师,学生,管理员的登陆功能,以及用户密码的修改;教师模块实现教师对个人信息以及所授课程信息的查询,以及对学生成绩的添加和修改;管理员模块实现管理员对学生档案信息、教师信息、选修课信息的添加、修改和查询;以及对选课时间段的设定。第二章开发技术及工具简介2.1 ASP技术及功能介绍ASP是 Active Server Pages(动态效劳器主页)的缩写,它是一个效劳器端的脚本环境,在站点的Web效劳器上解释脚本,可产生并执行动态、交互式、高效率的站点效劳器应用程序。ASP可以胜任基于微软Web效劳器的各种动态数据发布。 ASP是微软开发的一种类似HTML(Hyperte*t MarkupLanguage超文本标识语言)、Script(脚本)与CGI(mon GAteway Interface通用网关接口)的结合体,它没有提供自己专门的编程语言,而是允许用户使用包括VBScript,JavaScript等在内的许多已有的脚本语言编写ASP的应用程序。ASP的程序编制比HTML更方便且更有灵活性。它是在Web效劳器端运行,运行后再将运行结果以HTML格式传送至客户端的浏览器。因此ASP与一般的脚本语言相比,要平安的多。对于广阔网页技术爱好者来说,ASP比CGI具有的最大好处是可以包含HTML标签,也可以直接存取数据库及使用无限扩大的Active*控件,因此在程序编制上要比HTML方便而且更富有灵活性。ASP吸收了当今许多流行的技术,如IIS,Active*,VBScript,ODBC等,是一种开展较为成熟的网络应用程序开发技术;其核心技术是对组件和对象技术的充分支持。通过使用ASP的组件和对象技术,用户可以直接使用Active*控件,调用对象方法和属性,以简单的方式实现强大的功能。ASP方法与传统静态主页的区别把信息系统纳入Internet/Intranet 的框架之后,首先要解决的问题是通过网页后台数据库信息。所有应用程序都被分割为页面的形式,用户的交互操作是以提交表单等方式来实现的,这就要求Web 站点具有很强的动态数据发布能力。然而,目前Web的效劳,仍以提供“静态主页内容为主。所谓“静态,指的就是站点的主页内容是固定不变的,无法根据用户的需求和实际情况作出相应的变化。当浏览器通过Internet的HTTP协议向站点的Web效劳器申请主页时,站点效劳器就会将已设计好的静态的HTML文件传送给浏览器。假设要更新主页的内容, 只能用非在线的手动方式更新HTML的文件数据。 ASP所设计出的是动态主页,可接收用户提交的信息并作出反响, 其中的数据可随实际情况而改变,无须人工对网页文件进展更新即可满足应用需要。例如:当在浏览器上填好表单并提交HTTP请求时,可以要求在站点效劳器上执行一个表单所设定的应用程序,而不只是一个简单的HTML文件。该应用程序分析表单的输入数据,根据不同的数据内容将相应的执行结果(通常是数据库查寻的结果集)以HTML的格式传送给浏览器。数据库的数据可以随时变化,而效劳器上执行的应用程序却不必更改,客户端得到的网页信息会始终保持新鲜的魅力。ASP的特点与功能从软件的技术层面看,ASP有如下的特点: 1. 无需编译ASP脚本集成于HTML当中,容易生成,无需编译或即可直接解释执行。 2. 易于生成使用常规文本编辑器(如WINDOWS下的记事本),即可进展*.asp页面的设计。假设从工作效率来考虑,不妨选用具有可视化编辑能力的Visual InterDev。 3. 独立于浏览器用户端只要使用可解释常规HTML码的浏览器, 即可浏览ASP所设计的主页。ASP脚本是在站点效劳器端执行的,用户端的浏览器不需要支持它。因此,假设不通过从效劳器下载来观察*.asp 主页,在浏览器端见不到正确的页面内容。 4. 面向对象在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制 Active* Server ponent(Active* 效劳器组件)来扩大功能。 5. 与任何Active* Scripting 语言兼容除了可使用VBScript 和JScript语言进展设计外,还可通过Plug-in的方式,使用由第三方所提供的其它Scripting 语言。 6. 源程序码不会外漏ASP脚本在效劳器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证辛辛苦苦编写出来的程序代码不会被他人盗取。 从应用的层面看,ASP有如下的功能: 1. 处理由浏览器传送到站点效劳器的表单输入。 2. 和编辑效劳器端的数据库表。使用浏览器即可输入、更新和删除站点效劳器的数据库中的数据。 3. 读写站点效劳器的文件,实现访客计数器、座右铭等功能。 4. 提供广告轮播器、取得浏览器信息、URL表管理等内置功能。 5. 由cookies读写用户端的硬盘文件,以记录用户的数据。 6. 可以实现在多个主页间共享信息,以开发复杂的商务站点应用程序。 7. 使用VBScript或JScript等简易的脚本语言,结合HTML码,快速完成站点的应用程序。通过站点效劳器执行脚本语言,产生或更改在客户端执行的脚本语言。 8. 扩大功能的能力强,可通过使用Visual Basic、Java、Visual C + 等多种程序语言制作Active* Server ponent以满足自己的特殊需要。2.2 ADO访库的技术实现方法ADO(Active* Data Objects)是一组优化的数据库专用对象集,为ASP提供了完整的站点数据库解决方案。它可作用于效劳器端,以提供含有数据库信息的主页内容。通过执行SQL命令,让用户在浏览器画面中输入、更新和删除站点效劳器的数据库信息。 ADO使用内置的RecordSets对象作为数据的主要接口。ADO可使用 VBScript、JScrip t语言来控制对数据库的,以及查询结果的输出显示。 ADO可连接多种支持ODBC的数据库,如SQL Server、Oracle、Info rmi*等。在使用时,首先需在控制面板的ODBC中建立相应的DSN(数据源名) 。要选择系统数据源名,指定所用的驱动程序,如SQL Server,在数据来源名称中输入DSN名,并选定效劳器和数据库。 2.3 ASP与组件对象的使用 在利用ASP技术进展动态Web开发的时候,应遵循这样一个原则:即 ASP的效劳器端脚本必须与微软倡导的组件对象( ponent Object Model )配合使用才能开发出具有实用价值的信息产品。ASP脚本相当于一种粘合剂,把一个个具有特定功能的组件对象粘合在一起,以形成最终的软件产品。这一软件制作的工艺思想类似于硬件工厂生产板卡的过程,那一个个的组件对象就相当于集成电路的芯片,而ASP脚本只是焊接芯片的焊接剂,由此可见组件对象起着核心作用。 组件对象模型是微软提出的一种基于二进制的Windows软件标准,它是由OLE 技术逐渐开展而来的。在使用不同语言工具写成的组件对象之间,依据 的标准可以进展交互。是技术概念和标准, 其商业概念的称谓则使用Active*。 上文提到的ADO就是系统提供的用于后台数据库的组件。此外,ASP本身还提供了五个内置的对象。这五个内置对象可被ASP 脚本直接使用,它们是: 1.Request取得用户信息 2.Response 传递信息给用户 3.Server 提供效劳器的方法和属性4.Application在一个应用程序的多个主页之间保存和使用*些共同的信息5.Session在一个用户的多个主页之间保存和使用*些共同的信息 其中,使用内置对象1、2可实现Web的交互功能,使用内置对象4、 5可解决具有协作机制的应用问题。 ASP的一大特色,是可以用来编写具有协作机制的应用程序,在多个用户的多个主页之间共享信息。使用内置的Application和 Session 对象可实现这些功能。 Application对象保存一个应用程序共同的信息,使用此应用程序的所有用户都可以共同分享。为防止其被多个用户同时更改,提供loc k和unlock方法来实现互斥,例如: Application.lock 制止其他用户更改Application的信息; Application.unlock 允许其他用户更改Application的信息。 Session对象比Application对象的使用外延*围小,它保存仅属于一个用户的一个应用程序的信息。ASP的应用程序可以只有一个首页,也可以有多个主页文件,所有的文件均位于一个虚拟路径下。Session对象可让同一个用户在多个主页之间共享信息。当用户第一次在一个应用程序中申请一个*.asp主页时,ASP将为该用户分配一个SessionID号,它将唯一地标识用户的身份,从而能将同一应用程序的不同用户区分开来。 根据需要还可以自行定制具有*些特色的组件对象,以完成特殊的任务。用VisualBasic、Visual C+、Delphi和 Java等语言都可以编写。自制的组件对象分成两类: 一是由类打包而成的*.dll文件,经注册器注册后,在ASP脚本中可通过Set 对象名 = 类名来引用。对象在这种使用过程中是在效劳器的后台运行的,其运行的结果通过系统自动生成的HTML作用到前端浏览器。 二是生成*.oc*文件,一般用作可视化的对象Active*,可直接将其嵌入*.asp主页中,在页面中插入时需使用HTML语言的 标记加以引用。通常构件制作完成并按下载的要求打包后生成*.cab文件。对象在这种使用方式下要先从效劳器下载,然后在客户的前端浏览器运行。在第一次下载时被展开成相关的*.dll和*.oc*文件进展本地安装及注册。以后再使用时,就可直接从本地获得,免去了下载之苦,这也是Active*优于Java Applet的地方。 从长远来看,ASP和组件对象的配合使用无疑是一种引人入胜的新技术,更重要的是由此而提出了一种全新的软件设计方法,把硬件的工艺思想恰如其分地融合于软件的面向对象的分析、设计和施工之中, 使面向对象的概念和方法从工具语言的层次一下子跃上了系统的应用层,在快速开发多层的客户/效劳器分布式应用系统中将会产生极好的效果。第三局部需求分析需求分析阶段的任务并不是要具体解决问题,而是准确地答复为了解决这个问题,目标系统必须做什么,主要是确定目标系统必须具备哪些功能、性能、运行规格要求,而对目标系统提出完整、清晰、准确、具体的要求。3.1工程开发前提 并不是所有的问题都有简单明显的解决方法,事实上,许多问题不可能在预定的系统规模之内解决。如果问题没有可行的解,则,花费在这项开发工程的任何时间、资源、人力和经费都是无谓的浪费。 可行性研究的目的就是以最小的代价在尽可能短的时间能确定问题是否能够解决。必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得求解。 首先澄清问题定义。在问题定义阶段,初步确定问题的规模和目标,如果是正确的就进一步加以肯定,如果有错误,就应该及时改正,如果对目标系统有任何约束和限制,也必须把它们清楚地列举出来。 在澄清了问题定义之后,分析员应该导出系统的逻辑模型。然后从系统逻辑模型出发,探索假设干种可供选择的主要解法即系统实现方案。对每种解法都应该仔细研究它的可行性,一般来说,至少应该从下述三方面研究每种解法的可行性:1技术可行性使用现有的技术如ASP嵌套VBScript和建模分析工具PowerDesigner 6.0以及使用Access数据库可以实现这个系统。2经济可行性开发该系统,所需经济本钱不高,消耗的人力物力都很低;且系统开发实现后,其对所需运行环境的要求也很低。3操作可行性用户可以在很短的时间内掌握操作,管理员经过简单的培训也可以对系统进展管理。3.2目标系统的综合要求功能要求:目标系统实现的功能主要有对信息的添加、修改和查询以及对学生选课的处理。其系统功能层次图如图3.1所示:学生自动选课系统登陆管理设置管理员操作设置教师操作设置学生选课设置 图3.1 系统功能层次图a. 登陆管理设置模块实现的功能:登陆处理、注册用户、修改密码。b. 管理员操作设置模块实现的功能:对学生档案信息,以及教师根本信息和选修课信息的添加、修改、查询;对选课时间段的设定。c. 教师操作设置模块实现的功能:对信息的查询,添加和修改学生 成绩。 d. 学生选课设置模块实现的功能:查询信息、选修课程及退选课程。性能要求:目标系统具有方便用户操作友好的界面,响应时间短,能方便快捷地供应操作人需求的信息。保证系统数据的正确性,完整性,平安性。平安要求:该系统对系统管理员、教师、学生分类开放。3.3 数据流图传统的构造化分析方法简称SA方法就是面向数据流自顶向下、逐步求精进展需求分析的方法。数据流图由数据源点或汇点、数据流、数据存储组成。经过分析得到顶层数据流图如图3.2所示。学生自动选课系统管理员学生教师图3.2顶层数据流图系统细化时需要一定的原则,数据流图分层细化时必须保持信息的连续性,即细化前后必须保持信息的连续性,细化前后对应功能的输入和输出数据必须一样。把一个功能细化到可以写程序的程度,就不应该再进展细化了。经过进一步细化第一层及第二层数据流图,如图3.3、3.4所示:1管理员管理处理2教师操作处理3学生操作处理1.第一层数据流图:图3.3第一层数据流图2.第二层数据流图:3.2选课处理3.1学生登陆处理1.2输入信息处理2.1教师登陆处理教师学生2.2成绩输入处理3.3退课处理2.3查询信息处理3.4查询信息处理1.1管理员登陆处理图3.4第二层数据流图3.4数据字典数据字典是关于数据的信息集合,也就是对数据流图中出现的所有数据.数据流: 数据流的来源去处,组成数据流的数据项,数据流的流通量.数据存储: 数据文件的构造描述及数据文件中记录的存放规则.数据处理: 数据处理的逻辑功能及其算法.数据处理一般用其它工具描述更清晰.数据源: 管理员、学生、教师数据处理:登陆处理;添加处理;修改处理;删除处理;查询处理。以下是我所负责的登陆模块,以及管理员、教师管理模块这三个模块数据字典:1主要数据流定义:数据流名:登陆信息别名:描述:管理员、教师、学生输入的登陆信息定义:登陆信息=用户名称+密码+使用权限来源:管理员、教师、学生去向:登陆处理数据项名 类型 长度用户名称 字符型 8密码 字符型 6使用权限 字符型 6数据流名:教师信息查询要求别名:描述:教师对个人根本信息的查询定义:教师信息查询要求=教师*+教师编号来源:教师去向:教师根本信息查询处理数据项名 类型 长度教师* 字符型 8教师编号 字符型 8数据流名:学生情况查询要求别名:描述:教师对所授课程的学生情况进展的查询定义:学生情况查询要求=教师*+教师编号+所授课程来源:教师去向:授课学生情况查询处理数据项名 类型 长度教师* 字符型 8教师编号 字符型 8所授课程 字符型 10数据流名:选修课信息别名:描述:管理员输入的选修课的安排信息定义:选修课信息=课程名+授课时间+授课地点+授课教师+授课学期来源:管理员去向:选修课表处理数据项名 类型 长度课程名 字符型 10授课时间 日期型授课地点 字符型 20授课教师 字符型 8授课学期 日期型(2)数据存储定义:名字:管理员登陆表别名:描述:用于管理员登陆自动网上选课系统,进展管理,修改,添加和维护等操作。定义:管理员登陆表=用户名称+密码+使用权限位置:管理员登陆表 管理员登陆处理数据项名 类型 长度 用户名称 字符型 8密码 字符型 6 使用权限 字符型 6名字:选修课信息表别名:描述:记录选修课的信息定义:选修课信息=课程名+授课时间+授课地点+授课教师+授课学期位置:选修课信息表 选修课表处理数据项名 类型 长度课程名 字符型 10授课时间 日期型授课地点 字符型 20授课教师 字符型 8授课学期 日期型名字:教师根本信息表别名:描述:记录教师的根本信息定义:教师根本信息表=教师*+教师编号+教龄 +所授课程+授课时间+授课地点位置:教师根本信息 教师信息处理数据项名 类型 长度教师* 字符型 8教师编号 字符型 8教龄 字符型 2所授课程 字符型 10授课地点 字符型 20授课时间 日期型 名字:学生档案信息表别名:描述:记录学生的根本信息定义:学生档案信息表=学生*+*+学生性别+班级+系别+籍贯+出生年月位置:学生档案信息表 学生信息处理数据项名 类型 长度学生* 字符型 8* 字符型 8学生性别 布尔型班级 字符型 10系别 字符型 20籍贯 字符型 10出生日期 日期型名字:教师登陆表别名:描述:用于教师登陆自动网上选课系统,进展查询及学生成绩录入工作定义:教师登陆表=用户名称+密码+使用权限位置:教师登陆表 教师登陆处理数据项名 类型 长度用户名称 字符型 8密码 字符型 6使用权限 字符型 6数据项名 类型 长度教师* 字符型 8教师编号 字符型 8数据项名 类型 长度课程名 字符型 10学生* 字符型 8* 字符型 8班级名称 字符型 10总人数 数值型 3授课地点 字符型 20授课时间 日期型 名字:个别课程学生情况表别名:描述:记录选修*一门课程的学生及人数,以供该授课教师查询及打印定义:个别课程学生情况表=课程名+学生*+*+班级名称+总人数+授课地点+授课时间位置:个别课程学生情况表授课学生查询处理 | 打印处理数据项名 类型 长度课程名 字符型 10学生* 字符型 8* 字符型 8班级名称 字符型 10总人数 数值型 3授课地点 字符型 20授课时间 日期型 第四章总体设计总体设计的根本目标是如何解决问题,通过这个阶段的工作,设计人员将划分出组成系统的物理元素总体设计的另一项任务是确定软件构造,即确定系统中的每一个程序由哪些模块组成以及模块和模块之间的关系.4.1系统功能划分这套学生自动选课系统,可以供学生在网上直接自主的进展选课,具体有以下功能:a. 支持学生自主修改保存密码;b. 教师可添加、修改学生成绩,以及对信息的查询;c. 管理员对信息可以进展添加、修改工作;d. 学生可以查询选修课情况,并根据个人条件进展选修选修课;e. 支持学生一人选多门选修课,但是最多不能超过3门;f. 支持学生对选修课进展退选或补选;g. 开课前,本系统自动导入选课学生到学生信息中,教师可在此可获取。使用这套系统的人员有管理员 、教师和学生,他们对系统有不同的使用权限。 1、管理员可以进展使用权限的设置,只有拥有正确的用户名和相应的密码 的人,才可以使用系统并系统中的资源;可对学生的根本信息进展管理,学生个人密码遗忘,管理员可取回学生密码。2、 教师可对全体选课学生进展查询,及所有选课情况,以及对学生成绩的添加和修改权限。3、 学生只能进入自己的档案,进展个人选课、查询以及个人密码的修改工作。本系统在实行过程中,在时间上分三个阶段来实行:第一阶段:为选课阶段,这一阶段学生不能有退课权利,只能进展选课;第二阶段:为可退选阶段,在这一阶段学生既可以选课,也可以进展退选课程;第三阶段:为确定阶段,在这一阶段里,学生既不能再进展选课,也不可再退选,即所选课程已确定。这三个阶段实行日期由管理员所确定。4.2模块功能化分对上述各项功能进展集中、分块,按照构造化程序设计的要求,得到我所负责的模块的功能层次图如图4.1所示。学生自动选课系统管理员操作设置登陆管理设置登陆处理注册用户修改密码添加修改查询学生档案信息添加修改查询教师信息添加修改查询选修课信息设定选课时间段教师操作设置查询信息添加成绩修改成绩学生选课设置4.1细化的功能层次图我负责设计的是登陆管理、管理员操作、教师操作三个模块.a.在登陆管理设置模块中,实现了登陆处理、注册用户、修改密码功能。b.管理员操作设置模块实现的功能有:对学生档案信息,以及教师根本信息和选修课信息的添加、修改、查询;对选课时间段的设定。c.教师操作设置模块实现的功能:教师对个人信息、以及所授课程的学生信息的查询,和添加和修改学生成绩的功能。通过对所负责模块功能的细化,可以对这些模块的数据流图进展进一步的细化,得到第三层数据流图如图4.2所示。1.2.1输入信息分类必修课表处理选修课表处理教师信息处理学生信息处理2.3.1查询信息分类教师根本信息查询处理授课学生情况查询处理图4.2第三层数据流图最后得到细化数据流图如图4.3所示:教师教师登陆处理教师登陆信息教师根本信息查询处理成绩输入处理学生信息表授课学生情况查询处理个别课程学生情况表打印处理个别课程学生情况表学生信息表学生信息表管理员登陆信息管理员登陆处理管理员必修课表处理必修课信息表选修课表处理选修课信息表教师信息处理学生信息处理学生档案信息表教师根本信息图4.3细化数据流图4.3概念模型CDM系统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联系,多对多Many to Many联系。在熟悉了CDM的理论根底以后,在创立CDM时,应该明确模型所描述的业务问题。系统CDM模型的建立该概念模型如图4.4所示 ,反映了网络环境下的学生自动选课系统中的各实体之间的联系,它把用户的数据要求清楚的表达出来,即系统需要那些数据、数据之间是什么联系、数据本身有什么性质、数据的构造是什么等都有清楚的表达。系统的概念模型CDM如图4.4所示:图4.4 系统的概念模型CDM4.4 系统PDM的建立数据构造设计数据构造设计主要是利用软件分析设计工具Power Designer 来设计系统的数据存储构造。该工具用图表化的形式来描述数据之间的关系,这样不仅形象直观,而且便于与用户和程序员进展交流。通过该工具设计出的系统物理数据模型可以通过该工具提供的与数据库的接口,直接生成数据库表,而不用在数据库管理系统中建立数据表。下面介绍一下该系统的数据构造模型物理数据模型PDM。 数据库PDM模型的建立建立PDM模型有四种方法,分别为:使用设计环境直接建立PDM;从现存数据库或数据库SQL脚本逆向工程建立PDM;从CDM采用内部模型生成的方法建立PDM;从面向对象模型OOM中的类图采用模型的内部生成方法建立PDM。本系统采用的是第三种方法生成的PDM模型。该系统的PDM模型如图4.5所示:图4.5系统的物理模型4.5 E-R模型对所负责的子模块:管理员模块、教师模块的E-R模型如图4.6所示:管理员*编号教师已开课程规定课程名称课程编号主讲教师授课地点授课时间输入*编号教授性别教龄nmmnnm图4.6 子模块E-R 模型4.6数据库设计在一个系统中占有非常重要地位,数据库构造设计的好坏将直接对应系统的效率以及实现的效果产生影响。合理的数据库构造设计可以提高数据存储的效率,保证数据完整性和一致。另外合理的数据库构造非常有利于程序的实现。针对学生自动选课系统的需求,通过对学生选课的工作过程的内容和数据流程分析,设计如下的数据项和数据构造:studentinfo(学生档案信息表):包括的数据项有:*、*、性别、出生年月、系别、所在专业、班级、籍贯、备注;teacherinfo(教师根本信息表):包括的数据项有:教师编号、教师*、性别、教龄、所授课程、课程号、授课地点、授课时间、备注;UserInfo(用户登陆信息表):包括的数据项有:user-id、username、password、purview-level、usertype;students(学生选课信息表):包括的数据项有:student-num、student-name、student-se*、select-course、course-id、remark;select-courseinfo(选修课信息表):包括的数据项有:课程号、课程名、主讲教师、上课时间、上课地点、学生人数;scores(成绩表):包括的数据项有:id、student-id、course-id、score;Interval(选课时间段表):包括的数据项有:BEGIN-TIME、END-TIME;第五章详细设计详细设计阶段的根本目标是确定怎样具体实现所需要求的系统,这个阶段的设计任务不是具体编写程序,而是要设计出程序的蓝图,以后程序员根据这个蓝图写出实际的程序代码.5.1程序构造设计本次毕业设计是两人分工,以下主要介绍我主要负责的模块的设计,即登陆模块,及管理员、教师管理这三个模块。登陆模块:本登陆模块可供管理员、教师、学生登陆,且其身份不同进入的界面将不同。对于管理员、教师用户在他们登陆系统之前,首先由管理员在数据库中添加用户名和密码;学生的用户名和密码在登陆前可自己先注册。在登录系统时用户必须在输入用户名和密码都正确的情况下才能进入该系统,并到达用户相应权限的界面即管理员、教师、学生所进界面受自己权限的限制。在用户名输入错误情况下,或密码错误的情况下,系统会弹出 “改用户名不存在或密码不正确,请重新输入! ;在输入次数超过三次时,系统会自动退出。用户登陆成功后,可自行修改自己的密码。【使用说明】:系统启动运行后,将出现管理员登录界面,用户输入用户名,然后输入密码。密码正确就可进入。【程序构造设计】:登陆时要对用户密码进展验证,其程序构造如图5.1所示退出进入下一个界面判断密码是否正确判断用户名是否为空?没有这个用户请重新输入开场图5.1 密码程序流图 添加功能在管理员模块中,管理员对学生档案信息、教师根本信息、选修课信息、选课时间段的添加都用到该添加功能;a. 管理员对学生档案信息的添加中,学生*与*在程序中被指定为指定文本框,这两项信息不能为空;b. 管理员对教师根本信息的添加中,教师*与教师编号在程序中被指定为指定文本框,这两项信息也是不能为空的;c. 管理员对选修课信息的添加是,选修课名称及课程号同样在程序中也被指定为指定文本框,它的这两项信息同样不能为空;在教师模块中,教师对学生成绩的添加也是该添加功能,只不过这时时学生的成绩在程序中被指定为指定文本框,这项信息也是不能为空的。【使用说明】:在用户登陆成功,进入添加界面时,逐项输入所要添加的信息到每个相应得文本框,只要程序中被指定的指定文本框内容不为空,点击确定按钮添加即可成功。 【程序构造设计】:该添加功能程序构造如下列图5.2所示:开场检查指定文本框是否为空.再输入一次是否有一样记录.该记录已存在,假设修改请点击修改按钮参加新记录记录添加成功图5.2 添加程序构造先判断程序中被指定的文本框是否为空,如果为空的话弹出“该文本框不能为空,再判断有没有和库中的记录一样的编号,有的话则提示其点击修改按钮,并返回。没有则把新记录添加到数据库中,并显示添加成功。修改功能:在管理员模块中,管理员对学生档案信息、教师根本信息、选修课信息的修改,用到该修改功能;a. 管理员对学生档案信息的修改中,学生的*被指定为输入的指定信息,学生*及*同样被程序指定为指定文本框;b. 管理员对教师根本信息的修改中,教师编号被指定为输入的指定信息,教师*及教师编号同样被程序指定为指定文本框;c. 管理员对选修课信息的修改中,选修课的课程号被指定为输入的指定信息,选修课名称及课程号被程序指定为指定文本框;在教师模块中,教师对学生成绩的修改都也是用到此修改功能,学生的*与课程名在程序中被指定为指定信息,学生的成绩被指定为程序中的指定文本框。【使用说明】:在用户登陆成功,进入修改界面时,按界面提示输入指定信息,在提交后假设存在该记录,则会在屏幕上显示该记录信息,这时用户就可进展修改;假设修改后的指定文本框的内容不为空,则点击确定按钮修改即可成功。【程序构造设计】:该修改功能程序构造如图5.3所示输入指定信息该记录不存在,重新输入判断是否存在该记录.列表初始化显示该记录信息修改信息判断程序中指定文本框是否为空.删除数据库中的原记录把新记录添加到原记录位置显示修改成功图5.3 修改程序流图先判断是否有要修改的记录,如果没有的话重新输入要修改的记录的信息;有的话,要修改的记录从库中调入到根本信息的窗体中,然后修改再保存,保存前判断程序中指定的文本框是否为空,为空要重新输入,不为空则保存。查询功能在管理员模块中,管理员对学生档案信息、教师根本信息、选修课信息的查询用到此查询功能;在教师模块中,教师对个人根本信息、所授课程学生信息的查询,都是用到的该查询功能;【使用说明】:用户只要按照屏幕提示,输入指定查询信息即可进展所需信息的查询。【程序构造设计】:此查询功能程序流程图如图5.4所示:ssql为查询条件根据查询条件ssql开场查询显示符合条件的记录列表完毕ssql=“?查询条件不能为空,请重新输入!开场输入查询条件ssql判断是否有符合条件的纪录.没有找到符合条件的纪录,请重新输入!图5.4 查询程序流程图先判断查询条件是否为空,不为空的话,按照查询条件进展查询,如果查询到的记录条数不为空的话,将在屏幕上显示所有记录,把结果显示到列表上。5.2主要界面设计与主要代码登陆模块界面与代码1.其登陆界面如图5.5所示:图5.5登陆界面登陆时所用到的查询语句ssql =select * from userinfo where username=&_username&and password=&password& ,向userinfo表中查询用户名及密码是否存在,并验证是否正确,其主要代码见附录。2. 其注册界面如图5.6所示窗体顶部用户名:密码:图5.6注册界面注册时所用到的注册语句sSQL =select * from userinforst.open ssql,conn,1,3rst.addnewrst(username)=usernamerst(password)=passwordrst(purview_level)=3rst(usertype)=学生 在此把用户类型规定为学生,也就是自行注册的用户权限只能为学生。其主要代码见附录。窗体底部3. 其修改密码界面如图5.7所示:窗体顶部修改个人密码用户名:原始密码:新密码:密码确认: 窗体底部图5.7 修改密码界面修改密码是用到的主要语句是Update更新语句。Update UserInfo set password=“Pwd where username=&Username&And password=&OriPwd&将用户密码更新为新设定的密码;其主要代码见附录。管理员模块界面与代码管理员登陆成功可进入管理员主页,其主界面如图5.8所示。在这个界面中系统菜单有添加、修改、查询学生档案信息;添加、修改、查询教师根本信息;添加、修改、查询选修课信息;设定选课时间段。因此,对其添加、修改、查询功能分别介绍一个。 图5.8 管理员主界面1.添加界面以管理员对选修课信息的添加为例其对学生档案信息、教师根本信息以及选课时间段的添加与此类似,添加界面如图5.9所示。课程号:课程名:主讲教师:上课时间:上课地点:学生人数: 图5.9 添加选修课信息界面添加信息时所用到的主要语句为:ssql=“Insert into select_courseinfo(课程号,课程名,) Values (&courseid&,&coursename&,)conn.E*ecute(ssql)把所添加的信息插入到数据库所特定表中;其主要代码见附录。2.修改界面 以管理员对学生档案信息的修改为例管理员对教师根本信息、选修课信息的修改与此同,修改界面如图5.10所示图5.10修改学生档案信息修改信息时用到的主要语句:ssql=SELECT * from studentinfo where *=&studentnumssql=Delete From studentinfo Where *=&studentnumssql=Insert Into studentinfo(*,*,)Values(&studentnum&,&studentname&,) 根据输入条件,通过Select语句搜索到记录信息,并显示在列表中,修改后通过Delect语句将原记录删除,并执行Insert插入语句,将修改信息插入到数据库中。其主要代码见附录。查询界面见教师模块,在此就不再介绍。教师模块界面与代码教师登陆成功可进入教师主页,在这个界面中系统菜单有查询教师根本信息;查询所授课程的学生信息;添加学生成绩;修改学生成绩;因此,在这主要介绍教师的查询界面,其对学生成绩的添加与修改见管理员模块的添加与修改界面。1. 查询界面以教师对个人信息的查询为例,教师对所授课程的学生信息的查询,以及在管理员模块中管理员对学生档案信息、教师根本信息以及选修课信息的查询与此一样,就不在一一介绍。查询界面如图5.11所示。请输入教师 点击确定后将显示如下信息教师编号教师*性别教龄所授课程课程号授课地点授课时间备注图5.11查询教师个人信息查询信息时所用到的主要语句:strSql=Select*From teacherinfo Where 教师编号Like%&Trim(Request(teacher_num)&%通过Select查询语句查询到所需记录,并将其显示到屏幕的列表中,其主要代码见附录。添加成绩界面见管理员模块的添加界面,修改成绩界面见管理员模块的添加界面,在此就不再介绍。第六章 系统测试6.1 系统测试的目的、原则和方法软件测试作为软件质量保证的一个重要组成局部,在整个软件开发中占据了一半或一半以上的工作量,所以软件测试是系统开发的一个重要环节,也是成功开发软件系统的重要保证之一。软件测试阶段的主要任务是发现并排除在分析、设计、编程各阶段中产生的各种类型的错误,以得到可使用的软件系统。目的:由于程序员本身能力的局限性,所编写的代码,即使经过反复检查也难免出错,所以在本阶段力求使用有限的时间找出尽可能多的错误,通过对本系统的根本功能和错
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!