数据库课设.docx

上传人:b****1 文档编号:2350656 上传时间:2023-05-03 格式:DOCX 页数:54 大小:657.60KB
下载 相关 举报
数据库课设.docx_第1页
第1页 / 共54页
数据库课设.docx_第2页
第2页 / 共54页
数据库课设.docx_第3页
第3页 / 共54页
数据库课设.docx_第4页
第4页 / 共54页
数据库课设.docx_第5页
第5页 / 共54页
数据库课设.docx_第6页
第6页 / 共54页
数据库课设.docx_第7页
第7页 / 共54页
数据库课设.docx_第8页
第8页 / 共54页
数据库课设.docx_第9页
第9页 / 共54页
数据库课设.docx_第10页
第10页 / 共54页
数据库课设.docx_第11页
第11页 / 共54页
数据库课设.docx_第12页
第12页 / 共54页
数据库课设.docx_第13页
第13页 / 共54页
数据库课设.docx_第14页
第14页 / 共54页
数据库课设.docx_第15页
第15页 / 共54页
数据库课设.docx_第16页
第16页 / 共54页
数据库课设.docx_第17页
第17页 / 共54页
数据库课设.docx_第18页
第18页 / 共54页
数据库课设.docx_第19页
第19页 / 共54页
数据库课设.docx_第20页
第20页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库课设.docx

《数据库课设.docx》由会员分享,可在线阅读,更多相关《数据库课设.docx(54页珍藏版)》请在冰点文库上搜索。

数据库课设.docx

数据库课设

编号:

课程设计(论文)说明书

题目:

学生成绩管理系统

系别:

计算机科学与工程学院

专业:

信息安全

学生姓名:

学号:

指导教师:

 

摘要

在现今信息时代,生活速度的加快,使得人们越来越向信息化、数字化发展,管理信息系统(MIS)是一个由人、计算机等组成的能进行信息的收集、传递、储存、加工、维护和使用的系统,必然能代替过去大量、繁杂的手工操作。

对于一所学校来说,如何利用计算机改变每次考试结束后老师们统计大量的学生成绩时的繁重任务?

如何消除因时间紧所产生的统计结果错误百出?

设计出学生成绩管理系统就是一个很好的解决方法。

本文通过用delphi面向对象的编程环境编写学生成绩管理系统,根据3NF的关系模式设计数据库表,用模块化设计方式将系统的各个功能模块层层分解,设计出系统的模块化结构,并根据系统的具体要求和需要实现的功能,详细地定义了各个模块的具体功能。

开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,实现了学生成绩数据库的创建及学生成绩的输入、浏览、维护和统计,使得系统具有功能强大,界面友好的特点。

 

关键词:

成绩管理;delphi

 

目录

引言1

1系统的目标及任务1

2系统需求分析1

2.1系统详细需求2

2.1.1系统开发环境2

2.1.2系统功能需求2

2.1.3系统使用范围2

2.1.4系统用户界面2

2.1.5系统故障处理2

2.1.6系统数据流图3

2.2使用环境5

2.3可行性分析5

2.3.1经济可行性5

2.3.2技术可行性5

2.3.3运行可行性6

3软件开发过程6

3.1系统设计6

3.1.1数据库设计6

3.1.2E-R图设计8

3.2系统功能设计9

3.2.1模块功能分析9

3.2.2模块结构图10

3.3软件设计11

3.3.1登录界面及主界面设计11

3.3.2查询功能设计16

3.3.3数据维护设计26

3.3.4报表设计34

3.3.5管理员设置37

4软件测试41

4.1登录测试41

4.2账户管理测试41

4.3成绩录入测试41

4.4成绩查询测试41

5结论42

6参考文献43

7附录44

 

引言

随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。

如此庞大的信息量,迫切需要有一个学生信息管理系统来提高学生管理工作的效率。

通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。

一直以来,人们使用传统人工的方式管理学生信息,这种管理方式存在许多缺点,如效率低、保密性差等,而且时间一长,将会产生大量的数据,传统的纸质保存方式会占用大量空间,给查找、更新和维护都带来诸多不便。

现在,有了学生信息管理系统,我们可以很轻松的完成管理操作,不但减少了老师的负担,还节省了大量时间。

使学生管理变得简单,规范,科学。

当今学生成绩管理的繁琐给具有强烈时间观念的行政人员带来了诸多不便,教学办公室缺少一种完善的学籍管理软件,为了对学生成绩的管理方便,节省资源,提高工作效率,作者完成了全面的调查与分析,同时与目标用户进行了多次深入沟通,并在次基础上着手开发《学生成绩管理系统》软件。

 

