毕业设计(论文)-基于BS结构的学生自动选课系统(asp).doc_第1页
毕业设计(论文)-基于BS结构的学生自动选课系统(asp).doc_第2页
毕业设计(论文)-基于BS结构的学生自动选课系统(asp).doc_第3页
毕业设计(论文)-基于BS结构的学生自动选课系统(asp).doc_第4页
毕业设计(论文)-基于BS结构的学生自动选课系统(asp).doc_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

计算机科学与技术毕业论文 1 第一章 绪论 1.1 系统概述 随着计算机技术和网络通迅技术的飞速发展,现在国内有很多大学的选课 方式由传统的选择方式转变成了网上选课,学生可以在网上选择规定范围内的 课程,并且可以在网上查询成绩。无需自己去老师那一门一门查,了解自己已得 多少学分还需多少学分,即节省了学生的时间,又便于学校的管理 因为传统的选课方式都是手工的,教务处通知各班进行选课,各班班长再 通知每个同学,经过统计在上交教务处,这样比较浪费时间。再者选课时不知 道所选课人数是否已满,要等向教务处上报统计后才会知道,然后才能重新选 择。网上选课系统为同学节省了时间的同时,减少了不必要的步骤,也方便管 理员管理。 网上选课系统为同学提供了一个自由选择的平台,学生可以选修规定范围内的 课程,查看已修学分总数,还可以修改个人信息。本系统也为教师提供了很大 的方便,教师可以根据统计的人数挑选一定数量的学生,也可以直接在网上公 布成绩,让学生直接在网上查询成绩。 此系统方便了学生的选课,同时便于管理,减少大量的人力资源;并且给 了学生提供了一个自由的空间。 1.2 系统开发的目的和意义 学生选课历来是学校课程安排工作中比较复杂的一项,为了减轻学校的工 作,方便学生对选修课的选择,设计了本系统-基于 b/s 模式自动选课系统 设 计与实现(管理员、教师管理子模块的设计与实现),可供学生在网上自动选修 选修课。 管理员管理子模块功能的实现,使得管理员的操作变得简单易行,减轻了 管理员的工作量,提高了工作效率;其对学生档案信息、教师基本信息以及选 修课等信息的添加、修改和查询都可在此系统中实现,使得工作变得清晰且易 行。 计算机科学与技术毕业论文 2 教师管理子模块的功能的实现同样给广大教师带来了很大的便利,教师可 直接在网上对其所授课程情况进行查询,直接发布学生的成绩,充分利用了网 络这个很占优势的资源。 1.3 系统开发环境 硬件环境: cpu: 奔腾 4 1.7g 内存: 256mb 硬盘: 80gb 分辨率: 1024*768 软件环境: 系统平台: windows xp 分析设计工具: powerdesigner 6.0 关系型数据库管理系统: microsoft access2000 开发工具: asp(vbscript) 1.4 项目分工 在这个项目中,我主要负责登陆模块,教师模块和管理员模块; 登陆模块实现各个用户(教师,学生,管理员)的登陆功能,以及用户密 码的修改; 教师模块实现教师对个人信息以及所授课程信息的查询,以及对学生成绩 的添加和修改; 管理员模块实现管理员对学生档案信息、教师信息、选修课信息的添加、 修改和查询;以及对选课时间段的设定。 计算机科学与技术毕业论文 3 第二章 开发技术及工具简介 2.1 asp 技术及功能介绍 asp 是 active server pages(动态服务器主页)的缩写,它是一个服务器端 的脚本环境,在站点的 web 服务器上解释脚本,可产生并执行动态、交互式、高 效率的站点服务器应用程序。asp 可以胜任基于微软 web 服务器的各种动态数 据发布。 asp 是微软开发的一种类似 html(hypertext markup language 超文本标识 语言)、script(脚本)与 cgi(common gateway interface 通用网关接口)的结 合体,它没有提供自己专门的编程语言,而是允许用户使用包括 vbscript,javascript 等在内的许多已有的脚本语言编写 asp 的应用程序。 asp 的程序编制比 html 更方便且更有灵活性。它是在 web 服务器端运行,运行 后再将运行结果以 html 格式传送至客户端的浏览器。因此 asp 与一般的脚本语 言相比,要安全的多。 对于广大网页技术爱好者来说,asp 比 cgi 具有的最大好处是可以包含 html 标签,也可以直接存取数据库及使用无限扩充的 activex 控件,因此在程 序编制上要比 html 方便而且更富有灵活性。 asp 吸收了当今许多流行的技术,如 iis,activex,vbscript,odbc 等, 是一种发展较为成熟的网络应用程序开发技术;其核心技术是对组件和对象技 术的充分支持。通过使用 asp 的组件和对象技术,用户可以直接使用 activex 控件,调用对象方法和属性,以简单的方式实现强大的功能。 2.1.1 asp 方法与传统静态主页的区别 把信息系统纳入 internet/intranet 的框架之后,首先要解决的问题是通过 网页访问后台数据库信息。所有应用程序都被分割为页面的形式,用户的交互操 作是以提交表单等方式来实现的,这就要求 web 站点具有很强的动态数据发布 能力。然而,目前 web 的服务,仍以提供“静态”主页内容为主。所谓“静态”, 指的就是站点的主页内容是“固定不变“的,无法根据用户的需求和实际情况作出 相应的变化。当浏览器通过 internet 的 http 协议向站点的 web 服务器申请主 页时,站点服务器就会将已设计好的静态的 html 文件传送给浏览器。若要更新 计算机科学与技术毕业论文 4 主页的内容, 只能用非在线的手动方式更新 html 的文件数据。 asp 所设计出的是动态主页,可接收用户提交的信息并作出反应, 其中的数 据可随实际情况而改变,无须人工对网页文件进行更新即可满足应用需要。例如:当 在浏览器上填好表单并提交 http 请求时,可以要求在站点服务器上执行一个表 单所设定的应用程序,而不只是一个简单的 html 文件。该应用程序分析表单的 输入数据,根据不同的数据内容将相应的执行结果(通常是数据库查寻的结果集) 以 html 的格式传送给浏览器。数据库的数据可以随时变化,而服务器上执行的 应用程序却不必更改,客户端得到的网页信息会始终保持新鲜的魅力。 2.1.2 asp 的特点与功能 从软件的技术层面看,asp 有如下的特点: 1. 无需编译 asp 脚本集成于 html 当中,容易生成,无需编译或链接即可 直接解释执行。 2. 易于生成 使用常规文本编辑器(如 windows 下的记事本),即可进行 *.asp 页面的设计。若从工作效率来考虑,不妨选用具有可视化编辑能力的 visual interdev。 3. 独立于浏览器 用户端只要使用可解释常规 html 码的浏览器, 即可浏 览 asp 所设计的主页。asp 脚本是在站点服务器端执行的,用户端的浏览器不需 要支持它。因此,若不通过从服务器下载来观察*.asp 主页,在浏览器端见不到 正确的页面内容。 4. 面向对象 在 asp 脚本中可以方便地引用系统组件和 asp 的内置组件, 还能通过定制 activex server component(activex 服务器组件)来扩充功能。 5. 与任何 activex scripting 语言兼容 除了可使用 vbscript 和 jscript 语言进行设计外,还可通过 plug-in 的方式,使用由第三方所提供的其 它 scripting 语言。 6. 源程序码不会外漏 asp 脚本在服务器上执行,传到用户浏览器的只是 asp 执行结果所生成的常规 html 码,这样可保证辛辛苦苦编写出来的程序代码 不会被他人盗取。 从应用的层面看,asp 有如下的功能: 1. 处理由浏览器传送到站点服务器的表单输入。 2. 访问和编辑服务器端的数据库表。使用浏览器即可输入、更新和删除站 计算机科学与技术毕业论文 5 点服务器的数据库中的数据。 3. 读写站点服务器的文件,实现访客计数器、座右铭等功能。 4. 提供广告轮播器、取得浏览器信息、url 表管理等内置功能。 5. 由 cookies 读写用户端的硬盘文件,以记录用户的数据。 6. 可以实现在多个主页间共享信息,以开发复杂的商务站点应用程序。 7. 使用 vbscript 或 jscript 等简易的脚本语言,结合 html 码,快速完成站 点的应用程序。通过站点服务器执行脚本语言,产生或更改在客户端执行的脚本 语言。 8. 扩充功能的能力强,可通过使用 visual basic、java、visual c + 等 多种程序语言制作 activex server component 以满足自己的特殊需要。 2.2 ado 访库的技术实现方法 ado(activex data objects)是一组优化的访问数据库专用对象集,为 asp 提供了完整的站点数据库访问解决方案。它可作用于服务器端,以提供含有数据 库信息的主页内容。通过执行 sql 命令,让用户在浏览器画面中输入、更新和删 除站点服务器的数据库信息。 ado 使用内置的 recordsets 对象作为数据的主要接口。ado 可使用 vbscript、jscrip t 语言来控制对数据库的访问,以及查询结果的输出显示。 ado 可连接多种支持 odbc 的数据库,如 sql server、oracle、info rmix 等。 在使用时,首先需在控制面板的 odbc 中建立相应的 dsn(数据源名) 。要选择系 统数据源名,指定所用的驱动程序,如“sql server“,在数据来源名称中输入 dsn 名,并选定服务器和数据库。 2.3 asp 与组件对象的使用 在利用 asp 技术进行动态 web 开发的时候,应遵循这样一个原则:即 asp 的服务器端脚本必须与微软倡导的组件对象( component object model )配合 使用才能开发出具有实用价值的信息产品。asp 脚本相当于一种粘合剂,把一个 个具有特定功能的组件对象粘合在一起,以形成最终的软件产品。这一软件制作 的工艺思想类似于硬件工厂生产板卡的过程,那一个个的组件对象就相当于集成 电路的芯片,而 asp 脚本只是焊接芯片的焊接剂,由此可见组件对象起着核心作 用。 计算机科学与技术毕业论文 6 组件对象模型 com 是微软提出的一种基于二进制的 windows 软件标准,它是 由 ole 技术逐渐发展而来的。在使用不同语言工具写成的组件对象之间,依据 com 的标准可以进行交互。com 是技术概念和标准, 其商业概念的称谓则使用 activex。 上文提到的 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 号,它将唯一地标识用户的身份,从而能 将同一应用程序的不同用户区分开来。 根据需要还可以自行定制具有某些特色的组件对象,以完成特殊的任务。用 visual basic、visual c+、delphi 和 java 等语言都可以编写。自制的组件 计算机科学与技术毕业论文 7 对象分成两类: 一是由类打包而成的*.dll 文件,经注册器注册后,在 asp 脚本中可通过 “set 对象名 = 类名“来引用。对象在这种使用过程中是在服务器的后台运行的,其 运行的结果通过系统自动生成的 html 作用到前端浏览器。 二是生成*.ocx 文件,一般用作可视化的对象 activex,可直接将其嵌入 *.asp 主页中,在页面中插入时需使用 html 语言的 标记加以引用。通 常构件制作完成并按下载的要求打包后生成*.cab 文件。对象在这种使用方式 下要先从服务器下载,然后在客户的前端浏览器运行。在第一次下载时被展开成 相关的*.dll 和*.ocx 文件进行本地安装及注册。以后再使用时,就可直接从本 地获得,免去了下载之苦,这也是 activex 优于 java applet 的地方。 从长远来看,asp 和组件对象的配合使用无疑是一种引人入胜的新技术,更 重要的是由此而提出了一种全新的软件设计方法,把硬件的工艺思想恰如其分地 融合于软件的面向对象的分析、设计和施工之中, 使面向对象的概念和方法从 工具语言的层次一下子跃上了系统的应用层,在快速开发多层的客户/服务器分 布式应用系统中将会产生极好的效果。 计算机科学与技术毕业论文 8 第三部分 需求分析 需求分析阶段的任务并不是要具体解决问题,而是准确地回答为了解决这 个问题,目标系统必须做什么,主要是确定目标系统必须具备哪些功能、性能、 运行规格要求,而对目标系统提出完整、清晰、准确、具体的要求。 3.1 项目开发前提 并不是所有的问题都有简单明显的解决方法,事实上,许多问题不可能在 预定的系统规模之内解决。如果问题没有可行的解,那么,花费在这项开发 工程的任何时间、资源、人力和经费都是无谓的浪费。 可行性研究的目的就是以最小的代价在尽可能短的时间能确定问题是否能 够解决。必须记住,可行性研究的目的不是解决问题,而是确定问题是否值 得求解。 首先澄清问题定义。在问题定义阶段,初步确定问题的规模和目标,如果 是正确的就进一步加以肯定,如果有错误,就应该及时改正,如果对目标系 统有任何约束和限制,也必须把它们清楚地列举出来。 在澄清了问题定义之后,分析员应该导出系统的逻辑模型。然后从系统逻 辑模型出发,探索若干种可供选择的主要解法(即系统实现方案) 。对每种解 法都应该仔细研究它的可行性,一般来说,至少应该从下述三方面研究每种 解法的可行性: (1)技术可行性技术可行性 使用现有的技术如 asp 嵌套 vbscript 和建模分析工具 powerdesigner 6.0 以及使用 access 数据库可以实现这个系统。 (2)经济可行性经济可行性 开发该系统,所需经济成本不高,耗费的人力物力都很 低;且系统开发实现后,其对所需运行环境的要求也很低。 (3)操作可行性操作可行性 用户可以在很短的时间内掌握操作,管理员经过简单的 培训也可以对系统进行管理。 3.2 目标系统的综合要求 功能要求:目标系统实现的功能主要有对信息的添加、修改和查询以及对 学生选课的处理。其系统功能层次图如图 3.1 所示: 计算机科学与技术毕业论文 9 图 3.1 系统功能层次图 a.登陆管理设置模块实现的功能:登陆处理、注册用户、修改密 码。 b.管理员操作设置模块实现的功能:对学生档案信息,以及教师 基本信息和选修课信息的添加、修改、查询;对选课时间段的 设定。 c. 教师操作设置模块实现的功能:对信息的查询,添加和修改学 生 成绩。 d. 学生选课设置模块实现的功能:查询信息、选修课程及退选课 程。 性能要求:目标系统具有方便用户操作友好的界面,响应时间短,能方便快 捷地供给操作人需求的信息。保证系统数据的正确性,完整性, 安全性。 安全要求:该系统对系统管理员、教师、学生分类开放。 3.3 数据流图 传统的结构化分析方法(简称 sa 方法)就是面向数据流自顶向下、逐 步求精进行需求分析的方法。数据流图由数据源点或汇点、数据流、数据存 学生自动选课系统 登 陆 管 理 设 置 管 理 员 操 作 设 置 教 师 操 作 设 置 学 生 选 课 设 置 计算机科学与技术毕业论文 10 储组成。经过分析得到顶层数据流图如图 3.2 所示。 图 3.2 顶层数据流图 系统细化时需要一定的原则,数据流图分层细化时必须保持信息的连续性, 即细化前后必须保持信息的连续性,细化前后对应功能的输入和输出数据必须 相同。把一个功能细化到可以写程序的程度,就不应该再进行细化了。经过进 一步细化第一层及第二层数据流图,如图 3.3、3.4 所示: (1).第一层数据流图: 学生自动选课系统学生自动选课系统 管理员 学生 教师 1 管理员 管理处 理 2 教师操 作处理 3 学生操 作处理 计算机科学与技术毕业论文 11 图 3.3第一层数据流图 (2).第二层数据流图: 3.2 选课处理 3.1 学生登 陆处理 1.2 输入信 息处理 2.1 教师登 陆处理 教师 学生 2.2 成绩输 入处理 3.3 退课处理 2.3 查询信 息处理 3.4 查询信 息处理 1.1 管理员 登陆处 理 计算机科学与技术毕业论文 12 图 3.4第二层数据流图 3.4 数据字典 数据字典是关于数据的信息集合,也就是对数据流图中出现的所有数据. 数据流: 数据流的来源去处,组成数据流的数据项,数据流的流通量. 数据存储: 数据文件的结构描述及数据文件中记录的存放规则. 数据处理: 数据处理的逻辑功能及其算法.数据处理一般用其它工具描述 更清晰. 数据源: 管理员、学生、教师 数据处理:登陆处理;添加处理;修改处理;删除处理;查询处理。 以下是我所负责的登陆模块,以及管理员、教师管理模块这三个模块数 据字典: (1)主要数据流定义: 数据流名:登陆信息 别名: 描述:管理员、教师、学生输入的登陆信息 定义:登陆信息=用户名称+密码+使用权限 来源:管理员、教师、学生 去向:登陆处理 数据项名 类型 长度 用户名称 字符型 8 密码 字符型 6 使用权限 字符型 6 数据流名:教师信息查询要求 别名: 描述:教师对个人基本信息的查询 定义:教师信息查询要求=教师姓名+教师编号 来源:教师 去向:教师基本信息查询处理 计算机科学与技术毕业论文 13 数据流名:学生情况查询要求 别名: 描述:教师对所授课程的学生情况进行的查询 定义:学生情况查询要求=教师姓名+教师编号+所授课程 来源:教师 去向:授课学生情况查询处理 数据项名 类型 长度 教师姓名 字符型 8 教师编号 字符型 8 数据项名 类型 长度 教师姓名 字符型 8 教师编号 字符型 8 所授课程 字符型 10 数据流名:选修课信息 别名: 描述:管理员输入的选修课的安排信息 定义:选修课信息=课程名+授课时间+授课地点+授课教师+授课学期 来源:管理员 去向:选修课表处理 数据项名 类型 长度 课程名 字符型 10 授课时间 日期型 授课地点 字符型 20 授课教师 字符型 8 授课学期 日期型 计算机科学与技术毕业论文 14 (2)数据存储定义: 名字:管理员登陆表 别名: 描述:用于管理员登陆自动网上选课系统,进行管理,修改,添加和维护等操 作。 定义:管理员登陆表=用户名称+密码+使用权限 位置:管理员登陆表 管理员登陆处理 数据项名 类型 长度 用户名称 字符型 8 密码 字符型 6 使用权限 字符型 6 名字:教师基本信息表 别名: 描述:记录教师的基本信息 定义:教师基本信息表=教师姓名+教师编号+教龄 +所授课程+授课时间+授课 地点 位置:教师基本信息 教师信息处理 名字:选修课信息表 别名: 描述:记录选修课的信息 定义:选修课信息=课程名+授课时间+授课地点+授课教师+授课学期 位置:选修课信息表 选修课表处理 数据项名 类型 长度 课程名 字符型 10 授课时间 日期型 授课地点 字符型 20 授课教师 字符型 8 授课学期 日期型 计算机科学与技术毕业论文 15 名字:教师登陆表 别名: 描述:用于教师登陆自动网上选课系统,进行查询及学生成绩录入工作 定义:教师登陆表=用户名称+密码+使用权限 位置:教师登陆表 教师登陆处理 数据项名 类型 长度 教师姓名 字符型 8 教师编号 字符型 8 教龄 字符型 2 所授课程 字符型 10 授课地点 字符型 20 授课时间 日期型 名字:学生档案信息表 别名: 描述:记录学生的基本信息 定义:学生档案信息表=学生姓名+学号+学生性别+班级+系别+籍贯+出生年月 位置:学生档案信息表 学生信息处理 数据项名 类型 长度 学生姓名 字符型 8 学号 字符型 8 学生性别 布尔型 班级 字符型 10 系别 字符型 20 籍贯 字符型 10 出生日期 日期型 数据项名 类型 长度 用户名称 字符型 8 密码 字符型 6 使用权限 字符型 6 数据项名 类型 长度 教师姓名 字符型 8 教师编号 字符型 8 计算机科学与技术毕业论文 16 名字:个别课程学生情况表 别名: 描述:记录选修某一门课程的学生名单及人数,以供该授课教师查询及打印 定义:个别课程学生情况表=课程名+学生姓名+学号+班级名称+总人数+授课地 点+授课时间 位置:个别课程学生情况表授课学生查询处理 | 打印处理 数据项名 类型 长度 课程名 字符型 10 学生姓名 字符型 8 学号 字符型 8 班级名称 字符型 10 总人数 数值型 3 授课地点 字符型 20 授课时间 日期型 数据项名 类型 长度 课程名 字符型 10 学生姓名 字符型 8 学号 字符型 8 班级名称 字符型 10 总人数 数值型 3 授课地点 字符型 20 授课时间 日期型 计算机科学与技术毕业论文 17 第四章 总体设计 总体设计的基本目标是如何解决问题,通过这个阶段的工作,设计人员将划 分出组成系统的物理元素总体设计的另一项任务是确定软件结构,即确定系统中 的每一个程序由哪些模块组成以及模块和模块之间的关系. 4.1 系统功能划分 这套学生自动选课系统,可以供学生在网上直接自主的进行选课,具体有以 下功能: a. 支持学生自主修改保存密码; b. 教师可添加、修改学生成绩,以及对信息的查询; c. 管理员对信息可以进行添加、修改工作; d. 学生可以查询选修课情况,并根据个人条件进行选修选修课; e. 支持学生一人选多门选修课,但是最多不能超过 3 门; f. 支持学生对选修课进行退选或补选; g. 开课前,本系统自动导入选课学生名单到学生信息中,教师可在此可 获取名单。 使用这套系统的人员有管理员 、教师和学生,他们对系统有不同的使用权 限。 1、管理员可以进行使用权限的设置,只有拥有正确的用户名和相应的密 码 的人,才可以使用系统并访问 系统中的资源;可对学生的基本信息进行管理,学生个人密码遗忘,管理员可 取回学生密码。 2、教师可对全体选课学生进行查询,及所有选课情况,以及对学生成绩 的添加和修改权限。 3、学生只能进入自己的档案,进行个人选课、查询以及个人密码的修改 工作。 本系统在实行过程中,在时间上分三个阶段来实行: 第一阶段:为选课阶段,这一阶段学生不能有退课权利,只能进行选课; 第二阶段:为可退选阶段,在这一阶段学生既可以选课,也可以进行退选课 程; 计算机科学与技术毕业论文 18 第三阶段:为确定阶段,在这一阶段里,学生既不能再进行选课,也不可再 退选,即所选课程已确定。 这三个阶段实行日期由管理员所确定。 4.2 模块功能化分 对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到我所 负责的模块的功能层次图如图 4.1 所示。 4.1 细化的功能层次图 我负责设计的是登陆管理、管理员操作、教师操作三个模块. 学生自动选课系统 管 理 员 操 作 设 置 登 陆 管 理 设 置 登 陆 处 理 注 册 用 户 修 改 密 码 添 加 修 改 查 询 学 生 档 案 信 息 添 加 修 改 查 询 教 师 信 息 添 加 修 改 查 询 选 修 课 信 息 设 定 选 课 时 间 段 教 师 操 作 设 置 查 询 信 息 添 加 成 绩 修 改 成 绩 学 生 选 课 设 置 计算机科学与技术毕业论文 19 a.在登陆管理设置模块中,实现了登陆处理、注册用户、修改密码功 能。 b.管理员操作设置模块实现的功能有:对学生档案信息,以及教师基 本信息和选修课信息的添加、修改、查询;对选课时间段的设定。 c.教师操作设置模块实现的功能:教师对个人信息、以及所授课程的 学生信息的查询,和添加和修改学生成绩的功能。 通过对所负责模块功能的细化,可以对这些模块的数据流图进行进一步的 细化,得到第三层数据流图如图 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 授课学生情 况查询处理 计算机科学与技术毕业论文 20 图 4.2第三层数据流图 最后得到细化数据流图如图 4.3 所示: 教师 教师登陆处理 教师登 陆信息 教师基本 信息查询 处理 成绩输 入处理 学生信 息表 授课学生 情况查询 处理 个别课程学 生情况表 打印处理 个别课程学 生情况表 学生信 息表 学生信 息表 管理员登 陆信息 管理员登陆处理 管理员 必修课表处理 必修课信 息表 选修课表处理 选修课 信息表 教师信 息处理 学生信息 处理 学生档案 信息表 教师基本 信息 计算机科学与技术毕业论文 21 图 4.3细化数据流图 4.3 概念模型 cdm 4.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)联系, 多对多(many to many)联系。 在熟悉了 cdm 的理论基础以后,在创建 cdm 时,应该明确模型所描述的 业务问题。 4.3.2 系统 cdm 模型的建立 该概念模型如图 4.4 所示 ,反映了网络环境下的学生自动选课系统中的 各实体之间的联系,它把用户的数据要求清楚的表达出来,即系统需要那些数据、 数据之间是什么联系、数据本身有什么性质、数据的结构是什么等都有清楚的表 达。 系统的概念模型(cdm)如图 4.4 所示: 计算机科学与技术毕业论文 22 图 4.4 系统的概念模型 cdm 4.4 系统 pdm 的建立 4.4.1 数据结构设计 数据结构设计主要是利用软件分析设计工具 power designer 来设计系 统的数据存储结构。该工具用图表化的形式来描述数据之间的关系,这样不 仅形象直观,而且便于与用户和程序员进行交流。通过该工具设计出的系统 物理数据模型可以通过该工具提供的与数据库的接口,直接生成数据库表, 计算机科学与技术毕业论文 23 而不用在数据库管理系统中建立数据表。下面介绍一下该系统的数据结构模 型(物理数据模型 pdm) 。 4.4.2 数据库 pdm 模型的建立 建立 pdm 模型有四种方法,分别为:使用设计环境直接建立 pdm;从 现存数据库或数据库 sql 脚本逆向工程建立 pdm;从 cdm 采用内部模型 生成的方法建立 pdm;从面向对象模型(oom)中的类图采用模型的内部 生成方法建立 pdm。本系统采用的是第三种方法生成的 pdm 模型。该系统 的 pdm 模型如图 4.5 所示: usna = usna teanum = tea_teanum coursno = coursno teacno = teacno password1 = password1 username = adm_username username = username username = username username = username tea_usna = tea_usna tea_tea_teanum = tea_tea_teanum tea2_teano = tea2_teano usna = usna tea_teanum = tea_teanum teanumber = teanumber counum = spe_counum usna = tea_usna tea_teanum = tea_teanum teano = tea2_teano usna = usna teanum = tea_teanum stu_teacno = stu_teacno password1 = password1 stu2_studno = stu2_studno no = no stunum = stunum stu_teacno = stu_teacno password1 = stu_password1 studno = stu2_studno teacno = stu_teacno password1 = password1 usna = tea_usna tea_teanum = tea_tea_teanum teano = tea2_teano stu_teacno = stu_stu_teacno password1 = stu_password1 stu2_studno = stu2_studno no = stu_no stunum = stu3_stunum stu_teacno = stu_teacno password1 = password1 studno = stu2_studno no = no coursno = coursno stu_teacno = stu_teacno password1 = password1 studno = studno no = no stu_teacno = stu_stu_teacno password1 = stu_password1 studno = stu2_studno no = no stu_teacno = stu_teacno password1 = password1 studno = studno adminie usernamechar(8) passwordchar(6) access specoustuinstancetab teanumber counumsmallint couchar(10) stnachar(8) numberchar(8) clanachar(10) stunonumeric(3) plachar(20) tidate teanamechar(8) tea_usnachar(8) tea_tea_teanuminteger tea2_teanochar(8) usnachar(8) tea_teanuminteger stuscoreinteger teacher usnachar(8) teanuminteger passchar(6) acc tea_usnachar(8) tea_teanuminteger tea2_teanochar(8) teabasicinttab teanochar(8) usnachar(8) tea_teanuminteger teanamechar(8) teaagechar(2) courchar(10) teachingplacechar(20) teachingtimedate adm_usernamechar(8) selifotab coursnointeger studentnonumeric ternamchar(8) lesterdate lestimetimestamp coursenamevarchar(20) usernamechar(8) reqcourifotab cournointeger stunuminteger cournamechar(18) studentno2numeric lecteachar(8) courtermtime timetimestamp stu_teacnochar(6) password1char(6) stu2_studnointeger nointeger usernamechar(8) stuarcinftab stunamechar(8) nointeger stu_teacnochar(6) password1char(6) stusexchar(2) studnointeger stunatvarchar(20) birthdate studepvarchar(20) stuclavarchar(20) stu_stu_teacnochar(6) stu_password1char(6) stu2_studnointeger usernamechar(8) stuifotab nointeger teanumber spe_counumsmallint sexchar(8) depvarchar(20) clavarchar(20) coursename2varchar(20) coursnuminteger resultdecimal(4) stu_teacnochar(6) password1char(6) studnointeger stu_stu_teacnochar(6) stu_password1char(6) stu2_studnointeger stu_nointeger stu3_stunuminteger tea_usnachar(8) tea_tea_teanuminteger tea2_teanochar(8) usnachar(8) tea_teanuminteger stucoursetab stunuminteger nointeger coursnuminteger studentno3numeric ternam2char(8) lester2date lestime2timestamp stu_teacnochar(6) password1char(6) stu2_studnointeger student teacnochar(6) password1char(6) stnamchar(8) acces stu_teacnochar(6) stu_password1char(6) stu2_studnointeger courseno stu_teacnochar(6) password1char(6) studnointeger nointeger coursnointeger xuanxiu teacnochar(6) password1char(6) coursnointeger 计算机科学与技术毕业论文 24 图 4.5 系统的物理模型 4.5 e-r 模型 对所负责的子模块:管理员模块、教师模块的 e-r 模型如图 4.6 所示: n m m n n m 图 4.6 子模块 e-r 模型 4.6 数据库设计 在一个系统中占有非常重要地位,数据库结构设计的好坏将直接对应系 统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存 储的效率,保证数据完整性和一致。另外合理的数据库结构非常有利于程序 的实现。 针对学生自动选课系统的需求,通过对学生选课的工作过程的内容和数 据流程分析,设计如下的数据项和数据结构: 管理员 姓名 编号 教师 已开课程 规定 课程 名称 课程 编号 主讲 教师 授课 地点 授课时间 输 入 姓名 编号 教授 性别 教龄 计算机科学与技术毕业论文 25 studentinfo(学生档案信息表):包括的数据项有:学号、姓名、性别、出 生年月、系别、所在专业、班级、籍贯、备注; teacherinfo(教师基本信息表):包括的数据项有:教师编号、教师姓名、 性别、教龄、所授课程、课程号、授课地点、授课时间、 备注; userinfo(用户登陆信息表):包括的数据项有:user- id、username、password、purview-level、usertype; students(学生选课信息表):包括的数据项有:student-num、student- name、student-sex、select-course、course- id、remark; select-courseinfo(选修课信息表):包括的数据项有:课程号、课程名、 主讲教师、上课时间、上课地点、学生人数; scores(成绩表):包括的数据项有:id、student-id、course- id、score; interval(选课时间段表):包括的数据项有:begin-time、end-time; 计算机科学与技术毕业论文 26 第五章 详细设计 详细设计阶段的根本目标是确定怎样具体实现所需要求的系

温馨提示

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

评论

0/150

提交评论