收藏 分销(赏)

软件工程课程设计范例样本.doc

上传人:二*** 文档编号:4535685 上传时间:2024-09-27 格式:DOC 页数:63 大小:968.50KB
下载 相关 举报
软件工程课程设计范例样本.doc_第1页
第1页 / 共63页
亲,该文档总共63页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、软件工程课程设计 题 目 C语言在线考试系统设计与实现 学生姓名 学 号 院 系 计算机与软件学院专 业 指引教师 文学志二年 月 日目 录1.绪论11.1.C语言在线考试系统概述11.2.C语言在线考试系统可行性分析11.2.1.经济可行性21.2.2.技术可行性21.2.3.社会可行性32.有关技术简介32.1.B/S/S体系构造42.2.Java Server Pages42.3.Struts52.4.Hibernate62.5.MySQL62.6.Tomcat Web服务器73.系统需求分析73.1.系统功能需求73.2.系统模块划分94.系统设计104.1.系统概要设计104.1.1

2、.系统总体构造104.1.2.系统数据库设计114.2.系统重要模块详细设计194.2.1.试题管理模块设计194.2.2.考试管理模块设计214.2.3.在线考试模块设计214.2.4.答卷自动评分模块设计225.系统重要模块实现245.1.创立项目245.1.1.开发环境搭建255.1.2.系统整体框架265.2.试题管理模块实现275.2.1.创立持久化类和数据库访问有关类275.2.2.创立Struts有关类295.2.3.创立表达层JSP文献305.3.考试管理模块实现325.3.1.初始种群生成325.3.2.适应度值计算335.3.3.选取(Select)345.3.4.交叉(C

3、rossover)355.3.5.变异(Mutation)365.4.在线考试模块实现375.4.1.倒计时子模块实现375.4.2.故障延时子模块实现385.5.答卷自动评分模块实现406.系统测试426.1.系统测试环境426.2.系统测试用例设计436.3.系统测试成果456.4.系统测试分析46结束语46参照文献46致 谢47C语言在线考试系统设计与实现张三南京信息工程大学计算机与软件学院,南京 210044摘 要:随着计算机技术、Internet 技术迅猛发展,在线考试模式以其跨地区性、随时性和顾客广泛性特点,成为推动教诲当代化重要手段,已经成为对学生练习、考试、评价和分析教学效果重

4、要工具。本文研究运用三层浏览器(B/S/S)体系构造,即Web浏览器/Web服务器/数据库服务器构造来实现C语言科目在线考试系统。该系统实现了试题库管理、自动组卷和答卷自动评分等功能,满足了广大教师和考生需求。该系统实现以Java语言及其有关技术为基本,构建于MySQL数据库系统以及Tomcat Web服务器之上。该系统实现表白,在线考试系统可以提高试题库管理、考试组织和阅卷效率,并同步保证考试公正和公平。因而,其她科目考试也可以开发相应在线考试系统。核心词:在线考试系统;B/S/S体系构造;Java;MySQL;自动组卷1. 绪论本章对C语言在线考试系统进行了概要性简介,并在经济、技术、社会

5、三个方面对该系统开发可行性进行了分析,以阐明该系统开发是可行,可以及时开始研制工作。1.1. C语言在线考试系统概述随着计算机技术、Internet 技术迅猛发展,绝大某些高校都已接入互联网并建成了校园网,硬件设施也日趋完善。以互联网为基本在线考试模式,以其跨地区性、随时性和顾客广泛性特点,成为推动教诲当代化重要手段,已经成为对学生练习、考试、评价和分析教学效果重要工具1。C语言在线考试系统运用开放、动态系统架构,将老式考试模式与先进网络应用相结合,实现了C语言科目考试无纸化、自动化、网络化。第一,本系统可以协助教师以便地实现试题管理,涉及试题录入、查询、修改、删除。第二,本系统实现了自动组卷

