学生信息管理系统设计.docx
- 文档编号:6964566
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:29
- 大小:740.91KB
学生信息管理系统设计.docx
《学生信息管理系统设计.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统设计.docx(29页珍藏版)》请在冰豆网上搜索。
学生信息管理系统设计
数据库
课程设计报告
论文(设计)题目:
数据库课程设计
学院、系:
信息工程学院
专业(方向):
电子商务
年级、班:
2014级电子商务二班
学生姓名:
娟
学号:
9
指导教师:
X旭东
1.引言
学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件学生成绩,这种管理方式存在着许多缺点,如:
效率低、XX性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难[1]。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生学生成绩信息进行管理,具有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、XX性好、寿命长、成本低等。
这些优点能够极大地提高学生学生成绩管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情。
结合上述要求,在基于SQL2000数据库技术以及面向对象的编程技术的基础上,研究了这套学生信息管理系统。
该系统可以实现学生基本信息的管理和成绩管理,并可实现多用户登陆。
由于时间紧迫、掌握技术有限等条件限制,本系统可能还存在着一些不足之外,敬请老师同学批评指导。
2.SQL语言介绍
SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言,是访问数据库的标准语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。
虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作[1]。
SQL语言是一种非过程化语言,它一次处理一个记录集合,对数据提供自动导航。
SQL语言允许用户在高层的数据结构上工作,而不对单个记录进行操作。
SQL语言不要求用户指定数据的存取方法,而是使用查询优化器,由系统决定对指定数据存取的最快速手段。
当设计者在关系表上定义了索引时,系统会自动利用索引进行快速检索,用户不需知道表上是否有索引或者有什么类型的索引等细节。
SQL语言可以完成许多功能,例如:
(1)查询数据;
(2)在数据库表格中插入、修改和删除记录;
(3)建立、修改和删除数据对象;
(4)控制对数据和数据对象的存取;
(5)确保数据库的一致性和完整性等。
值表达式…][WHERE条件表达式]
3.需求分析
3.1项目开发目标
学生信息管理系统是面向教育部门的学生管理事务,包括学生基本信息管理,学生成绩管理等工作,是利用计算机进行集中管理而开发的系统。
根据学生信息管理的需求和特点,该系统实施后,应达到以下目标:
(1)灵活地运用表格输入数据,使信息传递更快捷;
(2)系统采用人机对话方式,界面美观友好、数据存储安全可靠;
(3)键盘操作,快速响应;
(4)实现各种信息的添加、删除、修改、查询等;
(5)系统运行稳定、安全可靠。
3.2系统的运行环境
此系统,代码使用VB语言编写,数据库管理系统采用SQL2012数据库管理系统,运行在Windows2010系统下。
系统总体设计
1.系统总体设计框图
2.系统功能模块设计
系统功能包括可视化窗口,对各种信息的添加、修改、删除和查询等具体功能如图4.2所示。
数据库设计
1.ER模型的设计
毕业生就业管理系统概念结构设计是在系统的需求分析、数据流程图和数据字典基础上的抽象,结合联系ER模型的设计方法,进行如下概要结构设计。
为了使ER图表示得更加清晰,将E-R图分成实体属性ER图及实体联系ER图。
(1)用实体及其属性的部分ER图表示数据库系统的概念模型。
①学生信息实体ER图,如图5.1所示:
②班级信息实体ER图,如图5.2所示:
③班级信息实体ER图,如图5.3所示:
④用户实体ER图,如图5.4所示:
(2)
用实体及其联系的部分ER图表示数据库系统的概念模型,实体之间ER图,如图5.5所示:
2.数据库逻辑结构设计[3]
逻辑设计的目的是把概念数据模型转化为数据库管理系统可以处理的逻辑模型。
也即将由ER图表示的概念模型转换为DBMS通用的逻辑模型,如关系模型,然后对其进行优化。
以关系模型为目标的逻辑结构设计方法是将ER实体图中概念模型映射为关系模型,并且包括一组关系定义,映射的步骤如下:
(1)把ER实体图中的每个实体变换为一个关系模型。
(2)变换每个关系:
多对多模型需要加一个单独的关系模型;而一对一的或者一对多的联系可用在实体中增加属性(此处为外键)来模型化。
(3)ER图中的属性可转换为关系的属性。
3.数据库物理设计
系统中的数据表如下所示:
(1)系统用户数据表(用户表)记录系统所有用户名和密码信息,表中的各个字段以及各个字段的说明如表5.1所示:
字段名称
数据类型
字节数
说明
用户名
文本
6
主键
密码
文本
6
非空
(2)学生信息表记录学生学号、XX等基本信息,表中的各个字段以及各个字段
的说明如表5.2所示:
字段名称
数据类型
字节数
说明
学号
文本
9
主键
姓名
文本
10
允许空
性别
文本
2
允许空
年龄
数值
4
允许空
系别
文本
20
允许空
(3)学生成绩表记录学生学号、课程号及相关的成绩,表中各个字段以及各个字
段的说明如表5.3所示
字段名称
数据类型
字节数
说明
学号
文本
6
主键
课程号
文本
4
主键
成绩
数值
4
允许空
(4)课程信息表记录课程号、课程名等相关信息,表中各个字段以及各个字段的
说明如表5.4所示:
字段名称
数据类型
字节数
说明
课程号
文本
4
主键
课程名
文本
20
允许空
先行课
文本
4
允许空
学分
数值
2
允许空
(5)学生专业表记录学号、、专业等相关信息,表中各个字段以及各个
字段的说明如表5.5所示:
字段名称
数据类型
字节数
说明
学号
文本
6
主键
姓名
文本
4
主键
专业
文本
255
允许空
系统详细设计
1.数据库及表创建
启动SQL2000Server,右击“数据库”点击“新建数据库”,在弹出的“数据库属性”对话框中可键入数据库名及其它其它信息,如图6.1所示:
数据库创建完毕后,点击可打开。
右击“表”选择“新建表”,可以进行表的创建以及进行相关的表属性设置,如图6.2所示:
创建完表后右击对应表名——“打开表”——“返回所有行”,可对表进行添加、修改、插入、删除等相应编辑操作,如图6.3所示:
2.
创建工程项目
(1)启动VB6.0,出现VB6.0运行界面,如图6.4所示:
(2)点击“文件”——“保存工程”保存当前工程文件。
3.主窗体的建立
在VB程序设计中,主界面负责应用程序的主界面,由它调用其它模块。
因此,主界面应该具有操作性好、界面清晰、使用户能够很方便地找到所需功能的特点。
系统的主界面部在相应的系统菜单组成,用户只需点击相应的菜单使可调出对应的系统模块。
相应代码:
PrivateSubchangecj_Click()
Form6.Show
EndSub
PrivateSubcjshuru_Click()
Form7.Show
EndSub
PrivateSubdispcj_Click()
Form5.Show
EndSub
PrivateSubexit_Click()
End
EndSub
PrivateSubnewuser_Click()
Form11.Show
EndSub
PrivateSubnewusr_Click()
Form10.Show
EndSub
PrivateSubstucase_Click()
Form3.Show
EndSub
PrivateSubxskcgl_Click()
Form9.Show
EndSub
PrivateSubxueshendagl_Click()
Form8.Show
EndSub
PrivateSubxueshengcx_Click()
Form4.Show
EndSub
3.1用户登陆模块
本模块共有三个部分组成:
用户登陆窗体、密码修改窗体、新用户注册窗体。
用户登陆窗体主要由文本框及命令按钮组成,利用Adodc控件及DataGrid控件实现程序代码与SQL数据的连接(如图6.6所示)。
用户键入用户名及密码后点击“确定”按钮系统会通过上述两个控件与数据库进行连接并进行数据的比较,如果存在该用户及密码正确则会进行系统跳转进行主控制界面,否则会提示用户出错,重新输入用户名及密码,次数无限制。
默认用户名为:
admin,默认密码为:
123456
用户登陆窗口
密码修改窗体及新用户注册窗体及登陆窗体的控件组成大致相同,这里不再详述。
用户登陆代码:
DimusernameAsString,userpassAsString
PrivateSubmand1_Click()
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find("userID='"&Text1&"'")
IfAdodc1.Recordset.EOFThen
MsgBox"无此用户,请重新输入!
"
ExitSub
Else
abc=Adodc1.Recordset.Fields
(1)
IfText2=Trim(abc)Then
MsgBox"欢迎使用本系统,点击进入!
",vbOKOnly,"登陆"
Me.Hide
Form2.Show
Else
MsgBox"用户名或密码不正确,请重新输入!
"
Text1=""
Text2=""
ExitSub
EndIf
EndIf
EndSub
PrivateSubmand2_Click()
End
EndSub
3.2新生注册窗体
点击“新生注册”——“学生档案”可打开本窗体,本窗体专门为新生注册使用。
通过ADODC控件实现本窗体与数据库学生表的连接,文本框默认不可编辑,用户点击“添加记录”按系统提示可自动完成添加。
如图6.7所示
对应代码:
PrivateSubmand1_Click()
Adodc1.Recordset.AddNew
Text1=InputBox("请输入学生学号","添加学号")
Text2=InputBox("请输入学生XX","添加XX")
Text3=InputBox("请输入学生性别","添加性别")
Text4=InputBox("请输入学生年龄","添加年龄")
IfNotIsNumeric(Text4)Then
MsgBox"请输入数值"
Text4.SetFocus
EndIf
Text5=InputBox("请输入学生系别","添加系别")
resu=MsgBox("确认添加到数据库",vbOKCancel,"确认添加")
Ifresu=vbOKThen
Adodc1.Recordset.Update
Else
Adodc1.Recordset.Delete
EndIf
EndSub
PrivateSubmand2_Click()
Me.Hide
Form2.Show
EndSub
3.3成绩修改窗体
本窗体通过ADODC控件连接数据库的成绩表,默认条件下文本都不可编辑,用户可以点击上一条、下一条进行表的浏览操作。
点击“确认修改记录”按钮,成绩文本框变为可编辑状态,用户根据系统提示可完成记录修改操作。
如果键入的成绩小0,则系统提示出错,并自动将出错成绩重置为60分。
相应代码:
PrivateSubAdodc1_Moveplete(ByValadReasonAsADODB.EventReasonEnum,ByValpErrorAsADODB.Error,adStatusAsADODB.EventStatusEnum,ByValpRecordsetAsADODB.Recordset)
Adodc1.Caption=Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubmand1_Click(IndexAsInteger)
SelectCaseIndex
Case0
Adodc1.Recordset.MoveFirst'第一条
Case1
Adodc1.Recordset.MovePrevious'上一条
IfAdodc1.Recordset.BOFThenAdodc1.Recordset.MoveFirst
Case2
Adodc1.Recordset.MoveNext'下一条
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
Case3
Adodc1.Recordset.MoveLast'最后一条
Case4
DimmnoAsString
mno=InputBox("请输入学号","查找窗")'将输入值存到变量内
Adodc1.Recordset.MoveFirst'移动记录指针到第一条记录上
Adodc1.Recordset.Find("sno='"&mno&"'")'用.Find方法查找指定科目
IfAdodc1.Recordset.EOFThenMsgBox"无此学号!
"&Adodc1.Recordset.AbsolutePosition,,"提示"
EndSelect
EndSub
PrivateSubmand2_Click()
Adodc1.Recordset.Update
EndSub
3.4成绩输入窗体
本窗体通过控件与文本框与数据库成绩表实现连接,文本框默认不可编辑,但可以实现成绩的浏览功能。
用户点击“添加成绩”按钮,按照系统提示可完成成绩的添加操作。
由于成绩表已经与学生表以及课程表建立了完整性约束,所以如果用户键入的学号或者课程号不存在则将会提示用户出错,并且重新输入。
3.5学生档案管理
本窗体通过ADODC控件连接数据库的学生表,可以实现对学生档案的添加、删除、修改、查询以及浏览操作。
控件在程序运行时不可见,但却必不可少。
用户点击上一条、下一条可以实现记录的浏览,且内容不可编辑。
查询记录时,只有查询条件及查询内容都有修改的时候,查询按钮才可用,否则不可用。
修改或者删除记录选项与确定按钮相连接,由于采用单选按钮,故某一时刻只能实现某一种操作。
执行该操作时记录内容不可编辑。
3.6学生课程管理
学生成绩管理
本窗体通过ADODC控件连接数据库的课程表,可以实现对课程系统的添加、删除、修改、查询以及浏览操作。
控件在程序运行时不可见,但却必不可少。
用户点击上一条、下一条可以实现记录的浏览,且内容不可编辑。
查询记录时,只有查询条件及查询内容都有修改的时候,查询按钮才可用,否则不可用。
修改或者删除记录选项与确定按钮相连接,由于采用单选按钮,故某一时刻只能实现某一种操作。
执行该操作时记录内容不可编辑。
系统测试与分析
软件测试是为了发现错误而执行程序的过程,其目的在于以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。
测试主要是由人而不是由机器执行,因而存在心理学的问题。
1.测试实例研究与选择
由于软件错误的复杂性,软件测试需要综合应用测试技术,软件测试步骤为单元测试、集成测试、确认测试和系统测试。
单元测试是对源程序中每一个程序单元进行测试,检查各个模块是否正确实现了规定的功能,从而发现模块在编码中或算法中的错误。
该阶段涉及编码和详细设计的文档。
各模块经过单元测试后,将各模块组装起来进行集成测试,以检查与设计相关的软件体系结构的有关问题。
确认测试主要检查已实现的软件是否满足需求规格说明书中确定的各种需求。
系统测试将已确定的软件与其他系统元素(如硬件、其他支持软件、数据和人工等)结合在一起进行测试。
本系统是管理系统,主要是从数据库中读取数据,因而测试的实例主要是实现与数据相关的各种操作。
应用白盒测试法中的语句覆盖方法使得程序中的每条语句都执行一次。
2.性能分析
测试过程中发现了不合适或不相容的类型说明;有的变量无初值;有的变量初始化或缺省值有错;有的变量名不正确的(拼错或不正确地截断);出现上溢、下溢和地址异常等问题,并逐个予以解决,保证了临时存储在模块内的数据在程序执行过程中完整、正确。
本系统长时间不间断连续运行不会出现错误,系统不会出现系统故障,不会出现严重的错误,并且由于有较高的容错技术,能较快的纠正意外错误,使系统稳定可靠。
本系统能够准确,快速的处理学生信息管理的操作事务,能够满足管理者的需求,并大大减少了教务管理者的信息查询及维护的麻烦,实现日常处理计算机化,使系统简单实用。
系统程序代码中设计了判断语句,用来判断操作错误时弹出报错对话框,在系统中设置了权限判断,使数据具有一定的XX性,增加了系统的安全性。
本系统的功能还不是很完善,系统的界面设计的还有些简单,样式还不是特别美观,有待于进一步设计;系统设计中后台数据库应用SQLserver,结合VB程序设计使操作更简单,理解更方便。
经过系统的性能测试得出,本系统虽然有一定的缺陷和限制,但本系统的具体功能能够完整实现,所以本系统可以投入到现实应用中。
结束语
本次课程设计是我第一次系统的、完整的接触软件设计的过程。
我做的是学生信息管理系统。
在这次课程设计中,我体会很深,也学会了很多东西,懂得很多以前不懂的东西,也明白了一些事情。
通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语言的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括插入、删除、修改、查询,牵涉表和表之间的联系,主建与外键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从学到用,从用又到学,不断修改,系统更新。
课程设计结束了,但我不会忘记在这次课程设计中我所得到的。
我深深的体会到了这几句话:
认真做事只是把事情做对,用心做事才能把事情做好。
把每一件简单的事情做好就是不简单,把第一件平凡的事情做好就是不平凡。
在以后的学习中我会不断的在实际中应用这几句话,我要不断的总结,不断的改进,不断的努力,使自己的成绩提高。
参考文献
[1]萨师煊,王珊,数据库系统概论,高等教育,2002,2:
1-150
[2]X来寅,谭明勇,数据库系统原理与应用,冶金工业,2003,7:
27-50
[3]梁灿,赵艳泽,SQL数据库应用基础教程,清华大学,2005,11:
10-30
[4]柴欣,武优西,VisualBasic程序设计基础(第三版),:
中国铁道,2005
附录
用户登陆窗口代码:
DimusernameAsString,userpassAsString
PrivateSubmand1_Click()
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find("userID='"&Text1&"'")
IfAdodc1.Recordset.EOFThen
MsgBox"无此用户,请重新输入!
"
ExitSub
Else
abc=Adodc1.Recordset.Fields
(1)
IfText2=Trim(abc)Then
MsgBox"欢迎使用本系统,点击进入!
",vbOKOnly,"登陆"
Me.Hide
Form2.Show
Else
MsgBox"用户名或密码不正确,请重新输入!
"
Text1=""
Text2=""
ExitSub
EndIf
EndIf
EndSub
PrivateSubmand2_Click()
End
EndSub
添加记录代码:
PrivateSubmand1_Click()
Adodc1.Recordset.AddNew
Text1=InputBox("请输入学生学号","添加学号")
Text2=InputBox("请输入学生XX","添加XX")
Text3=InputBox("请输入学生性别","添加性别")
Text4=InputBox("请输入学生年龄","添加年龄")
IfNotIsNumeric(Text4)Then
MsgBox"请输入数值"
Text4.SetFocus
EndIf
Text5=InputBox("请输入学生系别","添加系别")
resu=MsgBox("确认添加到数据库",vbOKCancel,"确认添加")
Ifresu=vbOKThen
Adodc1.Recordset.Update
Else
Adodc1.Recordset.Delete
EndIf
EndSub
PrivateSubmand2_Click()
Me.Hide
Form2.Show
EndSub
学生查询代码:
PrivateSubmand1_Click()
IfText1=""Then
MsgBox"请输入查询条件"
Text1.SetFocus
EndIf
IfOption1.Value
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 设计