当前位置:文档之家› 数据结构课程设计学生成绩管理问题

数据结构课程设计学生成绩管理问题

数据结构课程设计学生成绩管理问题
数据结构课程设计学生成绩管理问题

数据结构课程设计

题目: 学生成绩管理问题

学院:理学院

班级:数学11-1班

学生姓名:任树成

学生学号: 2011027040

指导教师:张太发

2012年 12月 5日

课程设计任务书

姓名任树成班级数学11-1班学号08 设计题目学生成绩管理问题

理论要点1.利用模块化的思想化整为零设计子程序。

2.利用数组存储学生信息。

3.利用单链表储存便于对数据进行处理。

设计目标实现学生信息的录入,查找,保存,添加,删除,排序。学生信息包括学号,姓名,英语数学语文三门课的成绩。

研究方法步骤1.需求分析,主要是输入输出的形式和输入值的范围。

2.(1) 主界面设计,设计一个含有多个菜单项的主控菜单;

(2) 存储单元设计,利用数组及单链表结合的方式存储;

(3) 系统功能设计。

3.进行详细设计。

预期结果基本实现学生信息的录入,查找,保存,添加,删除,排序。

计划与进步的安排1.资料查找、系统分析,概要设计;时间安排1天。

2.系统详细设计、功能设计;时间安排1天。

3.算法实现、编程调试;时间安排4天。

4.资料整理、课程设计说明书编写;时间安排1天。

5.课程设计开始时间为 2012年11月 28日

摘要

针对学生成绩管理问题,学习了数据结构以后,尝试做了学生成绩管理系统。学生成绩管理是学校教务管理的重要组成部分,其处理信息量很大,本设计是对学生的成绩管理做一个简单的模拟。

本文将利用数据结构所学知识,对学生成绩管理系统做了尝试,这个程序的主要功能是输入学生的学号、姓名对其进行存储,在存储后可以对学生的成绩按学号和姓名进行查寻。该系统具有存贮学生数据,按学号、姓名查询,列出学生成绩和统计功能。使用方法:系统输入数据后,将在当前目录中建立一个名为date文件,用于保存输入的数据。学号输入只能用数字输入,并且学号只能是10位。姓名输入符合中国人的姓名,只能用中文,且最长为5个汉字。

《学生成绩管理系统》是对学生的成绩进行修改和管理,而且方便快速,这个程序虽然简单,但是可以作为老师的辅助软件,对学生的各种成绩进行管理。

通过课程设计培养了我的动手能力以及综合运用所学的数据结构基础理论,基础知识,基本技能,进行程序分析和程序开发,提高在实际开发中解决问题的能力,达到了能够利用数据结构结合C++语言进行应用程序的规划,分析,设计和实施,更能进一步使我对这门语言有深刻的理解和更好的得到巩固,更能对我所学的知识得到检验。

由于是第一次用C++编写,所以水平有限此系统还有许多不够完整和严密性,敬请老师指正!

关键词学生成绩管理,数组,单链表

目录

摘要................................... 错误!未定义书签。

1 课程设计题目........................ 错误!未定义书签。

2 需求分析 (1)

3 概要设计 (1)

4 详细设计 (1)

5 用户使用说明 (20)

6 测试结果 (21)

7 总结 (23)

参考文献 (23)

学生成绩管理问题

1. 课程设计题目

学生成绩管理是学校教务管理的重要组成部分,其处理信息量很大,本设计是对学生的成绩管理做一个简单的模拟,用菜单选择操作方式完成下列主要功能:

(1) 登记学生成绩;

(2) 查询学生成绩;

(3) 插入学生成绩;

(4) 删除学生成绩;

要求对每个功能分别用函数实现。

2. 需求分析

(1) 输入数据为整型,学生信息不超过100条;

(2) 输出数据为整型;

(3) 该系统可以实现学生信息增加,删除,查找,排序,保存功能。

3. 概要设计

为了实现以上功能,可从3个方面着手设计。

(1) 主界面设计,设计一个含有多个菜单项的主控菜单。

(2) 存储单元设计

(3) 系统功能设计

4.详细设计

主要包括各部分函数功能,说明及流程图,源程序。

(1) 主函数int main()主要显示主菜单;

信息增加模块void cla::sadd()主要用于学生成绩的录入;

信息保存模块void ssave()主要用于学生成绩的保存;

信息删除模块void sremove()主要用于信息删除;

信息排序模块void staxis(),可根据不同情况进行排序;

信息读取模块void sload()可以显示主菜单;

信息查询模块void ssearch()可根据学号姓名进行查找;

信息修改模块void samend()可用于信息修改。

(2) 成绩管理系统重要函数调用调用关系如图所示。

其中成绩排序模块包括学号排序及数学,语文,英语及总成绩排序。

成绩查询模块可根据学号,姓名查询。

(3) 源程序

#include

#include #include #include using namespace std; #define max 100;