6、功能,可以依照出题规定自动生成C语言考试试卷,供考生在线作答。第三,考生在使用本系统进行在线考试时,系统将提供倒计时功能,使考生可以随时理解考试剩余时间。第四,本系统在考试时间截止之后将自动完毕交卷,以保证考试严肃公正地进行。第五,在答卷提交之后,本系统将对答卷进行自动评分并保存成果,以便考生查询考试成绩。1.2. C语言在线考试系统可行性分析项目可行性普通从三个方面进行分析,即经济可行性、技术可行性、社会可行性。经济可行性分析即进行开发成本估算以及效益评估,拟定开发项目与否值得投资开发;技术可行性分析是指对要开发项目功能、性能和限制条件进行分析,拟定既有资源条件下,技术风险有多大,项目与否能

7、实现;社会可行性分析是指研究要开发项目与否存在侵犯、妨碍等责任问题,要开发项目运营方式在顾客组织内与否行得通,既有管理制度、人员素质和操作方式与否可行2。本节从这三个方面对C语言在线考试系统可行性进行分析,以便后续工作展开。1.2.1. 经济可行性C语言在线考试系统开发成本涉及开发该系统人力费用以及用于购买布置该系统并充当服务器计算机费用。开发该系统预计需要四个开发人员一周工作量,如果每人每月工资为元,则开发该系统人力费用约为元。为了布置该系统,需要购买一台带有较大容量磁盘高性能计算机,费用预计在1万元。因而,开发该系统成本总计为1.2万元。在未使用该系统之前,为了进行C语言考试,必要支出相应

8、人力费用进行出卷、组织考试和批阅试卷,这某些费用约为每年4000元。此外,由于老式考试模式需要用纸,每年需要约3500元纸张费用。因而,若维护系统每年需耗费500元,使用C语言在线考试系统每年可节约约0.7万元。依照以上预计开发费用和节约费用,在假设年利率i等于12%前提下,可以计算得到投资回收期为2.(如表1-1所示),即在使用C语言在线考试系统2.后来顾客可以收回所有投资。因而,开发C语言在线考试系统在经济上是可行。 表1-1 C语言在线考试系统成本/效益分析购买设备1.0万元人力(四人、一周、元/月) 0.2万元开发成本总计1.2万元系统维护费500元/年每年节约人力费用0.4万元每年节

9、约纸费用0.35万元每年节约总费用0.7万元年节约(元)(1+i)n次方当前值(元) 合计当前值(元)10.7万1.120.625万0.625万20.7万1.140.558万1.183万30.7万1.400.498万1.681万第三年后纯收入0.481万投资回收期2.1.2.2. 技术可行性(1)对所建议系统简要描述C语言在线考试系统运用数据库对试题信息进行高效、便捷管理,实现试题录入、查询、修改和删除。同步,系统提供了自动组卷功能、倒计时功能、试卷提交功能、试卷评分功能,实现了考试无纸化、自动化、网络化,并体现了考试公正、严肃。(2)与既有系统比较优越性C语言在线考试系统运用数据库对试题进行

10、管理,使得对大量试题管理高效、以便地进行,而老式考试模式下试题管理低效耗时,在试题达到一定数量之后,管理起来十分不便,需要耗费大量时间和精力。由于试题存储于计算机硬盘中,并采用在线考试这种无纸化考试模式,与老式考试模式相比,不但节约了试题存储空间,更是节约了大量纸张(试卷和答题册),更加环保、节约。同步,该系统自动组卷和评分功能使得出卷和评分过程自动化,与老式手工出卷评分相比,节约了大量劳力,使得广大教师可以从繁重出卷、评分工作中解脱出来,从而把更多时间和精力用于教学和科研。此外,系统试卷提交功能在考试时间截止时,自动完毕试卷提交,制止考生继续答题,使得考试公正性和严肃性较老式考试更好得体现。

11、最后,该系统提供倒计时功能,使得考生在考试过程中更合理地安排时间,有助于考生获得好成绩。(3)采用建议系统也许带来影响采用C语言在线考试系统之后,试题管理效率,组织考试和评卷效率将大为提高,有助于在短时间内实现对考生C语言学习状况检查。同步,本系统将节约大量纸资源,节约组织考试开支。教师将从繁重出题、组织监督考试、评分工作中解脱出来,把更多时间和精力用于教学和科研。采用C语言在线考试系统之后,规定教师适应新型试题管理模式,需要教师掌握该系统使用。对考生而言,规定她们适应新型考试模式,同样,也需要她们熟悉系统使用。(4)所建议技术可行性分析C语言在线考试系统是一种基于B/S/S体系构造网络应用系

