毕业设计(论文)-VB.NET教务管理系统.doc

上传人:哈尼dd 文档编号:3943627 上传时间:2019-10-10 格式:DOC 页数:41 大小:393.50KB
返回 下载 相关 举报
毕业设计(论文)-VB.NET教务管理系统.doc_第1页
第1页 / 共41页
毕业设计(论文)-VB.NET教务管理系统.doc_第2页
第2页 / 共41页
毕业设计(论文)-VB.NET教务管理系统.doc_第3页
第3页 / 共41页
毕业设计(论文)-VB.NET教务管理系统.doc_第4页
第4页 / 共41页
毕业设计(论文)-VB.NET教务管理系统.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《毕业设计(论文)-VB.NET教务管理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-VB.NET教务管理系统.doc(41页珍藏版)》请在三一文库上搜索。

1、福州大学软件高职高专毕业设计(论文)题 目:教务管理系统姓 名:学 号:270306786专 业:03级可视化程序设计1班指导老师: 答辩时间:2006年6月摘 要教务管理系统旨在实现教务信息的数据管理,提供教务数据的管理,成绩输入,选课等功能。本论文主要介绍了系统的分析,设计和开发的全部过程。运用数据流图,ER图,程序流程图等对系统的设计过程进行详细的分析,并对数据压缩,上传与下载等技术实现进行了详尽的说明。全文共分为前言、需求分析、系统设计、开发技术、关键技术解决,结论六部分。系统采用C/S开发模式,开发工具选择VB.NET,后台数据库选用Sql Server 2000。本系统经过测试,运

2、行稳定。关键词:教务管理系统,数据库,C/S开发模式目 录前 言1第 1 章开发方案21.1项目目的21.2方案选择21.2.1数据库-Sql server 200021.2.2开发工具VB.NET2第 2 章需求分析32.1任务概述32.2需求规格说明32.2.1业务流程32.2.2功能模块42.3运行环境42.3.1设备42.3.2支持软件4第 3 章系统设计53.1指导思想53.2系统构架图53.3数据流图53.4功能模块设计63.4.4 学生信息管理模块设计说明83.4.5班级信息管理模块设计说明93.4.6课程信息管理模块设计说明113.4.7学生选课模块设计说明123.4.8课程查

3、询模块设计说明143.4.9成绩输入模块设计说明153.4.10打印成绩单模块设计说明163.5数据库设计183.5.1概念结构设计183.5.2逻辑结构设计203.5.3物理结构设计20第 4 章开发技术244.1数据库访问技术244.1.1数据访问接口244.1.2数据库组件244.2权限设计254.3成绩单的打印254.4存储过程25第 5 章关键技术解决275.1管理员登陆:275.2权限的清空与添加285.3终止选课提交成绩28第 6 章结论30致 谢31参考文献32福州大学可视化程序设计毕业论文前 言高校教务管理工作是高等学校一个极其重要的环节,是整个院校管理的核心和基础。面对种类

4、繁多的数据和报表,手工处理方式已经很难赶上现代化管理的步伐,随着计算机通信技术的飞速发展,高等教育对教务管理提出了更高的要求。教务管理工作是指学校管理人员按照一定的教育方针,运用先进的管理手段,组织,协调,指挥与指导各方面人员活动,以高效率,高质量的完成各项教学任务,完成国家所指定的教育目标。考虑到整个系统包含的内容较多,涉及面较广,因此在毕业设计中只涉及教务管理与学生选课与成绩查询等比较简单的功能模块。第 1 章 开发方案1.1 项目目的地图数据管理系统主要解决地图生产管理过程中一系列事务,实现全院地图数据共享,及时、方便的图幅上传,准确快捷的数据下载,把办公人员从繁杂的图幅数据堆中解脱出来

5、,提高了工作效率。1.2 方案选择教务管理系统是典型的的信息管理系统(MIS),其开发包括后台数据库的建立和维护以及前端应用程序的开发两个方面。我们采用Sql server 2000作为后台数据库,VB.NET作为前端应用程序开发语言。下面介绍系统开发中应用的主要技术:1.2.1 数据库-Sql server 2000关系型数据库中数据以行和列的形式存储,这一系列的行和列被称为表,一组表便组成了数据库。在关系数据库中:各数据项之间用关系来组织,关系(relationship)是表之间的一种连接,通过关系,可以更灵活地表示和操纵数据;另外,用户可以非常方便的用查询(Query)来检索数据库中的数

