数据库课设.docx
- 文档编号:12265477
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:54
- 大小:657.60KB
数据库课设.docx
《数据库课设.docx》由会员分享,可在线阅读,更多相关《数据库课设.docx(54页珍藏版)》请在冰豆网上搜索。
数据库课设
编号:
课程设计(论文)说明书
题目:
学生成绩管理系统
系别:
计算机科学与工程学院
专业:
信息安全
学生姓名:
学号:
指导教师:
摘要
在现今信息时代,生活速度的加快,使得人们越来越向信息化、数字化发展,管理信息系统(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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库