《自考管理系统》基于Delphi的信息管理系统.docx
- 文档编号:30036845
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:23
- 大小:316.83KB
《自考管理系统》基于Delphi的信息管理系统.docx
《《自考管理系统》基于Delphi的信息管理系统.docx》由会员分享,可在线阅读,更多相关《《自考管理系统》基于Delphi的信息管理系统.docx(23页珍藏版)》请在冰豆网上搜索。
《自考管理系统》基于Delphi的信息管理系统
济南职业学院
课程设计
题目:
《自考管理系统》
——基于Delphi的信息管理系统
系部:
计算机系
专业:
软件技术
学号:
200511010113_
学生姓名:
张丰羽
二OO八年四月一日
设计说明
对于大多数人来说,也许对自学考试不太清楚,由于我们现在正在参加自学考试,所以对自学考试这方面有一些了解,现在我们就着手设计一个“自考管理系统”。
随着制作这个软件我们一起去认识一下自学考试。
使用Delphi数据库技术来设计和制作这个管理软件,最主要的就是把需求软件的管理工作的流程和我们要设计的管理程序的工作流程密切统一起来,否则,就会产生一个没有实用价值的软件。
“自考管理系统”的管理思想与我们在学校时的考试系统有一点区别,自学考试并不是针对某一个学校,而是面向全社会的,不论长幼,任何年龄段的人都可以参加这项考试,也就是说它没有年龄的限制。
这样,介于自学考试独特的形式我们在学习设计和制作“自考管理系统”的过程中,注意力主要集中在窗口界面的设计和程序代码的设计上面。
对我们的“自考管理系统”来说,设计时应该包括的方面有:
考生个人信息录入,信息查询后的修改和删除,查询打印考生的个人信息,统计打印某个专业的男、女考生的数目,对该系统数据的维护,以及整个软件的美化设置。
整个管理系统分成了四个模块:
“录入考生个人信息模块”、“打印考生信息模块”、“考生个人信息维护模块”和“退出自考管理系统模块”。
目录
第一章引言4
1.设计思想1
2.课题的研究意义1
3.开发和运行环境选择1
4.关于Delphi1
第二章自考管理系统分析2
1.自学考试工作过程描述2
1.1录入考生个人信息模块2
1.2打印考生信息模块2
1.3考生个人信息维护模块2
1.4退出自考管理系统模块2
2.功能结构2
3.自考管理系统数据设计2
第三章 自考管理系统设计3
1.自考管理界面设计3
1.1主界面设计3
1.2封面设计3
1.3考生个人信息录入界面设计3
1.4查找考生信息并修改界面设计3
1.5顺序打印考生信息界面设计3
1.6统计并打印某专业男、女生数目界面设计3
1.7添加一个新专业界面设计3
1.8删除一个旧专业界面设计3
1.9修改专业名面设计3
1.10关于..界面设计3
2.自考管理系统主要代码设计3
1.1基本SQL命令3
1.2系统的主要代码部分设计全过程3
1.2.1添加代码3
1.2.2查找代码3
1.2.3删除代码3
1.2.4修改代码3
第四章 自考管理系统测试运行7
1.异常测试7
2.运行7
第五章 小结及延展5
第六章 参考文献6
第一章引言
1、设计思想
本系统选题为自考管理系统,是模拟自学考试的管理开发的。
设计的指导思想是一切为使用者着想,界面要美观大方,操作尽量简单明了,而且作为一个实用的管理系统要有良好的容错性,在出现误操作时能尽量及时地给出警告,以便及时地改正。
具体表现为:
(1)系统应符合自学考试管理的规定,满足自考管理者使用的需要,并达到操作过程中的直观、方便、实用等要求;
(2)系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、等操作;
(3)采用现有软硬件环境,从而达到充分利用现在有资源,提高系统开发水平和应用效果的目的。
2、本课题的研究意义
通过该自考管理系统使自学考试管理工作系统化、规范化、自动化,从而达到提高自考管理效率的目的,使管理人员可以轻松快捷地完成对自考工作管理的任务。
3、开发和运行环境选择
开发工具:
Delphi
运行环境:
Windows3.x、Windows95、WindowsNT、WindowsXP等
4、关于Delphi
由Borland公司推出的Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。
它使用了MicrosoftWindows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-OrientedLanguage)、当今世界上最快的编辑器、最为领先的数据库技术。
对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。
DELPHI拥有一个可视化的集成开发环境(IDE),采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。
Delphi它提供了500多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统。
Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。
一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。
在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。
您的工作只是在“骨架”中加入您的程序。
缺省的应用程序是一个空白的窗体(Form),您可以运行它,结果得到一个空白的窗口。
这个窗口具有Windows窗口的全部性质:
可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。
因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。
第二章自考管理系统分析
1、自学考试工作过程描述
该系统适用于自考管理人员。
包括:
“录入考生个人信息模块”、“打印考生信息模块”、“考生个人信息维护模块”和“退出自考管理系统模块”。
(1)录入考生个人信息模块:
自考管理人员将考生的个人信息录入到自考管理系统中。
这个功能是由“考生个人信息录入”子菜单来实现的,对考生信息进行修改删除的功能是由“查找考生信息并修改或删除”子菜单实现的。
(2)打印考生信息模块:
打印显示考生的个人信息,及某专业的男女考生的人数情况,分别是由“按顺序打印考生信息”和“统计并打印某专业男女生数目”两个子菜单实现的。
(3)考生个人信息维护模块:
对各个专业进行添加、删除、修改等操作,分别由“添加一个新专业”、“删除一个旧专业”、“修改专业名”实现的。
(4)退出自考管理系统模块:
由“关于”和“退出自考管理系统”组成。
2、功能结构:
功能结构框图
3、自考管理系统数据设计
1、考生个人信息录入:
zhunkaozheng,shenfenzheng,xingming,xingbie,zhuanye;
准考证号,身份证号,姓名,性别,专业。
2、查找考生信息并修改或删除:
zhuanye,zhunkaozheng,shenfenzheng,xingming,xingbie,zhuanye;
专业,准考证号,身份证号,姓名,性别,专业。
3、按顺序打印考生信息:
4、统计并打印某专业数目:
zhuanye专业
5、添加一个新专业:
zhuanye专业
6、删除一个旧专业:
zhuanye专业
7、修改专业名:
zhuanye专业
8、关于
9、退出自考管理系统
第三章 自考管理系统设计
1、自考管理系统界面设计
界面设计是帮助程序员提前了解要开发的系统的界面操作是怎样的,可以更好的帮助程序员在编写程序时理清思路,所以在每次项目之前作好界面设计的工作都是必需的。
1.主界面设计 :
这是自考管理系统的主界面,它有四个功能模块,接着是拥有9个快捷按钮的工具栏,中间是子窗口的显示区域,最下面是管理系统的状态栏,显示出系统的当前状态和日期、时间。
2.封面设计 :
此图为自考管理系统的封面图,打开此系统时即可看到这幅图。
3.考生个人信息录入界面设计 :
这个窗口可以直接录入的信息有:
准考证号、身份证号、姓名、性别、年龄、专业。
录入档案信息后单击“录入”按钮,就可以把这些档案信息保存到数据表中长期存放。
录入结束后可以单击“关闭”按钮关闭这个窗口。
4.查找考生信息并修改界面设计 :
在这个窗口中选择专业后,输入某个考生的准考证号,单击“查询”按钮,如果数据表中不存在这个考号的考生信息,系统会显示出相应的提示;如果数据表中存在这个考生的档案信息,该考生的档案信息都会显示在窗口中对应的信息栏内。
用户可以修改这些信息,然后单击“修改”按钮保存结果到数据表,也可以单击“删除”按钮直接从数据表中删除这个考生的档案信息。
单击“关闭”按钮就可以关闭这个窗口。
5.顺序打印考生信息界面设计 :
顺序打印考生信息界面的主要功能是能够让管理者把考生的档案信息直接输出到打印机上,不需要用户重新排版,从而节省了工作量。
6.统计并打印某专业男、女生数目界面设计 :
统计并打印某专业男、女生数目界面的主要功能是能够让管理者把某一专业考生男、女数目的统计信息直接输出到打印机上,不需要用户重新排版,从而节省了工作量。
7.添加一个新专业界面设计 :
通过该界面可以将新产生的专业名称输入到数据库中。
8.删除一个旧专业界面设计 :
通过该界面可以将不再需要的专业从数据库中删除。
9.修改专业名面设计 :
通过该界面可以对出错或改编了的专业名称进行改动。
10.关于..界面设计 :
本界面显示出当前计算机的内存容量和利用率、制作人、电子邮件地址信息。
单击“确定”按钮关闭这个窗口。
2、自考管理系统主要代码设计
本系统采用了Delphi技术编写,除了界面设计,及数据库的连接以外,主要的代码就是添加,查找,删除,修改等简单的代码设计。
1.1用到的SELECT命令的基本语法是:
SELECT查询字段列表
FROM数据表名称
WHERE查询限定条件
GROUPBY分组依据
HAVING组内查询条件
ORDERBY排序依据
1.2系统的主要代码部分设计全过程
1.2.1添加代码:
procedureTluruForm.Button1Click(Sender:
TObject);
varmycount:
integer;//定义一个整数变量用来计数
KaoshengQuery.close;//以下几行:
检查数据表中是否存在准考证号相同的记录
KaoshengQuery.Params.Clear;
KaoshengQuery.sql.clear;
KaoshengQuery.Params.createparam(ftstring,’zkzh’,ptinput).asstring:
=edit1.text;
KaoshengQuery.sql.Add(‘select*fromstudentswherezhunkaozhenghao=:
zkzh;’);
KaoshengQuery.ExecSQL;
KaoshengQuery.open;
mycount:
=KaoshengQuery.RecordCount;//计算数据表中记录的个数
KaoshengQuery.close;
ifmycount=0then//如果数据表中不存在与这个准考证号相同的记录,把数据插入到数据表
begin
KaoshengQuery.Params.Clear;//清空KaoshengQuery控件的Params属性中的值
KaoshengQuery.sql.clear;//清空KaoshengQuery控件的SQL属性中的值
KaoshengQuery.Params.createparam(ftstring,’zkzh’,ptinput).asstring:
=edit1.text;
KaoshengQuery.Params.createparam(ftstring,’sfzh’,ptinput).asstring:
=edit2.text;
KaoshengQuery.Params.createparam(ftstring,’xm’,ptinput).asstring:
=edit3.text;
KaoshengQuery.Params.createparam(ftstring,’xb’,ptinput).asstring:
=edit4.text;
KaoshengQuery.Params.createparam(ftstring,’nl’,ptinput).asstring:
=edit5.text;
KaoshengQuery.Params.createparam(ftstring,’zy’,ptinput).asstring:
=ComboBox1.Text;
KaoshengQuery.sql.Add(‘insertintostudents
(zhunkaozhenghao,shenfenzhenghao,xingming,xingbie,nianling,zhuanye)
values(:
zkzh:
sfzh,:
xm,:
xb,:
nl,:
zy);’);//加入SQL语句,参数前面要有冒号
KaoshengQuery.ExecSQL;//执行SQL语句
edit1.Clear;//各个录入的数据项恢复初始值
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
ComboBox1.Text:
=”;
edit1.SetFocus;//把光标移到准考证号一栏
edit1.Focused;
end
else
begin//如果存在准考证号相同的记录则出现提示信息
Messagebeep
(1);
showmessage(‘数据表中存在准考证号相同的记录,请检查后再保存!
’);
end;
end;
1.2.2查找代码:
KaoshengQuery.close;//检查数据表中是否存在这个学号的记录
KaoshengQuery.Params.Clear;
KaoshengQuery.sql.clear;
//设置准考证号zkzh为SQL语句的参数
KaoshengQuery.Params.createparam(ftstring,’xh’,ptinput).asstring:
=edit6.text;
KaoshengQuery.sql.Add(‘select*fromstudentswherezhunkaozhenghao=:
zkzh;’);
KaoshengQuery.ExecSQL;
KaoshengQuery.open;
ifKaoshengQuery.RecordCount=1then//如果查找到记录就把各个字段的值放对应的栏内
begin
Edit1.Text:
=KaoshengQueryzhunkaozhenghao.Value;//准考证号
Edit2.Text:
=KaoshengQueryshenfenzhenghao.Value;//身份证号
Edit3.Text:
=KaoshengQueryxingming.Value;//姓名
Edit4.Text:
=KaoshengQueryxingbie.Value;//性别
Edit5.Text:
=KaoshengQuerynianling.Value;//年龄
ComboBox1.Text:
=KaoshengQueryzhuanye.Value;//专业
Edit1.SetFocus;//准考证号一栏聚焦
Edit1.Focused;
end
else
begin//如果查找不到就提示用户
messagebeep
(1);
showmessage(‘准考证号为’+Edit6.text+’的学生档案信息没有找到!
’);
edit6.Clear;
Edit6.SetFocus;
Edit6.Focused;
end;
KaoshengQuery.close;
1.2.3删除代码:
KaoshengQuery.close;
KaoshengQuery.Params.Clear;
KaoshengQuery.sql.clear;
//把录入的准考证号转化为SQL语句能识别的参数zkzh
KaoshengQuery.Params.createparam(ftstring,’zkzh’,ptinput).asstring:
=edit6.text;
//加入SQL语句
KaoshengQuery.sql.Add(‘deletefromstudentswherezhunkaozhenghao=:
zkzh;’);
KaoshengQuery.ExecSQL;//执行SQL语句
messagebeep
(1);
showmessage(‘准考证号为’+Edit6.text+’的学生档案信息已经成功删除!
’);
edit1.Clear;//删除后各个数据项恢复初始值
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
ComboBox1.Text:
=”;
edit6.SetFocus;//把光标移到查找准考证号号一栏
edit6.Focused;
1.2.4修改代码:
KaoshengQuery.close;
KaoshengQuery.Params.Clear;
KaoshengQuery.sql.clear;
//以下代码是把录入的数据项转化为SQL语句能识别的参数,如xh,xm等
KaoshengQuery.Params.createparam(ftstring,’zkzh’,ptinput).asstring:
=edit1.text;
KaoshengQuery.Params.createparam(ftstring,’sfzh’,ptinput).asstring:
=edit2.text;
KaoshengQuery.Params.createparam(ftstring,’xm’,ptinput).asstring:
=edit3.text;
KaoshengQuery.Params.createparam(ftstring,’xb’,ptinput).asstring:
=edit4.text;
KaoshengQuery.Params.createparam(ftstring,’nl’,ptinput).asstring:
=edit5.text;
KaoshengQuery.Params.createparam(ftstring,’zy’,ptinput).asstring:
=ComboBox1.Text;
KaoshengQuery.sql.Add(‘updatestudentssetzhunkaozhenghao=:
zkzh,shenfenzhenghao:
sfzh
xingming=:
xm,xingbie=:
xb,
nianling=:
nl,zhuanye=:
zywherezhunkaozhenghao=:
zkzh2;’);//加入SQL语句
KaoshengQuery.ExecSQL;//执行SQL语句
messagebeep
(1);
showmessage(‘准考证号为’+Edit6.text+’的考生档案信息已经修改完毕!
’);
edit1.Clear;//各个修改的数据项恢复初始值
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
ComboBox1.Text:
=”;
edit6.SetFocus;//把光标移到查找准考证号一栏
edit6.Focused;
代码设计部分只是简单的给出了添加,查找,删除,修改的代码设计,这里的代码部分不能代表全部设计,但是总体上反映了本系统的代码设计思想。
第四章 自考管理系统测试运行
1.测试
通常测试过程分4个步骤,即单元测试、集成测试、确认测试和系统测试及发版测试。
介于我们自考管理系统的特点,我们将测试简化为异常处理及调试。
解决程序中出现的错误是每个编程人员都有的经历,每一个编程人员都追求编写出一个安全、可靠的应用程序。
但是,在我们编写的程序中出现错误总是难免的,尽管我们总是很小心,也很难保证在自己编写的程序中没有一个错误。
因此,一个可靠的程序应该具备处理异常状态的功能。
程序运行时突然意外停止或产生不恰当结果,在Delphi中称为异常。
Delphi为编程人员提供了高级异常处理机制,可以确保编写的程序从可能发生的错误中恢复过来,并保证系统数据或系统资源不丢失,还能在需要的情况下,关闭系统本身。
Delphi为每个编写的程序都添加了一个缺省的异常处理器,用来显示错误消息,防止编写的程序发生意外而停止。
通过在程序中附加异常处理代码,用户可以更好地处理应用程序中出现的意外事件,以便当错误发生时,我们编写的程序能够执行清理工作,保存重要数据和资源,提高我们编写的程序的健壮性。
2.运行
在异常处理完系统调试成功后就可以进行试运行,点击运行图标
可运行自考管理系统。
对系统中各个项目进行操作,检验系统的可用性,确认无误后可投入使用。
第五章:
小结及延展
1.本篇小结
毕业设计即将结束,虽然只是短暂的几周时间,不过细细回想下,这次课题设计,让我把以前学过的知识融会贯通,使我受益匪浅。
在制作“自考管理系统”时,首先要建立起若干数据表,用来存放考生的档案信息。
数据表是数据库的基本组成元素,数据表就是我们常见的表格。
若干数据表按一定关系组合在一起便构成数据库。
我们使用Delphi自带的工具----数据库桌面(Desktop)来设计“自考管理系统”中使用的数据表。
通过对这些表格的制作对数据库有了进一步的了解。
设计可靠程序的关键之一是,如果系统已经为程序分配了必要的资源,系统最终就必须能够释放这些已经分配的资源,而不管异常是否发生。
例如,如果系统为我们的应用程序分配了一块内存,必须确保系统最终能够释放这块内存;如果应用程序打开了一个文件,必须确保让这个应用程序最后关闭这个文件。
在正常情况下,应用程序在申请了资源后,能够顺利的释放它。
实际上,就算异常真的发生了,我们也必须保证让应用程序能够释放它。
Delphi是新兴的一种可视化快速应用程序开发工具,无论是数据库还是国际互联网的应用程序,使用它都能轻易地完成。
特别是在数据库程序开发方面,Delphi有着更为强大的功能。
主要特点如下:
(1)直接编译生成可执行代码,编译速度快。
由于Delphi编译器采用了条件编译和选择链接技术,使用它生成的执行文件更加精炼,运行速度更快。
在处理速度和存取服务器方面,Delphi的性能远远高于其他同类产品。
(2)支持将存取规则分别交给客户机或服务器处理的两种方案,而且允许开发人员建立一个简单的部件或部件集合,封装起所有的规则,并独立于服务器和客户机,所有的数据转移通过这些部件来完成。
这样,大大减少了对服务器的请求和网络上的数据传输量,提高了应用处理的速度。
(3)提供了许多快速方便的开发方法,使开发人员能用尽可能少的重复性工作完成各种不同的应用。
利用项目模板和专家生成器可以很快建立项目的构架,然后根据用户的实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自考管理系统 自考 管理 系统 基于 Delphi 信息管理
![提示](https://static.bdocx.com/images/bang_tan.gif)