12、统,开发此类系统技术已经比较成熟,例如JSP技术、ASP技术等等。同步,考虑到开发人员对此类系统以及有关技术比较熟悉且开发期较为充裕,预测可以再规定期限内完毕开发。1.2.3. 社会可行性(1)法律方面可行性C语言在线考试系统研制和开发过程,将在严格遵守国家各项法律法规基本上进行,将不会侵犯她人、集体和国家利益。同步,在系统开发过程中,将严格遵守与客户订立合同各项条款。(2)使用方面可行性C语言在线考试系统研制和开发将充分考虑到顾客业务往来、管理流程和人员素质等,从而能满足使用规定。2. 有关技术简介C语言在线考试系统开发采用了三层浏览器(B/S/S)体系构造,即Web浏览器/Web服务器/数

13、据库服务器构造7。本文中采用了Java语言及有关技术JSP、Struts和Hibernate实现该系统,并以Tomcat作为Web服务器,以MySQL作为数据库服务器。本章是对这些技术和服务器简介。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构造中,各构成某些之间通过Intern

14、et(或Intranet)相连,遵守HTTP合同,浏览器通过发送祈求和服务器端建立连接,从而实现以整个Internet为背景数据存储和访问。Web浏览器Web 服务器中间件(应用程序)数据库服务器数据库Http祈求Html页面SQL祈求成果图2-1 Web数据库系统三层B/S/S体系构造B/S/S构造中表达层有Web浏览器,它向网络上Web服务器提出服务祈求,接受Web服务器返回页面并显示给顾客;事务逻辑层有Web服务器,它接受顾客祈求并判断祈求类型。如果祈求是普通静态页面,就直接在Web服务器文献系统中找到页面并返回;否则执行相应应用程序,例如对数据库进行更新、查询等,随后获得数据库操作成果

15、,将成果动态生成页面,返回给表达层客户端;数据层则有数据库服务器,实现数据存储、维护、访问和更新,它接受Web服务器数据操作祈求,并把运营成果返回给Web服务器。B/S/S构造具备如下特点:第一,基于TCP/IP开放式网络原则合同,完全实现了跨平台访问计算机及其网络上各种资源,具备很强系统独立性和平台无关性。第二,软件维护开销大大减少,只需开发维护服务器应用程序,无需开发客户端程序,规范和统一了客户端程序原则Web浏览器,从而统一了顾客界面。第三,充分发挥了数据库管理系统(DBMS)高效数据存储和数据管理能力,实现了更大限度和更大范畴数据库资源共享。B/S/S构造代表了当前数据库应用软件技术发

16、展趋势,是当前开发Web数据库应用系统普遍采用数据库系统体系构造。它长处使它成为构建高效安全Web数据库应用系统首选体系构造7。2.2. Java Server PagesJava Server Pages简称JSP12,是由Sun Microsystems公司倡导、许多公司参加一起建立一种动态网页技术原则。JSP技术有点类似ASP技术,它是在老式网页HTML文献(*.htm,*.html)中插入Java程序段(scriptlet)和JSP标记(tag),从而形成JSP文献(*.jsp)。用JSP开发Web应用是跨平台,既能在Linux下运营,也能在其她操作系统上运营。与前一代Internet

17、/Intranet开发语言(ASP、PHP)相比,JSP在如下几种方面有了重大突破:第一,通过JSP扩展标签库和JavaBeans功能,网站逻辑和网站界面可以完美地分离。第二,使用 Enterprise JavaBeans,可以轻松地在JSP开发Web中实现事务、安全、会话等等公司级应用所需要功能。第三,JDBC 2.0提供了不同数据库产品无关数据库连接方式,更重要是,数据库连接池提供了一种比普通数据库连接方式效率高得多连接方式。Web服务器在遇到访问JSP网页祈求时,一方面执行其中程序片段,然后将执行成果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送email等等,这

