资源描述
. .
目录
第一章 系统概述1
1.1 系统开发的背景1
1.2系统开发的意义1
第二章 系统需求分析2
2.1系统功能要求2
2.2 需求分析概述2
2.3 系统层次划分3
2.4 系统数据流图3
2.5 数据字典4
第三章 系统总体设计目标10
3.1 系统总体设计目标10
3.2 系统概念设计10
3.2.1 概念模式〔E-R 图〕10
3.2.2 关系模式12
3.2.3 关系模式规化说明13
3.2.4 系统数据库表构造13
第四章 数据库系统实现16
4.1系统实现工具简介16
4.2 学生信息管理系统数据库实现16
完毕语26
参考文献27
. .word.zl.
. .
第一章 系统概述
1.1 系统开发的背景
随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增加。面对庞大的信息量,传统的人工式管理会导致学生信息管理上的混乱,人力与物力过多浪费,管理费用的增加,从而使学校管理人员的负担过重,影响整个学校的运作和控制管理,因此,必须制定一套合理、有效,规和实用的学生信息管理系统,对学生信息进展集中统一的管理。通过这样的系统,可以做到信息的规管理、科学统计和快速的查询,从而减少管理面的工作量。另一面,IT产业和Internet获得了飞速开展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
提高学生信息管理的工作效率,作到信息的规管理,科学统计和快速查询,让该系统更好的为学校,社会效劳。
1.2系统开发的意义
学生信息管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找便、可靠性高、存储量大、XX性好、寿命长、本钱低等。这些优点能够极大地提高学生信息管理的效率。因此,开发一套能够为用户提供充足的信息和快捷的查询手段的学生信息管理系统,将是非常必要的,也是十分及时的。
通过对管理系统模型的研究,提出一套构造学生信息管理系统模块的法,并利用数据库,信息系统分析学的知识,结合其它学校管理业务知识,建立起相关数据模型,利用面向对象开发工具对其进展设计与开发,建立一套有效的学生信息管理系统,可以减少工作量,将管理工作科学化,规化,提高学校管理的工作质量和工作效率。
第二章 系统需求分析
2.1系统功能要求
主要功能:
(1) 学生信息管理:对学生根本信息的增加、修改和删除
(2) 学生查询:对学生根本信息和成绩的查询
(3) 学生选课:用于学生选择课程学习
(4) 学生成绩:对学生各科成绩的添加、修改和删除等管理
(5) 打印:用来打印学生的根本信息和成绩
2.2 需求分析概述
随着学校的普及和人们文化水平的提高,高效的教学管理系统越来越广泛应用于各类信息化学校。学生学籍管理系统要用性强、使用便、效率高和平安可靠等特点。
经分析我认为学生信息管理系统的具体要求为:
1、能全面管理学生的各类信息,如学生信息管理,学生查询,学生选课,学生成绩和打印等五项功能。
2、通过使用计算机能便的维护〔包括插入、删除、修改〕各信息表
3、能便的实现基于多个表的连接查询
4、系统具有操作便、简捷等特点
因而,所开发的管理系统正是围绕以上几个面进展的,在开发过程中充分考虑到本系统的应用特点,并进展了大量的检验,证明其确实到达了设计的要求。
2.3 系统层次划分
系统层次划分如图2.1所示
根本信息增加
成绩查询
根本信息管理
打印
学生成绩管理
学生选课
学生查询
根本信息删除
成绩删除
成绩修改
成绩添加
根本信息查询
根本信息修改
学生信息管理系统
图2.1 系统层次划分图
2.4 系统数据流图
数据流图是在对系统分析调查的根底上,以系统的科学性、管理的合理性、技术的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下、逐层分解,从逻辑上准确地描述应具有的数据加工功能、数据输入、数据输出、数据存储及数据的来源和去向。学生信息管理系统经过划分出各子系统及其各自的功能,以及相互联系,绘制出数据流图如图2.2所示:
P1
F2
P6
查询信息 处理
录入学生成绩
学生成绩表
学生
S-01 输入 输出
P2
系统管理人员
请求 结果 正确信息
添加修改信息处理
P4
选课 请求 S-02
选课处理
P5
删 删 请求结果
录入学生信息
除 除
F3
请 结
F1
P3
课程存储 求 果 学生信息根本表
删除信息处理
图2.2 系统数据流程图
2.5 数据字典
(1) 数据流的描述
数据流编号:D—01
数据流名称:输入请求
简述:向系统管理人员提交输入请求
数据流来源:查询信息管理
数据流去向:系统管理人员
数据项组成:学生XX+学号+请求信息
数据流量:约20/日
顶峰流量:约50/日
数据流编号:D—02
数据流名称:输出结果
简述:向查询信息处理输出结果
数据流来源:系统管理人员
数据流去向:查询信息处理
数据项组成:学生XX+学号+查询信息
数据流量:约20/日
顶峰流量:约50/日
数据流编号:D—02
数据流名称:请求结果
简述:向系统管理人员提交请求结果
数据流来源:添加修改信息处理模块
数据流去向:系统管理人员
数据项组成:学生XX+学号+请求结果
数据流量:约20/日
顶峰流量:约50/日
数据流编号:D—04
数据流名称:正确信息
简述:向添加修改信息处理模块输出正确信息
数据流来源:系统管理人员
数据流去向:添加修改信息处理模块
数据项组成:学生XX+学号+正确信息
数据流量:约20/日
顶峰流量:约50/日
数据流编号:D—05
数据流名称:删除请求
简述:向系统管理人员提交信息删除请求
数据流来源:删除信息模块
数据流去向:系统管理人员
数据项组成:学生XX+学号+删除请求
数据流量:约20/日
顶峰流量:约50/日
数据流编号:D—06
数据流名称:删除结果
简述:向删除信息处理模块输出删除结果
数据流来源:系统管理人员
数据流去向:删除信息处理模块
数据项组成:学生XX+学号+删除结果
数据流量:约20/日
顶峰流量:约50/日
(2) 处理逻辑的描述
处理逻辑编号:P1
处理逻辑名称:查询信息处理
简述:学生对自己的根本信息和成绩进展查询
输入的数据流:输出结果
处理描述:根据管理人员输出结果使用户可以查询所需要的信息
输出的数据流:输入请求
处理频率:5次/日
处理逻辑编号:P2
处理逻辑名称:添加、修改信息处理
简述:通过请求结果对学生的根本信息和成绩进展添加、修改操作
输入的数据流:请求结果
处理描述:完善学生的根本信息和成绩的管理,使之更准确有效
输出的数据流:正确信息
处理频率:5次/日
处理逻辑编号:P3
处理逻辑名称:删除信息处理
简述:通过请求结果对学生的根本信息和成绩删除操作
输入的数据流:删除请求
处理描述:对于错误信息或者失效信息进展删除操作
输出的数据流:删除结果
处理频率:5次/日
处理逻辑编号:P4
处理逻辑名称:选课处理
简述:学生根据自己的时间和喜好对课程进展选择性学习
处理描述:完成学生的课程选择
处理频率:5次/日
处理逻辑编号:P5
处理逻辑名称:录入学生信息
简述:将学生的根本信息录入该系统
处理描述:对学生的信息进展录入
处理频率:5次/日
处理逻辑编号:P6
处理逻辑名称:录入学生成绩
简述:将学生的考试成绩录入该系统
处理描述:对学生的成绩进展录入
处理频率:5次/日
(3)数据存储的描述
数据存储编号:F1
数据存储名称:学生信息根本表
简述:包含学生所有的根本信息
数据存储组成:学生XX+学生学号+性别+年龄+出生年月+XX+籍贯+政治面貌+社会关系+家庭住址+联系式
关键字:学生学号+XX
相关处理:P2,P3,P5
数据存储编号:F2
数据存储名称:学生成绩表
简述:学生选修所有成绩的汇总表
数据存储组成:课程号+课程名+任课教师+上课地点+上课次+考试成绩
关键字:课程号+课程名
相关处理:P2,P3,P6
数据存储编号:F3
数据存储名称:课程存储
简述:对学生所选的课程进展存储
数据存储组成:学生XX+学生学号+所选课程+课程教师+课程所在教室
关键字:学生学号+所选课程+课程教师+上课地点
相关处理:P4
(4)外部实体的描述
外部实体编号:S—01
外部实体名称:学生
简述:是该系统中进展信息和成绩查询的用户
外部实体编号:S—02
外部实体名称:系统管理人员
简述:系统管理人员对学生信息进展添加、修改和删除操作
输出的数据流:输出结果,正确信息,删除结果
第三章 系统总体设计目标
3.1 系统总体设计目标
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一局部,使用计算机对学生信息进展管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找便、易修改、可靠性高、存储量大、数据处理快捷、XX性好、寿命长、本钱低、便于打印等。这些优点能够极大地提高学生信息管理的效率,也是学生信息管理的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。使之减轻系统管理人员的负担,充分发挥电脑的作用。
学生信息管理系统是学生管理工作中不可缺少的局部,它的容对于学校和学生来说都至关重要,所以学生信息管理系统应该能够为管理者或使用者提供充足的信息和快捷的数据处理手段。对学生信息和成绩进展录入、查询、修改、增加、删除等功能,而且可以实现选课功能。高效性通过系统的实用,能够改变旧的学生信息管理模式,使对学生的信息和成绩进展查询、增加、修改和删除以及具备选课的功能。便于学校的管理和学生的查询。
3.2 系统概念设计
所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑构造功能。
学生信息管理信息系统可以划分的实体有:院系类别信息实体、班级信息实体、专业信息实体、学生信息实体、教师信息实体和课程信息实体。
3.2.1 概念模式〔E-R 图〕
1、E-R图
〔1〕班级实体图如图3.1所示
班级
人数
班号
班名
图 3.1 班级实体图
〔2〕教师实体图如图3.2所示
教师
XX
性别
教师号
图 3.2 教师实体图
〔3〕学生实体图如图3.3所示
XX
学号
出生年月
性别
学生
图 3.3 学生实体图
〔4〕课程实体图如图3.4所示
课程名
课程号
课程
开课学期
学分
图 3.4 课程实体图
(5) 系统E-R图图3.5所示
班级
1
R1
n
学生
m
成绩
选修
n
教师
讲授
课程
m n
上课时间
上课地点
图3.5系统E-R图
2、系统E-R图说明
(1)一个班级包括假设干名学生
(2〕一个学生可以选修多门课程,一个课程可以被多个学生选修
(3〕一个教师可以讲授多门课程,一门课程可以被多名教师讲授
3.2.2 关系模式
班级〔班号,班名,人数〕
学生〔学号,XX,性别,出生年月〕
课程〔课程号,课程名,学分,开课学期〕
教师〔教师号,XX,性别〕
选修〔学号,课程号,成绩〕
讲授〔教师号,课程号,上课时间,上课地点〕
3.2.3 关系模式规化说明
(1) 班级表的主属性是班号,经分析班级模式在满足第一式的根底上还满足第二式,并且它的任一个非主属性都不传递依赖于主属性班号,因此也满足第三式。
(2) 学生表的主属性是学号,经分析学生模式在满足第一式的根底上还满足第二式,并且它的任一个非主属性都不传递依赖于主属性学号,因此也满足第三式。
(3) 课程表的主属性是课程号,经分析课程模式在满足第一式的根底上还满足第二式,并且它的任一个非主属性都不传递依赖于主属性课程号,因此也满足第三式。
(4) 教师表的主属性是教师号,经分析教师模式在满足第一式的根底上还满足第二式,并且它的任一个非主属性都不传递依赖于主属性教师号,因此也满足第三式。
(5) 选修表的主属性是学号和课程号,经分析选修模式在满足第一式的根底上还满足第二式,并且它的任一个非主属性都不传递依赖于主属性学号和课程号,因此也满足第三式。
(6) 讲授表的主属性是教师号和课程号,经分析班级模式在满足第一式的根底上还满足第二式,并且它的任一个非主属性都不传递依赖于主属性,因此也满足第三式。
3.2.4 系统数据库表构造
〔1〕 表 3—1 数据库索引表
表名
中文名
class
班级表
student
学生表
course
课程表
teacher
教师表
xuanxiu
选修表
jiangshou
讲授表
〔2〕 表3-2 班级表
字段名
字段类型
长度
字段值约束
对应中文名
数据列举
BH
Varchar
10
Not null
班号
082202H
BM
Varchar
20
Not null
班名
信管
RS
Varchar
10
Not null
人数
40
〔3〕 表3-3 学生表
字段名
字段类型
长度
字段值约束
对应中文名
数据列举
SN
Varchar
20
Not null
学号
5
SNAME
Varchar
10
Not null
XX
一乐
SEX
Varchar
4
Not null
性别
女
BIRTH
Varchar
10
Not null
出生年月
1989.10
〔4〕 表3-4 课程表
字段名
字段类型
长度
字段值约束
对应中文名
数据列举
Varchar
20
Not null
课程号
080021
AME
Varchar
10
Not null
课程名
管理信息系统
XF
Varchar
4
Not null
学分
5
TIME
Varchar
20
Not null
开课学期
10-11学年第二学期
〔5〕 表3-5 教师表
字段名
字段类型
长度
字段值约束
对应中文名
数据列举
TN
Varchar
20
Not null
教师号
030010
TN
Varchar
10
Not null
XX
武妍
SEX
Varchar
10
Not null
性别
女
〔6〕 表3-6 选修表
字段名
字段类型
长度
字段值约束
对应中文名
数据列举
SN
Varchar
20
Not null
学号
5
Varchar
20
Not null
课程号
080021
CJ
Varchar
10
Not null
成绩
85
〔7〕 表 3-7 讲授表
字段名
字段类型
长度
字段值约束
对应中文名
数据列举
TN
Varchar
20
Not null
教师号
030010
Varchar
20
Not null
课程号
080021
SHIJIAN
Varchar
10
Not null
上课时间
第二节课
PLACE
Varchar
10
Not null
上课地点
18楼1阶
第四章 数据库系统实现
4.1系统实现工具简介
SQL Server 2000简介:
SQL Server 是一个关系数据库管理系统,它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的于1988 年推出了第一个OS/2 版本在Windows NT 推出后Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了Microsoft 将SQL Server 移植到Windows NT。系统上专注于开发推广SQL Server 的Windows NT 版本Sybase 那么较专注于SQL Server在UNIX 操作系统上的应用。
SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了多更先进的功能,具有使用便、可伸缩性、与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的效劳器等多种平台使用。
4.2 学生信息管理系统数据库实现
1.用SQL语言分别建立班级表、学生、课程、教师表。代码如下:
〔1〕班级表
CREATE Table 班级表
(
班号 varchar(10)not null primary key(班号),
班名 varchar(20),
人数 varchar(10),
)
〔2〕学生表
CREATE Table 学生表
(
学号 varchar(20) not null primary key(学号),
XX varchar(10) not null,
性别 varchar(4),
出生年月 varchar(10),
)
〔3〕课程表
CREATE Table 课程表
(
课程号 varchar(20) not null primary key(课程号),
课程名 varchar(10),
学分 varchar(4)
开课学期 varchar(20),
)
〔4〕教师表
CREATE Table 教师表
(
教师号 varchar(20) not null primary key(教师号),
XX varchar(10),
性别 varchar(10),
)
2、 原代码设计
〔1〕登陆界面
源代码
Option Explicit
Dim stuflag As Boolean '标记用户是否为学生
Public LoginSucceeded As Boolean
Private Sub cmdCancel_Click()
'设置全局变量为 false
'不提示失败的登录
LoginSucceeded = False
Me.Hide
End Sub
Private Sub cmdOK_Click()
'检查正确的密码
Dim num1 As Integer
Dim num2 As Integer
If Len(txtUserName.Text) > 0 And Len(txtPassword) > 0 And stuflag = False Then '管理人员
Adodc1.Item(0).mandType = adCmdText
Adodc1.Item(0).RecordSource = "select * from wjuser where uname='" & Trim(txtUserName.Text) & "'And upasw='" & Trim(txtPassword.Text) & "'"
Adodc1.Item(0).Refresh
num1 = Adodc1.Item(0).Recordset.RecordCount
Else '学生
Adodc1.Item(1).mandType = adCmdText
Adodc1.Item(1).RecordSource = "select sname spasw from wjstudent where sname= '" & Trim(txtUserName.Text) & "'And spasw='" & Trim(txtPassword.Text) & "'"
Adodc1.Item(1).Refresh
num2 = Adodc1.Item(1).Recordset.RecordCount
End If
If num1 <= 0 And num2 <= 0 Then
MsgBox "无效的密码,请重试!", , "登录"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
Else
LoginSucceeded = True
Me.Hide
MDIForm1.Show
End If
End Sub
Private Sub Option1_Click(Index As Integer)
If Index = 0 Then
If stuflag = False Then
stuflag = True
End If
Else
If stuflag = True Then
stuflag = False
End If
End If
End Sub
图5.1 系统登陆界面
(2)添加用户界面
源代码
Private Sub mand1_Click() '添加用户
Adodc1.Recordset.AddNew
End Sub
Private Sub mand2_Click() '更新
Adodc1.Recordset.Fields("uname") = Trim(Text1.Text)
Adodc1.Recordset.Fields("upasw") = Trim(Text2.Text)
Adodc1.Recordset.Update
MsgBox "添加成功!", , "提示"
End Sub
图5.2 用户添加界面
(3)用户密码修改界面
源代码
Private Sub mand1_Click()
mand2.Enabled = False '使取消按钮不可用
If Len(Text4.Text) <> 0 Then '查看输入用户是否存在
Adodc1.mandType = adCmdText
Adodc1.RecordSource = "select * from wjuser where uname='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount <= 0 Then
MsgBox "没有该用户!,请重新输入", , "提示"
Else
If Len(Text1.Text) <> 0 Then '查看旧密码是否正确
Adodc1.mandType = adCmdText
Adodc1.RecordSource = "select * from wjuser where upasw='" & Trim(Text4.Text) & "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount <= 0 Then
MsgBox "密码不正确,请重新输入!", , "提示"
Else
If Len(Text2.Text) <> 0 Then '确认密码并修改
If Len(Text3.Text) <> 0 Then
If Text2.Text <> Text3.Text Then
MsgBox "您的输入不一致,请重新确认!", , "提示"
Else
Adodc1.Recordset.Fields("upasw") = Trim(Text3.Text)
Adodc1.Recordset.Update
MsgBox "修改成功", , "提示"
End If
End If
End If
End If
End If
End If
End If
End Sub
Private Sub mand2_Click() '取消
mand1.Enabled = False '使修改按钮不可用
Adodc1.Recordset.CancelUpdate
End Sub
Private Sub mand3_Click()
Unload Me
End Sub
图5.3 密码修改界面
(4)学生密码修改界面
源代码
Private Sub mand1_Click() '修改
mand2.Enabled = False '使取消按钮不可用
If Len(Text4.Text) <> 0 Then '查看输入学号是否存在
Adodc1.mandType = adCmdText
Adodc1.RecordSource = "select * from wjstudent where sno='" & Trim(Text4.Text) & "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount <= 0 Then
MsgBox "没有该学号!,请重新输入", , "提示"
Else
If Len(Text1.Text) <> 0 Then '查看旧密码是否正确
Adodc1.mandType = adCmdText
Adodc1.RecordSource = "select * from wjstudent where spasw='" & Trim(Text1.Text) & "'"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount <= 0 Then
MsgBox "密码不正确,请重新输入!", , "提示"
Else
If Len(Text2.Text) <> 0 Then '确认密码并修改
If Len(Text3.Text) <> 0 Then
If Text2.Text <> Text3.Text Then
MsgBox "您的输入不一致,请重新确认!", , "提示"
Else
Adodc1.Recordset.Fields("spasw") = Trim(Text3.Text)
Adodc1.Recordset.Update
MsgBox "修改成功", , "提示"
End If
End If
End If
End If
End If
End If
End If
End Sub
Private Sub mand2_Click() '取消
Adodc1.Recordset.CancelUpdate
mand1.Enabled = False '使修改按钮不可用
End Sub
Private Sub mand3_Click() '退出
Unload Me
End Sub
图5.4 学生密码修改界面
(5)信息查询
源代码
Dim nameflag As Boolean '标记是否按XX查询
Private Sub mand1_Click() '个人信息查询
Dim searchSQL As String
Adodc1.mandType = adCmdText
If nameflag = False Then
searchSQL = "select * from wjstudent where sno ='" & Trim(Text1.Text) & "'" '按学号查询
Else
searchSQL = "select *from wjstudent where sname ='" & Trim(Text1.Text) & "'" '按XX查询
End If
Adodc1.RecordSource = searchSQL
Adodc1.Refresh
If Adodc1.Recordset.RecordCount <= 0 Then
MsgBox "不存在此纪录!请重新输入", , "警告"
End If
End Sub
Private Sub mand2_Click() '退出查询信息窗体
Unload Me
End Sub
Private Sub Option1_Click(Index As Integer) '选择查询标准
nameflag = False
If Index = 0 Then
If nameflag = True Then
nameflag = False
End If
End If
If Index = 1 Then
If nameflag = False Then
nameflag = True
End If
E
展开阅读全文