学生成绩管理系统设计报告1Word格式文档下载.docx
《学生成绩管理系统设计报告1Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统设计报告1Word格式文档下载.docx(35页珍藏版)》请在冰豆网上搜索。
《信息系统分析与设计》课程设计成绩评定表
教研室:
信息管理与信息系统班级:
08信管
指导教师评审意见
评价内容
具体要求
权重
评分
加权分
调研
论证
能独立查阅文献,收集资料;
能制定课程设计方案和日程安排。
0.1
5
4
3
2
工作能力
态度
工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作,
0.2
工作量
按期圆满完成规定的设计任务,工作量饱满,难度适宜。
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.5
指导教师评审成绩
(加权分合计乘以12)
分
加权分合计
指导教师签名:
年月日
评阅教师评审意见
查阅
文献
查阅文献有一定广泛性;
有综合归纳资料的能力
工作量饱满,难度适中。
0.3
评阅教师评审成绩
(加权分合计乘以8)
分
评阅教师签名:
课程设计总评成绩
目录
一、开发背景2
二、需求分析2
三、业务流程图2
四、数据流图与数据字典2
1、数据流图2
2、数据字典2
五、系统功能设计2
六、数据库设计2
1、E-R图2
2、关系模式的3NF设计2
七、系统实施2
1、系统界面2
2、系统的主要源代码:
2
3、开发过程中遇到的技术问题以及解决方法2
八、系统开发总结2
九、主要参考文献2
一、开发背景
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的优点。
例如,检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发学生成绩管理系统很有必要。
可行性分析:
(1)技术可行性
近几年来计算机技术发展异常迅猛,高速度大容量的电脑已成为许多学校里日常工作必不可少的设备,随着办公自动化的软件不断涌现,微机的普及为该系统的开发奠定了坚实的基础。
(2)经济可行性
一方面,系统的开发不需要额外增加设备购置费、软件开发费、管理和维护费用。
另一方面,系统的开发可以较好地解决教务处因日常事务繁杂而造成的处理效率低,出错率偏高的局面,并可以及时了解各项日常事务的进展情况,为及时调整库存资料提供可靠的数据支持,从而明确工作目标,同时还可以减少人工劳动、提高工作效率、增加书本流通量。
(3)操作可行性
计算机以强大的信息处理能力作为人类脑力劳动的有利助手登上历史舞台后,已渗透到社会生活的各个领域,使现代社会组织、特别是企业,学校的信息处理能力适应现代化管理的要求,且系统逐步从单项事务信息处理系统迅速向综合服务(决策支持系统)的管理信息系统发展。
本系统使用界面良好,易于操作。
通过以上分析,图书馆管理信息系统的开发在经济上、技术上、操作上都是可行的。
2、需求分析
2.1系统需求
功能需求简介:
学生成绩查询系统对学校加强学生成绩管理有着极其重要的作用。
由于各个大学都在持续扩招,学生的数量日益庞大,传统的手工成绩管理不仅工作量大,而且容易出现问题。
功能需求描述:
1、用户管理功能
用户分为管理员、教师用户、学生用户三类。
不论是管理员或教师用户,还是学生用户都需要通过用户名和口令进行登录。
2、按学生角度管理教师可以看到学生信息和成绩信息。
学生信息包括学号、姓名、班级、生日、性别、地址、电话等基本信息。
当教师要查看某一学生信息时,可以自动显示出该课程的这个学生所有课程的学习成绩,并同时自动计算出这个学生的总分和平均分。
在成绩信息中,教师可以对学习成绩进行增加、修改和删除,并能够打印报表。
特别是可以对学生成绩进行分析,便于在以后的教学和出卷中改进。
3、学生对成绩的查看功能
学生用户登录后,学生可以看到自己的学生信息和成绩信息。
学生信息包括学号、姓名、班级、生日、性别、地址、电话等信息。
成绩信息包括这个学生的所有课程的成绩信息。
新系统目标:
对于本系统,我们需要实现以下一些基本功能:
(1)学生查询功能:
为了方便学生查找成绩等信息,将所有信息按照需要进行分类。
这样学生就能很方便的找到自己需要的信息。
(2)添加功能:
管理员可以通过填写表格的形式输入学生成绩等相关信息。
系统可以自动避免重复信息。
(3)修改功能:
管理员可以对数据库中的信息进行修改。
系统能够通过管理员给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。
(4)删除功能:
管理员可以对数据进行删除操作。
系统能够通过管理员给出的条件查找出要删除的信息,并提示是否确定删除,如果确定删除,则把相关信息从数据库中删除掉。
(5)管理员查询功能:
管理员可以通过条件选择查询所有信息,并进行排序。
三、业务流程图
四、数据流图
根据系统功能描述,采用面向数据流的分析方法,绘制出系统的数据流图。
1、 通常,数据流图是分层绘制的,整个过程反映了自顶向下进行功能分解和细化的分析过程。
顶层(也称第0层)DFD用于表示系统的开发范围,以及该系统与周围环境的数据交换关系;
最底层DFD代表了那些不可进一步分解的"
原子加工"
;
中间层DFD是对上一层父图的细化,其中的每一个加工可以继续细化,中间层次的多少由系统的复杂程度决定。
(1)第0层DFD将整个系统表示成一个加工;
(2)确定并标记主要的输入和输出;
(3)分离出下一层中的加工、数据对象和存储,并对其进行细化,一次细化一个加工;
(4)标记所有加工和箭头;
(5)重复步骤(3)和(4),直到所有的加工只执行一个简单的操作,可以很容易地用程序实现。
*第0层DFD图
教务人员维护学生信息和课程信息,并登录学生的选课成绩;
学生查询自己的成绩单。
*第1层DFD图
对第0层DFD图中的一个加工"
学生成绩管理"
进行展开。
*第2层DFD图
对第1层DFD图中的一个加工"
查询学生成绩"
绘制第0层DFD的时候,将整个系统看成一个加工,然后找出作用于该加工的外部实体,以及相应的数据输入和输出。
对于"
学生成绩管理系统"
而言,整个系统就是一个加工"
。
从用户的需求描述可知,"
教务人员"
是数据的源点,"
学生"
是数据的终点。
另外,教务人员需要录入学生信息、课程信息和成绩,说明"
学生信息"
、"
课程信息"
和"
成绩"
是数据流;
同样,"
查询请求"
查询结果"
也是数据流。
根据上述分析,得到如图所示的第0层DFD。
绘制下一层数据流图时,细化第0层的加工"
,从而描述系统的主要功能。
从第0层DFD得知,"
是教务人员需要录入的一个信息,因此加入一个加?
quot;
录入学生信息"
,同样得到"
录入课程信息"
登记成绩"
两个加工。
另外,数据流"
应该由加工"
查询成绩"
来完成。
这样,我们用"
登记学生成绩"
四个加工代替第0层的"
,同时增加这些数据流对应的数据存储,即"
课程"
,最后得到如图所示的第1层DFD。
为了继续进行分解,我们分析第1层DFD中的加工"
学生查询成绩时需要提供合法性检查,因此,"
可以分解为"
合法性检查"
两个处理步骤,从而形成如图所示的第2层DFD。
2、数据字典
数据字典卡片
数据项数据字典
(一)No:
____1____
编号:
001名称:
学号别名:
学生编号
简述:
唯一标识学生的身份
连续值
类型(C,N)字符型
长度:
8个字符
值域:
00000000-99999999
与其他值的运算关系:
离散值
值
含义
备注:
数据元素一览表
编号
数据元素名称
别名
类型
长度
小数位数
001
学号
char
10
002
课程号
课程编号
20
003
课程名称
课程名成
…
数据结构数据字典
(二)No:
______1__
001名称:
课程信息目录别名:
课程目录
组成:
1.课程号2.课程名3.开课学期4.课程性质
数据结构一览表
数据结构名称
课程信息目录
C/N
用户信息
字符型
学生成绩目录
学生成绩
数字型
数据存储数据字典(三)No:
_____1__
D101名称:
学生成绩相关信息别名:
学生通过系统查询所要看到的信息
输入数据流:
学生成绩表、课程信息表
输出数据流:
学生某门课程成绩及相关信息
1.课程信息目录(数据结构)
2.学生成绩信息表(数据结构)
3.查询的学号
关键字:
相关处理:
记录长度:
记录数:
数据量:
数据存储一览表
D101
学生成绩相关信息
D102
D103
数据流表5-4数据字典(四)No:
____1______
S_001名称:
学生成绩表别名:
学生成绩表
各任课老师向学校提交各科学生成绩表
学号、课程号、成绩
若为数据流
来源:
各任课老师
去向:
学校教务处
峰值流量:
10/天
数据流一览表
数据流名称
来源
去处
S_001
任课老师
成绩录入
S_002
用户信息表
用户
用户编辑
S_003
课程信息表
课程表
教务处
课程信息编辑
处理表5-5数据字典(五)No:
______1____
01-01名称:
计算平均成绩
输入信息:
每个学生每门课成绩、每门课学分、读取的学生课程门数
数据存储:
输出信息:
学生平均成绩激发条件:
学期结束
简要说明:
可通过相关SQL语句完成
加工逻辑:
平均成绩为每门课成绩*每门课学分之/总学分
出错处理:
执行频率:
每学期一次
处理逻辑一览表
序号
处理逻辑
名称
1.1
计算平均成绩
1.2
用户信息管理
1.3
查询成绩
外部实体数据字典(六)No:
T03名称:
教师
提供学生课程成绩
输入的数据流:
输出的数据流:
D_002
外部项一览表
01
02
5、系统功能设计
(1)组织结构图
铜陵学院学生成绩管理信息系统分析与设计的组织结构图。
各功能模块的功能描述:
系统管理模块设计说明书
模块编号:
YHDL
模块名称:
用户登录
上级调用模块编号:
XTGL
上级调用模块名称:
系统管理
输入:
用户名称、用户密码以及选择用户身份
输出:
弹出登录成功的提示
处理:
后台进行用户的合法性验证
系统名称:
学生成绩管理信息系统
模块设计说明书1
YHGL
用户管理
用户名称、用户编号、用户类型
列表视里会清晰地反应用户所做的修改
对数据库表做增、删、改等操作
该模块系统自动把用户编号设置为用户初始密码
模块设计说明书2
XGMM
修改密码
用户编号、旧密码、新密码、确认密码
修改成功的提示信息
与用户表中的信息进行交互
模块设计说明书3
六、数据库设计
1、E-R图
根据系统数据流图和数据字典,总体概念模型(E-R)如下图示。
2、关系模式的3NF设计
关系模式:
学生个人信息表(学号、姓名、身份证号、密码、年龄、性别、联系电话、专业、年级、班级、照片、籍贯)
学生成绩表(学号、课程号、成绩)
关系模式:
课程表(课程号、课程名称、教师号、课程级别)
教师个人信息表(教师号、姓名、密码、课程号、家庭住址、籍贯、电话、职称、性别、照片)
七、系统实施
A.系统界面:
1.用户登录界面
2.用户管理界面
3.修改密码界面
4.所有成绩查询界面
B.模块测试结果
1用户登录模块测试结果
2.用户管理模块测试
关键代码程序清单:
用户登录:
确认
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;
“编辑”:
voidCYHGLDlg:
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("
删除失败"
m_userlist.DeleteItem(i);
UpdateData(FALSE);
m_rs.Close();
“取消”:
Oncancel()
m_userlist.EnableWindow(TRUE);
m_edit.EnableWindow(TRUE);
m_delete.Enable