18、就是建立动态网站所需要功能。所有程序操作都是在服务器端进行,网络上传送给客户端仅是得到成果,对客户浏览器规定最低,可以实现无plugin,无ActiveX,无Java Applet,甚至无Frame。JSP具备如下长处6:第一,将内容生成和显示进行分离。使用JSP技术,Web页面开发人员可以使用HTML或者XML标记来设计和格式化最后页面。使用JSP标记或者小脚本来生成页面上动态内容。生成内容逻辑被封装标记在JavaBeans组件中,并且捆绑在小脚本中,所有脚本在服务器端运营。Web管理人员和页面设计者,可以编辑和使用JSP页面,而不影响动态内容生成。在服务器端,JSP引擎JSP标记和小脚本,

19、生成所祈求动态内容并且将成果以HTML(或XML)页面形式发送回浏览器。这有助于作者保护自己代码,而又保证任何基于HTMLWeb浏览器完全可用性。第二,可重用组件。绝大多数JSP页面依赖于可重用,跨平台组件(JavaBeans或者EJB组件)来执行应用程序所规定更为复杂解决。开发人员可以共享和互换执行普通操作组件,或者使得这些组件为更多使用者或者客户团队所使用。基于组件办法加速了总体开发过程,并且使得各种组织在她们既有技能和优化成果开发努力中得到平衡。第三,用标记简化页面开发。Web页面开发人员不会都是熟悉脚本语言编程人员。JSP技术封装了许多功能,这些功能是在易用、与JSP有关XML标记中进

20、行动态内容生成所需要。原则JSP标记可以访问和实例化JavaBeans组件,设立或者检索组件属性,下载Applet,以及执行用其她办法更难于编码和耗时功能。2.3. StrutsStruts 是Apache 软件基金组织Jakarta 项目一种子项目,Struts 前身是Craig R. McClanahan 编写JSP Model2 架构。Struts 在英文中是支架、支撑意思,这表白了Struts 在Web 应用开发中巨大作用,采用Struts 可以更好地遵循MVC 模式。此外, Struts 提供了一套完备规范,以及基本类库,可以充分运用JSP/Servlet 长处,减轻程序员工作量,具

21、备很强可扩展性。Struts作者Craig R.McClanahan参加了JSP规范制定以及Tomcat4开发,同步还领导制定了J2EE平台Web层架构规范。受此影响,Struts框架一经推出,及时引起了Java 开发者广泛兴趣,并在全世界推广开来,最后成为世界上应用最广泛MVC 框架9。2.4. Hibernate 当前软件开发语言已经全面转向面向对象,而数据库系统仍停留在关系数据库阶段。面对复杂公司环境,同步使用面向对象语言和关系数据库是相称麻烦,不但中间过渡难以理解,并且其开发周期也相称长。Hibernate 是一种面向Java 环境对象/关系数据库映射工具。对象/关系数据库映射( Ob

22、ject/Relational Mapping) 表达一种技术,用来把对象模型表达对象映射到基于SQL关系模型数据构造中去10。Hibernate 目的是:释放开发者普通数据持久化有关编程任务95% 。对于以数据为中心程序而言,往往在数据库中使用存储过程来实现商业逻辑,Hibernate 也许不是最佳解决方案。但对于那些基于Java 中间件应用中,设计采用面向对象业务模型和商业逻辑时,Hibernate 是最有用。不论如何, Hibernate能消除那些针对特定数据库厂商SQL代码,并且把成果集由表格式形式转换成值对象形式。Hibernate不但管理Java类到数据库表映射(涉及Java 数据

23、类型到SQL 数据类型映射),还提供数据查询和获取数据办法,可以大幅度地减少在开发时人工使用SQL和JDBC解决数据时间。2.5. MySQLMySQL是最流行开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持。MySQL AB是由多名MySQL开发人开办一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、办法和成功商业模型。MySQL是一种关联数据库管理系统。关联数据库将数据保存在不同表中,而不是将所有数据放在一种大仓库内。这样就增长了速度并提高了灵活性。MySQLSQL指得是构造化查询语言。SQL是用于访问数据库最惯用原则化语言,它是由ANSI/ISO

