高校学生成绩信息管理系统论文.doc_第1页
高校学生成绩信息管理系统论文.doc_第2页
高校学生成绩信息管理系统论文.doc_第3页
高校学生成绩信息管理系统论文.doc_第4页
高校学生成绩信息管理系统论文.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

目目 录录 摘要 3 关键词 3 1概述 3 1 1 课题开发背景及目前研究现状 3 1 2 课题研究 调查 的目的和意义 3 2需求分析 4 2 1 可行性分析 4 2 2 需求分析 4 2 3 系统流程图 5 2 4 几个主要功能的数据流图 5 2 4 1 教师录入学生成绩登录数据流图 5 2 4 2 查询信息数据流图 5 3系统总体设计 6 3 1 课题开发目标及思路 6 3 2 系统模块设计 6 3 2 1 系统维护模块 6 3 2 2 教务设置模块 6 3 2 3 教务安排模块 7 3 2 4 信息管理模块 7 3 2 5 学生成绩管理模块 7 3 2 6 系统帮助模块 7 3 2 7 系统模块框架图 8 3 3 数据库详细设计 8 3 3 1 建立概念性数据模型 8 3 3 2 数据库逻辑结构设计 9 3 3 3 关系数据库的规范化设计 10 3 3 4 关系数据库的完整性约束的建立 10 4系统详细设计 11 4 1 系统窗体设计原则 11 4 2 系统部分关键窗体及设计思路介绍 11 4 2 1 系统登陆窗体及程序流程图 11 4 2 2 设置班级窗体及设计思路 12 4 2 3 设置课程窗体及设计思路 13 4 2 4 课程安排窗体及设计思路 14 4 2 5 教师安排窗体及设计思路 15 4 2 6 学生信息管理窗体及设计思路 16 4 2 7 学生成绩录入登录窗体及设计思路 16 4 2 8 学生成绩录入窗体及设计思路 17 1 4 2 9 学生成绩查询窗体 管理员权限查询 及设计思路 17 5系统测试 18 5 1 系统测试设计 18 5 1 1 软件测试介绍 18 5 1 2 系统测试设计 18 5 1 3 系统测试主要步骤 18 5 2 系统测试举例 18 5 2 1 使用等价类划分法进行功能测试 黑盒测试 举例 18 5 2 2 使用逻辑覆盖法进行结构测试 白盒测试 举例 19 6总结 20 6 1 系统开发总结 20 6 2 系统存在的问题 20 致谢 21 参考文献 21 高校学生成绩信息管理系统的设计高校学生成绩信息管理系统的设计 2 计算机科学与技术专业学生 许大姐 指导教师 黄勇 摘要 学生成绩信息管理是各高校的主要日常管理工作之一 涉及到校 系 师 生的诸多方面 随着教学体制的不断改革 学生成绩信息日常管理工作日趋繁重 复杂 在信息时代的今天 数据 库技术在数据处理方面的应用已经非常广泛 作为高校教育工作一部分的学生成绩管理更应赶上时 代的步伐 在此种情况下我们利用 Visual Basic 6 0 的可视化操作环境及 SQL Server 来开发一套 适合学校专业设置的高校学生成绩信息管理系统 本文在可行性分析和需求分析的基础上 明确了 系统的目的与要求 得出了系统数据流图并具体介绍了系统的总体设计 详细设计及系统测试 根 据系统的具体要求和需要实现的功能 详细地定义了各个模块的具体功能 并就主要模块的功能介 绍了其设计思想 实现过程 关键词 Visual Basic 6 0 学生成绩信息管理 设计 1概述 1 1课题开发背景及目前研究现状 高校学生成绩管理是教学管理中的一项重要工作 每个学期都要进行 成绩管理 是一项工作量大 时间性强 易于出错且具有一定保密性的业务 特别是随着高校的 不断扩招 进入高校的大学生越来越多 高校学生成绩管理工作量将大幅度增加 如 果全由手工完成 耗时巨大 效率却很低 在信息时代的今天 数据库技术在数据处理 方面的应用已经非常广泛 作为高校教育工作一部分的学生成绩信息管理更应赶上时代 的步伐 因此 开发一套适合学校专业设置的计算机化成绩信息管理系统 不仅可以 提高学校的管理效率 而且可以使我们的教学管理水平更上一层楼 系统的开发主要包括后台数据库的建立 维护以及前端应用程序的开发两个方面 对于前者要求建立数据一致性和完整性强 数据安全性好的数据库 而对于后者则要 求应用程序以尽可能的方便用户使用为宗旨 还要尽可能的实用 纵观目前国内研究 现状 在数据安全性和信息更新化方面仍存在有一定的不足 各现有系统资料单独建 立 共享性差 在以管理者为主体的方式中 信息取舍依赖管理者对于信息的认知与 喜好 较不容易掌握用户真正的需求 也因此无法完全满足用户的需求 例如 在现 已开发设计的学生成绩信息管理系统中 有些系统仍需较多的人工干预及用户操作 有些系统的人机界面不是很好 有些系统则出现了各个独立的子系统能够较好地运行 而子系统之间却不能很好地 协同 工作 数据共享性差的情况 另外 各个子系统 之间在界面风格上也相差甚远 这样 给软件系统的应用带来了很大的不便 针对以上情况 我采用 VB 6 0 来开发高校学生成绩信息管理系统 VB 6 0 具有 可视化集成开发环境 以事件驱动 图形用户界面等为特点 集成了强大的数据库开 发引擎和 OLE 技术 在设计学生成绩信息管理系统方面有着独特的优越性 VB 6 0 提 供友好的界面 操作简单 能使非计算机专业人员很快熟悉系统的使用 1 2课题研究 调查 的目的和意义 学生成绩信息管理是一个非常繁琐与复杂的一项工作 一个原因就是工作量大 不好管 尤其是随着学校规模的不断扩大 学生数量急剧增长 有关学生的各种信息也 成倍增加 对于一个学校而言 更应该运用一些本地资源 提高管理的力度 对学生 负责 对国家负责 运用学生成绩信息管理系统可以减轻学院教学人员的工作量 缩 小开支 提高工作效率与准确率 通过学生成绩信息管理系统学生能够尽快地知道自 己的考试成绩 并合理安排时间 投入新的课程的学习或复习这次没有考过的课程 从大的方向说 就是为了加速我国四化建设的发展 实现全部的自动化 使我国发展 3 成为通讯网络化 决策科学化 办公自动化的国家 通过此次毕业设计 我的逻辑思维能力 编程能力 程序调试能力都得到很大的 提高 通过此次毕业设计 我把在学校里学习的理论知识真正运用到实践中去 并在 实践中进一步加深和巩固对所学专业知识的理解 这为我以后的工作奠定了坚实的基 础 2需求分析 2 1可行性分析 技术可行性 本系统是一个小型开发系统 使用 Visual Basic 6 0 作为系统开发 工具 VB 6 0 具有可视化集成开发环境 以事件驱动 图形用户界面等为特点 VB 6 0 集成了强大的数据库开发引擎和 OLE 技术 在设计学生成绩管理系统方面有着独特的 优越性 图书馆里也有很多关于使用 VB 开发学生成绩信息管理系统实例的图书 大学 期间 我在学习多种程序设计语言的基础之上又学习了 VB 程序设计技术 SQL 数据库 技术以及软件工程课程 对数据库的设计 应用及软件开发有一定的认识 具备一定 的动手实践能力 我经常使用学校的教务系统查询成绩等信息 并上网了解了不同学 校的学生成绩信息管理系统的主要情况 对高校学生成绩信息管理系统功能有较清楚 的认识 2 2需求分析 由于我做的是高校学生成绩信息管理系统 就以本校的教务系统为模型参照 把 自己作为被调查用户之一 由于我只能以学生身份进入教务系统 所以实际上我相当 于学生用户 进入教务系统以后可以亲身实践作为学生用户所能查看的内容及具有的 操 作权限 从而了解了学生用户对本系统的需求 之后我又向几位老师调查了他们作为 教师用户登陆系统后所能查看的内容及具有的操作权限 老师以教师的身份登陆教务 系统演示给我看教师用户登陆后的系统界面及其所具有的操作权限 并跟我详细解释 和分析了学校的教务系统以及教务处管理员进入系统后应有哪些操作权限 通过调查 走访及自己的实践 最后确定本系统的各种权限用户需求内容 1 有三种用户登陆情况 教师登陆的用户名是教师的教职工号 学生登录的 用户名是学生的学号 登陆密码只有本人可以修改 2 教务科相当于管理员 有一般教务管理及信息设置的权利 如 教师 学 生基本信息的录入和修改 学期 学院 专业 班级 课程安排 教师安排等信息的 设置 可以查询和统计本校学生成绩信息 并能用 Excel 表格的形式输出其结果 但 没有录入或修改学生成绩的权利 可提供每门课程一个密码给教师让教师有录入或修 改学生在自己所授课程上考试成绩的权利 3 教师可以查看自己的全部个人信息 修改自己的部分个人基本信息 如联 系电话等 可以查看自己所带班级所有学生在自己所授课程上的成绩 期末考试之后 教务科 相当于管理员 给教师每门课程一个密码 课程密码 教师进入系统以后 可以输入相应课程的密码即可进入成绩录入界面来录入或修改学生在自己所授课程上 的成绩 由于是高校学生成绩信息管理 所以有平时成绩和卷面成绩之分 教师在录 入成绩的时候要同时录入平时成绩和卷面成绩 录入完成系统自动按照设置的权重 平时成绩占 20 卷面成绩占 80 核算出每位学生的综合成绩 4 学生可以查看自己的全部个人信息 修改自己的部分个人信息 如联系电 话等 可以按学期查询自己的成绩 查询到的是平时成绩和卷面成绩经一定的权重折 算以后的综合成绩 4 2 3系统流程图 根据系统需求分析 画出本系统的系统流程图如图 1 所示 报表事务 处理程序 高校学生成绩 信息管理系统 统数据库个人基本信息 教 务 处 系 统 用 户 基本设置信息查询请求 教 师 学生成绩信息 学生成绩信息 图 1 系统流程图 2 4几个主要功能的数据流图 2 4 1教师录入学生成绩登录数据流图 登陆失败 登陆验证 1 学生成绩 录入 2 教师安排信息 学生成绩信息 教师 录入成绩登陆信息 登录成功 查询 安排信息 录入 图 2 教师录入学生成绩登录数据流图 2 4 2查询信息数据流图 查询信息 接收程序 3管理员 教师 学生查询信息处理后信息 查询程序 4 学生成绩信息教师信息学生信息 查询结果 查询出错 图 3 查询信息数据流图 5 3系统总体设计 3 1课题开发目标及思路 通过对本校教务管理系统的使用及调查情况 我了解到高校学生成绩信息管理系 统应具备的基本功能及各种类型的用户登陆系统后所具有的操作权限 决定设计一个 满足基本功能要求的高校学生成绩信息管理系统 使用本系统对学生的成绩信息进行 合理管理 针对前面的分析与构想 为实现系统基本功能需求 本系统的开发大概目 标如下 1 只有管理员 教务科 可以进行学期 学院 专业 班级 课程等方面设 置 进行课程安排 教师安排 教师信息 学生信息等方面管理 从而保证信息的准 确性与安全性 2 学生某门课程的成绩只能由教此门课程的教师进行录入和修改 从而保证 学生成绩信息的准确性与安全性 3 按学期 专业 班级 课程导出学生成绩清单 每学期给各科教师打印补 考学生名单 重修学生名单 从而减轻学院教学人员的工作量 加快查询速度 提高 高校管理学生成绩信息的效率 4 系统的界面友好 在操作上简单易行 易学易用 便于维护 5 系统内部数据应采用定长格式 以提高系统的运行效率 6 具有较高的安全性 运行采用全 Windows 界面 有很好的容错能力 7 系统工作模式为单机多用户模式 3 2系统模块设计 对于复杂问题 人们习惯首先将该复杂问题分解成若干个子问题 然后对每个子 问题进行研究 在充分了解每个子问题的基础上将子问题结合起来达到对整个问题认 识的目的 这种思想实际上就是 各个击破 的思想 同样的 将软件系统分解成模 块可以降低软件设计人员的劳动强度 降低软件的开发成本 而且采用模块化的原理 可以使得软件结构清晰 不仅容易设计而且也容易阅读和理解 模块化使软件容易测 试和修改 也有助于软件工程开发的工程管理 所以 基于上述思想 在参照前面的 需求分析情况下 将本系统按功能分为 6 个主模块 并细化成 18 个子模块 划分如下 3 2 1系统维护模块 本模块主要包括用户管理和密码管理两个子模块 1 用户管理模块 本模块功能只有管理员权限的用户登陆后才能使用 主要是添加和删除管理员权 限的用户 注意 不可删除当前正在操作的管理员用户 2 密码管理模块 本模块功能是修改当前操作用户的密码 必须正确输入当前操作用户的旧密码且 两次输入的新密码相同 才能成功修改当前操作用户的密码 从而保证了用户信息的 安全性 3 2 2教务设置模块 本模块只有管理员权限的用户登陆后才能使用 主要负责学期 学院 专业 班级 课程的基本设置 包括以下 5 个子模块 1 设置学期模块 本模块主要是根据实际情况增加或删除某个学期 2 设置学院模块 本模块主要是根据高校实际情况增加或删除某个学院 6 3 设置专业模块 本模块主要是根据高校实际情况增加或删除某个专业 所增加的专业必须所属某 个学院的 4 设置班级模块 本模块主要是根据高校学生人数的实际情况增加或删除某个班级 所增加的班级 必须所属某个专业的 5 设置课程模块 本模块主要是根据高校实际情况增加或删除某门课程 3 2 3教务安排模块 本模块只有管理员权限的用户登陆后才能使用 主要是负责课程及教师的安排 包括以下 2 个子模块 1 课程安排模块 本模块主要是根据学校要求按照学期及专业安排课程 2 教师安排模块 本模块主要是根据学校各个专业的课程安排情况 分别按学期为各班级每门课程 安排任课教师 并赋予教师在本门课程上一个课程密码 教师在期末考试结束后用此 课程密码登陆录入学生成绩界面 3 2 4信息管理模块 本模块只有管理员权限的用户登陆后才能使用 主要是负责教师基本信息 学生 基本信息的管理以及学生成绩查询统计 主要包括以下 3 个子模块 1 教师信息管理模块 本模块主要是对教师基本信息的添加 修改和删除 如有新教师来校报到 则需 在教师信息表中添加该教师的基本信息 如有教师退休或离职 则需在教师信息表中 删除该教师的基本信息等等 2 学生信息管理模块 本模块主要是对学生基本信息的添加 修改和删除 如每年都有新生入学报到 则需根据学生的专业及班级通过 Excel 表格批量录入该学生的基本信息 如学生毕业 离开学校 则需根据学生的专业及班级删除该学生的基本信息等等 3 学生成绩查询统计模块 本模块主要实现按学号 姓名 专业 班级 学期 课程名多重条件对高校学生 成绩进行查询 补考学生名单查询统计 重修学生名单查询统计 并可通过 Excel 表 格进行输出 以便安排学生补考或重修并通知需要参加补考或重修的学生 3 2 5学生成绩管理模块 本模块只有教师权限的用户登陆后才能使用 主要负责学生期末成绩录入 学生 补考重修成绩录入 学生成绩查询输出 包括以下 3 个子模块 1 学生期末成绩录入模块 本模块主要实现教师根据学期 所授班级 所授课程对学生期末成绩 包括学生 平时成绩和卷面成绩 批量录入或修改 教师必须正确输入管理员 教务科 给出的 课程密码才能登陆录入学生期末成绩界面 从而录入或修改学生成绩 2 学生补考重修成绩录入模块 本模块主要实现教师根据学期 所授班级 所授课程对参加补考或重修的学生成 绩进行录入 3 学生成绩查询输出模块 本模块主要实现教师根据学期对自己所授班级的学生在自己所授课程上的成绩查 询 需补考学生名单查询 需重修学生名单查询 并可通过 Excel 表格输出 7 3 2 6系统帮助模块 本模块是公用的 主要是涉及本系统的一些相关信息及退出系统 包括以下 3 个 子模块 1 系统关于模块 本模块主要是关于本系统设计的一些相关信息 2 系统帮助模块 本模块主要是对本系统的使用方法的一些简单介绍 不同权限的用户所能看到的帮 助内容有所不同 3 退出系统模块 本模块主要实现成功退出系统 3 2 7系统模块框架图 根据上面的模块划分 得到如下的主模块框架图 如图 4 所示 高校学生成绩信息管理系统 教务设置教务安排信息管理学生成绩管理系统帮助 设置学期 设置学院 专业 设置班级 课程 课程安排 教师安排 教师信息管理 学生信息管理 学生成绩查询统计 学生期末成绩录入 学生补考重修成绩录入 学生成绩查询输出 系统关于 系统帮助 退出系统 密码管理 用户管理 系统维护 图 4 主模块框架图 3 3数据库详细设计 数据库在一个信息管理系统中占有非常重要的地位 数据库结构设计的好坏将直 接对应用系统的效率以及实现的效果产生影响 数据库设计是指对于一个给定的应用 环境 构造 设计 优化的数据库逻辑模式和物理结构 并据此建立数据库及其应用 系统 使之有效地存储和管理数据 满足各种用户的应用需求 包括信息管理要求和 数据操作要求 合理的数据库结构设计可以提高数据存储的效率 保证数据的完整性 和一致性 同时 合理的数据库结构也将有利于程序的实现 3 3 1建立概念性数据模型 通过建立概念性的数据模型 又称信息模型 可以把用户的数据要求清晰明确地 表达出来 概念性数据模型是一种面向问题的数据模型 是按照用户的观点来对数据 和信息建立的模型 用 E R Entity Relationship 图这种方法表示的概念性数据模型 又称为 E R 模型 学生成绩信息管理系统包含着大量的数据和信息 如何更有效 更 高效的处理这些数据和信息 建立起一个准确的数据模型是必不可少的 根据调查研 究和前面的需求分析得出高校学生成绩信息管理系统的 E R 模型 如图 5 所示 8 n 1 n m n p n m n nm m 1n 学生 组成 学习 班级 平时成绩 补考成绩 重修成绩 卷面成绩 课程 讲授 教师 综合成绩 安排 安排 n 从属 专业 学院 1 从属 学期 学号 课程号 教职工号 课程密码 班级代码 学期学院代码 专业代码 图 5 高校学生成绩信息管理系统 E R 模型 3 3 2数据库逻辑结构设计 根据前面的需求分析和 E R 模型的描述 本系统的主要数据库表有以下 10 个 1 学生信息 学号 姓名 性别 籍贯 出生日期 入学时间 所在班级 政治 面貌 联系电话 密码 备注 2 教师信息 教职工号 姓名 性别 出生日期 入职时间 联系电话 密码 备注 3 学期 学期 4 学院 学院代码 学院名称 5 专业 专业代码 专业名称 所属学院 6 班级 班级代码 班级名称 所属专业 7 课程 课程号 课程名称 学分 8 课程安排信息 学期 专业代码 课程号 9 教师安排信息 学期 班级代码 课程号 教职工号 课程密码 10 学生成绩信息 学号 学期 课程号 平时成绩 卷面成绩 综合成绩 补考 成绩 重修成绩 本系统中涉及六种代码的设计 1 学院代码共两位 分别表示高校的各个学院编号 例如理学院的学院代码为 06 2 专业代码共三位 前两位表示本专业所属的学院 第三位表示本专业在所属学 院的编号 例如理学院的计算机科学与技术专业的专业代码为 061 3 班级代码共八位 前四位表示本班级学生的入学年份 接下来的三位表示本班 级所属的专业 最后一位表示本班级在本专业中的编号 例如 2005 年入学的理学院计 算机科学与技术专业 1 班的学生所在班级的班级代码为 20050611 4 学号共十位 前八位表示学生所在的班级代码 第九 十位表示班内学号 例 如 2005 年入学的理学院计算机科学与技术专业 1 班 15 号学生的学号为 2005061115 5 教职工号共五位 第一位数字统一是 1 第二 三位表示教师所属的学院 第 9 四 五位表示编号 如 10605 的教师编号 表示理学院的 05 号教师 6 课程号共六位 第一位数字统一是 1 第二 三 四 五位表示课程门类 第 六位表示某门课程的分册 如 100012 的课程号 表示大学英语第二册 3 3 3关系数据库的规范化设计 规范化理论是用来改造关系模式 通过分解关系模式来消除其中不合适的数据依 赖 以解决插入异常 删除异常 更新异常和数据冗余问题 按关系数据库的设计规范 若遵循过高的范式进行设计 可能增加数据存取时间 和次数 但冗余度低是关系数据库的优点 而且还能保证数据的更新一致性和数据完 整性 比如对于学生成绩信息表 如果存储时只写入学号 虽输出成绩时需从学生信 息表中取得对应的学生姓名 但冗余度低 节省存储空间 反之 若在学生成绩表中 同时存放学号和姓名 虽然打印报表时只需从此表中取数据即可 不需要进行两个表 之间的条件连接 查询 打印报表更简单省时 但具有更多的冗余 而且难以保持数 据的更新一致性和数据完整性 本系统采用前一种方式定义数据表 数据冗余度低 节省存储空间 而且可以保证数据库中数据的更新一致性和数据完整性 3 3 4关系数据库的完整性约束的建立 随着数据库技术的不断发展 数据库系统的工作模式已经有单机模式 主从式 分布式和客户 服务器模式四种供用户选择 数据库也由独占变为了共享 在单机多用 户系统的操作过程中我们最关心的是数据的正确性 而数据完整性约束就数据的正确 合理进行了规范 标准的数据完整性约束是 DBMS 已经实现的内部规则 包括实体完整 性 域完整性和引用完整性 1 实体完整性 Entity Integrity 保证一个表中的每一行必须是唯一的 为保证数据的完整性 需指定一个表中的一列或一组列作为它的主键 Primary Key 且主键必须非空和唯一 2 域完整性 Field Integrity 保证一个数据库不包含无意义的或不合理的 值 即保证表的每一列的任何值是该列域 即合法的数据集合 的成员 方法是限制列 的数据类型 精度 范围 格式和长度等 3 引用完整性 Reference Integrity 定义了一个关系数据库中不同的列和 不同的表之间的关系 主键与外键 要求一列或一组列中的值必须要与相关的一列或一 组列中的值相匹配 完整性约束中的实体完整性和引用完整性可通过定义数据表的主键约束和外键约 束来实现 域完整性可在用户进行前台操作时加入判断语句 确保每次写入的数据都 在取值范围即可 由上述要求 根据概念性模型的建立和数据库逻辑结构的设计结果 对各表进行主键和外键的处理后 得出系统的数据库关系图如图 6 所示 学生成绩信 息表的参照完整性关系属性设置如图 7 所示 10 图 6 高校学生成绩信息管理系统数据库关系图 图 7 数据库关系图中学生成绩信息表的参照完整性关系图 4系统详细设计 4 1系统窗体设计原则 按上面功能模块的设计结果 一个模块对应一个窗体 另外由于本系统的操作者 基本上不是计算机专业人员 所以界面的开发要本着以下几个原则 1 友好的用户界面 2 控件的有效性控制 3 强壮的出错处理机制 4 2系统部分关键窗体及设计思路介绍 4 2 1系统登陆窗体及程序流程图 图 8 系统登陆窗体 设计思路 系统登录程序流程图如图 9 所示 11 N N Y N IsUserMode 3 IsUserMode 2 IsUserMode 1 开始 输入用户名和密码 用户名和密码是否为空 用户权限 maxCount 3 非合法用户 以教师身份 登录系统 以管理员身份 登录系统 maxCount maxCount 1 结束 Y Y 用户名存在 maxCount 0 密码正确 以学生身份 登录系统 Y N 图 9 系统登陆程序流程图 4 2 2设置班级窗体及设计思路 图 10 设置班级窗体 设计思路 教务科 即管理员 要通过本窗体实现班级信息的增加和删除功能 由于高校里每个班级都是所属某个专业的 所以增加班级信息时要选择为哪个专业增 加班级 而某个专业又是所属某个学院的 所以综合分析得出 增加某一班级信息之 前要选择某个学院 再选择此学院下的某个专业 即该班级所属专业 确定了班级所 属专业之后 在 班级代码 和 班级名称 所对应的文本框 txtCode 和 txtName 中 12 分别输入所需增加的班级信息 班级代码及班级名称 单击 确定 按钮系统即可将 所输入的班级信息添加到数据库的班级表中并显示 班级信息增加成功 在增加班级信息时 系统要能够对不合法或错误的输入给出相应提示并做相应处 理 如在数据库设计中 班级表中的 班级代码 班级名称 所属专业 三个字 段都设置为 不允许空 所以当 List1 text txtCode text txtName text 中有任 何一个为空 系统都应提示 班级信息不全 请输入完整信息 由于班级表中的 所属专业 字段长度设计为为八位 前四位代表班级学生的入学年份 中间三位代 表班级所属专业 最后一位代表班级在所属专业中的编号 所以系统应检查 txtCode 文本框中字符长度是否为八位 若不是 应给出提示 班级代码长度应为八位 请重 修输入班级代码 此外 还应检查 txtCode 文本框中的第四 五 六位字符是否与 List1 text 中的专业代码相同 若不相同 应给出提示 该班级代码无效 请重新输 入属于本专业的班级代码 又因为班级表中的 班级代码 字段是主键 所以如果 用户输入的班级代码在班级表中已存在 系统应提示 该班级代码已存在 请重新输 入班级代码 在数据库的关系图设计中 学生信息表中的 所在班级 属性列 教师安排信息 表中的 班级代码 属性列都是参照班级表中的 班级代码 属性列的 并且对班级 表的参照完整性关系属性设置为 级联更新相关的字段 级联删除相关的记录 所 以在选择某一班级之后单击 删除 按钮时 系统应给出警告 如果删除该班级则与 该班级的所有相关信息都将全部删除 确认要删除此班级信息吗 以防用户在不知 情的情况下删除某一班级 导致该班级的所有学生信息 与该班级有关的教师安排信 息全部被删除 从而造成很多麻烦 甚至会出现严重后果 当用户确认删除此班级信 息 比如此班级学生已经全部毕业离校 后 系统才真正从数据库的班级表中删除此 班级信息 4 2 3设置课程窗体及设计思路 图 11 设置课程窗体 设计思路 教务科 即管理员 要通过本窗体实现课程信息的增加和删除功能 窗体左边 List1 框中显示课程表中已存在的课程信息 右边 课程号 课程名称 学分 所对应的文本框名称分别为 txtCode txtName txtCredit 在 txtCode txtName txtCredit 文本框中输入相应信息之后 单击 确定 按钮系统即 可将所输入的课程信息添加到数据库的课程表中并显示 课程信息增加成功 在增加课程信息时 系统要能够对不合法或错误的输入给出相应提示并做相应处 理 如在数据库设计中 课程表中的 课程号 课程名称 学分 三个字段都设 13 置为 不允许空 所以当 txtCode text txtName text txtCredit text 中有任何 一个为空 系统都应提示 课程信息不全 请输入完整信息 由于课程表中的 课 程号 字段长度设计为六位 学分 字段的数据类型设计为数值型 所以系统应检查 txtCode 文本框中字符长度是否为六位 若不是 应给出提示 课程号长度应为六位 请重修输入课程号 检查 txtCredit 文本框中输入的是否为数值型数据 若不是 应给出提示 学分应为数值型 请重新输入学分 又因为课程表中的 课程号 字 段是主键 所以如果用户输入的课程号在课程表中已存在 系统应提示 该课程号已 存在 请重新输入课程号 在数据库的关系图设计中 课程安排信息表中的 课程号 属性列 教师安排信 息表中的 课程号 属性列 学生成绩信息表中的 课程号 属性列都是参照课程表 中的 课程号 属性列的 并且对课程表的参照完整性关系属性设置为 级联更新相 关的字段 级联删除相关的记录 所以在选择某一课程之后单击 删除 按钮时 系统应给出警告 如果删除该课程则与该课程相关的所有信息都将全部删除 确认要 删除此课程信息吗 以防用户在不知情的情况下删除某一课程 导致与该课程相关 的课程安排信息 教师安排信息 学生成绩信息全部被删除 从而造成很多麻烦 甚 至会出现严重后果 当用户确认删除此课程信息 比如已经有了新的课程可以取代此 课程 后 系统才真正从数据库的课程表中删除此课程信息 4 2 4课程安排窗体及设计思路 图 12 课程安排窗体 设计思路 教务科 即管理员 要通过本窗体实现按学期 按专业进行课程安排 教务科在选择了学期 某个学院下的某个专业之后 在本窗体左侧的 MSHFlexGrid2 控 件中应显示所选专业在所选学期里安排的全部课程 如果点击其中某门课程 然后单 击 课程安排删除 按钮 即可从数据库的课程安排信息表中删除此项课程安排并显 示 删除课程安排信息成功 如果点击窗体右侧的 MSHFlexGrid1 控件中显示的某 门课程 此时在 选择课程号 所对应的文本框 txtCourseID 中会出现所选课程对应 的课程号 然后单击 课程安排保存 即可将所选课程安排保存到数据库的课程安 排信息表中并显示 安排保存课程信息成功 同时在 MSHFlexGrid2 控件中也会显 示为本专业新增加的课程安排 在进行课程安排时 系统要能够对不合法的课程安排给出相应提示并做相应处理 如在数据库设计中 课程安排信息表中是以 学期 专业代码 课程号 三个属 性列联合作为主键的 所以当某学期某个专业已经安排过某门课程之后 如果用户再 14 次为本专业在本学期安排此门课程的时候 系统应提示 本学期本专业已安排此门课 程 请重新安排其他课程 4 2 5教师安排窗体及设计思路 图 11 教师安排窗体 设计思路 教务科 即管理员 要通过本窗体实现按学期 按班级 按课程进行 教师安排 教务科在选择了学期 某个学院下的某个专业之后 在本窗体左侧中间的 ListClass 框中中应显示所选专业下的所有班级 点击其中某个班级 则在下面的 ListCourse 框中应显示本学期本班级已安排的全部课程 其实显示的是本学期本班级 所属专业已经安排的全部课程 事实上 在高校里也确实是这样的情况 按学期为某 个专业安排课程 则此专业下的所有班级都相当于被安排了同样的课程 在 课程密 码 所对应的文本框 txtScorePwd 中显示本班级的班级代码 教务科为每个班级每个 教师设置的课程密码默认情况下为该班级的班级代码 并且在窗体右侧偏下的 MSHFlexGrid2 控件中显示本学期本班级课程的教师安排情况 此时如果点击 MSHFlexGrid2 控件中某一门课程的教师安排 然后单击 教师安排删除 按钮 即可 从数据库的教师安排信息表中删除本学期本班级在本门课程上的教师安排并显示 删 除此门课程的教师安排信息成功 如果点击窗体右侧偏上的 MSHFlexGrid1 控件中 显示的某一条教师信息 则此教师的教职工号显示在 安排教师 所对应的文本框 txtTeaID 中 可以修改 txtScorePwd 中的课程密码 即教务科在学生期末考试之后提 供给教师的课程密码 教师需要课程密码才能登陆录入学生期末考试成绩 然后单击 教师安排保存 按钮 即可将所做的教师安排保存到数据库的教师安排表中并显示 安排保存教师信息成功 同时在 MSHFlexGrid2 控件中也会显示为本班级课程新 增加的教师安排 在进行教师安排时 系统要能够对不合法的教师安排给出相应提示并做相应处理 如在数据库设计中 教师安排信息表中是以 学期 班级代码 课程号 三个属 性列联合作为主键的 所以当某学期某个班级的某门课程已经安排了某个教师之后 如果用户再次为本学期本班级的此门课程再安排教师的时候 系统应提示 本学期本 15 班级本门课程已安排了教师 请重新为本班级其他课程安排教师 4 2 6学生信息管理窗体及设计思路 图 12 学生信息管理窗体 设计思路 教务科 即管理员 要通过本窗体实现按班级批量录入 修改学生基 本信息 选择学院 专业 班级之后 如果单击 录入 按钮则打开一张 Excel 表格 的 Sheet1 工作簿 此工作簿的第一行显示数据库里学生信息表中的部分字段名称 用 户可以在此 Excel 表格中录入所选择班级的所有学生基本信息完成之后以 学生基本 信息 xls 为文件名保存在 D 盘根目录下 然后单击 保存 按钮 即可将所选择班 级的所有学生的基本信息保存到数据库的学生信息表中 并显示 保存本班学生信息 成功 如果单击 修改 按钮也可打开一张 Excel 表格的 Sheet1 工作簿 此工作 簿的内容是所选择班级的所有学生的基本信息 修改好需要修改的学生信息之后以 学生基本信息 xls 为文件名保存在 D 盘根目录下 然后单击 保存 按钮 即可 将所选择班级的所有学生修改之后的基本信息保存到数据库的学生信息表中 并显示 保存本班学生信息成功 4 2 7学生成绩录入登录窗体及设计思路 图 13 学生成绩录入登陆窗体 设计思路 不同教师登陆系统后进入的学生成绩录入登陆窗体在班级名称 课程 名称的内容选择上有所不同 各个教师登陆此窗体后在 combClass 控件和 combCourse 控件里只显示本教师所教班级 所授课程 教师也只有选择了学期 班级名称 课程 名称并正确输入教务科所给的本门课程的密码之后 才能进入学生成绩录入界面录入 16 所教班级的学生在所授课程上的平时成绩及卷面成绩 4 2 8学生成绩录入窗体及设计思路 图 14 学生成绩录入窗体 设计思路 教师成功登陆学生成绩录入窗体后 在此窗体的 txtTerm 文本框 txtClass 文本框 txtCourse 文本框 三个 Text 文本框的 enable 属性都设置为 False 里自动显示教师刚刚登陆时选择的学期 班级名称及课程名称 此时教师就可 以选择录入 修改 保存或查询 txtClass 文本框中显示的班级的所有学生在 txtCourse 文本框中显示的课程名称上的成绩 班级学生成绩都是批量录入 修改和保 存的 例如 单击 成绩录入 按钮 就会出现 Excel 表格 列出该班级所有学生的 学号和姓名 教师须在 平时成绩 卷面成绩 两列分别录入相应学生的平时成绩 及卷面成绩 然后以 学生成绩信息 xls 为文件名保存在 D 盘根目录下 再单击 成绩保存 按钮 则系统将本学期该班级所有学生在该门课程上的平时成绩 卷面 成绩以及按权重折算后的学生综合成绩都保存在数据库的学生成绩信息表中 成绩修 改 与 成绩录入 类似 修改好之后也是以 学生成绩信息 xls 为文件名保存在 D 盘根目录下 再单击 成绩保存 按钮 学生平时成绩 卷面成绩及折算后的综合成 绩就保存到数据库中的学生成绩信息表中 单击 成绩查询 按钮 即可查询刚刚录 入或修改的学生成绩 17 4 2 9学生成绩查询窗体 管理员权限查询 及设计思路 图 15 学生成绩查询窗体 管理员权限查询 设计思路 教务科 即管理员 可以按学号 姓名 专业 班级 学期 课程名 多条件选择查询本校学生成绩及补考 重修学生名单统计 并用 Excel 表格输出 5系统测试 5 1系统测试设计 5 1 1软件测试介绍 在软件系统的开发过程中 包含了人们大量的创造性生产活动 在这些生产活动 中 犯错误的机会是很多的 据有关统计 软件测试作为软件质量保证的一个重要组 成部分 在整个软件开发过程中占据了一半或一半以上的工作量 所以软件测试是系 统开发中的一个重要环节 也是在成功开发软件系统的重要保证之一 其准确的定义 是 为了发现错误而执行程序的过程 按照测试过程是否在实际应用环境中运行来分 类 可以将测试方法分为静态测试与动态测试 静态测试就是不执行被分析的程序 直接通过桌面检查 代码会审和步行检查等方法对程序进行的测试 动态测试则是直 接在计算机上运行所要测试的程序模块来进行测试的一种方法 按产生测试数据的不 同方式 动态测试可以分为功能测试和结构测试两种 1 功能测试 又称为黑盒测试 通常是在已经知道了软件产品应具有的功能 的情况下 把测试对象视为一个黑盒子 只着眼于软件的外部特性 而不考虑软件的 内部逻辑结构 是在软件的接口上进行测试 2 结构测试 又称为白盒测试 这种测试是在已经知道了软件产品内部工作 过程的情况下进行的 把测试对象视为一个打开的盒子 只着眼于软件内部的逻辑结 构 以仔细检查程序招待过程的细节为基础 设计或选择测试用例 对程序所有逻辑 路径进行测试 5 1 2系统测试设计 由于本系统运行所需的软硬件设备齐全 运行环境可靠 稳定 所以对本系统的 测试以动态测试为主 静态测试为辅 另外考虑到系统操作人员的不确定性 事件的 突发性以及错误出现的随机性 动态测试中以功能测试为主 结构测试为辅 18 5 1 3系统测试主要步骤 1 单元测试 以每一模块为一个单元 对模块进行独立测试 最大程度减少模块 内部的错误 2 系统测试 系统集成后 对模块之间的接口进行测试 保证系统运行的正确性 3 数据跟踪测试 观察功能使用前后数据的改变 以此来测试模块运行是否正确 5 2系统测试举例 5 2 1使用等价类划分法进行功能测试 黑盒测试 举例 例 管理员在按学院设置专业测试用例 设计方法如下 1 划分有效等价类和无效等价类 在 VB 中将专业代码的数据类型设置为字符型 其中数据宽度为 3 前 2 位表示专业 所属的学院 第 3 位表示本专业在所属学院的编号 为此划分出有效等价类和无效等 价类 如表 1 所示 表 1 专业代码的等价类划分 输入条件有效等价类无效等价类 专业代码1 为 3 位字符 2 少于 3 位字符 3 多于 3 位字符 字符本身 4 专业代码前两位与其所属学院代 码相同且此专业代码原来不存在 5 专业代码前两位与其所属学院代码不相同 6 此专业代码已存在 2 设计有效等价类的测试用例 如表 2 所示 在设置专业信息的时候 选择专业所属学院为理学院 专业代码为 06 选择作为 有效等价类的测试用例如下 表 2 有效等价类测试数据 测试数据预期结果测试范围 064 输入有效1 4 3 为每一个无效等价类至少设计一个测试用例 如表 3 所示 表 3 无效等价类测试数据 测试数据预期结果测试范围 06 专业代码长度不符 2 0611 专业代码长度不符 3 051 专业代码无效 5 061 此专业代码已存在 6 5 2 2使用逻辑覆盖法进行结构测试 白盒测试 举例 教务科在多条件查询学生成绩过程中 对成绩查询条件判断的测试用例 设计方 法如下 1 先画出教务科按多条件查询学生成绩的程序流程图 如图 11 19 开 始 按学号 Y N 按学期 Y N 按课程 按课程 N Y 按学 号查 询某 个学 生某 个学 期某 门课 程成 绩 按学 号查 询某 个学 生某 个学 期全 部课 程成 绩 N 按学 号查 询某 个学 生在 校全 部课 程成 绩 Y 按学 号查 询某 个学 生某 门课 程成 绩 a b c d e f g h 查询 某个 班级 学生 某个 学期 某门 课程 成绩 查询 某个 班级 学生 某个 学期 全部 课程 成绩 查询 某个 班级 学生 在某 门课 程成 绩 查询 某个 班级 学生 所学 生课 程成 绩 按班级 Y 按学期 Y 按课程 Y N 按课程 N Y N i k 提示 请选 择查 询条 件 j N l m n o p 图 11 教务科多条件查询学生成绩程流程图 2 根据条件组合覆盖标准 设计出足够多的测试用例使得每个判定表达式中条件 的各种可能组合都至少出现一次 根据上面的程序流程图 共有 6 个判断 每个判断 取值有两个 分别是为 Y 和 N 设计的测试用例如下所示 表 4 表 4 条件覆盖法测试数据 测试数据覆盖路径 按学号查询某个学生某个学期某门课程成绩 ace 按学号查询某个学生某个学期全部课程成绩 acf 按学号查询某个学生某门课程成绩 adg 按学号查询某个学生在校全部课程成绩 adh 查询某个班级学生某个学期某门课程成绩 bikm 查询某个班级学生某个学期全部课程成绩 bikn 查询某个班级学生在某门课程成绩 bilo 查询某个班级学生所学生课程成绩 bilp 请选择查询条件 bj 6总结 6 1系统开发总结 此次信息管理系统开发过程中 一开始我在对用户的需求理解得还不够透彻的情 20 况下 就直接进入了系统设计阶段 在系统设计过程中才逐渐发现自己对用户需求理 解得不够 数据库设计也很不合理 中期导师检查了我的系统 对我的系统提出了很 多问题和建议 比如 高校学生成绩信息管理系统应该重在管理高校学生成绩 而我 所设计的系统与学生成绩联系不多 教师应该能批量录入班级学生成绩 而不应该一 个学生一个学生成绩的录入 这样太麻烦了等等 导师的建议让我对用户需求有了更 深的理解 于是又我回头重新进行合理的数据库结构设计及系统功能设计 这样由于 我前期的工作没做好 导致自己中期浪费了不少时间 幸好在导师的帮助下及时发现 了问题 在接下来的时间里我及时补救了 以前学习 软件工程 课程的时候 老师 说过需求分析在软件开发过程中的重要性 我当时没有很深的认识 这次经历使我对 需求分析的重要性有了深刻的认识 在系统设计过程中有时心里构思着应该实现什么样的功能以及怎样实现 可是在 实际操作的时候总会遇到这样或那样的问题 在系统某个功能模块调试运行出现错误 的时候 我一般都是通过在 VB 中设置断点以单步执行的方式来查找错误所在 有时是 程序中所写 SQL 语句出现问题了 这可以通过添加监视来查看 SQL 字符串或者把此 SQL 语句复制到 SQL Server 查询分析器中来执行以查看 SQL 字符串的错误所在 通过这次 毕业设计 我对程序调试修改产生了兴趣 当修改成功一处错误 心里感觉很高兴 个人的能力是有限的 有时可以向老师或同学请教 可以利用网络 图书馆等多 方面的资源 比如在此次毕业设计的过程中 我也遇到了很多自己难以解决的问题 后来在老师 同学的帮助下 利用网络资源才把问题解决了 经过几个月的设计与开发 系统已经设计完成 其功能基本符合用户需求 通过 此次毕业设计 我的逻辑思维能力 编程能力 程序调试能力都得到了很大的提高 通过此次毕业设计 我把在学校里学习的理论知识真正地运用到实践中去 并在实践 中进一步加深和巩固对所学专业知识的理解 此次毕业设计对我的心理素质是一次很 好的锻炼 这对我以后的工作很有好处 6 2系统存在的问题 由于毕业设计时间较短 工作任务繁重 加上本人能力有限 所以该系统还有许 多不尽如人意的地方 最主要的就是本系统未能实现高校里有关学分制 学生选课等 方面的功能 有待进一步修改 另外 用户界面不够美观 出错处理机制还不够强大 等一些问题 这些都有待进一步改善 还有最重要的一点 这只是一个单机多用户版 的高校学生成绩信息管理系统 目前来说虽然可以在高校校园内安装系统终端 师生 可以通过终端登陆系统 但这毕竟很不方便 一方面学校学生人数众多 另一方面学 生如果不在学校的话就不能登陆系统查询成绩了 如果进一步扩大其为基于 B S 模式 网络化管理的系统 会更有优势的 致谢 在本次毕业设计过程中 我的指导老师黄勇老师给了我很多帮助 黄勇老师认真 负责的工作态度 深厚扎实的理论水平 和蔼可亲的待人态度使我受益匪浅 黄老师 不但在我的毕业设计整体设计思想方面给予我指导及建议 而且很诚恳给予我工作方 面的建议 使我对自己以后的工作有了更清楚地认识 很是感激 另外 同学们也给予了我很多的帮助 在我调试运行系统出现问题而自己解决不 了的时候 向同学请教 同学都会很热心的帮我查找问题 周末机房不开放 我宿舍 同学主动把她们的电脑让我使用 而且在我中期有段时间比较忙的时候 她们一直支 持鼓励着我

温馨提示

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

评论

0/150

提交评论