成绩管理系统设计.docx
- 文档编号:6309119
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:30
- 大小:795.35KB
成绩管理系统设计.docx
《成绩管理系统设计.docx》由会员分享,可在线阅读,更多相关《成绩管理系统设计.docx(30页珍藏版)》请在冰点文库上搜索。
成绩管理系统设计
数据库技术
课程设计报告
一设计概述
1.1系统功能分析
系统开发的总体任务是实现学生信息关系的系统化,规范化和自动化。
主要功能有:
1有关用户密码的修改
2有关学生信息的插入,查询,修改等。
包括输入学生基本信息,如所在班级,学号等。
3有关课程信息的插入,查询,修改等。
包括输入课程名,课程号等。
4有关成绩信息的插入,查询等。
二.需求分析
2.1系统需求:
通过调查,要求系统需要有以下功能:
要求有良好的人机界面;
较好的权限管理;
原始数据修改简单方便,支持多条件修改;
方便的数据查询,支持多条件查询;
相应的权限下,删除数据方便简单,数据稳定性好;
2.2可行性分析:
由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。
因此,比较适合于采用数据库管理。
且学校用于学生管理的微机都是奔腾3以上的机器,在存储量、速度方面都能满足数据库运行的要求。
在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。
数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言介绍如下:
delphi是一种可视化的、面向对象和调用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。
它简单易学、效率高,且功能强大。
在delphi环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
三.数据库逻辑设计
3.1系统方案确定
通过对系统的调研与分析,系统主要应完成的功能有:
学生信息管理、课程信息管理、成绩信息管理、信息查询等功能。
3.2软件结构设计
本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个综合性管理系统。
3.3概念模型(E-R图)
学生(学号、姓名、性别、出生日期、学院、班级)
课程(课程号、课程名、开课学期、任课教师)
成绩(学号、课程号、成绩)
四.创建学生成绩管理数据库
4.1创建学生成绩管理数据库
1.实验内容
使用SQLServer企业管理器创建名为xscjglxt的数据库。
2.实验步骤
(1).打开SQLServer企业管理器,出现图
(1)所示的界面。
.单击左端“+”号层层展开直到在屏幕上出现“数据库”、“master”、“model”、“msdb”、“tempdb”、等项。
图
(1)企业管理器
(2).用鼠标右键单击“数据库”选项,从弹出的快捷键菜单图
(2)中选择“新建数据库”选项,此时会出现“数据库属性”对话框图(3),在“名称”文本框中输入数据库名“student”,单击[确定]按钮,以便默认的参数创建了一个名为“student”数据库。
图
(2)数据库操作快捷菜单图(3)“数据库属性”对话框
(3).在“student”数据库上单击鼠标右键,在弹出的菜单中选择“属性”选项图(4),
进入“studen属性”对话框,在该对话框内单击“数据文件”和“事物日志”选项卡的设置参
数,如图(5)
图(4)“studen”数据库快捷菜单图(5)“student属性”对话框
4.2创建信息表
1.实验内容
使用SQLServer企业管理器,在“studen”数据库上创建“studentinfo”、“course”、“grade”表。
其中:
studentinfo(学生表)用来存储一个学校内学生的基本信息:
course(课程表)用来存储于学生相关的课程基本信息;grade(成绩表)用来存储于学生所选课程的成绩基本信息。
通过这3张表建立一个简单的学生信息管理系统。
3张表的结构如下
表1学生表结构
字段
数据类型
长度
是否允许空值
备注
学号
varChar
20
否
主键
性别
varChar
20
否
姓名
varChar
20
是
出生日期
Smalldatetime
4
否
学院
varChar
20
是
班级
varChar
20
是
备注
Tesr
20
是
表2课程表结构
字段
数据类型
长度
是否允许空值
备注
课程号
varChar
20
否
主键
课程名
varChar
20
否
开学学期
Tinyint
1
是
任课教师
varChar
20
是
表3成绩表结构
字段
数据结构
长度
是否允许空值
备注
学号
varChar
20
否
主键
课程号
varChar
20
否
主键
成绩
Tinyint
1
是
2.实验初始数据
表4学生表初始记录
学号
姓名
性别
出身日期
院系
班级
备注
S0000001
李一
女
1978-12-1
信自学院
信自1班
S0000002
李二
女
1977-1-15
信自学院
信自1班
S0000003
李三
男
1975-11-30
信自学院
信自1班
S0000004
李四
男
1976-6-24
信自学院
信自2班
S0000005
李五
男
1977-5-17
信自学院
信自21班
S0000006
王一
男
1978-4-28
电力学院
电力1班
S0000007
王二
男
1979-1-23
电力学院
电力1班
S0000008
王三
男
1978-10-1
电力学院
电力1班
S0000009
王四
男
1978-01-02
电力学院
电力2班
S0000010
王五
女
1978-12-05
电力学院
电力2班
表5课程表初始记录
课程表
课程名
开课学期
任课教师
C001
计算机文化基础
1
陈一
C002
操作系统
3
陈二
C003
数据结构
3
陈三
C004
数字电子技术
2
陈四
C005
计算机网络
2
陈五
C006
系统工程
3
刘一
C007
模拟电子技术
4
刘二
C008
软件基础
4
刘三
C009
面向对象语言程序设计
2
刘四
C010
运筹学
1
刘五
表6成绩表初始记录
学号
课程号
成绩
S0000001
C001
80
S0000002
C002
80
S0000003
C003
78
S0000004
C004
78
S0000005
C005
80
S0000006
C010
78
S0000007
C009
90
S0000008
C008
88
S0000009
C007
88
S0000010
C006
77
3.实验步骤
(1).打开SQLServer企业管理器,在树形目录中找到“student”数据库并展开它,选择数据库对象“表“,在“表“对象上单鼠标右键,则弹出其快捷菜单,如图(6)
图(6)“表”的快捷菜单
(2)从弹出的快捷菜单选择“新建表”选项,则弹出“表结构设计”窗口,如图(7),所示。
该窗口的上半部分是一个表格,在这个表格中输入”学号”、”姓名”、”性别”、”出生日期”、”院系”
等列的属性,表格的每一行对应一个列定义。
(3)用鼠标单击“学号”列,在工具栏中单击”钥匙”图标按钮,可将“学号”字段设置为主
键(主关键字),此时“学号”前将出现一钥匙图标,如图(7)
图(7)表结构设计窗口
(4)将表结构输入完后,单击[保存]按钮将出现“选择名称”对话框,如图(8)所示。
输入表名“studentinfo”后,单击[确定]按钮就完成了学生表结构的设计,创建了一张空表。
(5)按上述第2~5步的方法,按表
(2)、表(3)的要求,分别创建课程表成绩表结构.
(6)返回企业管理器主界面,在表对象的显示窗口内找到表名,在其上单击鼠标右键,在弹出菜单中,选择“打开表”选项中的“返回所有行”命令,如图(9)所示:
图(8)“打开表”级联菜单
(7)选择“返回所有行”命令后,将出现“表数据录入及维护”窗口,如图(10)所示。
根据
表(4)所列出的实验数据,向表“studntinfo”中添加记录
(8)按第6~7步所示方法将表(5)、(6)所列出的数据输入到“course”和“grade”表中
4.3创建关系图
1.实验内容
使用SQLServer企业管理器建立3个关系表的关系图,并保证表中数据的唯一性。
2.实验步骤
(1)运行SQLServer企业管理器,在树形目录中找到“xscjglxt”数据库并展开它,选择
数据库对象”关系图”,在”关系图”选项上单鼠标右键,则弹出一快捷菜单,如图所示
图(9)“关系图”快捷菜单
(2)在弹出的快捷菜单中选择“新建数据库关系图”选项,则弹出“创建数据库关系图向导”
对话框。
在该对话框中单击[下一步]按钮,“选择要添加的表“对话框,这个对话框中选择表”studentinfo”、”course”、”grade”,并单击[添加]按钮,将选中表添加到右列表框中。
单击[下一步]按钮,检查所选择的表是否正确.
(3)单击“完成”按钮,完成数据库关系图的创建,会出现“新关系图”窗口.。
(4)在“新关系图”窗口内,将光标放在“grade”表中课程号“字段前的”
标识单击鼠标左键,此时”课程号”字段呈被选中状态,拖动鼠标到表”course”上,放开鼠标左键将弹出创建关系对话框,在”主键表”和”外键表”中都选择”课程号”字段并单击创建中检查现存数据”对复制强制关系”和”UPDATE强制关系”3个复选框然后单击[确定]按钮.
(5)按上述第4步的方法,建立学生表“studentinfo”成绩表“grade”在学号字段上的关系,如图(10)所示
图(10)创建关系后的窗口
(6)单击[保存]按钮,在弹出的“另存为”对话框中输入新关系图的名称。
4.4创建视图
1.实验内容
使用SQLServer企业管理器建立名为视图。
作为成绩查询的操作对象
2.实验步骤
(1)打开SQLServer企业管理器,在树形目录中找到“xscjglxt”数据库并展开它,选择
数据库对象“视图“,在“视图“选项上单鼠标右键,则弹出一快捷菜单,如图所示
图(11)“视图”快捷菜单
(2)在弹出的菜单中选择“新建视图”选项,则弹出“新视图”对话框,如图(12)
所示,在对话框上半部分的灰色框内单击鼠标右键,从弹出的菜单中选择“选择添加表”
选项,回出现“添加表”对话框.
图(12)新建视图窗口
(3)在“添加表”对话框中,选择表“studentinfo”“course”“grade”,单击[添加]按钮,关
闭“添加表”对话框,返回新视图窗口,如图(13)所示,在3个表的字段前可通过字段
左边的复选框选择要添加到视图中的字段(不同表中名称相同的字段只勾选一次)
图(13)添加表后的新视图窗
(4)单击[保存]按钮,在弹出的“另存为”对话框中输入新视图名称,单击[确定]按钮,完成新视图的建立。
五.delphi前台界面的设计与实现
5.1设计主窗体
1.实验内容
使用delphi设计与SQLServer数据库相关联的“学生信息管理系统”的前台界面。
2.实验步骤
(1)设计登录窗口
登录窗口如图(14)所示。
图(14)
1.创建窗口并设置属性
创建登录窗口loginFrom,调整其大小,在窗口上放置3个LABLE组件,两个EDIT组件和3个BITBTN组件,修改其属性如图(14)。
2.编写代码
unitlogin;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,DB,ADODB,StdCtrls,Buttons;
type
TloginForm=class(TForm)
Label1:
TLabel;
GroupBox1:
TGroupBox;
Label2:
TLabel;
Label3:
TLabel;
Edit1:
TEdit;
Edit2:
TEdit;
BitBtn1:
TBitBtn;
BitBtn2:
TBitBtn;
BitBtn3:
TBitBtn;
ADOConnection1:
TADOConnection;
loginADOQR:
TADOQuery;
procedureBitBtn1Click(Sender:
TObject);
procedureBitBtn2Click(Sender:
TObject);
procedureBitBtn3Click(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
loginForm:
TloginForm;
implementation
usesmain,modifypassword;
{$R*.dfm}
procedureTloginForm.BitBtn1Click(Sender:
TObject);
begin
ifnotLoginADOQR.Activethen
LoginADOQR.Active:
=true;
if(notLoginADOQR.Locate('用户名',trim(Edit1.Text),[]))
or(LoginADOQR.FieldByName('密码').AsString<>trim(Edit2.Text))then
begin
Application.MessageBox('没有此用户','警告框',MB_IConInformation);
Edit1.SetFocus();
exit;
end;
ifMainForm=nilthen
Mainform:
=TmainForm.Create(self);
MainForm.ShowModal();
LoginForm.Close();
end;
procedureTloginForm.BitBtn2Click(Sender:
TObject);
begin
Application.Terminate;
end;
procedureTloginForm.BitBtn3Click(Sender:
TObject);
begin
ifModifyPasswordForm=nilthen
ModifyPasswordForm:
=TModifyPasswordForm.Create(self);
ModifyPasswordForm.ShowModal();
end;
end.
(2)设计密码修改窗口
密码修改窗口如图(15)所示。
1.创建窗口并设置属性
创建密码修改窗口modifypasswordForm,调整其大小,在窗口上放置4个Lable,4个Edit组件和2个BitBtn组件,设置其属性如图(15)所示。
图(15)
2.编写代码
unitmodifypassword;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,StdCtrls,Buttons,DB,ADODB;
type
TmodifypasswordForm=class(TForm)
GroupBox1:
TGroupBox;
Label1:
TLabel;
Edit1:
TEdit;
Label2:
TLabel;
Edit2:
TEdit;
Label3:
TLabel;
Edit3:
TEdit;
Label4:
TLabel;
Edit4:
TEdit;
BitBtn1:
TBitBtn;
BitBtn2:
TBitBtn;
ADOConnection1:
TADOConnection;
modifypasswordADOQR:
TADOQuery;
procedureBitBtn1Click(Sender:
TObject);
procedureBitBtn2Click(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
modifypasswordForm:
TmodifypasswordForm;
implementation
{$R*.dfm}
procedureTmodifypasswordForm.BitBtn1Click(Sender:
TObject);
begin
iftrim(Edit3.Text)<>trim(Edit4.Text)then
begin
Application.MessageBox('两次输入密码不匹配,请重新输入!
','消息框',MB_ICONInformation);
Edit4.SetFocus();
exit;
end;
withModifyPasswordADOQRdo
begin
ifnotActivethen
Active:
=true;
if(notLocate('用户名',trim(Edit1.Text),[])or(ModifyPasswordADOQR.FieldByName('密码').AsString<>trim(Edit2.Text)))then
begin
Application.MessageBox('没有此用户','警告框',MB_ICONInformation);
Edit1.SetFocus();
exit;
end;
exit;
FieldByName('密码').AsString:
=trim(Edit3.Text);
post();
Application.MessageBox('密码修改成功,请记住新密码!
','提示框',MB_ICONInformation);
ModalResult:
=mrok;
end;
end;
procedureTmodifypasswordForm.BitBtn2Click(Sender:
TObject);
begin
Application.Terminate;
end;
end.
(3)设计菜单
启动,新建一个标准工程,默认名为“工程1”。
在该工程中会自动创建一个窗体,默认名
为“form1”在该窗体中使用提供的“菜单编辑器“设计主窗体,如图所示没命名主窗体为
mainForm.
图(16)设计学生成绩管理系统界面
(2)添加代码
在该窗口中,水平主菜单有3个“菜单”:
“学生信息”“关于”“退出”其中“学生信息”菜单的下拉菜单中又有“学生基本信息表”、“课程表”、“成绩表”3个子菜单。
各菜单项的功能和代码如下
1)代码如下
unitmain;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,Menus;
type
TmainForm=class(TForm)
MainMenu1:
TMainMenu;
N1:
TMenuItem;
N2:
TMenuItem;
N3:
TMenuItem;
N4:
TMenuItem;
N5:
TMenuItem;
N6:
TMenuItem;
procedureN2Click(Sender:
TObject);
procedureN3Click(Sender:
TObject);
procedureN4Click(Sender:
TObject);
procedureN5Click(Sender:
TObject);
procedureN6Click(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
mainForm:
TmainForm;
implementation
usesabout,course,grade,studentinfo;
{$R*.dfm}
procedureTmainForm.N2Click(Sender:
TObject);
begin
ifstudentinfoForm=nilthen
studentinfoForm:
=TstudentinfoForm.Create(self);
studentinfoForm.ShowModal();
end;
procedureTmainForm.N3Click(Sender:
TObject);
begin
ifcourseForm=nilthen
courseForm:
=TcourseForm.Create(self);
courseForm.ShowModal();
end;
procedureTmainForm.N4Click(Sender:
TObject);
begin
ifgradeForm=nilthen
gradeForm:
=TgradeForm.Create(self);
gradeForm.ShowModal();
end;
procedureTmainForm.N5Click(Sender:
TObject);
begin
ifaboutForm=nilthen
aboutForm:
=TaboutForm.Create(self);
aboutForm.ShowModal();
end;
procedureTmainForm.N6Click(Sender:
TObject);
begin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 成绩管理系统 设计