毕业设计在线考试系统说明书.doc_第1页
毕业设计在线考试系统说明书.doc_第2页
毕业设计在线考试系统说明书.doc_第3页
毕业设计在线考试系统说明书.doc_第4页
毕业设计在线考试系统说明书.doc_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

.毕业设计任务书题目: C语言程序设计网上考试系统的设计与实现 学生姓名: 李志旭 班级: 软件工程一班 学号: 13740113 题目类型: 软件开发(R) 指导教师: 贾娟娟 一、毕业设计题目C语言程序设计网上考试系统的设计与实现。二、题目简介该设计要求学生以C语言程序设计课程的考核形式为背景,对“C语言程序设计网上考试系统”进行设计和实现。通过该题目的分析和设计,使学生初步得到软件工程的训练,全面培养软件开发过程中的分析、设计、编码、测试及文档规范书写的能力,得到软件工程的综合训练,提高解决实际问题的能力。三、设计任务1. 查阅文献资料,一般在5篇以上;2. 针对C语言程序设计网上考试系统,锻炼学生的分析、设计能力,培养学生对软件文档规范的书写能力;3. 以C语言程序设计课程的考核形式为背景,通过调研、分析现有的考试模式和已有的考试系统,建立系统模型;4. 完成C语言程序设计网上考试系统的软件可行性分析、项目开发计划、需求规格说明、概要设计和详细设计(结构化设计方法和面向对象设计方法可任选一种);5. 在分析和设计的基础上编码完成一个可演示的版本并进行测试;6. 撰写设计说明书;7. 做好答辩工作。四、主要内容、功能及技术指标C语言程序设计网上考试系统的总体目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,分析和设计一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的网上考试系统,为普通用户和管理者提供充足的信息、快捷的查询和有效的管理方式,减少不必要的损失和浪费,提高考试信息管理和出卷、阅卷的效率。1根据可行性研究的结果和客户的要求,分析现有情况及问题,采用B/S结构,将C语言程序设计网上考试系统划分为:前台和后台。其中前台主要用于系统登录、考生注册、在线考试、查询成绩等;后台主要用于管理员对各类信息进行查询、删除、添加、修改等操作从而达到有效的管理,主要包括管理注册学生、管理专业信息、管理课程信息、管理套题信息、管理考试成绩、管理考试题目以及管理管理员信息等模块。网站用户分为管理员和普通用户。2整个系统可以选择采用3层B/S结构。数据库系统可采用Access, SQL Server 2000等,前台开发工具可以选用PowerBuilder或Visual Basic、ASP或JSP等;3C语言程序设计网上考试系统所涉及的信息有管理员、学生、专业、试题、成绩等方面,可通过系统流程图、业务流程图、数据流程图和数据字典对其进行描述,在分析和设计的基础上,提出网站的总体框架并进行详细设计,为网站实现做准备。4在分析和设计的基础上编码完成一个可演示的版本并测试其正确性。五、设计完成提交的成果1毕业设计说明书(论文字数要求:2.5-3万字;源代码工作量:1500行以上。)毕业设计说明书是毕业设计整个过程总结性资料,书写的质量直接影响到毕业设计的成败。毕业设计说明书主要包括以下内容,详细格式和要求请参照毕业设计大纲的要求。 (1)毕业设计的目的和任务 (2) 毕业设计课题(设计题目的来源、选题依据、技术要求、可行性分析、需求分析) (3)对课题的系统分析(技术考虑、平台选择、工具选择及其比较) (4)设计方案(包括软、硬件方案) (5)系统框图和各功能模块图(算法分析) (6) 关键技术的实现和介绍 (7) 系统功能、使用手册、使用范围、使用实例以及系统必要的说明 (8) 设计过程中疑难问题的解决方法,系统需要改进和不完善之处 (9)其他收获和小结 (10) 参考文献目录(附录) (11)主要源程序清单(附录)2以每位学生为单位刻制光盘一张(开发软件压缩包、设计说明书)。六、毕业设计的基本要求通过毕业设计,学生应树立正确的设计思想,培养严肃认真的科学态度和严谨的工作作风,达到积累软件设计知识和提高设计的能力、创新意识的目的;同时掌握查阅有关文献和收集资料的方法,获得软件设计和开发工作的基本技能训练,提高分析和解决软件设计和开发技术问题的能力,并为今后进行各类软件系统的设计开发打下良好的基础。在完成毕业设计任务的同时,学生还应树立正确的工程意识与经济意识,树立正确的生产观点、经济观点和全局观点。1.学生本人应对毕业设计的工作质量负责,有高度的责任心,发挥团队精神,按时独立完成全部设计任务。2.学生在接到毕业设计任务书及指导书一周内,向指导老师提交毕业设计工作计划。3.学生应充分发挥主动性及创造性,树立实事求是的科学态度,自觉接受指导老师检查,按工作计划的进度逐步完成每项设计任务。4.学生必须做好设计笔记,记录设计原始资料、设计过程及参阅的文献资料,设计笔记作为考核平时成绩的依据之一。5.毕业设计纪律:要严格遵守学习纪律,遵守作息时间,不得迟到、早退和旷课,每天出勤不少于6小时。如因事、因病不能参加毕业设计,则需请假,凡未请假或未获准假而擅自不出勤者,均按旷课论处。6.公共道德:要爱护公物,搞好环境卫生,保证设计教室整洁、卫生、文明、安静。严禁在设计教室内打闹、吸烟、嬉戏、下棋、听音乐(包括MP3)。七、主要参考文献1 飞思科技产品研发中心编著 电子工业出版社,2003.8 周影2 基于B/S模式的“计算机网络”网上考试系统的设计和实现 电气电子教学学报 2004(03)J吴青松3 基于B/S结构的网络考试系统J 计算机辅助工程 2003(02)马荣飞4 基于Web的考试系统设计与实现陕西科技大学 200610 期9 郭立文。5 David Powers著.PHP与Dreamwaver基础教程.北京:人民邮电出版社,20081506 聂庆鹏,毛书鹏,王志乐编著PHP+MySQL动态网站开发与全程实例北京:清华大学出版社,200730707 王维.基于PHP和MySOL的考试系统的研究.中国教青技术装备, 2010178 赵鹤 吧芹.设计动态网站的最佳方案:Apache+PHP+MySQLD.计算机工程与设计,200714 9 宗杰,马国强,刘冉编著PHP网络编程学习笔记北京:电子工业出版社,200816810 王石,杨英娜编著精通PHP+MySQL应用开发北京:人民邮电出版社,20066010011 Tim Boronczyk,Martin E.Psinas编著熊伟译PHP&MySQL范例精解创建、修改、重用北京:清华大学出版社,2009235612 丁月光,孙更新,闫吉辉编著PHP+MySQL动态网站开发北京:清华大学出版社,200824325813 张银鹤,肖新峰,崔程编著PHP+Ajax网站开发典型实例北京:电子工业出版社,2009155014 凯文瑞克著田佳淳改编PHP5&MySQL5基础与实例教程北京:中国电力出版社,2007.108715 张仿彦,刘中华,杨丽编著PHP项目开发全程实录北京:清华大学出版社,2008.567614八、进程安排序号主要任务时间(周)1教师讲解设计要求根据任务书准备参考资料 0.52做可行性分析研究0.53做项目开发计划0.54做需求分析15概要设计16详细设计37编码调试28检查完成情况0.59书写设计文档、准备答辩资料110答辩1摘 要 随着科技的发展,网络技术已经深入到人们的日常生活中,同时带来了教育方式的一次变革。而网络考试则是一个很重要的方向。基于Web技术的网络考试系统可以借助于遍布全球的Internet进行。因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。并且缩短了传统考试要求老师打印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这个漫长而复杂的过程,使考试更趋于客观、公正。本文介绍了一个具有在线考试、及时阅卷、成绩查询以及考题和考生信息管理等功能的无纸化C语言程序设计在线考试系统。该系统是基于PHP和MySQL,为了配合网上教学建立的“网上考试系统”,实现网上学习一体化而设计的。设计本系统要熟悉HTML,PHP语言及MySQL数据库的编辑和应用。其中用到了Eclipse帮助进行站点和网页设计,还用到了phpmyadmin对MySQL数据库进行可视化操作。关键词:在线考试系统;及时阅卷;PHP;MySQL目 录1系统概述11.1开发背景11.2系统目标21.3系统特点22可行性分析42.1问题描述42.2可行性分析研究42.2.1经济可行性42.2.2技术可行性42.2.3社会可行性82.3结论意见93需求分析93.1功能需求103.2业务流程图103.3系统流程图113.4数据流图114总体设计124.1系统功能模块设计134.1.1用户登录模块134.1.2考试模块134.1.3考生模块134.1.4题库管理模块144.1.5考生管理模块144.1.6成绩统计模块144.1.7管理员账号管理模块144.1.8公告管理模块144.1.9系统日志模块144.2概念设计144.3实体关系模型154.4数据库设计175系统详细设计205.1系统模块组成215.2详细功能实现215.2.1入口文件配置215.2.2数据库连接配置225.2.3学生系统登陆235.2.4学生考试实现245.2.5管理员登录入口265.2.6后台管理285.2.7试题管理305.3设计重点325.4设计难点335.5设计中的不足335.6改良方案346软件测试与分析346.1软件测试的重要性356.2测试实例的研究与选择356.3测试环境与测试条件366.4系统运行情况366.4.1后台管理员登录366.4.2试题录入功能测试376.4.3添加考生测试376.4.4考生登陆测试386.4.5成绩查询396.5系统评价39总 结41参考文献41致 谢42外文翻译43部分内容来源于网络,有侵权请联系删除!1系统概述1.1开发背景 随着现代科技的发展,互联网已经渗透的我的生活的方方面面,大到航空航天技术,小到千千万万的手机用户,它改变了我们人类的生活、工作的方式,使人类由传统低效、低速手工化迈向高效、快速、智能化的信息时代。现代化的教学模式也在这高速发展的时代发生了翻天覆地的变化, 传统教学模式就是一张白纸黑字,人们只能在这样的书本上找到自己要学的东西,考试也只能通过一张写满问题的答卷来检测一个人的学习水平,这样的学习方式极为低效,不能满足现代社会日新月异的发展需求,而智能化的学习、考试信息系统正好弥补了不足之处,实现了人们对知识的追求这一美好愿望。世界各国对教育的发展给予了前所未有的关注,都试图在未来的信息社会中让教育处于一个优势的位置,从而走在社会发展的前列,为此许多国家都把信息技术应用于教育,采取措施推进教育信息化。美国政府在1996年提出了“教育技术规划”,指出到21世纪初让全美国的每间教室和每个图书馆都将联上信息高速公路,让每个孩子都能在“21世纪教师”网络服务。澳大利亚国家公共资源管理局已于1995年4月建立“澳大利亚教育网”,并联通Internet,该网络不仅包括全部高等院校,而且还覆盖全澳大利亚所有的中小学。网络化在线考试作为网上远程教育的重要组成部分和发展分支,己经在国外一些发达国家得到蓬勃发展,人们选学课程和考试都是通过网上进行。特别是Internet业务的普及,构筑高性能、低成本的计算机网络化在线考试,从技术条件和经济条件上己经成熟。例如在美国,一些著名的考试就采用了网上在线考试的形式包括Microsoft公司的MCSE(微软系统工程师认证考试)GMAT(工商管理硕士入学考试)、托福考试、GRE(美国研究生入学考试)等等,并己在全范应用。在国内,普遍地看绝大多数远程教育的考试还停留在传统考试方式。在此方式下,组织一次考试至少要经过5个步骤,即人工出卷、考生考试、人工阅卷、试卷分析和成绩评估。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且这样工作将是一件十分烦琐和非常容易出错的事情。但是对互联网的真正应用仅限于网上报名工作和网上成绩查询,还没有真正形成上网考试的规模。而在国外一些国家,网上提交作业和网上考试已经相当普及了。所以说传统的考试方式已经不能适应现代考试的需要。近几年来,借鉴发达国家的成功经验,结合我国的实际情况,伴随着网络应用的不断扩大,远程教育和虚拟大学的出现,网络应用正不断深入人心。人们迫切要求利用网络技术进行在线考试,来提高了考试的质量,突出公正和客观性,减轻组织及保障工作的负担,提高工作效率。于是许多教育教学类的课程在线考试软件应运而生,高等学校,企事业单位也都纷纷组织研究此类应用的解决方案,并研制开发了大量的不同类型计算机在线考试软件,也推出了一批优秀的在线考试软件产品。比如全国计算机等级考试软件、职称计算机能力考试等等。有力地推动了我国网络化在线考试的发展水平,并积累了大量有价值的经验。1.2系统目标本考试系统设计为在高校中使用,主要包含三种角色即管理员、教师和学生,主要实现的目标功能如下:1.管理员可以进行系统维护,主要用来设置系统的一些初始化信息,如添加教师,学生,为老师分配课程等。维护包括用户权限添加、删除、修改三种基本的操作。管理员还兼有老师和学生的功能,可以查询有关学生和老师的相关信息是最大权限的用户,拥有系统的所有功能的权限。2.教师教师登录系统后,教师可以进行考试试题录入,并可以对录入的试题进行修改和删除等操作,并可以添加学生和查询学生的考试成绩信息。3.学生学生登录后可以参加考试,系统会自动的抽出一套试题,开始考试后,系统进行倒计时,在规定的时间内考生如果没有交卷,系统会自动帮他交卷,并在考试结束、自动评卷后,学生能及时的查看到自己的考试成绩和答题情况,并可以查询自己以往的考试成绩信息。1.3系统特点 在线考试具有动态出题、自动阅卷、成绩分析等优点,不仅大大减轻了教师人工组卷繁琐的工作量,提高资源利用率,其运行过程中,组卷速度较快,较少出现重复的现象,而且有利于教考分离的实施,符合目前教学改革的目标。更节省纸张资源,增强环保意识。因此,在线考试系统具有潜在的巨大商机和研究价值,是未来数字化校园系统研究的热点内容。在线考试系统的开发目的是使在线考试模式从手工记录转变成信息管理,为在线考试人员提供方便条件。对在线考试的实际情况进行调研之后,进行详细的需求分析,对现有的管理模式进行改进,开发出一套新型的管理系统,从中领悟系统开发的思想,掌握系统开发的流程和方法。随着学校信息系统的不断完善,学校的管理将越来越依赖于信息化的管理。所以系统开发将围绕在线考试工作的实际情况,使之能迅速适应学校考试的需要。在线考试系统的实施的现实意义:减少管理考试的工作人员;管理人员可以随时浏览查看,而且更加直观;改变了以前工资手工记录的方式,电脑录入更加方便快捷;实现了在线考试的计算机化。2可行性分析2.1问题描述传统纸质化考试系统必要经过5个步骤,即人工出卷、考生考试、人工阅卷、试卷分析和成绩评估。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且这样工作将是一件十分烦琐和非常容易出错的事情。很多学校学生的期末考试仍采用任课教师(个人或集体)考前出题的方式。为解决学生压题,考前漏题,补(缓)考试题与正式考试试题题量及难度差异问题,教务管理部门通常要求教师同时出多套试卷,其题量与难度要求相同,并且要同时给出答案和评分标准,采用纸质化考试系统存在工作量大、效率低、成本高等问题。2.2可行性分析研究 可行性分析的目的就是要用最小的代价在尽可能短的时间内确定问题是否能够解决。通过分析解法的利弊,来判定系统目标和规模是否现实,系统完成后所能带来的效益是否达到值得去投资开发这个系统的程度。网络在线考试系统的可行性可从以下三方面考虑。2.2.1经济可行性定期的组织考试是各个院校及时掌握学生学习成绩的有效方式,利用网络在线考试系统,一方面可以节省人力资源,降低考试成本。另一方面,在线考试系统能够快速进行考试和评分,体现出考试的客观与公正性。由以上分析可知,在线考试系统在经济上是可行的。2.2.2技术可行性1.系统架构 本系统可采用B/S架构,即浏览器与服务器架构,无需安装客户端即可运行,系统部署到服务器端,用户只需通过浏览器即可访问。 B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易。 B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。 B/S的优点如下:(1)维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。(2)成本降低,选择更多。(3)应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。2.系统开发环境 Wamp是由Apache+Mysql+Perl/PHP/Python缩写,WAMP是指在Windows服务器上使用Apache、MySQL和PHP的集成安装环境,可以快速安装配置Web服务器,一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。 Apachehttp server是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广 使用的计算机平台上。 Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。 本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。 Apache的诞生极富有戏剧性。当NCSAWWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。Apacheweb服务器软件拥有以下特性:(1) 支持最新的HTTP/1.1通信协议(2) 拥有简单而强有力的基于文件的配置过程(3) 支持通用网关接口(4) 支持基于IP和基于域名的虚拟主机(5) 支持多种方式的HTTP认证(6) 集成Perl处理模块(7) 集成代理服务器模块(8) 支持实时监视服务器状态和定制服务器日志(9) 支持服务器端包含指令(SSI)(10) 支持安全Socket层(SSL)(11) 提供用户会话过程的跟踪(12) 支持FastCGI(13) 通过第三方模块可以支持Java Servlets如果准备选择Web服务器,毫无疑问Apache是最佳选择。3.开发语言 PHP是英文超级文本预处理语言Hypertext Preprocessor的缩写,它是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,PHP 独特的语法混合了C、Java、Perl以及PHP自创新的语法。它可以比CGI或者Perl更快速的执行动态网页。 用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。以下罗列了PHP所具有的一些特点:(1) 开放的源代码。所有的PHP源代码事实上都可以得到。 (2) PHP是免费的。和其它技术相比,PHP本身免费。(3) PHP的快捷性。程序开发快,运行快,技术本身容易学习,上手快。嵌入HTML:因为PHP可以嵌入HTML语言,它相对于其他语言,编辑简单,实用性强,更适合初学者。 (4) 跨平台性强。由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。(5) 效率高。PHP消耗相当少的系统资源。(6) 图像处理。用PHP动态创建图像 (7) 面向对象。在php5中,面向对象方面都有了很大的改进,现在php完全可以用来开发大型商业程序。(8) 专业专注。PHP支持脚本语言为主,同为类C语言。4.开发框架ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。ThinkTemplate是一个使用了XML标签库技术的编译型模板引擎,支持两种类型的模板标签,使用了动态编译和缓存技术,而且支持自定义标签库。其特点包括:(1)支持XML标签库和普通标签的混合定义;(2)编译一次,下次直接运行而无需重新编译;(3)模板文件更新后,自动更新模板缓存;(4)自动加载当前操作的模板缓存文件,无需指定模板文件名称;(5)支持编码转换和Content-Type更换;(6)模板变量输出前缀支持,避免变量名称冲突;(7)模板常量替换,无需设置模板变量;(8)支持变量组合调节器和格式化功能;(9)支持替换其它模板引擎插件使用;(10)支持获取模板页面内容。(11)内置XML模板引擎,支持标签库2.2.3社会可行性本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。1.法律因素:本系统是根据在线考试系统的实际情况开发研制的,是通过大量的调研得出的,系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。2.用户使用可行性:本系统对用户的要求,除了需要具备在Microsoft Windows平台上使用个人电脑的知识外,并不需要特别的技术能力。使用系统的管理员,需要具备对Apache服务器的使用能力,在投入使用前,无需对操作系统的人员进行培训。这样既减少投入成本又简化了操作环节。目前,大多数PC机和局域网能够运行该系统,该系统的安装、调试、运行不会改变原计算机系统的设置和网络的布局,并且大多数用户几乎不用做任何培训都能够方便的操作系统。因此从操作可行性的角度来衡量,本系统的开发方案也是可行的。由以上分析可知,本系统具有社会可行性。2.3结论意见根据前面各节的研究分析结果,对项目在技术、经济、社会进行全面的评价,对建设方案进行总结,本系统在理论上完全可行。3需求分析3.1功能需求 随着计算机技术的发展和网络技术的日益成熟,通过网络进行信息交流已成为一种快捷的交互方式。在这种网络环境下,学校或考试机构希望通过建立网络在线考试网站来扩大知名度、降低管理成本和减少人力物力的投资,从而为考生提供更全面、更灵活的服务,并全面、准确地对考试进行跟踪和评价。与此同时,考生希望根据自己的学习情况进行测试,并能够得到客观、科学的评价;教务人员希望能够有效地改进现有的考试模式,提高考试效率。通过实际情况的调查,要求网络在线考试系统具有以下功能: (1) 界面设计美观大方、方便、快捷、操作灵活,树立企业形象。 (2) 要求实现在线考试功能,自动核算考试成绩。(3) 要求提供考试时间倒计时功能,使考生实时了解考试剩余时间。 (4) 要求系统自动阅卷,保证考试成绩真实有效。 (5) 要求考生凭准考证号查询考试成绩,以保证信息安全。3.2业务流程图在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等。业务流程分析可以帮助使用者了解本系统处理过程,业务流程分析是通过业务流程图来进行,在本套C语言程序设计在线考试系统中的具体业务流程如图3.1所示:图3.1业务流程图3.3系统流程图图3.2系统流程图3.4数据流图在业务流程分析的基础上,对数据流进行了分析,从数据流动过程考察了实际业务的数据处理模式。该系统的数据流图分为顶层、一层、二层。现行的顶层数据流图如图3.3所示。1在线考试系统的顶层数据流图图3.3在线考试系统的顶层数据流图在线考试系统考生考生信息管理员成绩成绩考试系统数据库D12在线考试系统第一层数据流图管理员P1用户管理P2考试管理管理权限1管理权限2管理权限3考生成绩考试信息用户信息考试系统数据库D1P3 成绩管理图3.4在线考试系统第一层数据流图4总体设计4.1系统功能模块设计如图4.1,这是整个C语言程序设计在线考试系统的系统总体功能模块图,包括各个功能模块的联系。图4.1总体功能模块图4.1.1用户登录模块 考生用浏览器登录服务器网址进入考试系统的主页,输人准考证号、身份证号、验证码、密码(初始密码即为123456)后,如果准考证号、身份证号和密码都正确,即可登录到考生考试管理后台,如果登录不上,会有相应提示,提示密码错误或者学号无效(即教师没有录入此准考证号的考生信息)。 4.1.2考试模块 该模块主要负责考生通过计算机进行在线考试,考生登录系统后,进入到考试界面,系统自动从考题数据库中抽出事先教师设定好的考题来,并通过浏览器显示,考生在规定时间内答题。在考试过程中考生可以随意选择答不同类型题的答题顺序,还可以反复检查、修改答案以及查询考试时间等。通过点击“交卷”按钮提交试卷或到规定时间后系统自动提交试卷。4.1.3考生模块考生,可以对个人的资料进行修改,包括修改个人联系电话、邮箱、家庭地址、政治面貌等基本信息,但考生的学号和所在院系、班级信息,不能由考生修改(这些信息只能由老师或管理员来修改)。考生也可以修改个人的登录密码,考生输入原始密码(123456)、输入新密码和确认密码后,如果所有输入无误后,即可修改成功。4.1.4题库管理模块本模块主要负责题库的建立、试题和答案的添加、修改、查询、删除等。系统提供多种类型的试题,包括单选题、填空题、程序题。题库中的试题有试题编号、题型、答案等属性。教师登录系统后台后可以对这些进行管理。4.1.5考生管理模块本模块主要有两个功能,一个是对考生信息的增删改查,一个是对考生信息的维护(包括对考生信息的备份)。4.1.6成绩统计模块在考生提交试卷由系统自动判定部分考生成绩,程序题部分由于技术原因需要老师或管理员手动阅卷。4.1.7管理员账号管理模块系统管理员(admin账号)登录教师管理后台后,可以添加、修改、删除教师或普通管理员账号,不同的管理员对应不同的管理权限,系统管理员的权限大于普通管理员,普通管理员的权限大于教师。 4.1.8公告管理模块本模块主要功能是发布学校考试公告,考试信息等,并对历史公告信息记录,增删改查等。4.1.9系统日志模块本模块主要功能是记录所有管理员或教师的登录日志,教师的操作日志,让教师的每一个操作都可以清晰的显示出来,保证数据的安全性。4.2概念设计通过对网站进行的需求分析、网站流程设计以及系统功能结构的确定,规划出系统中使用的数据库实体对象分别为“考生信息”、“实体信息”、“教师信息”、“成绩信息”等。其中考生实体包括准考证、性别、身份证号、系别、专业,教师实体包括姓名、电话、编号,试题试题包括编号、题目、答案等,成绩实体包括编号,考生号、分数、考生姓名等,具体实体关系见下一章节4.3实体关系模型。4.3实体关系模型本系统共有4个实体,各实体E-R图以及总体E-R图如图所示:考生实体E-R图:考生性别准考证号haohao 号身份证号号系别专业图4.2考生实体E-R图教师实体E-R图:教师电话编号姓名图4.3教师实体E-R图试题实体E-R图:试题题目编号答案类型图4.4试题实体E-R图成绩实体E-R图:成绩考生号号编号分数考生姓名图4.5成绩实体E-R图总体E-R图:nmn1n1n1管理教师试题考生录入参加查询成绩图4.6总体E-R图4.4数据库设计数据库的设计在整个系统中是及其重要的,数据库表的设计直接影响整个系统的性能。依据项目的处理需求,对应数据表的设计及其功能如下。图4.7数据库总体结构图本系统总共设计了8个数据表,管理员表(ts_manager)、学生表(td_student)、考题表(ts_question)、考题类别表(ts_type)、答案存储表(ts_mark)、公告表(ts_acticle)、权限表(ts_auth)、角色表(ts_role),数据结构分别如下个表所示。表4.1 管理员表(ts_manager)名称类型长度备注idint11自动编号也是主键namevarchar10管理员用户名numbervarchar11电话号码passwordvarchar50密码add_timevarchar15添加时间last_timevarchar15最后一次操作时间roleTinyint4角色ipvarchar20最后一次操作ip地址表4.2 学生表(td_student)名称类型长度备注t_numberint50自动编号也是主键namevarchar20学生姓名deptvarchar11系别majorvarchar50专业sexvarchar15性别classvarchar15班级passwordTinyint4密码Id_numbervarchar20身份证号teacherInt11教师markint4分数表4.3 考题表(ts_question)名称类型长度备注idint11自动编号也是主键contentvarchar50题目Select_avarchar200选项ASelect_bvarchar200选项BSelect_cvarchar200选项CSelect_dvarchar200选项Ctypetinyint4类型answervarchar50答案Add_timevarchar20添加时间表4.4 考题类别表(ts_type)名称类型长度备注type_idint11自动编号也是主键type_namevarchar20试题类型valuevarchar4展示en_namevarchar20别名infovarchar50简介表4.5答案存储表(ts_mark)名称类型长度备注idint11自动编号也是主键St_idint4考生准考证号Qu_idvarchar50题目idanswervarchar200考生答案表4.6公告表(ts_acticle)名称类型长度备注idint11自动编号也是主键tittleint4考生准考证号contentvarchar50题目idadd_timevarchar200添加时间表4.7权限表(ts_auth)名称类型长度备注auth_idsmallint6自动编号也是主键auth_namevarchar20权限名称auth_pidsmallint6父idauth_cvarchar32控制器auth_avarchar32操作方法auth_pathvarchar32全路径auth_leveltinyint32权限级别Is_indexint4是否首页表4.8角色表(ts_role)名称类型长度备注role_idsmallint6自动编号也是主键role_namevarchar20角色名称role_auth_idsvarchar128权限idsrole_auth_actext全路径5系统详细设计5.1系统模块组成根据系统的功能要求,C语言在线考试系统中涉及两种不同的用户:考试用户、管理员,他们的职能各不相同。考试用户进入网络考试系统,可以按照学习通知完成查询考试通知,查询个人考试成绩,修改密码,在线考试。管理员能够发布学习通知,发布考试通知,设置考试题型比例,进行试题库维护,包括删除,添加,及时更新,按不同条件查询考生的成绩并进行分析。所有数据都存储在服务器的数据库中,具体应达到以下目标:(1)采用开放、动态的系统框架,加强用户与网站的交互性。(2)具有空间性。被授权的用户可以在异地登陆考试系统,无须到指定地点 行进行考试。(3)操作简单方便,界面简洁美观。(4)系统提供考试倒计时功能,使考生了解考试剩余时间。(5)随机抽取试题。(6)实现自动提交试卷的功能。当考试时间到达规定时间,如果考生还未提交试卷,系统将自动交卷,以保证考试严肃、公正地进行。(7)系统自动阅卷,保证成绩的真实准确。(8)考生可以查询自己的考试成绩。5.2详细功能实现5.2.1入口文件配置配置文件中,配置内容有文件类型皆为html,开启调错功能,Home_URL、Admin_URL两个链接地址等。文件所在地:Testindex.php代码实现如下:?phpheader( content-type:text/html; charset=utf-8 );define ( APP_DEBUG, true );define(Home_URL, /Test/Home/Public/ );define(Admin_URL, /Test/Admin/Public/ );define(TITLE, C语言程序设计在线考试系统 );include ./ThinkPHP/ThinkPHP.php;5.2.2数据库连接配置本系统数据库用户名root,密码000,服务器地址localhost,数据库表前缀ts_,并且开启smarty模板引擎。文件所在地:TestCommonConfconfid.php代码实现如下:配置值SHOW_PAGE_TRACE = TRUE,DEFAULT_MODULE = Home, / 默认分组MODULE_ALLOW_LIST = array (Home,Admin), / 允许访问的分组TMPL_ENGINE_TYPE = Smarty, / 开启Smarty模板DB_TYPE = mysql, / 数据库类型DB_HOST = localhost, / 服务器地址DB_NAME = test, / 数据库名DB_USER = root, / 用户名DB_PWD = 000, / 密码DB_PORT = 3306, / 端口DB_PREFIX = ts_, / 数据库表前缀DB_PARAMS = array (), / 数据库连接参数DB_DEBU

温馨提示

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

评论

0/150

提交评论