24、SQL原则定义。SQL原则自1986年以来不断演化发展,有数种版本。MySQL软件是一种开放源码软件。开放源码意味着任何人都能使用和变化软件。任何人都能从Internet下载MySQL软件,而无需支付任何费用。如果乐意,你可以研究源码并进行恰当更改,以满足你自己需求。MySQL数据库服务器具备迅速、可靠和易于使用特点。MySQL服务器尚有一套实用特性集合,这些特性是通过与顾客密切合伙而开发。在MySQL基准测试主页上,给出了MySQL服务器和其她数据库管理器。MySQL服务器最初是为解决大型数据库而开发,与已有解决方案相比,它速度更快,近年以来,它已成功用于众多规定很高生产环境。尽管MySQL

25、始终在不断发展,但当前MySQL服务器已能提供丰富和有用功能。它具备良好连通性、速度和安全性,这使得MySQL十分适合于访问Internet上数据库。MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中。MySQL数据库软件是一种客户端/服务器系统,由支持不同后端1个多线程SQL服务器,数种不同客户端程序和库,众多管理工具和广泛应用编程接口API构成。还能以嵌入式多线程库形式提供MySQL服务器,你可以将其链接到你应用程序,从而获得更小、更快、和更易管理产品4。2.6. Tomcat Web服务器Tomcat服务器是一种免费开放源代码Web应用服务器。它是Apache 软件基金会(Apa

26、che Software Foundation)Jakarta 项目中一种核心项目,由Apache、Sun 和其她某些公司及个人共同开发而成11。由于有了Sun 参加和支持,最新Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat 5支持最新Servlet 2.4和JSP 2.0规范。由于Tomcat技术先进、性能稳定,并且免费,因而深受Java兴趣者爱慕并得到了某些软件开发商承认,成为当前比较流行Web 应用服务器。Tomcat很受广大程序员喜欢,由于它运营时占用系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统惯用功能;并且它还在不断改进和完善中,任何一种感兴趣程

27、序员都可以更改它或在其中加入新功能。Tomcat是一种小型轻量级应用服务器,在中小型系统和并发访问顾客不是诸多场合下被普遍使用,是开发和调试JSP程序首选。对于一种初学者来说,可以这样以为,当在一台机器上配备好Apache 服务器,可运用它响应对HTML 页面访问祈求。事实上Tomcat某些是Apache服务器扩展,但它是独立运营,因此当你运营Tomcat 时,它事实上作为一种与Apache独立进程单独运营。这里诀窍是,当配备对的时,Apache为HTML页面服务,而Tomcat事实上运营JSP页面和Servlet。此外,Tomcat和IIS、Apache等Web服务器同样,具备解决HTML页

28、面功能,此外它还是一种Servlet和JSP容器,独立Servlet容器是Tomcat默认模式。但是,Tomcat解决静态HTML能力不如Apache服务器。3. 系统需求分析在系统可行性分析完毕后来,并拟定系统可以及时投入设计和研制时,下一步要做工作便是系统需求分析,即通过各种途径(访谈、调查问卷、实地考察等)理解并明确顾客对所要开发系统各方面需求,涉及功能上规定、性能上规定、操作以便性规定等等。本章对C语言在线考试系统进行了需求分析,重要是依照顾客对系统功能方面规定,明确了系统所要实现各个功能有关细节,并在此基本上对系统进行了模块划分,为后续系统设计打下基本。3.1. 系统功能需求依照顾客

