文档库 最新最全的文档下载
当前位置:文档库 › 基于delphi的学生成绩管理系统

基于delphi的学生成绩管理系统

基于delphi的学生成绩管理系统
基于delphi的学生成绩管理系统

南昌航空大学信息工程学院

数据库原理课程实验报告

实验名称:学生成绩信息管理系统

实验时间:2010年6月2日

指导教师:

班级:

学号:

姓名:

成绩:

一、实验目的

(1)通过完成从用户需求分析、系统概要设计、系统详细设计以及数据库的SQL操作具体实现等全过程,把前面的各个实验更好地综合起来.

(2)进一步理解和掌握教材中的相关内容。

(3)掌握分析和设计一个大型数据库系统的基本思路与方法。

二、实验要求

1.独立完成该系统的数据库设计。

2.用SQL实现数据库的设计,并在MS SQL Server上调试通过。

3.写出查询、更新以及建立触发器SQL语句和执行结果。

4.掌握报表的使用。

三、实验内容

综合前面各章内容设计并调试一学生成绩管理系统,Delphi作为前台开发工具,SQL Server完成后台数据库存管理。创建学生成绩的统计(包括求班级各科成绩的平均分);并实现对各科成绩等的录入、修改、删除、查询等功能;实现学生成绩的统计(包括求班级各科成绩的平均分);并实现对各科成绩的排序。

四、实验代码及功能注释

1.用户登陆界面

实验程序:

procedure TForm1.Button1Click(Sender: TObject);//用户登陆

var ret:integer;

begin

adoconnection1.Open;

with ADOStoredProc1 do

begin

Close;

ProcedureName:='proc_login';

Parameters.Clear;

Parameters.Refresh;

Parameters.ParamByName('@username').Value:= Edit1.text;

Parameters.ParamByName('@password').Value:= Edit2.text;

ExecProc;

ret:= Parameters.ParamByName('@return_value').Value;

end;

if ret=1 then //用户名密码匹配

begin

showmessage('登陆成功');

form3.show;

end

showmessage('你不是用户,请注册');

end ;

procedure TForm1.Button2Click(Sender: TObject);//若不是用户,触发用户登陆界面显示

begin

form2.show;

end;

procedure TForm1.Button3Click(Sender: TObject);//退出该管理系统

begin

form1.Close;

end;

说明:在这里,使用了adostoredproc1控件和adoconnection1控件,它们的connectionstring属性都要与所设计的数据库相连,在查询分析器中,要运行存储过程如下:

CREATE procedure proc_login

@username varchar(20),

@password varchar(20)

as

declare @result int

select @result=count(*) from users where username=@username and passwords=@password

if @result=0

return 0

return 1

GO

2.用户注册界面

实验程序:

procedure TForm2.Button1Click(Sender: TObject);//新用户注册

adoquery1.close;

adoquery1.sql.clear;

adoquery1.sql.add('insert into users(username,passwords,核对密码,性别,出生年月,联系地址,联系电话,邮政编码,电子邮箱)'+'values(:1,:2,:3,:4,:5,:6,:7,:8,:9)');

adoquery1.parameters.parambyname('1').value:=''+edit1.text+'';

adoquery1.parameters.parambyname('2').value:=''+edit2.text+'';

adoquery1.parameters.parambyname('3').value:=''+edit3.text+'';

adoquery1.parameters.parambyname('4').value:=''+combobox1.text+'';

adoquery1.parameters.parambyname('5').value:=''+combobox1.text+' '+combobox1.text+'';

adoquery1.parameters.parambyname('6').value:=''+edit4.text+'';

adoquery1.parameters.parambyname('7').value:=''+edit5.text+'';

adoquery1.parameters.parambyname('8').value:=''+edit6.text+'';

adoquery1.parameters.parambyname('9').value:=''+edit7.text+'';

adoquery1.execsql;

end;

说明:在该数据库中,建了一个名为users的用户表,存储用户的信息。只有是用户在登陆时,才能进入主界面,当不是用户在登陆时,必须先进行新用户注册,才能进入主系统。

3.系统主界面

4.学生基本信息查询

精确查询程序:

procedure TForm3.Button1Click(Sender: TObject);

begin

with adoquery1 do

begin

if radiobutton1.Checked then //通过单选按钮的选择来判断是要进行精确查询还是模糊查询begin

adoquery1.Close ;

adoquery1.SQL.Clear ;

