学生管理系统的设计与开发Word文件下载.docx
《学生管理系统的设计与开发Word文件下载.docx》由会员分享,可在线阅读,更多相关《学生管理系统的设计与开发Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
o:
Lù
nwé
nyǐzhōngxiǎoxué
bānjí
guǎnlǐwè
ibè
ijǐng,wè
ishì
yì
ngxì
nxīhuà
dexūqiú
tí
gāojià
owù
jià
oxué
guǎnlǐshuǐpí
ngé
rshè
jì
de.Xiá
ngxì
jiè
shà
olezhōngxiǎoxué
xué
shēngxì
nxīguǎnlǐxì
tǒngdefēnxīyǔshè
.Cǎiyò
ngVisualC++yǔAccesskāifāleshì
yò
ngyú
zhōngxiǎoxué
nxīguǎnlǐdeguǎnlǐxì
tǒng.Gāixì
tǒngjù
yǒujià
ogāodeānquá
nxì
ng,qí
yì
ngyò
ngcù
nlezhōngxiǎoxué
xì
nxīguǎnlǐgōngzuò
deguīfà
nhuà
bì
ngyǒuxià
otí
gāoleguǎnlǐxià
olǜ.
窗体底端
Abstract:
Thepaperasthebackgroundtoprimaryandsecondaryclassroommanagement,tomeettheinformationneedsandimprovetheeducationallevelofteachingmanagementanddesign.Detailstheprimaryandsecondaryschoolstudentinformationmanagementsystemanalysisanddesign.UsingVisualC++andAccessdevelopedforthemanagementofprimaryandsecondaryschoolstudentinformationmanagementsystem.Thesystemhashighsecurity,theapplicationofinformationmanagementtopromotethestandardizationofprimaryandsecondaryschoolsandimprovethemanagementefficiency.
Keywords:
studentmanagementsystemdatabaseVisualC++6.0Access
1.引言
1.1传统的学生管理
在传统的手工方式学生管理中,我们要了解学生或者某个班同学基本信息时,只能是在一大对表单中查找核对。
要得到其相应的统计结果所花的时间是可想而知的,甚至难免会出现或多或少的错误。
随着现在中小学规模的不断扩大,班组数量的增多,在面对数以千计的学生信息时,传统的管理方式已不能完成如此巨大信息的管理。
1.2现有的学生管理软件
目前,市场上已有相应的学生管理软件。
但这些软件主要适用于高效学生管理。
软件中隐含的流程不适用于中小学学生管理要求。
而针对中小学学生管理的软件在市场上还是比较少出现的。
1.3学生管理系统的提出
随着现在各中小学规模的不断扩大以及竞争日益激烈市场的需求,对中小学学生管理提出了更高的要求,传统的人工管理模式及一些现有的相关软件在面对繁杂众多的学生信息时已无法满足现有的中小学学生信息管理的要求。
因此,开发一个满足中小学学生信息管理软件,要求具有学生信息管理,学生成绩管理以及班级的添加和删除和查询功能等学生管理系统具有非常重要的现实意义。
2.总体设计
该系统主要是用来有效地管理中小学学生信息和学生成绩,并能根据管理要求对各信息库中的信息进行生成Excel表从而打印出来,为管理决策提供依据。
该系统是完全按照现实中小学教育的管理的流程来实现对各种相关模块进行管理的,同时具有较高的安全性和可实用性。
2.1用户需求分析
由于整个学生管理过程涉及到的数据较多,当要根据整个学生信息来查找个别学生信息时,或者来查找个别学生单科信息时,这样就必须对数据进行一一更新和查找。
这样增加了操作的复杂度和劳动强度,且信息处理速度低,数据的安全性不高。
为了提高学生管理效率,减轻劳动强度,提高信息处理速度和准确性,并为中小学学生管理提供一种更高效、科学的管理方式,用计算机来实现对学生的自动管理,实现学生管理现代化。
这要求学生管理系统应具备如下功能:
(1)学生各种信息的输入,包括学生成绩,学生各种基本信息等;
(2)学生管理的各种信息查询,修改和维护;
(3)对班级的添加和删除;
(4)根据管理要求对数据进行统计分析;
(5)对学生信息和成绩进行导出成Excel表方便打印。
2.2功能需求分析
为了满足中小学教师的需求,我采用了Access数据库,表单,菜单来实现对数据的存取,其要完成的功能如下:
本系统可实现密码更改、数据备份、数据还原、数据清空和用户及用户权限的管理,以保证数据的安全性。
本系统可对学生个人信息、班级信息、学生个人的信息情况进行修改和增加学生个人信息还有增加和减少个人信息的项目等,并可进行相应的模糊查询,以实现对学生信息的管理。
本系统可以实现对学生成绩管理中的学科、各科成绩的添加以及进行个人总分统计。
以实现对学生管理过程中的各种数据的管理。
本系统可以按照学生成绩管理要求进行统计分析,以便教师和班主任掌握学生的信息和成绩状况。
2.3业务流程分析
根据分析,我们把学生管理流程分为学生信息管理和学生成绩管理两个大类。
同时在两个大类中再把其分为学生信息增加、学生信息删除、学生信息修改、自定义信息项目、学生成绩增加、学生成绩删除、学生成绩修改、自定义学科等几个部分。
(1)学生信息增加:
可以对学生的姓名、性别、学号、民族、出生年月、政治面貌、联系电话等进行添加。
从而记录到数据表中(见图1)。
图1学生信息增加流程图
(2)学生信息删除:
可以选中一条学生的个人信息然后就可以直接删除,从而把数据表中的信息也得到删除(见图2)。
图2学生信息删除流程图
(3)学生信息修改:
可以对学生的个人信息包括:
姓名、性别、民族、出生年月、政治面貌、联系电话等进行修改。
从而保存到数据表中(见图3)。
图3学生信息修改流程图
(4)自定义信息项目:
可以对学生的个人信息进行学号查找。
修改班级名称、修改表结构等(见图4)。
图4自定义信息项目流程图
(5)学生成绩增加:
可以对学生的个别学科成绩等进行添加。
从而记录到数据表中(见图5)。
图5学生成绩增加流程图
(6)学生成绩删除:
可以对学生的学科成绩等进行删除。
从而删除数据表中学生个人成绩(见图6)。
图6学生成绩删除流程图
(7)学生成绩修改:
可以对学生的各科成绩等进行相应的修改。
从而更容易进行修正(见图7)。
图7学生成绩修改流程图
(8)自定义学科:
可以对学生的个人成绩进行查找导入到Excel表中。
修改班级名称、修改表结构等(见图8)。
图8自定义学科流程图
2.4系统数据流分析
数据流图是一种便于用户理解、分析系统数据流程的图形工具。
它摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。
(1)顶层图:
把整个软件系统看作一个大的加工,根据系统从哪些外部实体接收数据流,以及系统发送数据流到哪些外部实体,就可以知道系统的输入输出。
(2)0层图:
将顶层图的加工分解成若干个加工,并用数据流将这些加工连接起来,使得顶层图中的输入数据经过若干个加工处理后变换成顶层图的输出数据图。
把每个加工看成一个小系统,该加工的输入输出数据流看成小系统的输入输出数据流,就可以用同样的方法得到其子图。
3.系统的概念设计
3.1系统功能结构图
经过对学生管理流程进行详细分析后,一个功能完全的学生信息管理系统包括以下几个管理子系统:
用户管理、班级信息管理、学生成绩管理、学生成绩的添加和删除、成绩统计管理、学生信息的添加和删除、自定义学科等几大模块。
其模块图如下所示:
图9系统主要功能模块图
3.2功能模块分析
系统管理部分:
包括用户管理、数据备份与还原和数据修改,其功能是实现对用户的增加、删除、修改以及对系统数据的初始化,保证系统数据的安全性。
各个管理部分明细如下:
(1)用户管理:
该功能主要是负责对系统用户的管理,由相关工作人员按照工作中的实际需要来为用户分配权限。
(2)数据备份与还原:
出于安全方面的考虑,定时对数据库进行备份;
当系统数据遭到破坏时,可以用备份好的数据来覆盖现有的数据,也就是数据还原。
(3)数据修改:
其分为清空数据和删除全部数据。
清空数据是把系统中的不需要的学生信息进行数据清除,使用户按照自己的意愿对系统进行设置。
基础资料部分:
包括学生信息管理、学生成绩管理、班级,其功能是实现对基础信息的添加、删除、修改和查询操作。
(1)学生信息管理:
该功能主要是实现对学生的更新操作以及对学生信息数据的添加和删除以及班级的添加和删除。
(2)学生成绩管理:
该功能主要是对每个学生进行各科成绩的管理和总分统计。
(3)班级管理:
该功能是对新班级或旧班级的添加和删除。
(4)查询:
该功能是利用学号进行对班级成员的学生进行信息查询。
(5)生成Excel表:
该功能是能更好的对班级信息以及班级成绩进行备份和查看。
3.3系统ER图的设计
针对学生管理系统的需求以及对学生管理系统流程的分析,设计此系统需要如下所示的数据项和数据结构:
用户信息:
{操作员账号,密码,}
学生个人信息:
{姓名、性别、学号、民族、出生年月、政治面貌、联系电话、备注}
学生成绩信息:
{姓名、性别、学号、语文、数学、英语、物理、化学、生物、总分}
班级信息:
{1年级、2年级、3年级}
利用ER方法进行数据库的概念设计,可分成两步进行:
首先设计局部ER模式,然后把各局部ER模式综合成一个全局模式并进行优化,得到最终的模式,即概念模式。
3.3.1优化后的全局ER图
图10优化后的全局ER图
4.数据库设计
4.1数据库表单说明
登陆表:
存放可以登陆使用该系统的用户帐号、密码;
权限表:
存放系统的用户可以进行的操作;
学生信息表:
存放学生个人的信息;
学生成绩表:
存放各个学生的成绩信息;
班级表:
存放各个班级的信息;
4.2数据库表单结构
表结构图:
5.详细设计
5.1主要功能的实现
(1)增加信息
其代码如下:
voidCInfoAddItemDlg:
:
OnOK()
{
//TODO:
Addextravalidationhere
inti;
CStringstrtext;
//测试
for(i=0;
i<
m_ColumnCount;
i++)
{
m_pEdit[i].GetWindowText(strtext);
if(strtext.IsEmpty())
{
MessageBox("
请把信息内容填写完整!
"
"
提示"
);
return;
}
}
//连接记录集指针
CStringstrsql;
_bstr_tbstrsql;
strsql.Format("
select*from%sorderby学号desc"
m_CuTableName);
bstrsql=strsql;
m_precordset->
Open(bstrsql,m_pconnect.GetInterfacePtr(),adOpenDynamic,
adLockOptimistic,adCmdText);
//增加新记录
_variant_tvart;
CStringstr;
CStringstrItem;
AddNew();
vart=(_variant_t)m_pColumnLIst[i];
try
m_precordset->
PutCollect(vart,(_bstr_t)strtext);
catch(...)
error:
写入新数据出错"
}
Update();
//删除控件
m_pStatic[i].~CStatic();
m_pEdit[i].~CEdit();
//关闭记录集指针
Close();
CDialog:
OnOK();
}
(2)修改账号密码
voidCSetUserID:
UpdateData(true);
if(!
StrCmp(OldID,m_Old))
MessageBox("
操作员帐号不正确!
"
m_Old.Empty();
m_New.Empty();
m_New2.Empty();
UpdateData(false);
return;
StrCmp(m_New,m_New2))
你输入的操作员帐号不匹配,请输入新操作员帐号!
NewID=m_New;
(3)数据导出功能的实现
该功能是把数据导出到excel表格中。
该类代码如下:
//导出Excel表格
voidCInforManaDiag:
OnExcel()
//得到路径
CStringsPath;
CFileDialogFileDialog(false,
"
11"
新建Excel文档"
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
.xls|*.xls"
if(FileDialog.DoModal()==IDOK)
sPath=FileDialog.GetPathName();
//创建
CSpreadSheetWriteExcel(sPath,"
TestSheet"
true);
CStringArraysampleArray,testRow;
WriteExcel.BeginTransaction();
//加入标题
sampleArray.RemoveAll();
for(inti=0;
i++)
sampleArray.Add(m_pColumnLIst[i]);
WriteExcel.AddHeaders(sampleArray);
//加入数据
CStringItemData;
for(intj=0;
j<
m_list.GetItemCount();
j++)
sampleArray.RemoveAll();
for(inti=0;
ItemData=m_list.GetItemText(j,i);
sampleArray.Add(ItemData);
WriteExcel.AddRow(sampleArray);
WriteExcel.Commit();
sPath.IsEmpty())
CStringa;
a.Format("
已生成Excel在%s"
sPath);
MessageBox(a,"
5.2主要模块的实现
登陆界面图:
学生管理系统界面图:
学生成绩管理图:
学生信息管理图:
查询图:
5.3系统测试
测试方法:
系统测试主要采用单元测试和集成测试的测试方法。
5.3.1单元测试
单元测试的对象是软件设计的最小单位——模块,系统在设计过程中,每编写一个模块之后,就对它进行必要的单元测试,单元测试的任务包括:
(1)模块接口测试:
主要测试子窗口与父窗口的衔接是否正确或者衔接时是否会出现异常;
(2)模块局部数据结构测试:
比如录入一些学生信息和成绩时要保证与数据表中的数据保持一致。
(3)模块中所有独立执行通路测试:
保证各个模块独立工作不会影响其他模块的运行;
(4)模块中各种非法操作测试:
比如一些破坏性操作。
要测试在其进行前是否给与明确的提示,以免造成不必要的破坏。
5.3.2集成测试
集成测试是在单元测试的基础上将所有模块按照设计要求组装成系统或子系统进行测试,主要目标是发现与接口有关的问题。
如数据穿过接口可能丢失;
把子功能组合起来可能达不能达到预期的主要功能;
个别看起来是可以接受的误差有可能积累到不能接受的程度。
系统测试每在编写出两个相关的模块就需要进行一次集成测试。
5.3.3系统测试数据的选择
系统测试数据的选择主要依据以下三种用例:
(1)一般的测试数据
(2)边界测试用例(3)特殊测试用例
5.4系统的特点
本系统的总体任务是实现学生管理的系统化、规范化和现代化,主要用来处理管理过程中用到的学生信息的录入、修改、删除、查询、统计等操作。
它具有以下特点:
(1)界面简洁友好,始终一致
本系统都是采用表格和树的结构来实现的。
统一的人机界面不会增加用户的负担,让用户始终用同一种方式操作,能提高操作效率,使操作更简单、更方便。
(2)功能完备
在本系统中,用户可以进行任何表单的录入、修改、删除、查询、统计、等多种功能。
(3)事务一致,保证数据一致性
由于在对数据库操作时,大多涉及到两个或者多个表单的更新,为了保证数据的完整性和一致性引入了事务处理机制。
(4)模糊查询
为了满足用户多方面的查询需要,得到想要的结果,本系统采用了模糊查询功能。
(5)扩展性好
该系统为中学学生管理系统,其同样可以扩展应用到其他一些管理系统中。
该系统完全按照现实中学管理流程进行操作,具有很好的安全性。
但该系统仍存在一些问题有待进一步解决:
界面不够美观,颜色没有搭配好;
控件上的字体没有选好;
界面有时加载较慢等。
6.结束语
通过对这个系统的分析与设计,我对一个软件的产生有一个全新的认识,体会到了从理论到实践的一个演变过程,同时也巩固了软件工程和数据库等专业知识,并把这些知识提升到了应用层次。
学生管理系统的开发,是理论到实际的一次重要尝试,从中我学到了不少知识。
同时也让我感受到要有丰富的理论知识才能快速解决实际中的问题,同时认识到实践才能锻炼个人水平,这些都是以前未体会到的,这对我以后的人生来说有着重要的意义。
参考文献
[1]曹毅,王俊.浅谈学生成绩管理系统[J].教育长廊,2009.5
[2]唐世文.基于ACCESS数据库应用系统的多用户系统登录研究[J].广州市经济管理干部学院学报,2007.6
[3]贾岚.中文ACCESS数据库应用教程[M].北京:
北京希望电子出版社,2008.
[4]雷小园排列组合的算法设计与C++实现[J].中国新技术新产品.2010
[5][美]AnanyLevi