前    言
  几年的学习即将结束,经过几个月的努力,我所设计的“学生成绩管理系统”也已完成。以往学的都是理论性很强的知识,再加上实践机会不多,更增强了我对计算机科学的兴趣。在这段时间里,我增强了自己动手的能力,更重要的是似乎把握住了计算机的一些实质性的东西--终于能够用我所学的知识解决一些实际应用的问题了。但我知道,数据库技术只是计算机科学的一个小小分支,计算机还有更广阔的领域有待我们去探索。
    这次毕业设计是用Visul Basic语言设计的“学生成绩管理系统”,这就要求对Visul Basic语言及数据库技术能够真正了解和熟练的掌握,并且能够灵活的运用。
    当今的时代是信息的时代,数据库技术是数据管理的最新方法,也是信息管理中一项非常重要的新技术,数据库管理是帮助人们处理大量信息,实现科学化和现代化的强有力工具,数据库管理子系统已发展成为通用的系统软件。由于数据库具有数据结构化、最低冗余度、较高的程序独立性、易于扩充、易于编制应用程序等优点,因而是近年来发展非常迅猛的计算机软件。数据库技术是数据信息管理技术的最新成果,被广泛应用于国民经济、文化教育、军事情报、科学计算、人工智能和计算机辅助设计领域,为计算机的应用开辟了广阔的
天地。
第一章  学生成绩管理系统
1.1需求分析
    考试成绩是学生在校期间的重要历史资料,学生成绩信息的管理(成绩的录入、查询、分类统计等)是各个学校面临的一个重要问题。该成绩管理系统主要是用于管理在校学生的考试成绩,对教、班级、学生、课程和成绩信息进行维护与管理。本系统要求运行稳定,图形用户界面符合用户的日常使用习惯,数据处理正确无误。
1.1.1系统概述
    学生成绩管理系统主要完成学生成绩的管理,包括:
(1)教师管理。主要完成教师的添加、修改、删除和查询。
(2)班级管理。主要完成班级的添加、修改、删除和班级列表。
(3)学生管理。主要完成对学生信息的添加、修改、删除和查询。
(4)课程管理。主要完成对课程信息的维护,包括课程添加、修改、删除和查询功能。
(5)成绩管理。主要完成成绩的添加、删改和成绩杳询。
1.1.2系统运行环境
  1.硬件环境
处理器:Intel pentium166MX 或更高。
内存:32M以上。
硬盘空间:1GB以上。
显卡:SVGA显示适配器。
  2.软件环境
操作系统:Windows98/XP/2000/ME
1.1.3 功能需求描述
该系统的功能需求有如下几个方面:
(1)教师管理。主要用于对教师信息进得维护。功能包括新教师信息的添加、修改和删除已有的教师信息,对教师信息进行查询。
(2)班级管理。主要用于对班级信息进行维护。功能包括对班级信息的添加、删改和班级列表。
(3)学生管理。主要用于维护学生信息。功能包括对学生信息的添加、删改和查询。
(4)课程管理。主要用于维护课程信息,功能包括课程的添加、删改和查询。
(5)成绩管理。用于维护成绩信息,功能包括成绩的添加和查询。
第二章    总体设计及流程图
  上面的需求分析已经对系统的功能需求、环境需求做了较为明确的阐述。根据上述需求,下面按照开发设计思想、功能模块、图形用户界面、数据库等方面阐述成绩管理系统的总体设计。
2.1开发与设计的总体思想
  作为学校使用的成绩管理系统,能够满足成绩管理的基本功能需求,界面简单、操作简便是设计的一个重要考虑。
2.2系统模块结构图
    依据需求分析结果,成绩管理系统的主要模块包括:教师管理、班级管理、学生管理、课程管理和成绩管理等功能,系统结构如图2-1所示。
2.2.1模块设计
1.教师管理模块
教师管理模块提供对教师信息的添加、修改、删除和查询功能。教师管理模块的功能树如图2-2所示。
2.班级管理模块
该模块主要提供的功能包括添加新的班级信息、删改班级信息和班级列表功能。班级管理模块的功能树如图2-3所示。
3.学生管理模块
该模块提供学生信息的添加、修改、删除和查询功能。学生管理模块的功能树如图2-4所示。
4.课程管理模块
该模块提供课程信息的添加、修改、删除和查询功能。课程管理模块的功能树如图2-5所示。
5.成绩管理模块
该模块提供成绩信息的添加、修改、删除和查询功能。成绩管理模块的功能树如图2-6所示。
2.2.2界面设计
    界面设应计应遵循简洁美观、方便易用的基本原则,具体设计如下。
