学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。而学习成绩是这两个实体"学生"和"成绩"共有的属性,应填在二者的联系"学习"边。因为成绩既不是学生独有的,也不是课程独有的;"学生甲70分"或"英语70分"是不完全的,说"学生甲英语70分"才是正确的,因为70分是学生甲和英语课二者共有的。这个E-R图可画成下图。
学生成绩管理系统中学生与课程的E-R图
教师与课程这两个实体之间,是一对多联系;一位教师可以都多门课程,而一门课程对于学生成绩来说只能有一位教师(英语、高等数学有多位教师教,但对某个固定的学生来说只能有一位教师)。其E-R图,如下所示。
教师与课程的E-R图组合到一起,得到最后的E-R图,有了E-R图,就可以设计数据库。下图为数据模型图。
2.4功能分析:功能层次图
3.系统设计
3.1软件模块结构设计
3.1.1系统方案确定
通过对系统的调研与分析,系统主要应完成的功能有:班级管理、学生成绩管理、学生交费管理、课程管理、成绩管理、系统管理等功能。
3.1.2软件结构设计
本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。
3.2数据库设计
数据库采用了Microsoft推出的Access数据库,这是微软集成到Office中的一个桌面数
据库,能够快速方便的和Office的其他套件综合使用。由于Access具有显著的简易性和有效性,大量的桌面数据库系统都采用Access作为后台数据库。使用Access的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件SQLServer,此时,程序只需要简单的修改一下链接(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。
3.2.1本系统中所涉及到的主要实体共有九个数据表:
allkecheng表:{课程名称,教材}
cj表:{学号,学期,类型,课程名称,分数}
class表:{年级,班级,教室,年制,专业,班主任,备注}
classkecheng表:{年级,专业,年制,学期,课程名称}
jf表:{学号,学期,交费,欠费,日期,操作员}
kaoshileixing表:{类型}
use表:{username,password,admin,readonly,qx1,qx2,qx3,qx4}
xj表:{学号,姓名,性别,班级,出生年月,家庭住址,邮政编码,联系电话,入学时间,备注}
suefei表:{年级,专业,年制,学期,学费}
3.2.2各表的物理结构如下:
allkecheng表:
字段名称
类型
宽度
小数位
课程名称
文本
20
教材
文本
30
Cj表:
字段名称
类型
宽度
小数位
学号
文本
10
学期
文本
50
类型
文本
16
课程名称
文本
20
分数
单精度型数字
自动
Class表:
字段名称
类型
宽度
小数位
年级
文本
16
班级
文本
20
教室
文本
5
年制
文本
8
专业
文本
16
班主任
文本
8
备注
备注
Classkecheng表:
字段名称
类型
宽度
小数位
年级
文本
16
专业
文本
12
年制
文本
8
学期
文本
50
课程名称
文本
20
Jf表:
字段名称
类型
宽度
小数位
学号
文本
5
学期
文本
50
交费
货币
自动
欠费
货币
自动
日期
日期/时间
操作员
文本
10
Kaosileixing表:
字段名称
类型
宽度
小数位
类型
文本
10
Use表:
字段名称
类型
宽度
小数位
username
文本
20
password
文本
20
Admin
文本
2
Readonly
文本
2
Qx1
文本
2
Qx2
文本
2
Qx3
文本
2
Qx4
文本
2
xj表:
字段名称
类型
宽度
小数位
学号
文本
9
姓名
文本
8
性别
文本
2
班级
文本
10
出生年月
日期/时间
家庭住址
文本
30
邮政编码
数字(长整型)
联系电话
数字(长整型)
入学时间
日期/时间
备注
备注
xuefei表:
字段名称
类型
宽度
小数位
年级
文本
16
专业
文本
50
年制
文本
20
学期
文本
40
学费
货币
自动
4.系统的功能
本部分主要内容为本系统的运行界面以及主要界面的源代码。
4.1系统登陆界面:
本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在USE表中,本系统根据不同的用户而设置了不同的权限,可以用909;909为用户名和密码来登陆本系统。
PrivateSubCommand1_Click()
DimmrcAsADODB.Recordset
txtsql="selectusernamefromusewhereusername='"&Trim(Text1.Text)&"'"
Setmrc=ExecuteSQL(txtsql)
Ifmrc.EOF=TrueThen
MsgBox"用户名错误!",vbExclamation+vbOKOnly,"警告"
Text1.SetFocus
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
ExitSub
EndIf
username=mrc.Fields(0)
txtsql2="selectusernamefromusewherepassword='"&Trim(Text2.Text)&"'"
Setmrc=ExecuteSQL(txtsql2)
Ifmrc.EOF=TrueThen
MsgBox"密码错误!",vbExclamation+vbOKOnly,"警告"
Text2.SetFocus
Text2.SelStart=0
Text2.SelLength=Len(Text2.Text)
ExitSub
EndIf
txtsql="selectusernamefromusewhereusername='"&Trim(Text1.Text)&"'andpassword='"&Trim(Text2.Text)&"'"
Setmrc=ExecuteSQL(txtsql)
Ifmrc.EOF=TrueThen
MsgBox"用户名称和密码不匹配!",vbExclamation+vbOKOnly,"警告"
ExitSub
EndIf
MDIForm1.Show
frmcpass.Text1.Text=Text1.Text
UnloadMe
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
Text2.SetFocus
EndIf
EndSub
PrivateSubText2_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
Command1.SetFocus
EndIf
EndSub
4.2系统主界面:
本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,共有6个功能菜单和19个子菜单(功能模块),从而实现了本系统从班级管理、档案管理、缴费管理、课程管理、成绩管理等系统的具体功能,同时,在系统管理模块中可以完成对本系统的安全性管理。
PrivateDeclareFunctionSetWindowPosLib"user32"(ByValhwndAsLong,ByValhWndInsertAfterAsLong,ByValXAsLong,ByValYAsLong,ByValcxAsLong,ByValcyAsLong,ByValwFlagsAsLong)AsLong
Dimfind1AsInteger
Dimliulan1AsInteger
PrivateSubadd_Click()
qxstr=Executeqx(2)
Ifqxstr="false"Orqxstr="readonly"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
Form1.Show
modi=False
Form1.ZOrder(0)
EndSub
PrivateSubcjadd_Click()
fenshumodi=False
qxstr=Executeqx(4)
Ifqxstr="false"Orqxstr="readonly"Then
ss=MsgBox("对不起,你没有管理本功能的权限,请与管理员联系!",vbInformation+vbOKOnly,"警告")
ExitSub
EndIf
frmcj2.Show
frmcj2.ZOrder0
EndSub
PrivateSu
上一篇:
vb+sql人事工资管理系统毕业设计(论文+源程序+PPT)(论文和程序)
下一篇:
白色姜花,略微开了