6、据。SQL是Client端通往Server端的桥梁,Client用SQL来象Server端发送请求,Server返回Client端要求的结果。SQL Server 是一种高效的关系数据库系统,它与Windows NT/2000及Windows 9x等操作系统紧密集成。同时SQL Server具有使用方便、可伸缩性好、与相关软件集成程度高等优点。因此,我们采用了Microsoft SQL Server 2000作为后台数据库。1.2.2 开发工具VB.NETVB.NET是一个功能强大的开发工具,支持面向对象的程序设计和用户图形界面(GUI),它是基于可视化和组件的概念而设计出来的,而且能非常方便

7、地操纵数据库,使得编译更加迅速。据统计,开发同样的数据库程序,用VB来实现时间约是VC的1/3。利用其对数据库类的包装让开发人员能方便而简洁操纵数据库,可以在短时间内建立起数据库应用管理系统。第 2 章 需求分析2.1 任务概述本系统的开发就是为了让学校教务管理更加有效,更加方便而开发的。本系统的开发运用了visual basic .net 与SQL server 2000的结合,针对学校的实际情况而开发的,适用于学校教务的管理。根据初步的调查与研究,了解了学校资源的分布,包括了学生,班级,课程考试、等信息的查询,添加,删除的管理。在系统的开发过程中,主要的技术要求包括了熟练的撑握visual

8、 这门语言的相关知识,了解VB.net的功能和特点。2.2 需求规格说明管理员登陆密码验证 管理系统的 各种操作数据库操作是否合法错误信息显示错误信息数据更新学生进入数据操作与查询提示信息显示信息帐号密码验证显示错误误信息2.2.1 业务流程2.2.2 功能模块登陆模块:功能:主要完成对登陆身份验证和窗体初始化。权限管理模块:功能:添加注销管理员信息和修改管理员密码。班级信息管理模块:功能:完成对班级信息的添加、插入、更改和删除操作。学生信息管理模块:功能:完成对学生信息的添加、插入、更改和删除操作。课程信息管理模块:功能:完成对课程信息的添加、插入、更改和删除操作。学生选课模块:功能:完成对

9、课程的选取和查询选取,删除并且显示课表。课程查询模块:功能:完成显示学生课表的功能。成绩输入模块:功能:完成对所选课程成绩输入的功能。打印成绩单模块:功能:完成对成绩单的打印。2.3 运行环境2.3.1 设备CPU:AMD 2000+ ;内存:512 M;2.3.2 支持软件操作系统:Windows XP/2000/NT/98数据库: Sql server 2000;开发工具:VB.NET第 3 章 系统设计3.1 指导思想系统功能设计必须符合用户提出的合理需求,实现教务管理系统的总体目标。系统设计在不违反系统整体性的基础上,可按用户要求的功能开发进度进行调整,以满足用户的需要。学生数据集类管

10、理员3.2 系统构架图数据库访ADO.netSQL SERVER 2000数据库管理员1.1身份验证管理员信息 错误信息1.2 更新数据库D 教务信息数据库教务信息学生2.2信息查询与数据操作查询信息退出2.2身份验证错误信息管理员信息3.3 数据流图3.4 功能模块设计3.4.1功能模块说明教务管理系统分为登陆模块、权限管理模块、学生信息管理模块、班级信息管理模块、课程信息管理模块、学生选课模块、课程查询模块、成绩输入模块和打印成绩单模块九个模块。以下是各个模块设计的详细说明3.4.2 登陆模块设计说明:(1)功能:主要完成对登陆身份验证和窗体初始化。(2)输入、输出数据和涉及到的数据库表:

