当前位置:文档之家› 软件工程课程设计范例

软件工程课程设计范例

《软件工程》课程设计题目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 (5)2.3.Struts (5)2.4.Hibernate (6)2.5.MySQL (6)2.6.Tomcat Web服务器 (7)3. 系统的需求分析 (7)3.1.系统的功能需求 (8)3.2.系统的模块划分 (9)4. 系统的设计 (10)4.1.系统的概要设计 (10)4.1.1.系统的总体结构 (11)4.1.2.系统数据库设计 (11)4.2.系统主要模块的详细设计 (20)4.2.1.试题管理模块设计 (20)4.2.2.考试管理模块设计 (21)4.2.3.在线考试模块设计 (22)4.2.4.答卷自动评分模块设计 (23)5.系统主要模块的实现 (25)5.1.创建项目 (26)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.初始种群的生成 (34)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.答卷自动评分模块的实现 (42)6. 系统的测试 (44)6.1.系统的测试环境 (45)6.2.系统的测试用例设计 (45)6.3.系统的测试结果 (47)6.4.系统的测试分析 (48)结束语 (48)参考文献 (49)致...................................................................... 错误!未定义书签。

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语言在线考试系统的开发成本包括开发该系统的人力的费用以及用于购买部署该系统并充当服务器的计算机的费用。

开发该系统估计需要四个开发人员一周的工作量,如果每人每月的工资为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语言在线考试系统利用数据库对试题信息进行高效、便捷的管理,实现试题的录入、查询、修改和删除。

同时,系统提供了自动组卷功能、倒计时功能、试卷提交功能、试卷评分功能,实现了考试的无纸化、自动化、网络化,并体现了考试的公正、严肃。

(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为背景的数据存储和访问。

图2-1 Web数据库系统的三层B/S/S体系结构B/S/S结构中的表示层有Web浏览器,它向网络上的Web服务器提出服务请求,接收Web服务器返回的页面并显示给用户;事务逻辑层有Web服务器,它接受用户的请求并判断请求的类型。

如果请求的是一般静态页面,就直接在Web服务器的文件系统中找到页面并返回;否则执行相应的应用程序,比如对数据库进行更新、查询等,随后获得数据库操作的结果,将结果动态生成页面,返回给表示层的客户端;数据层则有数据库服务器,实现数据的存储、维护、访问和更新,它接受Web服务器的数据操作请求,并把运行结果返回给Web服务器。

相关主题