资源描述
湖北经济学院专科毕业(设计)论文
毕业论文(设计)
题目: 学生成绩管理系统的设计
40
目录
摘 要 1
第一章 概述 2
(一) 研究背景 2
(二) 研究的目地及意义 2
(三) 设计分析 3
第二章 开发工具的选择 3
(一) 开发工具的选择 3
(二) Visual Basic简介 3
(三) SQL语句简介 4
(四) ADO数据库访问技术简介 5
(五) ACCESS技术简介 6
第三章 系统分析与总体设计 6
(一) 系统需求分析 6
(二) 系统体系结构设计 7
第四章 学生成绩管理系统数据库设计 9
(一) 数据库需求分析 9
(二) 数据库概念结构设计 10
(三) 数据库逻辑结构设计 13
第五章 学生成绩管理系统详细设计 16
(一) 设计工程总框架 16
(二) 登录窗体和系统主界面设计 16
(三) 基本信息管理设计 19
(四) 学生成绩管理模块设计 26
(五) 用户管理模块设计 33
结束语 37
致谢 38
参考文献 39
摘 要
人类已进入21世纪,科学技术突飞猛进,特别是信息技术和网络技术的讯速发展和广泛应用,对社会的政治,经济,军事,文化等领域产生越来越深刻的影响。作为教育单位不可缺少的系统学生成绩管理系统,它的性能好坏对于学校的决策者和管理者来说都至关重要。本次毕业设计开发了学生成绩管理系统,该系统由Visual Basic+ACCESS+SQL查询语言实现。它的主要功能有院系管理,学生基本信息管理,学期信息管理,课程信息管理,课程安排管理,学生成绩管理,用户管理等。本毕业论文介绍了系统的开发过程,对学生成绩管理系统的系统分析、系统调查、功能设计、数据库设计、程序设计、系统测试和调试等进行了详细说明和分析。该系统设计完成后,通过上机运行性能良好,实现了学生成绩管理系统的所有基本功能。
关键词:系统分析 数据库存设计 成绩管理 成绩查询
第一章 概述
(一) 研究背景
当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
管理信息系统是进行信息的采集、存储、加工、维护和使用的系统,它是随着管理科学和技术科学的发展而形成的。学生成绩管理系统是一个教育单位不可缺少的,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,对学生来说可以轻松的查阅自己在校的成绩以及信息等。用人工的方式管理学生成绩,这种管理方式存在着许多缺点,如:效率低、保密性差、另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加,修改,删除,查询,留言等操作,同时一样的方面学生对自己各科成绩查询,学习的交流。
(二) 研究的目地及意义
当代是科技的时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛的应用。随着学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大,需要对立性能良好的数据库管理系统对学生和学校资源进行管理。因此开发出一个不仅仅是适用于大中专院校以及其它高校通用的学生成绩管理系统是很有意义的。
开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平。为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化,规范化和自动化。
(三) 设计分析
(1)管理员能够实现对整个学生信息的添加,修改,删除,查询等操作。对教师用户的添加,删除,修改等操作。
(2)教师能够在一定的权限内对所有学生成绩的查询,所有教师信息的查询,对自己的联系信息进行更新,登录密码的修改。
(3)学生可以在自己的权限内对自己成绩的查询,以及个人信息的查询,登录密码的修改。
第二章 开发工具的选择
(一) 开发工具的选择
开发数据库管理信息系统需要选择两种工具,即前台开发语言和后台数据库。根据客户需求,系统功能和性能要求可推知学生成绩管理系统是一个C/S(客户/服务器)结构的应用程序,前台开发语言通常可以选择Visual Basic,因为与其他开发工具相比Visual Basic具有简单易学、灵活方便和易于扩充等特点。由于Visual Basic与后台的Access数据库相结合,能够提供一个高性能的管理信息系统解决方案。所以采用Visual Basic作为开发工具,Access作为后台数据库,中间层采用ADO数据访问技术,将对数据库的操作以类的形式封装。
(二) Visual Basic简介
VB 是Visual Basic编程语言。1991年,美国微软公司推出了Visual Basic(可间称VB),目前的最新版本是.net中文版。
Visual 意即可视的、可见的,指的是开发像windows操作系统的图形用户界面(Graphic User Interface,GUI)的方法,它不需要编写大量代码去描述界面元素的外观和位置,只要把预先建立好的对象拖放到屏幕上相应的位置即可。Basic指的是Beginners all_purpose symbolic instruction code 初始者通用符号指令代码语言。
Visual Basic有学习版、专业版和企业版三种版本,以满足不同的开发需要。学习版适用于普通学习者及大多数使用Visual Basic开发一般Windows应用程序的人员;专业版适用于计算机专业开发人员,包括了学习版的全部内容功能以及Internet控件开发工具之类的高级特性;企业版除包含专业版全部的内容外,还有自动化构件管理器等工具,使得专业编程人员能够开发功能强大的组骨子里分布式应用程序。
VB是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。它简单易学、效率高,且功能强大可以与Windowsr专业开发工具SDK相媲美。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(SPI)函数,以用动态链接库(DLL)、对象的链接与世隔嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。随着版本的提高,Visual Basic的功能也越来越强。5.0版以后,Visual Basic推出了中文版,与前个版本相比,其功能有了很大提升。Visual Basic 6.0 是1998年的产品,后来又有几次的升级,现在用的大多数是SP4。
(三) SQL语句简介
1.SQL 语句简介
SQL全称是"结构化查询语言(Structured Query Language)",SQL包含4个部分:
(1)数据查询语言DQL-Data Query Language SELECT
(2)数据操纵语言DQL-Data Manipulation Language INSERT, UPDATE, DELETE
(3)数据定义语言DQL-Data Definition Language CREATE, ALTER, DROP
(4)数据控制语言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK
2.SQL的优点
(1)非过程化语言
(2)统一的语言
SQL为许多任务提供了命令,包括:查询数据,数据更新,在表中插入记录,在表中修改记录,在表中删除记录,建立,修改和删除数据对象,控制对数据和数据对象的存取 ,保证数据库一致性和完整性 ,以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。
(3)是所有关系数据库的公共语言
由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。SQL是大多数关系型数据库用做查询语言的语言。它是可以移植的,并且容易学习使用,但是所有SQL语句都必须由数据库服务器独立地执行。这就意味着客户端应用必须把每条查询发送到数据库服务器,等待它处理这个查询,接收结果,做一些运算,然后给服务器发送另外一条查询。所有这些东西都会产生进程间通讯,并且如果客户端在另外一台机器上甚至还会导致网络开销。
(四) ADO数据库访问技术简介
Visual Basic提供了比较丰富的访数据访问技术,如ADO、ODBC、DAO和RDO等。其中ADO是最新的数据库访问技术。它是使用更加简单,而又更加灵活的对象模型。ADO即ActiveX Data Objects 的缩写,提供对各种数据库访问的标准接口。包括的主要对象有:
(1)连接对象Connection。连接时必须指定要连接到的数据源以及连接所使用的用户名和口令等信息。
(2)命令对象Command。可以通过已建立的连接发出命令,对数据源进行指定的操作。
(3)记录集对象Recordset。查询命令可以将查询结果存储在本地,这些数据以“行”(记录)为单位,返回数据的集合被称为记录集。
(4)字段对象Field。一个记录集行包含一个或多个字段。如果将记录集看做二维网格,字段将排列起来构成列。每一字段(列)都分别包含有名称、数据类型和值的属性。
(五) ACCESS技术简介
Access 就是关系数据库开发工具,数据库能汇集各种信息以供查询,存储和检索。那么什么叫数据库呢 数据库(Database)是由一些有意义和有关系的数据(data)所组合而成。一个数据库中,包含了许多条记录(Record),而每条记录是由多个字段(Field)所组成,不同的字段存放这不同的数据。所以数据库的严格定义是一组相关记录的集合,而字段则是最基本的数据项,也是数据库中最小的单位。在计算机中用来帮我们管理数据库的系统,我们称之为数据库管理系统(Database Management System DBMS)。数据库管理系统是架构在一个或多个数据库之上,并针对数据库中的数据进行管理运用。
Access 的优点在于它能使用数据表示图或自定义窗体收集信息,数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
第三章 系统分析与总体设计
(一) 系统需求分析
学生成绩管理系统的用户是各院系(年级)负责教学管理的教师,主要功能包括院系管理、学生基本信息管理、课程设计管理和学生成绩管理等。具体说明如下:
院系(年级)信息的添加、修改、删除和查询。此功能为学生的分类管理提供依据。
学生基本信息的添加、修改、删除和查询。
课程设置信息的添加、修改、删除和查询。
学生成绩信息的添加、修改、删除和查询。
(二) 系统体系结构设计
根据上述的系统需求分析可总结出用户需求设计系统的体系结构系统的功能模块图如图3.1所示。
图3.1 学生成绩管理系统功能模块示意图
在功能模块示意图的树状结构中,每一个叶结点都是一个最小的功能模块。每一个功能模块都需要针对不同的表完成相同的数据库操作,即添加记录、修改记录、删除记录以及查询显示记录信息。
在本系统中,可以把功能模块分为以下三个功能集合来描述:
(1)基本信息管理功能集合,包括院系信息管理和学生信息管理等功能模块在此集合中功能模块的关系如图3.2所示,其中学生基本信息管理模块是整个系统中的核心。
图3.2 基本信息管理功能集合模块关系图
(2)学生成绩管理功能集合,包括课程管理和成绩管理模块。此集合中功能模块的关系如图3.3所示。
图3.3 学生成绩管理功能集合模块关系图
(3)用户管理及权限控制功能集合,包括用户信息管理、权限控制等模块。权限控制虽然不是一个独立存在的模块,但是它是贯穿在整个系统的运行过程中。
在本系统中,用户管理模块的功能比较简单。在系统初始化是,有两个默认的用户。系统管理员用户为Admin,普通用户为Users,都是由程序设计人员手动地添加到数据库中,它们的默认密码为111111。Admin用户可以创建用户、修改用户信息以及删除用户;普通用户则只能修改自己的用户名和密码。
用户管理功能模块的关系如图3.4所示。
图3.4 用户管理功能集合模块关系图
下面进行系统流程分析:
图3.5 系统流程分析图
第四章 学生成绩管理系统数据库设计
(一) 数据库需求分析
由于本系统面向的对象有两个,即系统管理员和学生,所以数据库需求分析中就要考虑两方面的因素。
对于系统管理员来说,他们所关心的是如何对本系统中的院系班级、课程、课程安排、学生成绩和学生进行管理,既对这些对象在数据库中进行查询、添加、修改和删除操作。因此针对管理员总结出如下需求信息。
(1)管理员可以对院系班级进行查看、添加、删除、修改。
(2)管理员可以对课程进行查看、添加、删除、修改。
(3)管理员可以对学生进行查看、添加、删除。
(4)管理员可以对课程安排进行查看、添加、删除、修改。
(5)管理员可以对学生成绩进行查看、添加、删除、修改。
对于学生来说,他们所关心的是登录系统后能够查看自己各科的成绩及以往的成绩,另外还应能够对个人信息进行修改。因此总结出如下需求信息。
(1)学生可以登录系统查看成绩。
(2)学生可以查看个人信息。
(3)学生可以更改个人信息。
(二) 数据库概念结构设计
(1) 系统中主要实体的E-R图
通过以上数据库需求分析,可得出数据库中存在以下实体及其之间相互关系。
院系班级实体E-R图如图4-1所示
图4-1 院系班级信息实体E-R图
学生实体的E-R图如图4-2所示
图4-2 学生信息实体E-R图
学期信息实体的E-R图如图4-3所示
图4-3 学期信息实体E-R图
课程信息实体的E-R图如图4-4所示
图4-4 课程信息实体E-R图
课程安排信息实体的E-R图如图4-5所示
图4-5 课程安排信息实体E-R图
学生成绩信息实体的E-R图如图4-6所示
图4-6 学生成绩信息实体E-R图
用户信息实体的E-R图如图4-7所示
图4-7 用户信息实体E-R图
(2) 实体之间关系的E-R图
实体之间关系的E-R图如图4-8所示
图4-8 实体之间关系的E-R图
(三) 数据库逻辑结构设计
根据以上数据库需求分析和数据库的概念结构设计,就可以设计出数据库的物理表了,数据库表及其功能如表4.1所示。
(1) 系统数据表及其功能
表4.1 数据表及其功能
数据表
功能
Classes
存放院系基本信息
Students
存放学生基本信息
Terms
存放学期基本信息
Lessons
存放课程基本信息
Arrangement
存放课程安排信息
Scores
存放学生成绩基本信息
Users
存放系统用户信息
(2) 主要表描述
表4.2学校院系班级基本信息表(Classes)
字段名
数据类型及长度
说明
备注
Class_Id
自动编号
院系编号
主键 非空
Class_Name
文本,长度50
院系名称
非空
UpperId
数字/长整型
上级院系编号
非空
表4.3 学生用户基本信息表(Students)
字段名
数据类型及长度
说明
备注
Student_Id
自动编号
学生编号
主键 非空
Student_Name
文本,长度50
姓名
非空
Sex
文本,长度2
性别
非空
Nationality
文本,长度40
民族
非空
Birth
文本,长度20
生日
非空
Family_Place
文本,长度60
籍贯
非空
Id_Card
文本,长度20
身份证号
非空
BadgeID
文本,长度40
学生证号
非空
Home_Phone
文本,长度30
家庭电话
非空
Residence
文本,长度100
居住地址
非空
Postcode
文本,长度10
邮政编码
非空
In_Date
日期/时间
入校日期
非空
Class_Id
数字/长整型
所在院系编号
外键 引用至Classes
Title
文本,长度20
职务
非空
Memo
文本,长度200
备注
非空
Fillin_Time
日期/时间
填表时间
非空
表4.4 学期信息表(Terms)
字段名
数据类型及长度
说明
备注
Term_Id
自动编号
学期编号
主键 非空
Term_Name
文本,长度50
学期名称
非空
表4.5 课程设置信息表(Lessons)
字段名
数据类型及长度
说明
备注
Lesson_Id
自动编号
课程编号
主键 非空
Lesson_Name
文本,长度100
课程名称
非空
表4.6 课程安排信息表(Arrangement)
字段名
数据类型及长度
说明
备注
Arrange_Id
自动编号
课程安排编号
主键 非空
Term_Id
数字/长整型
学期编号
外键 引用至Terms
Lesson_Id
数字/长整型
课程编号
外键 引用至Lessons
Class_Id
数字/长整型
班级编号
非空
Teacher
文本,长度50
授课教师
非空
Hours
数字/整型
课时
非空
Lesson_Type
文本,长度20
课程类型(必修,选修)
非空
表4.7学生成绩信息表(Scores)
字段名
数据类型及长度
说明
备注
Arrange_Id
数字/长整型
课程编号
外键 引用至Arrangement
Student_Id
数字/长整型
学生编号
外键引用至 students
Score
数字/整型
分数
在系统菜单中选择“工具”/“关系”,打开关系窗口,将上表添加到关系窗口中。创建关系如图4-9:
图4-9 定义关系
第五章 学生成绩管理系统详细设计
详细设计是整个系统设计过程中最复杂也是最重要的步骤之一。经过前期的需求分析和数据库设计后,可将整个工程分为设计工程总框架、登录窗体和系统主界面设计、基本信息管理设计(包括院系管理和学生基本信息管理模块的设计)、学生成绩管理设计(包括学期信息管理、课程信息管理、课程安排管理和学生成绩管理模块的设计)和用户管理模块设计。
接下来将对本系统的各个子模块分别加以介绍,但是限于篇幅本文将重点介绍其中几个重要的模块,其它模块只作简单介绍。同样由于篇幅限至,不可能把各模块所有代码都列出一一分析,因此只分析一些模块的关键代码。
(一) 设计工程总框架
根据Visual Basic 功能模块的划分原则,本工程需要用到如下几个模块:
(1)Const 用来管理工程中的常量。
(2)DbFunc 用来管理工程中与数据库操作相关的声明、变量和函数。
(3)GeneralFunc 用来管理工程中一些通用的自定义函数。
(4)Variable 用来管理工程中的公共变量。
在工程中,除了上述所需要的模块外,还需要为每一个表创建一个类模块,将对表的所有数据库操作封装在类中。类的成员变量与对应的表中的字段名相同。由于绝大多数成员函数的编码格式都非常相似,只是所使用的SQL语句不同,所以只说明类的作用不对类的成员函数及其功能进行分析。
Classes类 用来管理表Classes的数据库操作,它保存为Classes.cls。Students类 用来管理表Students的数据库操作,它保存为Students.cls。同理Terms类、Lessons类、Arrangement类、Scores类和Users类都是用来管理相应表的数据库操作,保存为*.cls。
(二) 登录窗体和系统主界面设计
当系统运行时,首先打开登录窗体,只有有权限的用户才能进入系统。登陆成功后,将会显示系统主界面。
首先设计登录窗体,登录窗体的名称为FrmLogin,如图5-1所示:
图5-1登录窗体的界面布局
登录窗体的属性设置:名称设为FrmLogin。BorderStyle设为1-Fixed Single。Caption设为身份验证。ControlBox设为False。StartUpPosition设为2-屏幕中心。登录窗体中控件的属性设置如表5-1所示:
对象名
属性
属性值
Label1
Caption
用户名
Label2
Caption
密码
txtUser
Text
空
txtPwd
Text
空
txtPwd
PasswordChar
*
Cmd_Ok
Caption
确定
Cmd_Cancel
Caption
取消
再设计主界面,主窗体是工程的启动对象,可以在系统菜单中选择“工程”/“属性”,打开属性窗口设置启动对象。主窗体名为FrmMain。
打开主窗体的设计窗口,选择“工具”菜单项中的“菜单编辑器”,对菜单内容进行编辑。菜单编辑器如图5-2所示:
图5-2菜单编辑器
最后,主界面如图5-3所示:
图5-3 学生成绩管理系统主界面
在主窗体FrmMain中添加如下代码:
Private Sub Frm_Load()
‘连接字符串
Conn=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=”+App.Path+”\ 学生成绩.mdb;”
FrmLogin.Show 1
End Sub
变量conn用于定义连接字符串。Provider是数据提供者。Data Source 指定数据库文件名,最后使用绝对路径。
当主窗体启动时,首先设置连接字符串,然后打开“登录”对话框。如果不能通过身份验证,则不能进入系统。
当选择“退出系统”菜单项时触发mn_exit_Click事件,代码如下:
Private Sub mn_exit_Click()
DBapi_Disconnect
End
End Sub
函数DBapi_Disconnect()是自定义函数,它的功能是强制断开与数据库的连接。
(三) 基本信息管理设计
基本信息管理的设计包括院系管理模块设计和学生基本信息管理模块设计。
(1)院系管理模块设计
院系管理模块可以实现以下功能:
创建院系班级记录。
修改院系班级记录。
删除院系班级记录。
查看院系班级记录。
由于本系统要使用树状结构来描述院系数据,所以要用到TreeView控件。TreeView控件是显示Node(结点)对象的分层列表,每一个Node对象均由一个标签和一个可选的位图组成。由于设计到图像的存储,所以还要使用另一个控件ImageList控件。ImageList控件的作用就像图像的存储室,用来为TreeView控件提供图像。在此,对TreeView控件和ImageList控件不做详细解释。在设计院系管理模块时,要分如下三个窗体:
第一 院系信息编辑窗体
编辑院系信息窗体可以用来添加和修改院系信息,窗体名称设置为FrmClassEdit,窗体布局如图5-4所示:
图5-4 窗体FrmClassEdit的布局
窗体属性定义与登录窗体相似,可参见登录窗体设计。
在添加院系班级时,需要在当前选择院系的下一级位置添加结点。要使用语句格式如下:
SetTmpNode=FrmClassMan.TreeView1.Nodes.Add(FrmClassMan.TreeView1.SelectedItem.Key,_tvwChild,Tmp_Key,.Class_name,4,5)
Add方法的功能时在Treeview控件的Nodes集合中添加一个Node对象。它的语法如下:
Object.Add(relative,relationship,key,text,image,selectedimage)
第二 院系信息管理窗体
院系信息管理窗体的名称设置为FrmClassMan。在窗体中添加一个ImageList控件。右击此控件,选择菜单中的“属性”命令,打开“属性页”对话框。单击“图像”选项卡,通过单击“插入图像”和“删除图像”来编辑图像列表,如图5-5所示:
图5-5 设置ImageList控件的图像列表
在窗体中添加一个TreeView控件。右击此控件,选择菜单中的“属性”命令,打开“属性页”对话框。将“图像列表”属性设置为ImageList1,其他属性可以根据需要设置。TreeView控件的属性对话框如图5-6所示:
图5-6 设置TreeView控件的属性
窗体属性与登录窗体相识,院系管理窗体的布局如图5-7所示:
图5-7 院系班级管理窗体布局
下面分析窗体FrmClassMan中部分过程的代码。
Form_Load过程:
当装入窗体FrmClassMan时触发Form_Load事件,对应代码如图5-8所示:
图5-8 Form_Load事件代码
同样:
当用户单击“添加”按钮时触发Cmd_Add_Click事件。
当用户单击“修改”按钮时触发Cmd_Modi_Click事件。
当用户单击“删除”按钮时触发Cmd_Del_Click事件。
当用户单击TreeView列表时触发TreeView1_Click 事件。
第三 设计选择院系信息窗体
为了方便用户在其他模块中选择院系信息,就要设计一个选择院系班级的窗体,窗体名为FrmClassSel。它的布局如图5-9所示:
图5-9 院系班级选择窗体布局
窗体的属性如表5-2所示:
窗体属性
数据类型及长度
说明
名称
FrmClassSel
设置窗体名称
BorderStyle
1-Fixed Single
设置窗体的边框属性
Caption
窗体的标题条文本为空
ControlBox
False
取消控件按钮
StartUpPosition
0-手动
设置窗体弹出时,位置有用户指定
表5-2 窗体FrmClassSel的属性
“选择院系班级”窗体与“院系管理”窗体的界面相似。也需要使用TreeView控件来显示院系班级,使用ImageList控件来管理TreeView控件中的图像信息。可以参照“院系管理”的设置方法将TreeView控件和ImageList控件添加到FrmClassSel窗体中,并设置它们的属性。
“选择院系班级”窗体中很多代码与“院系班级管理”窗体中的代码相同。需要说明的是,当用户单击“确定”按钮是触发Cmd_OK_Click事件。
(2)学生基本信息管理模块设计
学生基本信息管理模块可以实现以下功能:
创建学生记录。
修改学生基本信息。
删除学生记录。
查看学生基本信息。
在设计学生基本信息管理模块时,也要分三个窗体设计:
第一 设计学生信息编辑窗体
编辑学生信息的窗体可以用来添加和修改学生的基本信息,基本信息中并不包含照片。窗体名称为FrmStuEdit。窗体FrmStuEdit的布局如图5-10所示:
图5-10 窗体FrmStuEdit的布局
窗体属性与登录窗体相似。下面分析窗体FrmStuEdit的触发事件。
当FrmStuEdit窗体启动时触发Form_Load事件。此时将对窗体中显示的内容进行处理,如果是添加记录,则将所有的输入控件设置为空;如果是修改记录,则将要修改的记录内容显示在输入控件中。
当用户单击“确定”按钮时触发Cmd_OK_Click事件。
第二 设计学生信息管理窗体
学生信息管理窗体的名称为FrmStuMan,窗体布局如图5-11所示:
图5-11 学生信息管理窗体布局
窗体属性与登录窗体相似。窗体中使用了ADO Data控件,分别为学生列表控件和学生的各项属性控件提供数据源。两个ADO Data控件的名称分别为AdoStuNameList和AdoStuDetail。在窗体的右侧部分,使用Label控件显示当前学生的基本信息,每个Label控件的DataSource属性都被设置为AdoStuDetail,DataField属性被设置为相对应的字段。ADO Data控件的属性在代码中定义。下面分析窗体FrmStuMan 的触发事件:
当载入窗体是触发Form_Load事件。两个ADO Data 控件的属性在这里定义。
当单击“修改资料”按钮时触发Cmd_Modi_Click事件。
当单击“删除学生”按钮时触发Cmd_Del_Click事件。
当单击院系列表(TreeView1控件)时触发TreeView1_Click事件。
当单击学生列表(DataList1控件)时触发DataList1_Click事件。
第三 设计选择学生信息窗体
为了方便用户在其他模块中选择学生,设计一个选择学生信息的窗体,窗体名称为FrmStuSel。在窗体FrmStuSel中将使用到TreeView控件、ADO Data控件和DataList控件。
窗体属性与选择院系信息窗体相似,窗体中主要控件的属性与学生信息管理管理窗体中对应控件的属性相似。FrmStuSel窗体的布局如图5-12所示:
图5-12 选择学生窗体布局
因为显示和选择院系信息、学生信息的功能在学生信息管理窗体中已经介绍过,下面介绍其他的事件触发:
当单击学生列表(DataList1控件)时触发DataList1_Click事件。
当单击“确定”按钮时触发Cmd_OK_Click事件。
(四) 学生成绩管理模块设计
学生成绩管理模块又包括学期信息管理模块、课程信息管理模块、课程安排管理模块和学生成绩管理模块。
(1)学期信息管理模块设计
学期信息管理模块可以实现以下功能:
创建学期记录。
修改学期记录。
删除学期记录。
查看学期记录。
在设计学期信息管理模块时,可分为两个窗体来设计:
第一 设计学期信息编辑窗体
学期信息编辑窗体的名称为FrmTermEdit,窗体布局如图5-13所示:
图5-13 窗体FrmTermEdit的布局
窗体属性与登录窗体相似。
当单击“确定”按钮时触发Cmd_OK_Click事件。
第二 设计学期信息管理窗体
学期信息管理窗体的名称为FrmTermMan,窗体的布局如图5-14所示:
图5-14 窗体FrmtermMan的布局
窗体中使用DataList控件显示所有学期的列表,使用ADO Data控件为DataList控件提供数据源。
当窗体启动时触发Form_Load事件。
(2)课程信息管理模块设计
课程信息管理模块可以实现以下功能:
创建课程记录。
修改课程记录。
删除课程记录。
查看课程记录。
在设计课程信息管理模块时,也可分为两个窗体设计:
第一 设计课程信息编辑窗体
课程信息编辑窗体的名称为FrmLessonEdit,窗体布局如图5-15所示:
图5-15 窗体FrmLessonEdit的布局
窗体属性与登录窗体相似,窗体中的代码与学期信息编辑窗体相似。
第二 设计课程信息管理窗体
课程信息管理窗体的名称为FrmLessonMan,窗体的布局如图5-16所示:
图5-16 窗体FrmLessonMan的布局
窗体中的代码与学期信息管理窗体相似。
(3)课程安排管理模块设计
课程安排管理模块可以安排每个学期的课程,主要包括以下功能:
创建课程安排记录。
修改课程安排记录。
删除课程安排记录。
查看课程安排记录。
在课程安排管理模块设计时,也可分为两个窗体设计:
第一 设计课程安排编辑窗体
课程安排编辑窗体的名称为FrmArrangeEdit,窗体布局如图5-17所示:
图5-17 窗体FrmArrangeEdit的布局
窗体属性与登录窗体相似。
当单击“确定”按钮时触发Cmd_OK_Click事件。
第二 设计课程安排管理窗体
课程安排管理窗体的名称为FrmArrangeMan,窗体的布局如图5-18所示:
图5-18 窗体FrmArrangeMan的布局
在编辑课程安排信息时,需要选择学期和班级信息。
当窗体启动时触发Form_Load事件。
(4)学生成绩管理模块设计
学生成绩管理模块可以实现以下功能:
创建学生成绩信息。
修改学生成绩信息。
删除学生成绩信息。
查看学生成绩信息。
查看学生总成绩排名表。
学生成绩管理模块的设计,可分为三个窗体设计:
第一 设计学生成绩编辑窗体
学生成绩编辑窗体的名称为FrmScoresEdit,窗体布局如图5-19所示:
图5-19 窗体FrmScoresEdit的布局
窗体属性定义与登录窗体相似。Modify时公共变量。
当装入窗体时触发Form_Load过程。
当单击“确定”按钮时触发Cmd_OK_Click事件。
第二 设计学生成绩管理窗体
学生成绩管理窗体的名称为FrmScoresMan,窗体布局如图5-20所示:
图5-20 窗体FrmScoresMan的布局
窗体中使用DataGrid控件显示满足条件的学生成绩记录,使用ADO Data 控件提供数据源。
第三 设计学生成绩排名窗体
学生成绩排名窗体的名称为FrmScoresSort,窗体布局如图5-21所示:
图5-21 窗体FrmScoresSort的布局
窗体中使用DataGrid控件显示满足条件的学生总成绩记录,使用ADO Data控件提供数据源。
(五)用户管理模块设计
由于用户类型的不同,用户管理模块的功能也不同。可以包括以下三种情形:
Admin用户可以创建普通用户,对普通用户的用户名和密码进行修改,删除普通用户。
Admin用户也可修改自身的密码。
普通用户只能修改自身的用户名和密码。
对于用户管理模块的设计,也可以分为两个窗体来设计:
第一 设计用户信息编辑窗体
用户信息编辑窗体可以用来添加和修改用户信息,窗体名称为FrmUserEdit,窗体布局如图5-22所示:
图
展开阅读全文