29、对系统功能方面实际规定,C语言在线考试系统重要功能涉及:顾客登录验证功能、顾客管理功能、试题管理功能(试题录入、查询、修改、删除)、考试管理功能、自动组卷功能、倒计时功能、试卷提交功能、故障延时功能和答卷自动评分功能。本节详细地阐明了顾客对这些功能需求。(1)顾客登录验证功能 顾客在登录C语言在线考试系统时必要进行身份验证,只有通过了身份验证,才干进入并使用该系统。系统顾客应提成三大类,即管理员、教师和考生。顾客在登录时,系统应提供顾客类别选取,以区别不同顾客登录;顾客在选取好登录身份之后,系统应当规定顾客提供顾客名和密码,以进行登录验证。系统应当为管理员(有若干位)预置登录顾客名和密码,并容

30、许管理员修改顾客名和密码。在系统提供应教师和考生使用前,管理员负责向系统中提前录入教师和考生某些有关信息,例如教师编号、考生学号以及各自身份证号等等,这些信息可用来作为这两类顾客初次登录时验证信息。顾客初次登录之后,系统应当规定顾客修改登录信息,特别是登录密码,以防止她人冒用。此外,为了防止恶意软件进行系统袭击,每个顾客登录之前都要以图片形式产生一组随机验证码8,顾客必要输入对的验证码才干进入系统。(2)顾客管理功能 C语言在线考试系统应当对顾客进行有效管理。系统顾客提成了三类,即管理员、教师和考生。管理员具备系统操作最高权限,负责添加教师和考生顾客,并查看其顾客信息(不涉及密码)。管理员初始

31、顾客名和密码是内置,管理员可以修改自己顾客名和密码,并添加和修改其她有关信息。对于教师顾客来说,顾客信息应至少涉及登录顾客名和密码,初始时可以选取教师教师编号作为顾客名,身份证号作为密码,之后可以修改。教师可以添加和修改自身有关其她信息,并查看考试成果(涉及有关分析)。对于考生来说,顾客信息应至少涉及顾客名、密码,初始时,顾客名为考生学号,密码为考生身份证号,之后可以修改。考生可以添加和修改自身有关其她信息,并查看考试成绩。(3)试题管理功能 C语言在线考试系统需要实现试题管理功能,即组建一种试题库,以便对大量C语言试题进行高效、便捷管理。该功能涉及:试题录入,虽然得教师可以以便地将C语言试题

32、及其参照答案录入系统试题库。试题录入子功能应当依照教师录入试题类型(选取题、填空题、程序设计题)对试题进行分类管理;试题查询,虽然得教师可以依照试题某些核心字以便地查询试题,以便检查和修改试题。试题查询子功能同样应当对不同题型进行分类查询,以提高查询效率;试题修改,虽然教师可以对已经录入系统试题及其参照答案进行不限次数修改,以便提高试题自身或参照答案精确性;试题删除,虽然教师可以删除已经录入系统试题(连同参照答案),以便更新试题库。(4)考试管理功能 考试管理功能,即系统提供管理员对考试信息以及考试公示管理功能。详细来说,系统管理员顾客可以安排考试、编辑考试信息、运用自动组卷功能生成试卷投入考

33、试使用;系统管理员可以发布、编辑考试公示。而教师和考生顾客则只能浏览考试公示。(5)自动组卷功能自动组卷功能,即系统可以自动生成C语言试卷,供考生作答。自动组卷功能应当依照管理员规定组卷,即管理员可以设立试卷所涉及题型,各类题型分值和题数,各类型试题在试卷上先后顺序以及考试时间限制。自动组卷功能应当按照管理员设立出卷规定按照某种算法从试题库中选取相应试题,保证每个试题均有机会出当前试卷上,并且每次组卷试卷相似概率尽量小。(6)倒计时功能 倒计时功能,即在考生进行测试界面上提供倒计时,以便考生随时理解考试剩余时间。倒计时功能应当依照教师设立考试时间限制精确地进行,保证考试公平性。倒计时功能应当在

34、考试结束前10分钟时给出相应提示,提示考生抓紧时间作答。此外,该功能出当前界面上位置应当合理,显示大小适中,不至于分散考生注意力,产生负面效果。(7)试卷提交功能试卷提交功能涉及两种状况,一种状况是考生在考试时间截止之前就已经完毕答题,应容许考生提交试卷;另一种状况是考生在规定考试时间内没能完毕答题,此时,系统将自动完试卷提交,以避免考生继续答题,破坏考试公平性。对于提前完毕考试并欲提交试卷考生,试卷提交功能在正式提交试卷之前,应当给出确认提示,保证考生不是由于误操作而提交试卷。自动提交试卷状况则应当与倒计时功能相一致,保证倒计时到零时自动提交试卷并切换主界面到考试结束界面。(8)故障延时功能