11、输入:管理员,学生的帐号和密码。输出:操作成功提示信息和错误信息。涉及到的表:用户清单(3)功能结构图:登陆模块学生登陆管理员登陆(4)程序流程图:输入登陆信息 身份验证错误信息 初始化窗体N Y3.4.3 权限管理模块设计说明(1)主要功能:管理员完成对用户权限的管理。(2)输入输出信息和涉及到的数据库表:输入:选择用户与用户权限输出:将管理员所给定的权限记录进数据库涉及到的表:权限清单。(3)功能结构图: 权限设置进入菜单栏 判断身份是否为管理员N Y 权限设置模块未能激活3.4.4 学生信息管理模块设计说明(1) 功能:主要是对学生信息进行管理。包括:学生信息录入;学生信息管理:编辑、删

12、除;学生信息查询(按班级编号,年级或班级名称分类查询);查询学生记录数目统计;(2)输入、输出数据和涉及到的数据库表:输入:学号、姓名、班级、性别、年级、政治面貌、民族、籍贯、身份证号输出:学生信息涉及到的表:学生信息、籍贯代码表、政治面貌代码表、学籍代码表、民族代码表 (3)结构功能图:学生信息管理添加学生信息修改学生信息查询学生信息删除学生信息 (4)程序流程图:进入学生信息管理菜单选择操作输入新的信息信息定位修改信息验证操作Y查询条件查询结果N错误信息更新信息3.4.5 班级信息管理模块设计说明(1) 功能描述主要是班级信息进行管理。包括:班级信息录入;班级信息管理:编辑、删除;班级信息

13、查询(按班级编号,年级或班级名称分类查询);查询班级记录数目统计;(2) 输入输出项及涉及的数据库表输入项:班级编号、年级、班级名称、班级简称、人数、辅导员输出项:班级信息涉及的数据库表:班级信息 (3) 结构功能图 班级信息管理班级管理显示班级信息添加班级信息更新班级信息删除班级信息(4)程序流程图:进入班级信息管理菜单选择操作班级管理管理类型添加班级信息信息定位修改信息操作验证N错误信息Y更新信息显示信息班级信息3.4.6课程信息管理模块设计说明(1) 功能描述主要是对班级信息进行管理。课程信息录入课程信息管理:编辑、删除;课程信息查询(按班级编号,年级或班级名称分类查询);查询课程记录数

14、目统计;(2) 输入输出项及涉及的数据库表输入项:课程编号、课程名称、课程简称、拼音码、是否为本学期课程、教师、开课系别、学分输出项:课程信息涉及的数据库表:课程信息(3) 结构功能图科目添加科目显示科目删除科目查找科目(4)程序流程图:进入课程管理菜单选择操作操作库中学科信息操作验证N错误信息Y数据更新显示学科信息学科信息3.4.7学生选课模块设计说明主要是实现学生选课功能。(1) 功能描述通过输入学号进行学课;通过输入课程信息对所选课程进行查询(按课程拼音,课程名称,课程编号,课序号进行查询);对所选课程进行修改与删除;显示课表;(2) 输入输出项及涉及的数据库表输入项:学号、课程拼音、课

15、程名称、课程编号、课序号 输出项:已选课程、课程信息、课程表涉及的数据库表:选课表、课程表、课程信息学号(3) 功能结构图查询课程信息显示课表删除选课科目查询已选课程添加选课科目学号验证学号N错误信息选课信息学生信息Y选课操作查询选课添加选课删除选课验证操作更新数据库错误信息YN程序流程图:课程信息输入显示课程选课信息操作删除选课记录选课显示课表更新数据库3.4.8课程查询模块设计说明(1) 功能描述主要实现对课表查询功能(2) 输入输出项及涉及的数据库表输入项:学号输出项:课程表涉及的数据库表: 选课表 课程表结构功能图:学号显示课程表程序流程图:学号验证学号错误信息YN显示课程表3.4.9

16、成绩输入模块设计说明主要实现成绩输入功能。(1) 功能描述1 课程选择;2 程查询:根据课程拼音,课程名称,课程编号进行查询;3 成绩输入与提交;4 成绩修改;。(2) 输入输出项及涉及的数据库表输入项:课程拼音、课程编号、课程名称、成绩输出项:课程成绩涉及的数据库表:成绩表、学生信息表(3) 程序流程图终止选课课程信息查询选择课程输入成绩修改成绩Y最终提交更新数据库NNY3.4.10打印成绩单模块设计说明(1) 功能描述主要完成对成绩单进行打印。(2) 输入输出项及涉及的数据库表输入项: 学号输出项:成绩单涉及的数据库表: 学生信息、班级信息、成绩表(3) 结构功能图:学号成绩单打印(4)