1系统的目标及任务

此系统的主要任务是帮助老师完成学生成绩的管理,减轻老师的工作量,从而大大提高老师的工作效率。

建设目标是将学生成绩管理系统发展成被广大老师应用的办公软件,为学校的办公自动化做出贡献。

 

2系统需求分析

成绩管理系统是面向各校的管理系统,其目的是提高学校对学生的科学化管理。

经过充分的系统调研,发现本系统主要应包括系统管理、成绩管理、成绩查询管理,进一步还发现各需管理的信息有:

添加或者删除用户,密码修改,各系学生基本信息,学生选课信息等。

本系统的具体要求为:

(1)能管理学生的基本成绩信息,可录入,修改,查询。

(2)通过使用计算机能方便地维护各信息表。

(3)方便同时查出总人数和不及格人数,实现表的统计功能。

(4)需要时能即时进行输出与打印。

(5)系统具有操作方便、简捷等特点。

2.1系统的详细需求

2.1.1系统开发环境需求

本系统采用面向对象的软件开发方法,以Borland公司的可视开发环境Delphi7.0作为主要开发工具,使用MicrosoftSQLServer2005作为关系数据库,并在Delphi编程语言中采用ADO数据库编程模型,配合功能强大的SQL查询语言实现建立关系数据库,访问数据库,对数据库的更新,较好地实现了预定的需求功能

2.1.2本系统的功能需求有:

(1)学生查询功能:

为了方便学生查找成绩等信息,将所有信息按照需要进行分类。

这样学生就能很方便的找到自己所需要的信息。

(2)老师查询功能:

老师可以通过条件选择查询所有信息。

(3)添加功能:

老师可以直接添加学生的基本信息、成绩信息等,方便老师的管理,系统可以自动避免重复信息。

(4)修改功能:

老师可以对数据库中的信息进行修改。

系统能够通过老师给出的条件查找出所要修改的信息,对修改后的信息进行保存。

(5)删除功能:

老师可以对数据进行删除操作。

系统能够通过老师给出的条件查找出要删除的信息,并提示是否确定删除,如果确定删除,则把相关信息从数据库中删除。

2.1.3使用范围

老师和学生都可以使用此系统,但权限不一样,老师可以进行多种操作,学生只能进行查询,打印等操作。

2.1.4用户界面

有良好的操作界面,简单、方便、科学。

2.1.5故障处理

当有故障发生时,系统会有相应的提示,用户可根据提示进行修改。

2.1.6系统数据流图

顶层数据流图

 

图3-1数据流图

分层数据流图

(1)查询数据流图

登录

用户请求有效的请求

查询请求学生成绩

学生信息

处理请求

有效性检查

 

处理查询

 

(2)添加数据流图

登录

用户请求有效的请求

添加请求学生成绩

学生信息

处理请求

有效性检查

 

处理添加

 

(3)更新数据流图

登录

用户请求有效的请求

更新请求检查有效性

学生成绩

学生信息

处理请求

 

检查有效性

处理更新

 

 

(4)删除数据流图

登录

用户请求有效的请求

删除请求学生成绩

学生信息

处理请求

 

检查有效性

删除处理

 

2.2使用环境

使用环境是在windows操作系统平台下运行并且系统要安装delphi7软件和MicrosoftSQLServer2005软件

2.3可行性分析

2.3.1经济上可行性

现在,计算机的价格已经十分低廉,性能却有了长足的进步。

本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现在以下几个方面:

第一,本系统的运行可以代替人工进行许多繁杂的劳动;

第二,本系统的运行可以节省许多资源;

第三,本系统的运行可以大大的提高学校的工作效率;

第四,本系统可以使敏感文档更加安全,等等。

所以,本系统在经济上是可行的。

2.3.2技术上可行性

本系统的开发利用MicrosoftSQLServer2005作为本系统的数据库,它是一个支持多用户的数据库,适用于大中规模的数据量需求。

学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。

使用delphi7作为系统的开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供了保证,并使代码变得规范,提高代码的模块化,非常有利于以后对系统的扩展与维修。

综上所述,本系统的设计与开发在技术上和硬件设备上的条件都满足的,因此,它在技术上是可行的。

2.3.3运行上可行性

