基于Delphi软件开发的题库系统

2013-04-29 21:58梁祥庆
无线互联科技 2013年5期
关键词:题库

梁祥庆

摘 要:一般情况教师想出一份试卷,要么到庞大的题库里一道一道的把题找出来,或是从几本相关的书里把题一道一道挑出来。这样即费时又费力,而且很难保证试题的覆盖面和把握好试卷的难度。正是为了能够帮助教师轻松的出一份高质量的试卷而开发了本软件。在开发本软件之前,正是我努力提高自己的Delphi开发水平的时期。因此我选择了Delphi做为我的开发工具,然而这次开发的软件和以前不一样。最主要的区别在于这个软件要以Microsoft Office Word做为试卷的终端输出。而它们又是两个不同公司的产品。因而,刚一开始我特别担心这个技术能否得到比较圆满的解决。在开发的过程中我不断的对VBA技术进行研究,并且将它应用于这次的软件开发中。因而比较好的解决了Microsoft Office Word的接口编程问题。还有一个比较棘手的问题就是Delphi提供的控件都是很基本的,而这次开发中要用到一个可以标记选中状态的树型控件,在对Delphi的TtreeView的深入研究后确认它不能胜任这个任务。在深入研究Windows的消息机制和VCL框架对Windows消息机制的封装技术后我成功的修改了那个TCheckTree控件。在程序开发的后期测试中,我充分利用各个同学电脑平台的多样性。

关键词:Delphi;VBA;题库

1 开发工具简介Delphi 7.0的特点

Delphi是Borland公司出品的开发工具,在众多的开发工具中,我们为什么要选择Delphi呢?因为Delphi具有众多其它开发工具所没有的优点:语言的高效、编译的高效、执行的高效、维护的高效。基于以上理由,我们毫不忧郁的选择了Delphi做为我们的开发工具!!

1.1 数据库连接方式选择

Delphi连接数据库的主要方式有两种:一是:BDE,二是ADO。现在我们来大致比较一下这两种技术的优缺点:

BDE(Borland Database Engine)是Delphi颇具特色的数据库连接管理技术。凭借窗体和报表,BDE可以访问诸如Paradox,dBASE,本地InterBase服务器的数据库,也可访问远程数据库服务器上的数据库,如Oracle,SyBase,Informix等C/S数据库中的数据库,也可访问经ODBC可访问的数据库管理系统中的数据库。

ADO(ActiveX Data Objects)是微软提供的一项技术。通过ADO,可以方便的访问各种类型的数据库,特别是OLEDB数据库。ADO已成为访问数据库的新的标准接口。从Delphi 6.0开始Delphi添加了对ADO的支持,以便让用户能迅速实现对终端用户用来做商业决策的数据库的一致性访问,结合Delphi本身的开发式数据组件结构,程序员可以很快地建立应用程序,用来把自己的商业数据库通过Internet发送给客户,最终用户以及整个销售环节。通过ADO,Delphi 7.0也能让用户快速访问关系或非关系数据库以及E-Mail和商务文件系统。

这两者提供了几乎相同的功能,在进行产品开发时,势必要做一个精心的比较。虽然ADO技术提出的时间不长,并被定位为工业标准的,而且其在性能上由于当前没有良好的数据库引擎支持,其性能还不够完美,但是,我们应该要注意到Borland公司已经宣布停止发展BDE了,其性能被ADO超越也是迟早的事,因此,在开发长期应用的产品时,推荐采用ADO技术。这样还有另一个好处是,在进行产品分发时,可以避开大量BDE的链接库DLL的分发。

基于以上原因我们选择了ADO做为我们的数据库访问组件。

2 软件实现

2.1 OOP简介

每一个软件开发人员都会经常听到,看到“面向对象”这个词,程序员也时常把它挂在嘴上。那么什么还是真正的“面向对象”?什么是面向对象的编程?是不是写几个类就算面向对象了?为什么要面向对象?“面向对象是一种思维方式,一种方法论”,“结构化编程”(SP)是一种编程方法,是从计算机的视角来抽象问题的方法。而“面向对象编程”(OOP)也是一种编程方法,只不过它是从更接近真实世界的视角来分析问题,使用更接近人们理解真实世界的方法来抽象问题,这种方法称为“面向对象”。

“面向对象”这个词代表的是一种认识世界,分析问题,解决问题的方法,因此它是一种方法论。而面向对象编程则是将这种方法应用于程序设计的方法。当你会使用面向对象的方法去思考,用面向对象的模式支分析和解决问题的时候,才是真正的“面向对象”了!!