17、程序流程图:输入学号验证学号N错误信息Y显示课程信息打印成绩单3.5 数据库设计3.5.1 概念结构设计通过对教务的需求进行分析,地图数据管理系统应包含以下实体:通过需求分析,教务管理系统应包含以下实体:用户:记录用户的基本信息。学生:描述学生的基本信息。班级:描述班级的基本信息。课程:描述课程的基本信息。学籍代码:描述学籍的基本信息。政治面貌代码:描述政治面貌的基本信息。民族代码:描述民族的基本信息。籍贯代码:描述籍贯的基本信息。权限:描述权限的基本信息。个实体关系用ER图描述如下:。3.5.2 逻辑结构设计通过对ER图分析,得到下列关系模式(其中下划线表示主键):用户(帐号,身份,密码)学

18、生(学号,姓名,班级编号,性别,年级,身份证号)班级(班级编号,年级,班级名称,班级简称,人数,辅导员)课程(课程编号,课程名称,课程简称,拼音码,本学期课程,教师,开课系别,学分)学籍代码(学籍编号,学籍)政治面貌代码(政治面貌编号,政治面貌)民族代码(民族编号,民族)籍贯代码(籍贯编号,籍贯)权限(权限序号,帐号,权限名称)3.5.3 物理结构设计数据库物理结构设计是在逻辑结构设计的基础上,为每个关系模式选择合适的存贮结构和存取方法,数据库采用SQL SERVER 2000。表1 数据库表说明 表 名功能说明学生信息学生信息表学籍代码表学籍代码表成绩表成绩表政治面貌代码表政治面貌代码表权限

19、清单权限清单表民族代码表民族代码表班级信息班级信息表用户清单用户清单表籍贯代码表籍贯代码表课程信息课程信息表课程表课程表选课表选课表表2 数据库表结构学生信息表:字段名数据类型是否为空说明学号varchar否主键,用于标识每个学生姓名varchar是学生姓名班级编号varchar是外键,与班级信息表中班级编号对应性别varchar是年级int是政治面貌编号varchar是外键,与政治面貌代码表中政治面貌编号对应民族编号varchar否外键,与民族代码表中民族编号对应籍贯编号varchar否外键,与籍贯代码表中籍贯编号对应身份证号varchar否学籍编号varchar否外键,与学籍代码表中学籍编

20、号对应2.学籍代码表字段名数据类型是否为空说明学籍编号varchar否主键学籍名称varchar是3.成绩表字段名数据类型是否为空说明编号int否主键学号varchar否主键,用于标识每个学生课程编号int否外键成绩int否考试次数int是是否补修varchar是是否重考varchar是是否已确定成绩varchar是4.政治面貌代码表字段名数据类型是否为空说明政治面貌编号varchar否主键政治面貌varchar是5.权限清单字段名数据类型是否为空说明权限序号int否主键帐号char是权限名称char否用来标识是否有权限6.民族代码表字段名数据类型是否为空说明民族编号Varchar否主键民族V

21、archar是7.班级信息字段名数据类型是否为空说明班级编号varchar否主键,用于标识每一班级年级varchar是班级名称varchar是班级简称varchar是人数numeric是辅导员varchar是8.用户清单字段名数据类型是否为空说明帐号char否主键身份char否密码char是9.籍贯代码表字段名数据类型是否为空说明籍贯编号varchar否主键籍贯varchar是10.课程信息字段名数据类型是否为空说明课程编号int否主键课程名称char否课程简称char否拼音码char是本学期课程char否教师char是开列系别char是学分int是11.课程表字段名数据类型是否为空说明编号i

22、nt否主键课序号varchar是课程编号int是上课时间天int是上课时间接int是上课地点varchar是12.选课表字段名数据类型是否为空说明编号int否主键学号varchar是课序号varchar是第 4 章 开发技术教务管理系统采用VB.NET作为开发工具,数据库采用SQL server 2000,在开发过程中充分利用了.NET强大的功能,方便的用户图形界面以及一套方便操纵数据库类型组件,建立数据库管理系统。4.1 数据库访问技术4.1.1 数据访问接口在本系统中,ADO.NET 为OLE DB数据提供程序提供基于COM应用程序级别的接口。ADO.NET支持各种开发需要,包括使用与关系