本系统为一个小型的学生成绩管理系统,所耗费的资源非常小,学校的电脑无论是硬件上还是软件上都能够满足条件,因此,本系统是可运行的。

 

3软件开发过程

3.1系统设计

3.1.1数据库设计

学生信息表(学号,姓名,性别,年龄,院系)

 

成绩表(学号,姓名,课程号,课程名,成绩)

 

科目信息(课程号,课程名,学分)

 

登陆表(uname,password,quan)

 

3.1.2E-R图设计

 

实体属性联系

系名

院系

课程号

1

课程名

属于

课程

选修

nm

学生

姓名

学分

n

成绩

年龄

学号

性别

 

用户

权限

姓名

密码

 

3.2系统功能设计

3.2.1模块功能分析

用户登录界面模块:

可以实现的功能包括输入用户名和密码,实现用户的登录,退出系统模块:

实现系统的正常退出。

管理员登陆模块:

输入管理员身份验证和通行密码,实现验证和放弃。

学生基本信息模块:

该模块包括学号、姓名、年龄、性别、所在院系。

查询模块:

其中可以查询学生信息、学生成绩、不及格成绩、欠学分等信息,也可以通过条件查询,例如,输入学号,姓名,课程名等不同条件便可进行相应查询。

数据维护模块:

这个模块是属于管理员操作的模块,只有管理员才能登陆进入,里面的功能比较全面,普通用户能操作的功能,在这个模块里面也能操作,而且比普通用户更高级的功能也要具备,比如对学生用户信息的修改、删除,以及管理员设置等。

统计模块:

可以统计学生的总人数和不及格人数等信息。

报表模块:

通过选择,可以打印不同的报表,方便老师查看及管理。

 

3.2.2功能模块结构图如下:

学生信息

学生成绩

查询

欠学分学生

不及格学生

修改

数据维护

添加

删除

添加

修改

管理员设置

老师

删除

查看

报表

打印

总人数

不及格人数

统计

登录界面

学生信息

学生成绩

查询

 

不及格学生

欠学分学生

统计

学生

 

查看

打印

报表

 

3.3软件设计

3.3.1登录界面及主界面

 

uses

Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,

Dialogs,StdCtrls,DB,ADODB;

type

TForm1=class(TForm)

Label1:

TLabel;

Button1:

TButton;

Edit1:

TEdit;

Edit2:

TEdit;

Button2:

TButton;

Label2:

TLabel;

Label3:

TLabel;

ADOQuery1:

TADOQuery;

procedureButton1Click(Sender:

TObject);

procedureButton2Click(Sender:

TObject);

private

{Privatedeclarations}

public

{Publicdeclarations}

end;

var

Form1:

TForm1;

implementation

usesUnit2,Unit3,Unit8,Unit9;

{$R*.dfm}

procedureTForm1.Button1Click(Sender:

TObject);

begin

adoquery1.SQL.Clear;