35、故障延时功能,即当某个考生电脑发生故障,例如死机时,监考人员可以暂停该考生答题倒计时。当故障排除之后,考生可重新登录系统,进入考试,此时考生考试剩余时间同故障发生时相似,即考生考试时间被延迟。(9)答卷自动评分功能 答卷自动评分功能完毕考生答卷批阅和评分工作,得出考生成绩。由于C语言考试试题普通涉及选取题、填空题和程序设计题,因此系统应可以自动完毕这三类试题批阅和评分。对于程序设计题,应能将考生程序保存下来,批量编译、运营,得出成果以判断程序与否对的。3.2. 系统模块划分依照系统功能需求,将C语言在线考试系统提成六大模块进行设计:(1)顾客登录验证模块;(2)顾客管理模块;(3)试题管理模块

36、;(4)考试管理模块;(5)在线考试模块;(6)答卷自动评分模块。各个模块及子模块划分和功能阐明如表3-1所示:表3-1 C语言在线考试系统模块划分编号模块名称子模块名称功能阐明1顾客登录模块实现顾客登录时身份选取、验证。2顾客管理模块管理员信息管理模块添加、删除教师和考生顾客;修改和查看教师和考生某些信息;修改和查看守理员个人信息。教师信息管理模块修改和查看教师个人信息;查看考生某些信息。考生信息管理模块修改和查看考生个人信息、查询考试有关信息。续表3-1编号模块名称子模块名称功能阐明3试题管理模块试题录入模块容许教师录入试题及参照答案。试题编辑模块容许教师对试题库中试题进行查询、修改、删除

37、。4考试管理模块自动组卷模块自动组卷;保存、查看、删除试卷。考试信息管理模块发布考试;保存、修改、删除考试信息。考试公示管理模块对考试公示进行添加、修改、删除。5在线考试模块倒计时模块给出考试剩余时间和相应提示信息。试卷提交模块容许考试提前交卷;考试时间截止时自动交卷。试题显示及作答模块显示试题,供考生在线作答。故障延时模块故障发生时,暂停考生答题倒计时。6答卷自动评分模块客观题评分模块对选取题、填空题进行自动评分,并保存得分。程序设计题评分模块对程序设计题自动评分,并保存得分。4. 系统设计在C语言在线考试系统需求分析和模块划分完毕基本上,本章阐述了该系统概要设计和重要模块详细设计。4.1.

38、 系统概要设计本节对C语言在线考试系统进行概要设计,给出了系统总体构造图和数据库设计。4.1.1. 系统总体构造依照上一章需求分析中系统模块划分,对C语言在线考试系统进行总体设计,得到系统总体构造图如图4-1所示(各模块功能阐明见上一章表3-1):顾客登录验证C语言在线考试系统顾客管理试题管理在线考试答卷自动评分管理员信息管理教师信息管理考生信息管理试题录入试题编辑自动组卷倒计时试卷提交客观题评分程序设计题评分试题显示及作答考试管理考试信息管理考试公示管理故障延时图 4-1 系统总体构造图4.1.2. 系统数据库设计 本节依照系统各模块功能和模块间互有关系,对系统数据库设计进行阐述,涉及了数据

39、库需求分析、概念构造设计、逻辑设计和表设计。(1)数据库需求分析C语言在线考试系统实现了顾客管理、试题管理、在线考试、试卷评分等功能,这些功能所涉及到数据库需求阐明如下: 为实现顾客管理,必要在数据库中保存顾客信息,由于顾客提成管理员、教师和考生三类,数据库中应建立相应管理员表、教师表和考生表。此外,为了以便管理同一考场考生,数据库中应建立考生组表。为实现试题管理,数据库中应建立试题表以保存试题信息。为实现考试管理,数据库中应建立试卷表保存自动组卷功能生成试卷;应建立考试信息表和考试公示表,保存考试信息和考试公示。为实当前线考试和试卷评分,数据库中应建立答题表存储考生答题成果。此外,应建立考生