23、数据库和其他存储区中的数据的活连接来创建前端数据库客户端和中间层业务对象,也可构建客户端记录集、使用松耦合记录集,处理OLE DB的数据整形行集合。OLE DB是用于访问数据的重要的系统级编程接口,是ADO.NET的数据源。OLEDB是用于访问能所有类型数据的开放式标准,这些数据既包括关系数据又包括非关系数据:大型机ISAM/VSAM和分层数据库;电子邮件和文件系统存储区;文本、图形和地理数据以及自定义的业务对象。OLEDB提供对数据一致的、高性能的访问,并支持各种开发需要,包括使用与关系数据库和其他存储区中数据的活连接来创建前端数据库客户端和中间层业务对象。4.1.2 数据库组件完成此项系统

24、是ADO.NET的两个核心组件:DataSet和.NET数据提供程序,后者包括Connection和DataAdapter对象在内的组件。ADO.NET DataSet是ADO.NET的断开式核心组件。DataSet的设计目的很明确:为了实现独立于任何数据源的数据访问。因此,它可以用于多种不同的数据源,用于XML数据,或用于管理应用程序本地的数据。DataSet包含一个或多个DataTable对象的集合,这些对象由数据行和数据列以及主键,外键、约束和有关DataTable对象中数据的关系信息组成。ADO.NET结构的另一个核心元素是.NET数据提供程序,其组件的设计目的相当明确:为了实现数据操

25、作和对数据的快速、只进、只读访问。Connection对象提供与数据源的连接。Command对象使用户能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。DataAdapter提供连接Dataset对象和数据源的桥梁。 可以为任何数据源编写.NET数据提供程序。.NET框架附带了两个.NET数据提供程序:SQL Server.NET和OLE DB.NET数据提供程序。以下代码示例显示了如何将System.Data命名空间包含在应用程序中以使用ADO.NET。Imports System.Data Imports System.Data.SqlClient4.2 权限

26、设计本系统能够通过管理员登陆来设置其他用户的权限,通过功能上的限制来进行管理员与学生用户登陆时不同的操作,设计“权限清单”表进行权限的存取。系统设置管理员用户的帐号为“1”和“wengjun”,即拥有所有模块的访问权限。其他用户的权限均可由这两个用户进行设置。4.3 成绩单的打印此功能通过输入学号列出所选课程的成绩,并且进行打印。报表通过使用Crystal Reports设计。查询条件:学号。成绩单的样式如下: 打印日期 成绩单课程开课系教师成绩课程名称开课系别教师名成绩4.4 存储过程存储过程是一组T-SQL语句,它们存放在一起形成一段T-SQL程序。采用存储过程好处在于:(a)SQL存储过

27、程执行起来比SQL命令文本快得多。(b)可以在存储过程中利用Transact-SQL的强大功能。一个SQL存储过程可以包含多个SQL语句,还可以使用变量和条件。(c)调用存储过程,可以认为是一个三层结构。这样程序易于维护,如果程序需要做某些改动,只要改动存储过程即可。本系统开发中采用存储过程进行数据存储和更新,主要有:sf_提交成绩:对成绩进行最终提交。提交成绩后 成绩不可再修改 sf_终止选课:终止学生的选课活动,结算选课并开始提交成绩第 5 章 关键技术解决5.1 管理员登陆:登陆的原理就是通过文本框先读入用户输入的帐号,然后根据帐号到数据库里建立查询。如果查询到该用户的信息则从数据库中取

28、出该用户的密码,比较从数据库中读出来的密码和用户输入密码是否一致。如果二者相同,则表示输入正确,完成登陆,否则显示错误信息。具体代码如下所示:Private Sub btnSubmit_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnSubmit.Click 判断用户输入密码的合法性 If Me.UserPwd.Trim() = Me.txbPwd.Text.Trim() _ And UserPwd Then 合法用户 bResult = True Me.Close() Else 密码

