高级语言程序设计题库系统论文正文-无忧无虑毕设网_第1页
高级语言程序设计题库系统论文正文-无忧无虑毕设网_第2页
高级语言程序设计题库系统论文正文-无忧无虑毕设网_第3页
高级语言程序设计题库系统论文正文-无忧无虑毕设网_第4页
高级语言程序设计题库系统论文正文-无忧无虑毕设网_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 本文配套程序下载地址 : 无忧无虑毕设网 ()-大学生毕业设计站 ,免费毕业设计论文 ,无忧无虑毕设网 大学生毕业设计 ,出售各类毕业设计源码 ,论文 ,程序源码 ,网站源码 ,免费视频教程 ,我们将竭诚为您服务! 前言 本软件采用和以往不同数据存储模式 (C/S),C/S 模式的运用使软件的灵活度大大的增强 ,出卷老师可以在不同的地方直接登陆学校提供的的专用数据库进行试卷的出题和管理。 C/S 架构的数据库系统,由于数据库是建立在通用的平台之上,并且支持 SQL 这样的通用技术,对数据库的维护工作更加专业,但更为 开放,这意味着维护和进一步开发对原设计开发者的依赖性可以降低。 所以 SQL Server 是当然的首选 .而在前端开发软件方面就采用简单的对编码要求不高的Delphi 软件进行编写 .在连接 Delphi 与 SQL Server 就才用了 ADO 控件来完成。ADOConnection 可让应用程序直接访问并修改数据源 .ADOConnection 好处就是他建立一个数据库连接 ,并且其连接可以被多个其他的 ADO 控件所共享 .合理使用 TADOConnection 控 件 可 以 起 节 省 资 源 的 作 用 。 本 系 统 通 过 一 个ADOConnection 连接数据 库,其他控件像 ADOQuery 和 ADOTable 就通过ADOConnection 连接。而在连接时控件可重用。系统有录入,组卷和查询等基本功能。建立一套试卷都有一个基本的程序。先确定试卷,再录入,然后组卷。完毕后可以查询修改。这就是本套软件的基本功能简单。 -景 德镇陶瓷学院理学学士学位论文 摘要 毕业设计源码下载: 摘要 为适应高校计算机语言考试改革的需要 ,提高工作效率 ,利用计算机进行试题库管理及计算机辅助教学与测试是教学改革的一项重要课题 .任何一门课程的教学 ,都面临着信息时代多方面的挑战 .首先是来自教学手段与教学方法改革的挑战 ,如计算机多媒体技术就已成为高等教育中 较为重要的现代化教学工具之一 ,它具有直观、便捷、信息量大等优点 ,并且发展迅速 ,推动了教育教学改革的进程 ,使教学逐步走向现代化 .其次是面临着教学考试的规范化、标准化 ,因此试题管理与建设显得十分重要 .再者是来自实行“教考分离”制度方面挑战 ,“教考分离”是一项推动教学改革的重要措施 ,它的实施避免了一些干扰教学秩序的人为因素 ,同时对教育教学质量起到了一定的促进作用 .本系统主要针对全校公共高级语言程序设计课程 ,为其提供题库管理和试卷生成功能 .在以往老师出试卷都是从庞大的文字题库里把试题一道一道挑出来 , 这样即费时又费 力,而且很难保证试题的覆盖面和把握好试卷的难度。正是为了能够帮助教师轻松的出一份高质量的试卷而开发了本软件。系统提供试卷管理跟手工自动组卷功能。为实现资源共享 ,题库服务器统一存放 ,各客户连机实现所需功能 ,故用 C/S 模式 :前端开发采用 Delphi,后台数据存储采用 SQL Server.本软件主要实现的功能有 : ( 1)科目选择;( 2)数据库连接;( 3)试题录入;( 4)备份题库;( 5)组卷 (练习卷,考试卷 )(自动型,手动选择型);( 6)导出试卷;( 7)套卷管理;( 8)用户管理;( 9)题目查询;( 10)主框架窗口设 计。 关键字 :题库系统 ,窗体,控件, C/S -景德镇陶瓷学院理学学士学位论文 Abstract III Abstract It has become an important topic to make use of computer to do examination database management, to educate and test, which meets the demand of computer examination reform. The teaching of every subject is faced with the challenges from various aspects in information areas. First, it comes from the challenge of teaching means and method-reform, for example, computer multimedia technology has become one of more important teaching tools in modern world, which has the advantages, such as intuitiveness, convenience, great capacity. This technology develops so quickly that it gets a great progress of education reform, which modernizes the teaching methods gradually. Second, examination management and construction seems to be much more important, for it is faced with the normalization, standardization of teaching examination. Third, it comes from the challenge of the systems execution “the separation of teaching and testing”, an important measure of education reform, which avoids some artificial factors, affecting teaching order, and meantime promotes the rise of teaching quality of education. This system mainly aims at providing functions of the management of test questions and the creation of test paper for the public high level programming language of the whole schools .In the past ,the teachers usually selected the test questions one by one by themselves ,and not only is it really a time-consuming and energy- consuming task, but also it is hard to guarantee the covering surface and the difficulty of the tests. It is to help the teachers make a test easily that we develop this software. This system provides functions of test management and test combination by hand .In order to achieve resource-sharing, a database server deposit the united tests , we connect our computers to achieve the functions we need ,and therefore we use C/S mode , and the front stage adopts to Delphi, and the background stage uses SQL Sever .The functions that this software mainly carries out are : (1)The category choice;(2)The database connection;(3)The input of records;(4)The backup of -景德镇陶瓷学院理学学士学位论文 Abstract IV database;(5)Making up tests(the practice tests , examination tests);(automatic type, hand-choosing type)(6)The output of tests;(7)The management of tests;(8)User management;(9)The topic search;(10)The design of main frame window. Key word: Textbase System, Controlling part ,window body , C/S. -景德镇陶瓷学院理学学士学位论文 目录 V 目录 前言 . I 摘要 . II Abstract .III 第一章:可行性研究 . 1 1.1 开发背景 . 1 1.2 开发工具简介 . 1 1.2.1Delphi 7.0 的特点 . 1 1.2.2 主要控件及其属性 . 2 1.1.3 SQL Server2000 的特点 . 3 1.1.4 主要 SQL 语言简介 . 4 第二章:系统分析阶段 . 5 2.1.需求分析 . 5 2.1.1 问题提出 . 5 2.1.2 调查分析 . 5 2.2 功能分析 . 6 2.2.1 系统功能模块图 . 6 2.2.2 系统数据流程图 . 9 2.3 数据库设计 . 11 第三章:系统总体设计 . 14 3.1 任务分配 . 14 3.2 设计总则 . 14 3.3 系统数据库设计 . 15 第四章:系统详细设计 . 19 4.1 系统主界面 . 19 4.2 系统数据库连接 . 20 4.3 系统管理数据备份 . 22 -景德镇陶瓷学院理学学士学位论文 目录 VI 4.4 试卷录入模块 . 24 4.5 科目设置模块 . 27 4.6 题目查询模 块 . 28 4.7 套卷管理模块 . 32 4.8 结论 . 35 第五章:系统测试 . 36 5.1 引言 . 36 5.2 软件测试的目标 . 36 5.3 软件测试方案 . 36 5.3.1 单元测试 . 37 5.3.2 集成测试 . 40 第六章:结束语 . 41 致谢 . 42 参考文献 . 43 附录一:软件的系统需求 . 44 附录二: Microsoft SQLServer2000 中的数据转换服务 . 45 英文原文: Data Transformation Services (DTS) inMicrosoft SQL Server 2000 . 49 -景德镇陶瓷学院理学学士学位论文 第一章 可行性研究 1 第一章:可行性研究 1.1 开发背景 经调查,高级语言如 C 语言, ASP.net, Delphi 和 Java 等等主要针对的是现在高校公共课高级程序设计课程。现在我国高校高级语言课程已相当普遍,各种高级语言课程已经是现在各高校的必修课程,用一个系统来统一管理各种语言 试题题目是需要的。 1.2 开发工具简介 1.2.1Delphi 7.0 的特点 Delphi 是 Borland 公司出品的开发工具,在众多的开发工具中,我们为什么要选择 Delphi 呢?因为 Delphi 具有众多其它开发工具所没有的优点!具体介绍如下: 开发的高效 语言的高效 编译的高效 执行的高效 维护的高效 基于这样的高效,我们毫不忧郁的选择了 Delphi 做为我们的开发工具! -景德镇陶瓷学院理学学士学位论文 第一章 可行性研究 2 1.2.2 主要控件及其属性 TForm 类的控件: 1. BorderIcons 属性:用来控制程序标题按钮的可用性。 2. BorderStyle 属性 :用来控制程序边框的样式。 3. Color 属性:用来控制程序界面的颜色。 4. Font 属性:用来控制程序界面的字体。 5. Position 属性:用来控制程序运行时界面的显示位置。 TADOConnection 类的控件: 1. ConnectionString 属性:用来控制链接字符串。 2. LoginPrompt 属性:用来控制链接时是否要输入密码。 3. Connected 属性:用来控制是否进行链接。 TADOQuery 类的控件: 1. Connection 属性:用来指定和哪个 TADOConnection 控件相连。 2. SQL 属性:用来添加向数据 库提交的 SQL 语句。 3. Add 方法:用来向 SQL 属性添加 SQL 语句。 4. Open 方法:用来执行 SQL 语言中的 Select 语句。 5. ExecSQL 方法:用来执行任何 SQL 语句。 6. FieldByName 属性:用来给数据库的字段赋值。 7. FidldValues 属性:用来取出数据库的字段的。 8. Append 方法:用来向数据库添加一条记录。 9. Edit 方法:用来编辑当前的记录。 10. Post:用来向数据库提交所做的修改。 -景德镇陶瓷学院理学学士学位论文 第一章 可行性研究 3 TADOTable 类的控件: 1. Connection 属性:用来指定和哪个 TADOConnection 控件相连。 2. Open 方法:用来打开数据库中指定的表。 3. FieldByName 属性:用来给数据库的字段赋值。 4. FidldValues 属性:用来取出数据库的字段的。 5. Append 方法:用来向数据库添加一条记录。 6. Edit 方法:用来编辑当前的记录。 7. Post:用来向数据库提交所做的修改。 TDataSource 类的控件: 1. DataSet:用来指定和哪个数据集相连。 1.1.3 SQL Server2000 的特点 SQL Server 是 Microsoft 公司在与 Sybase 公司原来合作的基础上推出的关系数据库系统,一经推出迅速成 为 Windows NT 网络方案的首选数据库系统。 SQL 是一个通用的、功能极强的关系数据库语言。 SQL 语言集数据查询、数据操纵、数据定义和数据控制功能于一体,主要特点如下: 1. 实现了客户机 /服务器模式 2. 与 Internet 集成 3. 具备很强的可伸缩性和可用性 4. 具备企业级数据库功能 5. 易安装、部署和使用 6. 数据仓库功能 我们之所以选择 SQL2000 做后台支持,因为它是 Windows 数据库家族中出类拔萃的成员,这种关系型数据库管理系统能够满足各种类型的企业客户和独立软件供应商构建商业应用程序的需要。 -景德镇陶瓷学院理学学士学位论文 第一章 可行性研究 4 1.1.4 主要 SQL 语言简介 1. GREATE TABLE 建立数据表 2. ALTER TABLE 修改数据表 3. SELECT ALL/DISTINCT查询数据表 4. UPDATA TABLE 更新数据表 5. INSERT TNTO TABLE 插入数据表 -景德镇陶瓷学院理学学士学位论文 第二章 系统分析阶段 5 第二章:系统分析阶段 2.1.需求分析 2.1.1 问题提出 目前,高校仍然沿袭了多年来由主讲教师个人分散出题和判卷的体制与方法。实践证明它存在明显的缺陷和弊端,主要表现在:一是出题和判卷难以摆脱个别教师主观随意性的干扰,降低了考题的科学性和考试成绩的准确性;二是出题的个人分散性,难 以反映教学大纲的全面要求和教研室的集体智慧,容易出现同一课程的考试难易程度相差悬殊的现象;三是试题的覆盖面狭窄,不利于引导学生全面复习和掌握基础知识技能,甚至导致学生猜题,压题,向主讲老师摸题等不良现象,诱发了舞弊行为,降低了考试的要求,也影响了考试的严肃性。建立题库,每次考试前由题库生成试卷,则可以较好地解决教考分离的问题,也可以大大减低老师命题的工作量。而且题库系统管理可以有系统的管理试卷,试题文档统一存储在电脑数据库里,统一备份,为以后随时抽取当时试卷提供方便。题库系统还有一个优点就是它的保密性和客观 性良好。所以建立一个功能完备,题型覆盖面广的题库系统相当重要。 2.1.2 调查分析 经过对主讲老师和教研室老师的调查分析,了解题库系统的需要的功能。 一:现在计算机语言有很多种,语言更新很快,为配合学生的全面发展,现在高校的题库系统必须涵盖当今主流和潮流各种语言,并顺应时代的发展可以往题库里追加新的计算机语言。虽然计算机语言是多种多样的,但要出卷考查时所出的题型是基本相同,所以系统可以分别提供各种计算机语言的试卷。 二:试题库的试题的录入应该方便而且简单,为老师出卷省去繁琐的重复操作,-景德镇陶瓷学院理学学士学位论文 第二章 系统分析阶段 6 题库系统应该可更新删除 操作。根据不同的学生可以出不同难度的试题,不同考试方式有不同的难度,考试卷或者练习卷难度不同,考试卷必须难度适中,练习卷则只针对一种难度,所以要为试题添加难度选择。还有就是根据题目的难度和覆盖知识点的多少可以为试题添加相应的分值。 三:为适合不同的用户的需要提供灵活的组卷方式,出卷老师自主控制的难度和分值手工出卷,或者是方便快速的向导型自动组卷。 四:根据需要,如考点覆盖或试题误错对已输入题目进行相关的试题查询。并根据需要对试题相关的修改或更新进一步完善题库系统。 五:针对旧试卷重复使用和对已生成的试卷的进 行统一管理,查询试卷的包括题目、难易度、分值等。 六:针对管理题库的防止灾难导致数据库丢失的数据库备份功能。 七:对访问题库权限,增加出卷老师和管理员不同用户的登陆方式。 2.2 功能分析 2.2.1 系统功能模块图 下面通过系统的功能模块来介绍系统的基本构造,系统登录采用分用户登录(如图 2-2-1 所示),管理员登录可以享有最大的权限,而出卷老师的登录就会屏蔽掉系统管理的功能,以防误操作造成系统故障。(如图 2-2-2 所示) -景德镇陶瓷学院理学学士学位论文 第二章 系统分析阶段 7 图2-2-1 登录功能模块图 图 2-2-2 主界面功能模块图 下面介绍各功能子模块的具体功能,分别有四个子模块:系统管理子模块、试卷管理子模块、试卷录入子模块和定制试卷子模块。(如图 2-2-3、图 2-2-4、图2-2-5、图 2-2-6) 系统登录 管理员登录 出卷老师登录 用户 管理员密码 用户 密码 高级语言题库系统 系统管理子模块 试卷管理子模块 试卷录入子模块 定制试卷子模块 -景德镇陶瓷学院理学学士学位论文 第二章 系统分析阶段 8 图 2-2-3 系统管理功能模块图 图 2-2-4 试卷管理模块图 系统管理子模 块 管理员信息 出卷老师信息 备份题库 试卷管理子模块 套卷管理 科目设置 题目查询 管理试卷 试卷预览 按难度查询 按分值查询 -景德镇陶瓷学院理学学士学位论文 第二章 系统分析阶段 9 图 2-2-5 试卷 录入模块图 图 2-2-6 定制试卷模块图 2.2.2 系统数据流程图 系统登录后,数据主要在四个子模块中流动。其中以试题的编号信息为主键。(如图 2-2-7 所示) 试卷录入子模块 选择题录入 判断题录入 程序阅读题录入 程序填空题录入 定制试卷 手工生成 自动生成 -景德镇陶瓷学院理学学士学位论文 第二章 系统分析阶段 10 图 2-2-7 系统数据流程图 高级语言程序题库设计系统 管理员 出卷老师 用户名密码 用户名密码 管理员身份 数据 备份 录入 试题 管理 试卷 输入题目的相关内容 生成 试卷 手动 自动 试卷 管理 套卷 设置 科目 查询 题目 试卷 增加 语言 新增 试卷 生成 查询 是否组卷 预览 按分值 按难度 相 关题目 修改 Y 户信息 修改用 管理 系统 -景德镇陶瓷学院理学学士学位论文 第二章 系统分析阶段 11 2.3 数据库设计 这是介绍系统中各实体的 E-R 图如下: 1. 管理员实体 E-R 图: 在数据库中建的表是管理员信息表是( tbAdmin),这表储存了管理员用户信息,用户名和密码(如图 2-3-1 所示)。 图 2-3-1 管理员信息 E-R 图 2.出卷老师实体 E-R 图: 在数据库中建的标识出卷老师信息表是( tbTeach),这表储存了出卷老师的用户信息,用户和密码。(如图 2-3-2 所示) 图 2-3-2 出卷老师 E-R 图 3.语言实体 E-R 图: 在数据库建的是语言信息表( tbTopic) ,存储了语言的编号和语言种类。(如图2-3-3 所示)管理员 用户名 密码 出卷老师 用户名 密码 -景德镇陶瓷学院理学学士学位论文 第二章 系统分析阶段 12 图 2-3-3 语言信息 E-R 图 4 试卷实体 E-R 图: 在数据库建的是试卷信息表( tbTest) ,储存了试卷的信息,有试卷的编号,试卷的名称,分数,还有是否组卷。(如图 2-3-4 所示) 图 2-3-4 试卷信息 E-R 图 5 题目信息 ER 图 : 系统包括 4 种基本的题型供选择,选择题,判断题,程序填空题,程序阅读题,在数据库中分别用 4 个表存储。( tbSelect)、( tbJudge)、( tbFill)、( tbProgRead)。 4 个表相同的就有编号,题干,分值,答案,难易度,语言,试题解析。由于 4 种题只是不同在于有些题干和答案较多,跟提问的方式不同,如选择题通常由四个选择项,填空题要添的空就或多或少,判断题就只有正确根错误两个选择,而程序填空题就有更多的因数了,有个大的题干,而在大题干下游若干个分题干,针对每一个分题干题目又会提出若干个问题答案又会是若干个的。所以我在这就不把他们 ER 图都列出来了,统一用一个 E-R 表达。(如 2-3-5所示) 试卷信息 编号 试卷名 分数 是否组卷 语言信息表 编号 语言 -景德镇陶瓷学院理学学士学位论文 第二章 系统分析阶段 13 图 2-2-5 题目信息 E-R 图 题目信息 编号 答案 题干 分值 难易度 语言 试题解析 其他信息 -景德镇陶瓷学院理学学士学位论文 第三章 系统总体设计 14 第三章:系统总体设计 经过系统分析阶段,我们了解了系统的大体需要,现在 我们来介绍一下系统的总体设计。 3.1 任务分配 下面是本系统任务工作的分配,系统是由我跟我们班的黄福杨同学合作完成的。 ( 1)科目选择; ( 2)数据库连接; ( 3)试题录入; ( 4)备份题库; ( 5)组卷 (练习卷,考试卷 )(自动型,手动选择型); ( 6)导出试卷; ( 7)套卷管理; ( 8)用户管理; ( 9)题目查询; ( 10)主框架窗口设计。 我负责的任务是( 1)科目选择、( 2)数据库连接、( 3)试题录入、( 4)备份题库、( 7)套卷管理、( 9)题目查询。 3.2 设计总则 设计系统的原则是以用户的需求为目标, 站在用户的角度上用户规划设计,让用户以最经济的投入来获得最成熟、最实用的技术。 -景德镇陶瓷学院理学学士学位论文 第三章 系统总体设计 15 3.3 系统数据库设计 系统中用户信息,科目和试题都在数据库里有他相应的表关联。 详细的表设计如下: 表 3.3.1 管理员用户表 ( tbAdmin) 列名 数据类型 长度 允许空 是否主键 说明 FUserName char 10 Not null 是 名称 FPassword char 10 Not null 密码 表 3.3.2 出卷老师用户表 (tbTeach) 列名 数据类型 长度 允许空 是否主键 说明 FTeachName char 10 Not null 是 名称 FPassword char 10 Not null 密码 表 3.3.3 选择题录入表 ( tbSelect) 列名 数据类型 长度 允许空 是否主键 说明 FThemeID int 4 Not null 是 编号 FThemeBody nvarchar 800 Not null 题干 FChooseA nvarchar 800 Not null 选择 A FChooseB nvarchar 800 Not null 选择 B FChooseC nvarchar 800 选择 C FChooseD nvarchar 800 选择 D FKey char 1 Not null 答案 FCount tinyint 1 Not null 分值 FRemark nvarchar 800 试题解析 FTopic char 10 Not null 语言 Fdifficult char 10 Not null 难易度 试题编号作为主键,为选题组卷时为试题提供搜索记录,也为每道试题确定它的唯一标示。因为选择题最起码有两个选项,所以 A 和 B 不能为空。大多数选择题都是 4 个选项 C 和 D 也是必须的。因为有些题目可能比较简单或者是公-景德镇陶瓷学院理学学士学位论文 第三章 系统总体设计 16 理没得解析所以试题解析项也是允许为空的。 表 3.3.4 填空录入表 ( tbFill) 列名 数据类型 长度 允许空 是否主键 说明 FThemeID int 4 Not null 是 编号 FThemeBody nvarchar 800 Not null 题干 FVacancyA nvarchar 800 Not null 填空 A FVacancyB nvarchar 800 填空 B FVacancyC nvarchar 800 填空 C FVavancyD nvarchar 800 填空 D FCount tinyint 1 Not null 分值 FRemark nvarchar 800 试题解析 FTopic char 10 Not null 语言 Fdifficult char 10 Not null 难易度 试题编号作为主键,为选题组卷时为试题提供搜索记录,也为每道试题确定它的唯一标示。填空题一个填空式必有的,所以第一空必须不为空,在此之外又会有多个填空,所以后几个是允许空的 。填空不像其它的题目,一个个的填空就算是他的答案。答案的字段在这就没必要了。因为有些题目可能比较简单或者是公理没得解析所以试题解析项也是允许为空的。 表 3.3.5 判断题录入表 ( tbJudge) 列名 数据类型 长度 允许空 是否主键 说明 FThemeID int 4 Not null 是 编号 FThemeBody nvarchar 800 Not null 题干 FKey bit 1 Not null 答案 FCount tinyint 1 Not null 分值 FRemark nvarchar 800 试题解析 FTopic char 10 Not null 语言 Fdifficult char 10 Not null 难易度 试题编号作为主键,为选题组卷时为试题提供搜索记录,也为每道试题确定它的唯一标示。判断题只有正确跟错误两种情况。所以有些题目可能比较简单或-景德镇陶瓷学院理学学士学位论文 第三章 系统总体设计 17 者是公理没得解析所以试题解析项也是允许为空的。 表 3.3.6 程序阅读题录入表 ( tbProgRead) 列名 数据类型 长度 允许空 是否主键 说明 FThemeID int 4 Not null 是 编号 FThemeBody nvarchar 800 Not null 主题干 FBody1 nvarchar 800 Not null 分题干 1 FChoose1A nvarchar 800 Not null 选择 A FChoose1B nvarchar 800 Not null 选择 B FChoose1C nvarchar 800 Not null 选择 C FChoose1D nvarchar 800 Not null 选择 D FBody2 nvarchar 800 分题干 2 FChoose2A nvarchar 800 选择 A FChoose2B nvarchar 800 选择 B FChoose2C nvarchar 800 选择 C FChoose2D nvarchar 800 选择 D FBody3 nvarchar 800 分题干 3 FChoose3A nvarchar 800 选择 A FChoose3B nvarchar 800 选择 B FChoose3C nvarchar 800 选择 C FChoose3D nvarchar 800 选择 D FKey1 char 1 Not null 答案 1 FKey2 char 1 答案 2 FKey3 char 1 答案 3 FCount tinyint 1 Not null 分值 FRemark nvarchar 800 试题解析 FTopic char 10 Not null 语言 Fdifficult char 10 Not null 难易度 试题编号作为主键,为选题组卷时为试题提供搜索记录,也为每道试题确定它的唯一标示。程序填空题通常都是试题的大题,它 在大题干下有多个分题干,-景德镇陶瓷学院理学学士学位论文 第三章 系统总体设计 18 分题干又有多个选项,但一个分题干和一个答案是必须的。有些题目可能比较简单或者是公理没得解析所以试题解析项也是允许为空的。 表 3.3.7 语言分类表 ( tbTopic) 列名 数据类型 长度 允许空 是否主键 说明 FTopicID char 10 Not null 语言编号 FTopic char Not null 是 语言名称 各种试题的题型都必须有语言的选择,所以语言分类表中以语言的名称为主键。 表 3.3.8 套卷管理表 ( tbTest) 列名 数据类型 长度 允许空 是否主键 说明 FTestID int 4 Not null 是 试题编号 FTestName varchar 20 Not null 试题名称 FCount tinyint 1 Not null 试题总分 FTopic char 10 Not null 试题语言 FIsCreate tinyint 1 Not null 是否组卷 以试卷的的编号为主键,还记录了试卷的各种基本信息,该试卷的名称,总分,还有试卷要考查的语言。还有在管理时记录该试卷是否组卷的相关信息。 表 3.3.9 组卷信息表 ( tbTestTheme) 列名 数据类型 长度 允许空 是否主键 说明 TestThemeid int 4 Not null 试 题 临 时编号 Testid int 4 Not null 试卷编号 Themeid int 4 Not null 题目编号 Themetype char 10 Not null 题目类型 组卷时根据试题的题目类型根编号组卷。在组卷是需要一个临时编号储存相关信息。 -景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 19 第四章:系统详细设计 系统详细设计,系统功能的实现分成 5 个模块,系统管理,试卷录入,试卷管理,定制试卷和数据 库连接。我主要负责系统管理模块里的数据备份,试卷管理,试卷录入和数据库连接模块。 4.1 系统主界面 让我们先看看主界面,系统主界面简单明了(如图 4-1-1 所示),具体功能在子目录下完成。 图 4-1-1 系统主界面 -景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 20 主界面部分代码: procedure TMainFrm.FormShow(Sender: TObject); /在窗体显示创建的 ,根据户来设置哪些菜单可用 begin if UserType=Teach then /当用户是用出卷老师登陆 时, /系统管理功能就回屏蔽 begin N1.Enabled:=false; /系统理菜单屏蔽 N7.Enabled:=true; N12.Enabled:=true; end end; 4.2 系统数据库连接 此模块是数据管理模块 ,Delphi 有个专用的 Data Module 来存放系统各连接数据库的控件(如图 4-2-1 所示)。用来放各种数据库控件用一个 ADOConnection控件 来建立向数据库 SQL Server 的连接,而其他控件共用这个 ADO 连接 ,方便系统的数据管理。程序中每个相应的数据源 DataSource 都在这模块里有它们的ADOQuery 或 ADOTable 控件。通过简单的指定 ADOTable 控件所连接的数据库和数据表,就可以访问某一指定的数据表。 ADOQuery 控件也是一个数据集类型控件,不过它的数据集不一定对应一个数据表,而是对应一个数据查询 SQL 语句查询返回结果,使用 SQL 语句可以将大部分工作在数据库服务端完成,这样节约了网络的开销和客户端的资源。 根据不同的需要,程序 中其他各模块在程序中选用不同控件。其中登录模块、判断题录入、科目语言模块、备份模块和组卷模块选用 ADOQuery 控件。而管理员信息模块、出卷老师信息模块、选择题录入模块、程序填空题录入模块、程序阅读题录入模块、套卷管理模块和科目语言模块则选用 ADOTable 控件。 系统因为要测试的方便,在编程的时候采用本地服务器作为后台服务器。这-景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 21 就为以后移植时带来麻烦,所以我就采用 TXT 文件来读取服务器,文本文件只是在登录时调用一下,读取服务器名字,这就可以动态的控制服务器了。在系统程序主目录下放置这个文件,文件里打入作为 服务器的名字。当要改变服务器的时候,就改变 TXT 文件里相应的服务器的名字。这样设置就增强了本系统的可移植性。 现在说一下系统的初始化步骤,系统在初始化的时候,首先创建了两个窗体,一个是主界面窗体,另外一个就是数据库连接 ( DM) 。当 DM 初始化到一半的时候就会通过代码创建登录窗体 ( Login) ,登录完毕后,主界面窗体和 DM 也初始化完毕,显示主窗体。在 DM 初始化的时候,如果连接数据库失败,可能是数据库名错误或登录数据库密码错误。就会在登录主界面的时候显示“连接数据库服务器出错 ,请重新输入 ServerName”,虽 然可以登录主界面,但是无法进行任何操作。 图 4-2-1 数据库控件界面 DM 的代码如下 ; procedure TDM.DataModuleCreate(Sender: TObject); var connstring,servername:string; /前一个为数据库连接字符串 , /后一个存储服务器名 filev:TextFile; /定义一个文件变量 -景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 22 begin connstring:=Provider=SQLOLEDB.1;Password=1234;Persist Security Info=True;User ID=sa;Initial Catalog=exam;Data Source=; /连接字符串的前半部分 ,连接数据库密码为 /1234,用户名为 SA,要连接的数据库为 exam AssignFile(filev,servername.txt); /打开文本文件 Reset(filev); /定位到开始 Readln(filev,servername); /读 一行存储到 servername CloseFile(filev); /文件使用完毕要关闭 connstring:=connstring+servername; /连接字符串 MainFrm.cons:=connstring; ADOCon.ConnectionString:=connstring; /设置 adoconnection 的连接 try begin ADOCon.Connected:=true; LoginFrm:=TLoginFrm.Create(self); /开始创建登录窗体 LoginFrm.ShowModal; /以模态窗口方式来打开 end; except begin ShowMessage(连接数据库服务器出错 ,请重新 输入 ServerName!); exit; end; end; end; 4.3 系统管理数据备份 数据备份就是防止在计算机发生灾难后采取的补救措施,在编写是就通过一-景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 23 句 SQL 语句来实现数据库的备份。系统的备份可以选择备份的路径,通过一个SaveDialog 控件来控制。点击相关按钮进入备份操作(如图 4-3-1 所示),选择备份内容的保存路径,确定后系统自动进行备份。其间可能需要一定备份运行时间。 图 4-3-1 备份初始界面 备份的代码如下: procedure TDBSetFrm.BackupDB(ss:string); /备份工作由这个 /函数来完成的 var sqls:string ; begin sqls:=backup database exam to disk=+ss+ with init; /SQL 语句, ss 为备份的路径 DM.DBSetQ.Close; DM.DBSetQ.SQL.Clear; dm.DBSetQ.sql.Add(sqls); /调用 SQL 语句 try begin dm.DBSetQ.ExecSQL; Showmessage(数据库备份完毕 !); end; except -景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 24 Showmessage(数据库备份出错 ,请重试 !); end; end; procedure TDBSetFrm.BitBtn1Click(Sender: TObject); begin if(SaveDialog1.Execute)then if(fileExists(SaveDialog1.FileName)then begin if(messagebox(0, 文 件 已 经 存 在 , 要替换它吗 ?, 提示信息,MB_YESNO)=IDYES) then /替换已存在的备份文件 BackupDB(SaveDialog1.FileName) /调用 BackupDB 函数完成操作 else; end else BackupDB(SaveDialog1.FileName); /调用 BackupDB 函数完成操作 end; 4.4 试卷录入模块 试卷录入有四种题型的录入,选择题、判断题、程序填空题和程序阅读题。由于每种题型有不同的题型结构,题干、选择和答案各不相同,所以在输入的时候要有不同的输入界面,在设计的时候我就把四种题型分开录入。(如图 4-4-1、4-4-2、 4-4-3、 4-4-4 所示) 在不同的题目它包括的知识点的多少不同,要考查的内容不同 ,他的难易度也就不同,所以在录入的时候要给每一道题目确定它的难易度,而这难易度有 3个选择,分别是难、中等和容易。 在确定了难易度和考查内容多少后,就是确定这道题目的分值,不同类型的题目和不同难度的题目有不同的分值。确定了题目分值就为以后组卷时试卷总分统计的方便。 -景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 25 在每个界面都设置了增加、修改、删除、保存四个按钮还有导航键。这是为了快速方便的录入题目,并即时查询修改过往录入题目。 下面分别是四个题型的录入界面: 图 4-4-1 选择题录入界面 图 4-4-2 判断题录入界面 -景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 26 图 4-4-3 程序阅读题录入界面 图 4-4-4 填空题录入界面 -景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 27 其中每个录入界面里都有个选择语言,要调用数据库里 tbTopic 表里的内容,跟着再一个下拉菜单里选择语言。分值采用手工输入分数,难易度采用下拉菜单选择。其代码如下(只举选择题为例): procedure TSelectFrm.FormCreate(Sender: TObject); var i:integer; begin with DM.SelectT do begin TableName:=tbSelect; /将这个 adotable 控件绑定一个数据表名 Active:=true; /打开数据库 end; with DM.TopicQ do begin sql.Clear; /清除 adoquery 控件的 sql 语句 sql.Add(select * from tbTopic); /新增语句 open; /执行语句并返回数据集,返回 tbTopic 整张表 first; for i:=0 to recordcount-1 do /到 tbTopic 表里调用所有语言 / 放在下拉菜单里 begin DBComboBox1.Items.Add(fieldbyname(FTopic).AsString); next; end; end; end; 4.5 科目设置模块 科目设置,就是提供各种高级语言的不同选择。在这个模块里用户可以进-景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 28 行对科目的操作,增加,修改,删除和保存。不同的科目存进数据库里,在以后当要录入需要的语言的时候,系统就会提供不同的语言供用户选择。所以当用户要实现一种新的试卷的选择的时候,必须首先在科目选择里增加一个科目(语言),然后在录入和组卷。否则就建立不了新的语言。每个语言有一个它的简称和具体语言存储在科目选择这个数据库里。 (如图 4-5-1 所示 ) 图 4-5-1 科目设置界面 4.6 题目查询模块 题目查询模块是为了查询试卷的各种题目的题干、答案、分值、难度和解析。这虽然可以在录入界面里通过导航键查询,但通过这个模块可以简单明了的实现。当发现题目有错误或需要删减的时候,在模块中通过选取不同题目的按钮,调入到其相关的题型录入界面,对目标题目进行操作。查询功能流程图。(如图4-6-2 所示) 在具体查询的时候,本模块有几个限定要数要选择。首先要选择的就是要-景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 29 查询的科目,通过下拉菜单选择,这是本系统操作的首要因数。题目不同就有不同的难度跟分值,系统就提供了这两种查询功能。难易度按难,中等,容易, 降序查询。分值按升序查询。这两个查询功能是二选一的。默认的是按分值查询。还有就是要查询的题目类型了,就是选择题,判断题,程序填空题和程序阅读题。默认的是查询选择题。(如图 4-6-1 所示) 图 4-6-1 题目查询界面 -景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 30 图 4-6-2 查询功能流程图 查询题目模块部分代码: procedure TTopicQFrm.FormCreate(Sender: TObject); var i:integer; 选择题型 选择题型 进入相关题 的录入界面 查询 开始 选择语言 按分值选择 按难度选择 显示题目 增删修改 Y 退出查询 N -景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 31 begin with DM.TopicQ do /调用科目选择数据库, /选择要查询的语言 begin sql.Clear; sql.Add(select * from tbTopic); open; first; for i:=0 to recordcount-1 do begin ComboBox1.Items.Add(fieldbyname(FTopic).AsString); /添加到下拉菜单 next; end; end; end; 查询显示代码(以选择题查询为例): if Select.Checked=true then begin with DM.TopicQ do begin close; sql.Clear; if RB1.Checked=true then sql.Add(select * from tbSelect whereFTopic=+ComboBox1.Text+order by Fdifficult) /按难易度选择 else sql.Add(select * from tbSelect where FTopic=+ComboBox1.Text+order by FCount); /按分值选择 -景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 32 open; end; DBGrid1.Columns.Clear; /清除之前查询记录 AColumn := DBGrid1.Columns.Add; /增加一格显示栏 AColumn.FieldName:=FThemeID; /显示题目编号 AColumn.Title.Caption:=编号 ; /把数据库记录名称中文化 AColumn.Width:=30; /设置显示长度 AColumn := DBGrid1.Columns.Add; /以下各项相同 (后略) End 4.7 套卷管理模块 套卷管理就是在试卷生成之前和之后都要参加程序的运行的。首先在要生成一张试卷之前,在套卷管理里输入要考试卷的名称,选择试卷所要的高级语言,并确定试卷的总分值。选择语言跟是否组卷有个 下拉菜单供用户选择。但是为了组卷方便,在设计系统时就设置未组卷时添加试卷为 0,已经组卷选择 1,在系统中有提示输入项(如图 4-7-1 所示)。在输入完毕后保存,要生成的试卷就会在套卷管理模块中的表格显示这张试卷的相关信息。系统会给试卷自动增加一个这张试卷的编号,这是为组卷是必须的。 在生成试卷之后,试卷在是否组卷的选项里就会显示 1,代表了该试卷已经组卷完毕。已生成的试卷,就可以用到试卷的另一个重要的功能,试卷预览。试卷预览就是将以生成的试卷的题目全部显示在界面上。各种题型在显示的时候采取分页显示。(如图 4-7-2 所示)而要显示的内容只显示考试相关的内容,如编号、题干、选项等。那些和考试用试卷暂时没用的就不会显示,如答案、分值、解析、难易度等等。当要更新相关试卷时,就把试卷的是否组卷选项从新改为 0未组卷状态。 在试卷预览时,每个题型的预览,都要用到一个 ADOQuery 控件,而预览分页显示就要用到四个 ADOQuery 控件。在 DM 里再增加四个控件只为一个模-景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 33 块使用可能造成浪费资源。为了节省资源,连接的控件都是运用到其它模块的控件。在选择题的查询就用 LoginQuery 控件,填空题用到的是 DBSetQuery 控件,程序阅读 题用的是 TopicQuery 控件,而判断题就用回他本身的 JudgeQuery 控件。达到了控件的再利用。 图 4-7-1 套卷管理界面 -景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 34 图 4-7-2 试卷预览界面 查询功能部分代码 : 1. 显示预览界面: procedure TTestPSetFrm.Button5Click(Sender: TObject); begin MainFrm.testid:=dm.TestT.fieldbyname(Ftestid).AsInteger; PreFrm:=TPreFrm.Create(self); PreFrm.Show; /显示预览界面 end; 2. 预览显示代码选类型跟题目算法:(只说明选择题预览) begin s:=0; f:=0; j:=0; r:=0; ss:=select * from tbselect where ; / 预设的查询各表的 SQL 语句 sf:=select * from tbfill where ; sj:=select * from tbJudge where ; sr:=select * from tbProgRead where ; with dm.TestThQ do /操作试卷的联系表 begin first; /数据集指针指到第一条记录 while not eof do /循环直到最后一条记录 begin sss:=trim(fieldbyname(themetype).AsString) ; /看本条记录试题的类型 ,sss 的可能值 tbselect,tbfill,tbJudge,tbProgRead if sss=tbSelect then begin if(s=0) then /第一条关于选择题的记录 begin -景德镇陶瓷学院理学学士学位论文 第四章 系 统详细设计 35 themeidss:=dm.TestThQ.fieldbyname(themeid).Asinteger; ss:=ss+fthemeid=+inttostr(dm.TestThQ.fieldbyname(themeid).Asinteger); /根据当前选择题的题号构造查询语句 end else /前面已有关于选择题的记录 begin ss:=ss+orfthemeid=+inttostr (dm.TestThQ.fieldbyname(themeid).Asinteger); /构造查询语句 end; s:=s+1; /选择题数据标识 end; 4.8 结论 系统的编码基本上按照任务书所要求的功能,编码虽然有不足,效率不高,但能比较流畅的完成系统所需功能。系统还有不足之处,就是试卷的报表输出和备份还原的自动完成。这是以后系统有待增加改进的。 -景德镇陶瓷学院理学学士学位论文 第五章 系统测试 36 第五章:系统测试 5.1 引言 软件测试是确保软件质量的重要一环。 软件测试定义为:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。 5.2 软件测试的目标 简单地说,测试的最终目的是确保最终交给用户的产品的功能符合用户的需求,把尽可能多的问题在产品交给用户之 前发现并改正。具体地讲,测试一般要达到三个目标:确保产品完成了它所承诺或公布的功能,并且所有用户可以访问到的功能都有明确的书面说明;确保产品满足性能和效率的要求,用户最关心的是他能从这些技术、功能中得到多少好处。确保产品是健壮的和适应用户环境的健壮性即稳定性,是产品质量的基本要求。 5.3 软件测试方案 软件测试是一个过程 ,测试流程是该过程规定的程序 ,目的是使软件测试工作系统化 ,测试方案确定需遵循四原则:测试成本最小化、测试流程和测试内容完备化、测试手段可行化和测试结果实用化。 -景德镇陶瓷学院理学学士学位论文 第五章 系统测试 37 5.3.1 单元测试 在软件测 试中,尽早进行软件测试发现软件中存在的问题,可减轻系统测试的任务,明显地降低测试成本,单元测试在软件开发哪一个环节进行,是一个值得探讨的问题,因为这关系到软件测试的效率和测试成本。 1. 数据库连接单元测试 在连接数据库的时候,必须相应的输入数据库登陆密码,不是会造成连接数据库错误。显示如下(如图 5-3-1 所示) 图 5-3-1 系统连接出错显示 正常进入主界面(如图 4-1-1 所示) 2. 数据备份 系统备份成功后,弹出对话框显示备份完成。(如图 5-3-2 所示) 图 5-3-2 备份完成提示图 3.科目设置单元测试 增 加一种语言,编号为 A,科目名称为 ASP.NET。输入前(如图 5-3-3 所示),输入后(如图 5-3-4 所示)。在测试的过程中发现,课目编号没有完全利用上,-景德镇陶瓷学院理学学士学位论文 第五章 系统测试 38 只是个课目简写,用处不大。 图 5-3-3 增加语言输入 图 5-3-4 增加以后显示 3. 题目查询单元测试 按难度查询跟按分值查询的不同查询结果如下: 按难度查询,题目按容易,中等,难显示。(如图 5-3-5 所示) 按分值查询,题目按升序显示。(如图 5-3-6 所示) -景德镇陶瓷学院理学学士学位论文 第五章 系统测试 39 图 5-3-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论