数据库课程题库及试卷生成系统的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库课程题库及试卷生成系统的设计与实现
【摘要】本课题是使用计算机对数据库知识学习的应用系统,它可以使参加课程学习的人员,通过本系统的练习、测试等手段,克服只学不练或无法系统练习的缺点,可以大大提高学生对知识的理解,同时,可以方便教师的出卷工作、增强考试出题的客观性。
【关键词】考试;自动出题;数据库
1.总体构思设计
1.1课题简介
“数据库题库及其试卷生成系统”是使用计算机对计算机基础知识学习的应用系统,它可以使计算机基础知识学习的人员,通过本系统的练习、测试等手段,克服只学不练或无法系统练习的缺点,可以大大提高学生对计算机基础知识的掌握度以及操作应用的速度。该系统使用VFP可视化高级程序语言设计,界面友好、美观大方、操作简便、运行快捷、使用灵活。本设计是计算机专业的人士运用所学课程,解决实际问题、开发应用程序的一次基本技能训练。
1.2系统功能
(1)整个系统由基础理论选择题、文字录入、Windows磁盘文件操作、Word 和Excel操作等部分组成。
(2)系统具有建立题库的功能,理论题和操作题均由题库提供。文字录入题库及参照窗口界面,题库的转入、转出均作选做内容。
(3)用户进入自动出题系统需要进行注册,如忘记账号或密码,可重新注册。
(4)基础理论选择题部分的题目能随机排列或抽取,并具有帮助和测试功能。
(5)文字录入部分具有可设定的限时功能,并显示倒计时时间值。
(6)操作题部分的操作要求由屏幕窗口文字显示提供。
1.3开发环境
硬件(586以上计算机,32M以上内存,显示器分辨率800×600)。
软件(WinXP、VFP)。
各个数据对象以及它们之间存在的相互关系的集合称为数据模型。数据模型分为:层次模型、网状模型、关系模型。通常所用的二维表的关系模型应满足如下条件:
(1)表中不允许有重复的字段名。
(2)表中每一列中的数据的类型必须相同。
(3)表中不允许有相同的记录内容。
(4)行或列次序任意,且不影响表的关系。
(5)不允许出现“表中表”。
1.4数据环境
在用户需求分析的基础上,自行确定数据表的个数与命名,确定数据库、视图及有关索引文件的命名,设计各表的所有字段名称、类型、宽度及小数位数。尽量考虑主关键字的值不能为空也不能重复。在添加或修改记录时,要有必要的信息提示。
2.系统结构设计
由主文件先调用系统信息表单,再调用身份验证表单。如果密码输入无误,则调用菜单程序,然后根据用户的要求选择菜单项分别调用相应表单或程序文件,直至用户结束操作、退出菜单、返回主文件,恢复应用程序运行前的系统状态。如果密码输入错误,则跳过调用菜单程序,由主文件恢复运行前的系统状态。
概要设计任务:
(1)本人审查软件计划、软件需求分析提供的文档,提出最佳推荐方案,用系统流程图,组成系统物理元素清单,成本效益分析,系统的进度计划,供指导教师审定,审定后进入设计。
(2)确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。
(3)编写概要设计说明书、用户手册、测试计划,选用相关的软件工具来描述软件结构(结构图是经常使用的软件描述工具)。选择分解功能与划分模块的设计原则,例如模块划分独立性原则、信息隐蔽原则等。
概要设计过程:概要设计要先进行系统设计、复审系统计划与需求分析、确
定系统具体的实施方案,然后进行结构设计、确定软件结构。
软件设计的概念与原则:
(1)将软件划分成若干独立成分的依据。
(2)如何表示不同的成分内的功能细节和数据结构。
(3)如何统一衡量软件设计的技术质量。
其中有几个参数:
(1)模块化:就是把程序划分成若干个模块,每个模块具有一个子功能,把这些模块集总起来组成一个整体,可以完成指定的功能,实现问题的要求。
(2)抽象:就是抽出事物的本质特性而暂时不考虑它们的细节。
(3)信息隐蔽: 模块中所包括的信息不允许其它不需要这些信息的模块调用。
(4)信息局部化:是指把一些关系密切的软件元素物理地放得彼此靠近。
(5)模块独立性:是软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的。模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。
(6)耦合:是对一个软件结构内各个模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,调用模块的方式,以及通过接口的信息。
(7)内聚:标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。
在系统的开发过程中,我尽量注意模块的高内聚、低耦合,使得系统的整体性能提高,并且有利于投入使用后的系统维护。
概要设计的方法:面向数据流的设计方法,把信息流映射成软件结构。信息流的类型决定了映射的方法。面向数据流的设计要解决的任务,就是上述需求分析的基础上,将DFD图映射为软件系统的结构。
3.系统设计
Visual Foxpro 是一个面向对象的开发程序,其一般的开发过程为:(1)设计界面;(2)界面上各控件的属性设置;(3)编写事件代码。我在此阶段的设计严格按照上述步骤进行。下面给大家介绍一下各模块的设计过程。
3.1详细设计
详细设计的任务:详细设计就是要在概要设计的结果的基础上,考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够详细的过程性描述。
主要任务如下:(1)为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;(2)确定每一模块使用的数据结构;
(3)确定模块接口的细节,包括对系统外部的接口和用户界面、对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节;(4)要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据、期望输出等内容。
3.2质量保证
软件质量保证策略:为了在软件开发过程中保证软件的质量,主要采取下述措施:
(1)审查;(2)复查和管理复审;(3)测试。
测试方法:黑盒法与白盒法相结合。
设计测试方案: 测试方案包括预定要测试的功能,应该输入的测试数据和预期的结果,其中最困难的问题是设计测试用的输入数据(即测试用例)。通常的做法是,用黑盒法设计基本的测试方案,再用白盒法补充一些方案。
我的测试用例为:输入60多条试题记录(输入时就考虑各种情况),而后对这些记录进行输入、放弃操作、模拟考试等的测试。
4.结束语
经过长期的设计和开发,数据库题库及其试卷生成系统基本开发完毕。其功能基本符合用户需求,能够基本满足学习计算机基础知识的要求,通过练习、测试,能有效地提高了操作能力。同时,输出功能也给学生学习提供了不少方便。
但是由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档比较少、出错处理不完善、部分系统仍未能完全开发等多方面问题,这些都有待进一步完善。
【参考文献】
[1]郑甫京,沈金发.FoxBASE+关系数据库系统.清华大学出版社.1997.