adoquery1.SQL.Add('select * from 学生表where 学号='''+edit1.text+'''' );

adoquery1.Open;

end;

end;

说明:由于学生表中,学号为主键,因此要查此表中学生基本信息,只要输入主键值即可得一条记录,即实现精确查询。

模糊查询程序:

procedure TForm3.Button3Click(Sender: TObject);

begin

with adoquery1 do

begin

if radiobutton2.Checked then

begin

if (edit2.Text <>'')or (edit3.Text <>'')or(edit4.Text <>'')or(edit5.Text <>'')

or(edit6.Text <>'')then

begin

adoquery1.Close;

adoquery1.SQL.Clear;

adoquery1.SQL.Add('select * from 学生表');

adoquery1.SQL.Add('where(学号like '''+'%'+edit2.text+'%'+''')');

adoquery1.SQL.Add('or(姓名like '''+'%'+edit3.text+'%'+''')');

adoquery1.SQL.Add('or(所在系别like '''+'%'+edit4.text+'%'+''')');

adoquery1.SQL.Add('or(所在专业like '''+'%'+edit5.text+'%'+''')');

adoquery1.SQL.Add('or(所在班级like '''+'%'+edit6.text+'%'+''')');

adoquery1.Open ;

end

else

begin

application.MessageBox('没有查询条件','提示',mb_ok);

exit;

end;

end;

end;

end;

说明:当输入的信息不是主键时,由于满足该输入条件的记录可能不只一个,因此得到的是一个模糊查询的结果。5.学生成绩查询

方法与学生基本信息查询一致。

6.学生基本信息录入

实验程序:

procedure TForm4.Button1Click(Sender: TObject);

begin

adoquery1.close;

adoquery1.sql.clear;

adoquery1.sql.add('insert into 学生表(学号,姓名,民族,出生年月,籍贯,性别,所在系别,所在专业,所在班级,政治面貌,家庭住址,邮政编码,联系电话)'+'values(:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13)');

adoquery1.parameters.parambyname('1').value:=''+edit1.text+'';

adoquery1.parameters.parambyname('2').value:=''+edit2.text+'';

adoquery1.parameters.parambyname('3').value:=''+edit3.text+'';

adoquery1.parameters.parambyname('4').value:=''+combobox1.text+' '+combobox2.text+'';

adoquery1.parameters.parambyname('5').value:=''+edit4.text+'';

adoquery1.parameters.parambyname('6').value:=''+combobox3.text+'';

adoquery1.parameters.parambyname('7').value:=''+combobox4.text+'';

adoquery1.parameters.parambyname('8').value:=''+edit5.text+'';

adoquery1.parameters.parambyname('9').value:=''+edit6.text+'';

adoquery1.parameters.parambyname('10').value:=''+edit7.text+'';

adoquery1.parameters.parambyname('11').value:=''+edit8.text+'';

adoquery1.parameters.parambyname('12').value:=''+edit9.text+'';

adoquery1.parameters.parambyname('13').value:=''+edit10.text+'';

adoquery1.execsql;

end;

在SQL Server中查看录入结果录入前:

录入后:

说明:从录入前与录入后表的比较看到,实现了学号为’’aaa’’学生基本信息的录入。

7.求学生平均成绩、成绩排序并显示

实验程序:

procedure TForm3.Button4Click(Sender: TObject);

begin

with adoquery1 do

begin

if radiobutton3.Checked then//与学生基本信息查询一样,这里为成绩精确查询

begin

adoquery1.Close ;

adoquery1.SQL.Clear ;

adoquery1.SQL.Add('select * from 成绩信息表where 学号='''+edit9.text+'''' );

adoquery1.Open;

end;

if radiobutton4.Checked then//与学生基本信息查询一样,这里为成绩模糊查询begin

if (edit10.text <>'')or (edit11.Text <>'')or(edit12.Text <>'')or(edit13.Text <>'')

or(edit14.Text <>'')then

begin

adoquery1.Close;

adoquery1.SQL.Clear;

adoquery1.SQL.Add('select * from 成绩信息表');

adoquery1.SQL.Add('where(学号like '''+'%'+edit10.text+'%'+''')');

adoquery1.SQL.Add('or(姓名like '''+'%'+edit11.text+'%'+''')');

adoquery1.SQL.Add('or(所在系别like '''+'%'+edit12.text+'%'+''')');

adoquery1.SQL.Add('or(所在专业like '''+'%'+edit13.text+'%'+''')');

adoquery1.SQL.Add('or(所在班级like '''+'%'+edit14.text+'%'+''')');

adoquery1.Open ;

end

else

begin

application.MessageBox('没有查询条件','提示',mb_ok);

exit;

end;

end;

if radiobutton9.Checked then//求每个学生的课程平均成绩

begin

adoquery1.Close ;

sql.Clear ;

sql.Add('select 学号,姓名,A VG(成绩) as 平均成绩from 成绩信息表where 所在班级=''070413'' group by 学号,姓名');

adoquery1.Open ;

end;

if radiobutton11.Checked then//将学生成绩按从低到高排序

begin

adoquery1.Close ;

sql.Clear ;

sql.Add('select 学号,姓名,avg(成绩) as 平均成绩from 成绩信息表group by 学号,姓名order by 平均成绩');

adoquery1.open;

end;

end;

end;

求平均成绩界面与平均成绩排序后界面:

说明:使用到了数据库的自带函数avg() 来求平均成绩,按平均成绩排序时,只要在已经做好的平均成绩显示程序上加上order by 语句即可。

9.学生基本信息删除与修改

实验程序:

procedure TForm3.Button6Click(Sender: TObject);

begin

with adoquery1 do

begin

if radiobutton7.Checked then

begin

adoquery1.Close ;

adoquery1.SQL.Clear ;

adoquery1.SQL.Add('update 学生表set '+combobox1.text+'='''+edit19.text+''''); //edit19 编辑框用来输入要更改的

字段名

adoquery1.SQL.Add('where 学号='''+edit18.text+'''');

adoquery1.execsql;

end;

if radiobutton8.Checked then

begin

adoquery1.Close ;

adoquery1.SQL.Clear ;

adoquery1.SQL.Add('delete from 学生表');不得//删除语句

adoquery1.SQL.Add('where 学号='''+edit18.text+'''');

adoquery1.execsql;

end;

修改界面:

在SQL Server中查看修改结果

说明:比较修改前与修改后学生的表中数据可知,将原来记录中学号为’’aaa’’学生的姓名由’’小小’’改成了’’小麦’’。删除界面:

在SQL Server中查看删除结果

10.学生成绩信息删除与修改

与学生基本信息删除与修改方法一致。

五、实验小结

本次实验主要复习了delphi的操作界面,控件的使用,及对adoquery的sql的属性的使用,在这个实验中,可以发现delphi 与数据库的完美结合,就是说可以通过delphi界面更改数据库的内容,而这是通过编辑adoquery的sql里的内容来实现的,因此几乎每个窗体都有一个adoquery控件。

这个实验的sql语句的编辑全用的是adoquery1.sql.add()语句,括号里的内容就是数据库查询分析器里的内容,在每写入一个语句时,都要把之前写的 sql语句删掉,以免执行时出现问题,对于括号里面的select语句,函数有返回值,因此可以用adoquery1.open打开数据源,看到执行后的结果,而对于括号里面的update,delete 等语句,函数没有返回值,只能写adoquery1.execsql执行操作,而且只能到数据库的表中看执行后的结果。

编写sql语句是极容易出错的,有时是因为汉英输入法切换后符号不一致所导致,有时是因为sql语句内引号出现的错误,反正就是要熟悉每个用到的sql语句,要清楚在写每个语句时具体的操作是要干什么,它有自己的书写格式。

最后还有一点要注意的是,录入数据时,一定要把主码的值全部录入,且不能与表中已有值重复,否则违反了记录的唯一性,会出错。

学生管理系统源代码

#include #include #include #include #define INIT_SIZE 10 #define INCRE_SIZE 10 #define SUBJECT_NUM 3 #define LEN 3 void show_Start(); void show_Table(); void addRecord(); void Info_delete(); void deleteRecord(); void delete_Num(int); void delete_Name(char tarName[]); void Info_modify(); void modifyRecord(); void modify_Num(int); void modify_Name(char[]); void Info_query(); void queryRecord(); void query_Num(int); void query_Name(char[]); void display(); void quit(); void menu_CMD(); char *subject[SUBJECT_NUM] = struct STUDENT

{ int num; char name[20]; char sex; float score[SUBJECT_NUM]; }; //struct STUDENT stu[LEN + 1]; //STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE); int static stuNum = 0; // STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE);; int main() { //record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE); //STUDENT *record = (STUDENT*)malloc(sizeof(STUDENT)*INIT_SIZE); /* record[1].num = 1001; strcpy(record[1].name,"Jason"); record[1].sex = 'M'; record[1].score[0] = 85.0; record[1].score[1] = 90.0; record[1].score[2] = 95.0; record[2].num = 1002; strcpy(record[2].name,"Jerry"); record[2].sex = 'M'; record[2].score[0] = 85.0; record[2].score[1] = 90.0; record[2].score[2] = 95.0; record[3].num = 1003; strcpy(record[3].name,"Jessie");

学生成绩管理系统测试用例

大连东软信息学院项目文档 学生成绩管理系统测试用例 测试用例 教师服务子系统测试用例测试负责人:王哲一级模块模块名称教师服务系统 二级模块模块名称插入成绩 用例描述用例起始于教师要插入学生成绩 测试序号C1 测试过程及数据用例编号 U1 登录教师管理系统,选择1插入成绩,回车;输入成 绩100,输入-1,回车结束输入; 用例编号 U2 登录教师管理系统,选择1插入成绩,回车;输入成 绩65,87,90,73,60,输入-1,回车结束输入; 预期结果U1 系统提示插入成绩失败,成绩必须为[0,100]之间的数 字 U2 系统提示插入学生成绩成功 测试结果通过 二级模块模块名称查询成绩 用例描述用例起始于教师要查询学生成绩 测试序号C2 测试过程及数据用例编号 U3 登录教师管理系统,选择2查询成绩,回车;输入未 插入的成绩100,回车; 用例编号 U4 登录教师管理系统,选择2查询成绩,回车;输入已 插入的成绩90,回车; 预期结果U3 系统提示要查询的成绩不存在 U4 系统显示成绩为90的学生的相关信息 测试结果通过 二级模块模块名称成绩排序 用例描述用例起始于教师要对学生成绩进行排序 测试序号C3 测试过程及数据用例编号 U5 在未插入任何成绩的情况下,直接选择3成绩排序, 回车; 用例编号 U6 登录教师管理系统(系统中已插入成绩65,87, 90,73,60),选择3成绩排序,回车; 预期结果U5 系统提示对不起,尚无数据 U6 系统将学生成绩按90,87,73,65,60降序排序 测试结果通过

学生服务子系统测试用例测试负责人:顾赛一级模块模块名称学生服务 二级模块模块名称成绩查询 用例描述用例起始于一名学生想查看自己的成绩 测试序号C5 测试过程及数据用例编号 U7 选择功能2,回车,输入正确课程名称:软件工程用例编号 U8 选择功能2,回车,输入错误课程名称:地理 用例编号 U9 选择功能2,回车,输入正确课程编号:03 用例编号 U10 选择功能2,回车,输入错误课程编号:009 预期结果U7 输出包括,学生姓名,学号,课程号,课程名称,成 绩。 U8 提示你输入的课程名称存在,请重新输入 U9 输出包括,学生姓名,学号,课程号,课程名称,成 绩。 U10 提示你输入的课程编号不存在,请重新输入 测试结果通过 二级模块模块名称成绩排序 用例描述用例起始于一名学生想对成绩进行排序 测试序号C6 测试过程及数据用例编号 U11 选择功能3,回车,显示所有科目包括,学生姓名, 学号,课程号,课程名称,成绩,输入:成绩升序 用例编号 U12 选择功能3,回车,显示所有科目包括,学生姓名, 学号,课程号,课程名称,成绩,输入:数子 用例编号 U13 选择功能3,回车,显示所有科目包括,学生姓名, 学号,课程号,课程名称,成绩,输入:成绩降序 用例编号 U14 选择功能3,回车,显示所有科目包括,学生姓名, 学号,课程号,课程名称,成绩,不输入,回车。 预期结果U11 按成绩升序排列。 U12 提示你输入的提示不正确。U13 按成绩降序排列。 U14 显示你输入的提示不正确。 1

c语言学生成绩管理系统含源代码

C 语言程序设计作业 一设计项目:学生成绩管理系统 二总体设计: 2:模块功能说明: 1 输入功能:输入学生姓名学号及成绩。 2 查看功能:输出姓名学号及各科成绩。 3 查询功能:通过学号查询学生姓名及各科成绩。 4 统计功能:统计班级学生及格率,优秀率,各个学生成绩方差等。 5 修改功能:通过输入学号修改指定学生的错误信息。 6添加功能:添加学生信息。 7删除功能:通过输入学号输入指定学生信息。 8保存功能:将学生信息保存。 9 退出系统。 3:主要函数之间的调用关系及各自功能: 主要函数的函数原型 void inputscore(void); void savescore(void); void avergescore(void); void modifyscore(void); void lookscore(void); void searchscore(void); void statistic(void); void add(void); void modify(void);

void delscore(void); void menu(void); i.在菜单界面输入1,调用函数inputscore( )实现输入学生成绩信息功能。ii.在菜单界面2,调用函数lookscore( )实现学生成绩按平均分高低排序输。 出,同时lookscore()函数调用avergescore()函数实现各个学生平均分的计 算。 iii.在菜单界面输入3,调用searchscore()函数实现通过学号查找学生成绩信息功能。 iv.在菜单界面输入4,调用statistic()函数输出班级及格率,优秀率,学生成绩方差,不及格学生名单。 v.在菜单界面输入5,调用modify()函数实现通过学号修改学生成绩的功能vi.在菜单界面输入6,调用add()函数实现添加学生成绩。 vii.在菜单界面输入7,调用delscore()函数实现删除指定学生成绩。 viii.在菜单界面输入8,调用savescore()函数将学生成绩信息保存。 ix.在菜单界面输入9,退出成绩管理系统。

毕业设计论文学生成绩管理系统(数据结构)

大连科技学院 数据结构毕业设计 题目单链表的基本操作- 建立和遍历 学生成绩管理系统- 排列排序问题- 选择排序, 直接插入排序 学生姓名李易霖专业班级计算机10-1 指导教师宋丽芳职称副教授所在单位信息科学系软件教研室系主任王立娟 完成日期2012 年1 月6 日

大连科技学院 数据结构毕业设计成绩考核表 计算机 学生姓名李易霖专业班级学号1001020112 10-1 单链表的基本操作,学生成绩管理系统,排序问题 题目 注:总评标准采用优良制:优秀( 90 分以上)、良好( 80-90 )、中等( 70-80 )、及格( 60-70 )、不 及格( 60 分以下) 指导教师签字:

毕业设计任务书 一、任务及要求 1. 设计(研究)内容和要求研究内容:单链表的基本操作,学生成绩管理系统,二叉树的 运算任务和要求: (1)学习数据结构基础知识,掌握数据结构典型的算法的使用。 (2)对指导教师下达的题目进行任务分析。 (3)根据分析结果完成设计。 (4)编程:在计算机上实现题目的代码实现。 (5)完成对程序的测试和调试。 (6)提交毕业设计报告(约二十页),含程序代码及运行结果。 2. 原始依据 结合数据结构毕业中的基本理论和基本算法,正确分析出数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。 二、工作量 2 周( 10 个工作日)时间。 三、计划安排 第 1 个工作日-第 2 个工作日:查找相关资料、书籍,阅读示例文档,选择题目。 第 3 个工作日:题目分析,设计算法。 第 4 个工作日 -5 个工作日 : 功能模块的划分和设计。 第 6 个工作日:实现具体数据结构和模块。 第 7 个工作日-第 8 个工作日:程序设计与调试,编写毕业设计报告。 第 9 个工作日:上交毕业设计报告。 第 10 个工作日:软件验收、答辩,成绩评定。 指导教师签字: 2011 年12月26日

C++学生管理系统课程设计 源代码

//===================================================================== ============================================ //student.h 定义了抽象类Person,派生了student(及为信息类)、定义了节点类Node、定义了链表类List //===================================================================== ============================================ #ifndef STUDATA_H #define STUDATA_H #include //================================================================ int GetID(); class List; //------------------------------------- class Person{ //抽象类 protected: int ID; //学号 char Name[15]; //姓名 public: virtual bool operator<(Person&)=0; //<运算符重载 virtual bool operator>=(Person&)=0; //>=运算符重载 }; //--------------------------------------------------------------------------------------- class Student:public Person{ //学生类 int Score[4]; //成绩 void SwapData(Student*); //交换数据 public: Student(int =0,char* =NULL,int* =NULL); //构造函数 bool operator<(Person&); //<运算符重载 bool operator>=(Person&); //>=运算符重载 friend ofstream&operator<<(ofstream&,Student*); //<<运算符重载输出到文件 friend ifstream&operator>>(ifstream&,Student*); //>>运算符重载从文件输入 friend ostream_withassign& operator<<(ostream_withassign&,Student*); //<<运算符重载输出到显示器 friend istream_withassign& operator>>(istream_withassign&,Student*); //>>运算符重载从键盘输入 friend class List; }; //---------------------------------------------------------------------------------------------------------------- class Node{ //结点类 Student *Stup; //指向学生对象指针 Node *Prev,*Next; //指向前后结点指针 public: Node(); //构造函数 Node(Student*); //构造函数

最新学生成绩管理系统测试计划(1)

《学生成绩管理系统测试计划》 一.引言 1编写目的 为了保证学生成绩管理各项功能可靠实现,特编写此测试计划,对所有功能模块及总系统进行测试。 此测试计划供程序员在程序高度阶段参考,在系统测试阶段提供测试依据。本测试计划主要用于发现系统开发过程中出现的各种不妥之处,发现软件中的错误。 2背景 1)待开发系统软件名称:学生成绩管理系统; 2)本项目的任务提出者是学校信息管理系统的各位老师,由本小组负责开发,用于江西农业大学广大师生成绩查询及管理; 3)开发背景:本系统属于江西农业大学大学网络管理系统的学生成绩管理模块,实现的是网络管理系统中关于学生成绩管理的子功能,通过此软件,提高用软件工程分析问题、解决问题的能力,同时增强对数据库和VC#的使用能力。 3定义 成绩管理:所谓成绩管理,是指以学校中的学生为对象,根据学生的成绩来做记录,将学生的成绩进行有关操作和分配。并对学生的成绩进行总和与管理。 4参考资料 [1] 张海藩,《软件工程导论》,清华大学出版社,2008 [2] 陆丽娜,《软件工程》,经济科学出版社,2008 [3] 萨师煊,《数据库系统概论》,高等教育出版社,2006 [4]薛华成,《管理信息系统》,清华大学出版社,2007 二. 计划 1软件说明

2 测试内容 2.1 登录模块 2.3学生成绩查询模块

2.4管理学生成绩信息模块 2.5 分析统计信息管理模块

三.测试设计 1用户登录(01) 本测试考虑到:未注册用户名的处理,用户名与密码不匹配处理 1.1控制 利用白盒测试和黑盒测试相结合的方式。 2学生成绩管理模块(02 ) 本测试考虑到:输入信息格式的合法性,学生编号是否注册。 2.1控制 利用白盒测试和黑盒测试相结合的方式。(成绩默认为整数)

学生成绩管理系统数据流图.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图

学生成绩管理系统设计毕业论文

学生成绩管理系统设 计毕业论文 目录 一、系统功能简介------------------------------------------------------------------2 二、小组成员完成的工作--------------------------------------------------------3 三、系统设计分析------------------------------------------------------------------3 四、系统的调试过程---------------------------------------------------------------6

五、工程总结-------------------------------------------------------------------------12 六、附录(源程序代码)--------------------------------------------------------13 共22页 一、系统功能简介 1、进入主界面按系统提示选择相应的功能。 2、输入功能:将学生的、学号、性别、联系方式以及本学期各 门课的成绩都输入进系统。

3、排序功能:所有学生的本学期成绩进行比较,然后按照分数 从高到低进行排序。 4、查询功能:可以分为按学号和按两种方式进行查询出学生本 学期的成绩以及其他有关的信息。 5、修改功能:可以根据学生学号查找到需要修改的学生的所有 信息,然后可以对学生的信息做一个重置。 6、删除功能:通过学号定位,然后删除该学生的所有信息。 7、成绩保存:将学生的成绩信息以文件的形式保存下来。 8、成绩统计:统计每门课的最高、最低成绩以及不及格人数。 二、工作 三、系统设计分析 1、系统功能模块结构图: 本系统是由成绩输入、成绩排序、成绩查询、信息修改、信息删除、成绩保存、成绩统计以及退出程序这8个功能模块组成,其总体结构图如下: 学生成绩管理系统

学生成绩管理系统源代码

学生成绩管理系统源代码-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

#include #include #include #include #include #include #include #include #define PRINT1 textcolor(12); cprintf("\r 请按任意键返回主菜单 \n\r");textcolor(10); getch();clrscr(); break; int shoudsave=0; struct student /* 学生信息结构体定义*/ { char num[10],name[20],cla[4]; int score1,score2,score3,total,ave; }; typedef struct node { struct student data; struct node *next; }Node,*L; void print1() { cprintf("\r============================================================= ==================="); } void print2() { cprintf("\n\r 1.输入学生成绩信息在这里你可以按照提示输入学生的班级,学号,姓名及各科成绩.\n"); cprintf("\n\r 2.注销学生成绩信息在这里你可以按照学号或姓名将某名学生的信息从本系统中删除.\n"); cprintf("\n\r 3.查询学生成绩信息在这里你可以按照学号或姓名查询某一名学生的信息.\n"); cprintf("\n\r 4.修改学生成绩信息在这里你可以按照提示修改某一名学生的学号,姓名及各科成绩."); cprintf("\n\r 5.学生成绩信息排序在这里你可以看到所有学生的各科成绩.\n"); cprintf("\n\r 6.学生成绩信息统计在这里本系统将为你显示所有科目的最高分及最低分所得学生.\n"); cprintf("\n\r 7.显示学生成绩信息在这里你可以看到系统中所有学生的信 息.\n"); cprintf("\n\r 8.保存学生成绩信息在这里你可以将学生你信息保存到内存 中.\n");

软件测试《学生成绩管理系统》测试报告

软 件 测 试 实 训 报 告 班级:软件测试1406班姓名:贺勇游 学号:2014180182

目录 第一部分学生成绩管理系统需求分析 (1) 一.项目概述 (2) 二.项目背景 (2) 三.系统详细需求 (5) 第二部分学生成绩管理系统测试计划 (8) 一.概述 (9) 二.测试摘要 (9) 三.测试风险 (10) 四.缺陷等级分类和优先级描述 (10) 五.测试策略 (12) 六.暂停标准和再启动标准 (13) 七.测试任务和进度 (14) 八.测试提交物 (15) 第三部分学生成绩管理系统测试用例设计 (15) 一. 测试用例目的 (16) 二. 功能测试用例设计 (16) 2.1 系统登录功能模块用例设计 (16) 2.2 “系统功能模块用例设计 (17) 2.3 档案管理功能模块用例设计 (17) 2.4 成绩管理功能模块用例设计 (18) 第四部分学生成绩管理系统缺陷记录 (20) 一. 说明 (21) 二. 缺陷记录 (21) 第五部分学生成绩管理系统总结报告 (22) 一.引言 (23) 二. 测试用例简介 (24) 三. 测试结果及分析 (24) 四. 综合评价 (24) 五. 心得体会 (24)

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

一.项目概述 软件项目名称:《生成绩管理系统》 软件版本:6.62 开发团队:阿林软件设计室 项目特点:《学生成绩管理系统》单机/网络版(V6.52)操作简单,功能齐全,适合于各中、小学校及教育局。该系统主要有以下几方面的特点: ●即可单机使用,又可在局域网下多用户共享使用。 ●所有数据即可从Excel表中导入,也可导出到Excel表,方便 地与Excel交换。支持读卡机。 ●可多台电脑同时输入成绩,输入时有语音提示,突破输入瓶 颈。 成绩排名详尽,成绩分析到位。 二.项目背景 学生成绩管理是所有院校学生管理事务中的一项重要工作,几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个学校的规模增大,有关学生学籍工作管理所涉及的数据量越来越大,有的学校不得不增加人力丶物力来进行学生成绩管理。但手工管理具有效率低丶出错率高的缺点。为了解决学生成绩管理问题,学生成绩管理系统应运而生。高等院校成绩管理涉及学生成绩的录入、查询、操作。建立学生成绩管理系统,采用计算机对学生成绩进行管理,进行进一步

基于Web的学生成绩管理系统的设计和实现

论文评定 指导教师意见: 指导教师:___________(签名) 年月日

原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律结果由本人承担。 论文作者签名:*** 日期:2009 年10 月30 日

基于Web的学生成绩管理系统的设计和实现 摘要 进入21世纪后,科学技术突飞猛进,信息时代的来临不仅让计算机在科技上得到应用,更让计算机在生活上得到了更广泛的应用,对如今的学校来说,实现电子信息化的办公是必然趋势,学校中的信息量主要体现在学生成绩的管理上面,因此学生成绩管理系统是一个教育单位不可缺少的部分。 本毕业设计所描述的学生成绩管理系统是采用https://www.wendangku.net/doc/00775686.html,作为网络编程框架,SQL Server 2005作为数据库编写的一个B/S模式的系统。系统主要实现了:用户管理、成绩查询、成绩管理和科目管理等功能。本文详细介绍了学生成绩管理系统的需求分析、功能设计和系统设计,在系统设计中给出数据库的设计和本系统的总体设计方案,在系统实现中具体介绍了各个功能的所能实现的情况和主要代码,同时附有运行界面图。 关键字:成绩管理,成绩录入,成绩查询,.NET , B/S

STUDENTS’ PERFORMANNCE MANAGEMENT SYSTEM ABSTRACT After entering the 21st century, science and technology advance by leaps and bounds, the advent of the information age is not only make the computer is widely used in science and technology, more make the computer in life has been more widely, for now, the school of electronic information office is an inevitable trend, the school of information are mainly embodied in the management of students' grades above, education management system is a indispensable part of the unit. The graduation design of student achievement management system is described using https://www.wendangku.net/doc/00775686.html, is a network programming framework, SQL Server 2005 as a database of writing a B/s-based mode of the system. System is mainly realized: user management, scores query, performance management and management of subject etc. Function. This paper introduces the student performance management system requirements analysis, functional design and system design, system design in database design and the overall design scheme of the system, in the system are introduced in details of each function can realize the situation and the main operation interface with code. Key words:Grade Management,Achievements recorded scores query,.NET ,B/S

毕业论文-学生成绩管理系统

一、作品内容介绍 学生成绩管理系统的背景分析: 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化,正规化管理,与世界接轨的重要条件。因此,开发这样的一套成绩管理系统成为很有必要的事情。学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改,打印等操作,同时一样的方面学生对自己各科成绩查询,学习的交流。 开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平。为广大51教a师s和p学x生提高工作效率,实现学生成绩信息管理工作流程的系统化,规范化和自动化。现在我国的大中专院校的学生成绩档案管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素。在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替,一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息、高效、安全、学生在能方便的查看自己的成绩。 二、开发环境 1、页面开发环境:VS2005集成开发环境 2、开发语言:https://www.wendangku.net/doc/00775686.html, +C# 3、后台数据库:SQL Server2000 4、开发环境运行平台:XP(SP2) 三、系统的结构说明 “学生成绩管理系统”包括三个模块:学生登陆、教师登陆、管理员登陆。这三个模块既相互联系又相互独立。

(完整版)JAVA学生管理系统源代码

JA V A学生管理系统源代码 一、程序 import java.util.*; public class Test {//主程序 public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.println("------请定义学生的人数:------"); Student[] stuArr = new Student[in.nextInt()]; Admin adminStu = new Admin(); while(true){ System.out.println("-----请选择你要执行的功能-----"); System.out.println("10:添加一个学生"); System.out.println("11:查找一个学生"); System.out.println("12:根据学生编号更新学生基本信息"); System.out.println("13:根据学生编号删除学生"); System.out.println("14:根据编号输入学生各门成绩"); System.out.println("15:根据某门成绩进行排序"); System.out.println("16:根据总分进行排序"); System.out.println("99:退出系统"); String number = in.next(); if(number.equals("10")){ System.out.println("请输入学生的编号:"); int num = in.nextInt(); System.out.println("请输入学生的姓名:"); String name = in.next(); System.out.println("请输入学生的年龄:"); int age = in.nextInt(); adminStu.Create(num,name,age,stuArr);//添加学生}else if(number.equals("11")){ System.out.println("执行查找学生基本信息的操作"); System.out.println("请输入学生的编号进行查找:"); int num = in.nextInt(); adminStu.find(num,stuArr);//查找学生 }else if(number.equals("12")){ System.out.println("执行更新学员的基本信息操作"); System.out.println("请输入学生的编号:"); int num = in.nextInt(); System.out.println("请输入学生的姓名:"); String name = in.next();

软件测试学生成绩管理系统测试报告完整版

软件测试学生成绩管理 系统测试报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

软 件 测 试 实 训 报 告 班级:软件测试1406班 姓名:贺勇游 目录 第一部分学生成绩管理系统需求分析 (1) 一.项目概 述································ (2) 二.项目背 景································ (2)

三.系统详细需 求································ (5) 第二部分学生成绩管理系统测试计划 (8) 一.概 述 (9) 二.测试摘 要 (9) 三.测试风 险 (10) 四.缺陷等级分类和优先级描 述 (10) 五.测试策 略 (12) 六.暂停标准和再启动标 准 (13) 七.测试任务和进 度 (14) 八.测试提交 物 (15) 第三部分学生成绩管理系统测试用例设计 (15) 一. 测试用例目的 (16) 二. 功能测试用例设计····································

系统登录功能模块用例设计 (16) “系统功能模块用例设计 (17) 档案管理功能模块用例设计 (17) 成绩管理功能模块用例设计 (18) 第四部分学生成绩管理系统缺陷记录 (20) 一. 说明 (21) 二. 缺陷记录 (21) 第五部分学生成绩管理系统总结报告 (22) 一.引言 (23) 二. 测试用例简介 (24) 三. 测试结果及分析 (24) 四. 综合评价 (24) 五. 心得体会 (24) 学

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

学生成绩管理系统数据流图-标准化文件发布号:(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图中的一个加工"学生成绩管理"进行展开。

用java编写的学生成绩管理系统代码

; public class Student { private String id; private String name; private int math; private int english; private int java; private int computer; public String getId() { return id; } public void setId(String id) { = id; } public String getName() { return name; } public void setName(String name) {

= name; } public int getMath() { return math; } public void setMath(int math) { = math; } public int getEnglish() { return english; } public void setEnglish(int english) { = english; } public int getJava() { return java; } public void setJava(int java)

{ = java; } public int getComputer() { return computer; } public void setComputer(int computer) { = computer; } public static void main(String[] args) throws Exception { String id; String cid; String name; int math; int english; int java; int computer; String DBDriver = ""; String conStr = "jdbc:odbc:student"; Connection con = null; Statement stmt = null; ResultSet rs = null;

学生学籍管理系统(含java源代码)

学生学籍管理详细设计 学号:____________ 姓名:____________ 班级:____________ 一、设计题目: 学生学籍管理 二:设计内容: 设计GUI学生学籍管理界面,用户可以加入学生信息,并对基本信息进行修改,添加,查询,删除。 三:设计要求: 进行简单的学生信息管理。 四:总体设计 (1)登陆界面的设计 (2)主窗体的设计 (3)添加学生信息窗体 (4)查询学生信息窗体 (5)修改学生信息窗体 (6)删除学生信息窗体 (7)事件响应的处理 五:具体设计 (1)程序结构的说明: A.入口程序:; B.登陆界面程序:; C.主窗体程序:; D.添加信息窗口程序:; E.修改信息窗口程序:;

F.查询信息窗口程序:; G.删除信息窗口程序:; H.程序数据连接:; (2)程序代码及分析说明 A.程序源代码(已提交) 是程序的入口。使登录窗口位于窗口中间,并且不可改变窗口大小。 是程序的登陆窗体。输入用户名和密码(用户名和密码在数据库的password表中)点击“进入系统”,然后登陆界面消失;出现要操作的界面(屏幕左上角)。是添加信息界面。添加基本信息后,点击“添加信息”按钮,将信息加入xinxi 表中。 是修改信息界面。输入要修改的学号或姓名(两者数其一或全部输入),并输入所有信息,点击“修改信息”按钮(如果数据库中不存在此学号,则弹出对话框“无此学生信息”),若有则修改。 是删除信息界面。输入要删除的学生的学号,点击“删除信息”按钮,弹出确认删除对话框,即可删除该生信息。 是查询信息界面。输入要查询的学生学号,点击“信息查询”按钮,在相应的文本区里显示查询的信息。 H:源代码 ; import .*; etScreenSize(); Dimension frameSize=(); if> { =; } if> { =; } ( (true); } public static void main(String[] args) { try{ ()); } catch(Exception e) { (); } new student(); } }

相关文档