学生成绩信息管理系统Word文档下载推荐.docx

上传人:b****5 文档编号:20949087 上传时间:2023-01-26 格式:DOCX 页数:13 大小:184.13KB
下载 相关 举报
学生成绩信息管理系统Word文档下载推荐.docx_第1页
第1页 / 共13页
学生成绩信息管理系统Word文档下载推荐.docx_第2页
第2页 / 共13页
学生成绩信息管理系统Word文档下载推荐.docx_第3页
第3页 / 共13页
学生成绩信息管理系统Word文档下载推荐.docx_第4页
第4页 / 共13页
学生成绩信息管理系统Word文档下载推荐.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

学生成绩信息管理系统Word文档下载推荐.docx

《学生成绩信息管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《学生成绩信息管理系统Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。

学生成绩信息管理系统Word文档下载推荐.docx

(2)概要设计阶段具体到结构图

(3)详细设计可以只针对部分关键的部分或模块进行,用流程图表达

(4)体会

2需求分析

学生成绩管理是高等学校教务管理的重要组成部分,其内容较多,为了简化设计,要求设计的管理系统能够完成以下几种功能:

(1)学生注册登记;

(2)登记学生成绩;

(3)修改学生成绩;

(4)打印一个班级学生的单科成绩;

(5)求出每个学生一学期中各科的平均成绩;

(6)打印某一课程成绩处于指定分数段内的学生名单;

(7)学生可以查询自己的成绩。

2.1数据模型

数据模型的三个因素为数据对象、属性以及关系。

用实体-关系图来建立数据模型。

确定系统实体:

首先分析"

学生成绩管理系统"

的用户要求,找出该系统应该包括的实体。

显然,学生、课程和成绩都是系统的实体,并且可以初步定义它们的属性。

管理员虽然是系统的用户,但其信息与系统处理无关,因此不用作为实体。

另外,由于成绩信息包含了选课信息,因此选课信息不用单独记录。

最终,确定系统的实体是学生、课程和成绩。

接着,我们分析这些实体之间的关联关系。

从实际情况得知,一个学生可以选多门课程,一门课程也可以有多个学生选修,但每个学生选一门课程必须有一个成绩。

根据上述分析,我们得到如图所示的实体关系图。

实体属性定义:

学生:

学号、姓名、性别、出生年月、名族、入学年月、班级

课程:

课程编号、课程名称、课程学分、课程类别、课程学时

成绩:

学号、课程编号、分数、考核日期

图2-1学生实体属性

图2-2课程实体属性

图2-3成绩实体属性

图2-4实体-关系图

2.2功能模型

用数据流图来建立功能模型。

本系统涉及到的业务工作主要是:

学生管理、系别管理、成绩管理和课程管理等方面,系统界面可以分为管理员界面和普通用户界面,整个系统划分为下面的信息:

学生基本信息(学号,姓名,性别,出生年月等);

学生成绩(学号,姓名,各科成绩等);

学生课程信息(学号,姓名,考试课程名)。

教务人员或管理员进入管理界面后,可以输入学生的基本信息、成绩和课程信息,而学生进入普通用户界面后可以查询自己的成绩,整体数据流图如图2-5所示

图2-5整体数据流图

对上面的学生成绩管理模块展开如下图2-6所示。

图2-6学生成绩管理展开后的数据流图

对查询学生成绩展开如下图。

图2-7查询部分的数据流图

绘制第0层DFD的时候,将整个系统看成一个加工,然后找出作用于该加工的外部实体,以及相应的数据输入和输出。

对于"

而言,整个系统就是一个加工"

学生成绩管理"

从用户的需求描述可知,"

教务人员"

是数据的源点,"

学生"

是数据的终点。

另外,教务人员需要录入学生信息、课程信息和成绩,说明"

学生信息"

、"

课程信息"

和"

成绩"

是数据流;

同样,"

查询请求"

查询结果"

也是数据流。

根据上述分析,得到如图所示的第0层DFD。

  绘制下一层数据流图时,细化第0层的加工"

,从而描述系统的主要功能。

从第0层DFD得知,"

是教务人员需要录入的一个信息,因此加入一个加?

