学生成绩管理系统分析及设计Word文档下载推荐.docx
- 文档编号:22616314
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:37
- 大小:331.25KB
学生成绩管理系统分析及设计Word文档下载推荐.docx
《学生成绩管理系统分析及设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统分析及设计Word文档下载推荐.docx(37页珍藏版)》请在冰豆网上搜索。
1.3.1管理可行性
本信息系统是新安中学校长所支持的,学校也就此开过座谈,各班班主任和学生代表也表示支持该项目。
1.3.2技术可行性
技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。
学校有相应的校园网和微机房,各班班主任也相应分配了电脑并联网。
学校也有相应的计算机老师可以为项目提供技术支持。
1.3.3经济可行性
学校为此项目已申请款项2万元。
1.4系统目标
对于本系统,我们需要实现以下一些基本功能:
(1)学生查询功能:
为了方便学生查找个人信息,将所有信息按照需要进行分类。
这样学生就能很方便的找到自己需要的信息。
(2)添加功能:
教师可以通过填写表格的形式输入学生的相关信息。
系统可以自动避免重复信息。
(3)修改功能:
教师可以对数据库中的信息进行修改。
系统能够通过教师给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。
(4)删除功能:
教师可以对数据进行删除操作。
系统能够通过教师给出的条件查找出要删除的信息,并把相关信息从数据库中删除掉。
(5)教师查询功能:
教师可以通过条件选择查询所有信息,并进行排序。
2.系统使用的相关技术
2.1设计约束条件
2.1.1技术约束
本工程产品的约束条件包括:
a.VB数据库中各种控件的使用及编程;
b.Access2003中基本语句的语法及操作
2.1.2环境约束
运行本软件需要奔腾133以上PC,内存需要在512兆以上,对使用设备的速度、规模要求不高。
2.1.3标准约束
学生成绩管理系统管理应用软件完全按照北京元易达科技发展有限责任公司企业标准开发,包括硬件、软件和文档规模。
2.2接口需求
2.2.1用户接口
本工程产品通过PC机进行运行、操作,对报表、菜单的打印将使用VB编程编辑器或调入word进行打印。
输出、输入的相对时间将由pc机本身处理速度来决定。
对程序的维护,需进行必要的备份。
2.2.2硬件接口
本工程产品不需要特定的硬件或硬件接口进行支撑。
2.2.3软件接口
本工程产品的软件接口由VB编程语言、Access2003数据库组成。
2.2.4通讯接口
本工程产品的没有特殊的通讯接口,通讯接口由所使用的pc机决定
2.3支持信息
2.3.1支持软件
本软件开发是使用VB语言编写,编译系统为"
32位汉语编程系统"
,版本号为2.01.0061。
在库调用时兼容VisualFoxpro6.0英文版,源程序的测试是使用汉语编程自身含有的"
看数摞、看内存、看词"
的方法进行测试,即支持测试的软件也是汉语编程操作系统本身。
由于汉语编程本身的特点,它的关键词、命令等全部为中文,所以在使用汉语编程系统时需要中文输入法的支持。
2.3.2设备
a.具有奔腾133、512兆内存配置的计算机;
b.Microsoft鼠标或其它兼容鼠标;
c.VGA显示器或更高。
d.Windows2000中文版或WindowsXP中文版或更高。
e.一般计算机外设,如:
打印机、扫描仪。
如要配置网络环境,还需网络连接设备。
2.3.3控制
本软件是在学生成绩查询系统的支持下,展示界面由主窗口及子窗口嵌套而成,窗口操作通过按钮控制,不同的按钮进行不同的操作实现不同的功能。
2.3.4文档
本系统相关的文档为:
《学生成绩管理信息系统应用软件可行性研究报告》
编号:
MNQB01-QG-01
《学生成绩管理信息系统应用软件需求说明书》
MNQB03-QG-01
《学生成绩管理信息系统应用软件操作手册》
MNQB11-QG-01
3.系统分析
3.1系统需求分析
3.1.1需求获取:
本实验要求编写一个高级计算器。
能完成双精度型数值的加、减、乘、除计算,编程中使用了动态连接库技术,能实现表达式的输入,解析及计算。
3.1.2需求分析:
实验要求实现表达式的输入,这在MFC上通过连加不难实现,但要实现最终求解却很困难。
要解决这个问题需要把输入的操作数放进一个字符数组中,而且为了计算方便需要通过栈把这个字符数组中存放的中序表达式转化成后序表达式(后序表达式中不含左右括号,这可以大大简化结果的求解)。
而且为了继续运算,应该在每次计算完清空栈。
逻辑模型:
计算器输入的字符存放在字符数组中,将字符数组传入动态链接库已申明的函数中,将中序表达式转化成后序表达式(将后序表达式也存进一个字符数组中),将这个数组传入动态链接库中已申明的函数中,返回一结果输出在编辑框中。
3.1.3需求规格说明书:
1)设计一个基于对话框的软件运行界面,在上面添加0——9的操作数键位。
在上面添加+、-、*、/、(、)、=、清零键位。
添加编辑框键位,并要在其上输出表达式。
2)编写算法阶段:
首先要声明一个字符数组用于存放中缀表达式(为了后面算法的编写方便和有效控制,要输入一个结束字符)。
声明一个字符类型的栈用于中缀转后缀,并把后缀表达式存放进一个字符数组。
声明一个实型栈用于计算结果。
4.业务流程图
4.1现行系统业务流程图如下:
而在我的调查中我发现存在数据登记、录入、核实等步骤时出现错误是在所难免的,那么学生如果想要复查成绩就相对比较麻烦而且完全是手动、手工完成,大致的步骤为:
上图是学生成绩管理系统的组织结构图和业务流程图,由于系统繁琐,不便于管理,花费的时间长,需要人员多,如果出现错误,很难在短时间内查找和修改。
同时,这套管理系统不能显示重修信息、每次访问系统时间,不能分学期显示成绩。
在安全保密方面,也存在着漏洞。
由于学校主机网络安全方面的欠缺,时常会受到病毒的攻击。
虽然本系统设立了后台管理系统,只有专门的管理人员才能对系统中的数据库数据进行录入、修改、打印输出等,但这也给学生查询成绩带来不便。
在我的调查中还发现,现有系统在实施的过程中有一个看似不大但却十分影响系统信息化的问题:
很多教师不能够顺利及时的完成网上信息的录入、修改等。
这些问题一直困扰学校,虽然也有相关的培训,但是在实际的操作中出现问题却不能及时解决,就造成了今天仍有部分老师对该系统不够了解,无法充分利用。
4.2业务流程分
4.3数据流程分析
选
个课
人申
课请
表
第二层数据流程图:
5.数据字典
5.1.1数据流的定义
数据流编号:
D01、02、04
数据流名称:
成绩数据
简述:
成绩数据库中的数据
数据流来源:
成绩数据库
数据流去向:
成绩查询处理模块
数据流组成:
学号+课程号+成绩+学分绩+教师编号
5.1.2数据流编号:
D03、05
任课教师录入的各科成绩
任课教师
学号+课程号+成绩+学分绩+教师编号
5.1.3数据流编号:
D06、07
查询条件
用户输入的查询信息
用户如学生、导员
成绩查询、查询统计功能块
学号+课程号
5.1.4数据流编号:
D08、09
统计结果
对成绩数据库中的数据进行查询统计后的结果
用户
5.1处理逻辑的定义
5.2.1处理逻辑编号:
P1.1
处理逻辑名称:
成绩查询
查询学生的成绩
输入的数据流:
学生的查询条件,以及成绩数据库的成绩数据
处理:
根据成绩数据库的成绩数据,按照学生的查询条件进行整理,生成符合学生的成绩信息。
输出的数据流:
查询者的成绩信息。
处理频率:
每查询一次处理一次
5.2.2处理逻辑编号:
P1.2
成绩修改
修改录入错误学生的成绩
由成绩修改单汇总成的修改汇总单
将修改单中的数据及成绩数据库中对应的数据联系起来,进行修改。
修改后的成绩数据。
每修改一次处理一次
5.2数据存储的定义
数据存储编号:
F
数据存储名称:
存放学生的各科成绩
数据存储组成:
学号+课程号+成绩+学分绩
关键字:
学号、课程号
相关联的处理:
P1.1—1.5
5.3外部实体的定义
外部实体名称:
学生、教务处、导员、教师
该系统的使用者
D05、06、07、14、15
D03、08、09、10、13
6.系统设计
6.1数据库设计
6.1.1概念设计
本系统的数据库主要有“学生”、教师、管理员、课程等。
其中教师及课程存在授课联系,并且一个教师可以授N门课程,即教师及课程是一对多的关系。
一个学生可以学习N门课程,一门课程可以有M个学生学习,即学生及课程是多对多的关系。
其中管理员及课程存在开课联系,并且一个管理员可以可设N门课程,即管理员及课程之间是一对多的关系。
整个数据库可以用一个E-R图表示。
如下图6
该系统的一级子系统分为管理员子系统、教师子系统和学生子系统,所以子系统的数据库E-R图如下6-1、6-2、6-3所示:
图6-1、学生E-R实体图
图6-2、教师E-R实体图
图6-3、管理员E-R实体图
6.1.2物理设计
系统采用B/S结构,在物理实现上,采用局域网。
服务器的软件及硬件的配置要求较高,浏览器的配置要求较低,如图3-18所示。
系统网络拓扑图
6.2代码设计
在学生学籍及成绩管理信息系统中设计代码——学号和教师编号,可以方便管理工作,在查询学生信息时只需输入学生或的学号及密码即可找到及该学生相关的所有信息。
学号共包含十六位,全由数字组成。
前四位代表哪一级学生;
第五位和第六位代表学院;
第七位和第八位代表专业;
第九位和第十位代表专业,第11位和第12位代表班级的编号,后两位代表该学生再班级的号,按顺序排列。
例如:
2,其中2009表示入学年份,02表示学院代码,12表示专业代码,01表示班级代码,01代表在班级中的代码。
6.3输入输出设计
在系统的输入/输出设计上遵循的是既满足用户需求又方便用户使用的原则。
输入/输出界面的确定都及用户反复沟通,直到用户满意为止。
输入界面的设计不仅考虑数据输入窗口的屏幕格式,而且考虑如何使输入数据的错误率可能的小,为此在程序中加入了对输入数据的校验和判断等功能,如输入数据上下限的设置、及相关数据关系的判断、参考对照表等。
例如,在输入和选择学生时,只输入学生代码即可,系统可根据成绩代码、科目及其学生姓名对照表,自动将相应的学生姓名和成绩等信息调出来。
当用户输入的学生代码不对时,系统自动转入代码表查询窗口,让用户在窗口中浏览查询选择学生代码,因此用户可不必一定记住每个产品的代码,系统将代码表显示在输入输出窗口旁,用户可随时通过系统联机查询。
6.4功能设计
6.4.1功能模块
功能模块图
6.4.2功能模块说明
(1)用户管理和班级管理:
通过验证用户的使用权限及进行数据的导入、导出工作。
对班级的管理。
(2)学生信息设置
对及学生相关信息的录入。
(3)课程及成绩设置:
各门课程所属学院及相关学分设置。
学生成绩的录入。
(4)成绩查询及统计:
按要求查询成绩。
进行图表的统计。
成绩审核业务,就单据格式是否规范和填写数据是否及实务数量相符的审核在系统中仍由人工完成,对成绩单上填写的学生人数量大于实际学生成绩数量的情况可在成绩录入过程中自动审核,并拒绝该成绩单。
数据录入模块用于录入学生名单和成绩单,它是高校学生成绩管理系统的基本数据输入的模块,他根据各科教师送来的成绩单,记录各学生的每人成绩数据。
为方便学校各级管理人员及时了解、掌握各学院的学生成绩,新系统特别设计了数据查询模块,并提供多种查询功能,每学期、各学院的查询等。
报表输出模块可以完成系统所需的各种报表的计算和打印输出功能,可输出“学生成绩表”等。
为了统一产品的品种及其特性,方便数据输入。
特设计了产品代码、产品名称及其特性对照表。
系统中设计代码维护模块的目的是当产品代码或特性变动时及时修改代码表,可对代码表进行增加、删除和修改等处理
6.5系统体系结构设计图
管理功能结构图:
教师功能结构图:
学生功能结构图:
系统模块图:
查询模块流程图:
维护模块流程图:
7.系统实现
7.1开发工具
本系统代码采用VC++6.0编写,后台数据库使用的SQLServer2000
7.2软件界面考屏
7.2.1用户登录界面
7.2.2修改密码界面
7.3系统测试结果
7.4源代码
关键代码程序清单:
用户登录:
确认
voidCLoginDlg:
:
OnOK()
{
//TODO:
Addextravalidationhere
yhbSetm_rs;
UpdateData(TRUE);
try
{
if(m_rs.IsOpen())
m_rs.Close();
m_rs.m_strFilter.Format("
UserName='
%s'
andUserpwd='
andUserType='
"
m_eUserName,m_eUserpwd,m_select);
m_rs.Open();
if(m_rs.IsEOF())
{
AfxMessageBox("
用户名及密码不一致请重试!
);
return;
}
else
x=1;
xk=m_select;
AfxMessageBox("
登录成功!
欢迎您进入本系统^_^"
}
catch(CDBException*e)
e->
ReportError();
Delete();
CDialog:
OnOK();
}
//系统默认是学生用户
BOOLCLoginDlg:
OnInitDialog()
OnInitDialog();
Addextrainitializationhere
CheckDlgButton(IDC_user,BST_CHECKED);
m_select="
student"
;
SetWindowText("
用户登录"
returnTRUE;
//returnTRUEunlessyousetthefocustoacontrol
//EXCEPTION:
OCXPropertyPagesshouldreturnFALSE
用户管理模块:
“注册”按钮:
voidCYHGLDlg:
OnZc()
Addyourcontrolnotificationhandlercodehere
m_userlist.EnableWindow(FALSE);
m_edit.EnableWindow(FALSE);
m_delete.EnableWindow(FALSE);
m_eUserID.EnableWindow(TRUE);
m_eUserName.EnableWindow(TRUE);
m_eUserType.EnableWindow(TRUE);
m_cancel.EnableWindow(TRUE);
m_new.EnableWindow(FALSE);
m_requery.EnableWindow(FALSE);
m_save.EnableWindow(TRUE);
m_UserID="
m_UserName="
m_UserType="
UpdateData(FALSE);
ak=0;
“编辑”:
OnEdit()
if(m_UserID=="
)
请先选中一条记录!
return;
m_UserType.TrimLeft();
m_UserType.TrimRight();
if(m_UserType="
teacher"
您没有权限操作该用户!
else
ak=1;
“删除”:
OnDelete()
inti=m_userlist.GetNextItem(-1,LVNI_SELECTED);
if(m_rs.IsOpen())
m_rs.Close();
if(AfxMessageBox("
您确认要删除该记录吗?
一旦删除则永久不能恢复!
MB_OKCANCEL)==IDOK)
try
m_rs.Delete();
catch(CDBException*e)
MessageBox("
删除失败"
e->
m_userlist.DeleteItem(i);
UpdateData(FALSE);
m_rs.Close();
“取消”:
Oncancel()
m_userlist.EnableWindow(TRUE);
m_edit.EnableWindow(TRUE);
m_delete.EnableWindow(TRUE);
m_eUserID.EnableWindow(FALSE);
m_eUserName.EnableWindow(FALSE);
m_eUserType.EnableWindow(FALSE);
m_cancel.EnableWindow(FALSE);
m_new.EnableWindow(TRUE);
m_requery.EnableWindow(TRUE);
m_save.EnableWindow(FALSE);
“保存”:
OnSave()
m_rs.m_strFilter.Format("
UserID='
orderbyUserIDASC"
m_UserID);
m_rs.Open();
if((m_UserID=="
)||(m_UserName=="
)||(m_UserType=="
))
AfxMessageBox("
用户姓名、用户编号、用户类型三项都不能为空!
return;
if(ak==0)
if(!
m_rs.IsEOF())
有相同的用户编号,请重新输入!
m
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩 管理 系统分析 设计