“面向对象”最主要的特性有三个:

⑴继承性。Delphi提供大量的可被二次开发的类。每个类都可被继承。

⑵封装性。Delphi的封装性主要由类的私有域和保护域来实现的。

⑶多态性。Delphi的多太性主要是通过虚拟方法和动态方法来实现的。

2.2 开发的关键技术

⑴VBA编程技术

Visual Basic for Applications(简称VBA)是新一代标准宏语言。在没有VBA 以前,一些应用软件如Excel,Word, Access等都采用自己的宏语言供用户开发使用,但每一种宏语言都是相互独立的并且它们之间是互不兼容的。这导致了应用软件之间不能在程序上互联。找到一种可被所有的Microsoft 可编程应用软件所共享的通用宏语言是Microsoft公司长期追求的目标。VBA作为新一代的标准宏语言具有了跨越多种OFFICE 应用软件并且控制应用软件对象的能力。

3 系统测试

测试在软件开发过程中一直都是备受关注的,即使在传统的软件工程中,也有一个明确、独立的测试阶段。随着软件危机的频频出现以及人们对于软件本质的进一步认识,测试的地位得到了前所未有的提高。测试已经不仅仅局限于软件开发中的一个阶段,它已经开始贯穿于整个软件开发过程,人们已经开始认识到:测试开始的时间越早,测试执行的越频繁,所带来的整个软件开发成本的下降就会越多。Extreme Programming更是把测试推到了极限的位置,一切软件开发活动都要从首先编写测试代码开始。

为了使本软件运行更加稳定,我对它进行了全面的测试,测试分为二部分来进行,一是:界面测试;二是功能测试。

首先是界面测试,为了使软件在不同的的操作系统平台上运行界面能保持原来的风格。我的开发平台如上介绍。我把完整程序拷贝到我同学的机子,同学机子的相关配置如下:Windows 7+14.5寸笔记本显示器;程序运行界面正常,界面上的字体等设置都保持得相当好。没有出现类似字体变形的情况!第二个平台:Windows XP+19寸显示器,测试结果:字体有些不正常。后来在网查找了很多相关的资料,得出这是由于WindowXP和我的开发平台的操作系统Window 7的字体集不一样造成的。解决方案是:把软件的字体设置成:宋体+9号,字符集使用:CHINASE_GB2312。至此软件的界面测试顺利完成。

二是进行功能的测试。我的功能模块主要是试卷生成。而试卷生成后都是输出到Microsoft Office Word里。实际测试结果如下:在Windows 7+Microsoft Office 2003的平台下,试卷功能里的预览功能不能用了。界面停留在“正在链接Microsoft Office Word ......”这里,一看就知道没有办法和Microsoft Office Word链接了。换平台测试,这回是在Windows 7+Office 2007,程序正常运行了包括试卷预览等功能都正常运行。再换平台:Windows XP+Office 2007程序同样完全正常运行,由此可以总结出在低于Office 2007的平台下程序无法和办公软件交互。至此到这里在功能的测试上也已经比较圆满的完成了!

4 系统维护

由于在开发本程序的时候我就特别注意软件的后续维护和再开发上。因此极努力的想把它开发成一个强内聚、弱耦合、接口明确、意图明晰的软件。对于程序里的功能我尽力把它们封装在类的私有过程或私有函数里,这样可以大大提高软件的内聚性,在各个功能模块和窗体之间尽可能减少它们之间的调用关系,以减少软件的耦合性。在软件设计初期我就预留了接口用于调用另一个同学的模块。为了保证两人开发出的功能模块能在最后能顺利地联合。在一开始我就预先编了一个公共的“数据模块”以提高软件连接数据库能高效共享。并且给他规定一些如控件的命名规则,代码的规范等。这些都大大提高了软件后续的可维护性。

[参考文献]

[1]陈明.软件工程学教程.科技出版社,2002.

[2]萨师煊,王珊.数据库系统概论.第三版.高等教育出版社,2000.

[3]飞思科技产品研发中心.Delphi7数据库应用开发.电子工业出版社,2003.

[4]飞思科技产品研发中心.Delphi6开发者手册.电子工业出版社,2002.

[5]申旻.Delphi高手突破.清华大学出版社,2002,302.

猜你喜欢
题库
“勾股定理”优题库
“轴对称”优题库
“轴对称”优题库
“整式的乘法与因式分解”优题库
职业技能鉴定国家题库技能实训项目研讨会举行
互动式大学物理教考分离题库设计