class student { public: student *next; public:

string name;//姓名 long num;//学号

float x,y,z;//数学,语文,英语 float AA;//总分

void play()

{ cout<

学生管理系统

信息增加模块 信息修改模块 信息 排序模

信息保存模块 信息删除模块 信息读取模块

信息查询模块

student(string sname,long snum,int sx,int sy,int sz) {

name=sname;

num=snum;

x=sx;

y=sy;

z=sz;

}

};

class cla

{

public:

cla()//构造函数

{

stu=0;

sload();

}

~cla()//析构函数

{

student *p;

p=stu;

while(p)

{

p=p->next;

delete stu;

stu=p;

}

stu=0;

}

void sadd(); //添加

void sremove(); //删除

void samend(); //修改

void ssearch(); //查询

void staxis(); //排序

void ssave(); //保存

void sload(); //读取

//排序函数

void pxh(); //按学号排序

void psx(); //按数学成绩排序

void pyw(); //按语文成绩排序

void pyy(); //按英语成绩排序

void pAA(); //按总成绩排序

private:

student *stu; //头接点

};

void cla::sadd()//添加

{

student *q;

string name1;

long num1;

int x1,y1,z1;

system("cls");

cout<<"\n **增加的学生** \n"<

cout<<"请输入学生的(中间用空格间隔) "<

cout<<"姓名学号数学成绩语文成绩英语成绩:"<>name1>>num1>>x1>>y1>>z1;

q=new student(name1,num1,x1,y1,z1);

q->next=0;

q->AA=x1+y1+z1;

if(stu)

{

student *t;

t=stu;

if(t->num==num1)

{

cout<<"学号已存在,请重新输入"<

return;

}

while(t->next)

{

if(t->num==num1)

{

cout<<"学号已存在,请重新输入"<

return;

}

t=t->next;

}

t->next=q;

}

else

{

stu=q;

}

cout<<"输入完毕"<

}

void cla::sremove()//删除

{

system("cls");

int num1;

cout<<"\n** 删除学生信息**\n";

cout<<"请输入想要删除学生的学号:";

cin>>num1;

student *p1,*p2;

p1=stu;

while(p1)

{

if(p1->num==num1)

break;

else

{

p2=p1;

p1=p1->next;

}

}

//删除结点

if(p1!=NULL)//若找到结点,则删除

{

p1->play();

cout<<"确定删除吗?[Y/N]"<

char c;cin>>c;

if(toupper(c)!='Y') return;

if(p1==stu) //若要删除的结点是第一个结点

{

stu=p1->next;

delete p1;

}

else //若要删除的结点是后续结点

{

p2->next=p1->next;

delete p1;

}

cout<<"找到学号为"<

cout<<"未找到想要删除的学生!\n";

}

void cla::samend()//修改

{

system("cls");

long num1;

cout<<"\n** 修改学生信息**\n";

cout<<"输入要修改学生的学号";

cin>>num1;

//查找要修改的结点

student *p1,*p2;

p1=stu;

while(p1)

{

if(p1->num==num1)

break;

else

{

p2=p1;

p1=p1->next;

}

}

if(p1!=NULL)

{

cout<<"学号是"<

cout<<"姓名"<name<<"数学"<x<<"语文"<y<<"英语"<z<

cin>>p1->name>>p1->x>>p1->y>>p1->z;

p1->AA=p1->x+p1->y+p1->z;

cout<<"修改成功"<

}

cout<<"未找到!\n";

}

void cla::ssearch()//查询

{

system("cls");

cout<<"\n** 查询学生信息**\n"<

cout<<"1.按学号查询"<

cout<<"2.按姓名查询"<

cout<<"3.返回"<

char c; cin>>c;

switch (c)

{

case '1':

{

long num1;

cout<<"要查询的学号"<

cin>>num1;

//查找要查询的结点

student *p1,*p2;

p1=stu;

while(p1)

{

if(p1->num==num1)

break;

else

{

p2=p1;

p1=p1->next;

}

}

if(p1!=NULL)

{

cout<<"学号是"<

cout<<"姓名:"<name<<" 数学:"<x<<" 语文:"<y<<" 英语:"<z<

cout<<"查询完毕...";

}

else //未找到接点

cout<<"未找到!\n";

break;

}

case '2':

{

string name1;

cout<<"要查询的学生姓名"<

cin>>name1;

//查找要查询的结点

student *p1,*p2;

p1=stu;

while(p1)

{

if(p1->name==name1)

break;

else

{

p2=p1;

p1=p1->next;

}

}

if(p1!=NULL)

{

cout<

cout<<"学号:"<num<<" 数学:"<x<<" 语文:"<y<<" 英语:"<z<

}

else //未找到接点

cout<<"未找到!\n";

break;

}

case '3': return;

}

}

void cla::pxh() //按学号排序

{

student *p1,*p2;

int n;

p1=stu;

n=1;

while(p1->next)

{ n++;

p1=p1->next;

}

cout<<"共有"<

int i;

p1=stu;

for(i=1;i

{

p1=stu;

if (p1->num>p1->next->num) // 如果头结点大于第二个的{

p2=p1->next;

p1->next=p1->next->next;

p2->next=p1; //头结点交换

stu=p2;

}

p1=stu;

while(p1->next->next) //中间的交换

{

p2=p1;

p1=p1->next;

if(p1->num>p1->next->num)

{

p2->next=p1->next;

p1->next=p1->next->next;

p2->next->next=p1;

p1=p2->next; //交换

}

}

}

p1=stu;

do

{

p1->play();

p1=p1->next;

}

while(p1);

}

void cla::psx()//按数学成绩排序

{

student *p1,*p2;

int n;

p1=stu;

n=1;

while(p1->next)

{ n++;

p1=p1->next;

}

cout<<"共有"<

int i;

p1=stu;

for(i=1;i

{ p1=stu;

if (p1->x>p1->next->x) // 如果头结点大于第二个的{ p2=p1->next;

p1->next=p1->next->next;

p2->next=p1; //头结点交换

stu=p2;

}

p1=stu;

while(p1->next->next) //中间的交换

{ p2=p1;

p1=p1->next;

if(p1->x>p1->next->x)

{

p2->next=p1->next;

p1->next=p1->next->next;

p2->next->next=p1;

p1=p2->next; //交换

}

}

}

p1=stu;

do

{

p1->play();

p1=p1->next;

}

while(p1);

}

void cla::pyw()//按语文成绩排序

student *p1,*p2;

int n;

p1=stu;

n=1;

while(p1->next)

{ n++;

p1=p1->next;

}

cout<<"共有"<

int i;

p1=stu;

for(i=1;i

{ p1=stu;

if (p1->y>p1->next->y) // 如果头结点大于第二个的{ p2=p1->next;

p1->next=p1->next->next;

p2->next=p1; //头结点交换

stu=p2;

}

p1=stu;

while(p1->next->next) //中间的交换

{ p2=p1;

p1=p1->next;

if(p1->y>p1->next->y)

{

p2->next=p1->next;

p1->next=p1->next->next;

p2->next->next=p1;

p1=p2->next; //交换

}

}

}

p1=stu;

{

p1->play();

p1=p1->next;

}

while(p1);

}

void cla::pyy()//按英语成绩排序

{

student *p1,*p2;

int n;

p1=stu;

n=1;

while(p1->next)

{

n++; p1=p1->next; }

cout<<"共有"<

int i;

p1=stu;

for(i=1;i

{

p1=stu;

if (p1->z>p1->next->z) // 如果头结点大于第二个的{

p2=p1->next;

p1->next=p1->next->next;

p2->next=p1; //头结点交换

stu=p2;

}

p1=stu;

while(p1->next->next) //中间的交换

{

p2=p1;

p1=p1->next;

if(p1->z>p1->next->z)

{

p2->next=p1->next;

p1->next=p1->next->next;

p2->next->next=p1;

p1=p2->next; //交换

}

}

}

p1=stu;

do

{

p1->play();

p1=p1->next;

}

while(p1);

}

void cla::pAA()//按总分排序

{

student *p1,*p2;

int n;

p1=stu;

n=1;

while(p1->next)

{

n++; p1=p1->next;

}

cout<<"共有"<

p1=stu;

for(i=1;i

{ p1=stu;

if (p1->AA>p1->next->AA) // 如果头结点大于第二个的{

p2=p1->next;

p1->next=p1->next->next;

p2->next=p1; //头结点交换

stu=p2;

}

p1=stu;

while(p1->next->next) //中间的交换

{

p2=p1;

p1=p1->next;

if(p1->AA>p1->next->AA)

{

p2->next=p1->next;

p1->next=p1->next->next;

p2->next->next=p1;

p1=p2->next; //交换

}

}

}

p1=stu;

do

{

p1->play();

p1=p1->next;

}

while(p1);

}

void cla::staxis()//排序

{

system("cls");

学生信息管理系统可行性分析报告

学生信息管理系统可行性分析报告 一.引言 1.编写目的 随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。 2.项目背景 该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理.目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作. 3.定义 学籍管理系统:学籍管理是帮助教学人员、行政人员对人事档案的管理软件。使用汉语编程语言,独立完成其功能。 MIS:管理信息系统;DFD图:数据流图(描述逻辑模型的图形工具,表示数据在系统内的变化。);CFD:流程控制图;

4.参考资料 [1].<软件工程概论> 李存珠李宣东编著南京大学计算机系出版2001年8月 [2]数据库系统原理教程,王删著.清华大学出版社,2002.1 [3]现代软件工程,陈松桥等著.北方交通大学出版社,2002,1 二.可行性研究的前提 1.原因 由于现今的学籍管理非常繁琐,行政人员付出大量的工作时间,得到的效率很低。因此为提高工作效率,减轻校方人员的工作负担,决定开发学籍管理系统软件。 2.系统目标 学籍管理信息系统以计算机为工具,通过对教务管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事教务管理政策的研究实施,教学计划的制定执行和教学质量的监督检查,从而全面提高教学质量。 3.条件、假定和限制 开发该系统的主要资金来源为用户提供的开发资金投入,故在设计开发中最大不能超过该限度,且软件完成交付用户使用后,应保证软件的运行寿命至少达到用户的要求范围.且软件开发时间应基本控制在用户提出的要求范围内. 4.决定可行性的主要因素: (1)技术可行;

学生成绩管理系统需求分析说明书

学生成绩管理系统 第一章引言 (1) 1.1 目的: (1) 1.2 背景 (1) 1.3 定义 (2) 1.4 参考资料 (2) 第二章任务概述 (2) 2.1 目标 (2) 2.2 运行环境 (2) 第三章数据描述 (2) 3.1 静态数据 (3) 3.2 动态数据 (3) 3.3 数据库描述 (3) 3.4 数据字典 (4) 3.5 数据采集 (4) 第四章功能需求 (5) 4.1 功能划分 (5) 4.2 功能简述 (5) 第五章性能需求 (5) 5.1 数据精确度 (5) 5.2 时间特性 (5) 5.3 适应性 (5) 第六章运行需求 (5) 6.1用户界面 (5) 6.2硬件接口 (5) 6.3软件接口 (5) 6.4故障处理 (5) 第七章其他需求 (6) 第一章引言 1.1 目的: 运用软件对学生的成绩进行管理,科学而有效,不仅可以减少教师的工作量,方便学校对于所有学生的成绩进行系统的管理,而且便于学生适时的查询自己的成绩。一款优秀的学生成绩管理软件,正好可以满足当前的市场需求,取得一定的经济效益。本软件就是针对此种情况和客户需求而开发。本说明书明确了客户的各项需求,为程序开发人员明确了所开发软件应具有的功能和注意事项。 1.2 背景 ?开发软件名称:学生成绩管理系统。 ?项目开发者:山东艾仪嘉软件技术有限公司开发小组: 张钊锋(组长),杨廷婷,黄婷,林德伟,屠伟,张旭松,张杰

?用户单位: 1.3 定义 VB 是Visual Basic的简写,是可视化的编程语言。是一种简单、高效地开发应用软件的工具。 SQL (Structured Query Language)是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。 数据流图简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。 E-R图(Entire and Relation)为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。 数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。 静态数据系统内部有关的数据结构和操作规程。 动态数据程序运行时输入和输出的数据。 数据采集又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。 1.4 参考资料 文档引用的规范: 《软件工程导论》张海藩主编清华大学出版社2005年8月出版 《软件生命周期质量保证与测试》张向宏主编电子工业出版社2009年5月出版技术资料参考: 《数据库原理与应用案例教程》郑玲利主编清华大学出版社2008年9月出版 《Visual Basic完全自学手册》俞磊等编著机械工业出版社2009年1月出版 第二章任务概述 2.1 目标 使点菜信息更加系统化,信息更加精确化。使管理人员管理更加方便,能够改动部分信息,最大化的满足客户的需求。系统能自动保存信息,给查找数据留下依据。 2.2 运行环境 硬件环境:计算机(含键盘、鼠标等),打印机等外围设备。 软件环境: 建议配置:操作系统windows 2000/XP/Vista CPU PentiumⅣ以上 内存128M以上 硬盘空间100M以上 第三章数据描述

学生成绩管理系统数据流图.doc

.3.3.1 创建实体关系图 (1)在需求收集的过程中,要求客户列出应用软件或业务过程涉及到的"事物",将其演化成数据对象; (2)一次考虑一个对象,分析员和客户定义这个对象和其他对象之间是否存在连接; (3)如果存在连接,应创建一个或多个关系; (4)对每一个关系,确定其关联类型; (5)重复步骤(2)到步骤(4),直到定义了所有关系。 (6)定义每个实体的属性; (7)形式化并复审实体关系图; (8)重复步骤(1)到(7),直到数据建模完成。 举例分析: * 实体:学生、课程、成绩。 * 实体属性定义: 学生:学号、姓名、性别、出生日期、入学年月 课程:课程编号、课程名称、课程学分、课程描述 成绩:学号、课程编号、分数、考核日期 * 实体关系图: 首先分析"学生成绩管理系统"的用户要求,找出该系统应该包括的实体。显然,学生、课程和成绩都是系统的实体,并且可以初步定义它们的属性(见上)。教务人员虽然是系统的用户,但其信息与系统处理无关,因此不用作为实体。那么,学生的选课信息是否需要成为实体呢?由于成绩信息包含了选课信息,因此选课信息不用单独记录。最终,确定系统的实体是学生、课程和成绩。 接着,我们分析这些实体之间的关联关系。从实际情况得知,一个学生可以选多门课程,一门课程也可以有多个学生选修,但每个学生选一门课程必须有一个成绩。根据上述分析,我们得到如图所示的实体关系图。 3.3.3.2 创建数据流模型 通常,数据流图是分层绘制的,整个过程反映了自顶向下进行功能分解和细化的分析过程。顶层(也称第0层)DFD用于表示系统的开发范围,以及该系统与周围环境的数据交换关系;最底层DFD代表了那些不可进一步分解的"原子加工";中间层DFD是对上一层父图的细化,其中的每一个加工可以继续细化,中间层次的多少由系统的复杂程度决定。 (1)第0层DFD将整个系统表示成一个加工; (2)确定并标记主要的输入和输出; (3)分离出下一层中的加工、数据对象和存储,并对其进行细化,一次细化一个加工; (4)标记所有加工和箭头; (5)重复步骤(3)和(4),直到所有的加工只执行一个简单的操作,可以很容易地用程序实现。举例分析: * 第0层DFD图

学生成绩管理系统详细操作过程

学生成绩管理系统 我将把我的实现步骤完整的写出来,我是在VC 6.0版本下用MFC实现的。 我创建的基于单文档的应用程序,过程不介绍,大家都会。下面的是我系统菜单: 思路: 刚进入系统时,只有“登录”菜单可用,其他三个菜单项都是灰色不可用的。当用户点“进入系统”菜单项时,用户输入用户名、密码和用户类型,系统将根据相应的用户权限使相应的菜单可用,并且“进入系统”菜单项变为不可用。如:如果用户类型是学生,那么只有学生权限菜单可用,而“教师权限”和“管理员权限”都不可用,同时“进入系统”变为不可用。 “学生权限”下只有“查询成绩”,因为学生只可以查询自己相应的成绩;“教师权限”下有“查询学生成绩”和“增改删学生成绩”两个菜单项,因为教师除了可以查询学生成绩还可以增加、修改和删除学生成绩;“管理员权限”下有“管理学生”和“管理教师”两个菜单项。 整体设计: 因为我们要设置系统菜单的状态,所以必须在CMainFrame中添加相应的函数和代码,具体步骤如下: 【步骤1】由于系统要使用ODBC类操作数据库,所以需要在stdafx.h中加入代码: #include 【步骤2】在CMainFrame中的OnCreat()中添加代码如下,实现菜单的初始化工作,当用户没进入系统之前,只有“登陆”菜单下的“进入系统”菜单项可用,而“退出系统”和其他3个权限菜单都不可用,即都是灰色的。 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { //使“退出系统”和其他3个权限菜单都不可用,即都是灰色的 GetMenu()->GetSubMenu(0)-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); GetMenu()-> EnableMenuItem(1,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); GetMenu()-> EnableMenuItem(2,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); GetMenu()-> EnableMenuItem(3,MF_BYPOSITION | MF_DISABLED | MF_GRAYED); } 【步骤3】在CMainFrame中添加自己定义的函数void SetMenuSta(int type),此函数在登陆对话框的OnOK()中被调用,即当用户进入系统后使“进入系统”

学生成绩管理系统设计报告

《学生成绩管理系统》 设计报告

摘要 本数据库的主要功能如下: 学生信息设置,该模块包括数据的添加、修改、删除、查询,数据库后台SQL Sever 2000和前台Delphi都可实现这些功能;院系信息设置,该模块包括数据的添加、修改、删除、查询,数据库后台SQL Sever 2000和前台Delphi都可实现这些功能;课程信息设置,该模块包括数据的添加、修改、删除、查询,数据库后台SQL Sever 2000和前台Delphi 都可实现这些功能;学生成绩查询,该模块包括学生各门课程成绩的查询,因为该模块是利用数据库视图,所以不能对数据进行修改、添加及删除。 关键字:教学管理数据库SQL Sever 2000 Delphi 表查询修改添加删除

第一章绪论 1.1数据库技术的现状 数据库技术是计算机科学技术的一个重要分支。从20世纪50年代中期开始,计算机应用从科学研究部门扩展到企业管理及政府行政部门,人们对数据处理的要求也越来越高。1968年,世界上诞生了第一个商品化的信息管理系统IMS(Information Management System),从此,数据库技术得到了迅猛发展。在互联网日益被人们接受的今天,Internet又使数据库技术、知识、技能的重要性得到了充分的放大。现在数据库已经成为信息管理、办公自动化、计算机辅助设计等应用的主要软件工具之一,帮助人们处理各种各样的信息数据。 在这30多年的历程中,人们在数据库技术的理论研究和系统开发上都取得了辉煌的成就,而且已经开始对新一代数据库系统的深入研究。数据库系统已经成为现代计算机系统的重要组成部分。 1.2、学生成绩管理系统开发的目的与意义 1.掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方案,并加深对数据库系统系统概念和特点的理解。 2.初步掌握数据库应用系统分析、设计和实现方法。 3.进一步提高学生的知识综合运用能力。 4.为学习更高深的计算机技术打下基础。提高其综合素质,便于未来就业以及更深发展。 第二章系统需求分析 2.1 概述 1.信息需求 高校学生的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅能使管理者从

学生成绩管理系统分析报告

学生成绩管理系统分析报告 ■建立新系统的必要性 随着学校规模的不断扩大,专业、班级、学生的数量急剧增加,有关学生各门课程的成绩的各种信息量也成倍增长,学生成绩管理操作重复工作较多,工作量大,因此,建立学生成绩管理系统来提高工作的效率。基于互联网的学生成绩管理系统,在学生成绩的规范管理、科学统计和快速查询方面具有较大的实用意义,提高了信息的开放性和快速性。使学生信息更加系统化,信息更加精确化。使管理人员管理更加方便,能够改动部分信息,最大化的满足工作的需求。 学生成绩管理系统的建立,在学生查询成绩的规范管理、科学统计和快速查询方面具有较大的实用意义,它提高了信息的开放性,大大改善了学生对其最新信息查询的准确性。成绩管理系统有查找方便、可靠性高、存储量大、易操作、保密性好、信息保存时间长等优点,它能极大的提高老师和学生成绩信息管理的效率。 ■业务流程分析 通过对学生成绩管理业务的调查分析,弄清了学生成绩管理系统的业务流程和管理功能,系统的业务流程如下图所示: 业务流程图部分: 登录教师 管理页面 学 生信息 录入教 师 管 理 信 息 输 出 系 统 控 制 信 息 登录查询 信息反馈 信息反馈 学生 管理员 学生成绩管理系统教师

管理功能部分: 从业务流程图可以看出,学生成绩管理系统中分为大的三个方面:系统管理员模块、教师模块、学生模块,其主要管理功能有: 1、系统管理员功能 系统管理员进入学生成绩管理系统的主要功能是:实现管理员用户的添加、修改和删除,以及对教师添加、教师修该、教师删除、教师查询、学生的添加、学生的修改、学生的查询等基本功能,并且参与开设课程、选择课程的管理,安排教师的任课和学生的选课工作,管理元为每门课程设置一个学分,没门课程可以是必修或选修,如果学生及格,学生将获得该课程学分。 2 、教师功能 教师进入学生成绩管理系统的主要功能是:各科教师登录系统后查询和修改个人信息、修改自己的账号密码,查询自己的授课课程,实现对选秀了自己课程的学生的成绩进行查询、录入和修改,各科老师可以对自己学生选修课程结束后给与分数,同时可以对自己所带课程的成绩优秀人数、及格人数和不及格人数的分布信息进行查询。 3 、学生功能 学生进入学生成绩管理系统的主要功能是:每个学生登录系统后可以查询和修改个人信息、修改自己的账号密码,以及自己所选课程任课老师的个人信息,同时在课程结束后可以查询在校期间各个时间段选修课程的成绩与学分,以及对单科成绩和总分的排名查询。 录入学生信息 录入课程信息 录入成绩信息 查询成绩 查询个人信息 管理员 学生表 成绩表 课程表 验证信息 学生

管理信息系统作业(数据流图)

教师科研管理工作流程是:接收教师交来的科研申报材料,科研秘书根据科研管理条例进行初审,对需要修改的申报材料退回教师修改;对初审合格的材料,再根据科研管理条例和科研档案进行分类。分类完成后将科研成果材料报主管主任审批,审批合格后,由科研秘书将材料存储到科研档案,并报科研处备案。 表格填写不完整通知 顶层数据流图

第1层数据流图 1.当某个学生想注册参加教育委员会举办的课程,他提交包含注册信息和个人信息的申请 表。如果表格填写完整,这些信息被存到注册文件和学生文件中。学生在一个月内付清费用并存入费用文件后,会收到一张学生卡和课程信息材料及发票,职员在收费时检查学生文件以确认该学生的交费情况。在注册结束后,编制班级列表发给教师。编制常规费用报告交送课程主办人。 2.某制造企业的物料出入库管理的工作流程分别叙述如下: a.出库工作流程 (1)领料人提交领料单(每一种物料有一张领料单) (2)仓库保管员根据领料计划单检验该领料单是否有效 (3)若经检验没有相应的领料计划,则通知领料人该领料单无效 (4)若领料单有效,仓库保管员根据领料单上的物料代码核对是否有足够的库存(5)若没有足够的库存,仓库保管员向领料人发缺货单 (6)若有足够的库存,仓库保管员在领料单上签字,并登记出库单,修改物料主文件中的现有库存数;相应的物料出库,物料清单交领料人 b.入库工作流程 采购员提交入库申请单(每一种物料有一张入库申请单) (1)仓库保管员根据采购计划单验收入库申请单 (2)若验收发现没有相应的采购计划,则仓库保管员向采购员发无效申请单 若验收合格,则仓库保管员向检验员申请物料检验;检验员根据检验结果填写物料检验单(3)如果物料或供货方不合格,则向采购员发出退货单 (4)如果检验合格,则仓库保管员登记入库单,修改物料主文件中的现有库存数,相应的物料入库 为便于及时了解库存情况,核查出入库情况,该企业决定将上述人工流程由计算机来实现,请根据该库存管理逻辑,画出顶层数据流图,0层数据流图及其它层次的数据流图

学生成绩管理系统

学生成绩管理系统 姓名:查亚军同组者:郭达洋黄彬侯元军 一、设计开发背景 在本学期所开课程中我们初步接触并学习了《数据库原理及应用》(SQL server 2000)这一课程,基于此课程的基本原理语言,从培养学习与实践的综合角度出发,我们设计了一个简单而完善的在实际的学校教务处管理方面具有一定使用价值的“学生成绩管理系统”。虽然只一个简单的“系统模型”,但我们的目的是学会并掌握最基本的操作处理,例如:结合Visual Basic实现用户登录、用户添加、用户删除、以及浏览管理其他相关信息等等。 基于这样的目的和想法,从实际运用的角度出发,我们完成了这个“学生成绩管理”的系统。伴随着经济的日益全球化,人才强国,科教兴国越来越受到广泛关注,对教育的投资力度越来越大。目前全国已基本消除青少年文盲,大学生也越来越多,制作这个系统时,我们从学校的需求以及所存在的困扰出发,并且结合时代的发展与变化,带着有所帮助的期望完成的。它的价值主要体现在两个方面: (1)更方便的大批录入并管理学生的成绩,程序通过VB编程实现学生成绩录入、管理、统计、评定、导出的作用。程序主要针对大学生成绩管理,可以自由设定学分比例。 (2)有利于学生查询自己的综合成绩,了解在学生中得情况之后,能明确自己的目标,并为之奋斗! 在题材选定之后,我们就选择利用什么开发环境,为了让数据库的前台实现与后台管理能够达到完美组合和实现,经过商讨,我们选择Visual Basic6.0作为我们的开发环境,这主要有一下两点原因: 在能够作为管理数据库的软件中,我们只学习了Visual Basic6.0,而且相对来说,我们对Visual Basic比较熟悉,也能够熟练的进行运用。

学生成绩管理系统需求分析报告

学生成绩管理系统需求分析报告 一、任务概述 1.1项目背景 在如今的高校日常管理当中,学生成绩管理是其中非常重要的一环。随着计算机和计算机知识的普及,学生成绩管理得到了更大的发展空间,通过开发学生成绩管理系统,使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等优点,可以提高校务人员的工作效率和学生的查询效率。 1.2开发目的 采用学生成绩管理系统,可以提高校务人员的工作效率和学生的查询效率。 1.3可行性分析 目前,随着办公信息化的开展,高校的扩招,新生入学以及期末考试结束后,学校都需要对一些繁琐的流程进行管理,通过一个基于B/S架构的管理系统,可以很好的将这一个过程进行化繁为简。此项目具有普遍性,能够应用于很多学校。因此,该类型系统可以大量投入使用。 二、需求分析 2.1功能分析 学生成绩管理系统应该完成以下两个方面的内容:学生档案资料的管理、学生成绩的管理,每个内容均需要提供添加、修改和查询的功能。学生成绩管理系统设计到的用户包括系统管理员、教师、学生,各类用户的权限不一样。系统管

理员可以添加、修改、查询学生档案资料和学生的成绩;教师可以发布学生的成绩信息,而且只能查询自己所授课程的信息以及一些公共信息;学生只能查询自己的档案、成绩以及一些公共的信息。同时系统要有系统备份功能,系统出故障时,因该有相应的应急措施或者系统恢复功能。 2.2模块划分 系统设计主要包括五个主要功能模块:权限验证模块、用户管理模块、基础数据库管理模块、成绩管理模块和数据库管理模块。 (1)权限验证模块主要是根据用户输入的用户名和密码验证用户身份并且 决定其操作权限; (2)用户管理模块实现三个主要功能:添加新用户、修改用户口令和用户 权限、删除指定的用户; (3)基础数据管理模块:维护学生信息相关的一些基础数据,它主要包括 学校系别专业的设置、学生档案资料的管理; (4)成绩管理模块:提供学生考试成绩的管理,满足不同系统用户的管理 和查询需求; (5)数据库管理模块:对现有的数据库进行管理,包括数据备份和恢复, 以方便用户对数据库的管理和维护工作,提高系统的数据安全性。

(完整版)学生信息管理系统数据流图

管理学生模块据流图:

管理老师模块数据流图:

选课管理与成绩管理模块数据流图: 数据字典 数据流描述: 数据流名:查询条件 数据来源:学生登录处理 数据去向:学生信息表 说明:通过合适的查询条件,输出学生的信息 数据组成:学号+姓名 数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:课程安排信息

数据来源:管理员制定的课程管理信息 数据去向:学生课程安排信息 说明:用于管理学生的课程安排信息 数据组成:课程号代+课程名+代课老师+学分+时间 数据流量:早晨9点到中午12点,下午14点到17点数据流量大 数据流名:录入成绩 数据来源:老师对课程的考核方式 数据去向:学生成绩管理 说明:录入学生的选课的成绩信息 数据组成:学号+姓名+课程名+成绩+学分 数据流量:早晨9点到中午12点,下午14点到17点数据流量大 数据流名:录入课程 数据来源:管理员制定的课程信息 数据去向:学生选课管理 说明:录入学生选择的课程 数据组成:课程代号+课程名+出版社 数据流量:早晨9点到中午12点,下午14点到17点数据流量小 数据流名:学生基本信息 数据来源:管理员对学生的信息的管理

数据去向:学生与老师及管理员得到学生的基本信息 说明:查询学生的基本信息 数据组成:学号+姓名+性别+民族+出生日期+系别+专业+年级+籍贯数据流量:早晨9点到中午12点,下午14点到17点数据流量大 数据流名:选课信息 数据来源:老师输入到选课管理中的课程信息 数据去向:学生的选课信息与成绩管理 说明:查询学生的选课信息 数据组成:课程代号+课程名+学分+类别+任课老师+人数+班级 数据流量:早晨9点到中午12点,下午14点到17点数据流量大 数据流名:学生的成绩及学分 数据来源:选课管理与成绩管理 数据去向:学生的成绩与学分信息 说明:查询学生的成绩与学分 数据组成:序号+课程名+学分+类别+考核方式+成绩+辅修标记 数据流量:早晨9点到中午12点,下午14点到17点数据流量大 数据流名:老师信息 数据来源:管理老师

学生成绩管理系统需求文档

学生成绩管理系统需求文档 一、项目概述 1.开发背景 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用,然而在计算机 应用普及以前我国大部分高校的学生信息管理仅靠人工进行管理和操作,这种管理 方式存在着许多缺点,如:效率低,密保性差,另外时间一长,将产生大量的文件 和数据,其中有些是冗余或者针对同一目的的数据不相吻合,这对于查找、更新和 维护文件等管理工作带来了不少困难,同时也跟不上信息时代高速、快捷的要求, 严重影响了消息的传播速度。然而现今学校的规模不断扩大,学生数量急剧增加, 有关学生的各种信息也成倍增长,人工管理信息的缺点日渐突出,面对庞大的学生 信息量,如何利用现代信息技术使其拥有快捷、高效的适应能力已成为当务之急。 正因为如此,学生信息管理系统成为了教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用 户提供充足的信息和快捷的查询手段。作为计算机应用的一部分,使用计算机对学 生信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速。查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大的提高学 生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件,由 此看来开发这样一套管理软件是很有必要的。学生信息管理系统是典型的信息管理 系统(MIS),其开发功能主要包括对学生各种信息的建立、管理、查询等功能。 2.项目描述 该学生管理系统应用于高校学生信息管理,主要有3个主要功能模块组成,分别是:学生信息管理系统模块,学生成绩管理模块和系统管理模块。学生信 息管理模块包括对学生的学籍等基本信息的查看和维护管理;学生成绩管理模块主 要包括对学生成绩的录入和查询;系统管理主要包括对系统数据字典以及管理员的 维护模块。除了这三大主要功能模块之外还涉及到于本系统相关的一系列小的功能 模块,例如,学科管理、班主任管理等。本系统设计的学生信息管理系统很好的解 决了学生信息管理方面的困难,提高了学生信息管理效率、减轻了教务员的工作负 担,节省了大量的人力、物力资源,给高校学生信息管理带来了很大的方便 3.系统目标 该系统要实现的功能有: ●学生信息管理:包括添加学生信息,修改学生信息 ●学生成绩管理:包括添加学生成绩、修改学生成绩、删除学生成绩 ●系统管理:维护系统数据字典、添加管理员、删除管理员、修改管理员信息 除了这三大主要功能模块之外还涉及到于本系统相关的一系列小的功能模块,例 如,学科管理、班主任管理等。

学生成绩管理系统报告

目录 1、需求与功能分析 3 2、系统总体框架 4 3、模块设计与分析 4 4、类的设计与分析 6 5、特色算法分析7 6、功能测试10 7、存在的不足与对策13 8、程序源代码14 9、使用说明23 10、参考文献23

1、需求与功能分析 (1)需求分析 学生成绩管理系统主要提供成绩查询,便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己相关信息,查看留言、提交留言。教师可以通过成绩管理系统查阅学生成绩信息,教师信息,查看教师留言、学生留言、提交留言、留言的管理等相关操作。系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的备份、数据库的还原等相关操作。 根据开发要求,学生成绩管理系统主要应用于教育系统,完成对日常的教学、教务、教师以及学生的计算机化的管理。开发学生成绩管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及各部门关于信息化的步伐,使各项管理更加规化。目前,学校工作繁杂、资料重多。目前,管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。 (2)功能分析 “学生成绩管理系统”包括九个模块:输入学生资料,输出学生资料,学生姓名按顺

序排列,添加学生资料,按姓名查找,删除该学生资料,查找并显示学生资料,按姓名查找,修改该学生资料,从文件中读入数据,储存学生资料并退出系统。这九个模块既相互联系又相互独立。 本系统根据学生成绩管理的需要,而建立一个“学生成绩管理系统”,以便对成绩的各项管理操作。本系统能对成绩进行输入和输出;能按姓名对学生进行排序,并显示学生资料、成绩等,不过得以系统输入学生资料、成绩为前提;能添加学生成绩资料;能根据学生的姓名来查询该学生的成绩资料,并修改或是删除该学生信息;能够从文件中读取学生信息,并且添加到系统中;能把对系统所进行的操作进行保存,以及时更新系统中的数据。 2、系统总体框架

学生成绩管理系统需求分析报告

《学生成绩管理系统》 需求分析报告 报告名称学生成绩管理系统 专业计算机信息管理 班级信息管理GZ1301 姓名 xxx xx xxx xxx xxx xxx 指导教师任xx

学生成绩管理系统需求分析 1引言 编写目的 学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改、删除、查询等操作同时一样的方面学生对自己各科成绩查询,学习的交流。 项目背景 作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样的一套成绩管理系统成为很有必要的事情。 参考资料

《软件工程案例教程》…毕硕本卢桂香编著北京大学出版社易语言新版学习教材《中文编程—学习进阶》海洋大学出版社运行环境 (1)硬件环境 台式机或笔记本电脑 运行时所需内存:500MB; (2)软件环境 Windows操作系统 性能需求 1 数据的准确性 查询时应保证此学生的所有信息都是正确的。 2 时间特点 操作响应时间不能太长,数据的输入也该在一定时间内完成。故障处理 正常运行时不应出错,若时出错的话,应该有恢复系统的功能,并且必须保护数据的准确性。

软件属性需求 1 正确性 要求所开发的软件要达到用户的需求,运行时基本无误 2 可靠性 一般条件下,不应该出现故障. 3 效率 对用户的要求要有极快的响应 4 易使用性 要求能尽量为用户的使用提供方便 5 可维护性 当软件出错时可以尽快的进行修改 6 可移植性 要求本软件能在Windows系统上进行移植 7 互联性 要求提供数据的导入和导出接口,以易于同其他系统的连接

学生成绩管理系统的设计与实现

课程设计 学生成绩管理系统的设计与实现 专业: 班级: 学号: 姓名:

学生成绩管理系统的设计与实现1.引言 1.1背景 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。 管理信息系统是进行信息的采集、存储、加工、维护和使用的系统。它是随着管理科学和技术科学的发展而形成的。学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情, 学生成绩管理系统提供了强大的学生成绩管理管理功能,方便管理员对学生成绩等信息的添加.修改.删除.查询.汇总.统计等操作。更适合大型数据库的管理。 1.2目标 1.管理员能够方便的对信息进行添加.修改.删除.查询.汇总.统计等操作。 2.可以将数据库发布到网上,进行资源共享。 3.学生可以在自己的权限内对信息进行访问,即使查询相关信息。 2.需求分析 2.1系统需求 信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用

学生成绩管理系统报告

数据库应用 课程设计说明书 班级:软件工程1404 姓名:徐螣 学号: 201426811322 设计题目:学生成绩管理系统(数据库) 设计时间: 2017.6.25 至 2017.7.6 指导教师:廖峰峰

学生成绩管理系统(数据库) 设计总说明 考虑到高校学生的成绩管理工作量大、繁杂,人工处理非常困难,出现了学生成绩管理系统。它借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理也更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。 本系统根据我校的一些实际情况开发,用于对学校教师、学生、课程信息的管理,主要用于管理学生成绩。登录系统时需要访问数据库中的用户信息,确定登录身份。系统完成了日常的教育工作中对学生成绩档案的数字化管理,并且较为系统地对学生信息、成绩信息和课程信息进行管理。查询、增添、修改、删除都变的非常简便,减少了管理的工作量。 基于学校学生众多,为了数据的安全性,系统将学生数据保存在数据库中,以Visual C++设计前台对系统进行设计。因为成绩管理系统是一项很实用的系统,所面对的数据量很大,所以我们要求系统能够高效快速的处理这些数据,并且要保证数据的正确性、相容性和安全性。C++作为前台是将数据库中的数据读取出来,有助于用户对这些数据进行相应的操作,使操作更方便,更符合用户的要求。所以该系统应该要有一个良好的界面,使用户感觉很直观,使用快捷,这就是用C++所要实现的功能。 关键词 Visual C++ 6.0;SQL Server;MFC;学生成绩管理

学生成绩管理系统数据流图

学生成绩管理系统数据流图-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

.3.3.1 创建实体关系图 (1)在需求收集的过程中,要求客户列出应用软件或业务过程涉及到的"事物",将其演化成数据对象; (2)一次考虑一个对象,分析员和客户定义这个对象和其他对象之间是否存在连接; (3)如果存在连接,应创建一个或多个关系; (4)对每一个关系,确定其关联类型; (5)重复步骤(2)到步骤(4),直到定义了所有关系。 (6)定义每个实体的属性; (7)形式化并复审实体关系图; (8)重复步骤(1)到(7),直到数据建模完成。 举例分析: * 实体:学生、课程、成绩。 * 实体属性定义: 学生:学号、姓名、性别、出生日期、入学年月 课程:课程编号、课程名称、课程学分、课程描述 成绩:学号、课程编号、分数、考核日期 * 实体关系图: 首先分析"学生成绩管理系统"的用户要求,找出该系统应该包括的实体。显然,学生、课程和成绩都是系统的实体,并且可以初步定义它们的属性(见上)。教务人员虽然是系统的用户,但其信息与系统处理无关,因此不用作为实体。那么,学生的选课信息是否需要成为实体呢?由于成绩信息包含了选课信息,因此选课信息不用单独记录。最终,确定系统的实体是学生、课程和成绩。

接着,我们分析这些实体之间的关联关系。从实际情况得知,一个学生可以选多门课程,一门课程也可以有多个学生选修,但每个学生选一门课程必须有一个成绩。根据上述分析,我们得到如图所示的实体关系图。 3.3.3.2 创建数据流模型 通常,数据流图是分层绘制的,整个过程反映了自顶向下进行功能分解和细化的分析过程。顶层(也称第0层)DFD用于表示系统的开发范围,以及该系统与周围环境的数据交换关系;最底层DFD代表了那些不可进一步分解的"原子加工";中间层DFD是对上一层父图的细化,其中的每一个加工可以继续细化,中间层次的多少由系统的复杂程度决定。 (1)第0层DFD将整个系统表示成一个加工; (2)确定并标记主要的输入和输出; (3)分离出下一层中的加工、数据对象和存储,并对其进行细化,一次细化一个加工; (4)标记所有加工和箭头; (5)重复步骤(3)和(4),直到所有的加工只执行一个简单的操作,可以很容易地用程序实现。 举例分析: * 第0层DFD图 教务人员维护学生信息和课程信息,并登录学生的选课成绩; 学生查询自己的成绩单。 * 第1层DFD图 对第0层DFD图中的一个加工"学生成绩管理"进行展开。

学生成绩管理系统 总体设计

总体设计 编写目的: 根据需求分析文档,初步提出问题的解决方案,以及软件系统的体系结构和数据结构的设计方案并写出书面文档总体设计说明书,为下一步进行详细设计做准备。 总体设计: 1.该系统可以按功能进行模块划分,其模块图如下: 系统模块图 其中: 录入学生信息模块完成信息的输入功能,输入信息包括学号,姓名,3门课成绩。 显示学生成绩模块显示学号,姓名,3门课成绩。 查询学生成绩信息模块完成学生成绩的查询。 修改学生成绩信息模块完成学生成绩的修改功能。 删除学生成绩模块完成对学生成绩的删除。 增加学生成绩模块完成对学生成绩增加功能。 按学生平均成绩降序排名完成对学生名次的排列功能。 计算所有学生的总成绩模块完成对学生的总成绩的计算。 按某学科成绩降序排列完成单科成绩的排名。 使用密码登陆模块完成系统的登陆。 修改密码模块完成对密码的修改功能。 2.数据结构 本系统中主要的数据结构就是学生成绩的信息,包含学号、姓名、C语言成绩,JAVA成绩,VB成绩等,在处理过程中各项可以作为一个学生的不同属性来进行处理

3.程序流程 系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择关闭系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如下:

详细设计 编写目的: 根据项目概要设计说明书,在项目概要设计的基础之上,对系统进行详细设计,以便下一步进行程序编码工作。 详细设计: 对应于总体设计时的系统功能模块图,各个功能模块的处理逻辑如下: 一、密码登陆模块 For(死循环) { 输入密码 If(密码输入正确)进入登陆界面; If(输入sg)转入修改密码界面 使用break语句跳出循环 } 二、密码修改模块 输入原始密码 If(输入错误)重新输入 If(输入正确)提示输入新密码 第一次输入新密码 第二次输入新密码 IF(两次输入密码一致)修改密码成功 三、信息输入模块 定义flag为1 While(flag) { 输入信息 IF(继续输入),继续循环 IF(输入结束),置flag为0;跳出循环; } 跳转到主选菜单; 四、显示信息模块 For(遍历所存结构体) { 输出结构体多包括的信息} 清屏; 跳转到主选菜单; 五、查询信息模块 输入要查的学号; For(遍历所存结构体) { If(学号为要查询的学号)输出学生信息; } If(遍历结束没有找到)输出错误提示信息;

学生成绩管理系统报告总结

学生成绩管理系统报告总结 篇一:学生成绩管理系统实训报告 学号20XX1150120338编号20XX150338研究类型基础研究分类号Tn91 《软件工程》实训报告 专业:班级:姓名:学号:指导老师:实训时间:实训地点:朱娜曾凡晋宋海军 目录 一、引言...............................................................................................................1二、项目可行性分析 (2) ⑴引言 ⑵可行性研究的前提 ⑶技术可行性报告…………………………………………………………………………………。3⑷系统经济可行性报告……………………………………………………………………………。4⑸社会因素可行性分析

三、需求分析.........................................................................................................5四、系统分析.........................................................................................................6五、详细分析 (7) ⑴引言 ⑵总体设计六、数据流图、E-R图及事件表 (8) 七、RoSE建立的系统模型.......................................................................................9八、实训总结.........................................................................................................9九、致谢...............................................................................................................10十、参考文献 (10) 一、引言 1.编写目的 在学校面向现代化、面向世界、面向未来、面向互联网的21世纪,

学生成绩管理系统实验报告

洛阳理工学院 课程设计报告课程名称数据库课程设计 设计题目学生成绩查询系统 专业计算机科学与技术 班级 B100506 学号 姓名孙帅杰 完成日期 2013年1月6号

课程设计任务书 设计题目:学生成绩管理系统 设计内容与要求: 设计内容: 教务员可以输入学生、教师、班级、课程信息,一个班级只属于一个专业,一个学生只属于一个班级。教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。一个教师可以教授多个班的多门课程。 教师可以查看学习该课程的学生名单。课程结束后,教师可以录入课程成绩。 课程分两类,必修课和选修课。学生可以选修课程,每学期几门。学生可以查看自己各门课程的成绩。学生还可以进行评教,给老师打分。 系统管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。 设计要求: 要求完成需求分析,写出功能需求和数据需求描述; 在需求分析的基础上完成数据库的概念结构设计、逻辑结构设计、物理结构设计; 用C#语言,完成管理系统的部分程序模块的界面设计。 指导教师:陶荣 2012年12月28日 课程设计评语 成绩: 指导教师: 年月日

目录

1.绪论 设计目的 随着学生的数量的日益增多,学校对学生成绩管理的要求也越来越高,因此学校对学生信息的管理也更系统化,数字化,为了提高学生的实际应用数据库的能力,使学生锻炼简单的数据库开发能力,因此决定设计一个简单的学生成绩管理系统,包括学生信息,课程信息,以及成绩信息和任课教师信息,能够存储相应学生评教信息,和课程安排提供的学生成绩管理各种功能分为面向学生,教师和教务员三部分,其中教务员可以录入学生,教师,班级,课程信息,每个专业、每个班级需要学习哪些课程,指定课程的任课教师,给每个班的每门课程安排指定的认课老师。教师可以查看学习该课程的学生名单。课程结束后,教师可以录入课程成绩。课程分两类,必修课和选修课。学生可以选修课程,每学期几门。学生可以查看自己各门课程的成绩,进行评教,给老师打分。该学生成绩管理系统类似于简单的学校教务系统,能对学校日常事务进行简单的管理。 本课程设计的目的是使学生能熟练掌握简单的简单Windows窗体应用程序的设计和的应用,希望通过本次课程设计锻炼学生使用C#语言解决实际问题的能力。 开发工具选择 本系统后台数据库采用Microsoft SQL Server 数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft 公司的Visual Studio 2010作为主要开发工具,可与SQL Server 2008数据库无缝链接。开发环境 系统开发平台:Microsoft Visual Studio2010 系统开发语言:C# 数据库管理软件:SQL Server 2008 本报告的主要内容 本报告详细的介绍了学生成绩管理系统的开发过程,主要涉及到的工作如下:系统的需求分析、系统的总体设计、系统的概念设计、系统部分模块的详细设计。 2.需求分析 进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。求分析是整个设计过程的基础,作为“地基”的需求分析是否做得充分与准确,决定了在其上构建

相关主题
文本预览
相关文档 最新文档