软件综合重点工程优秀课程设计范例.doc
《软件综合重点工程优秀课程设计范例.doc》由会员分享,可在线阅读,更多相关《软件综合重点工程优秀课程设计范例.doc(60页珍藏版)》请在咨信网上搜索。
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元/
9、年每十二个月节省人力费用0.4万元每十二个月节省纸费用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)和现有
10、系统比较优越性C语言在线考试系统利用数据库对试题进行管理,使得对大量试题管理高效、方便地进行,而传统考试模式下试题管理低效耗时,在试题达成一定数量以后,管理起来十分不便,需要花费大量时间和精力。因为试题存放于计算机硬盘中,并采取在线考试这种无纸化考试模式,和传统考试模式相比,不仅节省了试题存放空间,更是节省了大量纸张(试卷和答题册),愈加环境保护、节省。同时,该系统自动组卷和评分功效使得出卷和评分过程自动化,和传统手工出卷评分相比,节省了大量劳力,使得广大老师能够从繁重出卷、评分工作中解脱出来,从而把更多时间和精力用于教学和科研。另外,系统试卷提交功效在考试时间截止时,自动完成试卷提交,阻止考
11、生继续答题,使得考试公正性和严厉性较传统考试愈加好得表现。最终,该系统提供倒计时功效,使得考生在考试过程中更合理地安排时间,有利于考生取得好成绩。(3)采取提议系统可能带来影响采取C语言在线考试系统以后,试题管理效率,组织考试和评卷效率将大为提升,有利于在短时间内实现对考生C语言学习情况检验。同时,本系统将节省大量纸资源,节省组织考试开支。老师将从繁重出题、组织监督考试、评分工作中解脱出来,把更多时间和精力用于教学和科研。采取C语言在线考试系统以后,要讨老师适应新型试题管理模式,需要老师掌握该系统使用。对考生而言,要求她们适应新型考试模式,一样,也需要她们熟悉系统使用。(4)所提议技术可行性分
12、析C语言在线考试系统是一个基于B/S/S体系结构网络应用系统,开发这类系统技术已经比较成熟,比如JSP技术、ASP技术等等。同时,考虑到开发人员对这类系统和相关技术比较熟悉且开发期较为充裕,估计能够再要求期限内完成开发。1.2.3. 社会可行性(1)法律方面可行性C语言在线考试系统研制和开发过程,将在严格遵守国家各项法律法规基础上进行,将不会侵犯她人、集体和国家利益。同时,在系统开发过程中,将严格遵守和用户签署协议各项条款。(2)使用方面可行性C语言在线考试系统研制和开发将充足考虑到用户业务往来、管理步骤和人员素质等,从而能满足使用要求。2. 相关技术介绍C语言在线考试系统开发采取了三层浏览器
13、(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服务器、中间件和数据库服务器
14、组成。在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服务器文件系统中找到页面并返回;不然实施对应应用程
15、序,比如对数据库进行更新、查询等,随即取得数据库操作结果,将结果动态生成页面,返回给表示层用户端;数据层则有数据库服务器,实现数据存放、维护、访问和更新,它接收Web服务器数据操作请求,并把运行结果返回给Web服务器。B/S/S结构含有以下特点:第一,基于TCP/IP开放式网络标准协议,完全实现了跨平台访问计算机及其网络上多种资源,含有很强系统独立性和平台无关性。第二,软件维护开销大大降低,只需开发维护服务器应用程序,无需开发用户端程序,规范和统一了用户端程序标准Web浏览器,从而统一了用户界面。第三,充足发挥了数据库管理系统(DBMS)高效数据存放和数据管理能力,实现了更大程度和更大范围数据
16、库资源共享。B/S/S结构代表了目前数据库应用软件技术发展趋势,是现在开发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下
17、运行,也能在其它操作系统上运行。和前一代Internet/Intranet开发语言(ASP、PHP)相比,JSP在以下多个方面有了重大突破:第一,经过JSP扩展标签库和JavaBeans功效,网站逻辑和网站界面能够完美地分离。第二,使用 Enterprise JavaBeans,能够轻松地在JSP开发Web中实现事务、安全、会话等等企业级应用所需要功效。第三,JDBC 2.0提供了不一样数据库产品无关数据库连接方法,更关键是,数据库连接池提供了一个比一般数据库连接方法效率高得多连接方法。Web服务器在碰到访问JSP网页请求时,首先实施其中程序片段,然后将实施结果以HTML格式返回给用户。程序片
18、段能够操作数据库、重新定向网页和发送email等等,这就是建立动态网站所需要功效。全部程序操作全部是在服务器端进行,网络上传送给用户端仅是得到结果,对用户浏览器要求最低,能够实现无plugin,无ActiveX,无Java Applet,甚至无Frame。JSP含有以下优点6:第一,将内容生成和显示进行分离。使用JSP技术,Web页面开发人员能够使用HTML或XML标识来设计和格式化最终页面。使用JSP标识或小脚原来生成页面上动态内容。生成内容逻辑被封装标识在JavaBeans组件中,而且捆绑在小脚本中,全部脚本在服务器端运行。Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响动态
19、内容生成。在服务器端,JSP引擎JSP标识和小脚本,生成所请求动态内容而且将结果以HTML(或XML)页面形式发送回浏览器。这有利于作者保护自己代码,而又确保任何基于HTMLWeb浏览器完全可用性。第二,可重用组件。绝大多数JSP页面依靠于可重用,跨平台组件(JavaBeans或EJB组件)来实施应用程序所要求更为复杂处理。开发人员能够共享和交换实施一般操作组件,或使得这些组件为更多使用者或用户团体所使用。基于组件方法加速了总体开发过程,而且使得多种组织在她们现有技能和优化结果开发努力中得到平衡。第三,用标识简化页面开发。Web页面开发人员不会全部是熟悉脚本语言编程人员。JSP技术封装了很多功
20、效,这些功效是在易用、和JSP相关XML标识中进行动态内容生成所需要。标准JSP标识能够访问和实例化JavaBeans组件,设置或检索组件属性,下载Applet,和实施用其它方法更难于编码和耗时功效。2.3. StrutsStruts 是Apache 软件基金组织Jakarta 项目标一个子项目,Struts 前身是Craig R. McClanahan 编写JSP Model2 架构。Struts 在英文中是支架、支撑意思,这表明了Struts 在Web 应用开发中巨大作用,采取Struts 能够愈加好地遵照MVC 模式。另外, Struts 提供了一套完备规范,和基础类库,能够充足利用JS
21、P/Servlet 优点,减轻程序员工作量,含有很强可扩展性。Struts作者Craig R.McClanahan参与了JSP规范制订和Tomcat4开发,同时还领导制订了J2EE平台Web层架构规范。受此影响,Struts框架一经推出,立即引发了Java 开发者广泛爱好,并在全世界推广开来,最终成为世界上应用最广泛MVC 框架9。2.4. Hibernate 目前软件开发语言已经全方面转向面向对象,而数据库系统仍停留在关系数据库阶段。面对复杂企业环境,同时使用面向对象语言和关系数据库是相当麻烦,不仅中间过渡难以了解,而且其开发周期也相当长。Hibernate 是一个面向Java 环境对象/关
22、系数据库映射工具。对象/关系数据库映射( Object/Relational Mapping) 表示一个技术,用来把对象模型表示对象映射到基于SQL关系模型数据结构中去10。Hibernate 目标是:释放开发者通常数据持久化相关编程任务95% 。对于以数据为中心程序而言,往往在数据库中使用存放过程来实现商业逻辑,Hibernate 可能不是最好处理方案。但对于那些基于Java 中间件应用中,设计采取面向对象业务模型和商业逻辑时,Hibernate 是最有用。不管怎样, Hibernate能消除那些针对特定数据库厂商SQL代码,而且把结果集由表格式形式转换成值对象形式。Hibernate不仅管
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 综合 重点工程 优秀 课程设计 范例
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。