《c语言程序设计》网上考试系统的设计与实现毕业设计.docx
- 文档编号:12935882
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:67
- 大小:1.70MB
《c语言程序设计》网上考试系统的设计与实现毕业设计.docx
《《c语言程序设计》网上考试系统的设计与实现毕业设计.docx》由会员分享,可在线阅读,更多相关《《c语言程序设计》网上考试系统的设计与实现毕业设计.docx(67页珍藏版)》请在冰点文库上搜索。
《c语言程序设计》网上考试系统的设计与实现毕业设计
毕业设计任务书
一、毕业设计题目
《C语言程序设计》网上考试系统的设计与实现。
二、题目简介
该设计要求学生以《C语言程序设计》课程的考核形式为背景,对“《C语言程序设计》网上考试系统”进行设计和实现。
通过该题目的分析和设计,使学生初步得到软件工程的训练,全面培养软件开发过程中的分析、设计、编码、测试及文档规范书写的能力,得到软件工程的综合训练,提高解决实际问题的能力。
三、设计任务
1.查阅文献资料,一般在5篇以上;
2.针对《C语言程序设计》网上考试系统,锻炼学生的分析、设计能力,培养学生对软件文档规范的书写能力;
3.以《C语言程序设计》课程的考核形式为背景,通过调研、分析现有的考试模式和已有的考试系统,建立系统模型;
4.完成《C语言程序设计》网上考试系统的软件可行性分析、项目开发计划、需求规格说明、概要设计和详细设计(结构化设计方法和面向对象设计方法可任选一种);
5.在分析和设计的基础上编码完成一个可演示的版本并进行测试;
6.撰写设计说明书;
7.做好答辩工作。
四、主要内容、功能及技术指标
《C语言程序设计》网上考试系统的总体目标是:
在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,分析和设计一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的网上考试系统,为普通用户和管理者提供充足的信息、快捷的查询和有效的管理方式,减少不必要的损失和浪费,提高考试信息管理和出卷、阅卷的效率。
1.根据可行性研究的结果和客户的要求,分析现有情况及问题,采用B/S结构,将《C语言程序设计》网上考试系统划分为:
前台和后台。
其中前台主要用于系统登录、考生注册、在线考试、查询成绩等;后台主要用于管理员对各类信息进行查询、删除、添加、修改等操作从而达到有效的管理,主要包括管理注册学生、管理专业信息、管理课程信息、管理套题信息、管理考试成绩、管理考试题目以及管理管理员信息等模块。
网站用户分为管理员和普通用户。
2.整个系统可以选择采用3层B/S结构。
数据库系统可采用Access,SQLServer2000等,前台开发工具可以选用PowerBuilder或VisualBasic、ASP或JSP等;
3.《C语言程序设计》网上考试系统所涉及的信息有管理员、学生、专业、试题、成绩等方面,可通过系统流程图、业务流程图、数据流程图和数据字典对其进行描述,在分析和设计的基础上,提出网站的总体框架并进行详细设计,为网站实现做准备。
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的考试系统设计与实现》陕西科技大学2006[10]期[9]郭立文。
[5]DavidPowers著.PHP与Dreamwaver基础教程[M].北京:
人民邮电出版社,2008.1~50
[6]聂庆鹏,毛书鹏,王志乐编著.PHP+MySQL动态网站开发与全程实例[M].北京:
清华大学出版社,2007.30~70
[7]王维.基于PHP和MySOL的考试系统的研究[D].中国教青技术装备,2010.1~7
[8]赵鹤吧芹.设计动态网站的最佳方案:
Apache+PHP+MySQL[D].计算机工程与设计,2007.1~4
[9]宗杰,马国强,刘冉编著.PHP网络编程学习笔记[M].北京:
电子工业出版社,2008.1~68
[10]王石,杨英娜编著.精通PHP+MySQL应用开发[M].北京:
人民邮电出版社,2006.60~100
[11]TimBoronczyk,MartinE.Psinas编著.熊伟译.PHP&MySQL范例精解——创建、修改、重用[M].北京:
清华大学出版社,2009.23~56
[12]丁月光,孙更新,闫吉辉编著.PHP+MySQL动态网站开发[M].北京:
清华大学出版社,2008.243~258
[13]张银鹤,肖新峰,崔程编著.PHP+Ajax网站开发典型实例[M].北京:
电子工业出版社,2009.15~50
[14]凯文瑞克著.田佳淳改编.PHP5&MySQL5基础与实例教程[M].北京:
中国电力出版社,2007.10~87
[15]张仿彦,刘中华,杨丽编著.PHP项目开发全程实录[M].北京:
清华大学出版社,2008.567~614
八、进程安排
序号
主要任务
时间(周)
1
教师讲解设计要求
根据任务书准备参考资料
0.5
2
做可行性分析研究
0.5
3
做项目开发计划
0.5
4
做需求分析
1
5
概要设计
1
6
详细设计
3
7
编码调试
2
8
检查完成情况
0.5
9
书写设计文档、准备答辩资料
1
10
答辩
1
摘要
随着科技的发展,网络技术已经深入到人们的日常生活中,同时带来了教育方式的一次变革。
而网络考试则是一个很重要的方向。
基于Web技术的网络考试系统可以借助于遍布全球的Internet进行。
因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。
并且缩短了传统考试要求老师打印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这个漫长而复杂的过程,使考试更趋于客观、公正。
本文介绍了一个具有在线考试、及时阅卷、成绩查询以及考题和考生信息管理等功能的无纸化《C语言程序设计》在线考试系统。
该系统是基于PHP和MySQL,为了配合网上教学建立的“网上考试系统”,实现网上学习一体化而设计的。
设计本系统要熟悉HTML,PHP语言及MySQL数据库的编辑和应用。
其中用到了Eclipse帮助进行站点和网页设计,还用到了phpmyadmin对MySQL数据库进行可视化操作。
关键词:
在线考试系统;及时阅卷;PHP;MySQL
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应用程序平台。
Apachehttpserver是世界使用排名第一的Web服务器软件。
它可以运行在几乎所有广使用的计算机平台上。
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。
Apache取自“apatchyserver”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。
Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。
Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。
Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个ApacheWeb站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。
到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。
世界上很多著名的网站如Amazon、Yahoo!
、W3Consortium、FinancialTimes等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
Apache的诞生极富有戏剧性。
当NCSAWWW服务器项目停顿后,那些使用NCSAWWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。
就这样,诞生了ApacheGroup,后来这个团体在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)通过第三方模块可以支持JavaServlets
如果准备选择Web服务器,毫无疑问Apache是最佳选择。
3.开发语言
PHP是英文超级文本预处理语言HypertextPreprocessor的缩写,它是一种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)模板常量替换,无需设置模板
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言程序设计 语言程序设计 网上 考试 系统 设计 实现 毕业设计