adoquery1.SQL.Add('selectquanfrom登录表whereuname='''+edit1.Text+'''andpassword='''+edit2.text+'''');

adoquery1.Open;

if(adoquery1.RecordCount>0)and(adoquery1.FieldByName('quan').AsString='0')

then

begin

form2.show

end

elseif(adoquery1.FieldByName('quan').AsString='1')

then

begin

form9.show;

end

else

showmessage('用户名或密码错误!

');

end;

procedureTForm1.Button2Click(Sender:

TObject);

begin

form1.Close;

end;

end.

 

主界面

 

uses

Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,

Dialogs,Menus,StdCtrls;

type

TForm2=class(TForm)

MainMenu1:

TMainMenu;

N1:

TMenuItem;

N4:

TMenuItem;

N5:

TMenuItem;

N6:

TMenuItem;

N7:

TMenuItem;

N8:

TMenuItem;

N9:

TMenuItem;

N10:

TMenuItem;

Label1:

TLabel;

N11:

TMenuItem;

N14:

TMenuItem;

procedureN2Click(Sender:

TObject);

procedureN5Click(Sender:

TObject);

procedureN7Click(Sender:

TObject);

procedureN3Click(Sender:

TObject);

procedureN6Click(Sender:

TObject);

procedureN10Click(Sender:

TObject);

procedureN11Click(Sender:

TObject);

procedureN12Click(Sender:

TObject);

procedureN13Click(Sender:

TObject);

procedureN14Click(Sender:

TObject);

procedureN8Click(Sender:

TObject);

procedureButton1Click(Sender:

TObject);

procedureN1Click(Sender:

TObject);

private

{Privatedeclarations}

public

{Publicdeclarations}

end;

var

Form2:

TForm2;

implementation

usesUnit3,Unit4,Unit5,Unit6,Unit7,Unit8,Unit10,Unit11,Unit12,

Unit14,Unit15,Unit16;

{$R*.dfm}

procedureTForm2.N2Click(Sender:

TObject);

begin

form3.show;

end;

procedureTForm2.N5Click(Sender:

TObject);

begin

form4.show;

end;

procedureTForm2.N7Click(Sender:

TObject);

begin

form5.show;

end;

procedureTForm2.N3Click(Sender:

TObject);

begin

form6.show;

end;

procedureTForm2.N6Click(Sender:

TObject);

begin

form7.show;

end;

procedureTForm2.N10Click(Sender:

TObject);

begin

form2.Close;

end;

procedureTForm2.N11Click(Sender:

TObject);

begin

form8.show;

end;

procedureTForm2.N12Click(Sender:

TObject);

begin

form10.show;

end;

procedureTForm2.N13Click(Sender:

TObject);

begin

form11.show;

end;

procedureTForm2.N14Click(Sender:

TObject);

begin

form12.show;

end;

procedureTForm2.N8Click(Sender:

TObject);

begin

Form14.Show;

end;

procedureTForm2.Button1Click(Sender:

TObject);

begin

form15.show;

end;

procedureTForm2.N1Click(Sender:

TObject);

begin

form16.show;

end;

end.

3.3.2查询功能设计:

(1)主查询界面

 

uses

Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,

Dialogs,StdCtrls;

type

TForm16=class(TForm)

Label1:

TLabel;

Label2:

TLabel;

Button1:

TButton;

Button2:

TButton;

Button3:

TButton;

Button4:

TButton;

Button5:

TButton;

Button6:

TButton;

Button7:

TButton;

procedureButton1Click(Sender:

TObject);

procedureButton2Click(Sender:

TObject);

procedureButton3Click(Sender:

TObject);

procedureButton4Click(Sender:

TObject);

procedureButton6Click(Sender:

TObject);

procedureButton7Click(Sender:

TObject);

procedureButton5Click(Sender:

TObject);

private

{Privatedeclarations}

public

{Publicdeclarations}

end;

var

Form16:

TForm16;

implementation

usesUnit3,Unit6,Unit10,Unit11,Unit17,Unit15;

{$R*.dfm}

procedureTForm16.Button1Click(Sender:

TObject);

begin

form3.show;

end;

procedureTForm16.Button2Click(Sender:

TObject);

begin

form6.show;

end;

procedureTForm16.Button3Click(Sender:

TObject);

begin

form10.show;

end;

procedureTForm16.Button4Click(Sender:

TObject);

begin

form11.show;

end;

procedureTForm16.Button6Click(Sender:

TObject);

begin

close;

end;

procedureTForm16.Button7Click(Sender:

TObject);

begin

form17.show;

end;

procedureTForm16.Button5Click(Sender:

TObject);

begin

form15.show;

end;

end.

 

(2)学生信息查询

 

uses

Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,

Dialogs,StdCtrls,Grids,DBGrids,DB,ADODB,ExtCtrls;

type

TForm3=class(TForm)

ADOQuery1:

TADOQuery;

DataSource1:

TDataSource;

DBGrid1:

TDBGrid;

Label1:

TLabel;

Edit1:

TEdit;

Button1:

TButton;

Edit2:

TEdit;

Label2:

TLabel;

Button2:

TButton;

Label3:

TLabel;

Panel1:

TPanel;

Button4:

TButton;

Button5:

TButton;

Button6:

TButton;

Button7:

TButton;

Button8:

TButton;

Button3:

TButton;

procedureButton1Click(Sender:

TObject);

procedureButton2Click(Sender:

TObject);

procedureButton3Click(Sender:

TObject);

procedureButton4Click(Sender:

TObject);

procedureButton5Click(Sender:

TObject);

procedureButton6Click(Sender:

TObject);

procedureButton7Click(Sender:

TObject);

procedureButton8Click(Sender:

TObject);

private

{Privatedeclarations}

public

{Publicdeclarations}

end;

var

Form3:

TForm3;

implementation

{$R*.dfm}

procedureTForm3.Button1Click(Sender:

TObject);

begin

adoquery1.SQL.Clear;

adoquery1.SQL.Add('select*from学生信息where学号='''+edit1.Text+'''');

adoquery1.Open;

ifd

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2