1、 40 - 内容摘要 随着信息技术的发展,人们对于运用计算机来辅助,协调和管理自身工作的需要正在逐步提高。而面向对象的程序设计在当今应用程序的开发过程中具有重要的地位,它的最大的优点就是能够提高程序开发的质量和开发速度。 POWERBUILDER是一种面向对象的Client/Server的开发工具,它提供了众多的画笔用于创建和管理不同的对象,从而大大降低了面向对象应用系统的开发难度,提高了开发质量和开发速度。 我所编制的《离散数学》试题库和组卷系统就是用POWERBUILD8.0为开发工具,后台数据库是Microsoft公司的SQL Server2000数据库。该系统所要完成的任务就
2、是对每到试题建立试题卡,组成试题库,能够对试题查看、添加、修改和删除操作以及能按照给定的组卷要求人工或是智能生成试卷及把试卷和通过Word打印出来。 ABSTRACT Along with the demand that development of technique information, people lend support to, moderate with manage the oneself to work for the application calculator gradually increase.But face to development process th
3、at position, its biggest advantage that the object's procedure design is at the quantity that nowadays apply the procedure to inside have the importance to can increase the procedure to develop is with the development speed. PowerBuilder is an inside Client/ Server that face to the object that devel
4、opment tool, it that object provided the numerous paintbrush to used for to create to set up with manage the different object, from but consumedly lowered to face toed the development difficulty to apply the system, and increase the development quantity with the development speed. My the Discrete
5、Mathematics for database SQL for Test Question Warehouse and Paper Making management for establishment system is using the PowerBuild8.0 for developing the tool, backstage database is SQL Server2000 of Microsoft office. Wanting the finished mission is to create Test Question Card for every Test Que
6、stion, to buildup Test Question Warehouse, to view, insert, modify, delete every Test Question and make papers with request and print the papers through Word. 目 录 内容摘要 3 ABSTRACT 3 1 离散数学题库管理系统的问题 6 1.1离散数学题库管理系统的简介 6 1.2离散数学题库管理系统的系统设计 7 1.2.1系统目标设计 7 1.2.2系统开发设计思想 7 1.2.3 开发和
7、运行环境的选择 8 1.2.4具体系统功能需求描述 8 2 离散数学题库管理系统的分析和设计 9 2.1 离散数学题库管理系统的分析和概要设计 9 2.2 离散数学题库管理系统数据库设计 11 3 离散数学题库管理系统的具体实现 13 3.1模块化的开发环境的简介 13 3.1.1 POWERBUILDER简介 13 3.1.2 事件驱动的应用程序 13 3.1.3POWERSCRIPT语言与函数 13 3.1.4面向对象的编程 14 3.1.5 跨平台开发 14 3.1.6与数据库的连接性 14 3.2系统模块的具体实现 15 3.2.1试题基本信息管理模块 15
8、 3.2.2试卷信息管理模块 19 3.2.3题库信息统计模块 20 3.2.4用户信息管理模块 21 3.3 系统开发的其他方面 22 3.4编译生成和测试 23 4 结 论 23 结束语 26 致 谢 26 参考文献 26 附 录 27 1登陆窗口的设计 27 1.1将窗口定位在屏幕的中央 27 1.2登陆按钮Click事件程序代码: 28 1.3口令修改窗口的按钮Click事件: 29 2试题编辑窗口设计 30 2.1试题添加按钮的Click事件的程序代码: 30 2.2试题修改按钮的Click事件的程序代码: 30 2.3试题删除按钮的Cl
9、ick事件的程序代码: 31 2.4试题保存按钮的Click事件的程序代码: 31 2.5试题退出按钮的Click事件的程序代码: 31 3 试题信息查询窗口的设计 32 3.1试题的组合查询的查询按钮的Click事件的程序代码: 32 3.2查询结果另存为按钮的Click事件的程序代码: 33 3.3查询数据窗口的Doubleclicked事件的程序代码: 33 4试题选择既组卷窗口的设计 34 4.1组卷窗口的选题按钮的Click事件的程序代码: 34 4.2试题选择浏览的按钮的Click事件的程序代码: 34 4.3试题查询统计窗口的统计查询按钮的Clicked事件的
10、程序代码: 35 5 试卷信息的编辑查询窗口的设计 37 5.1试卷信息的统计窗口的Open事件的程序代码: 37 5.2试卷编辑查询窗口的事件程序代码 38 6 系统维护窗口的设计 38 6.1数据备份窗口的备份按钮的Clicked事件的程序代码: 38 6.2数据清除窗口的事件的程序代码 39 6.2.1数据清除窗口的Open事件的程序代码: 39 6.2.2数据清除窗口的清除按钮的Clicked事件的程序代码: 40 6.3数据导入窗口的导入按钮的Clicked事件程序代码: 41 7 关于帮助的窗口设计 42 7.1邮件接收发送系统自定义函数的程序代码: 42
11、7.2邮件接受发送按钮的clicked事件的程序代码: 43 1 离散数学题库管理系统的问题 1.1离散数学题库管理系统的简介 离散数学是每所大学计算机科学与技术专业、信息管理专业设立的必不可少的一门基础性课程,它的学习对于同学的计算机基础专业知识的学习有着深刻的影响,因此离散数学题库管理系统是一个计算机基础教育体系中不可缺少的部分,它的内容对于教师的教学策略的开展和教育成果的检验来说都至关重要,所以离散数学题库管理系统应该能够为用户提供充足的信息和快捷的查询编辑手段。但一直以来老师们使用传统人工的方式翻阅书籍试卷来挑选题目并重新组成试卷,这种操作方式存在着许多缺点,如:效
12、率低、周期长、保密性差、任务繁重等,另外时间一长,将产生大量的试卷和题目,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,特别是数据库已是数据管理的最新技术,是计算机科学的重要分支。十余年来,数据库的管理系统已从专用的应用程序包发展成为通用的系统软件。由于数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。因此,不仅大型计算机及中小型计算机,甚至微型计算机都配有数据库管理系统。目前,对数据库各种模型的研究以及理论上的探讨都还在蓬勃开展,其应用也从一般管理扩大到计算机辅助设
13、计、人工智能、以及科技计算等领域。今天,信息资源已成为各个部门的重要财富和资源。建立一个满足各级部门信息处理要求的行之有效的信息系统也成为一个企业或组织生存和发展的重要条件。因此,作为信息系统核心和基础的数据库技术得到越来越广泛的应用,从小型单项事务处理系统到大型信息系统,从联机事务处理到联机分析处理,从一般企业管理到计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)、办公信息系统(OIS)、地理信息系统(GIS)等,越来越多新的应用领域采用数据库存储和处理他们的信息资源。对于一个国家来说,数据库的建设规模、数据库信息量的大小和使用频度已成为衡量这个国家信息化的重要标志。因
14、此,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对题库进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高题库管理的效率,也是学校管理的科学化、正规化、规模化管理的正确途径,是与世界教育体制接轨的重要条件。 离散数学题库管理系统是针对考试试题的管理工作量大,信息量大的特点而开发生成的管理软件。根据用户的要求,实现试题题库已有题目的修改删除和另存为WORD文挡的打印,实现试题题库新题的添加修改删除和保存为WORD文挡的打印,试题选中
15、后的编辑统计功能,根据用户的需要生成所需试卷,生成的试卷能够进行保存、打印,对试卷的附加信息内容可以进行添加、修改、删除和保存,能对已生成的试卷中的试题既试卷属性进行统计分析等几个方面的功能。 用户通过输入试题编号,试题内容,参考答案,试题难度系数,试卷类型,完成时间和分值等基本信息,由用户自主选择后再由系统自行生成相应的与试卷生成有关的信息及各类统计数据以供用户能够实现查询、确认、保存、打印等功能,另外用户还可以对这些基本信息进行不定期的更新和删除, 离散数学题库管理系统力求给用户提供方便快捷的途径去管理这些繁琐的数据。 1.2离散数学题库管理系统的系统设计 1.2.1系统目标设计
16、 系统开发的总体任务是实现学校考试试题题库管理的系统化、规范化和自动化。离散数学题库管理系统是针对离散数学教研室的大量试题处理工作用计算机进行全面现代化管理.主要包括试题信息管理、选题组卷策略、测试所用的试卷管理、试题使用统计管理和生成试卷统计管理等几个方面的功能,以实现用户方便的通过输入新加试题,经查询后选定组成所需试卷,进行统计分析后能打印和保存相关试卷的管理需求。 1.2.2系统开发设计思想 ◆ 尽量采用学校现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用学校现有资源,提高系统开发水平和应用效果的目的。 ◆ 系统应符合学校考试试题题库管理的规定,满足
17、学校题库管理的需要,并达到操作过程中的直观、方便、实用、安全等要求。 ◆ 系统采用C/S体系结构,Client(客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server(服务器端)则用于提供数据服务。 ◆ 系统采用模块化程序设计方法,既能便于系统功能的各种组合和修改,又能便于未参与开发的技术维护人员补充和维护。 ◆ 系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。 1.2.3 开发和运行环境的选择 为节约开支,采用windows系统中自带的sql数据库管理系统。前端采用POWERBUILDER8.0作为应用开发工具。客户端软
18、件在Windows95、Windows98、WindowsME以及Windows2000下均可安装使用。 1.2.4具体系统功能需求描述 (1) 试题信息管理 提供对“试题信息表”的数据的输入、查询、添加、删除、修改、保存、打印的功能,完成对同一试题多次使用的调查统计,以此生成“试题统计信息表”实现该表的查询、打印功能。 (2) 试卷信息管理 通过对试题基本信息和附加信息的核实选择合适的试题组成所需要的试卷,自动生成“试卷基本信息表”,根据对“试卷编辑信息表”的添加、修改、删除、保存功能,实现视图“试卷信息表”的查询保存打印等功能。 (3)题库信息统计 对“试卷编
19、辑信息表”的添加、修改、删除、保存功能,实现视图“试卷信息表”的查询保存打印等功能。并能统计计算同一试题在组卷过程中被使用的次数最后的曝光时间 (4)用户信息管理 试题 提供对“用户信息表”的数据的添加和自主修改密码的功能,并能在原有用户不关闭的情况下,开启另一个用户的功能。 图1.2.4.1试题实体E-R图 试题统计信息 试题属性信息 试题基本信息 试卷 图1.2.4.2试卷实体E-R图 试卷试题信息 试卷编辑信息
20、 图1.2.4.3实体与实体之间的E-R图 试 卷 试 题 选择组卷 2 离散数学题库管理系统的分析和设计 2.1 离散数学题库管理系统的分析和概要设计 根据实际情况,我们使用原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。 通过对用户需求的分析,我们可以分析出该离散数学题库管理系统大致可以分为四个模块:试题基本信息管理模块、试
21、题附加信息管理模块、试卷信息管理模块、题库信息统计模块。 下图说明四者的关系,详见图2.1.1 题库管理系统 用户信息管理模块 题库信息统计模块 试卷信息管理模块 试题信息管理模块 编辑信息管 理 基本信息管 理 附加信息管 理 基本信息管 理 用户 口令 试卷使用统 计 试题属性 统 计 属性查询 属性删除 属性修改 属性添加 试题添加 试
22、题删除 试题修改 试题查询 图2.1.1 系统功能模块图 现在对这四个模块做具体说明: ·试题信息管理模块: 输入:试题基本信息,试题附加属性信息 输出:试题基本信息表,试题编辑信息表 功能:对试题基本信息的添加、删除、修改、查询和打印,完成试题附加信息既属性的查询、添加、修改、删除和打印,对所需试题的选择确定。 ·试卷信息管理模块 输入:试卷附加信息 输出:生成“试卷基本信息表”、“试卷附加信息表”和视图“试卷信息表”
23、 功能:完成对所选试题的确认,对“试卷附加信息表”的添加、修改、删除、保存功能,实现视图“试卷信息表”的查询保存打印等功能。 ·题库信息统计模块 输出:试题属性信息统计表,试卷使用信息统计表 功能:完成对“试题属性信息统计表”和“试卷使用信息统计表”的修改、查询、保存功能,实现视图“试卷信息表”的查询保存打印等功能。 ·用户信息管理模块 输出:用户信息表 功能:完成对“用户信息表”的添加、修改、保存功能,并能在原有的用户不关闭的条件下,能开启另一个用户的登陆窗口,并具有能自主修改用户的密码的功能。 2.2 离散数学题库管理系统数据库设计 由于考虑到本系统
24、是应用在单机系统上,另外根据试题存储的规模,我们只建立起一个数据库,在此数据库基础上建立起如下表: ·试题基本信息表 fill_information_table ·试题编辑信息表 fill_edit_table ·试卷附加信息表 testpaper_edit_table ·试卷属性信息表 testpaper_information_table ·用户信息表 user_information_table 另外,根据实际统计需要,我们另外建立两个统计表,用以存放部分统计表的信 息以便查询。 ·
25、试卷属性统计表 testpaper_sum ·试题使用统计表 question_sum 下面我们详细说明: ·试题基本信息表 fill_information_table 主键 :试题编号questioncode 列名(中文) 列名(英文) 数据类型 宽度 小数点位数 是否为空 试题编号 Code Integer No 试题正文 Content char 500 No 参考答案 key char 500 No ·试题编辑信息表 fill_edit_table 主键:试题编号q
26、uestioncode 列名(中文) 列名(英文) 数据类型 宽度 小数点位数 是否为空 试题编号 Code integer No 试题类型 type char 10 No 试题难度 degree numeric 3 2 No 试题等级 lever char 10 No 预测完成时间 Finish_time integer No 推荐分值 sorce integer No ·试卷附加信息表 testpaper_edit_table 主键:试卷编号 papercode
27、 列名(中文) 列名(英文) 数据类型 宽度 小数点位数 是否为空 试卷编号 code integer No 出题人 supplyname char 10 No 出题时间 supplydate Date No 审定人 checkname char 10 No 审定时间 checkdate date No ·试卷属性信息表 testpaper_information_table 主键:试卷编号 code 列名(中文) 列名(英文) 数据类型 宽度 小数点位数 是否为
28、空 试卷编号 papercode integer No 试题编号 code Integer No 试题正文 content char 500 No 参考答案 key char 500 No 试题类型 type char 10 No 试题难度 degree numeric 3 2 No 试题等级 lever char 10 No 预测完成时间 finishtime integer No 推荐分值 scorce integer No ·用户信息表
29、user_information_table 主键:用户名Useid 列名(中文) 列名(英文) 数据类型 宽度 小数点位数 是否为空 密码 Password char 20 No 用户名 Useid char 20 No ·试卷属性统计表 testpaper_sum 主键:试卷编号 papercode 列名(中文) 列名(英文) 数据类型 宽度 小数点位数 是否为空 试卷编号 pepercode Integer No 试题数量 number integer No
30、总计分值 totlescore integer No 所需时间 finishtime integer No 难度系数 degree Numeric 3 2 No ·试题使用统计表 question_sum 主键:试题编号 code 列名(中文) 列名(英文) 数据类型 宽度 小数点位数 是否为空 试题编号 papercode Integer No 使用次数 usetime integer Yes 最后曝光时间 checktime date Yes 预测完成
31、时间 Wj_number Integer No 总计分值 Ycq_number Integer No 以上几张表均属于基本表, 此外,根据查询打印的需要,我们另外建立了个视图,用以查看核实所要打印的试卷中的试题是否为所选的。 ·试卷试题信息查询表 exzample_information_view 数据源: 试题基本信息表 fill_information_table 试题编辑信息表 fill_edit_table 3 离散数学题库管理系统的具体实现 3.1模块化的开发环境的简介 3.
32、1.1 POWERBUILDER简介 POWERBUILDER是美国著名的数据库应用开发工具生产厂商POWERSOFT推出的成功产品。它是完全按照CLIENT/SERVER体系结构研制设计。采用面向对象技术、图形化的应用开发环境。是数据库的前端开发工具;由于它所开发的各种应用程序都充分利用了图形化用户接口(GUI)的优点。所以 POWERBUILDER被认为是一个图形工具。在CLIENT/SERVER结构的应用中, POWERBUILDER具有描述多个数据库连接与检索的功能,特别是 POWERBUILDER能从大多数流行的RDBMS提取数据。而且不管数据存放在什么地方。另外,各种应用
33、程序也可以独立于RDBMS,因 POWERBUILDER可以使用数据库标准操作语句SQL进行通讯 。 POWERBUILDER正在成为CLIENT/SERVER应用开发的标准。它为应用开发提供了全面、综合性的支持,可以分别概括为如下几点: 1. 事件驱动的应用程序 2. POWERSCRIPT语言与函数 3. 面向对象的编程 4. 跨平台开发 5. 与数据库的连接性 3.1.2 事件驱动的应用程序 POWERBUILDER的应用程序是事件驱动的。即用户通过各种动作控制应用程序的流程。例如,当单击某个按钮或在某个编辑框中输入数据都会触发相应的事件。用户可以通过编写脚
34、本(Script)来说明当事件被触发时所要完成的处理过程。 POWERBUILDER给开发人员提供了一个集成环境。应用的各种成分、包括窗口、菜单、事务逻辑、数据库存储、数据库生成、图形、报表等全部都在 POWERBUILDER内开发,而不必再到其它环境中去做。 3.1.3POWERSCRIPT语言与函数 POWERSCRIPT是POWERBUILDER的功能很强的第四代编程语言。用POWERSCRIPT语言编写的程序通常称为(Script)。脚本是由POWERSCRIPT命令、函数和相应末某一事件所要完成的处理过程的语句所组成的。它能使开发人员很容易地将简单工作复杂的事务逻辑与应用相匹配。
35、它由几百个函数用于操作对象、数字、文字和日期等信息并全面支持的DDE和全文本的I/O。 例如为某个按钮上的Clicked事件则编写的脚本、可能要进行的处理是从数据库中检索和显示数据。 事件本身也可以触发其它事件,例如当一个按钮上的Clicked事件要打开一个窗口时就触发了一个窗口上的Open事件。 POWERSCRIPT还提供了丰富的内置函数,可以利用这些函数对应用程序的各种对象的控件进行处理,如打开窗口的函数更新数据库的函数。 此外,用户还可以定义自己的函数在应用程序中来执行某种特定的处理过程。外部函数可在 POWERBUILDER内说明和访问,就如同内置的 POWERBUIL
36、DER函数一样。 3.1.4面向对象的编程 在 POWERBUILDER中创建的每一个菜单和窗口都是一个模块称为对象(Object)。 POWERBUILDER应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和功能)利用诸如封装型、继承性和多态性这样的面向对象的编程技术。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可说扩展性和强有力的功能。 POWERBUILDER应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使
37、用。 3.1.5 跨平台开发 POWERBUILDER支持跨平台的开发和分布。例如的WINDOWS利用 POWERBUILDER开发的应用程序。可以将应用程序分布到UNIX的平台运行,反之亦可。 3.1.6与数据库的连接性 POWERBUILDER提供了与底层数据库系统紧密的连接。 POWERBUILDER支持不同的关系数据库管理系统并充分发挥每一个数据库的特长。开发人员和利用内置的高性能数据库引擎——SYBASE SQL Anywhere生成独立应用或脱离服务器运行的服务以上的应用,在开发该商厦管理系统时,笔者就是使用该种数据库引擎。POWERBUILDER存取数据库的方式
38、有两种: ·通过使用POWERSOFT的DBMS接口。(ODBC(开放数据库连接)是微软公司的数据库连接标准) ·通过使用由POWERSOFT提供的专用的直接与数据库相连的接口 以下进行图例说明:详见图3.1.6.1 POWERBUILDER ODBC接口 接口 SYBASE接口 ORACLE接口 INFORMIX接口 ORACLE数据库 SYBASE数据库 INFORMIX数据库 SQL ANYWHERE 图3.1.6.1 powerbuild与数据库的连接情况
39、值得一提的是POWERBUILDER拥有数据窗口对象(DATAWINDOW)。它是一个智能对象是POWERSOFT公司的一项专利技术。它能操纵关系数据库的数据而无需编写SQL语言。利用该对象可以修改、更新、插入、删除、滚页、打印或以11种文件格式中的任何一种方式保留数据。数据窗口直接管理数据库的交互与控制。在本系统开发过程中大多数报表均使用此对象生成,使用其操纵关系数据库的数据十分方便、快捷。它是一个支持数据操纵的封装性很好对象。 3.2系统模块的具体实现 在本系统中有五个子模块组成。它们分别是试题基本信息管理模块、试题附加信息管理模块、试卷信息管理模块、题库信息统计模块、用户信息管理模块
40、 下面就开发这几个模块的过程及所遇到的问题分别加以介绍。 3.2.1试题基本信息管理模块 该模块主要完成试题基本信息的添加、查询、统计、修改、删除、保存及打印功能。在此模块中定义了两个主要窗口:试题基本信息窗口和试题组合条件查询窗口。后者需要通过前者的数据源来访问。(其总体框架如图3.2.1.1所示) 用户登录窗口 编辑 查询 组合条件查询窗口 试题信息窗口 保存
41、 图3.2.1.1 用户登录窗口中显示的是用户登录的帐号和口令,用户只有输入正确的帐号和口令才能进入离散数学题库管理系统的主界面的窗口,用户的帐号不能设置为空,用户如果输入了错误的帐号或口令时,系统会自动提示用户有错误,并自动清空,让用户重新输入。如图3.2.1.2所示 图3.2.1.2 用户登录窗口 进入离散数学题库管理系统的主窗口后,点击窗口菜单的试题管理选项中的添加、修改、删除的其中一个子选项都会弹出试题信息管理的编辑处理窗口。 图3.2.1.3 离散数学题库管理系统的主窗口 试题信息窗口显示的是有关试题的必要信息。
42、其中有添加、修改、删除、保存、退出五个按钮,可供用户进行添加新的试题,修改或删除过时的旧试题,保存用户的操作结果;组合条件查询窗口显示的是是试题的基本信息资料,供用户能够浏览按条件进行查询的操作。如果用户修改过试题基本信息窗口中的某一纪录后,可点击该窗口的保存按钮,提示保存成功后可退出。 图3.2.1.4 试题信息管理的主窗体 此窗口使用数据窗口的FREEDOM风格(典型的录入界面)。该种风格特点是所有字段前面都加有字段标题(称为标签),并且以垂直方式排列在数据窗口中,设计者能够灵活地安排字段标签以及其他对象地位置,但一般情况下,自由格式地数据窗口一屏显示一条记录,常用于单记录输入
43、在此窗口显示的是试题的详细资料,在此窗口还可以增加新新试题纪录。用户点击添加按钮时,系统将自动清空数据窗口内显示的记录,以便用户能重新输入新的记录,用户核定输入信息无误的话,再点击保存按钮,便可保存新的输入信息。点击修改按钮,用户可以修改现存的记录中的某些项的内容,修改完毕后点击保存即可更新修改的内容。 用户点击删除按钮后既删除正在查阅的记录行,删除记录后表格内的下一条记录自动显示在数据窗口内,既删除成功。 该模块的第二个窗口是组合条件查询窗口,在此窗口中应用了数据窗口的GRID风格(表格风格界面)。该种风格数据的行与列之间通过网格线分隔,数据的每一项都位于其中一个网格中,运行是用户通过
44、拖曳操作既能改变列的宽度,也能调整列的左右位置,但是在设计数据窗口对象时,我们不能移动列以及列标题的左右次序。表格风格的数据窗口既可用与数据输入,又能作为报表输出。 用户只要输入组合条件,系统就会自动检索出符合条件的数据,其中包括列的名称,查询关系,其中查询列的名称和查询的关系都使用了下拉式列表框的窗体控件(DropDownListBox),查询的列中的下拉选项是试题信息表的各项内容,用户可以选择自己熟悉的列项进行查询,查询的关系则是由一般的关系属性,其中有=,<,>,<>四种关系,只有查询的列的内容需要用户自己输入,输入值的内 图3.2.1.5试题信息查询窗体 容要与查询的列一致,
45、否则系统会提示错误,此外系统还带有一些简单的容错功能,如:用户不能对查询条件输入为空,输入查询的内容的字符要与查询的列要求的类型一致等,如果没有检索到所需的内容,系统会提示你此记录不存在,然后自动清空查询条件记录,重新输入查询的组合条件,从此一点就可以看出数据窗口的优越之处。(见图3.2.1.5所示) 如上一章所提,由于数据库基本表与其它表之间的主键的特点,不方便使用外键来保持数据的一致性问题,所以要用手工操作的方法进行数据一致性的维护,主要应用在以下的方面,试题信息表中加入和删除试题信息。 在试题信息表中加入试题信息时,用户不能任意的输入试题信息,而是由系统提供数据库已存在
46、的数据信息,用于显示该信息的已有的试题编号,而在试题基本信息表中没有的试题编号供用户选择,从而要求用户不能任意输入试题编号重复的试题信息了,要加入新的试题信息必须先查询表中已有的数据信息。这样就既保证数据库的数据的一致性,又防止了数据的冗余。 在试题基本信息表中删除过时的旧试题信息时,为保持数据的一致性,就需要立刻重新编排试题编号的序列号。 该部分是完成对试题的附加信息的输入、修改、删除、查询、并以此进行统计生成“试题属性统计表”,并能与试题基本信息合并生成完整的“试题信息表”供用户方便查询选择。 此模块由试题属性窗口和试题查询窗口构成,后者可通过第一个窗口的菜单项选择而进入
47、而后者所用得数据窗口是由试题属性信息表和试题信息表合并而成。此外试题管理系统还特别增添了试题选择既组卷策略的功能,用户进入后可以查询检索有关试题的全部信息,用户可以在查阅完试题的各项属性和内容后选择符合要求的试题点击存储录入试卷信息表中,此时录入的试题是在试题信息表 图3.2.1.6 试题选择窗体 的基础上添加了一个新的主键既试卷编号,生成双主键信息表,选定的试题的主键试卷编号此时为0,更新试卷信息表,存储所选择的试题组成一张新的试卷中的试题。当试卷组卷试题确定后试卷编号变为1,依此类推每生成一张试卷,试卷库内新存放的试卷试卷编号逐次加一,由此可以判断,当试卷编号为0时,试卷正在编
48、辑选题中,当试卷编号不为0时说明试卷已存入试卷库中可以查询调出打印使用,在此窗口中应用了数据窗口的GRID风格(表格风格界面)。 3.2.2试卷信息管理模块 该模块完成对试卷信息的输入、修改、删除和查询。并以此数据为基础生成“试卷信息统计表”和“试题信息汇总表”,还有以此数据为数据源生成的视图。 图3.2.2.1试卷库管理菜单选项 此模块主要包括三个窗口:试卷生成编辑窗口、试卷编辑信息窗口、试卷信息查询窗口,后者是通过主菜单项的查询选择而访问到,而且是以前两个窗口所形成的数据为基础的。第一个窗口是由试题管理菜单中的试题组卷窗口为基础的,试题组卷窗口如有新纪录选定则试卷库管理菜单中
49、的生成才能被选中,否则显示不能选择状态。选中后可以查询所选试题的各项属性等详细内容。 试卷编辑信息窗口显示的是有关试卷的必要信息。其中有添加、修改、删除、保存、退出五个按钮,可供用户进行选题并自动生成新的试卷,系统自动将试卷编号加一,修改或删除过时的旧的试卷相关信息,保存用户的操作结果;组合条件查询窗口显示的是是试卷的基本信息资料,供用户能够浏览按条件进行查询的操作。如果用户修改过试卷信息窗口中的某一纪录后,可点击该窗口的保存按钮,提示保存成功后可退出。此外本模块还添加了令存为的功能,既用户可以将窗口的内容令存在电脑的系统文件中,并转化为WORD形式保存。 图3.2.2.2试卷令存为W
50、ORD文档 3.2.3题库信息统计模块 该模块完成对试卷中题目的各项属性情况和试题的使用情况的统计分析。生成“试卷属性统计表”,“试题使用统计表”。 此模块主要包括三个窗口:其中有两个窗口“试卷属性统计表”与“试题使用统计表”的数据源均是从试卷属性信息表和试题试卷信息视图中进行计算统计分析而得出的数据。试题属性统计的是所选试题的各项属性的总评估,其功能包括查询、打印、预览。 其中点击试卷属性信息窗口中的打印按钮弹出打印预览窗口,可以浏览选中的试卷中所含的所有试题信息。 其中打印窗口可由前两个窗口上的打印按钮点击打开,由于所打印的表大多很长,很难一个屏幕内放下,系统一般采用50%的缩小






