网络考试系统的设计与实现 (2)

上传人:仙*** 文档编号:146482769 上传时间:2022-08-31 格式:DOC 页数:36 大小:521.83KB
返回 下载 相关 举报
网络考试系统的设计与实现 (2)_第1页
第1页 / 共36页
网络考试系统的设计与实现 (2)_第2页
第2页 / 共36页
网络考试系统的设计与实现 (2)_第3页
第3页 / 共36页
点击查看更多>>
资源描述
成人高等教育毕业设计(论文) 题 目: 网络考试系统设计与实践 专 业: 计 算 机 班 级: 1 1 级 学 生: 张 鹏 指导教师: 袁 建 星 2014 年摘 要本论文叙述了考试方式的历史、现状以及ASP语言和SQL SEVER2000数据库管理系统的概况。重点介绍了网络考试系统的实现过程:包括系统分析、系统调查、数据流程分析、功能设计、数据库设计、系统物理配置方案、系统实现、系统测试和调试。总结了本系统的特点:节约考试成本,提高考试工作的效率。本系统主要面向三类人员使用:普通学生、老师、管理员,使用时他们拥有不同的权限。使用的过程是通过考试新闻的发布、试卷的制定、审核、生成、考试与成绩的查询来实现无纸标准化考试,从而使考试可以方便地通过 Internet和局域网进行。 关健字:网上考试系统、ASP、SQL SERVER2000AbstractThis thesis described the examination history, present condition and the ASP language with the SQL SEVER2000 the database manage systems general condition.I emphases introduced the process to realize the network examination system:Include the system the analysis, system to investigate, data process analysis, function design, database design, the system physics install the project, system to realize, the system test and debug.summarized the characteristics of this system:Economy examination cost, increase the examination works efficiency.This system primarily face to three personnel usageses:Common student, teacher, admin, they own the different legal power when use this system .The usages process of standardize examine without papers is an announcement for of examination establishment, examining, bornly, examination result and search of announce, thus make examination can expediently pass the Internetand intranetthe proceeding. Key words:the network examination system 、ASP、SQL SERVER2000目 录摘 要i1 引 言11.1 项目开发背景11.2 项目开发的目的11.3 项目开发的目标21.4 项目提出的意义21.5 系统开发所用的技术准备21.5.1 数据库系统21.5.2 ADO21.5.3 ASP技术32 系统分析52.1 系统需求分析52.1.1 系统调查52.1.2 考试工作的组织机构设置如图62.1.3 用户需求62.1.4 系统业务流程图72.1.5 可行性分析82.2 新系统逻辑方案92.2.1 数据流图92.2.2 新系统逻辑模型的提出112.2.3 系统边界123 系统设计123.1 系统总体结构设计123.1.1 系统的总体布局方案133.1.2 软件系统总体结构设计133.1.3 数据存储的总体设计133.1.4 系统总体功能结构设计133.2 系统详细设计143.2.1 数据库设计143.2.2 数据库的完整性和安全性203.3 功能模块设计223.4 代码设计223.5 系统输出设计233.6 系统输入设计233.7 系统处理流程图设计244 系统实施244.1 数据库连接的建立254.2 各子系统模块程序设计举例254.2.1 用户登陆界面的实现254.2.2 管理员页面的实现255 技术点和难点265.1 技术点265.1.1 多条件查询265.1.2 全选按钮265.1.3 难度的设置265.2 难点275.2.1 recordcount问题275.2.2 随机生成试卷问题27结 论28参考文献29致 谢30iv1 引 言1.1 项目开发背景 在上个世纪九十年代中期以前,各个学校的各种类型的考试基本上都是靠手工进行,大体上要经历出卷、印刷、测试、阅卷、统计分数等过程。后来随着电脑的普及以及计算机软硬件的发展,市场上出现了一些随机出题软件并被一些学校采用,但仍然需要大量的人工参与考试过程之中。考试是一项极其繁琐的工作,通过人手工计算容易出错,很多老师一谈到考试就头皮发麻。在此开发的网络考试系统,旨在探索一种以互联网为基础的考试模式。通过这种新的模式,为大学计算机系的考试创造一种新的考试环境,使考务管理突破时空限制,提高考试工作效率和标准化水平,使学校管理者、教师和学生可以在任何时候、任何地点通过网络进行考试。基于这些优点,在本次毕业设计之院,我作为一名计算机软件工程专业的毕业生,着手开发了“网上考试系统”。1.2 项目开发的目的现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证!客观!更加激发学生的学习兴趣。为了适应新形势的发展,在这次毕业设计之时,我选择了这一网上考试系统,使其尽快在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!1.3 项目开发的目标建立网上考试系统,进一步提高办学效益和现代化水平。帮助老师提高工作效率,实现考试信息管理以及考试流程的系统化、规范化和自动化。1.4 项目提出的意义“网上考试系统”适用于任何专业或学院进行考试,在具体的考试过程中用网络实现老师、学院和学生进行考试工作的计算机化,同时也可作平时练习测试之用,基本上摆脱以前的人工操作模式。1.5 系统开发所用的技术准备1.5.1 数据库系统后台数据库系统使用微软的Microsoft SQL Server SQL Server 2000。Microsoft SQL Server SQL Server 2000是建立在Microsoft SQL Server SQL Server 7.0可扩展基础上的,代表着下一代Microsoft .NET Enterprise Servers(企业服务器)数据库的发展趋势。Microsoft SQL Server 2000是为创建可伸缩电子商务、在线商务和数据仓储解决方案而设计的真正意义上的关系型数据库管理与分析系统。1.5.2 ADOADO具有以下特点:易于编程;与语言无关;实现过程简单;使用最小网络流量;应用程序前端和数据源之间需要的层数很少。两种方法都可提供高性能的数据访问。选择这两种数据访问技术的任一种都会影响应用程序的设计、扩展性、互操作性、易于维护性以及其他许多因素。这些因素包括: 数据结构 ADO 记录集是单个表,只能以记录集形式访问,并且不包含关系。ADO 记录集可以是多表 JOIN 查询的结果,但它仍只是单个结果表。如果希望 ADO 具有多个表,必须拥有多个 Recordset 对象。游标位置 应用程序可以在以下两个位置中的任一处建立结果集:在应用程序进程内(客户端游标)或数据存储区进程内(服务器端游标)。对于任意类型的用户与数据的即兴交互,客户端游标通常是很好的选择。客户端游标在 ADO 中则由 ClientCursor Recordset 对象支持。 顺序的、只读服务器游标在 ADO 中则由只进/只读 Recordset 对象支持。顺序的、只读游标为从数据库中读出数据提供最快的方法。 可滚动、可更新的服务器端游标在 ADO 中由可滚动、可更新的 Recordset 对象支持。应谨慎使用服务器端游标。通过服务器端游标进行的非顺序结果滚动和更新保留锁定并导致资源争用,这将大大限制应用程序的可缩放性。不使用可滚动、可更新的服务器端游标,而在服务器上对结果的过程处理使用存储过程,应用程序通常会获益。 1.5.3 ASP技术 1 ASP技术简介 ASP(Active Server Pages动态网页)是微软公司推出的一种用以取代CGI(Common Gateway Interface通用网关接口)的技术。简单地讲,ASP是一个位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互式动态网页,包括使用HTML表单收集和处理信息,上传与下载等等。而随着Web应用的发展,用户希望能够看到根据要求而动态生成的主页,例如响应用户查询数据库的要求、生成报表等。当在浏览器上填好表单(form)的输入数据,以提供HTTP要求时,可以在站点服务器中执行的应用程序,而不只是一个HTML 文件。站点服务器收到要求执行的应用程序,分析表单(form)的输入数据,将执行的结果以HTML的格式传送给浏览器。ASP使用的ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的CGI等程序所远远不及的地方。由于ASP是在服务器端解释执行,开发者可以不必考虑浏览器是否支持ASP;同时由于它在服务器端执行,开发者也不必担心别人下载程序从而窃取编程逻辑。 ASP通过后缀名为.asp的ASP文件来实现,一个.asp文件相当于一个可执行文件,因此必须放在Web服务器上有可执行权限的目录下。当用户从浏览器输入了.asp文件的地址后,浏览器就将这个URL请求发给Web Server,如果Web Server上装了ASP,就调用ASP。ASP读出相应.asp文件,解释并执行命令,动态生成一个HTML页面回传Web Server,然后Web Server再把结果发送给浏览器。ASP文件的制作和HTML类似,且和HTML开发集成,可以在同一个过程完成,利用ASP将可以执行的脚本嵌入到HTML文件中(将HTML文件的后缀名改为.asp),这使得HTML文件的编写与脚本的开发融合在一起。2 ASP的内部特点 (1) ASP内部6大对象ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。这6个对象及其功能描述如表1.1所示。对象名称功能描述Request从客户端取得信息Response将信息送给客户端Server提供一些Web服务器工具Session储存在一个Session内的用户信息,该信息仅可被该用户访问Application在一个ASP-Application中让不同的客户端共享信息ObjectContext配合Microsoft Transaction服务器进行分布式事务处理(2) Global 文件每一个以Active Server Pages为基础的应用程序都拥有一个Global.asa文件(ASA后缀名其实是Active Server Application的缩写),它位于每一个应用程序的基点目录之下。前面已经提到Application和Session这两个ASP的内部对象。Application对象内的信息供所有正在执行该应用程序的用户分享,它创建于Web Server启动后一个应用程序中任一ASP文件被提出第一个HTTP请求时,结束于Server端停止运行。而Session对象仅属于一位用户,维持一个用户端的信息,其他用户无法访问,它创建于一个不具有Session的用户向Server请求一个ASP文件时,结束于该Session到期(即用户端超过某时间段没有向Server提出要求或刷新Web页面)或Abandon语句的调用。可见,Global.asa文件的调用与Application与Session这两个对象密切相关。事实上我们通常在Global。asa文件中写入以下内容:Application或Session的开始事件(Start-event)。Application或Session的结束事件 (End-event)。这样,在一个Application或Session对象被创建或结束时,系统会自动完成Global.asa文件中写入的相应事件。值得注意的是,如果一个Application与一个Session同时开始,Active Server Pages会先处理Application的开始事件,而如果一个Application与一个Session同时结束,Active Server Pages则会先处理Session的结束事件。3 利用ADO访问数据库ADO(ActiveX Data Objects)是一种操作Microsoft所支持的数据库的新技术。在ASP中,ADO可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了ADO技术。具体的操作步骤可以归纳为以下几步:1创建数据库源名(DSN)2创建数据库链接(Connection)3创建数据对象4操作数据库5关闭数据对象和链接2 系统分析2.1 系统需求分析2.1.1 系统调查对现行考试业务进行详细调查是了解系统需求和进香系统分析和设计的重要基础工作,因此要寻我们学校的考试工作进行全面、细致的调查研究、系统调研采取的要方法是到现场去,通过座谈、询问、观察甚至直接参与考试活动,自上而下、逐步细化的进行了解。通过调查得知,原先人工操作在考试活动中占绝大部分,具体的考试经过是:教务处下发或转发学校的考试通知,联系有关老师出卷,安排、检查考场及所需设备,组织监考人员培训和考前宣传、公布考场地点及考试时间、发放准考证等前期准备工作。然后是印刷试卷、考试、阅卷、填分、公布学生成绩、总结、备案、打印通知书等。在考试的部分环节已用到了计算机,如打印试卷、打印有关材料、学生成绩处理与公布等。为适应当前网络技术新形势的发展,把考试与网络技术与数据库技术结合起来,实现考试信息的发布、自动生成试卷,考试成绩自动生成及查询等功能,保证考试的正规性及标准化,所以要求建立一个基于网络的考试系统。2.1.2 考试工作的组织机构设置如图学院领导教务处教师学生考务人员 图2-1 本系统的组织机构设置图2.1.3 用户需求 要设计一个性能良好的管理系统,明确用户的应用环境对系统的要求是首要的和基本的。本系统从以下四个方面对用户需求进行了分析: (1)、用户的信息需求:考生能查询有关考试新闻或考试通知、考试成绩;系统管理员能够进行用户管理;而老师能够进行有关考试的所有操作。 (2)、用户的处理要求:老师能对题库执行增加、删除和修改操作;老师能对考试科目的增加、删除和修改操作;由老师设置考试信息,经过审核后就可考试;在考试时,系统将根据考试信息的设置对每个考生自动生成试卷;老师可设置考试信息,经过管理员审核后批准向考生发布考试新闻;系统控制考试时间、防刷新、考试成绩自动生成、多功能查询等。(3)、对系统的适应性、通用性要求:要求系统能够不受未来课程设置变化的影响,仍能照常使用。(4)对系统的安全性要求,要求进入系统必须进行口令校验。2.1.4 系统业务流程图详细调查的重点是对管理业务的流程进行描述,通过采用系统流程图中部分图形工具来描述管理活动,进行规范化说明。业务流程图的符号说明如图22所示:1、 2、 3、 4、 5、系统中人员 实体或单据 实物或信息流 处理 数据存储 图22 业务流程图图例详细调查之后,结合现行考试模式,为开发本系统而绘制出的无纸化网络考试的管理业务流程图如图23所示。课程考试计划系领导教务处考试通知考试结果参加考试系领导审核。领导审核运行本系统,录入试卷,并发布新闻提请审核。学生试卷教师教师出题系领导 图 2-3 网络考试系统业务流程图2.1.5 可行性分析也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。(1) 经济可行性:主要是对项目的经济效益进行评价,本系统作为一个毕业设计,无需开发经费,对于我系在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学院完全实现网络化管理。所以本系统在经济上是可行的。(2) 技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了当前新兴的Client/Server模式进行开发。结合了Internet/Intranet技术。数据库服务器选用微软公司的SQL Server数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。(3) 时机可行性:目前,大学的校园网路覆盖了教学区和学生区的主要建筑物及部分家属宿舍,从而满足校内各学院,各职能部门,各直属单位上网需求。学校良好的网络设施为开发使用无纸化网络考试系统提供了坚实的基础。(4) 管理上的可行性:主要是教务处管理人员大力支持,系领导认同,现有的管理制度和方法科学,规章制度齐全,原始数据正确等。规章制度和管理方法为系统的建设提供了制度保障。 综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。2.2 新系统逻辑方案系统分析的主要成果是系统的逻辑模型。本系统的逻辑模型主要是以系统的数据流图和数据字典为主要描述工具。即在无纸化网络考试系统管理方式和业务流程进行认真分析和研究的基础上,排除现有组织机构和业务分工所造成的信息障碍。完全从业务管理功能和管理对象出发,按照信息系统中应有的数据流和数据结构来勾画系统的概貌。2.2.1 数据流图数据流图是组织中信息运动的抽象。是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发。将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。首先,分析无纸化网络考试管理系统的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体,得出系统的顶层数据流程图;然后划分出几个主要的信息管理功能,并明确各功能之间的联系,绘制出数据流程图。 外部实体 处理 数据流 数据存储 图24 数据流程图的符号2.0科目管理、生成试卷,并提交审核3.0考试任课教师出卷浏览新闻分数查询分数参加考试试卷批准考试批准新闻批准/不批准1.0提交考试新闻考试通知系统管理员批准/不批准学院领导学生图25 网络考试系统的顶层数据流程图上图中把系统功能分为提交考试新闻、考试科目管理、录入并生成试卷、参加考试、查询分数、浏览考试新闻六个功能。 下面2-6至2-9给出了相应的第二层数据流图。考试计划或考试通知1.0.2按考试计划安排老师出卷1.0.1起草新闻,选择领导审核系统管理员审核通过 审核审核未通过学院领导取消考试 图26 提交考试新闻数据流程图(第二层)2.0.2删除科目2.0.1查询科目老师多余或无用的科目2.0.3添加科目考试时涉及到而没有的科目图27考试科目管理流程图(第二层)2.1.5保存到题库2.1.4增加题目2.1.1选择相应的科目及题型老师2.1.3编辑或删除题目2.1.2浏览题目2.1.6选择科目,设置卷面总分题型分布,分值分布,及考试时间,选择考生并并生成试卷 图28录入及生成试卷流程图(第二层)运行考试系统浏览考试新闻3.0.2选择科目,开启计时器3.0.1在规定时间内到指定的考场参加考试学生3.0.4考试结束,查询分数考试结束3.0.3开始考试图29学生参加考试及查询成绩流程图(第二层)2.2.2 新系统逻辑模型的提出根据前面的分析与评价结果,提出新系统逻辑模型如图29所示。数据编辑用户信息文件用户登录题库信息文件考试信息文件用户信息学院信息题库信息考试新闻考试信息学院信息文件文件数据编辑数据编辑数据编辑考试新闻文件数据编辑学生成绩数据编辑成绩信息表待审核项目信息表数据编辑待审核项目考生信息表数据编辑考生信息表学院管理新闻发布题库管理成绩查询 图29 新系统逻辑模型2.2.3 系统边界输入边界学生原始名单、课程设置情况、班级信息和考试信息、考试新闻、试卷输出边界考试新闻、学生成绩、考试试题。3 系统设计这个阶段的主要目标是将系统分析阶段所提出的反应了用户信息要求的系逻辑方案转换成可以实施的基于计算机和物理方案。3.1 系统总体结构设计3.1.1 系统的总体布局方案 系统的总体布局是指系统的硬软件资源以及数据资源在空间上的分布特征。结合我们计算机学院实际情况(我院使用环境具有典型性,代表了大多数计算机系的使用情况),采用以下总体布局方案:本系统的功能较多,并且规模较大,采用联机系统从信息资源管理的集中程度来看,采用分布式c/s系统从信息处理的方式来看,采用批处理系统3.1.2 软件系统总体结构设计软件系统总体结构设计的主要任务就是将整个系统合理的划分成各个功能模块,正确处理模块之间与模块内部的联系及它们之间的调用关系和数据联系,定义各模块的内部结构等,本系统的软件总体结构按分解协调的原则,信息隐蔽抽象的原则,自顶向下的原则,一致性原则,面向用户的原则进行设计。3.1.3 数据存储的总体设计 按用途分类可把本系统文件分成以下几种:1 主文件:系统中的主文件是最重要的共享文件,主要存放具有固定值属性的数据。它需要长期保存,并不断更新。如用户信息文件、学院信息文件、题库信息文件、考试信息文件、考试新闻信息表、考试成绩文件。 2 处理文件:处理文件包含下一次更新文件所需要的全部记录,本系统中的处理文件如新闻登录日志文件、待审核项目信息文件。3.1.4 系统总体功能结构设计通过对系统的数据流图进行分析,进一步进行功能分解,直到分解成含义明确,功能单一的功能模块,从而得到系统的功能模块结构图,即系统的HIPO图。本系统的HIPO图如图31(见下页)所示。 图313.2 系统详细设计3.2.1 数据库设计数据库(Database),是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。此外,数据库技术还为用户提供了非常简便的使用手段,使用户易于编写有关数据库应用程序。特别是近年来推出的计算机关系数据库管理系统,操作直观,使用灵活,编程方便,功能强大,环境适应广泛,数据处理能力极强。数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求。一个真正的、完整的站点是离不开数据库的,因为少量的数据,如网页访问人数等完全可以存储在文本文件中,但实际应用中,需要保存的数据远不止这一点点,而且这些数据之间往往还有关联,利用数据库来管理这些数据,可以很方便的查询和更新。可以说一个动态网站的建设是离不开一个设计最优的数据库的。我们现在可以使用的数据库有很多种,如:Fox数据库(.dbf)、Access数据库(.mdb)、DB2、Informix、Oracle和SQL Server等等,在本次设计中,选择了SQL Server作为后台数据库工具,因为它功能远比其它数据库强大,并提供了许多标准的关系数据库管理功能的支持。1 概念结构设计 在系统的数据库设计中,先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,然后才能得出系统的关系模式。可以采用ER图的方法来进行数据结构分析,ER设计方法是一种通过ER图来描述现实世界信息结构的DB设计方法。ER图由实体、属性、联系三部分组成。n1查询考试成绩考生学院领导考试新闻审核浏览老师科目信息录入录入试卷录入考试1nn1nm1n 图33 组合ER图考试管理中所涉及到的主要实体集及其属性如下:用户用户ID,姓名,密码,系别,班级,性别,职务,专业,权限;学院自动编号,学院名称;考生自动编号,考试编号,考生考号,是否参加考试;题库题号,所属科目,题型,问题,选项1,选项2,选项3,选项4,选项5,选项6,正确答案,是否已选中标志;考试信息编号,科目,试卷总分,单选题数目,多选题数目,判断题数据,单选题分值,多选题分值,判断题分值,考试时间长度,开始时间,结束时间,设置时间,设置者,审核者,通过审核时间;待审核项目项目名称,项目编号,审核者,审核意见,通过时间,是否已通过审核;考试新闻自动编号,新闻编号,新闻标题,新闻内容,有效期,创建日期,发布者,审核通过者,审核通过日期;考试成绩自动编号,考生考号,姓名,考试科目,考试编号,开始时间,结束时间,分数;新闻登录记录自动编号,新闻编号,用户编号。2 逻辑结构设计(ER图向关系模型的转换) ER图向关系模型的转化要解决的问题是如何将实体和实体间的联系转换为关系模式,如何确定这些关系横式的属性和码。将图312转换为关系模型。每个关系的码用下划线表示。用户用户ID,姓名,密码,系别,班级,性别,职务,专业,是否管理员;科目自动编号,科目名称;考生自动编号,考试编号,考生考号,是否参加考试;题库题号,所属科目,题型,问题,选项1,选项2,选项3,选项4,选项5,选项6,正确答案,难易度;考试信息编号,科目,试卷总分,单选题数目,多选题数目,判断题数据,单选题分值,多选题分值,判断题分值,考试时间长度,开始时间,结束时间,设置时间,设置者,审核者,通过审核时间,难度;待审核项目项目编号,项目名称,审核者,审核意见,通过时间,是否已通过审核;考试新闻自动编号,新闻编号,新闻标题,新闻内容,有效期,创建日期,发布者,审核通过者,审核通过日期;考试成绩自动编号,考生考号,姓名,考试科目,考试编号,开始时间,结束时间,分数;新闻登录记录自动编号,新闻编号,用户编号。3 物理结构设计设计原则如下:3.1进行规范化设计,尽可能地减少数据冗余和重复合理的数据库表的设计应该是在满足需求的前提下,使数据的重复量最小,就尽量按照关系数据库系统理论方法去设计一个数据库,减少数据的冗余。3.2结构设计与操作设计相结合在设计数据库结构时,有时为了编程实现的简捷和思路的清晰,往往故意增加一些冗余数据。这虽然有悖于传统的关系数据库理论,但是考虑到选择的机器型号和档次等因素,如果增加的冗余不会明显增加存储空间和降低处理效率,并且对编程实现有很大帮助,往往可以采用这种方法。3.3数据结构具有相对的稳定性数据结构的相对稳定性,可以作为新、旧系统转换的依据。无论采用何种方法或手段去处理日常事务,都应该能完成相应的功能,决不会因为采用了计算机而丢失 了必要的功能,或彻底改变了原有的工作流程和模式。计算机系统的建成是建立在原系统充分调研的基础上的,它既不能脱离原系统的大框架,也不是简单的重复和替代。所以数据库表结构设计应保证数据的相对稳定,这样才能考虑在新的数据结构下的业务处理方式。本系统中关于数据库表结构设计如下:在服务器上用SQL Sever2000建立名为exam的数据库。其中包括以下表:考试系统用户信息表(cadre_info),考试系统学院表(college),考试系统科目信息表(exam_subject),考试系统考生信息表(exam_testuser),考试系统题库信息表(exam_database),考试系统考试信息表(exam_test),待审核项目信息表(waitforpass),考试新闻信息表(exam_news),考试成绩信息表(exam_score),考试系统新闻登录日志表(exam_news_logs)。下面将具体介绍数据库中各个表的结构。字段名类型备注UserID nvarchar用户ID UserName nvarchar用户的真实姓名Pwdnvarchar用户密码sexChar性别collegenvarchar学院specialitynvarchar专业S_classnvarchar班级statusnvarchar权限phonenvarchar联系电话qqnvarcharQqhavepassint是否通过审批表3-1考试系统用户信息表(cadre_info)字段名类型备注testidnvarchar考试编号subject nvarchar考试科目totalper int试卷总分singlecountint单选题数目multicountint多选题数目judgecountint判断题数目singleperint单选题分值multiperint多选题分值judegperint判断题分值testimeint考试时间长度(小时)starttimedatetime开始时间endtimedatetime结束时间settimedatetime设置时间setuseridnvarchar设置者passuseridnvarchar审核者pastimedatatime通过审核时间表3-2考试系统考试信息表(exam_test)3.2.2 数据库的完整性和安全性 1 数据库的完整性 数据库的完整性是指数据的正确性和相容性。数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件完整性约束条件,数据的约束条件是语义的体现,将作为模式的一部分存入数据库中。本系统中定义了表与表之间的联系有助于实现完整性规则,一般在程序中实现具体的完整性控制。 2 数据库的安全性 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。在数据库考试信息编号,科目,试卷总分,单选题数目,多选题数目,判断题数据,单选题分值,多选题分值,判断题分值,考试时间长度,开始时间,结束时间,设置时间,设置者,审核者,通过审核时间,难度;待审核项目项目编号,项目名称,审核者,审核意见,通过时间,是否已通过审核;考试新闻自动编号,新闻编号,新闻标题,新闻内容,有效期,创建日期,发布者,审核通过者,审核通过日期;考试成绩自动编号,考生考号,姓名,考试科目,考试编号,开始时间,结束时间,分数;新闻登录记录自动编号,新闻编号,用户编号。3 物理结构设计设计原则如下:3.1进行规范化设计,尽可能地减少数据冗余和重复合理的数据库表的设计应该是在满足需求的前提下,使数据的重复量最小,就尽量按照关系数据库系统理论方法去设计一个数据库,减少数据的冗余。3.2结构设计与操作设计相结合在设计数据库结构时,有时为了编程实现的简捷和思路的清晰,往往故意增加一些冗余数据。这虽然有悖于传统的关系数据库理论,但是考虑到选择的机器型号和档次等因素,如果增加的冗余不会明显增加存储空间和降低处理效率,并且对编程实现有很大帮助,往往可以采用这种方法。3.3数据结构具有相对的稳定性数据结构的相对稳定性,可以作为新、旧系统转换的依据。无论采用何种方法或手段去处理日常事务,都应该能完成相应的功能,决不会因为采用了计算机而丢失 了必要的功能,或彻底改变了原有的工作流程和模式。计算机系统的建成是建立在原系统充分调研的基础上的,它既不能脱离原系统的大框架,也不是简单的重复和替代。所以数据库表结构设计应保证数据的相对稳定,这样才能考虑在新的数据结构下的业务处理方式。本系统中关于数据库表结构设计如下:在服务器上用SQL Sever2000建立名为exam的数据库。其中包括以下表:考试系统用户信息表(cadre_info),考试系统学院表(college),考试系统科目信息表(exam_subject),考试系统考生信息表(exam_testuser),考试系统题库信息表(exam_database),考试系统考试信息表(exam_test),待审核项目信息表(waitforpass),考试新闻信息表(exam_news),考试成绩信息表(exam_score),考试系统新闻登录日志表(exam_news_logs)。下面将具体介绍数据库中各个表的结构。 数据库的完整性是指数据的正确性和相容性。数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件完整性约束条件,数据的约束条件是语义的体现,将作为模式的一部分存入数据库中。本系统中定义了表与表之间的联系有助于实现完整性规则,一般在程序中实现具体的完整性控制。 2 数据库的安全性 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。在数据系统中,大量的数据集中存放,而且为许多用户直接共享,是宝贵的信息资源,系统的安全保护措施就显得更为重要,它保护数据库防止恶意的破坏和非法的存取。本系统包括数据库的安全和服务器的安全。采用管理员表示和鉴定的方法实现数据库的安全,此安全管理措施并不在前台开发工具中实现,而是在后台数据库中实现。在登录数据库时,系统让用户表示自己的身份,不同的用户权限不同,系统进行核实,鉴别此用户是否为合法用户,若是,系统进一步核实用户,通常要求用户输入口令,系统和对用户口令以鉴别用户身份。3.3 功能模块设计软件所实现的功能强弱是衡量一个软件的最根本的标准。经过对系统的可行性分析、需求分析、数据分析以及数据库设计后,结合调研的情况,确定了本子系统的功能模块如图3-13所示。 图3-13 系统功能模块图3.4 代码设计通过对数据库表及彼此之间的联系进行分析,为了便于使用者进行操作和管理,需要对有关代码进行统一设计。现以学号为考号设计为例:考虑到一个学校有很多学院,每个学校又分别有数个专业,所以要想设计能唯一标识一个学生的学号(又称为考号)可采用如下编码方案: 学生在班级中的序号如03等班级中的序号如01等 学院 3.5 系统输出设计无纸化网络考试系统的最终用户是对计算机操作较为熟练的人员,从他们的应用需求出发,系统全部采用类似WINDOWS风格的界面,清晰直观,人机交互性好,只需要用户会最基本的WINDOWS操作和拼音输入法,就可用好本系统。3.5.1 有关输出信息使用方面的设计:使用者:学院领导、老师、学生等。报告量:关于某次考试的成绩系统管理员和老师及学生都可查询到。使用周期:略。3.5.2 输出报表的设计本系统的报表为学生成绩报表,管理员输入相应的密码后可查到所有学生的成绩,学生可查到自已的学生成绩。3.6 系统输入设计3.6.1 数据的收集方式根据各校目前实际,采用人工收集数据的方式,这种形式虽然速度慢,出错率高,但仍是目前学生成绩处理的主要收集数据方式。3.6.2 数据的输入方式采用传统的手工数据输入方式,终端用户从原始单据上获取数据。3.6.3 输入设备的选择键盘终端3.6.4 试卷要求要有试卷名称、题号、题目内容、出卷人、分值,难度3.6.5 输入的屏幕设计 屏幕上通过人机对话输入是目前广泛使用的输入方式。因为是人机对话,既有用户输入,又有计算机的输出。3.7 系统处理流程图设计系统的处理流程图是系统流程图的展开和具体化,系统流程图对每一处理功能只是列出其处理功能名称,而处理流程图则使用和种符号具体地规定了处理过程内的各个步骤(包括程序名和文件名)学生名单课程设置表班级设置表录入数据模块学生信息班级信息课程信息试卷及考试新闻考试查询有关考试信息试题库及新闻库成绩报表图315处理流程图4 系统实施系统实施在管理信息系统的生命周期中,要继承此前各阶段的工作,将技术设计转化成为物理实现,是系统建设的实现阶段。因此,系统实施的成果将是系统分析和设计阶段的结晶。4.1 数据库连接的建立 本系统使用的数据库为SQL Server,首先需要安装SQL server,在安装好SQL Server后,运行企业管理器,建立一个名为exam的数据库。然后新建如本文3.3所示的各个表。建立好数据库后,需要建立网站业面与后台服务器的连接。代码如下:其中User id为用户名,password为密码。因为这段代码几乎在下面的每个动态页面中都要使用,所以为了设计的方便可以把它单独封装为一个文件,名为conn.inc,后面如果需要与数据库建立连接只需要在页面代码的前面将这个文件包含进去就行了。4.2 各子系统模块程序设计举例4.2.1 用户登陆界面的实现 本网站用户分为三个权限,分别为学生、老师和管理员。我在系统用户表中设置了一个权限属性,用户登录时,首先判断是用户密码是否正确,错误则提示;然后则进行权限的判断,不同权限的用户进入不同的管理页面,实现不同的功能,当用户选择错误权限时,系统会提示你重新选择。4.2.2 管理员页面的实现+的链接)。2 生成试卷,计时并防刷新。 选择好考试科目后,考生进入考场考试。这时系统需要完成的几个重要功能是:首先生成考试时试卷中的题目,然后计时,还要防止刷新,整个页面其实就是一个大的表单,内嵌一个计时页面。表单只需要在页面上做好一个然后通过循环生成即可。计时系统使用javascript实现的,具体可参考paper.asp文件。5 技术点和难点在整个系统的开发过程中,遇到了很多的问题。从发现问题到解决问题的过程,也是一个学习的过程,很多平常看起来的很简单切复杂的细节问题,都正真的掌握了。5.1 技术点5.1.1 多条件查询在试题查询和用户查询时,因为要用有多个查询条件,如果只是其中的一个的条件查询,就会显得单调,不能很精确地查询到用户所需的资料。在这个系统中,我把多个查询条件一起查询。在script块内function()判断各查询条件是否为空值,如为空,则提示你为查询所有的资料。在查询时,先用request把查询框的数据读出来,通过select语句查询相应的数据表,结果在当前页面里动态分页显示。5.1.2 全选按钮 在我们平时删除用户时,很常遇到这样的一个问题:全部的资料都是没用的,想一下子全删除了,不过系统切没有这样的功能,只好一个一个地删除,麻烦。设计这个系统,为了解决这个问题,我用了一个全选按钮,用户想删除几个也行,当前页面的全部选择也行,方便易用。在script块内function CheckAll()里用for判断form里面有是否全部选择,实用易懂。5.1.3 难度的设置对于不同的考生,所要求掌握的知识则不同,因此考试时,就应该生成不同的试卷。在数据库中,我设置了一个难度表,表示试卷的难度。在老师生成试卷时,有一个难度参数设置,设置了多少,系统会自动计算困难度的试题有多少,容易度的试题又有多少,当题库的题量不够里,就会提示相应是相应难度的试题不够,提醒老师修改试卷设置或增加题库。因为难度的设置为小数,有可能出现小数的题量,则要要求系统取整,我是用了Rount()来四舍五入取整,比较符合难度的设置,如果用fix(),就不是很适合。例如:3.2和3.9,用fix()都是取整为3;而用Rount(),则取整为3和4。5.2 难点5.2.1 recordcount问题我在系统开发时大量用到recordcount来统计查询记录的总和,但是每次都会出现recordcount=-1,网上查看资料才知道,使用以下两种方法来执行SQL语句:SetRs=Conn.Execute(Sqlr)和SetRs =Server.CreateObject(“ADODB.RecordSet“)Rs.OpenSql,Conn,CursorType,LockType由于默认的记录集游标是服务器游标,Rs.CursorLocation=adUseServer所以返回Rs.RecordCount=-1,应该把服务器游标改为客户端游标,Rs.CursorLocation=adUseClient。这个方法有时是行,但有时切不知乍回事,还是取不了值。例如:在生成试卷时,要判断题库里的试题是否够生成试卷,用recordcount不行所以我只好用了count(*) as rec_count 读出查询记录列的总数,再和试卷所需题量比较。还有在分页时也是一样。 5.2.2 随机生成试卷问题刚开始的时候,我想到用randomize取随机数,从数据库中读取题(分别单选,多选,判断)各有几道,如各有X,Y,Z道,再分别产生在X,Y,Z之间的随机数,然后用循环语句(循环的次数分别是试卷的单选题数目、多选题数目、判断题数目)使游标移到以随机数为ID的记录(即题目),读出并显示。但莫名甚妙的出现“下标越界“的问题,解决不了。应该又是那个RecordCount的问题,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!