计算机毕业设计82delphi在线考试系统设计.docx
《计算机毕业设计82delphi在线考试系统设计.docx》由会员分享,可在线阅读,更多相关《计算机毕业设计82delphi在线考试系统设计.docx(19页珍藏版)》请在冰豆网上搜索。
计算机毕业设计82delphi在线考试系统设计
毕业设计
<<考试系统>>
院系______
专业______
班级______
姓名______
日期年月日
中文摘要
考试系统为学校教师举行考试提供方便与快捷的条件与查询手段,拥有与真实考试同样的题目分值计算,自动阅卷试题分析等功能.其开发内容主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
利用DELPHI6.0软件及其提供的各种面向对象的开发工具,建立完整性强、安全性好的数据库,开发出功能完备,易使用的应用程序。
经过调试、编译与实现,该程序界面友好、程序设计风格朴素,使用起来美观大方、方便易用。
尤其是系统的“自动阅卷模块”的功能极大的减轻工作人员的工作量,并以快速、准确等优点取代人工操作,提高了教师管理考试的工作效率。
关键词:
DELPHI6.0信息管理系统数据库模块考试系统
Examinationsystemforteachersholdingexaminationsandtheprovisionoffastandconvenientmeansofconditionsandenquirieswiththesamesubjectwiththerealtest90thcalculatedautomaticallyforcorrectionsomequestionsanalysisfunctions.Itsdevelopmentmainlytotheestablishmentandmaintenanceofdatabasesincludingbackgroundandthedevelopmentoftwofront-endapplications.Delphi6.0andtheuseofobject-orientedsoftwaredevelopmenttools,theestablishmentofstrongintegrity,goodsafetydatabasedevelopedfunctions,easytouseapplications.Afterdebugging,Translationandtherealizationthattheprocessfriendlyinterface,simpleprogrammingstyle,usingupaestheticgenerous,convenientuser-friendly.Inparticularsystem"automaticallyforcorrectionsomemodule"functiongreatlyreducetheworkloadofstaff,andtotherapid,accurate,andotheradvantagesreplacemanuallyoperated,andenhancedtheefficiencyofteachersadministeringexaminations.
Keyword:
Delphi6.0InformationManagementSystemdatabasemoduleexaminationsystem
引言1
1Delphi语言概述2
1.1Delphi简介2
1.2数据库系统简介2
1.3本应用软件的基本介绍3
2本应用程序的构成和开发步骤4
2.1可行性研究4
2.1.1经济可行性4
2.1.2时间可行性4
2.1.3技术可行性4
2.1.4社会可行性5
2.2数据库的建立和连接5
2.3系统的总体设计5
3本程序的技术实现及具体功能13
3.1登录的界面与程序设计实现13
3.2得分界面与代码设计实现13
3.3关于界面与代码设计实现14,
3.4考试题目界面与代码设计15
3.5考试系统主界面设计与代码设计16
结论21
致谢22
参考文献23
引言
随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活中不可缺少的辅助工具。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
它已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。
各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。
然而,虽然现在世界上已经充满了多如牛毛的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。
以前开发Windows应用软件是专业人员的工作,需要掌握许多专业知识和经过特殊的培训才能胜任。
现在不同了,即使你没有接受过严格的程序设计训练,使用Delphi编程语言也一样能够开发出功能强大、适合自己特殊需求的应用程序了。
Delphi编程语言继承了其他语言易学易用的特点,特别适合于初学者学习Windows系统编程。
考试系统用计算机管理学生考试活动的一种计算机应用技术的创新,在计算机还未普及之前学生考试都是由教师或工作人员人工管理,阅卷的方式来操作的.现在一般的学校管理都拥有实施计算机考试系统的硬件条件,完全可以采用采用计算机智能化管理,方便师生,提高教师工作效率,节省纸张的使用.符合我国的现代化发展方向,采用计算机作为工具的实用的计算机智能化管理程序来帮助前台管理员进行更有效的考试管理工作。
考试系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我们使用Delphi编程语言开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
因为本人能力有限,加上时间紧迫,所以设计出来的本系统可能功能比较简单,另外本系统是单机版,不能实现网络互联操作,这些都有待于我在以后的工作学习中进一步改进。
1.1Delphi简介
1.1Delphi简介
Delphi是Inprise公司出品的一个优秀的可视化程序开发工具软件,它短小精悍,但功能却可以与庞大的visualc++媲美。
它易学易用,如同VB,因而被称为“第四代编程语言”。
从1995年推出Delphi1.0至今已经经历了7个版本,Delphi7.0运行在win9x或winme,win2000,winxp,windowsNT等操作系统下,是一个32位的应用程序开发工具。
这里把“VB”比作是傻瓜相机,Delphi是带有自动功能的专业相机。
前些年,软件界流行一句话叫“真正的程序员用VC,聪明的程序员用Delphi”。
也有的把Delphi称作VB杀手。
1.2数据库系统简介
数据库系统是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。
它通常由软件、数据库和数据管理员组成。
其软件主要包括操作系统、各种宿主语言,实用程序以及数据库管理系统。
数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。
这些数据为多个应用服务,独立于具体的应用程序。
数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。
数据库管理系统是一种系统软件,它的主要功能是维护数据库并有效地访问数据库中任意部分数据。
对数据库的维护包括保持数据的完整性、一致性和安全性。
数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。
数据库管理员一般是由业务水平较高、资历较深的人员担任。
数据库系统的个体含义是指一个具体的数据库管理系统软件和用它建立起来的数据库;它的学科含义是指研究、开发、建立、维护和应用数据库系统所涉及的理论、方法、技术所构成的学科。
在这一含义下,数据库系统是软件研究领域的一个重要分支,常称为数据库领域。
数据库研究跨越于计算机应用、系统软件和理论三个领域,其中应用促进新系统的研制开发,新系统带来新的理论研究,而理论研究又对前两个领域起着指导作用。
数据库系统的出现是计算机应用的一个里程碑,它使得计算机应用从以科学计算为主转向以数据处理为主,并从而使计算机得以在各行各业乃至家庭普遍使用。
在它之前的文件系统虽然也能处理持久数据,但是文件系统不提供对任意部分数据的快速访问,而这对数据量不断增大的应用来说是至关重要的。
为了实现对任意部分数据的快速访问,就要研究许多优化技术。
这些优化技术往往很复杂,是普通用户难以实现的,所以就由系统软件(数据库管理系统)来完成,而提供给用户的是简单易用的数据库语言。
由于对数据库的操作都由数据库管理系统完成,所以数据库就可以独立于具体的应用程序而存在,从而数据库又可以为多个用户所共享。
因此,数据的独立性和共享性是数据库系统的重要特征。
数据共享节省了大量人力物力,为数据库系统的广泛应用奠定了基础。
数据库系统的出现使得普通用户能够方便地将日常数据存入计算机并在需要的时候快速访问它们,从而使的计算机走出科研机构进入各行各业、进入家庭。
1.3本应用软件的基本介绍
本应用软件先是打开一个启动窗口,就可以进入应用程序的主窗口了。
主界面是一个图型界面窗口,整个平台显示采用人性化方式,可以非常方便的进行学生上机考试,自动阅卷统计分数,等基本信息,管理日常经营的基本情况,通过各种条件查询出考试情况的基本信息,以及打印出查询出的基本信息,总之一切学生考试基本信息都会显示在系统平台上,大大提高了管理人员的工作效率。
2本应用程序的构成和开发步骤
下面从软件工程的角度介绍本程序的基本开发步骤。
Delphi应用程序一般包含以下三个基本部分:
应用程序运行的接口:
负责系统整体环境的设置,运行状态的监视,应用程序的启动等。
应用程序的主体:
主要完成用户的业务逻辑功能,如题库的组建,题目的随即抽取,自动生成试卷,自动阅卷统计分数等等信息.
应用程序的辅助部分:
协助程序主体完成的一些工作。
下面从软件工程的角度描述本程序的开发生命周期,开发过程和组织过程。
2.1可行性研究
任何一个系统或一项工程,在建立之前,必须首选进行可行性分析,可行性分析包括两层含义,一是可能性,二是必要性。
可能性指开发信息系统的条件是否具备,必要性是指客观上是否真正需要,通过可行性研究,可避免盲目投资,减少政治性要的损失。
下面从四方面来讨论:
2.1.1经济可行性
主要是只指算一个新的系统开发所需要的投资费用和运算费用,并与估计的新系统收益进行比较,看是否有利。
本系统所需的软硬件成本比较低,投资小,具有一定的通过性,因此,在经济上是可行的。
2.1.2时间可行性
主要包括系统在目前环境下能否正常运行,运行后所引起的各方面,以及这些变化对社会或人的因素所产生的影响。
本系统对人事的管理比较全面,可长期使用。
2.1.3技术可行性
利用现有的设备,软件及技术人员,新系统的目标能否达到,这也是可行性研究中需要考虑的一个问题。
关系型数据库的高速发展使管理信息系统具备了良好的开发环境。
本系统使用的Delphi普及性好,操作简单,用户可以很快掌握使用方法,因此,在技术上是完全可行的。
2.1.4社会可行性
人类社会文明的发展已进入信息化的高速发展时期,传统的手工方式支持下的管理模式,已经不能满足各方面的需要。
开发本系统的目标不仅是提高工作效率,减轻劳动强度,而且减少出错率,具有很好的社会意义。
2.2数据库的建立和连接
这个程序采用的数据库是MicrosoftAccess2000,Delphi作为数据库的前台开发工具,必须与后台数据库进行连接,这样才能控制和进行操作数据库,数据库的连接方式有两种,ODBC和ADO。
ODBC是数据库的通用接口,其缺点是效率低;专用接口调用直接速度快,但是通用性差,如果用ODBC连接数据库一般要两个步骤:
1.要创建数据源;2.创建描述文件。
数据库的建立则时在access2000中建立的,在这里你可以设置数据库的密码,对数据库进行保护。
在创建数据源时可以通过BDEadministrator进行创建,也可以通过系统控制面板中的ODBC数据源进行建立。
而描述文件则可以在Delphi的主程序中用DatabaseProfile中进行建立,之后进行数据库的连接。
接下来的工作是建表。
同样建表的过程也不是唯一的,但是最终实现的结果是唯一的。
你可以通过Access进行建表,也可以通过在VisualBasic主程序中建表,也可以通过powerdesigner进行可视化的建立,不过用这种方法,在导入的时候要把数据库要先断开,否则数据库的数据容易丢失。
建表的过程注意规范化命名规则,如表的字段名等等。
同时也要注意表的字段长度和可否为空。
因为以后要设计到主键,外键的问题。
如果字段名不同,同一字段长度不同则主键和外键将会连接不上。
可见建表时应做好全局的打算。
我在程序开发的初期,同样犯了这个错误,导致数据库出错,有时还要向表中新加入字段。
导致数据窗口不好用的连锁反映。
2.3系统的总体设计
这个管理系统从4月1日开始着手设计开发,经过一段时间的分析,并根据对教师考试管理的具体要求及需要本软件实现的功能,将本软件分为4个大的模块,分别是:
第一部分:
设置姓名;第二部分:
选择考试题目;第三部分:
设定考试时间;第四部分:
统计分数。
程序流程图如下:
3本程序的技术实现及具体功能
3.1登录的界面与程序设计实现
代码设计:
unitkaoshi1;
interface
uses
Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,
StdCtrls,Db,DBTables,ComCtrls;
type
TKaoShi1Form=class(TForm)
Label1:
TLabel;
Edit1:
TEdit;
Button1:
TButton;
Label2:
TLabel;
ComboBox1:
TComboBox;
Query1:
TQuery;
Label3:
TLabel;
shijian:
TEdit;
UpDown1:
TUpDown;
procedureButton1Click(Sender:
TObject);
procedureFormCreate(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
KaoShi1Form:
TKaoShi1Form;
implementation
usesKaishi,KaoShi2;
{$R*.DFM}
procedureTKaoShi1Form.Button1Click(Sender:
TObject);
begin
iftrim(Edit1.text)=''then
begin
showmessage('请输入姓名');
Edit1.SetFocus;
end
else
begin
ifMessageDlg('真的要开始考试吗?
',mtConfirmation,[mbYes,mbNo],0)
=mrYesthen
begin
KaiShiform.renming:
=Edit1.Text;
Application.CreateForm(TKaoshi2Form,Kaoshi2Form);
KaoShi2Form.Show;
KaoShi1Form.Release;
end
end;
end;
procedureTKaoShi1Form.FormCreate(Sender:
TObject);
vari:
byte;
begin
query1.DatabaseName:
=kaishiform.AppPath;
Query1.SQL.Add('Selectzufrom题库.dbgroupbyzu');
Query1.open;
i:
=1;
ifquery1.RecordCount>0then
begin
whilei<=query1.RecordCountdo
begin
combobox1.Items.Add(Query1.fieldbyname('zu').asstring);
i:
=i+1;
query1.RecNo:
=i;
end;
combobox1.Text:
=trim(combobox1.Items.Strings[0]);
end;
end;
end.
3.2得分界面与代码设计实现
unitDefen;
interface
uses
Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,
StdCtrls;
type
TDeFenForm=class(TForm)
Label1:
TLabel;
Label2:
TLabel;
renming:
TListBox;
defen:
TListBox;
Button1:
TButton;
procedureFormCreate(Sender:
TObject);
procedureButton1Click(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
DeFenForm:
TDeFenForm;
implementation
useskaishi;
{$R*.DFM}
procedureTDeFenForm.FormCreate(Sender:
TObject);
begin
renming.Items.LoadFromFile(kaishiform.AppPath+'\rm.sav');
defen.Items.LoadFromFile(kaishiform.AppPath+'\df.sav');
end;
procedureTDeFenForm.Button1Click(Sender:
TObject);
begin
renming.Items.Clear;
defen.Items.Clear;
renming.Items.SaveToFile(kaishiform.AppPath+'\rm.sav');
defen.Items.SaveToFile(kaishiform.AppPath+'\df.sav');
end;
end.
3.3关于界面与代码设计实现
代码设计:
unitGuanYu;
interface
uses
Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,
StdCtrls,Buttons;
type
TGuanYuForm=class(TForm)
Label1:
TLabel;
Label3:
TLabel;
Label2:
TLabel;
Label4:
TLabel;
Label5:
TLabel;
Label8:
TLabel;
Label9:
TLabel;
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
GuanYuForm:
TGuanYuForm;
implementation
{$R*.DFM}
end.
3.4考试题目界面与代码设计
代码设计:
unitkaoshi2;
interface
uses
Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,
StdCtrls,ExtCtrls,Db,DBTables,Buttons,DBCtrls,Mask;
type
TKaoshi2Form=class(TForm)
Table1:
TTable;
DataSource1:
TDataSource;
Timer1:
TTimer;
Panel1:
TPanel;
Panel2:
TPanel;
GroupBox1:
TGroupBox;
shijian:
TLabel;
Label2:
TLabel;
jiaojuanbt:
TBitBtn;
Bianhao:
TDBText;
Label1:
TLabel;
Panel3:
TPanel;
Panel4:
TPanel;
Timu:
TDBText;
Label5:
TLabel;
Bevel1:
TBevel;
Panel5:
TPanel;
Panel6:
TPanel;
Label4:
TLabel;
DBNavigator1:
TDBNavigator;
DBEdit1:
TDBEdit;
Label3:
TLabel;
DBText1:
TDBText;
DBText2:
TDBText;
DBText3:
TDBText;
DBText4:
TDBText;
Panel7:
TPanel;
DBImage1:
TDBImage;
BatchMove1:
TBatchMove;
jiaojuan:
TButton;
Label6:
TLabel;
Panel8:
TPanel;
DBText5:
TDBText;
procedureTimer1Timer(Sender:
TObject);
procedureFormCreate(Sender:
TObject);
procedurejiaojuanbtClick(Sender:
TObject);
procedureFormShow(Sender:
TObject);
procedurejiaojuanClick(Sender:
TObject);
procedureLabel4DblClick(Sender:
TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Kaoshi2Form:
TKaoshi2Form;
implementa