欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    在线考试系统的设计实现毕业论文.doc

    • 资源ID:3937709       资源大小:1.61MB        全文页数:55页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    在线考试系统的设计实现毕业论文.doc

    专 业 学 位 硕 士 学 位 论 文在线实时考试系统的设计实现Design and Implementation of Real-time Online Examination System 作 者 姓 名: 学科、 专业: 学 号: 指 导 教 师: 完 成 日 期: 大连理工大学Dalian University of Technology大连理工大学学位论文独创性声明作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外,本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。若有不实之处,本人愿意承担相关法律责任。学位论文题目: 在线实时考试系统的设计实现 作者签名: 日期: 年 月 日摘 要本文论述了考试系统的研究意义、应用前景和主要研究内容,并对系统中用到的理论知识和相关技术进行了详细的阐述,重点介绍了网上考试系统的设计与实现,包括可行性分析、系统分析、数据库设计、系统的实现、系统运行和调试。该系统由用户管理、题库管理、自动组卷、在线考试、自动阅卷、综合查询、试题评估等功能模块组成,具有5个特点:(1) 实现题库数字化。利用数据库技术对试题库进行管理,便于实现试题的添加、维护、分类、检索和制作试卷。(2) 随机自动生成试卷。按照教师制定的组卷策略随机生成试卷,提高了出卷效率和质量。同时避免考前的试题泄密,确保考试公正合理。(3) 有效保存考试数据。考生的试卷、考试成绩都存储于数据库中,方便评阅试卷,提高判卷的准确度,使考试过程规范化。(4) 加强安全性控制。题库的编辑、修改,试卷的查询、考试成绩的查询,都需要进行身份验证。同时增加了处理考试故障的恢复机制。(5) 便利快捷。计算机考试系统提供了方便的考试环境,既节省了印刷试卷的成本,又减轻了教师改卷的负担。本文设计的在线考试系统具有通用性、良好的可扩展性和安全性、并易于维护等优点,能满足目前的在线考试需求。关键词:在线考试;故障恢复;系统安全Design and Implementation of Real-time Online Examination System AbstractThis paper discuss the means of research in examination system ,the future application and the main content of examination system .And It also describe the theory and related technology . It include model tools , archetecture database ,auto-test algorithm, test-effective analysis and so on .The paper discribe the design and construction executable analysis ,system design ,system usage and debug .The test-system conclude uses management ,problem set management ,autotest generation ,online examination ,auto-correct ,search ,effective and other functions.We can know the examination systems chactors by this:First the problem set is digital like.Second ,Auto genarate the examination .We can generate the examination when the teacher select the parameters.Third , the set of problems can be update time by time.Forth , we can save the test data for a lone time to analysis.Fifth , the system is design in a security model .We add security control in the system.Sixth , it is easily to use this system .Computer test system support test enviroment.The system has all-purpose use,good expansion,safety and maintainability and other merits .And it can meet the needs of current online exams.Key Words:Online exam system;restore;system security目 录摘 要IAbstractII引 言11 绪论21.1 系统开发背景21.2 系统研究的意义21.3 现行系统调查41.4 设计目标51.5 本章小结62 系统开发环境与相关技术72.1 开发环境72.1.1 关于ASP.NET82.1.2 C#语言概述102.2 面向对象的程序设计思想112.3 系统架构分析122.3.1 C/S结构分析122.3.2 B/S结构分析132.3.3 本系统架构142.4 数据库技术152.5 本章小结163 系统需求分析173.1 可行性分析173.2 性能需求分析173.3 系统功能需求分析193.4 系统用例分析203.4.1 用例模型203.4.2 考试时序图203.5 本章小结234 系统总体设计244.1 运行环境设置244.2 网站的规划244.3 系统功能结构图264.4 数据库设计274.4.1 数据库设计概要274.4.2 数据流程分析284.4.3 数据库概念设计294.5 本章小结305 系统详细设计与实现315.1 系统业务流程315.2 登录模块的设计实现315.3 考试模块的设计实现345.4 管理模块的设计实现355.2 系统主要部分介绍355.3 故障恢复策略365.3.1 关于XML365.3.2 在线考试系统的故障恢复策略375.4 数据逻辑层设计375.5 系统其他关键技术385.5.1 防止用户非法进入页面385.5.2 用session来实现消息传递385.5.3 禁止用户随意刷新页面395.6 本章小结406 系统安全性能分析与测试416.1 .NET Framework的安全性416.2 严格的权限管理416.3 系统测试426.3.1 界面测试426.3.2 功能测试426.4 网站测试436.4.1 登录测试436.4.2 考试测试446.4.3 管理与维护测试456.5 本章小结47结 论48参 考 文 献49致 谢51大连理工大学学位论文版权使用授权书52引 言考试与课堂教学一直是教学活动中两个最重要的环节。现在的各种考试大都采用传统的考试方式,一次考试需要经过多个步骤,教师出题、印卷、考生考试、人工阅卷、成绩评估和试卷分析等,消耗了大量人力物力,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,可以说传统的考试方式己经不能很好地满足现代考试的需要。随着网络技术、远程教育的发展与普及,我们迫切要求用一种新的方式来进行考试,以减轻教师的工作负担、提高工作效率,提高考试质量,使考试更趋于客观、合理和公证,更有利于教与学。因此在线考试系统的软件开发是现阶段研究开发的一个热点。目前许多国际著名的IT公司所举办的各种认证考试绝大部分采用这种方式。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,以发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来。网络考试从根本上解决了传统考试过程中的工作量大、效率低、反馈周期长、反馈能力弱、资源浪费等缺陷,成为现代教育技术发展与研究的方向。在我国教育中,采用网络考试系统对学生进行考试测评是学校教学改革的一个新的尝试。通过网络考试系统有针对性的随机抽取试题库中的试题进行考试和评卷,可以客观、公正的评价学生的学习效果,更容易测量出学生的实际应用水平,对节省教学管理资源、提升教育评价的理念水平具有一定的实际研究价值和使用价值。1 绪论1.1 系统开发背景目前,计算机和网络的应用己经普及到各行各业。尤其在大、中专院校,校园网的建设已逐步完善,绝大多数学生已经具备了利用网络工具进行信息交流和辅助学习的能力。然而,对于校园网作用的发挥,相当一部分学校只达到了Internet上网代理、对外宣传、提供简单的文件共享与多媒体服务这样简单的应用层次。在学校教学环节中,仍然过分依赖于传统的教学模式,对于网络的开发和应用程度还远远不够。即使是网络教学系统,也大多为静态、无反馈信息的系统,很少提供在线练习与考试的功能。实事上,在学校教学组织工作中,无论进行怎样的教学改革,考试仍然是一个十分重要的组成部分,而传统考试中所依赖的手工方式其“测验、考试”等均存在诸多弊病【1】:(1) 组考工作量大:不仅教师要花费大量的时间和精力到处找试题、拼试卷,而且教务部门也要组织大量的人力物力进行试卷印刷、组织考试、试卷批阅、试卷统分和考试分析等工作,虽然调动了各方面力量但效率并不是很高;(2) 周期长:考试进行好多天之后才能向学生给出考试结果,也才能对学生进行考题内容的讲评,极大地影响了教学的连贯性。这种考试方式己经越来越不适应现代教学的需要。为了缓解教师紧缺的压力,减轻广大教师的劳动强度,切实提高教育教学质量,培养社会有用人才,开发并利用网络考试系统已迫在眉睫。开发网络考试系统,不仅为高校教考分离、教学资源共享、科学评价教学效果、合理安排教学提供了有利的条件,而且为促进教师提高教学水平,使广大的高校教师有更多的时间和精力投身于教研教改和科学研究从而取得更大的成绩提供了可能。可以说,随着计算机网络技术的发展,研究并开发出基于网络的在线考试系统是对传统考试方式的一个冲击和革命。目前不仅是大、中专院校甚至连中、小学校,都希望充分利用现有的计算机和网络资源,提高教育教学效率和质量。1.2 系统研究的意义网络化考试是对传统考试的一种延伸与变革,它可以充分利用网络无限广阔的空间,随时随地的对学生进行考试,不受时间与空间的限制,大大地简化了考试的过程,减轻了繁重的考试管理工作,避免了考试过程中的人为因素,提高了考试考核水平和管理水平。与传统的考试相比,网络化考试系统的优势主要体现在如下几个方面【2】:(1) 保密性强在传统考试中,通常下发试卷等环节需要较长的时间,接触的人员相对较多,给保密带来一定的困难;而在线网络考试系统则采用试题库方式来提供试题来源,考前无任何成套试卷;考试时考卷由计算机现场随机生成,各考生的试卷不完全相同,避免互相参看导致作弊现象或不公平成绩等;试题库可指定专人负责管理,从而增强保密性。(2) 客观性较强采用传统考试时,由于出卷、印刷等问题,一般一次考试所印试卷套数较少,试卷整体覆盖面有限,容易形成小范围复习或猜题等倾向,影响了测试的客观性;另一方面也容易形成作弊现象;而在线网上考试系统采用随机抽题组卷的方式,试题抽取面相对较大,并且同时生成多套试卷,试卷整体覆盖面大,可基本反映考生的实际水平,防止突击复习或猜题、作弊得高分等现象,从而保证考试的客观准确性。(3) 迅速准确,公平公正对于标准化试题而言,在线网上考试系统可自动评分,迅速准确,无任何人为因素,从而避免人为误差及人情分等问题,保证考试的公平公正。(4) 便于组织大规模的异地实时考试以网络技术为支撑的现代计算机应用己经具备较大的规模并相当普及,利用计算机网络组织实施大规模的异地实时考试己成为现代考试中的一种重要的方式,在线网上考试系统是其中最关键的一环。(5) 降低考试成本,提高考务管理效率采用网络考试方式可以把教育者从繁重的考务管理工作中解放出来,而把精力重点放在试题库的精心组织和维护上,这一方面可以有效的提高测试水平,另一方面也可以节约人力、物力、财力从而降低考试成本。网络考试从根本上解决了传统考试过程中的工作量大、效率低、反馈周期长、反馈能力弱、资源浪费等缺陷,成为现代教育技术发展与研究的方向【3】。在我国高等教育中,采用网络考试系统对学生进行考试测评是学校教学改革的一个新的尝试。通过网络考试系统有针对性的随机抽取试题库中的试题进行考试和评卷,可以客观、公正的评价学生的学习效果,更容易测量出学生的实际应用水平,对节省教学管理资源、提升高校教育评价的理念水平具有一定的实际研究价值和使用价值【4】。1.3 现行系统调查随着网络技术的发展,运行在单机上的考试系统基本上趋于淘汰趋势,主要原因是单机运行的考试系统虽然没有网络需求,但缺乏数据共享、集中管理等功能,这样反而给管理人员增加了较大的负担。目前,在一些硬件设施比较落后的地方,还有这样的系统在使用;更多的是随着硬件设施的提高,选用这样系统自带的题库,完成自测工作。美国是率先将计算机技术应用于教育测量的国家,目前己步入成熟应用阶段。许多国际著名的计算机和外语考试均采用基于网络的考试平台,这种通过计算机网络进行的认证考试使我们不出国门就可以获得各种国际上通行的证书。例如微软的认证考试,考试没有固定的时间,考生随时可以到各授权考试中心报名,在确定了考试时间后,提前几天通知考试中心,就可以参加考试【5】。提供远程考试服务也己经成为一项颇有前景的产业,比如美国的思而文学习系统有限公司就是一家专业从事教育和计算机化考试服务的公司,计算机辅助测试是该公司主要经营的业务之一。该公司组织的CAT,考题可通过网络传送到遍及世界的各个考场,考试大多采用标准选择题,考生只需提前通过注册,便可以参加考试;考试结束后考生马上就可以知道考试成绩,同时考生成绩也会立即通过网络传送到相应的授证机构。当今大部分的授证机构(Microsoft、Cisco、Oracle等)均委托思而文公司为其进行测试、评估。国内远程教育的发展也促成了一批远程在线考试系统或实现类似功能的系统,如上海交通大学远程教育中心尝试开发了远程考试系统,北京杰佛软件技术开发有限公司开发了杰佛通用考试系统,英时软件公司开发了PowerExam通用网络考试系统,成都祥和源科技发展有限公司开发了Neoexam在线考试系统等等【6】。目前较多的在线考试系统是采用C/S(客户机/服务器)模式开发的,这种模式下的考试系统要求在客户端单机和服务器上都安装考试应用软件。客户端软件主要包括考试和自动阅卷模块,负责显示考试界面、考试计时并提供自动评卷及与服务器进行联络的功能;服务器端软件主要包括题库管理和考试管理模块,负责维护题库、生成试卷、考试监控及考后必需的人工阅卷、成绩的收取、统计、汇总等工作。考生在单机上参加考试,考试结果被系统收集到服务器指定的目录下。比如全国计算机等级考试的一级、二级VF和VB的上机考试就是属于这种模式的考试系统。这种模式下的考试系统对客户端的软件有很大的依赖性,不易维护并且维护成本较高,不适用于组织大范围的考试。近几年随着ASP、JSP等网页交互技术的出现,基于B/S(浏览器/服务器)模式的在线考试系统逐渐引人注目。这种模式下的考试系统是一个基于数据库和Web技术的远程在线实时测试系统,这种系统的客户端除了浏览器外,无需再安装其它任何应用软件,而同样具有自动出题、自动评卷、保存和汇总成绩等功能,同时系统的维护和升级都非常方便。考生通过Internet即可登录参加考试,不再受地域和时间的限制。目前基于这种模式的网络考试面向的主要是社会上的培训认证考试(如微软的各种认证考试)和远程教育的考试。这种方式适应了现代教育的需要,特别是在远程教育日趋成熟的今天,它代表了未来考试系统的发展方向。本论文的研究课题就是基于B/S模式的在线考试系统的设计。众所周知,考试需要监考,那么随时随地可以进入的网络考试又如何实施呢?按照目前的情况,针对网络考试的组织状况将其分为三种类型:(1) 完全开放型:这种类型适合自我认定性质的考试,用于对所学知识进行检验的自我考核。它完全可以在互联网上公开进行,可在任何网络环境中进行,不需要监考,任何时间、地点随时考试。往往考试结果立即可知,非常方便,一般是不收取费用的。如网上公开的一些小型知识问答。(2) 半开放型:这种类型适用于社会上认证性质的考试。它需要被试者个人申请,并按要求在指定的考点上网参加考试。这些考点是由所认定的考试机构专门开设的,有专人监考,一般是随机服务方式,随到随考,考完立即知晓成绩,一般是要收取一定考试费用的。如微软的各种认证考试。(3) 组织型:这种类型适用于单位、学校及社会认证性质的考试。通过集体申请,在认定的考试机构专门开设的大型考点上网参加考试,也有专人监考,要定时定点,收不收费用由机构自定,如学校机房针对在校学生的网上考试。以上这三种类型的网络考试都仅仅需要浏览器就可以了,无须安装考试系统和题库,所有信息和考试结果都在服务器上。本系统就是基于完全开放型的在线考试系统设计与实现。1.4 设计目标针对传统网络考试存在的问题,本系统除了基本的考试功能外,还需要注意以下几个方面:(1) 考试结束前的30 分钟、15 分钟、5 分钟时对考生进行提示(2) 考试结束后若考生没有进行试卷提交则自动进行试卷保存处理。(3) 系统要有防止考生无意关闭系统或者提交试卷而导致考试无法继续进行的机制。(4) 系统要有当考生计算机出现故障时能够转移考试计算机的功能。(5) 系统对具体试卷的客观题自行判分,主观题则由老师判分。(6) 要保证在同一次考试中系统生成的各份试卷难易度保持在同一个水平。1.5 本章小结本章主要讨论了本课题的研究背景和研究意义,并通过对现行系统存在问题的分析提出了本课题的研发目标,并对该研发目标进行了社会效益、技术基础、资源保障等全方位的可行性分析,从而为进一步的开发指定一个明确的思路。2 系统开发环境与相关技术2.1 开发环境微软开发的.NET Framework是一种新的计算平台,它简化了在高度分布式Internet环境中的应用程序开发。.NET Framework旨在实现下列目标:提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行的。提供一个将软件部署和版本控制冲突最小化的代码执行环境。提供一个保证代码(包括由未知的或不完全受信任的第三方创建的代码)安全执行的代码执行环境。提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于windows的应用程序)时保持一致。按照工业标准生成所有通信,以确保基于.NET Framework的代码可与任何其他代码集成。.NET Framework具有两个主要组件:公共语言运行库(CLR)和.NET Framework类库(FCL)。公共语言运行库是.NET Framework的基础。可以将运行库看作一个在执行时管理代码的代理,它提供核心服务(如内存管理、线程管理和远程处理),而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NET Framework的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(CUD应用程序,也包括基于ASP.NET所提供的最新创新的应用程序(如web窗体和XML/webservices)。.NET Framework可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。.NET Framework不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。.NET框架使开发人员更喜欢使用现在的(而不是早期的)开发平台技术。尤其是.NET框架确实实现了代码重用、代码规范化、资源管理、多语言开发、安全、部署和管理。新平台通过CLR和FCL提供了以下功能:一致的编程模型:现在的操作系统的某些功能是通过动态链接库访问的,另一些功能则通过COM对象访问,而CLR和FCL使所有的应用程序服务都是通过一个公用的面向对象的编程模型访问的。简化编程模型:CLR致力于简化Win32和COM所需的基础结构。尤其是,CLR使开发人员无需理解以下概念:注册表、全局唯一标示符等。CLR使开发人员无需了解这些概念,这些概念并不以CLR的任何形式存在。当然,如果想编写一个与现有的非.NET框架交互的.NET框架应用程序,则必须熟悉这些概念。2.1.1 关于ASP.NETASP.NET是一种用于创建基于Web的应用程序的编程模型。从本质上来说,运行时和.NET Framework类库集可以用于创建动态Web页。它需要在Web服务器的环境中运行,例如Microsoft Internet Information Server(Microsoft互联网信息服务器,IIS),并且根据服务浏览器请求指示在服务器上执行程序。与直接由Web服务器提供的静态HTML不同的是,ASP.NET页面实际上是在服务器上执行以后再产生结果的。页面的最后生成也许是由许多不同的指令和/或数据源构造的。ASP.NET页面以.aspx扩展名存储。页面由程序员将文本、标记(例如HTML)以及ASP.NET特定服务器标记和脚本组合在一起,然后存储在Web服务器上。可以将存储后的ASP.NET页面看成是一套描述如何创建一个HTML页面的指令。当该页面被请求浏览时,服务器端程序将会用纯标记来创建一个客户端浏览器可以读懂并能呈现(render)的页面。因为呈现后的输出是纯标记,所以任何浏览器都能够读懂;所有的动态过程都发生在Web服务器端。ASP.NET特定服务器标记非常强大,例如,它可以对用户的动作作出反应,连接至数据存储以及自动创建非常复杂的HTML结构。正像前面提到的那样,ASP.NET只是.NET Framework的一部分,所以 ASP.NET页面可以利用这个框架提供的所有服务,包括连网、数据访问、安全以及更多其他服务。因为ASP.NET可以使用所有这些服务,所以相比以前,能够创建更加丰富的Web应用程序。只需花少量的时间来构建所有应用程序所需的构建块,而将大多数时间用在应用程序独有的特殊逻辑上。ASP.NET还在Web编程中引入了一些独特的新技术,可以在典型的动态服务器页面(Active Server Pages,ASP)上极大地改善开发模式:语言独立性因为ASP.NET是.NET Framework的一部分,所以可以使用您自己选择的语言来构建ASP.NET应用程序,例如C#、VB或J#。而典型的ASP则仅限于JScript或者VBScript页面。编译而不是解释与典型的ASP在每一次页面请求时都解释编程结构不同,ASP.NET在服务器端动态地将页面编译成可以运行得非常快的本机编程指令。可以很明显地看到典型的ASP页面的性能与相同ASP.NET页面的性能之间相差的数量级别。事件驱动编程模式在典型的ASP中,页面总是以自顶向下的线性方式执行,并且HTML标记常常与程序指令混合在一起。任何一个有一定ASP经验的人都知道这样会使得页面难以阅读,甚至更加难以维护。ASP.NET引入了事件驱动模型,这个模型允许您将代码与标记内容分离,将代码并入处理专门任务的有意义的单元中,例如响应客户端的按钮单击动作。这个类似VB的事件模型极大地提高了页面的可读性和可维护性。服务器控件典型的ASP需要动态地将HTML片断代码接合在一起呈现,这样做的结果就是在应用程序中一遍又一遍地编写相同的代码(您需要多少次才能从数据库查询中构建一张表格)。ASP.NET带给Web编程的一个最大的好处就是能够将公共的呈现和行为封装成服务器控件(server control),可以在应用程序中很方便地重复使用。就像HTML标记一样,服务器控件以声明的形式创建,但是表现为一个位于服务器端的可编程对象,它可以与代码进行交互并输出定制的动态HTML呈现。ASP.NET包含了大约80多个服务器控件,这些控件封装了从标准表单元素到复杂控件(如网格和菜单)的所有内容。控件设计时间的改善(当使用Visual Web Developer时) 开发人员通过使用设计时间界面可以减少花费在开发复杂页面上的时间,这些界面包括敏捷任务面板、标签级导航栏和可以设置控件属性的向导。ASP.NET的第一个版本(1.0和1.1)在2001年至2003年间迅速风靡了Microsoft的开发阵营。程序人员很快便感觉到他们通过使用强大和灵活的.NET Framework可以大大减少编码时间,而且CIO们也看到当程序员花在解决客户代码的疑难问题上的时间减少时,他们就可以将更多的资源投入到更高级的IT结构的改善上。ASP.NET确实是一个里程碑式的版本,它简化了开发人员的工作。但是,就在第一个版本发布之前,Microsoft的ASP.NET小组就已经在为开发ASP.NET 2.0而工作了。他们以下面雄心勃勃的目标来开始他们的工作:(1) 使创建一个典型的Web应用程序所需代码行数减少70%。(2) 提供一套可扩展的应用程序服务,用来为通用应用程序任务提供构建块,例如成员、角色、个人化以及导航等。(3) 创建一系列基于任务的服务器控件,这些控件可以调节上述服务,交付完全、可定制的用户接口(UI),以最小的代码量来展示这些服务。(4) 当与.NET Framework协同工作提供页面服务时,改善IIS的性能。(5) 提供管理功能,以便加强ASP.NET服务器的部署、管理和运行。(6) 改善宿主公司所用的工具,以便可以支持多站点并能够将开发人员的项目迁移至公共部署环境。(7) 让ASP.NET的几乎所有特性都能够方便地扩展或者用定制的高级任务的执行替换。基于以上的分析本系统采用的架构实现。2.1.2 C#语言概述C#语言源于C和C+,是微软专门为.NET设计的语言。C#和.NET Framework同时出现和发展。由于C#出现较晚,吸取了许多其他语言的优点,解决了许多问题。简单的看来,C#仅仅是.NET开发的一种语言。但事实上C#是.NET开发中最好的一门语言,这是由C#自身的设计决定的。作为专门为.NET设计的语言,C#不但结合了C+强大灵活和Java语言简洁的特性,还吸取了Delphi和Visual Basic所具有的易用性。因而C#是一种使用简单,功能强大,表达力丰富的全新语言。应用C#,可以进行Windows应用程序、Windows控件库、Web应用程序、Windows服务、Web服务、报表应用程序、Office等开发。同时,C#还具有大多数程序员所需要的特性:功能强大、语法简单、文档齐全、支持良好。相对于其他编程语音,Java有一个无庸置疑的优点:用户以及编译器第一次不必了解生成可执行代码的特定CPU细节。Java引入了一个编译代码中间层,叫做字节代码,并使用一个虚拟抽象的机器,而不是一个真实的机器。当Java编译器结束了一个源文件的编译后,你所得到的不是可以立即在一个给定平台上运行的代码,而是可以在任何真实的平台上运行的字节代码,唯一的条件就是这个平台要理解和支持Java。这些发展包含着一个文化的变革。作为一个开发人员,你只需要确定Java虚拟机(JVM)提供的抽象层,不同的OS销售商负责执行代码层,从而将中立于平台的字节代码映射到主机平台的机构中。在这种情况下,Java似乎是统一分布式计算机世界的领袖候选人了。“编写一次,永远运行”(并且无论在哪里)一度成为Java诱人但却真实的口号。那么为什么说Java只是“似乎”是一个好东西呢?跨平台理论的发展很好地证明了这一点。我们看到,将Java代码从一个平台移植到另一个平台Java这个语言最重要和最受吹捧的特点并不像宣传的那样容易。任何Java平台都有其自己的虚拟机,它可以理解通用的字节代码,并且及时地将其编译为本地代码。矛盾由此产生,不同虚拟机的执行也很不相同,这一点足以使代码的移植比预期耗费多得多的时间,而且基本上不是自动的。那么,Java模型的好处在哪里呢?首先,Java是一种先进的、面向对象的语言,包含了预防常见错误的内置功能,并在仅仅一两个对象中携带了许多经常需要用到的功能。与C+相比,Java更易于读写,不容易出错,而且更加美观,但是它速度较慢也不太灵活。想实现在任何软件和硬件平台上都可虚拟移植,Java尽可能少地使用了公分母模型,也就是说放弃了将每个平台开发到极限的能力。第二,虚拟机的概念本身就是可移植和可共用的,因此对于分布式环境来说是理想的。Java对于为非Windows平台开发代码是最好的语言。那么对于Windows平台来说,Java又怎么样呢?让Java适应Windows是不可能的,这是由于Sun的许可约束问题。但是Java实在是太吸引人了,Microsoft比谁都能更清楚这一点。因此,Microsoft又一次采取了“拿来主义”的手法,很好地利用了Java 的众多特性,隆重推出了Windows平台的新锐力量,它就是相当简单但十分强大的面向对象的C#编程语言。C#超过了C+,它天生就包含了.NET框架类库中的所有类,并使语法简单化。可以说,Java具备的优点,C#都可以或者都将具备。C# 是.NET的关键性语言,它是整个.NET平台的基础。与C#相比,.NET所支持的其它语言显然是配角身份。比如,VB.NET的存在主要是对千万个VB开发人员的负责。对于JScript.NET和 Managed C+ 也同样可以这么说,后者只是增加了调用.NET类的C+ 语言。C#是唯一没有在设计思路中加入了前辈语言某种遗传的新事物。.NET平台将 C#作为其固有语言,重温了许多Java的技术规则。C#中也有一个虚拟机,叫做公用语言运行环境(CLR),它的对象也具有同样的层次。但是 C#的设计意图是要使用全部的Win32 API甚至更多。由于C#与 Windows的体系结构相似,因此 C# 很容易被开发人员所熟悉。 Java的目的是要拯救分布式计算世界,C# 则不同。C#本质上是C+的进化产物,使用了包括声明、表达式及操作符在内的许多C+特征,但是 C#还有更多的增强功能,比如类型安全(type-Safe)、事件处理、碎片帐集、代码安全性等。鉴于C#强大的功能合易用性,本系统选择C#语言而不是java,VB.net等其他语言。2.2 面向对象的程序设计思想要想使开发的考试系统具有良好的稳定性和可扩展性,使用面向对象的开发方法是目前最好的选择。面向对象技术经过多年的研究实践,已经成为一种成熟有效的开发方法。面向对象的方法是一种分析方法、设计方法和思维方法。面向对象方法学的出发点和所追求的基本目标是使人们分析、设计与实现一个系统的方法尽可能接近人们认识一个系统的方法。也就是使描述问题的问题空间和解决问题的方法空间在结构上尽可能一致。其基本思想是:对问题空间进行自然分割,以更接近人类思维的方式建立问题域模型,以便对客观实体进行结构模拟和行为模拟,从而使设计出的软件尽可能直接地描述现实世界,构造出模块化的、可重用的、维护性好的软件,同时限制软件的复杂性和降低开发维护费用。面向对象程序设计将数据及对数据的操作融为一体,作为一个相互依存、不可分割的整体来处理。它采用数据抽象和信息隐藏技术,将对象及对象的操作抽象成一种新的数据类型,并且考虑到不同对象之间的联系和对象类的重用性。面向对象程序设计所追求的目标是将现实世界的问题求解尽可能简单化,采用符合人类处理问题的思维方式。它用“对象”表现事物,用“事件”表示处理事物的动作,用“方法”表现处理事物的过程,用“消息”传递对象与对象之间的相互联系。面向对象程序设计时,不再是单纯地从代码的第一行一直编写到最后一行,而是考虑如何创建对象,利用对象来简化程序设计,并提供代码的可重用性。同时面向对象程序设计也吸取了结构化程序设计的优点。面向对象程序设计支持先进的软件开发策略:编写可重用代码,编写可维护的代码,共享代码,优化己有的代码等。有了高质量的可重用代码就能有效地降低软件的复杂性,提高软件开发效率。开发者在设计软件时可以利用一些己经精心设计好并且经过测试的代码,这些可重用的代码被组织和存放在程序设计环境的类库中,使以后程序设计过程变得更简单。面向对象程序设计方法具有模块化、信息封装与隐藏、抽象性、继承性、多态性等特点,它又解决了软件系统设计与管理中所需的软件可靠性、可重用性、可扩充性、可维护性及提高开发效率等问题。在本系统设计过程中使用了面向对象的程序设计方法,对系统进行分析与设计,利用面向对象的特点对组卷逻辑、试题表等封装和集成,当需要添加新的组卷逻辑时候,无需修改已有的程序,只要为新的组卷逻辑添加一个具体逻辑类。添加新的题型或题库,也不需要大量改动现有

    注意事项

    本文(在线考试系统的设计实现毕业论文.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开