1、 成人高等教育毕业论文(设计) 论文题目:基于 VB.NET 和 SQL Server 学生学籍管理系统的设计 专 业: 计算机科学与技术 姓 名: 陈胜 学 号: 143114651059 指导教师: 二零 一六 年 五 月 II / 32 目 录 目录 摘 要 . 3 第1 章 绪论 . 4 1.1 背景 4 1.2 目的和意义 4 第2 章 开发工具 . 5 2.1 VB.NET 简介 . 5 2.1.1VB.NET 的特点 5 2.2 SQL SERVER 简介 . 5 2.2.1 SQL SERVER 数据库特点 . 6 第3 章 系统需求分析 . 7 3.1 需求及用户分析 7 3
2、.2 可行性分析 8 3.2.1 经济可行性分析 8 3.2.2 技术可行性分析 8 3.3 流程分析 8 第4 章 系统设计 . 9 4.1 基本结构设计 9 4.2 数据库设计 . 10 4.3 界面设计 . 11 第5 章 系统实现 12 5.1 登录模块的实现 . 12 5.2 主页界面的实现 . 13 5.3 用户管理的实现 . 16 5.4 系部信息管理和班级信息管理的实现 . 21 5.5 学籍管理的实现 . 24 5.6 帮助界面 . 29 总 结 30 参考文献 . 31 致 谢 . 32 3 / 32 摘 要 基于 VB.NET 和 SQL Server 的 学籍管 理系统
3、是 在管理 信 息系统的 理论和 方 法指导下 、 数据 库技 术支持下 完成对 学 生学籍信 息进行 管 理的, 具有手 工管理 所 无法比拟 的优点.例如: 检 索迅速 、 查找 方便、 可 靠性高 、 存储量大 、 保密 性 好、 寿命长、 成本低 等。 这些优点 能够极 大 地提高学 生学籍 管 理的效率, 也是 学 院的 科学化、 正规化 管 理, 与 世界接 轨的重 要条件。 本文中所 做的主 要 工作如下 : (1) 介 绍了使用VB.NET 的 常用应 用于系 统的一般 原理; (2) 阐 述整个 窗体生 成系统的 系统结 构 及工作原 理; 分 析了 系统实现 中的特 殊性、
4、难 点和重 点 。 (3) 设 计实现 用户登 陆以及用 户账户 和 权限管理、 系部管 理、 班级管 理、 学 生信息管 理、学 生 信息查询 等功能 。 (4) 分 析并解 决实现 中的若干 技术问 题 。 (5) 建立 完 整的 学籍 管理系统 ,进行 测 试并分析 结果。 关键字 VB.NET ;SQL Server ;Visual Studio ;学 籍管理 系统; 4 / 32 第 1 章 绪论 1.1 背景 学籍管 理是 任何 一 个学院 不可 缺少 的 部分, 传统 的纸 质 文档管 理有 着各 种 诸如 :检 索速 度慢 ,维 护困 难, 效率 低等 缺陷 。随 着计 算机
5、信息 技术 在管 理上 越来 越深 入而 广泛 的应 用, 管理 信息 系统 的实 施在 技术 上已 日趋 成熟 。而 基于 VB.NET 和 SQL Server 的学籍 管理系 统,就是 一种应 用 信息化技 术实现 文 档资 料管理的 形式, 是 为了适应 现代信 息 管理要求 , 推动 学 生学籍管 理走向 科 学化、 规范 化, 减轻 学院 档案 管理 人员 工作 的劳 动强 度, 提高 人员 工作 效率 、质 量和 管理水平 的管理 软 件系统。 1.2 目的和意义 本系统 主要 用于 学 生学籍 管理 ,总 体 任务是 实现 学生 学 籍关系 的系 统化 、 规范 化和 自动 化
6、, 其主 要任 务是 用计 算机 对学 生学 籍进 行日 常管 理, 如查 询、 修改 、 增 加、 删除 , 另外 还考虑 到用 户登录的 权限 , 设 置了管理 员、 老师 和学 生三种不 同权限 。 本系统 主要 包括 界 面管理 、用 户管 理 、系部 信息 查询 和 管理、 班级 信息 查 询和管理 、学生 学 籍查询管 理和帮 助 五部分。 经过分析 ,我们 使 用Microsoft 公司的 Visual Studio 开发工具的VB.NET 编 程语 言, 利用 其提 供的 各种 面向 对象 的开 发工 具, 尤其 是数 据窗 口这 一能 方 便而简洁 操纵数 据 库的智能 化对
7、象 , 首先在短 时间内 建 立系统应 用原型 , 然后, 对初 始原 型系 统进 行需 求迭 代, 不断 修正 和改 进, 直到 形成 用户 满意 的可 行系 统。 要实现 信息 管理 的 功能, 离不 开后 台 数据库 的支 持。 用 户验证 信息 ,收 集 到的 用户 点击 信息 ,主 题层 次信 息, 分析 得出 的关 联规 则表 等大 量的 数据 都由 数据库管 理系统 管 理。本文 中数据 库 服务器端 采用了 Microsoft SQL Server 数 据库作为 数据源 , 并 进行数据 库存取 等 操作, 使VB.NET 与 数据库紧 密联系 起 来。 5 / 32 第 2
8、章 开发工具 本系统使 用语言VB.NET 作为 编程环 境,SQL 数据 库环境 。 2.1 VB.NET 简介 微软公司的VB.NET (Visual Basic.NET 的简称 )是Windows 应 用程序 开发 工具, 使目 前最为 广泛的、 易 学易用 的面向对 象的开 发 工具。VB.NET 提供 了大 量的 控件 ,这 些控 件可 用于 设计 界面 和实 现各 种功 能, 减少 了编 程人 员的 工作 量, 也简 化了界 面 设计过程 , 从而 有 效的提高 了应用 程 序的运行 效率和 可 靠性。 故而,实 现本系统VB.NET 是 一个相 对较 好的选择 。 提到VB.NE
9、T, 就 不 能不先提 一下VB (Visual Basic 的简称 ) 。 VB 是Windows 环境 下的 一种 简单 、易 学的 编程 语言 ,由 于其 开发 程序 的快 速、 高效 ,深 受程 序员的喜 爱。 严 格 地来说,VB 只是半 面向对象 的语言 , 其面向对 象的能 力 及程 序的执行 效率往 往 不能满足 程序员 的 需要, 因此, 大的项 目很少使用VB 来开 发。 VB 的 最后一 个版本 是VB6.0。 在 VB6.0 之 后,微 软公司推 出了全 新 的“.NET 构架” , 在其第一 个版本 -Visual Studio.NET 7.0 中 ,集成了 VB7.
10、0、Visual C+ 7.0 及 C# , 其中的 VB7.0(Visual Basic 7.0) ,即是VB.NET 的 第一个 版本。 现在.NET 的 版本有 很多从 Visual Studio 2003 到 最新版 本 Visual Studio 2015 已经经 历多次 更新,但 编程者 使 用调试过 程都大 同 小异。 2.1.1 VB.NET 的 特点 1)、 真正 成为面 向 对象以及 支持继 承 性的语言 。 2)、 窗体 设计 器支 持可 视化 继承 ,并 且包 含了 许多 新的 特性 ,比 如自 动改 变窗体大 小、资 源 本地化支 持、数 据 类工具内 在支持XML
11、数据。 3)、 直 接建 立在.NET 的框 架结构 上, 因 此开发 人员 可以充分 利用所 有.NET 平台特性 ,也可 以 与其他的.NET 语言 交互。 4)、 为 Windows 应用 程 序提 供了 xcopy 部 署,开 发者 不再需要 为 DLL 的版 本问题担 忧。 2.2 SQL SERVER 简介 SQL Server 是微软 公司比较 稳定的 大 型数据库 服务器 。 用它可以 方便地 管 6 / 32 理数据库 和开发 应 用程序, 它使用 了 最先进的 数据库 构 架,具有 完全的 Web 功 能。通过 对高端 硬 件平台、 网络和 存 储技术的 支持,为 WEB
12、站和 企业的 应 用最 大限度 地提 供了可 扩展性 和高 可靠性 ,能在 Internet 商业领 域快 速建立 并应 用。 此外 ,还 增强 了安 全性 ,保 护防 火墙 内外 的数 据。 支持 基于 角色 的安 全并 拥有安全 审计工 具 。 目前国内 的一些 关 于微软平 台的数 据 库编程教 程, 喜 欢使 用 Access 作为 数 据库 平台 的案 例, 并展 开相 关的 内容 。这 其实 对于 开发 真正 的数 据库 应用 并没 有直接的 帮助作 用 ,只能使 大家停 留 在应用的 初级阶 段 。SQL Server 提供 的非 常傻瓜的 缺省安 装 和使用模 式, 其上 手
13、难度并不比Access 大。 另外, SQL Server 可以兼顾 小、中 、 大规模的 应用, 有 着远远比Access 强 大的伸缩 性。 2.2.1 SQL Server 数据库 特点 概括起来 ,SQL Server 数据 库管理 系统 具有以下 主要特 点 。 1) 、丰 富的 图形管 理工具 ,使 系统管 理、操 作更 为直观 方便。SQL Server 企业管理 器是一 个 基于图形 用户界 面 (GUI ) 的 集成管 理 工具, 利用 它可以 配置 管理 SQL Server 服 务器、 管 理数据 库 和数据库 对象、 备 份和恢复 数据、 调 度任 务和管理 警报、 实
14、 现数据复 制和转 换 操作等。 此外,SQL Server 还提供了 SQL 事件探查 器、SQL 查询分析 器、SQL Server 服 务管理 器 和多种操 作向导 等 图形 界面管理 工具, 大 大简化了 用户操 作 ,从而增 强了系 统 的易用性 。 2 ) 、 动 态自动 管理 和优化功 能。 即使 SQL Server 数 据库管 理员不做 任何设 置,SQL Server 也 能够在运 行过程 中 根据环境 配置和 用 户访问情 况动态 自 动配 置,以达 到最优 性 能,从而 减轻管 理 员工作。 3 ) 、充分 的 Internet 技术 支持。Internet 网 络发展
15、 到今 天已经成 为一条 重要的信 息发布 渠 道,SQL Server 增 强了对 Internet 技术支持 ,它除 保 留了 前期版本 中的数 据 库Web 出 版工具 “Web 助手 ”外,还 增强 了 对 XML 和HTTP 技 术的支持 ,这使 得 电子商务 系统能 够 通过 XML 等访问SQL Server 数据库 系统 , 也扩展了SQL Server 在数据 挖掘和 分析 服务领域 的应用 。 4) 、丰富 的 编程 接口 工 具,使 用户 开发 SQL Server 数据 库应用程 序更加 灵 活。SQL Server 提供 了 Transact-SQL、DB-Libra
16、ry for C、嵌入式SQL (ESQL) 等开发工 具, Transact-SQL 与工 业标准SQL 语言 兼容, 并 在 其基础上 加以扩 充, 使它更适 合事务 处 理方面的 需要。 此 外,SQL Server 还支 持 ODBC 、OLE DB、ADO 7 / 32 规范,可 以使用ODBC 、OLE DB 、ADO 接 口访问 SQL Server 数据库。 5 ) 、具有 很好的 伸 缩性和可 靠性。SQL Server 既 能 运行在 Windows 桌 面操 作系统下 ,又可 运 行在服务 器操作 系 统(包括Windows NT 和 Windows XP )下 ; 既能
17、运行 在单 CPU 计算机上 ,又能 运 行在对称 多处理 系 统下。所 以,它 具 有很 好的 伸缩 性, 能够 满足 从桌 面应 用到 大型 企业 分布 式应 用到 不同 层次 用户 的要 求。 第 3 章 系统需求分析 3.1 需求及用户分析 随着 学院 的规 模不断 扩 大, 学生 数量急 剧 增加 ,有 关学生 学 籍的 信息 量也 成 倍增 长。 面对 庞大 的信 息量 就需 要有 一个 管理 系统 来提 高管 理工 作的 效率 。 通过 这样 的系 统可 以做 到信 息的 规范 管理 、快 速查 询、 修改 、增 加、 删除 等, 从而减少 管理方 面 的工作量 。设计 内 容为
18、用户 登录该 系 统进行五 个模块 操 作: 1)、 系统 管理 : 添加 用户 、修 改密 码、 用户 管理 (修 改用 户权 限、 删除 用 户) 。 2)、 系部 管理: 系 部信息查 询、系 部 管理(添 加、删 除 系部) 。 3)、 班级 管理: 班 级信息查 询、班 级 管理(添 加、删 除 班级) 。 4)、 学 生学籍 管理 : 查询 学籍 (通过 各种条件 查询 ) 、 管 理学籍 (添加 、 删 除、修改 学籍 ) 。 5)、 帮助 :关 于、联 系 。 在以上 功能 实现 的 同时还 包含 一些 隐 形的功 能要 求: 因 系统需 要供 学生 用 户查 询学 籍, 所以
19、 在添 加学 籍的 同时 在用 户中 需要 自动 添加 权限 为学 生的 相应 用户。 学生 学籍 管理 系统的 设 计与 实现 ,是在 班 级学 生处 数据库 基 础上 ,只 对学 生学 籍信 息进 行管 理的 一个 系统 ,是 对学 校教 务管 理系 统的 补充 ,主 要包 括三 个用户群 :管理 员 、老师、 学生。 管 理 员: 主要 的需求 有 用户 管理 和查询 、 系部 管理 和查询 、 班级 管理 和查 询、学籍 管理和 查 询。 老师: 主 要的 需求有 密 码更 改、 系部查 询 、班 级管 理和查 询 、学 籍管 理和 查询。 8 / 32 学生:主 要的需 求 有密码更
20、 改、系 部 查询、班 级查询 、 学籍查询 。 3.2 可行性分析 由于本系 统管理 的 对象单一, 且 每个数 据内容具 有较强 的 关联性, 涉及的 计 算过 程不 是很 复杂 。因 此, 比较 适合 于采 用数 据库 管理 。在 技术 难度 方面 ,由 于有 老师 、同 学、 同事 的指 导和 相关 参考 文献 , 特别 是网 上资 料以 及可 参考 的 其它程序 的功能 , 因此该 系统 设 计任务 完全可 以实现 。 3.2.1 经济可行性分析 由于该 系统 作为 毕 业设计 的课 题, 这 一特殊 性使 得计 算 机硬件 、系 统软 件 以及 系统 开发 人员 、维 护人 员的
21、工资 、培 训费 等费 用可 以省 略。 并且 本课 题具 有的 特点 :开 发工 作量 小, 可以 有两 个人 合作 开发 或一 个人 独立 开发 ,开 发周 期短 ,有 熟练 的开 发人 员一 个月 就可 以完 成系 统的 开发 与测 试。 即使 处于 商务 形式委托 开发,从 经济性角 度分析 也 非常有优 势。 3.2.2 技术可行性分析 从技术方 面来说 ,Visual Basic 是 一个 企业级的 、面向 对 象的快速 应用开 发工具, 是数据 库 最优秀的 开发工 具 之一。Visual Basic 完全支 持面向 对象 的 开发 ,它 拥有 多种 数据 库接 口, 可以 非常
22、 方便 地连 接的 各种 数据 源, 再加 之其 专利产品 Data Window(数据 窗口 ) ,通 过SQL 语 句即可 轻 松地查询 和更新 后 台 数据库中 的数据 。 SQL Server 是微软 公司最新 版的大 型 数据库服 务器, 其 性能指标 在各方 面 都有赶 超 Oracle 数据库的 趋势。 另 外,SQL Server 可 以兼顾小 、中、 大 规模 的应用, 并且有 很 好兼容性 。从技 术 上分析这 一需求 是 完全可以 实现的 。 3.3 流程分析 本系统 属于 一个 权 限型管 理系 统, 在 执行时 ,根 据不 同 的操作 人员 的权 限 开放相应 的模块
23、 , 然后可以 输入数 据 或者进行 其它的 查 询或浏览 等操作 。 9 / 32 图 3-1 学生学籍管理系统 流程图 第 4 章 系统设计 4.1 基本结构设计 本系统主 要包括 三 种权限的 用户和 五 大模块。 管理员 :能 够进 行 系统内 所有 操作 , 主要包 括用 户的 增 加删除 和查 询、 用 户权限更 改、 用户 密码更改, 系部的 增加删除 和查询、 班级的增 加删除 和 查询、 学籍的增 加删除 和 查询、 帮助 模 块使用 。 老师: 和管 理员 相 比少了 用户 的增 加 删除、 用 户权 限更改 、 系部 的增 加删 除。 学生: 和 老师 相比又 少 了班
24、级的 增加删 除 、学 籍的 增加删 除 ,也 就是 说学 生可 以使 用的 模块 功能 有用 户密 码更 改、 系部 查询 、班 级查 询、 学籍 查询 、帮 系统 系部管 理 帮助 学生学 籍管 理系 统 用户登 录 用户管 理 修改密 码 系部信 息查 询 系部管 理 添加 删除 用户名 、密 码 权限选 择 学生学 籍管 理系 统 添加用 户 退出系 统 修改权 限 删除 班级管 理 班级信 息查 询 班级管 理 添加 删除 学籍管 理 查询学 籍 学籍管 理 添加 删除 修改 联系我 们 关于我 们 10 / 32 助模块。 系统五大 模块如图 3-1 系统 流程图 分 析中所描 述
25、,软 件 经过前台 和后台 设 计完全可 以实现 流 程中所述 功能。 4.2 数据库设计 本系统的数据库是 SQL Server 数据库,在 SQL 环境下创建数据库 Studengt.mdf 文件。该数据库包括用户信息表(user_Info ) 、 系部信息表 (depart_Info ) 、班级信息表(class_Info ) 、 学籍信息 表(student_Info), 数据库表 设计及 主 键如图4-1 4-4 所示 : 图 4-1 用户信息表(user_Info ) 图 4-2 系部信息表(depart_Info ) 图 4-3 班级信息表(class_Info ) 图 4-4
26、学籍信息表(student_Info ) 11 / 32 数据表之 间的关 系 如图4-5 所示: 图 4-5 数据库表关系图 数据库 设计 时同时还 需 要考 虑隐 形功能 要 求, 比如 在新建 学 籍信 息时 自动 创建 一个 以学 籍号 为用 户名 、默 认学 籍号 为密 码、 权 限为 学生 的用 户。 这一 功 能就要在SQL 数 据 库中增加 表触发 器 来实现具 体实施 如 下: USE Student GO /* Object: Trigger dbo.AddUser Script Date: 2016/5/20 8:41:11 */ SET ANSI_NULLS ON GO
27、 SET QUOTED_IDENTIFIER ON GO - Batch submitted through debugger: SQLQuery24.sql|7|0|C:UserschenshenAppDataLocalTempvsDE5.sql - Batch submitted through debugger: SQLQuery23.sql|7|0|C:UserschenshenAppDataLocalTempvsC0AD.sql ALTER TRIGGER dbo.AddUser ON dbo.student_Info FOR INSERT AS insert into user_i
28、nfo(user_ID,user_PWD,user_Des) select student_ID,student_ID,学生 from student_Info where student_ID not in(select user_ID from user_info) 4.3 界面设计 本系统的 界面使用VB.NET 设计 , 界面 设 计主要要 求为: 操 作简便、 外 观好 看 、功 能按 钮无 逻辑 错误 等, 还附 带部 分对 话框 实现 人机 对话 。具体 各界 面设 12 / 32 计在系统 实现章 节 详细描述 。 第 5 章 系统实现 5.1 登录 模块的 实现 系统 首页
29、是一 个综合 性的 登 录页 面。用户可 选择 的权限有 管 理员 、老师 、 学生 三 种。 用户 根据 自己 的权限 输入 账号 密码 登录 相 应的 工作 页面 。在 登录 过 程 中如 果有 问题 会根 据实 际情 况进 行提 示, 如“ 用户 名和 密码 不能 为空”、“ 请 选择登陆 用户权 限”、“ 登陆 失败, 请检 查你用户 名, 密码, 以及权限 是否正 确”, 系统首页 如图5-1 所示。 图 5-1 用户登录界面 设计代码 : Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As Syst
30、em.EventArgs) Handles Button1.Click checkFormat() End Sub Sub checkFormat() If TextBox1.Text = “ Or TextBox2.Text = “ Then MsgBox(“ 用户名和密码不能为空“) ElseIf ComboBox1.Text = “ Then MsgBox(“ 请选择登陆用户权限“) Else checkLoginName() End If End Sub 13 / 32 Sub checkLoginName() Dim str As String str = “Data Source=
31、localhost;Initial Catalog = Student;integrated Security=true“ Dim con As New SqlConnection(str) con.Open() Dim sql As String = “select * from user_Info where user_ID=“ Initial Catalog = Student;integrated Security=true“ Dim con As New SqlConnection(str) con.Open() Dim sql As String = “select * from
32、user_Info where user_ID=“ & TextBox1.Text.ToString().Trim() & “ and user_PWD=“ & TextBox2.Text.ToString().Trim() & “ “ Dim sql2 As String = “update user_Info set user_PWD=“ & TextBox3.Text.ToString().Trim() & “ where user_ID=“ & TextBox1.Text.ToString().Trim() & “ Dim cmd As New SqlCommand(sql, con)
33、 Dim cmd2 As New SqlCommand(sql2, con) Dim reader As SqlDataReader reader = cmd.ExecuteReader If reader.Read() = True Then reader.Close() cmd2.ExecuteNonQuery() MsgBox(“ 恭喜您,密码修改成功!“) Else MsgBox(“ 原密码输入错误!“) End If End Sub Private Sub Form5_Load(sender As Object, e As EventArgs) Handles MyBase.Load TODO: 这 行代码将数据加载到表“StudentDataSet3.user_Info” 中。您可以根据需 要 移动或删除它。 Me.User_InfoTableAdapter.Fill(Me.StudentDataSet3.user_Info) End Sub End Class 图 5-4 添加用户界面图