quot;

录入学生信息"

,同样得到"

录入课程信息"

登记成绩"

两个加工。

另外,数据流"

应该由加工"

查询成绩"

来完成。

这样,我们用"

登记学生成绩"

查询学生成绩"

四个加工代替第0层的"

,同时增加这些数据流对应的数据存储,即"

课程"

,最后得到如图所示的第1层DFD。

  为了继续进行分解,我们分析第1层DFD中的加工"

学生查询成绩时需要提供合法性检查,因此,"

可以分解为"

合法性检查"

两个处理步骤,从而形成如图所示的第2层DFD。

2.3行为模型

用状态转换图来建立行为模型。

在"

系统中,学生成绩信息需要采取安全措施,我们可以采取登录方法避免非法使用系统。

这样,该系统存在"

登录"

正常"

出错"

等状态的转换。

启动系统之后,系统处于"

状态。

在这种状态下,学生或管理员可以进行登录或取消登录。

如果取消登录,系统直接退出;

如果登录失败,系统进入"

出错处理"

状态,在显示错误信息后,又重新回到"

状态;

如果登录成功,系统进入"

状态,即显示操作界面(管理员操作界面或普通用户操作界面),当用户退出。

系统整体的状态转换图如图2-8所示。

图2-8状态转换图

3概要设计

1.学生成绩管理软件的数据结构

学生成绩一般都是以班级为单位进行管理的,一个班级用一个结点来表示。

考虑到插入和删除的方便,这些以班级为单位的结点用链表方式组成一个主目录。

每个结点有四个域:

(1)班级代号;

(2)课程情况;

(3)学生情况;

(4)班级顺序链。

课程情况应能反映出大专生所学过的全部课程。

因课程是逐年增多的,所以采用链表结构以便能不断插入新的课程。

该班学过的课程构成一个课程链表,所以班级结点中的课程情况用课程链表表示。

学生情况主要反映学生的学号,姓名,每学期学生的成绩情况。

因为学号总是顺序排列的,所以选用一个结构体数组作为反映学生情况的登陆记表。

该数组的下标值接上班级结点中的班级号就是学号。

例如,设每班学生数不超过40个人,班级号为9612,某学生在登记表中相应分量的下标值为26,则该学生的学号为961226。

另外,学生成绩管理要分6个学期,所以在学生登记表中,开设6个指针域,每个指针指向该生某学期某门课程学成绩的结点。

各结点结构如下所示:

(1)主目录中班级的结点为:

班级号课程链班级顺序链学生登记表

(2)课程链表中的结点:

课程代号学期号二叉树链课程顺序链

(3)分数链表中的结点为:

左链学号课程代号成绩分数顺序右链

为了便于登记和查询学生的成绩,选择二叉排序来存放学生的成绩。

每个班级的每门课程对应一棵二叉树。

通过主目录中班级结点的课程链找到指定的课程结点,再通过课程结点中的二叉树指针指向该门课程的成绩二叉排序树。

另外通过主目录中班级结点的学生登记表中的学期指针,指向该学生本学期某门课程的分数结点,并以分数结点的分安数顺序链勾链该生各门课程的成绩。

在登记成绩和查询分数时,都要用到课程代号。

课程代号和课程名称是一一对应的。

为了简化程序,课程名称和代号对照表设计为一个向量,向量的下标值就作为课程代号,而向量中的元素就是课程名称,这样可以省去代号域。

1.各模块的功能和实现

学生成绩管理的相关功能由对应的函数来实现。

(1)用户登陆

用户进入登陆界面后,输入账号密码,系统会连接到数据库进行验证,若为管理员,则进入管理员界面,执行相应的操作;

若为普通用户(学生),则进入普通用户界面。

(2)学生注册登记

学生入学后,首先应是注册登记。

从登陆界面可以进入注册界面,注册时应先检查该学生所在班级是否已经登入主目录,未登入则若调用新结点后登陆入主目录。

然后将新调入的班级结点中对应域赋初值,最后再读入学生的学号和姓名并一一填入学生登记表。

这样就完成了一个班级的注册和登记工作。

