《软件工程》课程设计范例
更新时间:2023-04-13 20:08:01 阅读量: 实用文档 文档下载
- 软件工程课程设计管理系统推荐度:
- 相关推荐
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
《软件工程》课程设计题目C语言在线考试系统的设计与实现
学生姓名
学号
院系计算机与软件学院
专业
指导教师文学志
二O年月日
1d
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
目录
1.绪论1
1.1.C语言在线考试系统概述1
1.2.C语言在线考试系统的可行性分析1
1.2.1.经济可行性2
1.2.2.技术可行性2
1.2.3.社会可行性3
2.相关技术介绍3
2.1.B/S/S体系结构4
2.2.Java Server Pages4
2.3.Struts5
2.4.Hibernate6
2.5.MySQL6
2.6.Tomcat Web服务器7
3.系统的需求分析7
3.1.系统的功能需求7
3.2.系统的模块划分9
4.系统的设计10
4.1.系统的概要设计10
4.1.1.系统的总体结构10
4.1.2.系统数据库设计11
4.2.系统主要模块的详细设计19
Id
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
4.2.1.试题管理模块设计20
4.2.2.考试管理模块设计21
4.2.3.在线考试模块设计22
4.2.4.答卷自动评分模块设计23
5.系统主要模块的实现25
5.1.创建项目25
5.1.1.开发环境的搭建26
5.1.2.系统的整体框架27
5.2.试题管理模块的实现28
5.2.1.创建持久化类和数据库访问相关类28
5.2.2.创建Struts相关类30
5.2.3.创建表示层JSP文件31
5.3.考试管理模块的实现33
5.3.1.初始种群的生成33
5.3.2.适应度值的计算34
5.3.3.选择(Select)35
5.3.4.交叉(Crossover)36
5.3.5.变异(Mutation)37
5.4.在线考试模块的实现38
5.4.1.倒计时子模块的实现38
5.4.2.故障延时子模块的实现39
5.5.答卷自动评分模块的实现41
IId
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
6.系统的测试43
6.1.系统的测试环境43
6.2.系统的测试用例设计44
6.3.系统的测试结果46
6.4.系统的测试分析47
结束语47
参考文献47
致谢错误!未定义书签。
IIId
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
C语言在线考试系统的设计与实现
张三
南京信息工程大学计算机与软件学院,南京 210044
摘要:随着计算机技术、Internet 技术的迅猛发展,在线考试模式以其跨地域性、随时性和用户广泛性的特点,成为推动
教育现代化的重要手段,已经成为对学生练习、考试、评价和分析教学效果的重要工具。本文研究利用三层浏览器(B/S/S)体系结构,即Web浏览器/Web服务器/数据库服务器结构来实现C语言科目的在线考试系统。该系统实现了试题库的管理、自动组卷和答卷的自动评分等功能,满足了广大教师和考生的需求。该系统的实现以Java语言及其相关技术为基础,构建于MySQL数据库系统以及Tomcat Web服务器之上。该系统的实现表明,在线考试系统能够提高试题库管理、考试
组织和阅卷的效率,并同时保证考试的公正和公平。因此,其他科目的考试也可以开发相应的在线考试系统。
关键词:在线考试系统;B/S/S体系结构;Java;MySQL;自动组卷
1.绪论
本章对C语言在线考试系统进行了概要性的介绍,并在经济、技术、社会三个方面对该系统开发的可行性进行了分析,以说明该系统的开发是可行的,可以立即开始研制工作。
1.1.C语言在线考试系统概述
随着计算机技术、Internet 技术的迅猛发展,绝大部分高校都已接入互联网并建成了校园网,硬件设施也日趋完善。以互联网为基础的在线考试模式,以其跨地域性、随时性和用户广泛性的特点,成为推动教育现代化的重要手段,已经成为对学生练习、考试、评价和分析教学效果的重要工具[1]。
C语言在线考试系统利用开放、动态的系统架构,将传统的考试模式与先进的网络应用相结合,实现了C语言科目考试的无纸化、自动化、网络化。第一,本系统能够帮助教师方便地实现试题的管理,包括试题的录入、查询、修改、删除。第二,本系统实现了自动组卷功能,能够根据出题要求自动生成C语言考试试卷,供考生在线作答。第三,考生在使用本系统进行在线考试时,系统将提供倒计时功能,使考生能够随时了解考试的剩余时间。第四,本系统在考试时间截止之后将自动完成交卷,以保证考试严肃公正地进行。第五,在答卷提交之后,本系统将对答卷进行自动评分并保存结果,以便考生查询考试成绩。
1.2.C语言在线考试系统的可行性分析
项目的可行性一般从三个方面进行分析,即经济可行性、技术可行性、社会可行性。经济可行性分析即进行开发成本的估算以及效益的评估,确定开发的项目是否值得投资开发;技术可行性分析是指对要开发的项目的功能、性能和限制条件进行分析,确定现有的资源条件下,技术风险有多大,项目是否能实现;社会可行性分析是指研究要开发的项目是否存在侵犯、妨碍等责任问题,要开发的项目的运行方式在用户
1d
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
组织内是否行得通,现有管理制度、人员素质和操作方式是否可行[2]。本节从这三个方面对C语言在线考试系统的可行性进行分析,以便后续工作的展开。
1.2.1.经济可行性
C语言在线考试系统的开发成本包括开发该系统的人力的费用以及用于购买部署该系统并充当服务器的计算机的费用。开发该系统估计需要四个开发人员一周的工作量,如果每人每月的工资为2000元,则开发该系统的人力费用约为2000元。为了部署该系统,需要购买一台带有较大容量磁盘的高性能计算机,费用估计在1万元。因此,开发该系统的成本总计为1.2万元。
在未使用该系统之前,为了进行C语言考试,必须支出相应的人力费用进行出卷、组织考试和批阅试卷,这部分费用约为每年4000元。此外,由于传统考试模式需要用纸,每年需要约3500元的纸张费用。因此,若维护系统每年需花费500元,使用C语言在线考试系统每年可节省约0.7万元。
根据以上的估计开发费用和节省的费用,在假设年利率i等于12%的前提下,可以计算得到投资的回收期为2.03年(如表1-1所示),即在使用C语言在线考试系统2.03年以后用户可以收回全部投资。因此,开发C语言在线考试系统在经济上是可行的。
表1-1 C语言在线考试系统的成本/效益分析
1.2.2.技术可行性
(1)对所建议的系统的简要描述
C语言在线考试系统利用数据库对试题信息进行高效、便捷的管理,实现试题的录入、查询、修改和删除。同时,系统提供了自动组卷功能、倒计时功能、试卷提交功能、试卷评分功能,实现了考试的无纸
2d
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
化、自动化、网络化,并体现了考试的公正、严肃。
(2)与现有系统比较的优越性
C语言在线考试系统利用数据库对试题进行管理,使得对大量试题的管理高效、方便地进行,而传统考试模式下的试题管理低效耗时,在试题达到一定数量之后,管理起来十分不便,需要耗费大量的时间和精力。由于试题存放于计算机硬盘中,并采用在线考试这种无纸化的考试模式,与传统考试模式相比,不仅节省了试题的存放空间,更是节约了大量的纸张(试卷和答题册),更加环保、节约。同时,该系统的自动组卷和评分功能使得出卷和评分过程自动化,与传统的手工出卷评分相比,节省了大量的劳力,使得广大教师可以从繁重的出卷、评分工作中解脱出来,从而把更多的时间和精力用于教学和科研。此外,系统的试卷提交功能在考试时间截止时,自动完成试卷的提交,阻止考生继续答题,使得考试的公正性和严肃性较传统考试更好得体现。最后,该系统提供的倒计时功能,使得考生在考试过程中更合理地安排时间,有助于考生取得好成绩。
(3)采用建议系统可能带来的影响
采用C语言在线考试系统之后,试题的管理效率,组织考试和评卷的效率将大为提高,有利于在短时间内实现对考生的C语言学习情况的检验。同时,本系统将节约大量的纸资源,节省组织考试的开支。教师将从繁重的出题、组织监督考试、评分的工作中解脱出来,把更多的时间和精力用于教学和科研。
采用C语言在线考试系统之后,要求教师适应新型的试题管理模式,需要教师掌握该系统的使用。对考生而言,要求他们适应新型考试模式,同样,也需要他们熟悉系统的使用。
(4)所建议技术可行性分析
C语言在线考试系统是一个基于B/S/S体系结构的网络应用系统,开发这类系统的技术已经比较成熟,比如JSP技术、ASP技术等等。同时,考虑到开发人员对这类系统以及相关的技术比较熟悉且开发期较为充裕,预计可以再规定期限内完成开发。
1.2.3.社会可行性
(1)法律方面的可行性
C语言在线考试系统的研制和开发的过程,将在严格遵守国家各项法律法规的基础上进行,将不会侵犯他人、集体和国家的利益。同时,在系统的开发过程中,将严格遵守与客户签订的合同的各项条款。
(2)使用方面的可行性
C语言在线考试系统的研制和开发将充分考虑到用户的业务往来、管理流程和人员素质等,从而能满足使用要求。
2.相关技术介绍
C语言在线考试系统的开发采用了三层浏览器(B/S/S)体系结构,即Web浏览器/Web服务器/数据库服务器结构[7]。本文中采用了Java语言及相关技术JSP、Struts和Hibernate实现该系统,并以Tomcat作为Web服务器,以MySQL作为数据库服务器。本章是对这些技术和服务器的介绍。
3d
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
2.1.B/S/S体系结构
将Web技术的B/S结构与数据库系统的三层C/S/S体系结构结合,产生了Web浏览器/Web服务器/数据库服务器结构,如图2-1所示。B/S/S体系结构是指在TCP/IP的支持下,以HTTP为传输协议,客户通过浏览器访问Web服务器和与Web服务器相连的后台数据库的体系结构,它由Web浏览器、Web服务器、中间件和数据库服务器组成。在B/S/S结构中,各组成部分之间通过Internet(或Intranet)相连,遵守HTTP协议,浏览器通过发送请求和服务器端建立连接,从而实现以整个Internet为背景的数据存储和访问。
图2-1 Web数据库系统的三层B/S/S体系结构
B/S/S结构中的表示层有Web浏览器,它向网络上的Web服务器提出服务请求,接收Web服务器返回的页面并显示给用户;事务逻辑层有Web服务器,它接受用户的请求并判断请求的类型。如果请求的是一般静态页面,就直接在Web服务器的文件系统中找到页面并返回;否则执行相应的应用程序,比如对数据库进行更新、查询等,随后获得数据库操作的结果,将结果动态生成页面,返回给表示层的客户端;数据层则有数据库服务器,实现数据的存储、维护、访问和更新,它接受Web服务器的数据操作请求,并把运行结果返回给Web服务器。
B/S/S结构具有以下特点:
第一,基于TCP/IP开放式网络标准协议,完全实现了跨平台访问计算机及其网络上的各种资源,具有很强的系统独立性和平台无关性。
第二,软件维护开销大大降低,只需开发维护服务器应用程序,无需开发客户端程序,规范和统一了客户端程序的标准——Web浏览器,从而统一了用户界面。
第三,充分发挥了数据库管理系统(DBMS)高效的数据存储和数据管理能力,实现了更大程度和更大范围的数据库资源共享。
B/S/S结构代表了当前数据库应用软件技术发展的趋势,是目前开发Web数据库应用系统普遍采用的数据库系统体系结构。它的优点使它成为构建高效安全Web数据库应用系统首选的体系结构[7]。
2.2.Java Server Pages
Java Server Pages简称JSP[12],是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网
4d
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*)中插入Java程序段(scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux 下运行,也能在其他操作系统上运行。
与前一代Internet/Intranet开发语言(ASP、PHP)相比,JSP在以下几个方面有了重大突破:
第一,通过JSP的扩展标签库和JavaBeans功能,网站逻辑和网站界面可以完美地分离。
第二,使用Enterprise JavaBeans,可以轻松地在JSP开发的Web中实现事务、安全、会话等等企业级应用所需要的功能。
第三,JDBC 2.0提供了不同的数据库产品无关的数据库连接方式,更重要的是,数据库连接池提供了一种比普通的数据库连接方式效率高得多的连接方式。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。所有程序操作都是在服务器端进行,网络上传送给客户端仅是得到的结果,对客户浏览器的要求最低,可以实现无plugin,无ActiveX,无Java Applet,甚至无Frame。
JSP具有以下的优点[6]:
第一,将内容的生成和显示进行分离。使用JSP技术,Web页面开发人员可以使用HTML或者XML 标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装标识在JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响动态内容的生成。在服务器端,JSP引擎JSP标识和小脚本,生成所请求的动态内容并且将结果以HTML(或XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
第二,可重用的组件。绝大多数JSP页面依赖于可重用的,跨平台的组件(JavaBeans或者EJB组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
第三,用标识简化页面开发。Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
2.3.Struts
Struts 是Apache 软件基金组织Jakarta 项目的一个子项目,Struts 的前身是Craig R. McClanahan 编写的JSP Model2 架构。
Struts 在英文中是"支架、支撑"的意思,这表明了Struts 在Web 应用开发中的巨大作用,采用Struts 可以更好地遵循MVC 模式。此外,Struts 提供了一套完备的规范,以及基础类库,可以充分利用JSP/Servlet 的优点,减轻程序员的工作量,具有很强的可扩展性。Struts的作者Craig R.McClanahan参与了JSP规范
5d
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
制定以及Tomcat4的开发,同时还领导制定了J2EE平台的Web层架构的规范。受此影响,Struts框架一经推出,立即引起了Java 开发者的广泛兴趣,并在全世界推广开来,最终成为世界上应用最广泛的MVC 框架[9]。
2.4.Hibernate
当前的软件开发语言已经全面转向面向对象,而数据库系统仍停留在关系数据库阶段。面对复杂的企业环境,同时使用面向对象语言和关系数据库是相当麻烦的,不但中间的过渡难以理解,而且其开发周期也相当长。
Hibernate 是一个面向Java 环境的对象/关系数据库映射工具。对象/关系数据库映射( Object/Relational Mapping) 表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去[10]。
Hibernate 的目标是:释放开发者通常的数据持久化相关的编程任务的95% 。对于以数据为中心的程序而言,往往在数据库中使用存储过程来实现商业逻辑,Hibernate 可能不是最好的解决方案。但对于那些基于Java 的中间件应用中,设计采用面向对象的业务模型和商业逻辑时,Hibernate 是最有用的。不管怎样,Hibernate能消除那些针对特定数据库厂商的SQL代码,并且把结果集由表格式的形式转换成值对象的形式。Hibernate不仅管理Java类到数据库表的映射(包括Java 数据类型到SQL 数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度地减少在开发时人工使用SQL和JDBC处理数据的时间。
2.5.MySQL
MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。MySQLAB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。
MySQL是一种关联数据库管理系统。关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大的仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL指得是结构化查询语言。SQL是用于访问数据库的最常用标准化语言,它是由ANSI/ISO SQL标准定义的。SQL标准自1986年以来不断演化发展,有数种版本。
MySQL软件是一种开放源码软件。开放源码意味着任何人都能使用和改变软件。任何人都能从Internet 下载MySQL软件,而无需支付任何费用。如果愿意,你可以研究源码并进行恰当的更改,以满足你自己的需求。
MySQL数据库服务器具有快速、可靠和易于使用的特点。MySQL服务器还有一套实用的特性集合,这些特性是通过与用户的密切合作而开发的。在MySQL的基准测试主页上,给出了MySQL服务器和其他数据库管理器。
MySQL服务器最初是为处理大型数据库而开发的,与已有的解决方案相比,它的速度更快,多年以来,它已成功用于众多要求很高的生产环境。尽管MySQL始终在不断发展,但目前MySQL服务器已能提供丰富和有用的功能。它具有良好的连通性、速度和安全性,这使得MySQL十分适合于访问Internet
6d
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
上的数据库。
MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中。MySQL数据库软件是一种客户端/服务器系统,由支持不同后端的1个多线程SQL服务器,数种不同的客户端程序和库,众多管理工具和广泛的应用编程接口API组成。还能以嵌入式多线程库的形式提供MySQL服务器,你可以将其链接到你的应用程序,从而获得更小、更快、和更易管理的产品[4]。
2.6.Tomcat Web服务器
Tomcat服务器是一个免费的开放源代码的Web应用服务器。它是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成[11]。由于有了Sun 的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat 5支持最新的Servlet 2.4和JSP 2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行Tomcat 时,它实际上作为一个与Apache独立的进程单独运行的。这里的诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat 和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。
3.系统的需求分析
在系统的可行性分析完成以后,并确定系统可以立即投入设计和研制时,下一步要做的工作便是系统的需求分析,即通过各种途径(访谈、调查问卷、实地考察等)了解并明确用户对所要开发的系统各方面的需求,包括功能上的要求、性能上的要求、操作方便性的要求等等。本章对C语言在线考试系统进行了需求分析,主要是根据用户对系统功能方面的要求,明确了系统所要实现的各个功能的相关细节,并在此基础上对系统进行了模块划分,为后续的系统的设计打下基础。
3.1.系统的功能需求
根据用户对系统功能方面的实际要求,C语言在线考试系统的主要功能包括:用户登录验证功能、用户管理功能、试题管理功能(试题的录入、查询、修改、删除)、考试管理功能、自动组卷功能、倒计时
7d
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
功能、试卷提交功能、故障延时功能和答卷自动评分功能。本节详细地说明了用户对这些功能的需求。
(1)用户登录验证功能
用户在登录C语言在线考试系统时必须进行身份验证,只有通过了身份验证,才能进入并使用该系统。系统的用户应分成三大类,即管理员、教师和考生。用户在登录时,系统应提供用户类别的选择,以区别不同用户的登录;用户在选择好登录身份之后,系统应该要求用户提供用户名和密码,以进行登录验证。系统应该为管理员(有若干位)预置登录的用户名和密码,并允许管理员修改用户名和密码。在系统提供给教师和考生使用前,管理员负责向系统中提前录入教师和考生的一些相关信息,比如教师的编号、考生的学号以及各自的身份证号等等,这些信息可用来作为这两类用户首次登录时的验证信息。用户首次登录之后,系统应该要求用户修改登录信息,特别是登录密码,以防止他人冒用。此外,为了防止恶意软件进行系统攻击,每个用户登录之前都要以图片的形式产生一组随机验证码[8],用户必须输入正确的验证码才能进入系统。
(2)用户管理功能
C语言在线考试系统应该对用户进行有效的管理。系统的用户分成了三类,即管理员、教师和考生。管理员具有系统操作的最高权限,负责添加教师和考生用户,并查看其用户信息(不包括密码)。管理员的初始用户名和密码是内置的,管理员可以修改自己的用户名和密码,并添加和修改其他相关信息。对于教师用户来说,用户信息应至少包括登录的用户名和密码,初始时可以选择教师的教师编号作为用户名,身份证号作为密码,之后可以修改。教师可以添加和修改自身相关的其他信息,并查看考试结果(包括相关分析)。对于考生来说,用户信息应至少包括用户名、密码,初始时,用户名为考生的学号,密码为考生的身份证号,之后可以修改。考生可以添加和修改自身的相关其他信息,并查看考试成绩。
(3)试题管理功能
C语言在线考试系统需要实现试题的管理功能,即组建一个试题库,以便对大量的C语言试题进行高效、便捷的管理。该功能包括:试题的录入,即使得教师能够方便地将C语言试题及其参考答案录入系统的试题库。试题录入子功能应该根据教师录入的试题的类型(选择题、填空题、程序设计题)对试题进行分类管理;试题的查询,即使得教师能够根据试题的某些关键字方便地查询试题,以便检查和修改试题。试题的查询子功能同样应该对不同的题型进行分类查询,以提高查询的效率;试题的修改,即使教师能够对已经录入系统的试题及其参考答案进行不限次数的修改,以便提高试题本身或参考答案的准确性;试题的删除,即使教师能够删除已经录入系统的试题(连同参考答案),以便更新试题库。
(4)考试管理功能
考试管理功能,即系统提供管理员对考试信息以及考试公告的管理功能。具体来说,系统管理员用户可以安排考试、编辑考试信息、利用自动组卷功能生成试卷投入考试使用;系统管理员可以发布、编辑考试公告。而教师和考生用户则只能浏览考试公告。
(5)自动组卷功能
自动组卷功能,即系统能够自动生成C语言试卷,供考生作答。自动组卷功能应该根据管理员的要求组卷,即管理员可以设置试卷所包括的题型,各类题型的分值和题数,各类型的试题在试卷上的先后顺序以及考试的时间限制。自动组卷功能应该按照管理员设置的出卷要求按照某种算法从试题库中选择相应的试题,保证每个试题都有机会出现在试卷上,并且每次组卷试卷相同的概率尽可能小。
8d
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
(6)倒计时功能
倒计时功能,即在考生进行测试的界面上提供倒计时,以便考生随时了解考试的剩余时间。倒计时功能应该根据教师设置的考试的时间限制准确地进行,保证考试的公平性。倒计时功能应该在考试结束前10分钟时给出相应的提示,提醒考生抓紧时间作答。此外,该功能出现在界面上的位置应该合理,显示的大小适中,不至于分散考生的注意力,产生负面效果。
(7)试卷提交功能
试卷提交功能包括两种情况,一种情况是考生在考试时间截止之前就已经完成答题,应允许考生提交试卷;另一种情况是考生在规定的考试时间内没能完成答题,此时,系统将自动完试卷的提交,以避免考生继续答题,破坏考试的公平性。对于提前完成考试并欲提交试卷的考生,试卷提交功能在正式提交试卷之前,应该给出确认提示,保证考生不是由于误操作而提交试卷。自动提交试卷的情况则应该与倒计时功能相一致,确保倒计时到零时自动提交试卷并切换主界面到考试结束界面。
(8)故障延时功能
故障延时功能,即当某个考生的电脑发生故障,例如死机时,监考人员可以暂停该考生的答题倒计时。当故障排除之后,考生可重新登录系统,进入考试,此时考生的考试剩余时间同故障发生时相同,即考生的考试时间被延迟。
(9)答卷自动评分功能
答卷自动评分功能完成考生答卷的批阅和评分工作,得出考生的成绩。由于C语言考试试题一般包括选择题、填空题和程序设计题,所以系统应能够自动完成这三类试题的批阅和评分。对于程序设计题,应能将考生的程序保存下来,批量编译、运行,得出结果以判断程序是否正确。
3.2.系统的模块划分
根据系统的功能需求,将C语言在线考试系统分成六大模块进行设计:(1)用户登录验证模块;(2)用户管理模块;(3)试题管理模块;(4)考试管理模块;(5)在线考试模块;(6)答卷自动评分模块。各个模块及子模块的划分和功能说明如表3-1所示:
表3-1 C语言在线考试系统的模块划分
9d
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
10d 续表3-1
4.系统的设计
在C语言在线考试系统的需求分析和模块划分完成的基础上,本章论述了该系统的概要设计和主要模块的详细设计。
4.1.系统的概要设计
本节对C语言在线考试系统进行概要设计,给出了系统的总体结构图和数据库的设计。
4.1.1.系统的总体结构
根据上一章需求分析中的系统模块划分,对C语言在线考试系统进行总体设计,得到系统的总体结构图如图4-1所示(各模块的功能说明见上一章表3-1):
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
图4-1 系统的总体结构图
4.1.2.系统数据库设计
本节根据系统各模块的功能和模块间的相互关系,对系统的数据库设计进行论述,包括了数据库的需求分析、概念结构设计、逻辑设计和表设计。
(1)数据库的需求分析
C语言在线考试系统实现了用户管理、试题管理、在线考试、试卷评分等功能,这些功能所涉及到的数据库的需求说明如下:
为实现用户的管理,必须在数据库中保存用户的信息,由于用户分成管理员、教师和考生三类,数据库中应建立对应的管理员表、教师表和考生表。此外,为了方便管理同一考场的考生,数据库中应建立考生组表。
为实现试题的管理,数据库中应建立试题表以保存试题信息。
为实现考试的管理,数据库中应建立试卷表保存自动组卷功能生成的试卷;应建立考试信息表和考试公告表,保存考试信息和考试公告。
为实现在线考试和试卷评分,数据库中应建立答题表存放考生的答题结果。此外,应建立考生的成绩表用于保存考生的成绩和相关的考试信息。
对于系统E-R图中的m:n关系(即多对多关系),也应建立相应的表。
(2)数据库的概念结构设计
11d
1.1 附件1:ace 与GBT19011-2008标准主要差异性分析
12d
根据C 语言在线考试系统的数据库需求分析进行概念结构设计,画出系统的实体-联系图,即E-R 图[3]
(图4-2)以及实体图(图4-3~图4-18)。
图4-2 C 语言在线考试系统数据库概念结构设计(E-R 图)
图4-3 管理员实体图
图4-4 教师实体图
管理员
考生组
教师
试题
答题卡
成绩单
试卷
考试
考试公告
考生
教师管理
考生组管理
考试管理
属于
答题
组卷
试题管理
自动阅卷
指导
查看
1
m
p
m
m
q
n
1
m
1
m n
n
n
m
n
n
1
p
1
1 m
n
公告管理
m 使用
1 属于
包含
1
p
m
教师
密码
用户名
编号
真实姓名
院系
管理员
密码 用户名
编号 真实姓名
1.1 附件1:ace 与GBT19011-2008标准主要差异性分析
13d
图4-5 考生实体图
图4-6 试题实体图
图4-7 考试实体图
图4-8考试公告实体图
图4-9 试卷实体图
考试
编号 监考人编号 考场 描述 考试日期 考生组编号 试卷编号
总分 考试时长
考试公告
编号
公告内容 浏览次数 公告标题 作者 试卷
编号 是否使用 生成时间 管理员编号
试题
分值 难度 试题描述 参考答案 类型 编号
考生
密码 用户名 编号 真实姓名 考生组编号
所在院系
1.1 附件1:ace 与GBT19011-2008标准主要差异性分析
14d
图4-10 考生组实体图
图4-11答题卡实体图
图4-12 考生成绩单实体图
图4-13 公告管理实体图
考生成绩单
考生编号 考生成绩
考试编号
是否暂停考试 考试剩余时间 编号 是否交卷
管理员编号 操作日期 操作 公告编号 公告管理
编号
管理员编号
操作日期 操作 考生组编号 考生组管理
编号
答题卡
编号 考生答案
考试编号 得分 考生编号
试题类型
试题编号 是否批阅 考生组
编号
组名 教师编号
备注
1.1 附件1:ace 与GBT19011-2008标准主要差异性分析
15d 图4-14 考生组管理实体图
图4-15 教师管理实体图
图4-16 试题管理实体图
图4-17 考试管理实体图
图4-18组卷实体图
(3)数据库的逻辑设计及表设计
根据系统的总体概念设计模型、E-R 图向关系模式的转化规则和数据库的范式理论,得到系统优化后的逻辑模型[5],如表4-1~表4-17所示:
表4-1 管理员表 (admin 表)
管理员编号 操作日期
操作 考试编号 考试管理
编号
试卷编号 组卷
编号 试题编号
管理员编号
操作日期
操作 教师编号 教师管理
编号
教师编号
操作日期
操作 试题编号 试题管理
编号
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
续表4-1
表4-2 教师表(teacher 表)
表4-3 考生表(student 表)
表4-4 试题表(question 表)
表4-5考试表(exam表)
16d
1.1 附件1:ace与GBT19011-2008标准主要差异性分析
续表4-5
表4-6考试公告表(notice表)
表4-7试卷表(exam_paper 表)
表4-8 考生组表(stu_group 表)
表4-9答题卡(answer_sheet 表)
17d
正在阅读:
《软件工程》课程设计范例04-13
东北大学2015年春学期《数字电子技术基础》在线作业1满分答案11-03
面向消费者营销创新07-29
四川省攀枝花市米易中学2017-2018学年高一9月段考数学试题 Word07-05
以珍惜为话题的作文500字07-03
海南国际旅游岛形象建设与网络公关策略03-20
血浆降钙素原(PCT)测定其临床意义论文07-09
2014年陕西省普通高中学业水平考试通用技术 - 图文12-23
门户网站需求建议书09-01
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 软件工程
- 范例
- 课程
- 设计
- 2013电大监督学(专)必备小抄答案
- 国家自然科学基金申请代码(2022年版)简介
- 国家自然科学基金申请书范例
- 苏州学声乐的培训机构
- ESL Podcast 879 – Saying No
- 2022-2022年中国汽保行业深度调研与重点企业经营分析报告
- 2022-2022年中国天然气勘探行业市场发展前景与战略规划报告行业
- 数学高考知识点总结整理(详细篇)
- 英文国际会议主持人稿
- 大专生人生感想个人总结
- 苏教版配套试卷2022-2022年四年级语文上册期末试卷
- IQC来料检验规范标准书(最全分类).doc
- 高中物理竞赛:几何光学
- 中国石油大学高数(2-2)历年期末试题参考答案
- 2022年执业医师大苗呼吸系统听课笔记(共5讲)
- 七年级上册人教版英语 Unit2《This is my sister》Section B(1a-
- 2015考研政治 思修法基考前必看新增考点
- 三氟丙烯市场研究报告
- 重新整理3000份电气资料书籍视频-PLC,电力,数控,变频,电机,电工,
- 涂镀层厚度检测方法