40、成绩表用于保存考生成绩和有关考试信息。对于系统E-R图中m:n关系(即多对多关系),也应建立相应表。(2)数据库概念构造设计依照C语言在线考试系统数据库需求分析进行概念构造设计,画出系统实体-联系图,即E-R图3(图4-2)以及实体图(图4-3图4-18)。管理员考生组教师试题答题卡成绩单试卷考试考试公示考生教师管理考生组管理考试管理、属于、答题组卷试题管理自动阅卷指引查看1mpmmqn1m1mnnnmnn1p11mn公示管理、m使用1属于包括1pm图4-2 C语言在线考试系统数据库概念构造设计(E-R图)管理员密码顾客名编号真实姓名图4-3 管理员实体图教师密码顾客名编号真实姓名院系图4-4

41、 教师实体图考生密码顾客名编号真实姓名考生组编号所在院系图4-5 考生实体图试题分值难度试题描述参照答案类型编号图4-6 试题实体图考试编号监考人编号考场描述考试日期考生组编号试卷编号总分考试时长图4-7 考试实体图考试公示编号公示内容浏览次数公示标题作者图4-8 考试公示实体图试卷编号与否使用生成时间管理员编号图4-9 试卷实体图考生组编号组名教师编号备注图4-10 考生组实体图答题卡编号考生答案考试编号得分考生编号试题类型试题编号与否批阅图4-11 答题卡实体图 考生成绩单考生编号考生成绩考试编号与否暂停考试考试剩余时间编号与否交卷图4-12 考生成绩单实体图管理员编号操作日期操作公示编号

42、公示管理编号图4-13 公示管理实体图管理员编号操作日期操作考生组编号考生组管理编号图4-14 考生组管理实体图管理员编号操作日期操作教师编号教师管理编号图4-15 教师管理实体图教师编号操作日期操作试题编号试题管理编号图4-16 试题管理实体图管理员编号操作日期操作考试编号考试管理编号图4-17 考试管理实体图试卷编号组卷编号试题编号图4-18组卷实体图(3)数据库逻辑设计及表设计依照系统总体概念设计模型、E-R图向关系模式转化规则和数据库范式理论,得到系统优化后逻辑模型5,如表4-1表4-17所示:表4-1 管理员表 (admin 表)字段名称类型默认值与否主键与否为空阐明AdminIDI

43、nt自增YesNo管理员编号RealNamevarChar(20)NoNo真实姓名续表4-1字段名称类型默认值与否主键与否为空阐明PasswordvarChar(20)NoNo密码UsernamevarChar(20)NoNo顾客名表4-2 教师表(teacher 表)字段名称类型默认值与否主键与否为空阐明TeacherIDInt自增YesNo教师编号RealNamevarChar(20)NoNo真实姓名PasswordvarChar(20)NoNo密码UsernamevarChar(20)NoNo顾客名AcademyvarChar(20)NoNo所在院系表4-3 考生表(student 表)

44、字段名称类型默认值与否主键与否为空阐明StudentIDInt自增YesNo考生编号UsernamevarChar(20)NoNo顾客名PasswordvarChar(20)NoNo密码RealNamevarChar(20)NoNo真实姓名GroupIDIntNoNo考生组编号,外键AcademyvarChar(20)NoNo所在院系表4-4 试题表(question 表)字段名称类型默认值与否主键与否为空阐明QuestionIDInt自增YesNo试题编号TypeChar(10)NoNo试题类型DescriptionNvarchar(500)NoNo试题描述DifficultyChar(10)NoNo难度ScoreOfQuestionNvarchar(200)NoNo该题分值AnswerNvarchar(200)NoNo参照答案表4-5考试表(exam表)字段名称类型默认值与否主键与否为空阐明ExamIDInt自增YesN

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服