为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

管理信息系统课程设计

2011-11-21 24页 pdf 516KB 248阅读

用户头像

is_204047

暂无简介

举报
管理信息系统课程设计 管管理理信信息息系系统统课课程程设设计计 《《学学校校教教育育信信息息管管理理系系统统》》 学学生生姓姓名名:: 严昀 严昀 .. 所所在在班班级级:: 02 计教 02 计教 .. 学学 号号:: 38 38 .. 指指导导教教师师:: 邹永林 邹永林 .. 学校教育信息管理系统 ...
管理信息系统课程设计
管管理理信信息息系系统统课课程程设设计计 《《学学校校教教育育信信息息管管理理系系统统》》 学学生生姓姓名名:: 严昀 严昀 .. 所所在在班班级级:: 02 计教 02 计教 .. 学学 号号:: 38 38 .. 指指导导教教师师:: 邹永林 邹永林 .. 学校教育信息管理系统 1 1 目目目录录录 第一章 概述 .............................................................................................................................................................1 第一节 背景.................................................................................................... 1 第二节 可行性分析........................................................................................ 1 第二章 系统分析和设计..........................................................................................................................................2 第一节 系统结构总框图................................................................................ 2 第二节 系统开发环境.................................................................................... 3 一、ADO................................................................................................................ 3 二、VB6.0.............................................................................................................. 4 第三节 学籍管理系统的概要设计................................................................ 4 一、模块的划分及功能描述................................................................................. 4 二、数据字典的描述 ............................................................................................ 5 三、系统总体流程图 ......................................................................................... 13 第四节 系统程序详细设计.......................................................................... 13 一、院校代码 ...................................................................................................... 13 二、课程基础录入管理....................................................................................... 16 三、班级代码管理 .............................................................................................. 16 四、班级课程设置 .............................................................................................. 19 第五节 部分程序源代码.............................................................................. 19 一、DataGrid控件改变过程代码........................................................................ 19 二、Seekrecord代码 ............................................................................................ 20 三、窗体初始化代码:....................................................................................... 21 结束语 .....................................................................................................................................................................22 参考文献 .................................................................................................................................................................22 学校教育信息管理系统 1 1 第一章 概述 第一节 背景 在学校,尤其是在各大高校,有关教育的各类信息是学校的一项重要的数据资源,并 且各类教育信息的管理也是学校的一项常规的重要工作。而长期以来,各类教育信息的 管理都依赖人工进行,面对如此众多的信息,其工作量可想而知。不仅浪费了大量的人 力物力,而且由于人工管理存在着大量的不可控因数,造成了学校对各类信息管理的不 ,使得学校的信息管理陷入了“事倍功半”的地步。 本系统针对高校现在信息管理的弊端,根据学校教育的基本流程,实现信息管理的 电子化,减轻管理人员的负担,从而实现一个完善的高校信息管理系统。借助计算机, 管理人员能够很好的对现有的学生,老师,教学资源等的管理,同时可以避免以前由于 误操作而引起的错误。 根据成人高校的实际情况,结合学校信息管理的实际需要,本系统由以下几部分组 成: 1. 系统设置 2. 学籍管理 3. 成绩管理 4. 教务管理 5. 考务管理 6. 教师管理 7. 教学资源管理 8. 各类信息的打印 第二节 可行性分析 学籍管理涉及的学生人数较多,数据输入量大而且频繁。学籍关系到学生的学业、 更关系到学生的将来,对于学生学籍的数据,一定要保证它的安全性。学籍管理的所有 事务都是围绕数据库来进行的,包括学籍信息的插入、修改、异动情况的处理、学生成 绩的输入、修改、查询以及学生、班级、学校基本信息的查询,还包括从文件中导入数 据进数据库、从数据库中导出数据至文件等。采用数据库管理系统可以解决数据的并发 行性、减少冗余的数据,满足学校对数据的不同要求及不同的修改查询权限。根据学校 要求,考虑安全性,本系统为单机版,并能至少用软盘实现教委和学校间的交流。 学校教育信息管理系统 第二章 系统分析和设计 第一节 系统结构总框图 图 2-1 系统框图 2 2 学校教育信息管理系统 第二节 系统开发环境 结合所要开发的系统特点,本系统将采用 VB6.0 中文版来作为开发工具,后台数据 库采用 Access 2000,数据库连接采用 ADO 方式。 一、ADO ADO 是OLEDB的高层界面,它或多或少扮演 RDO 对 ODBC API 同样的角色。 如同 ODBC API,OLE DB 是一个底层的不容易被高级语言所访问的界面。ADO 有许多 相似于 RDO 的能力:都可以进行异步查询、连接和开放式批处理。ADO 添加了基于文 件和独立的 Recordset、分层结构 Recordset 等的新特性。 ADO 最重要的特色在于它的扩展性。不同于 DAO 和 RDO 的复杂的单一结构,ADO 有很少几个可以与多种方法结合的对象。新的特色可以以 OLE DB 提供者的形式添加到 ADO,例如 MSDataShape 提供者可以提供分层结构 Recordset 对象给其他提供者,新的 ADO 库包括对 Data Definition Language(即新的数据库表、用户、用户组的创建)、Jet 复制和多维 Recordset 的支持。 相对于 DAO 或 RDO 对象而言,可以认为 ADO 的体系结构比较简单,但是尽管 ADO 对象模型比 DAO 和 RDO 有更少的对象和集合,但是通常这些元素却比 DAO 和 RDO 中的相应内容更复杂,因为它们有更多可用的方法和可设置的属性。ADO 中有事 件的对象很少,并且 DAO 中不支持这些对象。 图 x 中列出了全部的 ADO 对象模型,ADO 有三个主要的独立对象 Recordset、 Connection、和 Command 对象。 ADO2.0 对象模型 每个对象还有两个集合。Recordset、Connection、和 Command 对象相互联系不明 3 3 学校教育信息管理系统 4 4 确,在运行代码时才创建它们之间不明确的关系。这种创建数据库对象之间相互关系的 能力使得用户可以获得空前的灵活性,这是 DAO 和 RDO 模型所没有的。 二、VB6.0 VB6.0 增加了许多新的特性,其中许多都是和数据库相关的,这些特性为简单高效 的开发与数据库相关的应用程序提供了极大的方便。 1、具有面向对象的可视化设计工具 在 VB 中,应用面向对象的程序设计方法(OOP),把程序和数据封装起来视为一 个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计的要求, 直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置 属性。 2、事件驱动的编程机制 事件驱动是非常适合图形用户界面的编程方式。事件掌握着程序运行的流向,每个 事件都能驱动一段程序的运行。程序员只需编写响应用户动作的代码,而各个动作之间 不一定有联系。这样的应用程序代码一般较短,所以程序既易于编写又易于维护。 3、提供了易学易用的应用程序集成开发环境 在 VB 集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序 编译成可执行文件在 Windows 中运行,使用户在友好的开发环境中工作。 4、结构化的程序设计语言 VB 具有丰富的数据类型和结构化程序结构,而且简单易学。 5、支持多种数据库系统的访问 利用数据控件可访问的数据库系统。如:Access、FoxPro、 Excel 和 Lotusl-2-3 等 多种电子表格 6、支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入(OLE)技术 7、完备的 Help 联机帮助功能 第三节 学籍管理系统的概要设计 一、模块的划分及功能描述 1.系统设置 (1)系统权限设置。本系统的用户分为四类:系统管理员,普通管理员,教师和 学生。系统管理员具有最高的权力,可对系统中所有的教师、学生、管理员的信息进行 浏览、查找、而且可以添加、编辑和删除教师和学生;普通管理员次之;教师类的用户 是指当前系统中所有的教师,其用户名为教师姓名,而密码为教师的工号,教师类用户可 以管理其教授的班级课程信息;学生类的用户是指当前系统中所有的学生,其用户名为学 生姓名,而密码为学生的 ID 号,该类用户只能对其自身的信息进行浏览,不具有查找其 他人员信息的权限,也不能对自身和其他人的信息进行管理。 (2)基础数据添加和修改:班级的设置:班级代码,学校名称,院系名称,年级 名称,专业名称。班级课程的设置:课程代码,课程类别,考核类别。学期年度的设置; 教师设置;教室设置; 2.学籍管理 (1)全面掌握学生信息的基本情况,其中包括考试号,学生姓名,班级代码,学生 学号,出生日期,身份证号,性别,家庭住址,单位名称,单位地址,家庭电话,单位 电话,移动电话,Email,照片等 (2)基于权限的管理。本系统可以同时提供系统管理员、普通管理员、教师和学 学校教育信息管理系统 5 5 生使用。但对于学生类而言,只能查看其本人的信息;对于管理员而言,能够浏览、查 找其所管理的信息;对于老师类,能够查看其所教授班级的学生信息。 (3)灵活提供浏览和查询功能。可以查看某个班级所有的学生的信息,也可以对 各类学籍信息进行添加、编辑和删除等操作。 (4)可以对学生的学籍进行变动管理,对学籍信息进行添加、编辑和删除等操作。 (5)可以将学生的基本信息生成报表,并打印。 3.成绩管理 (1)掌握学生每门课程的成绩,并在数据库中,以便查询。 (2)分权限管理。在成绩管理中,教师可以对所教授的课程任何一个学生的成绩 进行添加、删除、修改和查询等的管理;但对学生类,它只能对自己的成绩进行查看, 而且不能进行修改。 (3)可以针对某一门课程进行学生及其成绩生成报表,并打印。 (4)可以正对某一学生的所有课程及其对应的成绩生成报表,并且打印。 4.教务管理 (1)掌握学校所有的班级课程和教师信息。包括班级课程的上课时间、上课教室、 任课老师工号、姓名、使用的教材等。 (2)提供灵活的浏览和查找功能。可以查看某个班级的所有课程的信息,可以对 课程信息提供查找。 (3)可以对课程信息和教师信息进行删除和编辑。 (4)可以对课程进行变动管理,手工排课,并实现尽可能的自动排课功能。 5.考务管理 (1)掌握学校所有的班级课程考试和监考教师信息。包括班级课程考试的时间、 监考老师工号、姓名、使用的教室等。 (2)提供灵活的浏览和查找功能。可以查看某个班级的所有考试课程的信息,可 以对考试课程信息提供查找。 (3)可以对考试课程、考试时间、监考教师和考试教室进行删除和编辑。 (4)可以对考试课程、考试时间、监考教师和考试教室进行变动管理,手工排考, 并实现尽可能的自动安排考试功能。 6.教师管理 (1)掌握全校每个教师的基本情况。其中包括教师工号、教师姓名、所属院系、 出生日期、性别、学历、职称、家庭地址、电话、简历等 (2)要求在系统中能够对教师信息进行灵活的浏览,能够将教师信息按所在的院 系进行浏览,能够对教师信息提供模糊和精确查询 (3)可以对教师基本信息进行变动管理,对教师信息进行添加、删除和编辑等操 作。 (4)可以将教师的基本信息和教师的教授课程信息生成报表,并打印。 7.教学资源管理 其主要是对教室,实验室,计算机机房等的安排情况的检索。 8.各类信息报表的打印 其主要是可以灵活的生成各种报表及一些特殊表格。 二、数据字典的描述 表一 schoolcode(学校名称代码表) 学校教育信息管理系统 6 6 字段名称 数据类型 字段大小 必填字段 允许空字符索引 YXDM 院校代码 文本 5 是 否 有(无重复) YXMC 院校名称 文本 40 是 否 无 YXJC 院校简称 文本 10 是 否 无 YXJJC 院校简简称 文本 4 是 否 无 表二 specialtycode(专业名称代码表) 字段名称 说明 数据类型 字段大小 必填字段 允许空字符 索引 ZYDM 专业代码 文本 6 是 否 有(无重复) XNDM 校内代码 文本 2 是 否 有(无重复) ZYMC 专业名称 文本 30 是 否 无 ZYJC 专业简称 文本 10 是 否 无 表三 academycode(院系代码表) 字段名称 说明 数据类型 字段大小 必填字段 允许空字符 索引 XYXDM 学院系代码 文本 3 是 否 有(无重复) XYXMC 学院系名称 文本 16 是 否 无 表四 gradecode(年级名称代码表) 字段名称 说明 数据类型 字段大小 必填字段 允许空字符 索引 NJMC 年级名称 文本 4 是 否 有(无重复) 表五 layercod(层次代码表) 字段名称 说明 数据类型 字段大小 必填字段 允许空字符 索引 CCDM 层次代码 文本 1 是 否 有(无重复) CC 层次 文本 12 是 否 无 表六 classcode(班级代码表) 字段名称 说明 数据类型 字段大小 必填字段 允许空字符 索引 BJDM 班级代码 文本 20 是 否 有(无重复) YXDM 院校代码 文本 6 是 否 有(有重复) XYXDM 学院系代码 文本 3 是 否 有(有重复) NJDM 年级代码 文本 4 是 否 有(有重复) ZYDM 专业代码 文本 6 是 否 有(有重复) BJ 班级 文本 1 是 否 无 XZ 学制 文本 3 是 否 无 CCDM 层次代码 文本 1 是 否 无 CC 层次 文本 12 是 否 无 XXXS 学习形式 文本 8 是 否 无 RS 人数 数字 整型 小数自动 是 无 学校教育信息管理系统 7 7 表七 studentnew(新生资料表) 字段名称 说明 数据类型 字段大小 必填字段 允许空 字符 索引 AUTO 自动编号 自动编号 长整型 * LQSF 录取省份 文本 12 否 是 无 * LQNF 录取年份 文本 4 否 是 无 * YXDM 院校代码 文本 5 否 是 无 * YXMC 院校名称 文本 40 否 是 无 *+ KSH 考生号 文本 20 是 否 有(无重复) + ZKZH 成考准考证号 文本 20 是 否 有(无重复) *+ XM 姓名 文本 30 是 否 无 + XBDM 性别代码 文本 1 是 否 无 * XB 性别 文本 2 否 是 无 *+ SFZH 身份证号码 文本 18 是 否 无 *+ CSRQ 出生日期 日期/时间 长日期 否 无 * ZYDM 专业代码 文本 6 否 是 无 * ZYMC 专业名称 文本 30 否 是 无 + CCDM 层次代码 文本 1 是 否 无 * CC 层次 文本 12 否 是 无 * XZ 学制 文本 3 否 是 无 * XXXS 学习形式 文本 8 否 是 无 * PRN 打印序号 文本 4 否 是 无 BJDM 班级代码 文本 20 否 是 有(有重复) XSXH 学生学号 文本 14 否 是 无 JG 籍贯 文本 12 否 是 无 MZ 民族 文本 8 否 是 无 ZZMM 政治面貌 文本 8 否 是 无 RXRQ 入学日期 日期/时间 长日期 否 无 RXXL 入学学历 文本 6 否 是 无 + YZBM 邮政编码 文本 6 否 是 无 + LXDH 联系电话 文本 20 否 是 无 + TXDZ 通信地址 文本 30 否 是 无 + ZF 入学成绩总分 数字 单精度型 否 有(有重复) + PXZF PX 总分 数字 单精度型 否 有(有重复) + LQZYSXDM 文本 7 是 否 无 学校教育信息管理系统 8 8 + LQZY 录取专业 文本 10 是 否 有(有重复) 说明: 带*号为产生新生资格审查报盘数据表时必须字段,带+号为从成人高考录取名单 DBF 数据库中可以导入的关键字段 表八 student(学生档案资料表) 字段名称 说明 数据类型 字段大小 必填 字段 允许空 字符 索引 AUTO 自动编号 自动编号 长整型 LQSF 录取省份 文本 12 是 否 无 LQNF 录取年份 文本 4 是 否 无 * YXDM 院校代码 文本 5 是 否 无 * YXMC 院校名称 文本 40 是 否 无 * KSH 考生号 文本 20 是 否 有(无重复) ZKZH 成考准考证号 文本 20 是 否 无 * XM 姓名 文本 8 是 否 无 CYM 曾用名 文本 8 否 是 无 XBDM 性别代码 文本 1 是 否 无 * XB 性别 文本 2 是 否 无 * SFZH 身份证号码 文本 18 是 否 无 * CSRQ 出生日期 日期/时间 长日期 否 无 * ZYDM 专业代码 文本 6 是 否 无 * ZYMC 专业名称 文本 30 是 否 无 CCDM 层次代码 文本 1 是 否 无 * CC 层次 文本 12 是 否 无 XZ 学制 文本 3 是 否 无 * XXXS 学习形式 文本 8 是 否 无 BJDM 班级代码(就读) 文本 20 是 否 有(有重复) XSXH 学生学号 文本 14 是 否 有(无重复) JG 籍贯 文本 12 否 是 无 MZ 民族 文本 8 否 是 无 ZZMM 政治面貌 文本 8 否 是 无 HF 婚否 文本 4 否 是 无 * RXRQ 入学日期 日期/时间 长日期 否 无 RXXL 入学学历 文本 6 否 是 无 ZF 入学成绩总分 数字 单精度型 否 无 JYDZ 家庭地址 文本 30 否 是 无 DWMC 单位名称 文本 20 否 是 无 学校教育信息管理系统 9 9 DWDZ 单位地址 文本 30 否 是 无 YZBM 邮政编码 文本 6 否 是 无 JTDH 家庭电话 文本 20 否 是 无 DWDH 单位电话 文本 20 否 是 无 YDDH 移动电话 文本 20 否 是 无 WXSH 无线市话 文本 20 否 是 无 email Email 文本 20 否 是 无 XJQK 学籍情况 文本 4 是 否 无 XJSZBJ 学籍所在班级 文本 20 否 是 无 * BJYJL 毕结业结论 文本 4 否 是 无 * BYRQ 毕业日期 日期/时间 长日期 否 无 BYXL 毕业学历 文本 6 否 是 无 BYXW 毕业学位 文本 4 否 是 无 * ZSBH 证书编号 文本 18 否 是 无 * FZRQ 发证日期 日期/时间 长日期 否 是 无 * YXXMC 原学校名称 文本 40 否 是 无 * YZSBH 原证书编号 文本 15 否 是 无 * XZXM 校长姓名 文本 10 否 是 无 BDLXDM 变动类型代码 文本 1 是 否 无 BDLX 变动类型 文本 12 否 是 无 FREE1 自定义一 文本 10 否 是 无 FREE2 自定义二 文本 10 否 是 无 BZ 备注 备注 否 是 说明: 带*号为产生成人高等教育专业证书后学历证书电子注册数据表时必须字段 表九 studentstatus(学籍异动表) 字段名称 说明 数据类型 字段大小 必填 字段 允许空 字符 索引 AUTO 自动编号 自动编号 长整型 * LQSF 录取省份 文本 12 是 否 无 * LQNF 录取年份 文本 4 是 否 无 * KSH 考生号 文本 20 是 否 有(无重复) BJDM 班级代码 文本 20 是 否 有(有重复) XSXH 学生学号 文本 14 是 否 无 * XM 姓名 文本 8 是 否 无 XBDM 性别代码 文本 1 是 否 无 * XB 性别 文本 2 是 否 无 * SFZH 身份证号码 文本 18 是 否 无 * CSRQ 出生日期 日期/时间 长日期 否 无 CCDM 层次代码 文本 1 是 否 无 学校教育信息管理系统 10 10 * CC 层次 文本 12 是 否 无 * BDLXDM 变动类型代码 文本 1 是 否 无 * BDLX 变动类型 文本 12 是 否 无 * ZCYXDM 转出院校代码 文本 5 否 是 无 * ZCYXMC 转出院校名称 文本 40 否 是 无 * ZCZYMC 转出专业名称 文本 40 否 是 无 * ZCXZ 转出专业学制 文本 3 否 是 无 * ZCXXXS 转出专业学习形式 文本 8 否 是 无 * ZRYXDM 转入院校代码 文本 5 否 是 无 * ZRYXMC 转入院校名称 文本 40 否 是 无 * ZRZYMC 转入专业名称 文本 40 否 是 无 * ZRXZ 转入专业学制 文本 3 否 是 无 * ZRXXXS 转入专业学习形式 文本 8 否 是 无 说明: 带*号为产生高校在校学生学籍变动报盘数据表时必须字段 表十 score(学生成绩表) 字段名称 说明 数据类型 字段大小 必填字段 允许空字符 索引 KSH 考生号 文本 20 是 否 有(有重复) BJDM 班级代码 文本 20 是 否 有(有重复) XSXH 学生学号 文本 14 是 否 有(有重复) XM 学生姓名 文本 8 是 否 无 BJKCDM 班级课程 文本 24 是 否 有(有重复) KCJC 课程简称 文本 12 否 是 无 CJ 成绩 文本 5 是 否 无 XF 学分 文本 2 否 是 无 SFBK 是否补考 是/否 是/否 否 无 BKCJ 补考成绩 文本 5 否 是 无 BZ 备注 备注 否 是 表十一 coursecode(课程名称代码表) 字段名称 说明 数据类型 字段大小 必填字段 允许空字符 索引 KCMCDM 课程名称代码 文本 4 是 否 有(无重复) KCQC 课程全称 文本 20 是 否 无 KCJC 课程简称 文本 10 是 否 无 表十二 coursesort(课程类别表) 字段名称 说明 数据类型 字段大小 必填字段 允许空字符 索引 KCLB 课程类别 文本 12 是 否 有(无重复) 表十三 courseexamsort(课程考核类别表) 学校教育信息管理系统 11 11 字段名称 说明 数据类型 字段大小 必填字段 允许空字符 索引 KCKHLB 课程考核类别 文本 8 是 否 有(无重复) 表十四 termcode(学期年度代码表) 字段名称 说明 数据类型 字段大小 必填 字段 允许空 字符 索引 XQDM 学期代码 文本 6 是 否 有(无重复) XQNF 学期年份 文本 4 是 否 无 XQ 学期 文本 2 是 否 无 QSRQ 起始日期 日期/时间 长日期 是 无 JSRQ 结束日期 日期/时间 长日期 是 无 表十五 classcourse(班级课程安排总表) 字段名称 说明 数据类型 字段大小 必填 字段 允许空 字符 索引 BJKCDM 班级课程代码 文本 24 是 否 有(无重复) BJDM 班级代码 文本 20 是 否 有(有重复) KCMCDM 课程名称代码 文本 4 是 否 有(有重复) KCLB 课程类别 文本 12 是 否 无 KCKHLB 课程考核类别 文本 8 是 否 无 XQND 学期年度 文本 6 是 否 有(有重复) XF 学分 文本 2 是 否 无 ZJXS 总计学时 数字 整型,小数自动 否 无 LLXS 理论学时 数字 整型,小数自动 否 无 SJXS 实践学时 数字 整型,小数自动 否 无 BXQXS 本学期学时 数字 整型,小数自动 否 无 JCMC 教材名称 文本 30 否 是 无 JCZB 教材主编 文本 20 否 是 无 CBDW 出版单位 文本 30 否 是 无 CBSJ 出版时间 日期/时间 长日期 否 无 JCSH 教材书号 文本 15 否 是 无 JCSL 教材数量 数字 整型,小数自动 否 无 RKJS 任课教师 文本 10 否 是 无 BZ 备注 备注 否 是 表十六 classroomcode(教室代码表) 字段名称 说明 数据类型 字段大小 必填 字段 允许空 字符 索引 JSMC 教室名称 文本 10 是 否 有(无重复) JSRL 教室容量 数字 整型,小数自动 是 无 学校教育信息管理系统 12 12 JSLX 教室类型 文本 10 否 是 无 表十七 teacher(教师档案资料表) 字段名称 说明 数据类型 字段大小 必填字段 允许空字符 索引 JSGH 教师工号 文本 6 是 否 有(无重复) JSXM 教师姓名 文本 8 是 否 无 JSZC 教师职称 文本 10 否 是 无 JXZY 教学专业 文本 10 否 是 无 XB 性别 文本 2 否 是 无 SFZH 身份证号 文本 18 是 否 无 CSRQ 出生日期 日期时间 长日期 否 无 JG 籍贯 文本 12 否 是 无 MZ 民族 文本 8 否 是 无 ZZMM 政治面貌 文本 8 否 是 无 JTZZ 家庭住址 文本 30 否 是 无 GZYX 工作院系 文本 20 否 是 无 YXDZ 院系地址 文本 30 否 是 无 YB 邮编 文本 6 否 是 无 JTDH 家庭电话 文本 20 否 是 无 DWDH 单位电话 文本 20 否 是 无 YDDH 移动电话 文本 20 否 是 无 WXSH 无线市话 文本 20 否 是 无 Email 电子邮件 文本 20 否 是 无 BZ 备注 备注 否 是 学校教育信息管理系统 三、系统总体流程图 第四节 系统程序详细设计 根据总体设计中对基础数据的要求,即学校、班级、和班级课程的设置要求,进行 如下详细设计。 一、院校代码 1、院校代码管理流程图 13 13 学校教育信息管理系统 14 14 用户点击班级代码时弹出如下窗体: 学校教育信息管理系统 用户所进行的操作都在本窗体内完成。此窗体打开时将班级代码表中全部记录的部 分字段放如 Datagrid 中, 2、详细设计 此项功能由两个窗体完成,当用户点击 MDI 窗体中的基础设计——班级设置—— 院校代码时弹出如下的 frmSchoolcode 窗体。 此窗体由一个 DataGrid 控件和四个命令按钮构成。DataGrid 控件方便用户导航和定 位,由于考虑到此项数据的记录条数不是很多,所以没有提供查询功能。 当用户在 DataGrid 中选中某条记录按删除后,弹出确认对话框,确认后直接调用 dataenv 的 rsschoolcode 的 delete 方法删除该记录。 当用户按添加和修改时都是弹出如下图的 frmSchooledit 窗体。在用户按添加时将 frmSchooledit 的 caption 设为添加,同时将四个文本框清空,使用户输入新记录;按修 改时将 frmSchooledit 的 caption 设为修改,同时将 DataGrid 中所选记录的各字段写入相 应的文本框中,并将院系代码文本框的 locked 属性设为 True,使用户不能修改此字段。 按确定时,首先判断院系代码文本框的 locked 属性,为 flase 时是添加,四个 文本框有没有空的,有空的就弹出错误对话框重新输入,否则就检测院系代码有没有重 复,如果都符合就调用 Addnew 和 Update 方法添加新记录;当院系代码文本框的 locked 属性为 true 的时是修改, 判断后三个文本框是否为空,然后执行 Update 进行修改。 15 15 学校教育信息管理系统 二、课程基础录入管理 本部分由课程名称类别、课程类别课程考核类别组成,考虑到这三个项目的连续性 和相关性,为方便用户输入。提供了如下的窗体界面。 此处使用了一个 SSTab 控件,包含上述的三个项目,每个项目的实现和院校代码的 实现相同,考虑到这部分数据量较少,没有提供查询功能。在这三个项目中按添加或修 改都调用同一窗体进行处理,窗体打开时修改 Caption 属性和所选项目相对应。如下图 所示。 三、班级代码管理 1、班级代码管理流程图 16 16 学校教育信息管理系统 2、 详细设计 (1)导航条的设计和实现 为了能够在众多的信息中进行浏览,需要创建导航条。本系统采用数据网格控件即 DataGrid 控件,在控件中提供班级代码、院校名和系名以方便用户查找信息。 当 DataGrid 中的内容发生变化,或用户单击 DataGrid 的当前行,或通过浏览框来 移动记录时,必须改变详细记录框中的内容。这就需要在 DataGrid 的 Change 和 RowColChange 事件中调用自定义的 seekrecord()来实现。 如果 DataGrid 所列的内容发生变化,并且新的 DataGrid 内容不为空,即 17 17 学校教育信息管理系统 18 18 DataGrid.ApproxCount>0, 则 需 要 调 用 seekrecord() 子 过 程 , 其 中 DataGrid.Columns(0).CellText(DataGrid.Bookmark)表示当前第一列的单元格的值。当 DataGrid 的当前行发生变化,即 LastRow<> DataGrid.BookMark 时也要调用 seekrecord() 过程。 seekrecord 过程的定义如下,入口参数是 sbjdm,表示需要定位的班级代码。该过 程的作用是在 DataEnv.rsclasscode 中定位到班级代码是 sbjdm 的记录,并调用 RefreshBinding()过程,将该记录的字段显示在详细信息框的各个控件中。 (2)查询框的设计和实现 考虑到班级记录的个数是很多的,即使使用了导航条,有时查起来还是很费劲的, 所以有时需要查询某一条或者符合特定条件的记录。设计中提供了院校名称和院校所在 系两个选择框,用户可以查询全部的班级信息、某个院校的全部信息、某个院校的某个 系的信息、某个系的全部信息。窗体初始化时将全部院校名称和全部系名称分别填充在 院校名称选择框和系选择框中,当用户选定某个院校后,执行多表查询语句将这个学校 的所有系名称填充在系选择框中。 当用户按查询按钮时再根据选择的条件进行动态更新 DataGrid 的内容。根据数据 库中表的结构,此处多使用了多表查询语句,主要是在以下三张表中进行查询,即 classcode、Schoolcode、academycode。由于改变了数据集的内容,所以需要调用 RefreshGrid子过程来刷新DataGrid中的内容,DataGrid中的内容由数据环境中的 classall 来决定,所以首先将 DataGrid 的 DataMember 变为空,调用 Refresh 方法,这样就可以 将 DataGrid 的内容清空,并保持 DataGrid 的布局。接着调用 DataEnv.rsclassall 的 Requery, 刷新 DataEnv.rsclassall 的内容,将 DataGrid 的 DataMembr 设为 classall,再次调用 Refresh 方法,这样就以新的 rsclassall 中的内容来填充 DataGrid 的内容。次过程结束后还应调 用 ChangeBrowState、和 DataGrid1_Change 子过程。ChangeBrowState 是根据查询得到 的数据集来控制浏览框中各按钮的属性,即在空集、指针位于数据集头部、指针位于数 据集尾部时的不同情况。 (3)浏览框的设计和实现 为了在导航条中实现记录的移动,需要提供浏览框。在浏览窗体中,调用 Dataenv.rsclasscode 的 MoveFirst、MovePrevious、MoveNext、MoveLast 来将记录移动到 第一条、上一条、下一条、和最后一条,再调用自定义的 ChangeBrowseState()来改变个 按钮的状态。其机制如下: 若没有记录,即 BOF EOF 都为 Ture,则只允许添加记录,整个浏览框不可用;若 存在记录,则可以进行添加、修改、删除,浏览框可用。 如果有记录,并且游标处于记录头部,即 BOF 为 Ture,EOF 为 false,记录不能再往 前移动了,要使 Previous 和 Frist 这两个按钮的 Enabled 的属性为 Ture,并将记录游标移 动到第一条记录处;否则将这两个按钮的 Enabled 属性设为 False。 同理当游标处于记录尾部时,控制 Next 和 Last 这两个按钮。 (4) 详细信息框的设计 设计详细信息框,来罗列班级的各种详细信息,并进行管理。 用户单击添加按钮时,在不同的表中查出各字段填充在各个 ComboList 控件中。并 将两个 Text 控件清空,等待用户输入。 学校教育信息管理系统 单击修改时,将选中记录的各个字段赋给各个控件,并在 Combolist 控件中填充同 类字段方便用户选择进行修改。 (5)删除按钮的设计思路 在删除记录之前弹出询问框,确认用户是否要删除当前记录,如果用户选择了是, 则删除记录,否则不进行任何操作。在删除记录时,调用 DataEnv.con 的 Execute 方法 来删除当前记录。删除后需要移动当前记录,由于修改了当前记录集的内容,所以需要 调用 RefreshGrid 子过程来刷新导航条中的内容。 当用户单击确定按钮时,通过一个模块变量来判断是添加还是修改,接着判断是否 有空字段,符合条件后根据各控件的值通过多表查询找出相应字段赋给 DataEnv.rsclasscode,并调用 Upate 进行更新。将各按钮的值设为初始的值。由于改变了 数据集的内容,需要调用 ChangeBrowseState 子过程作为导航条的内容,同时要调用 ChangeBrowseState 子过程以根据记录的多少来改变各按钮的状态。并且要通过刚刚添 加或修改的班级代码定位到该记录。 四、班级课程设置 此部分的设计思路和实现方法与班级代码管理相同,只是用户输入的内容有所变 化。界面如下: 详细设计可参阅班级代码管理中的讨论。 第五节 部分程序源代码 一、DataGrid控件改变过程代码 Private Sub DataGrid1_Change() If DataGrid1.ApproxCount > 0 Then Call seekrecord(DataGrid1.Columns(0).CellText(DataGrid1.Bookmark)) Else Me.Command2.Enabled = False 19 19 学校教育信息管理系统 20 20 Me.Command3.Enabled = False Me.Command4.Enabled = False Me.Frame3.Enabled = False Me.Combo1.Text = "" 'nerw Me.Combo2.Text = "" Me.Combo3.Text = "" Me.Combo4.Text = "" Me.Combo5.Text = "" Me.Combo6.Text = "" Me.Combo7.Text = "" Me.Combo8.Text = "" Me.Combo9.Text = "" Me.Text1 = "" Me.Text2 = "" End If End Sub Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer) If LastRow <> DataGrid1.Bookmark Then If DataGrid1.ApproxCount > 0 Then Call seekrecord(DataGrid1.Columns(0).CellText(DataGrid1.Bookmark)) End If End If End Sub 二、Seekrecord代码 Sub seekrecord(sbjdm As String) If DataEnv.rsclasscode.State = adStateClosed Then DataEnv.rsclasscode.Open If (Not DataEnv.rsclasscode.EOF And Not DataEnv.rsclasscode.BOF) Then Dim temp As String temp = "bjdm=" & "'" & sbjdm & "'" DataEnv.rsclasscode.MoveFirst DataEnv.rsclasscode.Find temp Call RefreshBinding End If End Sub 3 RefreshBinding 的代码如下: Sub RefreshBinding() With DataEnv.rsclasscode If DataEnv.rsclassall.BOF And DataEnv.rsclassall.EOF Then Me.Frame3.Enabled = False Else Me.Frame3.Enabled = True 学校教育信息管理系统 21 21 Me.Combo6.Text = .Fields("cc") Me.Combo5.Text = .Fields("ccdm") Me.Combo4.Text = .Fields("bj") Me.Combo8.Text = .Fields("xz") Me.Combo9.Text = .Fields("xxxs") Me.Text1 = .Fields("rs") Me.Combo7 = .Fields("njdm") Me.Text2 = .Fields("bjdm") Dim rs3 As New ADODB.Recordset Dim strSQL As String strSQL = "select schoolcode.yxmc,academycode.xyxmc,specialtycode.zymc from schoolcode,academycode,specialtycode where schoolcode.yxdm='" & .Fields("yxdm") & "' and academycode.xyxdm='" & .Fields("xyxdm") & "' and specialtycode.zydm='" & .Fields("zydm") & "'" rs3.Open strSQL, DataEnv.Con Me.Combo1.Text = rs3.Fields("yxmc") Me.Combo2.Text = rs3.Fields("xyxmc") Me.Combo3.Text = rs3.Fields("zymc") rs3.Close Set rs3 = Nothing End If End With Me.Frame1.Enabled = False 'Call disablecombo End Sub 三、窗体初始化代码 Private Sub Form_Load() On Error Resume Next With Me.DataGrid1 .Columns(0).AllowSizing = False .Columns(1).AllowSizing = False .Columns(2).AllowSizing = False .AllowRowSizing = False End With Me.Command5.Enabled = False Dim rss As New Recordset Dim rsx As New Recordset Set rss = DataEnv.rsschoolcode Set rsx = DataEnv.rsacademycode rss.Open Combo10.Clear 学校教育信息管理系统 22 22 Combo10.AddItem "全部" 'Combo10.ItemData(0) = 0 While Not rss.EOF Combo10.AddItem rss("yxmc") 'Combo10.ItemData(Combo10.ListCount - 1) = rss("yxdm") rss.MoveNext Wend rss.Close Combo10.ListIndex = 0 rsx.Open Combo11.Clear Combo11.AddItem "全部" While Not rsx.EOF Combo11.AddItem rsx("xyxmc") rsx.MoveNext Wend rsx.Close Combo11.ListIndex = 0 Call DataGrid1_Change End Sub 结束语
/
本文档为【管理信息系统课程设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索