软件工程课程设计范例样本.doc
《软件工程课程设计范例样本.doc》由会员分享,可在线阅读,更多相关《软件工程课程设计范例样本.doc(63页珍藏版)》请在咨信网上搜索。
《软件工程》课程设计 题 目 C语言在线考试系统设计与实现 学生姓名 学 号 院 系 计算机与软件学院 专 业 指引教师 文学志 二O年 月 日 目 录 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 Pages 4 2.3.Struts 5 2.4.Hibernate 6 2.5.MySQL 6 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 4.2.1.试题管理模块设计 19 4.2.2.考试管理模块设计 21 4.2.3.在线考试模块设计 21 4.2.4.答卷自动评分模块设计 22 5.系统重要模块实现 24 5.1.创立项目 24 5.1.1.开发环境搭建 25 5.1.2.系统整体框架 26 5.2.试题管理模块实现 27 5.2.1.创立持久化类和数据库访问有关类 27 5.2.2.创立Struts有关类 29 5.2.3.创立表达层JSP文献 30 5.3.考试管理模块实现 32 5.3.1.初始种群生成 32 5.3.2.适应度值计算 33 5.3.3.选取(Select) 34 5.3.4.交叉(Crossover) 35 5.3.5.变异(Mutation) 36 5.4.在线考试模块实现 37 5.4.1.倒计时子模块实现 37 5.4.2.故障延时子模块实现 38 5.5.答卷自动评分模块实现 40 6. 系统测试 42 6.1.系统测试环境 42 6.2.系统测试用例设计 43 6.3.系统测试成果 45 6.4.系统测试分析 46 结束语 46 参照文献 46 致 谢 47 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语言在线考试系统可行性分析 项目可行性普通从三个方面进行分析,即经济可行性、技术可行性、社会可行性。经济可行性分析即进行开发成本估算以及效益评估,拟定开发项目与否值得投资开发;技术可行性分析是指对要开发项目功能、性能和限制条件进行分析,拟定既有资源条件下,技术风险有多大,项目与否能实现;社会可行性分析是指研究要开发项目与否存在侵犯、妨碍等责任问题,要开发项目运营方式在顾客组织内与否行得通,既有管理制度、人员素质和操作方式与否可行[2]。本节从这三个方面对C语言在线考试系统可行性进行分析,以便后续工作展开。 1.2.1. 经济可行性 C语言在线考试系统开发成本涉及开发该系统人力费用以及用于购买布置该系统并充当服务器计算机费用。开发该系统预计需要四个开发人员一周工作量,如果每人每月工资为元,则开发该系统人力费用约为元。为了布置该系统,需要购买一台带有较大容量磁盘高性能计算机,费用预计在1万元。因而,开发该系统成本总计为1.2万元。 在未使用该系统之前,为了进行C语言考试,必要支出相应人力费用进行出卷、组织考试和批阅试卷,这某些费用约为每年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万元 每年节约纸费用 0.35万元 每年节约总费用 0.7万元 年 节约(元) (1+i)n次方 当前值(元) 合计当前值(元) 1 0.7万 1.12 0.625万 0.625万 2 0.7万 1.14 0.558万 1.183万 3 0.7万 1.40 0.498万 1.681万 第三年后纯收入 0.481万 投资回收期 2. 1.2.2. 技术可行性 (1)对所建议系统简要描述 C语言在线考试系统运用数据库对试题信息进行高效、便捷管理,实现试题录入、查询、修改和删除。同步,系统提供了自动组卷功能、倒计时功能、试卷提交功能、试卷评分功能,实现了考试无纸化、自动化、网络化,并体现了考试公正、严肃。 (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作为数据库服务器。本章是对这些技术和服务器简介。 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为背景数据存储和访问。 Web浏览器 Web 服务器 中间件 (应用程序) 数据库服务器 数据库 Http祈求 Html页面 SQL祈求 成果 图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公司倡导、许多公司参加一起建立一种动态网页技术原则。JSP技术有点类似ASP技术,它是在老式网页HTML文献(*.htm,*.html)中插入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)页面形式发送回浏览器。这有助于作者保护自己代码,而又保证任何基于HTMLWeb浏览器完全可用性。 第二,可重用组件。绝大多数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规范制定以及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公司开发、发布并支持。MySQL AB是由多名MySQL开发人开办一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、办法和成功商业模型。 MySQL是一种关联数据库管理系统。关联数据库将数据保存在不同表中,而不是将所有数据放在一种大仓库内。这样就增长了速度并提高了灵活性。MySQLSQL指得是构造化查询语言。SQL是用于访问数据库最惯用原则化语言,它是由ANSI/ISO SQL原则定义。SQL原则自1986年以来不断演化发展,有数种版本。 MySQL软件是一种开放源码软件。开放源码意味着任何人都能使用和变化软件。任何人都能从Internet下载MySQL软件,而无需支付任何费用。如果乐意,你可以研究源码并进行恰当更改,以满足你自己需求。 MySQL数据库服务器具备迅速、可靠和易于使用特点。MySQL服务器尚有一套实用特性集合,这些特性是通过与顾客密切合伙而开发。在MySQL基准测试主页上,给出了MySQL服务器和其她数据库管理器。 MySQL服务器最初是为解决大型数据库而开发,与已有解决方案相比,它速度更快,近年以 来,它已成功用于众多规定很高生产环境。尽管MySQL始终在不断发展,但当前MySQL服务器已能提供丰富和有用功能。它具备良好连通性、速度和安全性,这使得MySQL十分适合于访问Internet上数据库。 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语言在线考试系统重要功能涉及:顾客登录验证功能、顾客管理功能、试题管理功能(试题录入、查询、修改、删除)、考试管理功能、自动组卷功能、倒计时功能、试卷提交功能、故障延时功能和答卷自动评分功能。本节详细地阐明了顾客对这些功能需求。 (1)顾客登录验证功能 顾客在登录C语言在线考试系统时必要进行身份验证,只有通过了身份验证,才干进入并使用该系统。系统顾客应提成三大类,即管理员、教师和考生。顾客在登录时,系统应提供顾客类别选取,以区别不同顾客登录;顾客在选取好登录身份之后,系统应当规定顾客提供顾客名和密码,以进行登录验证。系统应当为管理员(有若干位)预置登录顾客名和密码,并容许管理员修改顾客名和密码。在系统提供应教师和考生使用前,管理员负责向系统中提前录入教师和考生某些有关信息,例如教师编号、考生学号以及各自身份证号等等,这些信息可用来作为这两类顾客初次登录时验证信息。顾客初次登录之后,系统应当规定顾客修改登录信息,特别是登录密码,以防止她人冒用。此外,为了防止恶意软件进行系统袭击,每个顾客登录之前都要以图片形式产生一组随机验证码[8],顾客必要输入对的验证码才干进入系统。 (2)顾客管理功能 C语言在线考试系统应当对顾客进行有效管理。系统顾客提成了三类,即管理员、教师和考生。管理员具备系统操作最高权限,负责添加教师和考生顾客,并查看其顾客信息(不涉及密码)。管理员初始顾客名和密码是内置,管理员可以修改自己顾客名和密码,并添加和修改其她有关信息。对于教师顾客来说,顾客信息应至少涉及登录顾客名和密码,初始时可以选取教师教师编号作为顾客名,身份证号作为密码,之后可以修改。教师可以添加和修改自身有关其她信息,并查看考试成果(涉及有关分析)。对于考生来说,顾客信息应至少涉及顾客名、密码,初始时,顾客名为考生学号,密码为考生身份证号,之后可以修改。考生可以添加和修改自身有关其她信息,并查看考试成绩。 (3)试题管理功能 C语言在线考试系统需要实现试题管理功能,即组建一种试题库,以便对大量C语言试题进行高效、便捷管理。该功能涉及:试题录入,虽然得教师可以以便地将C语言试题及其参照答案录入系统试题库。试题录入子功能应当依照教师录入试题类型(选取题、填空题、程序设计题)对试题进行分类管理;试题查询,虽然得教师可以依照试题某些核心字以便地查询试题,以便检查和修改试题。试题查询子功能同样应当对不同题型进行分类查询,以提高查询效率;试题修改,虽然教师可以对已经录入系统试题及其参照答案进行不限次数修改,以便提高试题自身或参照答案精确性;试题删除,虽然教师可以删除已经录入系统试题(连同参照答案),以便更新试题库。 (4)考试管理功能 考试管理功能,即系统提供管理员对考试信息以及考试公示管理功能。详细来说,系统管理员顾客可以安排考试、编辑考试信息、运用自动组卷功能生成试卷投入考试使用;系统管理员可以发布、编辑考试公示。而教师和考生顾客则只能浏览考试公示。 (5)自动组卷功能 自动组卷功能,即系统可以自动生成C语言试卷,供考生作答。自动组卷功能应当依照管理员规定组卷,即管理员可以设立试卷所涉及题型,各类题型分值和题数,各类型试题在试卷上先后顺序以及考试时间限制。自动组卷功能应当按照管理员设立出卷规定按照某种算法从试题库中选取相应试题,保证每个试题均有机会出当前试卷上,并且每次组卷试卷相似概率尽量小。 (6)倒计时功能 倒计时功能,即在考生进行测试界面上提供倒计时,以便考生随时理解考试剩余时间。倒计时功能应当依照教师设立考试时间限制精确地进行,保证考试公平性。倒计时功能应当在考试结束前10分钟时给出相应提示,提示考生抓紧时间作答。此外,该功能出当前界面上位置应当合理,显示大小适中,不至于分散考生注意力,产生负面效果。 (7)试卷提交功能 试卷提交功能涉及两种状况,一种状况是考生在考试时间截止之前就已经完毕答题,应容许考生提交试卷;另一种状况是考生在规定考试时间内没能完毕答题,此时,系统将自动完试卷提交,以避免考生继续答题,破坏考试公平性。对于提前完毕考试并欲提交试卷考生,试卷提交功能在正式提交试卷之前,应当给出确认提示,保证考生不是由于误操作而提交试卷。自动提交试卷状况则应当与倒计时功能相一致,保证倒计时到零时自动提交试卷并切换主界面到考试结束界面。 (8)故障延时功能 故障延时功能,即当某个考生电脑发生故障,例如死机时,监考人员可以暂停该考生答题倒计时。当故障排除之后,考生可重新登录系统,进入考试,此时考生考试剩余时间同故障发生时相似,即考生考试时间被延迟。 (9)答卷自动评分功能 答卷自动评分功能完毕考生答卷批阅和评分工作,得出考生成绩。由于C语言考试试题普通涉及选取题、填空题和程序设计题,因此系统应可以自动完毕这三类试题批阅和评分。对于程序设计题,应能将考生程序保存下来,批量编译、运营,得出成果以判断程序与否对的。 3.2. 系统模块划分 依照系统功能需求,将C语言在线考试系统提成六大模块进行设计:(1)顾客登录验证模块;(2)顾客管理模块;(3)试题管理模块;(4)考试管理模块;(5)在线考试模块;(6)答卷自动评分模块。各个模块及子模块划分和功能阐明如表3-1所示: 表3-1 C语言在线考试系统模块划分 编号 模块名称 子模块名称 功能阐明 1 顾客登录模块 实现顾客登录时身份选取、验证。 2 顾客管理模块 管理员信息管理模块 添加、删除教师和考生顾客;修改和查看教师和考生某些信息;修改和查看守理员个人信息。 教师信息管理模块 修改和查看教师个人信息;查看考生某些信息。 考生信息管理模块 修改和查看考生个人信息、查询考试有关信息。 续表3-1 编号 模块名称 子模块名称 功能阐明 3 试题管理模块 试题录入模块 容许教师录入试题及参照答案。 试题编辑模块 容许教师对试题库中试题进行查询、修改、删除。 4 考试管理模块 自动组卷模块 自动组卷;保存、查看、删除试卷。 考试信息管理模块 发布考试;保存、修改、删除考试信息。 考试公示管理模块 对考试公示进行添加、修改、删除。 5 在线考试模块 倒计时模块 给出考试剩余时间和相应提示信息。 试卷提交模块 容许考试提前交卷;考试时间截止时自动交卷。 试题显示及作答模块 显示试题,供考生在线作答。 故障延时模块 故障发生时,暂停考生答题倒计时。 6 答卷自动评分模块 客观题评分模块 对选取题、填空题进行自动评分,并保存得分。 程序设计题评分模块 对程序设计题自动评分,并保存得分。 4. 系统设计 在C语言在线考试系统需求分析和模块划分完毕基本上,本章阐述了该系统概要设计和重要模块详细设计。 4.1. 系统概要设计 本节对C语言在线考试系统进行概要设计,给出了系统总体构造图和数据库设计。 4.1.1. 系统总体构造 依照上一章需求分析中系统模块划分,对C语言在线考试系统进行总体设计,得到系统总体构造图如图4-1所示(各模块功能阐明见上一章表3-1): 顾客登录 验证 C语言在线考试系统 顾客管理 试题管理 在线考试 答卷自动评分 管理员 信息管理 教师信息管理 考生信息管理 试题录入 试题编辑 自动组卷 倒计时 试卷提交 客观题评分 程序设计题评分 试题显示及作答 考试管理 考试 信息管理 考试 公示管理 故障延时 图 4-1 系统总体构造图 4.1.2. 系统数据库设计 本节依照系统各模块功能和模块间互有关系,对系统数据库设计进行阐述,涉及了数据库需求分析、概念构造设计、逻辑设计和表设计。 (1)数据库需求分析 C语言在线考试系统实现了顾客管理、试题管理、在线考试、试卷评分等功能,这些功能所涉及到数据库需求阐明如下: 为实现顾客管理,必要在数据库中保存顾客信息,由于顾客提成管理员、教师和考生三类,数据库中应建立相应管理员表、教师表和考生表。此外,为了以便管理同一考场考生,数据库中应建立考生组表。 为实现试题管理,数据库中应建立试题表以保存试题信息。 为实现考试管理,数据库中应建立试卷表保存自动组卷功能生成试卷;应建立考试信息表和考试公示表,保存考试信息和考试公示。 为实当前线考试和试卷评分,数据库中应建立答题表存储考生答题成果。此外,应建立考生成绩表用于保存考生成绩和有关考试信息。 对于系统E-R图中m:n关系(即多对多关系),也应建立相应表。 (2)数据库概念构造设计 依照C语言在线考试系统数据库需求分析进行概念构造设计,画出系统实体-联系图,即E-R图[3](图4-2)以及实体图(图4-3~图4-18)。 管理员 考生组 教师 试题 答题卡 成绩单 试卷 考试 考试公示 考生 教师管理 考生组管理 考试管理 、 属于 、 答题 组卷 试题管理 自动阅卷 指引 查看 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 图4-2 C语言在线考试系统数据库概念构造设计(E-R图) 管理员 密码 顾客名 编号 真实姓名 图4-3 管理员实体图 教师 密码 顾客名 编号 真实姓名 院系 图4-4 教师实体图 考生 密码 顾客名 编号 真实姓名 考生组编号 所在院系 图4-5 考生实体图 试题 分值 难度 试题描述 参照答案 类型 编号 图4-6 试题实体图 考试 编号 监考人编号 考场 描述 考试日期 考生组编号 试卷编号 总分 考试时长 图4-7 考试实体图 考试公示 编号 公示内容 浏览次数 公示标题 作者 图4-8 考试公示实体图 试卷 编号 与否使用 生成时间 管理员编号 图4-9 试卷实体图 考生组 编号 组名 教师编号 备注 图4-10 考生组实体图 答题卡 编号 考生答案 考试编号 得分 考生编号 试题类型 试题编号 与否批阅 图4-11 答题卡实体图 考生成绩单 考生编号 考生成绩 考试编号 与否暂停考试 考试剩余时间 编号 与否交卷 图4-12 考生成绩单实体图 管理员编号 操作日期 操作 公示编号 公示管理 编号 图4-13 公示管理实体图 管理员编号 操作日期 操作 考生组编号 考生组管理 编号 图4-14 考生组管理实体图 管理员编号 操作日期 操作 教师编号 教师管理 编号 图4-15 教师管理实体图 教师编号 操作日期 操作 试题编号 试题管理 编号 图4-16 试题管理实体图 管理员编号 操作日期 操作 考试编号 考试管理 编号 图4-17 考试管理实体图 试卷编号 组卷 编号 试题编号 图4-18组卷实体图 (3)数据库逻辑设计及表设计 依照系统总体概念设计模型、E-R图向关系模式转化规则和数据库范式理论,得到系统优化后逻辑模型[5],如表4-1~表4-17所示: 表4-1 管理员表 (admin 表) 字段名称 类型 默认值 与否主键 与否为空 阐明 AdminID Int 自增 Yes No 管理员编号 RealName varChar(20) No No 真实姓名 续表4-1 字段名称 类型 默认值 与否主键 与否为空 阐明 Password varChar(20) No No 密码 Username varChar(20) No No 顾客名 表4-2 教师表(teacher 表) 字段名称 类型 默认值 与否主键 与否为空 阐明 TeacherID Int 自增 Yes No 教师编号 RealName varChar(20) No No 真实姓名 Password varChar(20) No No 密码 Username varChar(20) No No 顾客名 Academy varChar(20) No No 所在院系 表4-3 考生表(student 表) 字段名称 类型 默认值 与否主键 与否为空 阐明 StudentID Int 自增 Yes No 考生编号 Username varChar(20) No No 顾客名 Password varChar(20) No No 密码 RealName varChar(20) No No 真实姓名 GroupID Int No No 考生组编号,外键 Academy varChar(20) No No 所在院系 表4-4 试题表(question 表) 字段名称 类型 默认值 与否主键 与否为空 阐明 QuestionID Int 自增 Yes No 试题编号 Type Char(10) No No 试题类型 Description Nvarchar(500) No No 试题描述 Difficulty Char(10) No No 难度 ScoreOfQuestion Nvarchar(200) No No 该题分值 Answer Nvarchar(200) No No 参照答案 表4-5考试表(exam表) 字段名称 类型 默认值 与否主键 与否为空 阐明 ExamID Int 自增 Yes N- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 范例 样本
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文