版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于JSP的基于JSP的大学生职业生涯规划系统的设计与实现作者:作者:指导教师:指导教师:专业名称:计算机科学与技术专业名称:计算机科学与技术Time\@"yyyy年M月d日"Time\@"yyyy年M月d日"2015年9月1日 基于JSP大学生职业规划系统的设计与应用【摘要】现今社会,大学生对职业的迷茫迫切需要有一定的指导和培训。因为职业生涯规划可以让在短暂而忙碌的大学生活中,找准未来发展方向,在灿烂的校园生活中撑起属于自己的那片蓝天。大学生职业规划系统主要使用JSP技术的MVC模式开发的,通过WEB形式展示的。本文首先介绍了WEB技术的基本框架,MVC模式的技术优点等。作品主要结合实际的校园生活环境以及目前一些新生的状况,设计出职业生涯规划系统的功能需求。在校的学生用户可以进入前台进行自我现状评估,对专业和职业的查看以及进行目标计划设定。【关键词】职业规划;校园生活;Web;JSP;MVC模式目录 1.引言 1.引言1.1开发背景及目的大学是作为学子踏入社会的一个前奏,是作为大学生步入社会的一次小型社会的演练。人生的生杀大权是掌握在自己的手上的,要走好自己的未来之路,就应该充分地做好准备——规划。规划自己的人生不是意味着按部就班的走着寻常路,而是代表着为自己所追求的价值时刻做准备。初入大学生活,对自己的专业、未来发展都是一片迷茫的。如果有一个明确的职业规划不仅可以让同学们了解自己,了解自己的专业,让大学生不再是迷茫学习,像无头苍蝇自己探索,不再在临近毕业的时候后悔自己选择错误的努力方向,更是让大学生对自己未来的发展有明确的奋斗目标。因此我利用大学所学的知识,以Web的形式给大学生提供一个可以对自己大学生涯和以后的职场作规划的系统,这符合计算机科学与技术专业的特色。利用大学所学到的知识以及课后自习,本人开发出了大学生职业规划系统。该系统的前端框架主要是运用了DIV+CSS+JavaScript,后台的动态实现主要使用JSP技术,MVC的开发框架。本网站主要针对的对象时刚进入大学生活的学者,他们对大学生涯的迷茫、专业未来发展的困惑等等实际需求,本人展开了对该系统的开发。该系统为大学生提供一个对专业和职业更深入地了解的平台,以及可以对一些难于抉择的决定做决策等等。1.2系统任务本文主要按照提出问题、分析问题、解决问题和总结问题的流程进行组织实施,本论文任务主要包括:对MVC模式的基本知识和发展等相关内容做简要的介绍介绍开发的网站——大学生职业规划系统的创意以及网站的结构对该网站所涉及的知识点和技术难点进行探讨,并提出解决方案对该网站初步确定主要的功能以及各模块的之间的逻辑关系,做出详细的需求分析,并完成设计界面原型的工作总结网站设计过程中所研究的内容以及工作成果,分析大学生职业规划系统的特点,并对下一步的工作的进行展望。本论文预期效果如下:实现职业规划系统总体的需求分析实现职业规划系统的静态架构及静态编码实现职业规划系统的数据库设计实现职业规划系统的动态体系架构设计及动态编码实现对职业规划系统主要模块的Web测试1.3开发阶段及使用的工具在网站实现的过程中,作者独立完成需求分析、静态页面搭建、数据库设计、编码实现、Web测试等工作。在每一个开发过程中用到的专业软件如下:需求分析阶段:Visio。利用Visio快速建立界面原型。静态页面搭建:Dreamweaver。利用Dreamweaver建立静态网页的界面原型,数据库设计:MySQL。利用MySQL对该系统所需要的数据进行简单的数据库设计。编码实现:MyEclipse和Tomcat。利用MyEclipse实现网站的动态化。撰写论文:Visio和WPS。利用Visio制作流程图、数据流图等。2.需求分析2.1功能需求分析大学生职业规划网是以WEB形式展示的,作为大学生用户可以了解该系统的简介以及说明、进行心理测试,查看自己学习的专业或者了解其他专业,还有可以对自己未来感兴趣的职业的了解,以此可以更加明确自己未来的发展路线,还可以对自己的一些难于抉择的事情通过决策平衡单来分析等等。网站管理员可以登录该系统的后台进行对前台展示给用户使用的一些功能和信息的及时更新和管理。次网站的整体功能描述如下:大学生成员,可以浏览职业规划系统的前台页面所有信息。职业规划网管理者,可以登录职业规划系统后台管理,对职业规划系统进行管理,执行职业规划系统后台提供的基本功能,同时可以浏览职业规划系统前台所有信息。各个模块功能描述如下:前台:在首页模块可了解职业规划的流程;在现状评估模块可进行心理测试来了解自己的现状;在专业探索模块可查看各专业的课程以及学习建议;在职业探索模块可查看现今社会上的一些职业的发展情况;在决策行动模块可对自己的一些左右为难的抉择做出决策;在行动计划模块可对自己实现目标做出规划;在个人信息模块可查看登录用户本人的信息;同时,也可以查看该系统的简介。后台:在专业管理模块可对专业的信息进行添加、删除、编辑;在职业管理模块可对专业的信息进行添加、删除、编辑;在决策管理模块可对决策因素进行添加、删除、编辑;在修改密码模块可对管理员登录后台密码的修改。职业规划网整体流程图如图2-1所示:图2-1网站流程图2.2用Visio制作界面原型Visio是一个可以简单快速画图的工具,适合在需求分析阶段用来快速制作界面原型的工具。使用这种工具,制作出前台、后台部分界面原型如下图3-2所示:图2-2登录界面原型图2-3首页界面原型图2-4专业探索界面原型图2-5决策行动界面原型图2-5后台专业管理界面原型图2-6后台职业管理界面原型3.系统总体架构设计3.1课题可行性大学校园生活是大学生踏入社会的过渡阶段。然而对于刚脱离家庭的庇佑和高中生活的“一心只为高考故”的读书方式的大学新生们,他们对大学的生活总是充满了好奇和迷茫。因此,大学生不仅应该对自己的专业了解还应该对自己的未来的职业有一定的规划。现如今,信息时代的高速发展和快节奏的生活方式不仅带来好处也一样带来弊端。我们应该充分的利用信息时代带来的便利,所以本课题主要是结合计算机技术研究开发一种能够给予大学生一种更直观的、更快捷的方式,以此使大学生的大学生活和未来职业有更好的规划。3.2技术可行性本系统用Java语言开发,Java不仅在近几年的所有计算机语言排行榜上总是名列榜首,而且在其优越之处是移植性好,且使用当今流行的MVC(ModelViewController)模式实现,其将应用程序的输入、处理和输出分开的作用,大大的对开发过程更简单、更方便,重用性高。本网站的数据库使用MySQL,这种模式是将业务逻辑、用户界面、控制器分离的模式,使得代码更加简洁,易于项目的维护与扩展。随着Internet和WWW的流行,MVC的开发模式越来越得到青睐。MVC是一个设计模式,它将强制性的使应用程序的输入、处理和输出分开,应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。这种优势简化了开发过程的繁琐,减轻了系统维护与升级的成本和工作量,降低了用户的总成本。3.3相关技术介绍3.3.1Vison界面原型工具Vison界面原型工具是一种可以快速建立界面原型的工具。Vison在需求分析中被广泛使用,其操作简单,特别适合不懂HTML语法的需求分析人员。3.3.2Ajax模式Ajax(AsynchronousJavaScriptandXML)是一种Web应用程序技术[3]。Ajax开发框架如图3-3所示:图3-1Ajax开发框架3.3.3MVC设计模式MVC是由模型(model)、视图(view)、控制器(controller)三个组件组成的一种将逻辑、处理过程、显示分层的模式。和纯JSP开发相比使得代码更加清晰,更容易维护和扩展。随着J2EE应用在Internet上的成熟,MVC在理解和分析应用模型时提供了最基本的分析方法,MVC逐步成为J2EE平台的主流思想[5]。MVC架构的分层体系图如图3-2所示:图3-2MVC架构的分层体系3.3.4软件测试软件测试是为了发现程序中的错误而执行程序的过程,目的在于寻找和发现错误,检测系统是否符合需求的过程。白盒测试和黑盒测试是软件测试按测试方法分的[6]。3.4系统数据库设计数据库是大学生职业规划网的核心组成部分,因为用户的查询访问操作都是需要数据库来完成的。因此数据库的好坏都会影响到系统的运行效率。所以本人根据所学的数据库设计原理和对系统的分析将模型里的类映射到数据里而设计了大学生职业规划网主要数据库的PDM表如图3-5所示:图3-3数据库中主要表的PDM3.4.1用户信息表(cp_user)用来保存系统用户的信息,如用户名、密码、性别、邮箱。3.4.2专业信息表(cp_profess)用来保存相关专业的信息,用户可以根据自己学习的专业选择自己想要了解的专业,管理员可以登录后台管理操作相关专业信息,将数据存储在表里。如专业名、学习课程、学习建议。3.4.3职业信息表(cp_occup)用来保存相关职业的信息,用户可以选择当今社会存在的职业的了解,借鉴信息对自己的未来职业发展做出目标,管理员可以登录后台管理操作相关专业信息,将数据存储在表里。如职业名、职业简介、工作内容、工作条件、收入、职业前景、职业发展、知名单位和典型人物。3.4.4报告信息表(cp_report)用来保存用户相关报告的信息。如自我了解、行动计划。3.4.5决策信息表(cp_decide)用来保存决策所属类型和相关因素的信息,如个人精神方面得失、个人物质方面得失等等。4.主要模块的详细设计通过上述需求分析,我将对前台、后台页面分别进行UI设计。采用DIV+CSS+JavaScript框架搭建静态页面。用jQuery+Ajax框架实现基本的验证的框架,同时用MVC模式作为动态开发框架,MySQL作为数据库支持。4.1项目的代码结构项目的代码结构,如下图4-1:图4-1项目代码结构图4.2登录模块4.2.1主要功能实现用户可以通过用户名和密码登录然后对网站进行一些操作,或者管理员可以登录后台管理进行对前台的内容的管理。此部分的主要功能如下:使用CSS和HTML技术实现登录界面的设计。使用JavaScript实现用户名和密码简单校验。如是否满足输入格式,是否有效用户名等。使用JSP实现与数据库存储的用户和密码校验。当输入的用户名、密码正确则登录成功,否则重置用户名、密码。4.2.2功能流程图图4-2登录功能流程图4.2.3主要代码设计<scriptlanguage="javascript"> functioncheck(){ varname=document.myform.username; varpassword=document.myform.password; if(name.value==""){ alert("用户名不能为空"); name.focus(); returnfalse; }elseif(password.value==""){ alert("密码不能为空"); password.focus(); returnfalse; } elseif(name.value.length<4||pass.value.length>16){ alert("用户名的长度必须在4-16个字符"); name.select(); returnfalse; }else{returntrue;} }</script> 4.2.4界面设计图4-3登录页面效果图4.3首页模块4.3.1主要功能实现前台(首页):对本网站的职业规划流程的介绍。现状评估、专业探索、职业探索、决策行动的规划流程,循序渐进的步骤。学生用户和管理员可以登录本网站并进行操作。此部分实现的主要功能如下:1.使用JavaScript技术实现鼠标所在位置弹出对话框。4.3.2主要代码设计<!--//JavaScript技术实现一个鼠标移动显示内容的功能--><scripttype="text/javascript">$(document).ready(function(){$.MetroTooltipInit({animation:"fadeInLeftfast",persist:0,})});</script>4.3.3界面设计图4-4前台页面效果图4.4现状评估模块4.4.1主要功能实现前台(现状评估):对自己的现状做一个评估测试题,以此了解自己的目前状态,可以更好的为自己量身打造自己的规划路程。此部分实现的主要功能如下:1.JSP技术实现对测试题的结果的计算算法。4.4.2主要代码设计//现状评估<c:forEachitems="${alq}"var="alq"> <tr><td><divid="qnum"> 第<inputid="qid"name="qid"type="text"value="${alq.qid}"/>题</div><divid="qtitle"><textarea>${alq.qname}</textarea></div> <divid="qchoose"><tablewidth="440"height="26"><tr><tdwidth="80"style="background-color:#34b5d2"> 你的答案</td> <tdwidth="80"style="background-color:#34b5d2"><inputtype="radio"name="regtype1"value="A02"id="A02"> <labelfor="A02"><button1name="btnGroup1"onclick="toggleButton(this)">A</button1></label></td> <tdwidth="80"><inputtype="radio"name="regtype1"value="A03"id="A03"><labelfor="A03"><button1name="btnGroup1"onclick="toggleButton(this)">B</button1></label></td> <tdwidth="80"><inputtype="radio"name="regtype1"value="A04"id="A04"><labelfor="A04"><button1name="btnGroup1"onclick="toggleButton(this)">C</button1> </label></td> <tdwidth="80"><inputtype="radio"name="regtype1"value="A05"id="A05"><labelfor="A05"><button1name="btnGroup1"onclick="toggleButton(this)">;D</button1> </label></td></tr></table></div></td></tr></c:forEach>4.4.3界面设计图4-5现状评估前台页面效果图此现状评估测试题是采用网络流行的心理测试题,其最终的测试结果的相关的算法得到的。4.5专业探索模块4.5.1主要功能实现此部分实现的主要功能如下:前台(专业探索):可以查阅相关的专业知识,学习的课程以及一些专家或者任教过的老师学习建议。此功能通过选择下拉框的内容得到ID然后通过ID获得数据库中解相关的专业知识。后台(专业管理):主要是对前台的大学专业的内容更新和增加。4.5.2主要代码设计//js实现专业信息的查看<scripttype="text/javascript"> varreq; functiongetDetail(){ varidField=document.getElementById("proid"); varurl="ProfessionController?flag=changeShow&proId="+escape(idField.value); if(window.XMLHttpRequest){ req=newXMLHttpRequest(); }elseif(window.ActiveXObject){ req=newActiveXObject("Microsoft.XMLHTTP"); } req.open("GET",url,true); req.onreadystatechange=callback; req.send(null); } functioncallback(){ if(req.readyState==4&&req.status==200){ varmsg=req.responseText; varu=eval("("+msg+")");//转为json格式数据 document.getElementById("course").innerHTML=u.course; document.getElementById("advice").innerHTML=u.advice; } }</script>4.5.3界面设计图4-6专业探索前台页面效果图此模块的查看专业功能主要是用JavaScript实现的。通过异步交互,用open()方法向后台severlet传参数然后再获得后台传来的值显示在前台。4.6职业探索模块4.6.1主要功能实现此部分实现的主要功能如下:前台(职业探索):可以查阅相关的职业信息。此功能后台(职业管理):对前台职业信息的更新、增加和删除功能。4.6.2主要代码设计//前台显示<c:forEachitems="${al}"var="op"><tr><td>${op.occupId}</td><td><ahref="OccupationSeverlet?flag=detail&id=${op.occupId}">${op.occupName}</a></td><td><ahref="OccupationSeverlet?flag=detail&id=${op.occupId}"><inputtype="button"value="查看"/></a></td></tr></c:forEach>//后台实现分页功能intpageCount=omd.getPageCount();//获得数据总数intindex=0;if(pageCountNow>6){ index=6;}else{ index=(pageCountNow)+1;}int[]shu=newint[index];intj=0;for(inti=pageNow;i<=pageCount&&i<pageNow+6;i++){ shu[j]=i; j++;}alo=omd.getCaseList(pageNow);//该页的数据4.6.3界面设计图4-7职业探索前台页面效果图4.7个人信息模块4.7.1主要功能实现此部分实现的主要功能如下:利用JSP技术显示该用户的信息、测试的结果以及修改密码功能。利用JavaScript技术对密码的简单校验,校验是否输入的密码一致。4.7.2主要代码设计//修改密码的主要功能HttpSessionsession=request.getSession();Stringname=(String)session.getAttribute("name");PsdModifyDaosDao=newPsdModifyDao(); passWd=sDao.serchPSW(name,fg);if(!old_psw.equals(passWd)){StrMes="所输入的旧密码与登录时输入的密码不吻合"; request.setAttribute("StrMes",StrMes); request.getRequestDispatcher("BackWeb/saveFail.jsp?flag=modPSD").forward(request,response);}else{ Booleanflag=sDao.upDatePass(name,new_psw,fg); if(flag){ StrMes="更改新密码成功!"; request.setAttribute("StrMes",StrMes); request.getRequestDispatcher("BackWeb/saveSuccess.jsp?flag=SuccessPSD").forward(request,response); } else{ System.out.println("修改出现异常!修改失败,要跳转到的错误页面"); request.getRequestDispatcher("BackWeb/saveFail.jsp").forward(request,response); }//密码的简单校验<scripttype="text/javascript"> functionCheckForm() { if(document.form1.old_psw.value=="") {alert("原始密码不能为空!"); return(false); } if(document.form1.new_psw.value=="") {alert("新密码不能为空!"); document.form1.new_psw.focus(); return(false); } if(document.form1.check_psw.value==""||document.form1.check_psw.value!==form1.new_psw.value) {alert("两次输入密码不一致!"); document.form1.check_psw.focus(); return(false); } return(true); } </script>4.7.3界面设计图4-8修改密码界面效果图5.系统测试5.1软件测试的现状和分类在整个软件开发的过程中软件测试是占30%左右,可以说软件测试也是一件很重要的事情。因为软件测试是一个系统能否成功上线起决定性作用。软件测试分黑盒测试和白盒测试两种。本章将通过对登录模块书写测试用例。5.1.1登录测试首先测试用户登录,测试数据为:用户名admin密码123该用户存在,且已启用。登录模块等类划分设计测试用例如下[9]:确定等价类:表5-1管理员登录等价类表输入条件有效等价类无效等价类登录账号①6位以上字母、数字、下划线②有非法字符③少于6位字符④不输入登录密码任意字符无建立等价类表:表5-2管理员登录测试用例表登录账号登录密码预测结果实际结果覆盖范围admin123登录系统登录系统①zs@123不能登录不能登录②③6.总结与展望6.1系统总结大学生职业规划网的开发的目的是为了那些新入大学校园生活的新生以及对自己学习和未来发展迷茫的同学而开发的,为同学们提供一个可以全面了解自己、了解专业课内容、了解职业发展的平台。作为本校的同学都可以进入这个网站,并可以在此网站进行一些操作和学习,以此来解决自身的困惑和迷茫。如果是网站管理员可以利用收集到的资料和信息,以及对职业规划有帮助的信息等,然后进入网站后台管理页面进行更新,以此可以让同学们了解到更多的信息。大学生职业规划网是根据在校大学新生的实际情况展开的。以Web页面的形式展示各类大小院校出现的专业课程和学习建议,还有各类职业的行规行情,让同学们全面解决自己在大学里该干什么,该怎么干的问题,心理测试和决策平衡单更是两项在本网站的亮点之处,让同学们全面了解自身的问题,以及解决面对难于抉择的问题时可以有所帮助。DIV+CSS+JavaScript是此网站的静态开发框架,MVC是动态开发框架。在大学学习过程中我们学习了这些基础知识,加上本人在课后的不断学习和实践,已经基本实现了这个网站功能。6.2系统展望本系统在实现的过程中,由于资源、时间的有限性存在一些不足。本系统在交互方面需要进一步改进。在一些功能开发过程中,需要进一步人性化设计,对于现状评估的测验结果的分析还存在缺乏科学有效的方法。在今后的二次开发过程中,我将在不足之处着手,进一步深入设计,运用最新的技术,全面改善所有问题,并且将网站升级到更优,让同学们使用更便捷、明了。致谢在这个设计这个网站的过程中,我遇到了许多的问题,但是在老师的指导和组员帮助下我们一起解决了问题。首先我要感谢的是我的指导老师陈忠老师在这段时间的悉心指导,有计划的安排我们的进度,使我们的设计按时完成,并且在此期间让我学到更多的东西,我还要特别感谢所有的授课老师,你们让我学到知识,给予我很多理论上的引导,使我少走了很多弯路。同时我还要感谢组员和同学们的帮助,使这个系统的设计更加完美。最后,我谨向百忙之中审阅本文的老师们表示衷心的感谢!参考文献[1]张海藩.软件工程导论[M].北京:清华大学出版社,2008,162-175.[2]NicholasC.Zakas.JavaScript高级程序设计[M].北京:人民邮电出版社,2012.[3]耿祥义,张跃平。Java大学实用教程[M].北京:电子工业出版社.2012.[4]杨章伟.精通SQL语言与数据库管理[M].北京:人民邮电出版社,2008.[5]AdityaP.Mathur.软件测试基础教程[M].北京:机械工业出版社,2011.[6]张建沛.《数据库原理及应用系统开发》[M].北京:中国水利水电出版社,1999.[7]MartyHall,Larrybrown.Servlet与JSP核心编程[M].清华大学出版社,2004:322~341[8]王峰,郭长国,陈振华.软件测试基础教程[M].北京:机械工业出版社,2011,86-100.[9]庞慧娟等.《利用JSP实现基JDBC-ODBC桥的Web
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《讲民间故事》教学设计
- 第一单元习作:有趣的动物(素材积累)-2023-2024学年二年级语文上册单元作文能力提升(统编版)
- 断路作业风险分析及控制措施
- 新质生产力与大数据
- 2024年工程车混凝土运输合作协议
- 2024年度环境污染治理合作协议
- 2024年度技术合作保密协议
- 吉林建筑施工申报材料目录
- DB12T 629-2016 天津市行政许可事项操作规程 总则
- 【初中生物】微生物的分布+课件2024-2025学年人教版生物七年级上册
- YY∕T 1782-2021 骨科外固定支架力学性能测试方法(高清最新版)
- 西亚教学设计与反思
- 乙酸乙酯的反应器设计流程图
- EM277的DP通讯使用详解
- 耐压绝缘测试报告
- 野兽派 beast 花店 调研 设计-文档资料
- 水泵房每日巡视检查表
- 杭州市区汽车客运站临时加班管理规定
- 垫片冲压模具设计毕业设计论文
- 冷库工程特点施工难点分析及对策
- Python-Django开发实战
评论
0/150
提交评论