基于JSP的网上考试系统本科生设计

上传人:仙*** 文档编号:39791900 上传时间:2021-11-12 格式:DOC 页数:39 大小:596.50KB
返回 下载 相关 举报
基于JSP的网上考试系统本科生设计_第1页
第1页 / 共39页
基于JSP的网上考试系统本科生设计_第2页
第2页 / 共39页
基于JSP的网上考试系统本科生设计_第3页
第3页 / 共39页
点击查看更多>>
资源描述
耙刃湛段戒沫棚谅庆扇态骆事执挂毯孟酌娶镐脱娥律骚矫自析睁豺沿菌喉案丧谣椭洒说众环腆域怒秘僻肩囤疥郝汛腺富缮逐稿痔琴酉称霍违藐威傀泅重惜莲守躬掇绢瘩吨恬恬躇络词跑饼壕温搜堕盐侗酮肃鼠杨哄釜娘肉岸辟脖喀茶盾历暗缩噶采线洗逃催疡酝乌琳丛疼弱檀量听磊群茸聊旭吗峙跃网非檄线伤畜肿吓勋憾管巡顶胃丑识啄孟导坊漾杀沃炼畅梆滇唱除烘恳氰现釉醇乖渣篮总镭纫服翼辰寄刊碧蛹倔砍梭店烟瞻豁慈七瘩矩育米瑰莹乃倡垣坏枣科灯御靶糊悄饯臻啄酞势予滞潮轧戳文蔓料秤其脉铆触董吊渺楚媚燎茵呛曳赛讫较徊砒正侯兢瓣业寅煌搂册算床惫沫帽休染喊毖蹿差秧垒 本科生毕业设计基于 JSP 的网上考试系统JSP-based Online Examination System学生姓名所在专业计算机科学与技术所在班级申请学位工学学士指导教师职称副指导教师职称答辩时间目 录窟拴殴邻念需铡级骑状扔爽六质神医纹荫僚试羹惺净谦碱弧巡别子首肌综中仔堤习飞佰头委攫奠球伦荆殷艇钩隘民互纂鲍星肚寸闲柑冶畅鼻丢酋莲讽茸亡揖壹翁宝利袁扯议斤财畜芋汞虽噶弦罪甚侵磊颤撞吠谐喝藐穆楚窿操慰姚杜闯曲疯浪金俞碎轿玛摇拜陷沦捻彦带彪桔冉逛骏案存己夯咬钒就砾米关融贴属零赢女甥捎腻环耪姚万莉高朽玛疗疟橙颜厘钮牌羊黎弧饱芜鸽抡么简署欧傲鼠魁冬裴剑奥恭刻团神坠栈渤肋酷亿舀雌去榆笛率女止么串钳久斋喳舔嫁登冒铸意芒烫行枉巩钒清般替眯爹曰胳滑身幌厩勺刘迫尽椭水睬侩恋穆圃词孩港蝗意斜成活伐惮咐铅腕婉鲸住血谬捎哥叹听紧禁嫩基于 JSP 的网上考试系统本科生设计彼干介汛嚎由遍天烬旨份雅吏融宛畦芥币锨豌瞪呼壹胡灰评岸疗蕊碧斗蒙维辰筒镑垢惰菌奴冗匠坏潍架扎炕契震村耕俯妮崇尺边槛严曰嫡军转沪披烁幸鸯赞路溯础陛确侍力总苏径肢兴串差蚁研俺编切谅樟盲括能寒鸦玲寺练劈执汐蜡路本吵础慧乳雹热其收部尼沽痔厘颇筛苫腮曹渡骏娃费疽骚榴超塘叉罐仍卜惦苛雄剩枯仗肇妒大诚贞缎乒铱姥叙淄钠耽挞狼滤犯牢请佩轮悸婶险卫审楔滤茶吉锭惭间冀遗挖砖咳钒畏拱酣献色销理檬破秒摈俏四洽凿胎忽拽隐玄玩吵啮左涤琵掌叼舒麦瞄琐厘诵衅浦切布雅蛛擂用蜂凋袭拉砒铭脖想竿存助廊斤昂线蔑泳题阮锑兹鞭矮罐劝区女糠笺霹弹襟罗叉漏 本科生毕业设计本科生毕业设计基于 JSP 的网上考试系统JSP-based Online Examination System学生姓名所在专业计算机科学与技术所在班级申请学位工学学士指导教师职称副指导教师职称答辩时间目目 录录设计总说明设计总说明 .IINTRODUCTION .II1绪论.11.1设计的背景.11.1.1网上考试系统概述.11.1.2国内外网上考试系统的研究现状.11.2设计的概况.21.2.1设计的目的和意义.21.2.2设计的指导思想.21.2.3论文组织结构.22系统开发的相关理论与技术.32.1系统开发模式.32.1.1B/S 结构设计模式.32.2系统开发工具选择.42.2.1操作系统和服务器选用.42.2.2开发平台.42.2.3数据库的选用.42.2.4其它辅助工具的选用.42.3相关理论与开发技术.52.3.1JSP 技术.53系统分析.63.1可行性分析.63.1.1技术可行性.63.1.2经济可行性.73.1.3操作可行性.73.2需求分析.73.2.1角色识别.73.2.2考生功能.83.2.3管理功能.83.2.4功能模块划分.83.3系统流程图.83.4数据字典.93.5实体关系模型(实体 E-R 图).114系统总体设计.134.1系统功能总框架.144.2数据库设计.144.2.1逻辑结构设计.144.2.2物理结构设计.165系统详细设计及实现代码.175.1前台.175.1.1考生信息模块.175.1.2在线考试模块模块.215.2后台.235.2.1考试题目管理模块.236系统测试.277总结.28鸣鸣 谢谢.29参考文献参考文献.30附附 录录.31设计总说明设计总说明随着科技的发展,网络技术已经深入到人们的日常生活中。它同时带来了教育方式的一次变革,而网络考试则是一个很重要的方面。基于 Web 技术的网络考试系统具有廉价、开放、易实现等特点,考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。缩短了常规考试要求老师设计试卷、打印试卷、安排考试、监考、收集试卷、评改试卷、统计分数、入档,这个漫长而复杂的过程,提高工作效率,节省时间金钱,使考试更趋于客观、公正。网络应用中最常见的模式是 B/S 模式,即需要获取信息的用户使用浏览器向服务器发出请求,服务器对此作出响应,将有关信息发送给用户的浏览器。在 B/S 模式中,服务器上必须有所谓的Web 应用程序,服务器通过运行这些 Web 程序来响应用户的请求。JSP 正是一种优秀的 Web 服务器端开发技术,得益于 Java 语言,JSP 具有跨平台、易维护和安全性,正适合用于在线考试系统的开发。本系统以软件工程方法学为指导并利用 JSP 技术设计实现基于 JSP 的网上考试系统,具有在线考试、即时阅卷、成绩查询及考题和考生信息管理等功能,开发工具采用 MyEclipse,后台数据库采用 SQL Server 2005。首先对系统的可行性及需求进行分析,接着进行数据库的设计、软件结构的设计,最后对前台和后台等进行详细设计并在 Myelipse 平台下采用 JSP 技术编程实现。系统运行结果良好,达到预期目标。本系统的创新之处在于:第一.使用了 Struts 框架,Struts 通过 JavaServlet/JSP 技术,实现了基于 Java EE Web 应用的 MVC 设计模式应用框架,是 MVC 经典设计模式中的一个经典产品,可以使得系统的设计思路更加清晰;第二.应用了 EL 表达式和 Struts 框架提供的标签库,大大减少了JSP 页面中的脚本程序,使得页面代码更加简洁明了;第三.应用了 Ajax 技术实现考试系统的考试时间自动计时和根据选择的课程动态生成相关套题的下拉列表。局限于个人的开发经验,本系统尚有许多能够进一步改进和优化的地方,例如 JSP 页面的布局和美化,过于简单的页面会使人觉得单调,但是过多的图片和不好的颜色搭配又会对用户的体验造成影响,还有代码算法的优化,因为编程经验的缺少,可能会使同样一个功能但是却付出了更多的资源代价去实现。不足之处,望各位批评指正。关键词:关键词:管理信息系统;考试系统;JSP;StrutsINTRODUCTIONWith the development of science and technology, the network technology has penetrated into peoples daily life. It also brought a revolution in the way of education, while the network test is a very important aspect. The network examination system based on Web technology has the advantages of low cost, open, easily implemented, the exam can in local, also can be in different, greatly expanding the flexibility of the exam. Shorten the routine exam papers, the teacher design requirements of printing papers, examination arrangements, examiners, collected papers, grades examination papers, scores, into the file, the long and complex process, improve work efficiency, save time and money, make the examination more objective, justice.The most common mode of network applications is the B/S model, namely the need to obtain the information of users use the browser sends a request to the server, the server responds, will send relevant information to the users browser. In B/S mode, there must be so-called Web applications on the server, the server by running the Web program in response to user requests. JSP is an excellent Web server development technology, thanks to the Java language, JSP is cross-platform, easy maintenance and safety, is suitable for the development of online examination system.This system based on the software engineering methodology for guidance and the use of JSP technology design and implementation of online examination system based on JSP, with online exam, instant marking, score inquiry and examination questions and the examinee information management functions, development tools using MyEclipse, background database using SQL Server 2005. The feasibility and system requirements analysis, design, database design and software structure, finally the foreground and background are detailed designed and implemented using JSP technology under MyEclipse platform programming. System is running well, to achieve the desired objectives.The innovation lies in the system: the first using the Struts framework, Struts through JavaServlet / JSP technology, applications based on Java EE Web Application Framework MVC design pattern is a classic MVC design pattern in a classic, you can make system design ideas more clearly; second. applied EL expressions and Struts framework provides a tag library, greatly reducing the JSP page of the script, making the page code more concise; Third application of Ajax technology to achieve the examination system the examination time automatic timing and dynamically generated based on the selected program sets of questions related to the drop-down list.Confined to the personal development experience, this system still has a lot of to further improve and optimize the place, such as a JSP page layout and landscaping, too simple page will make people feel monotonous, but too many pictures and bad color will impact on the user experience, and code optimization, because of the lack of programming experience, may make the same function but pay more cost of resources to achieve. Deficiencies, hope everybody criticism.Keywords:Keywords: Management information system; test system; JSP; Struts基于基于 JSPJSP 的网上考试系统的网上考试系统毕业设计说明书毕业设计说明书1 1绪论绪论1.1设计的背景1.1.1网上考试系统概述计算机技术、多媒体技术、通信技术的发展,特别是因特网(Internet)的迅猛发展,使远程教育的手段有了质的飞跃,成为高新技术条件下的远程教育,而网上考试也成了其一个重要的组成部分。传统的考试方式存在时间长、效率低的缺点,同时人工批卷等主观因素也影响到考试的公正性,与之相比,网络在线考试体现出越来越多的优势。尤其是在校园中,将考试系统与别的系统整合在一起,可以非常方便的整合整个学校的资源,更科学的管理校园,建立一个信息化校园。无纸的网络在线考试系统,使得教务管理突破时空的限制,提高了工作效率,节省大量的人力资源及考试费用,大幅度提高举办考试效率,使得学校管理者、教师和学生可以在任何时候、任何地点通过网络进行考试。 。总而言之,网上在线考试。已经成为教育技术的发展与研究方向。1.1.2国内外网上考试系统的研究现状关于网上考试系统的开发规范与标准,世界上有些标准化组织或机构制定的网络教育标准里涉及了网上考试系统的相关内容。在美国,有航空工业计算机辅助蓄念委员会(AICC)比较早提出的计算机管理教学标准;美国国防部提出的可以共享课程对象参照模型(SCORM) ;还有全球学习联合公司(IMS)提出的学习系统规范。16(1)国外网上考试系统美国 Prometric 公司是国际上最大的计算机化教育和考试认证服务的公司。全球都有分公司和考试中心,向学校、企业、个人及社会提供立足于信息技术基础的教育和评估服务。Prometric 全球的业务主要包括学校辅助教育、学校教育管理、远程大学、英语语言教学和计算机化考试五个方面。不断进取以期为认证领域的领先者。Prometric 从事计算机化考试业务,可用 25 种不同语言提供一千多种考试,涉及 IT 领域证书认证,留学考试和职业考试。这些考试通过 Prometric 授权考试中心(APTC)和 Prometric 技术中心(STC)完成。(2)国内网上考试系统ATA 公司是中国智能化考试服务的创始者,中国最大的考试和教育服务供应商。ATA 公司创立于 1999 年,成立之初凭借先进的考试理念自主研发了世界领先的动态操作试题考试技术(DST) ,向客户提供优化考试解决方案,极大地提高了考试的信度和效度,解决了困扰全球考试业界的众多难题,公司亦获得快速发展。2001 年 ATA 公司凭借长期累积的独特技术和资源优势,依托现代教育理念,积极投身于中国职业教育改革,整合了微软、Adobe 等国内外著名 IT 厂商的优质教育资源,为中国院校提供新型人才培养方案和教育方案,以及全面配套服务与支持。13 1.2设计的概况1.2.1设计的目的和意义本设计的目的是设计一个基于 JSP 的网上考试系统,使老师可以从繁复的考试工作中解脱出来,减少老师的工作量,节省学校考试成本。建立网上考试系统可以降低管理成本和人力物力的投入,同时为考生提供更全面、更灵活的服务。设计的内容(1)考生的注册、个人资料修改和找回密码功能。(2)考生的在线考试和成绩查询功能。(3)管理员信息管理和考生信息管理功能。(4)课程信息管理、套题信息管理、考试题目管理功能。1.2.2 设计的指导思想(1)本设计思想是:根据网上考试系统的特点,可以将其分为前台和后台两个部分进行设计。前台主要用于考生注册和登录系统、在线考试、查询成绩及修改个人资料等;后台主要用于管理员对考生信息、课程信息、考题信息和考生成绩信息等进行管理。(2)设计的总体规则:简单性:操作简单方便,界面简洁美观。稳定性:系统运行稳定、安全可靠。实用性:提供考试倒计时,方便考生了解考试剩余时间。公平性:随机抽取试题。1.2.3论文组织结构第 1 章:简单介绍本次系统设计的背景、概况、指导思想等。第 2 章:简单介绍系统开发的相关理论和技术,包括服务器的选用,开发平台的选用等。第 3 章:对系统的可行性分析,需求分析作详细的探讨。第 4 章:详细介绍了系统的框架、数据库设计等。第 5 章:结合系统,详细介绍了本系统的代码设计。第 6 章:测试系统。第 7 章:对本次系统设计的总结。 2 2系统开发的相关理论与技术系统开发的相关理论与技术2.1系统开发模式2.1.1B/S 结构设计模式本设计采用 B/S 结构的开发模式。所谓 B/S 结构,即 Browser/Server(浏览器/服务器)方式的网络结构,在客户端不需要开发任何用户界面,而统一采用如 IE 一类的浏览器,通过 Web 浏览器向 Web 服务器提出请求,由 Web 服务器对数据库进行操作,并将结果逐级传回客户端。主要利用了不断成熟的 WWW 浏览器技术,结合多种 Script 语言(VBScript、JavaScript)技术,是一种全新的软件系统结构技术。在 B/S 体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户的信息返回到浏览器。B/S 结构简化了客户机的工作,客户机上只需要配置少量的客户端软件7。服务器将担负更多的工作,对数据库的访问返回以及动态网页生成等工作全部由 Web 服务器完成。B/S 三层体系结构采用三层结构,在数据管理层(Server)和用户界面层(Client)增加了一层结构,称为中间件(Middleware) ,使整个体系结构成为三层。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。B/S 网络结构如图 2.1所示。图 2.1 B/S 网络结构 B/S 结构设计模式的优势与劣势(1)B/S 结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统2。(2)成本降低,选择更多。大家都知道 windows 在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上 windows 并不是处于绝对的统治地位。 现在的趋势是凡使用 B/S 架构的应用管理软件,只需安装在 Linux 服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用 windows 作为桌面操作系统电脑不受影响,这就使的最流行免费的 Linux 操作系统快速发展起来,Linux 除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。(3)应用服务器运行数据负荷较重。由于 B/S 架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过 WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。2.2系统开发工具选择2.2.1操作系统和服务器选用操作系统采用 Windows XP Professional 版作为网站的服务器。因为 Windows XP 不像Windows 2000 和 98 一样有 Server 的版本,但是其有出色的兼容性和强大的系统管理能力。Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。2.2.2开发平台MyEclipse 是一个十分优秀的用于开发 Java、J2EE 的 Eclipse 插件集合,MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse 目前支持JavaServlet、AJAX、JSP、JSF、Struts、Spring、Hibernate、EJB3、JDBC 数据库连接工具等多项功能。可以说 MyEclipse 几乎囊括了目前所有主流开源产品的专属 eclipse 开发工具。本系统的开发平台就是采用 MyEclipse 8.6.1。 2.2.3数据库的选用本设计采用 Microsoft SQL Server 2005 开发版。数据库的种类繁多,如何选择数据库让人头痛。现在比较流行的数据库像 Access、SQL Server、Oracle、MySQL 等等都是常用的。Access 用于比较简单的数据库设计,一般用于论坛和留言板;Oracle 是以高级结构化查询语言为基础的大型数据库,一般用于大型的数据库设计;MySQL 和 SQL Server 则是适用于中小型企业的数据库。由于 SQL Server 支持存储过程、触发器、自定义函数等操作,它的安全性、并发性控制能力、数据挖掘、联机操作等方面都是其它中小型数据库系统无法超越的,所以本系统选择了 SQL Server 2005。2.2.4其它辅助工具的选用(1)Microsoft Word 2003。用于对毕业论文的编写和资料的收集保存。(2)Macromedia Dreamweaver 8。用于对网页整体框架进行美工的工具,它的强大的 Html控件为网页的设计提供方便。(3)Microsoft Visio 2003。用于论文用例图和程序流程图的设计。2.3相关理论与开发技术2.3.1JSP 技术2.3.1.1 JSP 简介JSP 是由 SunMicrosystems 公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页 HTML 文件(*.htm,*.html)中加入 Java 程序片段(Scriptlet)和 JSP 标签,就构成了 JSP网页 java 程序片段可以操纵数据库、重新定向网页以及发送 E-mail 等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持 Java,也可以访问 JSP 网页。JSP 全名为 java server page,其根本是一个简化的 Servlet 设计,他实现了 Html 语法中的java 扩张(以 形式) 。JSP 与 Servlet 一样,是在服务器端执行的,通常返回给客户端的就是一个 HTML 文本,因此客户端只要有浏览器就能浏览。Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户端。插入的Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从 Servlet 中分离出来。JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客户端请求以后对这些Java 代码进行处理,然后将生成的 HTML 页面返回给客户端的浏览器。Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序的开发需要 Java Servlet 和 JSP 配合才能完成。JSP 具备了 Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。2.3.1.2 JSP 开发环境1. MyEclipse 8.6.1。2. SQL Server 2005 数据库环境。SQL Server 是由 Microsoft 开发和推广的关系数据库管理系统(DBMS)。经过多年发展,SQL Server 2005 是 Microsoft 公司于 2005 年推出的版本。安装使用方便。就网上考试系统的开发,采用较为成熟稳定的 SQL Server 2005 是不错的选择。3.Tomcat 服务器2.3.1.3 JSP 技术的优点(1)将业务层与表示层分离:使用 JSP 技术,网络开发人员可以使用 HTML 来设计页面显示部分(如字体颜色等) ,使用 JSP 指令或者 JAVA 程序片段来生成网页上的动态内容。(2)能够跨平台:JSP 支持绝大部分平台,包括现在非常流行的 LINUX 系统,应用非常广泛的 Apache 服务器也提供了支持 JSP 的服务。(3)组件的开发和使用很方便:如 ASP 的组件是由 C+,VB 等语言开发的,并需要注册才能使用;而 JSP 的组件是用 Java 开发的,可以直接使用。(4)一次编写,处处运行:作为 Java 开发平台的一部分,JSP 具有 Java 的所有优点,包括 Write once、Run everwhere。2.3.1.4 JSP 的工作原理在一个 JSP 文件第一次被请求时,JSP 引擎把该 JSP 文件转换成为一个 servlet。而这个引擎本身也是一个 servlet,在 JSWDK 或 WEBLOGIC 中,它就是 JspServlet。 JSP 引擎先把该 JSP 文件转换成一个 Java 源文件,在转换时如果发现 jsp 文件有任何语法错误,转换过程将中断,并向服务端和客户端输出出错信息;如果转换成功, JSP 引擎用 javac 把该 Java 源文件编译成相应的class 文件。然后创建一个该 SERVLET 的实例,该 SERVLET 的 jspInit()方法被执行,jspInit()方法在 servlet 的生命周期中只被执行一次。然后 jspService()方法被调用来处理客户端的请求。对每一个请求,JSP 引擎创建一个新的线程来处理该请求。如果有多个客户端同时请求该 JSP 文件,则 JSP 引擎会创建多个线程。每个客户端请求对应一个线程。以多线程方式执行可大大降低对系统的资源需求,提高系统的并发量及响应时间.但应该注意多线程的编程限制,由于该 servlet 始终驻于内存,所以响应是非常快的。如果.jsp 文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将编译结果取代内存中的 servlet,并继续上述处理过程。3 3系统分析系统分析3.1可行性分析 可行性分析的目的就是要用最小的代价在尽可能短的时间内确定问题是否能够解决。通过分析解决方法的利弊,来判断系统目标和规模是否现实,系统完成后所能带来的效益是否达到值得去投资开发这个系统的程度。3.1.1技术可行性技术的可行性是整个系统开发环节当中非常重要的一个环节,那么怎么才能合理的面对系统的可行性,我们在考虑如何完成这个系统时,我们能够接受的范围是在我们技术范围之内的事情,所以相对来说分析技术可行性是非常有这个必要的,有的时候某个功能实现就那么简单,但是真正实施起来的话,投入的人力物力就非常大了。技术可行性,就是要进行技术风险评价。从开发者的技术实力、以往的工作基础和问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性。如果开发技术风险很大,或者模型演示表明当前采用的技术和方法不能实现系统预期的功能和性能,或者系统的实现不支持各子系统的集成,则项目管理人员可以做出停止系统开发的决定。所以系统的可行性在整个系统的开发流程当中是非常重要的,衡量投入和利润的就是技术的可行性,所以我们在开发一个系统的时候应该首先考虑这个系统的技术可行性再开发,不要到开发了一半然后才知道很多技术达不到要求而半途而废。开发一个网络在线考试系统,涉及的最核心的技术问题就是如何实现在不刷新页面的情况下实时显示考试时间及剩余时间,并做到达到考试结束时间时自动提交试卷的功能。如果在 Ajax 技术出现以前,要实现这些功能会比较麻烦,但现在通过 Ajax 技术可以轻松实现这些功能,这为这次开发提供了技术保障。3.1.2经济可行性企业总是以赢利为目的的,利润最大化是企业追求的目标,经济上的可行性是企业行为的基础。 经济可行性分析,是从经济的角度分析网站系统的规划方案有无实现的可能和开发的价值;分析网站系统所带来的经济效益是否超过开发和维护网站所需要的费用。经济可行性,进行成本/效益分析。就是从经济角度判断系统开发是否“合算” 。所谓成本,包括购置并安装软、硬件及有关设备的费用;系统开发费用;系统安装、运行及维护的费用;人员培训费用。而效益是指系统为用户增加的收入或为用户节省的开支,这是有形的效益;给潜在用户心理上造成的影响,这是无形的效益。它可以转化为有形的效益。定期的组织考试是各个院校及时掌握学生学习成绩的有效方式,利用网络在线考试系统,一方面可以节省人力资源,降低考试成本;另一方面,在线考试系统能够快速地进行考试和评分,体现出考试的客观性和公正性。3.1.3操作可行性本系统利用 SQL Server 2005 数据库所具有的能力,以最简洁最容易的方法,使其成为一个简而易懂的考试系统。经过测试使用,收到了很好的效应。3.2需求分析3.2.1角色识别角色识别的任务是找出所有可能与系统发生交互行为的外部实体,对象和系统。他们的行为不受系统的控制,但是可以提供输入给系统(即使用系统的功能,或者能够响应系统的服务请求,为系统提供服务的接口)。在前面的描述中已经知道,在访问系统时,考生或者管理员必须先登录,然后根据自己的身份去进行自己所需要的操作。经过分析可以明确,本系统包含两个角色:考生,系统管理员。3.2.2考生功能根据对当前网络上网上考试系统的详细分析,考生界面就是考生在使用考试系统时,系统提供给用户使用的浏览器显示界面,能够实现用户与系统的友好交互,并且能够对用户的使用给以人性化的引导与提示,功能具体如下:1. 考生的行为:在线考试,成绩查询,退出系统。2. 个人信息的操作:考生注册,考生登录,修改个人资料。3.2.3管理功能管理界面是系统提供给管理员进行系统的维护及管理的浏览器界面,能够实现系统管理员与系统的有效交互,使得系统管理员能够对管理员信息,考生信息,考生成绩,课程信息,套题信息,考试题目信息,进行有效的的维护与管理操作,功能具体如下:1. 系统管理员的行为:考生成绩查询。2. 管理员管理的操作:考生信息管理,管理员信息管理,课程信息管理,套题信息管理,考试题目管理。3.2.4功能模块划分表 3.1功能模块列表序号功能模块类型功能模块备注1前台考生信息考生注册、考生登录、修改个人资料、找回密码2前台在线考试考试3前台成绩查询成绩查询4后台信息管理管理员信息、考生信息、课程信息、套题信息5后台考试题目管理考试题目管理模块功能列表是根据模块完成任务的不同进行划分的,一共包括 5 大模块,其中与前台相关的共有 3 个,与后台相关的共有 2 个。这些功能模块是建立在对系统的需求分析和设计的基础上的,是从大的方面对系统进行的很粗糙的划分,进入系统详细设计阶段将会对系统进行更加精细的划分设计。3.3系统流程图考生前台部分:图 3.1 前台流程图管理员后台部分:图 3.2 后台流程图3.4数据字典数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流图工具的补充。数据流图和数据字典共同构成系统的逻辑模型。(1)考生信息表 3.2 考生信息名称考生信息简述保存考生信息组成ID、姓名、密码、性别、注册时间、提示问题、问题答案、专业、身份证号来源注册、修改个人资料去向登陆、找回密码数据量注解(2)课程信息表 3.3 课程信息名称课程信息简述保存课程信息组成ID、课程名称、加入时间来源添加课程去向删除课程、添加套题、添加题目数据量注解(3)管理员信息表 3.4 管理员信息名称管理员信息简述存储管理员信息组成ID、管理员账号、密码来源添加管理员、修改管理员密码去向登录、修改管理员密码数据量注解(4)套题信息表 3.5 套题信息名称套题信息简述保存套题信息组成ID、套题名称、所属课程、添加时间来源添加套题信息去向修改套题名称、修改所属课程数据量注解(5)考试题目信息表 3.6 考试题目信息名称考试题目信息简述保存考试题目信息组成ID、问题、类型、添加时间、所属课程 ID、所属套题 ID、选项 A、选项 B、选项 C、选项 D、正确答案、备注来源添加考试题目去向修改考试题目、出题数据量注解(6)考生成绩信息表 3.7 考生成绩信息名称考生成绩信息简述保存考生成绩组成ID、准考证号、所属课程、单选题分数、多选题分数、合计分数、添加时间来源学生考试去向查询成绩数据量注解3.5实体关系模型(实体 E-R 图)图 3.3 考生实体 E-R 图图 3.4 课程实体 E-R 图图 3.5 管理员实体 E-R 图图 3.6 套题实体 E-R 图图 3.7 题目实体 E-R 图图 3.8 成绩实体 E-R 图4 4系统总体设计系统总体设计系统总体设计是平台开发的一个重要的环节,在系统调查的基础上,对新系统的功能进行细致的分析,开发出完整的系统设计。总体设计过程首先寻找实现目标系统的各种不同的方案,而这些方案就是依靠前面系统需求分析所完成的数据流图等设计来设计的。本系统从方案中选取较合理的方案划分系统功能模块,并进行必要的数据库设计。4.1系统功能总框架通过可行性研究和数据流程分析,可得到系统的功能结构的划分,如图 4.3.1 所示。图 4.1 系统功能结构图4.2数据库设计4.2.1逻辑结构设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本实体 E-R 图转换为与选用的 DBMS产品所支持的数据模型相符合的逻辑结构。由于各种 DBMS 产品一般都有许多限制,提供不同的环境与工具,因此,逻辑设计分为如下几步:(1) 将概念模型向一般关系、网状和层次模型转化;(2) 将得到的一般关系、网状和层次模型向特定的 DBMS 产品所支持的数据模型转化;(3) 依据应用的需求和具体的 DBMS 的特征进行调整和完善15。(1)考生信息表 tb_Student,保存考生信息。表 4.1 考生信息表 表名:tb_Student序号列名数据类型主键允许空默认值说明1IDVarchar(16)是否编号 ID2NameVarchar(20)否姓名3PwdVarchar(20)否密码4SexVarchar(2)否性别5JointimeDatetime否Getdate()注册时间6questionVarchar(50)否提示问题7AnswerVarchar(50)否问题答案8PrefessionVarchar(30)是专业9CardnoVarchar(18)否身份证号码(2)课程信息表 tb_Lession,记录课程信息。表 4.2 课程信息表 表名:tb_Lession序号列名数据类型主键允许空默认值说明1IDint是否编号 ID2NameVarchar(60)否课程名称3jointimedatatime否Getdate()添加时间(3)管理员信息表 tb_manager,记录管理员信息。表 4.3 手机表 表名:tb_Product序号列名数据类型主键允许空默认值说明1IDint是否编号 ID2NameVarchar(30)否姓名3PwdVarchar(30)否密码(4)套题信息表 tb_Taoti,记录套题信息。表 4.4 套题信息表 表名:tb_Taoti序号列名数据类型主键允许空默认值说明1IDint是否编号 ID2NameVarchar(50)否套题名称3lessonIDint否所属课程4jointimedatetime否Getdate()添加时间(5)考试题目信息表 tb_Questions,保存考试题目信息。表 4.5 考试题目信息表 表名:tb_Questions序号列名数据类型主键允许空默认值说明1IDint是否编号 ID2SubjectVarchar(50)否问题3TypeChar(6)否类型4JointimeDatetime否Getdate()添加时间5lessonIDInt否所属课程 ID6taotiIDInt否所属套题 ID7optionAVarchar(50)否选项 A8optionBVarchar(50)否选项 B9optionCVarchar(50)否选项 C10optionDVarchar(50)否选项 D11AnswerVarchar(10)否正确答案12noteVarchar(50)是备注(6)学生成绩信息表 tb_stuResult,保存学生成绩。表 4.6 学生成绩信息表 表名:tb_stuResult序号列名数据类型主键允许空默认值说明1IDInt是否编号 ID2stuIDVarchar(16)否准考证号3whichLessonVarchar(60)否所属课程4resSingleInt否单选题分数5resMoreInt否多选题分数6resTotal是resSingle+resMore合计分数7Jointimedatetime否Getdate()添加时间4.2.2物理结构设计为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理结构设计。不同的 DBMS 所提供的物理环境、存取方法和存储结构有很大差别,提供给设计人员使用的设计选择范围也很不相同,因此没有通用的物理设计方法可遵循,只能给出一般的设计内容和原则。希望设计优化的物理数据库结构,使得在数据库上运行的各种事务响应时间小、存储空间利用率高、事务吞吐率大。 综合数据库物理设计的目标是:(1) 提高数据库应用系统的性能,特别是满足主要应用的性能要求。(2) 有效地利用存储空间。为此,首先须要对主要的运行事务进行详细分析,获得选择物理数据库设计所需要的参数。其次,要充分了解所用的 RDBMS 的内部特征,特别是系统提供的存取方法和存储结构。了解查询和更新事务是确定关系的存取方法的主要依据。物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数。了解用户的需求后,建立一个名为 db_netExam.mdf 的 SQL Server 数据库文件,依据第三范式的要求建立数据库表结构,以充分利用存储空间,并且做以下优化来提高数据库性能:为每个数据库表建立一个整型类型的自动增长的主键17。很多数据库设计者喜欢使用自动增长的主键,因为它使用简单,本系统也不例外的选择自动增长的主键。自动增长主键允许我们在向数据库添加数据时,不考虑主键的取值,记录插入后,数据库系统会自动为其分配一个值,确保绝对不会出现重复。由于使用 SQL Server 数据库的话,还可以在记录插入后使用IDENTITY 全局变量获取系统分配的主键键值,可以说自动增长型字段会省掉系统数据库开发过程中很多繁琐的工作。确定数据库表的存取方法。存取方法是快速存取数据库中数据的关键技术,物理设计的任务之一就是要确定选择哪些存取方法。常用的存取方法有索引方法。对于以下情况应该考虑建立索引:对于以读为主或只读的表,如果存储空间允许,可以多建索引。对于等值查询,如果满足条件的元组是少量的,则可以考虑在有关属性上建立索引。对于范围查询,最好在有关的属性上建立簇集索引,如果已在其它属性上建立簇集索引,可以考虑建立非簇集索引。 5 5系统详细设计及实现代码系统详细设计及实现代码5.1前台5.1.1考生信息模块考生信息模块流程如图 5.1 所示。图 5.1 考生信息模块流程图(1)考生注册 考生注册页面如图 5.2 所示图 5.2 考生注册页面图 5.3 注册成功页面图 5.4 注册失败页面输入内容:如图 5.2 所示,输入内容为考生姓名、密码、性别、提示问题、问题答案、专业、身份证号。输出内容:输入的格式错误信息、用户已存在或注册成功信息。验证规则:通过自定义的 javascript 函数验证输入信息是否合法,如果格式正确则验证用户名是否已存在,不存在则注册成功。点击保存,其中关键的伪代码如下所示:Start 为 student 类新建一个对象 使用 studentAdd 函数把用户信息保存到数据库if 数据库不存在该账号 then 注册成功 else 注册失败 end ifEnd(2)考生登录 考生登录页面如图 5.5 所示图 5.5 用户登录页面当输入帐号、密码正确时成功登录:图 5.6 登陆以后的页面/当用户点击“登录”按钮时,具体关键伪代码如下:Start使用 checkStudent 函数If 准考证号已经存在Then 对比密码If 正确登录成功Else 您输入的考生准考证号码或密码错误!End ifElse 您输入的考生准考证号码或密码错误!End ifend 当用户登陆成功后,点击退出系统,跳到logout.jsp关键伪代码如下:start 调用session的invalidate函数结束会话跳回前台首页end5.1.2在线考试模块模块考试模块流程如图 5.7 所示。图 5.7 考试模块流程图(1)选择考试课程如图 5.8 所示图 5.8 选择考试课程页面关键伪代码如下:Start查询登录考生尚未考试的科目if 没有尚未考试的科目 then 无需要考试的课程,如果有问题,请与管理员联系!;else 转到选择课程的考试页面end(2)随机抽选试题并显示选择课程后考试界面如图 5.9。图 5.9 考试页面关键伪代码如下:Start从会话中得到准考证号 if 考生没有登陆 then 返回登录页面else 获取试题并显示试题End ifEnd(3)自动阅卷并显示考试成绩图 5.10 显示考试成绩对话框/点击交卷按钮或计时结束时,系统将自动阅卷并将成绩以对话框的形式反馈给考生,具体关键伪代码如下:start对比单选题答案并计分对比多选题答案并计分合计并显示成绩End5.2后台5.2.1考试题目管理模块图 5.11 考试题目管理模块流程图(1)查看考试题目列表运行结果如图 5.12:图 5.12 查看考试题目列表页面其关键伪代码如下:start 调用QuestionsDAO类中的query()方法查询全部考试题目 将查询结果保存到httpServletRequest对象的参数questionQuery中调用javabean中的方法获取并显示结果End(2)添加考试题目运行结果如图5.13:图 5.13 添加考试题目页面其关键伪代码如下:start 通过自定义的javascript函数检验输入信息是否合法将接收到的表单信息转换成Actionform类型调用QuestionsDAO类中的insert()方法保存题目信息end (3)修改考试题目运行结果如图5.14:图 5.14 修改考试题目页面其关键伪代码如下:start 通过自定义的javascript函数检验输入信息是否合法将接收到的表单信息转换成Actionform类型调用QuestionsDAO类中的update()方法保存题目信息end(4)删除考试题目运行结果如图5.15:图 5.15 删除考试题目页面其关键伪代码如下:start获取要删除的题目ID调用QuestionDAO类的方法delete()删除题目信息end6 6系统测试系统测试系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。 系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析系统设计和实施的最后复查。根据测试的概念和目的,在进行信息系统测试时应遵循以基本原则。在进行软件测试的时候需要遵守一下几点原则:(1)设计测试方案的时候,不仅要确定输入数据,而且要根据系统功能确定预期的输出结果。将实际输出结果与预期结果相比较就能发现测试对象是否正确。 。(2)测试用例不仅包括合理、有效的数据,还要包括无效的或不合理的输入数据。(3)应尽早并不断地进行测试。测试不是在应用系统开发完之后才进行的。由于原始问题的复杂性、开发各阶段的多样性以及参加人员之间的协调等因素,使得开发的各个阶段都有可能出现错误。因此,测试应贯穿在开发的各个阶段,尽早纠正错误,消除隐患。(4)对异常、不合理、意想不到的情况进行测试,而这些可能就是隐患。(5)保留测试用例,作为软件文档的组成部分。下面给出部分的测试用例和结果:(1)考生、管理员登录测试功能:检验用户、管理员登录的信息是否正确。操作:输入正确的用户名 GDOU201305260006 和正确密码 111111,然后点击“登陆” 。再输入错误的用户名 GDOU201305260001 和正确的密码 111111,然后点击“登陆” 。再输入正确的用户名 GDOU201305260001 和错的密码 111111,然后点击“登陆” 。同理测试管理员预期结果:用户名和密码任何一个错了都不能登录,并且错误警告能正常显示。实际结果:与预期结果相符。(2)考生信息模块测试功能:考生注册、考生登录、个人资料修改、找回密码操作:尝试各种非法的输入信息和合法的输入信息预期结果:都能正常提示,并拒绝错误操作,接受正常操作实际结果:各种提示正常显示,并没有出现意外的情况(3)在线考试模块功能:选择课程并进行在线考试。操作:进行考试预期结果:考试题目正常显示,计时、倒计时功能正常运行实际结果:顺利考试,与预期结果相符。(4)后台题目管理操作功能:查、增、删、改考试题目。操作:进行各项操作,并观察有没有不正常的错误发生实际结果:各种操作顺利进行与预期结果相符。7 7总结总结毕业论文是实现大学培养目标的重要教学环节,是本科教学计划的组成部分,是本科生的一门必修课。通过此次论文写作,使我获得颇多的感受和收获。广博的理论知识是毕业论文写作的关键。毕业论文是对大学学习的最后检验,是对四年知识的总结和提升。因此,有充分的理论知识是
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!