1.主窗体菜单设计
充分考虑界面易于操作的系统需求,主窗体使用简单和直观的菜单设计,提供学生管理、
教师管理、班级管理、课程管理和成绩管理的菜单操作方式,主窗体菜单设计的效果图如图2-7所示。
图2-7  主窗体菜单设计的效果图
1.教师管理菜单设计
(1)教师信息添加界面设计
教师信息添加界面使用文本框输入教师相关基本信息,使用组合列表框选择部门和性别。单击添加按钮保存教师信息,单击返回按钮返回主菜单。具体设计效果图如图2-8所示。
图2-8    具体设计效果图
(2)教师信息修改删除界面设计
教师信息删改界面提供了组合列表框,用于选择部门和教师编号,教师编号组合列表框中的数据随部门组合列表值的变化而变化,选择教师编号,就会在下面显示出该教师的基本信息。具体设计效果图如图2-9所示。
图2-9    具体设计效果图
(3)教师信息查询界面设计
      教师信息查询界面使用三个单选按钮提供了三种查询方式:按部门查询、按职称查询和查询全部教师信息。
      在按部门查询方式中,需要从后面的组合列表框中选择部门。按职称查询需要在后面的组合列表框中选择职称。单击查询按钮就会根据所选择的查询方式,从数据库中查符合条件的数据,并显示到下面的表格中。具体设计效果图如图1-10所示。
2.学生管理界面设计
(1)学生信息添加界面设计
学生信息添加界面使用文本框输入学生的姓名、学号、生日、电话、地址和备注信息。同时使用了两个组合列表框,分别用于选择班级和性别。组合列表框中的数据会在窗体加载的时候就进行初始化。具体设计效果图如图1-11所示。
(2)学生信息删改界面设计
在学生信息删改界面中,在班级组合列表框中选择班级,该班级的所有学号会添加到学号组合列表框中,在学号组合列表框中选择学号,就会在下方显示该学生的基本信息。根据需要单击修改按钮来修改学生信息,也可以单击删除按钮来删除该学生的信息,或是单击返回按钮返回主菜单。具体设计效果图如图2-10所示。
图2-10  具体设计效果图
(3)学生信息查询界面设计
学生信息查询办面提供了四种查询方式:全部、按班级查询、按学号查询和按姓名查询。提供了一个表格用于赤示查询结果。
3.课程管理界面设计
sql语句实现的四种功能(1)课程信息添加界面设计
课程添加界面提供了文本框,用于输入课程名称、课程编号、课程学时数和学分等课程基本信息。并且提供了两个组合列表框,分别用于选择课程类型和任课教师。这两个组合列表框的数据是在加载窗体的时候进行初始化的。
(2)课程信息删改界面设计
课程信息删改界面提供了文本框,用于输入课程编号,单击查询按钮就会查该课程编号所代表的课程信息,到后将信息显示出来。修改和删除按钮用于完成修改和删除操作。
具体设计效果图如图2-11所示。
图2-11    具体设计效果图
(3)课程查询界面设计
课程查询界面使用单选按钮提供了四种查询方式:查询全部、按课程名称查询、按课程号
查询和按课程类型查询。使用表格显示查询结果。
4.成绩管理界面设计
(1)成绩录入界面设计
成绩界面使用文本框输入学生学号和课程成绩。使用组合列表框选择课程编号。使用表格显示查询结果。使用两个文本框显示学生姓名和课程名称。这两个文本框是不可编辑的。具体设计效果图如图2-12所示。
图2-12    具体设计效果图
(2)成绩删改界面设计
在成绩删改界面中的文本框中输入学生学号,在组合列表框中选择课程编号,单击查询按钮就会查询相关课程的考试成绩,成绩信息赤示在下面的课程基本信息中。可以单击修改或删除按钮来完成成绩的修改和删除。具体设计效果图如图2-13所示。
图2-13  具体设计效果图
(3)成绩查询界面设计
成绩查询界面提供了三种查询方式:按学号、按课程和按成绩查询。使用表格显示查询结果。
2.2.3数据库设计
  根据系统功能设计的要求以及功能模块的划分,数据库表结构设计如下。
1.学生信息表
名称:学生信息表(见表2-1)
表名称标识:studentInfo
数据来源:学生管理模块进行录入。
2.教师信息表
名称:教师信息表(见表2-2)
表名称标识:teacherInfo
数据来源:教师管理模块进行录入。
                  表2-1  学生信息表
名称
字段名称
类型
主键
非空
学号
Stu_no
文本
Yes
Yes
姓名
Name
文本
No
Yes
班级编号
Class_no
文本
No
Yes
出生日期
Birthdate
数字
No
Yes
性别
Sex
文本
No
Yes
通信地址
Address
文本
No
No
TelNo
文本
No
No
备注信息
Memo
文本
No
No
                      表2-2    教师信息表