(3)登记学生成绩

学生注册后才可以登记成绩,所以先要检查这个班级是否已经注册,班级中是否有这个学生。

在确认有此学生后,登记该生成绩。

这时需完成两个操作。

一个查询课程代号,另一个是将成绩填入二叉树。

这两个操作分别用两个函数来实现:

①查询课程代号;

②插入二叉排序树。

有了这两个函数,登记学生成绩的工作可以很方便地完成。

首先查处课程代号,调用课程结点,填入课程代号和学期号;

再在二叉树链域中置初值为NULL,将课程结点插入为课程链表的头结点。

接着读入每个学生的学号和成绩,每个学生的每门课程都生成一分数结点插入到相应课程的二叉树中。

同时,还要将该分数结点链入该生这学期各科成绩的分数链表中。

学生登记表中的学期指针域中存放该分数链表的头结点地址。

(4)修改学生成绩

若登记的学生成绩有错误,则调用修改学生成绩的函数便可以加以修改。

修改时从主目录出发,查到班级,再从学生登记表中查对学号和姓名,再在与学期匹配的学期指针域中取得该生的学生链表的头指针,然后搜索分数链表,查到指定课程的分数结点,就可修改成绩。

(5)打印一个班级学生的单科成绩

由于学生成绩是用二叉树排序树来存储的,所以采用中序遍历的方法就可以按次序打印出学姓名和成绩。

在打印了程序中,从主目录开始查到班级号,就可以从课程结点的二叉树链域中取得成绩二叉排序树的头指针;

然后调用中序遍历了程序就可进行打印,同时可求出平均成绩和各个分数段的人数。

①求出每个学生一学期中各科的平均成绩

此了程序从主目录查对班级号开始,通过学生登记表中每个学生的学期指针取得各自的分数链表的头指针。

顺着分数链就可求出该生本学期各科的平均成绩。

②打印某一课程成绩处于指定分数段内的学生名单

对二叉树序树进行中序遍历,但遍历时应判断当前成绩是否处于分数段内而决定是否打印。

(6)学生查询成绩

学生从登陆界面输入账号密码后,系统连接到数据库检查该用户是否注册等信息,若信息正确,则进入普通用户界面,然后调用查询函数即可查看成绩。

由以上分析,学生成绩管理系统可以分为三个模块:

用户登录及注册模块、普通用户功能模块、管理员功能模块,如图3-1所示,管理员可以完成学生成绩的登记、修改、打印功能,而学生可以完成成绩的查询功能。

图3-1系统总体结构图

4详细设计

系统总体流程图如图4-1所示。

图4-1系统总体流程图

系统的部分模块设计流程图如下,其中矩形代表“处理”,菱形代表“选择”,箭头代表“控制流”,圆代表“连接”。

图4-2登录模块流程图

图4-3登记成绩模块流程图

图4-4修改模块流程图

图4-5学生查询模块流程图

图4-6打印模块流程图

5体会

以前上课的时候,觉得老师讲的内容都听得懂,所以系统设计应该是件很容易的事,但当自己亲自动手去分析设计每一步时,才觉得自己有很多东西没有理解透彻,比如说建立实体关系图时,就要仔细分析哪些是有实体,哪些是没有必要作为实体的,实体的属性应该考虑哪些以及实体间的联系时怎样等等一些细节问题;

在建立功能模型时,要先从整体考虑将系统分为哪些部分,各部分又该如何展开;

在建立行为模型时,要分析系统内有那几个状态以及状态间是如何转换的。

在此次系统设计过程中,我觉得比较难的是概要设计和详细设计,虽然老师已在模板中分析了一部分,但具体用图来表示时,还是遇到了一些困难,特别是在详细设计阶段,只对一部分模块从整体上用流程图来设计。

通过这次学生成绩信息管理系统的设计,我对系统设计的流程有了更清晰地认识,也进一步学会如何建立各种模型去分析各个阶段,同时我认识到自己所学的知识太少、太浅,以致设计很粗糙,希望以后有机会再加深学习这部分知识。

6参考文献

[1]张海藩,等.软件工程.人民邮电出版社,2002年3月.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1