学生管理系统毕业设计.doc
《学生管理系统毕业设计.doc》由会员分享,可在线阅读,更多相关《学生管理系统毕业设计.doc(33页珍藏版)》请在冰点文库上搜索。
毕业论文
论文题目学生管理信息系统设计
院别计算机学院
专业计算机科学与技术
年级2008级
学号200824131130
学生姓名陈宏靖
指导教师赵玉明
完成时间2018年4月
肇庆学院教务处制
30/33
目录
1绪论1
1.1引言1
1.2开发背景2
1.3开发工具的选择2
2系统设计原理3
2.1需求分析3
2.2系统设计4
2.2.1系统功能结构图4
2.2.2系统业务流程图4
2.3可行性分析7
2.3.1技术上的可行性分析7
2.3.2经济上的可行性分析7
2.3.3用例图7
2.3.4简要总结8
3数据库设计原理9
3.1数据库需求分析9
3.2数据库表实体9
3.3各表的物理结构12
3.4文件夹组织结构14
4系统实施15
4.1MicrosoftOfficeAccess数据库的选择15
4.2C#开发语言的选择15
4.3系统的详细设计的实现15
4.3.1系统登录设计15
4.3.2系统主界面设计15
4.3.3用户管理18
4.3.4用户功能19
4.4部分代码的实现22
5系统测试26
5.1软件测试基础理论26
5.2软件测试目的26
5.3软件测试方法26
5.4系统测试27
5.4.1测试用例设计要求27
5.4.2系统各个模块测试用例28
5.5测试报告28
结束语…………………………………………………….…………………..………29
参考文献…………………………………………………………………………..….29
致谢……………………………………………………………………………..….30
学生管理信息系统设计
摘要:
学生管理信息系统设计是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。
b5E2RGbCAP
本文介绍了学生管理信息系统的开发整个过程,阐述了系统分析、系统设计、数据库设计和系统实施的全过程。
在开发方法上本系统利用了软件工程化的思想和方法,总体上采用结构化生命周期开发方法,具体模块实施采用了原型法和面向对象系统开发方法。
并采用VisualS2008作为开发工具,MicrosoftOfficeAccess作为后台数据库。
本系统具有系统维护、外观设置、学生信息管理,学生成绩管理,教师信息管理,选课管理,数据维护等模块,可分别完成日常学生信息,选课信息,教师信息,学生成绩信息的添加、修改、删除、查询等功能。
在此次设计中主要对系统维护、外观设置、学生信息管理,学生成绩管理,教师信息管理,选课管理,数据维护等模块进行了具体设计。
p1EanqFDPw
关键词:
学生管理信息系统;C/S;ACCESS数据库;C#
1绪论
1.1引言
该工程开发的软件为学生管理信息系统软件,是鉴于目前学校学生人数剧增,各种信息呈爆炸性增长的前提下,学校对信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等>的信息的管理。
DXDiTa9E3d
目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少。
但本系统完全独立开发,力求使系统功能简洁明了,且易于操作。
RTCrpUDGiT
1.2开发背景
学生管理系统是一个教育单位不可缺少的部分。
一个功能齐全、简单易用的学生管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:
效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。
5PCzVD7HxA
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点。
例如:
检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。
jLBHrnAILg
1.3开发工具的选择
现在,市场上可以选购的应用开发产品很多,流行的也有数十种。
目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:
Microsoft公司的VisualS,Microsoft公司的VisualC,Borland公司的Delphi和Powersoft公司的PowerBulider以及Java等。
xHAQX74J0X
在这些程序开发工具中,有的强调程序语言的弹性与执行效率;有的则偏重于可视化程序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的需求。
然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必定要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点成为了一纸空谈;相反地,如果只强调语言的弹性,却没有便利的工具作配合,会使得一些即使非常简单的界面处理动作,变得复杂和麻烦起来,这样也会浪费程序设计师们的宝贵时间。
作为数据库系统的开发,VisualS2008是一个非常理想选择,它有效地避免了以上所谈到的诸缺点。
数据库技术是MIS设计中的重要支持技术,在MIS开发过程中,如何选择数据库管理也是一个重要的问题,目前,数据库产品可谓琳琅满目,每种产品都具有各自的特点和适用范围,因此,在选择数据库前,我慎重考虑了一下,应数据库应用的特点及适用范围,本系统选用了数据库MicrosoftOfficeAccess,开发工具当然是非VisualS2008莫属了。
VisualS2008是一种可视化的、面向对象和调用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。
它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。
在VisualS2008环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API>函数,以及动态链接库(DLL>、动态数据交换(DDE>、对象的链接与嵌入(OLE>、开放式数据访问(ODBC>等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
LDAYtRyKfE
2系统设计原理
2.1需求分析
针对其他学生管理软件的不足,去掉多余的操作,要求制作和系统可以方便、快捷地对学生和教师信息、学生成绩等进行添加、删除、修改的操作,并且可以批量地录入学生和教师信息以及学生成绩,也可以让学生对自己需要的选修课进行选择,还可以对数据进行备份保存和恢复,以及学生对学校最新公告的获取和各类型用户的注册。
Zzz6ZB2Ltk
<1)、信息管理功能
添加信息:
以学生或教师为单位,进行学生或教师的入库。
其中分为单个添加和批量添加。
单个添加学生供一个学生或教师信息入库;批量添加可以大量的信息同时录入到数据库中。
dvzfvkwMI1
删除信息:
当学生毕业或更换教师后,信息不再需要,系统的基本数据库中需要删除信息。
该功能主要进行信息的删除。
rqyn14ZNXI
修改信息:
当某个学生或教师信息输入不正确时,可以对单个的学生信息进行修改。
(2>、学生成绩管理功能
成绩录入:
以学生为单位,录入各科目的考试成绩。
成绩查询:
可以对学生的考试成绩进行“定位型”的查询。
成绩管理:
可以对考试成绩的修改、删除、筛选等操作。
(3>、选课功能
选课管理:
提供本学期各年级各专业限选与任选所开课程名称的提交、退选、审批。
(4>、公告功能。
校内的各大公告,让学生获取校内最新的信息,其中包括公告的编辑与查询等。
(5>、用户的注册功能。
针对不同的用户类型,登录后的权限不同设置,注册后的用户登录后的功能各不相同。
2.2系统设计
2.2.1系统功能结构图
学生管理系统功能结构图如图2-1所示:
2.2.2系统业务流程图
学生管理系统业务流程图如图2-2所示:
图2-1系统功能结构图
图2-2系统业务流程图
2.3可行性分析
2.3.1技术上的可行性分析
技术方面的可行性就是根据现有的技术条件,能否实现系统的各项要求。
<1).设备:
该系统对所需的硬件设备,如pc机配件的性能要求一般,现有设备的性能完全能够满足系统功能的要求。
EmxvxOtOco
<2).软件上,本系统属于数据库应用程序,本系统需要一个数据库服务器及其运行的操作系统平台,根据客户的数据量并不是十分巨大,我们选择目前市场上价格比较低廉的数据库服务器产品:
MicrosoftOfficeAccess及配套的平台WindowsXP。
而前台开发工具采用MicrosoftVisualStudio2008,利用其可视化的开发环境、丰富的控件资源,能快速开发出应用程序。
SixE2yXPq5
2.3.2经济上的可行性分析
<1).费用:
本系统属于小型的学生管理系统,软硬件费用要求不高,一般的学生行业都能支付的了费用。
<2).效用:
实施该系统也能给学校带来长期效益,它可帮助领导实现管理方法的现代化、科学化,极大地提高学生管理的工作质量与工作效率,减少管理支出的费用,从而保证学校管理的可持续的良好发展。
因此经济上具有了系统开发的可行性。
6ewMyirQFL
2.3.3用例图
用例图是从用户角度描述系统功能,并指出各功能的操作者。
它描述出了用例、角色以及它们之间的关系。
本系统中的主要用户有学生、教师以和超级管理员。
其中超级管理员是可以对学生和教师的信息进行管理、学生选课管理和数据库的操作。
而学生是能够管理自己的信息和查询个人成绩以及查看公告,教师也能查看公告和管理自己的信息,还可以管理学生的成绩。
整体体现在用例图如图2-3所示:
kavU42VRUs
图2-3用例图
2.3.4简要总结
经过细致地初步调查和严密地可行性分析,我们认为在现有条件下,为学生管理信息系统是完全可行的。
3数据库设计原理
学生管理系统采用了Microsoft推出的MicrosoftOfficeAccess作为后台数据库。
y6v3ALoS89
3.1数据库需求分析
在设计数据库结构时,以及可能地满足用户所提出的各项要求,同时又避免同时又要避免冗余数据产生。
由于在学生管理系统中,需要采集大量的信息,包括学生信息,教师信息,选课信息,成绩信息等,如果不能够合理有效地组织数据表的结构,以及合理设置每张表所包含的字段,那么后期进行的数据的整理以及汇总时,就会增加编程人员的开发难度,并造成成绩效益的大幅度下降。
根据学生基本信息以及其他相关信息的特点,归纳出以下规律:
M2ub6vSTnP
<1)一种角色对应一个和多个用户;
<2)每一个学生都有不同的学号;
<3)每一个教师都执教一个或者2个科目;
<4)每门选课都记录多个学生;
<5)个人成绩对应一个学生;
<6)学生成绩对应多个学生;
3.2数据库表实体
学生管理系统的数据库主要用于储存学生管理中的数据,需建立一个用户登录信息表,用于存储所有用户登录信息。
用户登录实体E-R图如图3-1所示:
0YujCfmUCw
由于学生和教师信息的内容很多,因此要建立一个学生信息表来存储学生信息的内容,便于学生或管理员查询,同样地,也要建立一个教师信息表。
学生信息实体E-R图和教师信息实体E-R图如图3-2和3-3所示:
eUts8ZQVRd
图3-1用户登录实体E-R图
图3-2学生信息实体E-R图
图3-3教师信息实体E-R图
由于学生选课时候的信息各不相同,为了方便学生选课,需有一个详细的选课表供学生参考。
选课实体E-R图如图3-4所示:
sQsAEJkW5T
图3-4选课实体E-R图
学生在查看学生个人成绩时,需有一个学生自己全部成绩的成绩表,教师在查看和修改学生成绩时,也需要一个自己班内学生的成绩表便于管理。
个人成绩实体E-R图和学生成绩实体E-R图如图3-5和3-6所示:
GMsIasNXkA
图3-5个人成绩实体E-R图
图3-6学生成绩实体E-R图
3.3各表的物理结构
表3-1yonghu表
列名
数据类型
长度
允许空
ID
文本
20
否
password
文本
20
否
type
文本
20
否
证件号
文本
50
否
表3-2学生信息表
列名
数据类型
长度
允许空
学号
文本
20
否
姓名
文本
30
否
民族
文本
20
是
出生日期
文本
20
是
性别
文本
10
是
家庭地址
文本
50
是
班级
文本
20
是
专业
文本
30
是
表3-3教师信息表
列名
数据类型
长度
允许空
教师号
文本
20
否
姓名
文本
30
否
民族
文本
20
是
出生日期
文本
20
是
性别
文本
10
是
家庭地址
文本
50
是
执教的科目1
文本
20
是
执教的科目2
文本
20
是
联系电话
文本
20
是
院系
文本
20
是
表3-4选课表
列名
数据类型
长度
允许空
课程名称
文本
20
否
任课教师
文本
10
否
课程类型
文本
10
否
学分
文本
10
否
审批情况
文本
10
否
考试形式
文本
10
否
教材费用
文本
10
否
总课时
文本
10
否
表3-5个人成绩表
列名
数据类型
长度
允许空
学期
文本
10
否
学年
文本
10
否
分数
文本
20
是
学分绩点
文本
10
是
课程名称
文本
10
是
学号
文本
20
否
应得学分
文本
10
是
课程类型
文本
20
是
表3-6学生成绩表
列名
数据类型
长度
允许空
学号
文本
20
否
姓名
文本
20
否
总评
文本
20
是
科目
文本
30
是
期末成绩
文本
20
是
平时成绩
文本
20
是
专业
文本
20
是
班级
文本
10
是
3.4文件夹组织结构
在进行系统开发前,需要规划系统的架构。
通过建立多个文件夹,可以对各个功能模块进行划分,从而实现统一管理。
建立合理的文件夹组织结构的好处在于:
易于开发、易于管理、易于维护。
学生管理系统的文件夹组织结构如图3.7所示TIrRGchYzg
图3-7文件夹组织结构图
4系统实施
4.1MicrosoftOfficeAccess数据库的选择
Access能够存取Access/Jet、MicrosoftSQLServer、Oracle,或者任何 ODBC兼容数据库内的资料。
它的使用方便程度和强大的设计工具为初级程序员提供许多功能。
通过使用AccessBasic可以增加应用程序的执行速度,减少编码量,同时也减少在为MicrosoftWindows应用程序接口编程时、在开发应用程序中遇到的问题的技术。
谨慎地使用变量和它所占用的存储空间能有效地减少一个应用程序所消耗的资源,同时也全面提高了它的性能。
7EqZcWLZNX
4.2C#开发语言的选择
C#<发音为CSharp)是由微软公司所开发的一种面向对象,且运行于.NETFramework之上的高级程序设计语言。
并且成为ECMA与ISO标准规范。
C#看似基于C++写成,但又融入其它语言如Delphi、Java、VB等。
这点是我选中它的主要原因。
lzq7IGf02E
4.3系统的详细设计的实现
4.3.1系统登录设计
首先,用户登录界面比较简单,需在登陆系统中输入用户名和密码,若与数据库中的记录一致则可以进入该系统,否则无法进入。
为防止用户的错误操作,应设置错误处理界面。
用户登录界面及用户登录操作错误界面设计效果如图4-1和4-2所示。
zvpgeqJ1hk
4.3.2系统主界面设计
用户名和用户的密码验证通过以后,进入该系统首页。
系统学生、教师和超级管理员登陆界面设计如图4-3、4-4和4-5所示:
图4-1用户登录界面
图4-2用户登录操作错误界面
图4-3学生登陆界面
图4-4教师登陆界面
图4-5超级管理员登陆界面
4.3.3用户管理
用户管理包括密码重置、用户注册的管理。
其管理界面如图4-6、4-7所示:
图4-6密码重置管理界面
图4-7用户注册的管理界面
4.3.4用户功能
用户功能包括学生个人信息管理、学生个人成绩管理、学生选课情况管理、选课、查看公告、教师管理学生成绩和超级管理员选课审批以及数据库的恢复和备份。
其功能界面分别如图4-8、4-9、4-10和4-11、4-12、4-13、4-14、4-15、4-16所示:
NrpoJac3v1
图4-8学生个人信息管理界面
图4-9学生个人成绩管理界面
图4-10学生选课情况管理界面
图4-11选课界面
图4-12查看公告界面
图4-13教师管理学生成绩界面
图4-14超级管理员选课审批界面
图4-15数据库备份界面
图4-16数据库恢复界面
4.4部分代码的实现
//登录界面的“确定”按钮
privatevoidbutton1_Click(objectsender,EventArgse>1nowfTG4KI
{
//连接数据库
stringsjk。
sjk="Provider=Microsoft.Jet.OLEDB.4.0。
DataSource="+System.AppDomain.CurrentDomain.BaseDirectory+@"db1.mdb"。
fjnFLDa5Zo
stringsjb="select*fromyonghu"。
User=zhanghao.Text.Trim(>.ToString(>。
try
{
//定义数据连接的所需的变量
OleDbConnectionmyconn=newOleDbConnection(sjk>。
myconn.ConnectionString=sjk。
myconn.Open(>。
OleDbCommandMyCom1=newOleDbCommand(>。
MyCom1.Connection=myconn。
MyCom1.CommandType=CommandType.Text。
MyCom1.CommandText=sjb。
OleDbDataAdaptermydataAdapter1=newOleDbDataAdapter(>。
tfnNhnE6e5
mydataAdapter1.SelectCommand=MyCom1。
DataSetmyds=newDataSet(>。
mydataAdapter1.Fill(myds,"yonghu">。
boolflag=false。
//以yonghu表内的行数循环严重帐号密码是否正确!
for(inti=0。
ii++>HbmVN777sL
{
//账号密码不能为空
if(zhanghao.Text==""||mima.Text=="">
{
MessageBox.Show("用户名密码不能为空","警告">。
zhanghao.Text=""。
mima.Text=""。
zhanghao.Focus(>。
flag=true。
break。
}
//用户类型不能为空
if(leixing.Text=="">
{
MessageBox.Show("用户类型不能为空","警告">。
leixing.Text=""。
leixing.Focus(>。
flag=true。
break。
}
//当账号和密码、用户类型与数据库中的数据相符合即验证成功时,打开教师管理窗口并关闭此登录窗口
elseif(zhanghao.Text==myds.Tables["yonghu"].Rows[i][0].ToString(>.Trim(>&&mima.Text==myds.Tables["yonghu"].Rows[i][1].ToString(>.Trim(>&&leixing.Text=="教师"&&leixing.Text==myds.Tables["