29、错误 bResult = False MessageBox.Show(请确认你的用户名或密码是否正确) End If End SubPrivate Sub txbUserId_LostFocus(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles txbUserId.LostFocus 定义一个数据访问类的对象 Dim db As DataBase = New DataBase 根据输入的用户帐号进行查询 Dim dv As DataView = _ db.RunSelectSQL _ (select 密码 from 用

30、户清单 where 帐号 = _ + Me.txbUserId.Text.Trim() + ) 判断用户帐号是否存在 If dv.Count = 0 Then 用户帐号不存在 Me.txbUserId.Text = Me.txbPwd.Text = Else 用户帐号存在 UserId = Me.txbUserId.Text.Trim() 获得用户的密码级用户名 Me.UserPwd = dv.Item(0)(密码) End If 释放数据访问类的占用资源 db.Dispose() End Sub5.2 权限的清空与添加管理员进行其他用户权限的管理与选取时,需要实时对数据库进行更新。具体代码如

31、下所示:Private Sub UpdateDB() 清空用户的权限 Dim db As DataBase = New DataBase db.RunDelOrInsSQL(delete from 权限清单 where 帐号 = _ + dvUser.Item(Me.iCurrentLine)(帐号) + ) Dim iCount As Integer 添加用户权限 If Me.clbRight.CheckedItems.Count 0 Then Dim strInsSQL As String = For iCount = 0 To Me.clbRight.CheckedItems.Count

32、 - 1 strInsSQL += insert into 权限清单(帐号, strInsSQL += 权限名称) values( strInsSQL += dvUser.Item(iCurrentLine)(帐号).ToString().Trim strInsSQL += , + Me.clbRight.CheckedItems(iCount).ToString() strInsSQL += ); Next db.RunDelOrInsSQL(strInsSQL) End If db.Dispose() End Sub5.3 终止选课提交成绩本系统涉需要设置终止选课功能,终止选课后生成成绩单

33、。所有学生不能更改课程信息,如需要更改,必须单独申请并进行特殊处理。这时候需要两个存储过程分别实现结算选课与生成空白成绩单和最终提交成绩单的功能。具体代码实现如下:sf_成绩提交create proc sf_成绩提交 courseid intasbegin tran- 提交成绩,提交后不可以再修改update 成绩表 set 是否已确定成绩=Y where 课程编号=courseidand 成绩0commitGOsf_终止选课CREATE proc sf_终止选课as begin traninsert into 成绩表(学号,课程编号,成绩,考试次数,是否补修,是否重考,是否已确定成绩)sel

34、ect distinct a.学号, b.课程编号, 0, 1, N, N,N from 选课表 as a, 课程表 as b where a.课序号=b.课序号and rtrim(a.学号)+rtrim(b.课程编号) not in (select rtrim(学号)+rtrim(课程编号) from 成绩表)commitGO第 6 章 结论随着计算机技术的普及和网络的发展,越来越多的企业重视信息化建设,利用先进的计算机和网络技术改善内部管理,提高运营效率,建成对信息快速反应的现代管理体系。本人结合了自己在大学三年以来所学到的知识和学校教务系统的需求,利用了这次毕业设计的机会,开发了教务管理

35、系统。该系统经过测试,可以在WindowsXP中稳定运行。基本实现了数据管理的功能,目前运行良好。由于时间的仓促和本人的技术水平有限,该系统存在一些不足,有待改进和进一步完善,具体说来有:(1) 可以考虑采用C/S模式进行开发设置客户端与服务器连接进入网络。(2) 可在登陆设置注册功能,对学生只通过学号进行登陆,设置让其只能在自己的学号进行选课与成绩单打印等功能。(3) 程序对输入非法数据的处理还不够完善,可能因为用户输入了非法数据或者不合理点击按钮,导致程序出错或出现异常。致 谢感谢福州大学工程技术学院的老师同学,让我系统学习了计算机专业的知识,并能结合具体生产管理应用完成教务信息管理系统的毕业设计。在毕业设计期间,郭昆老师给予了很大的帮助,在此本人表示衷心的感谢。同时,也感谢班级的同学在学习上给予本人的帮助。参考文献1 ADO.NET程序设计 微软公司 2 VB.NET 程序设计教程 微软公司第37页 共37页

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1