数据库课程设计-成绩管理系统说明书.doc_第1页
数据库课程设计-成绩管理系统说明书.doc_第2页
数据库课程设计-成绩管理系统说明书.doc_第3页
数据库课程设计-成绩管理系统说明书.doc_第4页
数据库课程设计-成绩管理系统说明书.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

此文档收集于网络,如有侵权,请联系网站删除温州大学数据库课程设计说明书题 目: 成绩管理系统学 院: 机电工程学院专 业: 工业工程班 级: 09工业工程学生姓名: 学 号: 指导教师: 完成日期: 20120105目录第一章 系统分析1建立新系统的必要性学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,但是几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个学校的规模增大,有关学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。这种管理方式存在着许多缺点,如:效率低、保密性差,另外所用其时间长,产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。如今学校的学生越来越多,成绩管理的工作量越来越大,手工管理成绩的弊端也越来越明显。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率。 同时因为成绩处理具有通用性,所以此套系统不仅可以处理高校成绩,对于各级各类学校的成绩处理也有一定的作用。为此,只要掌握了此套成绩管理系统的开发应用,其他成绩管理系统的开发应用也就迎刃而解了。2业务流程分析(业务流程图)学生用户输入用户名及密码流程开始教师用户输入用户名及密码管理员用户输入用户名及密码查询成绩录入,修改成绩增加,修改课程信息流程结束修改密码修改密码 3数据流程图 学生查询课程信息成绩表教师管理员录入,修改成绩增加,修改课程信息修改学生用户名及密码表修改教师用户名及密码表4数据字典 数据项是数据库的关系中不可分割的数据单位,下表分别列出了数据的名称,数据类型,长度,取值能否为空,利用SQL server 2000建立lrbray数据库,其基本表清单及表结构描述如下: 数据库中用到的表:数据库表名备注User_messege学生用户名及密码表manager教师用户名及密码表pt管理员用户名及密码表Student_messege学生信息表course成绩表kcxx课程信息表 User_messege,manager,pt的三张数据表,结构如下:字段名字段类型Not Null说明aCharNot Null用户名bcharNot Null密码 Studeng_messege 基本情况数据表,结构如下:字段名字段类型Not Null说明SnoCharNot Null学号(设为主键)SnameChar姓名classchar班级Course数据表,结构如下:字段名字段类型Not Null说明SnoCharNot Null学号(设为主键)CnameChar课程名(设为主键)gradechar分数Kcxx数据表,结构如下:字段名字段类型Not Null说明CnoChar课程号cnamechar课程名(设为主键)第二章 系统设计1新系统功能设计 本系统是一个简易的用于成绩查询的系统,其功能有: 教师对学生成绩的录入,包括课程名,课程号,成绩; 学生对自己成绩的查询,包括课程名,成绩; 管理员对课程信息的增加;系统功能模块设计:;成绩管理系统学生教师教务处查询成绩录入,修改成绩更改课程信息修改密码修改密码2数据库设计(E-R) 学生用户名密码成绩分数管理员用户名密码密码用户名课程教师课程名课程号Mnm3.代码设计 登录窗口代码:; unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls, jpeg, ExtCtrls;type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; ComboBox1: TComboBox; Edit1: TEdit; GroupBox1: TGroupBox; RadioButton1: TRadioButton; RadioButton2: TRadioButton; Button1: TButton; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; RadioButton3: TRadioButton; Image1: TImage; procedure Button1Click(Sender: TObject); private Private declarations public Public declarations end;var Form1: TForm1;implementationuses unit5,unit6, Unit4;vara,b:string;$R *.dfmprocedure TForm1.Button1Click(Sender: TObject);beginif radiobutton1.checked then/如果radiobutton1被选中,就执行。begintry with adoquery1 do/这里就开始对adoquery进行编辑了 begin close; sql.clear; sql.add(select * from user_master where a=:a and b=:b); parameters.ParamByName(a).Value:=trim(combobox1.Text);/比对用户名 parameters.ParamByName(b).Value:=trim(edit1.Text);/比对密码 if combobox1.Text = then begin application.MessageBox(请输入用户名,提示信息,64);/用户名为空时弹出提示 combobox1.SetFocus; exit; end; if edit1.Text = then begin application.MessageBox(请输入密码,提示信息,64);/假如密码为空时弹出提示 edit2.SetFocus; exit; end; open; end; if adoquery1.RecordCount0 then begin a:=combobox1.Text; b:=edit1.Text; application.MessageBox(登录成功,提示信息,64); form5.show;/弹出form4窗口,也就是我们上节课设计好的管理员窗口 self.Hide; end else application.MessageBox(输入的用户名或密码错误,提示信息,64); except application.MessageBox(登录失败,提示信息,64); end; end else if radiobutton2.checked then/对应第一个if,意思就是如果radiobutton1没被选中,也就是radiobutton2被选中 begin try with adoquery1 do begin close; sql.clear; sql.add(select * from manager where a=:a and b=:b); parameters.ParamByName(a).Value:=trim(combobox1.Text); parameters.ParamByName(b).Value:=trim(edit1.Text); if combobox1.Text = then begin application.MessageBox(请输入用户名,提示信息,64); combobox1.SetFocus; exit; end; if edit1.Text = then begin application.MessageBox(请输入密码,提示信息,64); edit1.SetFocus; exit; end; open; end; if adoquery1.RecordCount0 then begin a:=combobox1.Text; b:=edit1.Text; application.MessageBox(登录成功,提示信息,64); form6.show;self.Hide; end else application.MessageBox(输入的用户名或密码错误,提示信息,64); except application.MessageBox(登录失败,提示信息,64); end; end elsebegin try with adoquery1 do begin close; sql.clear; sql.add(select * from pt where a=:a and b=:b); parameters.ParamByName(a).Value:=trim(combobox1.Text); parameters.ParamByName(b).Value:=trim(edit1.Text); if combobox1.Text = then begin application.MessageBox(请输入用户名,提示信息,64); combobox1.SetFocus; exit; end; if edit1.Text = then begin application.MessageBox(请输入密码,提示信息,64); edit1.SetFocus; exit; end; open; end; if adoquery1.RecordCount0 then begin a:=combobox1.Text; b:=edit1.Text; application.MessageBox(登录成功,提示信息,64); form4.show;self.Hide; end else begin application.MessageBox(输入的用户名或密码错误,提示信息,64); end; finally end; end;end;end. 学生操作选择窗口代码: unit Unit5;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls;type TForm5 = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; Button1: TButton; Button2: TButton; Image1: TImage; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private Private declarations public Public declarations end;var Form5: TForm5;implementationuses unit2,unit7;$R *.dfmprocedure TForm5.Button1Click(Sender: TObject);beginform2.show;end;procedure TForm5.Button2Click(Sender: TObject);beginform7.show;end;end. 教师操作选择窗口代码: unit Unit6;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, jpeg, ExtCtrls;type TForm6 = class(TForm) Button1: TButton; Button2: TButton; GroupBox1: TGroupBox; Label1: TLabel; Image1: TImage; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private Private declarations public Public declarations end;var Form6: TForm6;implementationuses unit3,unit8;$R *.dfmprocedure TForm6.Button1Click(Sender: TObject);beginform3.show;end;procedure TForm6.Button2Click(Sender: TObject);beginform8.show;end;end. 学生修改密码窗口代码: unit Unit7;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls, jpeg, ExtCtrls;type TForm7 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Button1: TButton; Button2: TButton; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DataSource1: TDataSource; Label4: TLabel; ComboBox1: TComboBox; Image1: TImage; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private Private declarations public Public declarations end;var Form7: TForm7;implementationuses unit5;$R *.dfmprocedure TForm7.Button2Click(Sender: TObject);beginform5.show;end;procedure TForm7.Button1Click(Sender: TObject);begintry with adoquery1 do begin sql.clear; sql.add(select * from user_master where a=:a and b=:b); parameters.ParamByName(a).Value:=trim(combobox1.Text); parameters.ParamByName(b).Value:=trim(edit1.Text); adoquery1.open; if adoquery1.RecordCount=0 then begin application.MessageBox(请输入原密码,提示信息,64); edit1.SetFocus; exit; end; open; end; if Edit3.Text=Edit2.Text then begin adoquery1.sql.Add(update user_master set b=+edit2.Text+where b=+edit1.Text+); adoquery1.ExecSQL; adoquery1.Free; application.MessageBox(密码修改成功,提示信息,64); Edit1.Text:=; Edit2.Text:=; Edit3.Text:=; close; end else application.MessageBox(两次输入密码不一致,提示信息,64); except application.MessageBox(修改密码失败,提示信息,64); end;end;end. 教师修改密码窗口代码: unit Unit8;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, ADODB, jpeg, ExtCtrls;type TForm8 = class(TForm) DataSource1: TDataSource; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Label3: TLabel; Edit3: TEdit; Button1: TButton; Button2: TButton; Label4: TLabel; ComboBox1: TComboBox; Image1: TImage; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private Private declarations public Public declarations end;var Form8: TForm8;implementationuses unit6;$R *.dfmprocedure TForm8.Button2Click(Sender: TObject);beginform6.show;end;procedure TForm8.Button1Click(Sender: TObject);begin try with adoquery1 do begin sql.clear; sql.add(select * from manager where a=:a and b=:b); parameters.ParamByName(a).Value:=trim(combobox1.Text); parameters.ParamByName(b).Value:=trim(edit1.Text); adoquery1.open; if adoquery1.RecordCount=0 then begin application.MessageBox(请输入原密码,提示信息,64); edit1.SetFocus; exit; end; open; end; if Edit3.Text=Edit2.Text then begin adoquery1.sql.Add(update manager set b=+edit2.Text+where b=+edit1.Text+); adoquery1.ExecSQL; adoquery1.Free; application.MessageBox(密码修改成功,提示信息,64); Edit1.Text:=; Edit2.Text:=; Edit3.Text:=; close; end else application.MessageBox(两次输入密码不一致,提示信息,64); except application.MessageBox(修改密码失败,提示信息,64); end;end;end.学生查询成绩窗口代码: unit Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, Buttons, jpeg, ExtCtrls;type TForm2 = class(TForm) SpeedButton1: TSpeedButton; StaticText1: TStaticText; StaticText2: TStaticText; DBGrid1: TDBGrid; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DataSource1: TDataSource; Edit1: TEdit; Image1: TImage; procedure SpeedButton1Click(Sender: TObject); private Private declarations public Public declarations end;var Form2: TForm2;implementation$R *.dfmprocedure TForm2.SpeedButton1Click(Sender: TObject);varsqlstr:string;beginSqlStr:=select cname,grade from course where sno=+edit1.Text+; adoquery1.Close; /关闭ADOQuery1,以便于进行SQL语句更新 adoquery1.SQL.Clear; /清空SQL语句 adoquery1.SQL.Add(sqlStr); adoquery1.Open; /新SQL有效end;end.教师查询录入窗口代码: unit Unit3;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls, Grids, DBGrids, ExtCtrls, DBCtrls, Buttons, jpeg;type TForm3 = class(TForm) SpeedButton1: TSpeedButton; StaticText1: TStaticText; StaticText2: TStaticText; DataSource1: TDataSource; DBNavigator1: TDBNavigator; DBGrid1: TDBGrid; Edit1: TEdit; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; Image1: TImage; procedure SpeedButton1Click(Sender: TObject); private Private declarations public Public declarations end;var Form3: TForm3;implementation$R *.dfmprocedure TForm3.SpeedButton1Click(Sender: TObject);varsqlstr:string;beginSqlStr:=select sno,grade from course where cname=+edit1.Text+; adoquery1.Close; /关闭ADOQuery1,以便于进行SQL语句更新 adoquery1.SQL.Clear; /清空SQL语句 adoquery1.SQL.Add(sqlStr); adoquery1.Open; /新SQL有效end;end. 管理员更改课程信息窗口代码: unit Unit4;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, ExtCtrls, DBCtrls, Buttons, DB, ADODB, jpeg;type TForm4 = class(TForm) DataSource1: TDataSource; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; SpeedButton1: TSpeedButton; StaticText1: TStaticText; DBNavigator1: TDBNavigator; DBGrid1: TDBGrid; StaticText2: TStaticText; Edit1: TEdit; Image1: TImage; procedure SpeedButton1Click(Sender: TObject); private Private declarations public Public declarations end;var Form4: TForm4;implementation$R *.dfmprocedure TForm4.SpeedButton1Click(Sender: TObject);varsqlstr:string;beginSqlStr:=select * from kcxx where cname=+edit1.Text+; adoquery1.Close; /关闭ADOQuery1,以便于进行SQL语句更新 adoquery1.SQL.Clear; /清空SQL语句 adoquery1.SQL.Add(sqlStr); adoquery1.Open; /新SQL有效end;end. 4.系统运行环境硬件环境CPU 酷睿双核I3处理器内存 2GB硬盘 320GB软件环境数据库 SQL server 2000DELPHI版本 DELPHI7.0操作系统 WindowsXP5.输入输出设计输入:用户名,密码输出:三个用户各自的界面输入:学生自己的学号输出:学生的课程及其对应的成绩输入:课程名输出:各学生的学号及该课程分数输入:课程名输出:各课程的课程号及课程名第三章 系统实施1系统分工 此套成绩管理系统中,SQL server 2000 主要是存储系统所需要的所有数据,包括学生用户,教师用户,管理员用户的用户名及密码,所有课程的信息,所有学生的信息以及所有学生所有课程的成绩表。DELPHI7.0主要是创建人机界面,包括学生用户,教师用户,管理员用户的登录界面,学生用户的成绩查询界面,密码修改界面;教师用户的成绩录入,修改界面,密码修改界面;管理员用户的课程信息修改界面。最后通过由DELPHI7.0调用SQL server2000 调用数据库实现系统功能。 此套系统中,系统按用户类型的不同展开分工。其中学生用户具有查询成绩,修改个人密码的功能。教师用户具有录入,修改成绩,修改个人密码的功能。管理员用户具有增加,修改课程信息的功能2模块功能与处理过程设计 模块1,登录模块: 输入:用户名及密码 登录类型选择:选择学生用户,教师用户或管理员用户 登录键:点击后,数据库验证用户名及密码并进入用户对应的模块 模块2,成绩查询模块: 输入:学号 查询键:点击查询后,界面显示查询的内容 模块3,成绩录入模块: 输入:课程名查询键:点击查询后,界面显示所要操作的内容DBNavigator::进行删除,修改,录入操作 模块4,课程信息更改模块: 输入:课程名 查询键:点击后界面出现用户可以操作的内容DBNavigator::进行修改,录入操作模块5 学生用户操作选择模块: 成绩查询键:点击后进入学生用户的成绩查询界面 修改密码键:点击后进入学生用户的密码修改界面模块6 教师用户操作选择模块: 成绩录入键:点击后进入教师用户的成绩录入,修改,删除界面 修改密码键:点击后进入教师用户的密码修改界面模块7 学生用户密码修改模块 输入:用户名,原密码,新密码 修改键:点击后,数据库验证用户名及原密码,通过后提示密码修改成功 返回键:点击后,返回学生用户操作选择界面模块8 教师用户密码修改模块: 输入:用户名,原密码,新密码 修改键:点击后,数据库验证用户名及原密码,通过后提示密码修改成功 返回键:点击后,返回教师用户操作选择界面3程序设计成绩管理系统的登录界面如图1所示。系统的用户分为三类:学生用户,教师用户和管理员用户。下面分别以三类用户的功能使用说明为例做详细阐述。图1.成绩管理系统登录界面1.学生用户功能学生用户的功能使用分为个人密码修改和个人成绩查询,如图2所示。图2.学生操作选择界面成绩查询 学生用户登录进入系统后,出现图2所示的操作选择界面,点击成绩查询选项,出现图3所示的界面。用户输入自己的学号后,点击查询键即可在界面上查询到自己所上各课程的成绩。图3.学生成绩查询界面个人密码修改 学生用户登录进入系统后,出现图2所示的操作选择界面,点击修改密码选项,即出现图4所示界面。学生用户按提示输入相应的用户名,原密码,新密码后点击修改选项即可完成密码修改任务。密码修改完成后界面自动跳回到学生用户的操作选择界面,用户可以查询成绩。若用户中途改变主意不改密码,则可以通过点击返回选项,同样返回学生用户操作选择界面。图4.学生用户密码修改界面2.教师用户功能 教师用户的功能使用分为个人密码修改和成绩录入,如图5所示。图5.教师用户操作选择界面成绩录入 教师用户登录进入系统后,出现图5所示的操作选择界面,点击成绩录入选项,出现图6所示的界面。用户输入要录入成绩的课程名后,点击查询键即可在界面上显示到所有学生这门课程成绩录入框,教师即可进行成绩录入,修改,删除等工作。图6.教师用户成绩录入界面个人密码修改 教师用户登录进入系统后,出现图5所示的操作选择界面,点击修改密码选项,即出现图7所示界面。学生用户按提示输入相应的用户名,原密码,新密码后点击修改选项即可完成密码修改任务。密码修改完成后界面自动跳回教师用户的操作选择界面,用户可以成绩的录入,修改,删除等操作。若用户中途改变主意不改密码,则可以通过点击返回选项,同样返回教师用户操作选择界面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论