《网上招聘系统论文——分析、设计与实现毕业设计(论文)word格式.doc》由会员分享,可在线阅读,更多相关《网上招聘系统论文——分析、设计与实现毕业设计(论文)word格式.doc(154页珍藏版)》请在三一办公上搜索。
1、大连理工大学城市学院软件工程大作业 学院(系): 计算机工程学院 专 业: 软件工程 学 生: * 学 号: * 完成日期: 2009年5月*日 大连理工大学城市学院软件工程大作业网上招聘系统分析、设计与实现总计 毕业设计(论文) 146页表格 65表插图 35幅目 录第一章 网上招聘系统需求分析11.导言12.系统定义23.应用环境34.功能规格45.性能需求136.产品提交147.实现约束14第二章 网上招聘系统概要设计151.系统分析152. 界面设计153. 体系结构164. 数据模型235. 模块设计27第三章 网上招聘系统详细设计461.系统设计概述462. 详细设计概述463.
2、职位管理模块的详细设计474. 题库管理模块的详细设计605. 问卷管理模块的详细设计616 简历管理模块的详细设计627. 面试管理模块的详细设计638. 用户登录模块的详细设计649. 用户管理模块的详细设计6510. 客户端模块的详细设计6611. 复用的模块6812. 配置文件74第四章 网上招聘系统编码实现801.编码格式规范802.命名规范823.声明规范834.语句规范855.注释规范856. 代码范例87第五章 网上招聘系统客户端系统测试计划1111. 测试项目1112. 测试方法1123. 测试标准1134. 测试计划114第六章 网上招聘系统客户端系统测试设计1161.测试
3、设计1162.测试用例117第七章 网上招聘系统客户端系统测试报告1371. 测试时间、地点和人员1372. 测试环境描述1373. 测试执行情况1374. 测试结果分析1405. 测试评估142第八章 总结与展望1431.本程序的总结和展望1432.感想143致 谢145参考文献146第一章 网上招聘系统需求分析1.导言1.1 目的该文档是关于用户对于网上招聘系统的功能和性能的要求,重点描述了网上招聘系统的功能需求,是概要设计阶段的重要输入。本文档的预期读者是: 设计人员; 开发人员; 项目管理人员; 测试人员; 用户。1.2 范围该文档是借助于当前系统的逻辑模型导出目标系统的逻辑模型的,解
4、决整个项目系统的“做什么”的问题。在这里,没有涉及开发技术,而主要是通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的平台。1.3 编写说明HR,Human Resource(人力资源管理)的缩写。JSP,Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。UML,Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言。1.4 术语定义无2.系统定义我们分别阐述一下项目的来源、背景,项目的用户特点和项目的目标。2.1 项目来源及背景本项目是为北京某公司开发的一个网上招聘系统,由于这个公司的规模比
5、较大,需要招聘的员工也很多,每次招聘总能收到成千上万的简历,如何挑选合适的应聘者常常是公司比较棘手的事情,为人力资源部的工作人员带来很多的工作量。为此公司希望有一个自动化的招聘系统能够给他们带来工作的便利,提高工作效率,同时能及时招聘到满意的人才。为实现企业与人才的有效联系,弥补招聘中存在的种种不足,我们开发了招聘系统。公司人力资源部的工作人员通过这个招聘系统维护知识题库,编制问卷,发布职位和与这个职位相应的问卷;应聘者可以通过网上提交自己的简历并同时回答相应的问卷。人力资源部的工作人员通过这个招聘系统可以统计整理这些简历,并根据应聘者的简历和问卷分数提取出需要面试的人员,然后按照一定的方式通
6、知面试人员参加面试,在面试过程中,记录相应的面试结果。人力资源部的工作人员可能随时浏览人员简历和面试的相关信息。2.2 用户的特点本系统的用户都是网上用户,包括两类,一类是应聘者,他们的差异比较大,有的学历很高,有的可能很低。有的经验很丰富,有的可能没有经验等。另外一类用户是管理用户,他们是公司内部的人,主要是人力资源管理人员和系统管理人员。他们对招聘业务很熟悉,系统管理人员对系统很熟悉,总之,他们对使用管理软件比较熟悉。2.3 项目目标本项目设定的目标如下: 系统能够提供友好的用户界面,使操作人员的工作量最大限度的减少; 系统具有良好的运行效率,能够达到提高生产率的目的; 系统应有良好的可扩
7、充性,可以容易地加入其他系统的应用; 平台的设计具有一定的超前性,灵活性,能够适应企业生产配置的变化; 通过这个项目可以锻炼队伍,提高团队的开发能力和项目管理能力。3.应用环境根据用户的需求陈述,可以确定本项目分为客户端和管理端,客户端主要功能是提供应聘者的职位查询、简历录入、回答问卷,简历提交等。管理端的功能提供公司人力资源管理人员(HR)进行的知识库(题库)管理、问卷管理、职位发布、简历管理、用户管理等。它们的关系如图1-1所示。图1-1 网上招聘系统流程图3.1 系统运行的网络环境本系统的网络运行图如图1-2所示,无论是客户端的应聘者还是管理端的管理用户都可以通过网络登录到本系统中。应聘
8、者通过网络提交简历等相关信息,人力资源部通过网络发布职位信息,获得应聘者提交的简历信息,进行面试管理。管理端的系统管理员需要设置管理端的用户以及相应的权限。3.2 系统运行的硬件环境本系统的硬件环境如下:客户机:普通PC CPU:P41.8GHz以上 内存:256MB以上 能够运行IE5.0以上或者Netscape4.0以上版本的机器 分辨率:推荐使用1024768像素Web服务器 CPU:P41.0GHz 内存:1G以上 硬盘:80GB以上 网卡:KMb/s速度数据库服务器 CPU:P42.0GHz 内存:1GB以上硬盘:80GB以上图1-2 网络拓扑结构图系统运行软件环境本系统的软件环境如
9、下: 操作系统:UNIX/Linux/Windows2000或以上版本 数据库:SQL Server 2000 开发工具包:JDK Version 1.4.2Web服务器:Tomcat浏览器:IE5.0以上4.功能规格我们采用面向对象分析作为主要的系统建模方法,使用UML(Unified Modeling Language)作为建模语言。UML为建模活动提供了从不同角度观察和展示系统的各种特征的方法。在UML中,从任何一个角度对系统所作的抽象都可能需要几种模型来描述,而这些来自不同角度的模型图最终组成了系统的映像。用例描述角色(用户、外部系统以及系统处理)是如何与系统交互来完成工作的。用例模型
10、提供了一个非常重要的方式来界定系统边界以及定义系统功能,同时,该模型将来可以派生出动态对象模型。设计用例时,我们遵循下列步骤:1)识别出系统的角色。角色可以是用户、外部系统,甚至是外部处理,通过某种途径与系统交互。重要的是着重从系统外部执行者的角度来描述系统需要提供哪些功能,并指明这些功能的执行者(角色)是谁。尽可能地确保所有角色都被完全识别出来。2)描述主要的用例。可以采取不断地问自已“这个角色究竟想过系统做什么?”来准确地描述用例。3)重新审视每个用例,为它们下个详尽的定义。4.1 角色定义角色或者执行者指与系统产生交互的外部用户或者外部系统。4.1.1 应聘者应聘者是指在这个网络招聘系统
11、中通过客户端提交简历信息的人员,这个角色主要参与客户端的职位查询、填写简历、回答问题、提交简历等功能。4.1.2 管理用户管理用户是指管理端的用户,此角色派生两个子类,HR(人力资源管理)和系统管理员,HR是指在网络招聘系统中通过管理端参与公司人力资源管理工作的人中,它又可以派生三个子类即试题管理者、职位发布者和面试管理者。系统管理员是指对网上招聘系统进行相关设置、进行系统维护的人员,他也是通过管理端登录对管理端的用户进行设置,分配权限等,它们的关系如图1-3所示。图1-3 管理用户角色的关系管理用户具体说明如下:HR 试题管理者。管理题库、组织相关问卷。 职位发布者。根据公司的需要发布相应的
12、职位。 面试管理者。整理应聘者简历、对简历合格人员进行面试。系统管理员通过管理端对系统用户进行管理的人员,这个角色主要负责对管理端用户的增删,权限的设置等功能。4.1.3 数据库数据库是一个与系统产生交互的外部系统,这个角色负责系统的数据查询、增加、删除和修改等操作。4.2 系统主用例图网上招聘系统可以分为两个主要的组成部分,一个是客户端子系统。一个是管理端子系统。客户端子系统功能主要是指应聘者通过登录招聘网站进行操作的功能,即应聘功能。管理端子系统功能是招聘公司的管理人员发布招聘职位,整理应聘者简历,面试等功能。系统的主用例如图1-4所示。图1-4 系统的主用例图4.3 客户端子系统应聘者通
13、过公司的招聘网站登录到系统中进行应聘,应聘者通过它提交简历,进行应聘,这就是客户端子系统的功能。在客户端用户可以看到职位名称,职位发布日期,截止日期,职位类型,招聘人数等说明,按职位发布日期排序。当点击职位名称时进入职位详细信息页面,如果应聘的话,可以填写简历信息,并回答问卷,最后将问卷连同简历一同提交。图1-5是它的活动图。客户端的功能主要包括选择职位、填写简历、回答问卷等功能,图1-6是它的用例图。 图1-5 客户端的活动图 图1-6 客户端的功能用例图客户端管理的这些用例描述如下:F-C-1:职位选择。应聘者登录到招聘网站可以看到招聘的职位列表,在职位列表职位名称,职位发布日期,截止日期
14、,职位类型,招聘人数等,按职位发布日期序。当点击某个招聘职位名称时进入该职位详细信息页面,职位详细页面显示职位名称,职位描述,职位要求,招聘人数等。F-C-2:简历输入。简历输入包括应聘者的基本信息、工作经历、教育经历、基本技能、家属关系、个人简短评价等,它们组成应聘者的简历信息。F-C-3:问卷回答。应聘者在输入简历后必须回答问卷、问卷分为价值取向、工作取向两种,问卷从题库中随机抽取,每次抽取价值取向和工作取向试题各一套,应聘者须同时回答这两套试题,企业人力资源人员通过问卷的回答情况和简历情况来选择应聘者。4.3.1 职位选择职位选择是显示目前正在招聘的所有职位以及每个招聘职位的描述和应聘要
15、求等。具体描述如下。用例描述:应聘职位选择;执行者:应聘者;前置条件:应聘者已登录系统;后置条件:选择应聘职位后,则可以输入简历。基本路径:a)应聘者登录到公司的招聘网页,显示目前的招聘职位列表,发布的日期,招聘的人数等;b)点击任何一个招聘职位可以浏览招聘职位的详细信息,包括职位工作描述、对应聘者的要求、招聘人数等信息;c)如果对这个职位满意,可以点击“应聘该职位”进入填写简历信息页面,开始填写简历和回答问卷等环节。4.3.2 简历输入如果应聘者满意某个职位,就开始录入简历,简历从应聘者的基本信息开始,然后输入工作经历、教育经历、基本技能、家庭成员、自我介绍等内容,最后开始回答问卷。具体描述
16、如下。用例描述:简历输入;执行者:应聘者;前置条件:应聘者已选择应聘职位;后置条件:简历输入后,则可以回答问卷。基本路径:a)基本信息输入,包括姓名、性别、年龄、身高、证件类型、证件号码、婚姻状况、工作年限、期望的月薪、居住地、电话、E-mail、地址、邮编等信息;b)工作经历信息输入,包括起止时间、工作单位、单位所属行业、单位性质、部门、职位、工作描述等;c)教育经历信息输入,包括起止时间、学校、专业、学位、简单描述等;d)基本技能信息输入,包括技能名称、熟悉程度、证书、其他说明等;e)家庭成员信息输入,包括亲属姓名、年龄与本人的关系、工作单位、职位等;f)自我介绍输入是对自己的简短评价,字
17、数在100字以内。4.3.3 问卷回答问卷回答要求应聘者回答问卷的所有题目,根据所选择的答案,系统给出分数(应聘者看不到这个分数),具体功能描述如下。用例描述:问卷回答;执行者:应聘者;前置条件:应聘者已输入简历;后置条件:问卷回答后,则可以提交简历并附问卷结果。基本路径:a)要求应聘者回答价值取向和工作取向的问卷;b)每套问卷都是选择题,问卷全部回答后,才可以提交简历;c)最后简历信息和回答好的问卷一起提交到服务器端。4.4 管理端子系统管理端子系统主要是提供公司人力资源管理人员使用的功能,它的功能分为题库管理、问卷管理、职位发布、简历整理、面试管理等部分,每个登录者首先要通过安全认证然后确
18、认权限,系统根据相应的权限实现相应的功能。图1-7是管理端的用例图。图1-7 管理端用例图F-L-1: 登录管理登录管理负责所有的管理端的登录,管理端的人员要登录到管理端必须经过登录界面,输入自己的用户名和密码,然后系统判断这个用户的权限信息,不同的登录人可能具有不同的权限,系统根据不同的权限实现不同的功能。F-M-1: 题库管理题库管理 由管理员登录到系统,实现地知识库试题的增加、删除、修改的功能及提供知识库试题的详细信息。F-M-2: 问卷管理问卷管理是由管理员登录到系统,根据知识题库中提取出来的题目生成各种类别的问卷,并且对问卷的试题进行增加、删除、修改的功能。F-M-3:职位发布职位发
19、布是由管理员登录到系统,录入职位及职位的详细描述信息,并且为职位附加问卷,同时也可对职位进行增加、删除、修改的功能。F-M-4: 简历管理简历管理是由人力资源部的管理人员对应聘者发来的简历进行整理,并根据试题的分数,挑选合适的简历,同时浏览简历的基本信息,最后确定可以进行面试的人员,这样将所有的应聘者人为等待面试、简历删除、保存简历三个状态。F-M-5:面试管理面试管理是由人力资源管理部门的面试管理者通知要试的人员具体面试的时间、然后以人员进行面试,记录面试结果。F-A-1: 用户管理用户管理是由系统管理员增加或删除用户,编辑用户名、用户密码,修改用户权限,使具有不同权限的用户进入系统主界面时
20、,出现在界面左侧栏中的图标数有所不同,具体的图标与用户所具有的权限对应。4.4.1 登录管理登录到管理端的所有人都需要通过登录界面进入相应的管理界面。在登发界面输入用户名和密码,系统首先判断用户名和密码的正确性,然后根据用户名确定其权限,不同的登录者具有不同的权限,根据登录者具有的权限将相应的功能显示在管理界面上,没有权限操作的功能将不显示在这个界面上。图1-8是它的活动视图。图1-8 登录管理活动视图4.4.2题库管理在网上招聘系统中,有一套题库,是由大量的选择题组成,它是问卷的基本组成。题库管理模块主要是完成对每个试题的增加、删除、修改、查询等维护功能。具体描述如下。用例描述:题库管理;执
21、行者: 试题管理者;前置条件: 试题管理者已登录系统;后置条件: 如果题库维护成功,则数据库中的试题库随之变化,此时可以组织问卷。基本路径:a)进入题库管理界面,首先展示目前题库已有的题目;b)点击每个题目可以详细浏览这个题目的具体内容,同时也可以对这个试题的具体内容进行修改;c)增加题目时,首先选择题目类别,然后是题目名称、题目内容、确定可选答案(多个)等;d)可以删除选择的题目。4.4.3问卷管理在网上招聘系统中,要定期维护问卷,因为每个招聘职位都附有一个磁问卷,应聘者必须回答问卷,才可以提交简历。问卷管理主要是组织问卷,问卷中的所有题目都来自题库,每份问卷都有不同的针对性,针对不同的招聘
22、需求。具体功能描述如下。用例描述:问卷管理;执行者: 试题管理者;前置条件: 试题管理者已登录系统;后置条件: 如果问卷维护成功后,则数据库中的问卷随之变化,发布职位时可以选择合适的问卷。基本路径:a)进入问卷管理界面,首先展示目前存在的问卷;b)点击每个问卷可以详细浏览每个问卷的题目;c)可以对一些题目进行删除,或者可以重新整理各个题目的顺序,同时可以预览整个问卷;d)提供增加问卷的按钮,增加问卷时,从题库中选择题目;e)可以删除选择的问卷。4.4.4职位发布职位发布是网上招聘系统的主要功能之一,管理人员根据企业发展的需要,定期发布招聘职位需求,详细描述这个职位情况,招聘要求等。每个职位都附
23、有一套问卷,需要应聘者回答,问卷是针对具体职位选定的,职位信息发布后,应聘者通过网络可以看到职位,并可以应聘,具体功能描述如下。用例描述:职位发布;执行者: 职位管理者;前置条件: 职位管理者已登录系统;后置条件: 如果职位发布成功后,则数据库听职位信息随之变化,应聘者可以通过网络看到招聘职位。基本路径:a)进入职位发布界面,首先展示目前正在招聘的所有职位,可以增加新的招聘职位;b)通过点击每个职位,可以详细浏览每个职位的详细描述;c)可以对每个职位信息进行修改;d)提供职位条件查询功能;e)提供职位删除功能。4.4.5简历管理应聘者将简历提交之后,人力资源部门的人员开始整理简历,将达到一定成
24、绩的人员作为面试的被选对象,然后通过浏览其简历情况,确定可以面试的人员,对需要面试的人员通过电话、邮件等方式通知面试时间。具体的功能描述如下。用例描述:简历管理;执行者: 面试管理者;前置条件: 面试管理者已登录系统;后置条件: 简历整理完成后,则可以将应聘者分为几个类别,以便为面试做好准备。基本路径:a)进入简历管理界面,首先展示目前简历对应的职位列表,提供查询功能;b)通过点击职位列表进入相应职位的所有简历列表界面,这个界面也显示了每个应聘者的姓名、年龄、性别、问卷的分数以及目前的处理状态等信息;c)在简历列表中,通过点击一个应聘者可以显示这个应聘者的简历信息,问卷回答发问,还可以打印简历
25、;d)对简历有三种处理结果,即通知面试、保留简历、拒绝;e)对简历的处理结果,可以采用电子邮件、电话和信件等方式通知应聘者,如果采用电子邮件通知应聘者,系统将提供一个模板。4.4.6面试管理对满足一定条件的应聘者,可以对其进行面试,记录面试的结果。具体描述如下:用例描述:面试管理;执行者: 面试管理者;前置条件: 面试管理者已登录系统;后置条件: 如果大幅度工完成后,则面试的结果记录到数据库中。基本路径:a)进入面试管理界面,首先展示目前的招聘职位列表,提供查询功能;b)点击某个职位进入与这个职位相应的接受面试人员的列表;c)将接受面试的人分类浏览,分为等待通知者、等待面试者和面试完成者;对没
26、有通知面试的人,通知其进行面试,他的状态就变为等待面试者;d)点击每个列表上的人,可以浏览到这个应聘者的信息;e)面试完成时,需要记录面试的时间、面试人以及面试结果等,记录信息提交后这个应聘者的状态就变为面试完成者。4.4.7用户管理系统管理员可以进行权限设置,在用户管理界面中对用户进行增加、删除、修改、查询。具体功能描述如下。用例描述:用户管理;执行者: 系统管理员;前置条件: 系统管理员已登录系统;后置条件: 如果用户信息维护完成,则用户的相应信息将记录到数据库中。基本路径:a)进入用户管理界面,显示目前的系统用户以及每个用户具有的权限;b)点击不同的用户,可以显示这个用户的信息以及相应权
27、限,必要时可以修改其权限;c)可以增加用户,也可以删除用户。5.性能需求根据用户对本系统的要求,确定系统在响应时间、可靠性、安全性等方面有较高的必能要求。5.1 界面需求系统的界面要求如下。1)页面内容:主题突出,站点定义、术语和行文格式统一、规范、明确、栏目、菜单设置和布局合理,传递的信息准确、及时。内容丰富,文字准确,语句通顺,专用术语规范,行文格式统一规范。2)导航结构:页面具有明确的导航指示,且便于理解,方便用户使用。3)技术环境:页面大小适当,能用各种常用浏览器以不同分辨率浏览,无错误链接和空链接;采用CSS处理,控制字体大小和版面布局。4)艺术风格:界面、版面形象清晰悦目、布局合理
28、,字号大小适宜、字体选择合理,前后一致,美观大方,动与静搭配恰当,动静效果好;色彩和谐自然,与主题内容相协调。5.2 响应时间需求无论是客户端还是管理端,当用户登录,进行任何操作的时候,系统应该及时地进行反应,反应的时间在5秒以内。系统应能监测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等,以避免出现长时间等待甚至无响应。5.3 可靠性需求系统应保证724小时内不宕机,保证20人可以同时在客户端登录,此时系统能正常运行,正确提示相关内容。5.4 开放性需求系统应具有较强的灵活性,以适应将来功能扩展的需求。5.5 可扩展性需求系统设计要求能够体现扩展性要求,以适应将来功能扩展的需求
29、。5.6 系统安全性需求系统有严格的权限管理功能,各功能模块需有相应的权限方能进入。系统需能够防止各类误操作可能造成的数据丢失,破坏。防止用户非法获得网页以及内容。6.产品提交提交产品为:a)应用系统软件包;b)数据库初始数据;c)系统开发过程文档;d)系统使用、维护说明文档,提交方式为CD介质。7.实现约束系统的实现约束如下:a)操作系统为Windows200;b)开发平台为:eclise-SDK-3.1.2-win32;c)数据库为SQL serer2000。第二章 网上招聘系统概要设计1.系统分析本系统可以实现网上在线招聘,应聘者通过互联网投递简历进行网上测评。同时,招聘单位可以汇总简历
30、,游览简历,并通过测评结果选择合格的简历,通知面试,进行面试。方便企业与求职者的交流。系统包括管理端子系统和客户端子系统。管理端子系统包括题库管理、问卷管理、职位发布、简历管理、面试管理、用户管理等功能。客户端子系统包括查询职位,简历录入,回答问卷,提交简历等功能。图2-1和图2-2为客户端和管理端的组成构图。图2-1 客户端子系统图示 图2-2 管理端子系统2. 界面设计本系统的用户界面按功能分为客户端界面和管理端界面。2.1 管理端界面设计管理端主要实现题库管理、问卷管理、职位发布、简历管理、面试管理以及用户管理等功能。主要界面设计如下:登录界面:通过输入用户各和密码实现用户登录,并判断用
31、户的权限;管理首页:根据用户的权限,进入首页,并在首页中展示此用户相应可以操作的权限功能;题库管理:包括“题目列表”、“题目详细信息”、“增加试题”、“删除试题”、“修改试题”、“增加答案”和“删除答案”等页面;问卷管理:包括“试题列表”、“试题详细信息”、“修改试题”、“增加试题”、“删除试题”和“预览试题”等页面;职位发布:包括“职位列表”、“职位详细信息”、“查询职位”、“增加职位”、“删除职位”和“修改职位”等页面;简历管理:包括“职位列表”、“应聘者列表”、“应聘者申请表”、“查看试卷答案”、“回复信息”和“打印简历”等页面;面试管理:包括“职位列表”、“应聘者列表”、“应聘者求职申
32、请表”、“查看试卷答案”、“未发通知”、“等待面试”和“面试完成”等页面;用户管理:包括“用户列表”、“用户信息”、“修改用户信息”、“增加用户”和“删除用户”、“用户权限设置”等页面;具体页面流如图2-3所示。2.2 客户端界面设计客户端主要为应聘者提供网上应聘的过程,应聘者通过选择合适的职位,填写个人简历,并通过问卷来进行测评,提交的简历和测评结果一同到服务器端,供管理者挑选合适的简历。在客户界面,应聘者首先进入企业招聘界面,点击“招聘”按钮进入职位列表界面,包括“职位列表”、“职位详细信息”、“申请职位”、“填写个人基本信息”、“填写工作经历”、“填写教育经历”、“填写基本技能”、“填写
33、家庭成员”、“填写个人评价”、“预览简历”和“答题”等页面。具体页面流如图2-4所示3. 体系结构系统的总体结构设计遵循如下原则。1)系统应具有良好的适应性:能适应用户对系统的软件环境、管理内容、模式和界面的要求;2)系统应具有可靠性:采用成熟的技术方法和软件开发平台,以保证系统在以后的实际应用中安全、可靠;3)系统应具有较好的安全性:应提高安全机制和用户权限限制机制的完善程度,确保数据的受限访问;4)系统应具有良好的可维护性:系统应易于维护、安装;5)系统应具有良好的可扩展性:系统应适应未来信息化建设的要求,能方便地进行功能扩展,以建立完善的信息集成管理体系。本系统采用体系结构,struct
34、是一个基于模型(Model)一视图(View)一控制器(Controller),即MVC模式的应用架构的开源框架。3.1 体系结构目前软件项目中有很多体系结构,其中struct是比较流行的一种。3.1.1 struct体系结构对于开发Web应用,要从头设计并开发出一个可靠、稳定的框架不是一件容易的事情。随着Web开发技术的日趋成熟,在Web开发领域出现了一些现成的优秀的框架、开发者可以直接使用它们,struct就是一个很好的框架结构,它是在JSP Model2基础上实现的一个MVC框架,在struct框架在模型由实现业务逻辑的JavaBean或者EJB组件构成,控制器由ActionServle
35、t和Action来实现,视图由一组JSP文件组成,图2-5显示了Struct实现的MVC框架。删除职位增加试题修改试题删除试题登录界面管理首页问卷管理职位发布简历管理面试管理题库管理用户管理问卷管理职位发布简历管理面试管理题库管理用户管理价值取向问卷工作取向问卷职位列表查询职位职位详细信息试题列表试题详细信息预览试题增加职位修改职位停止招聘职位列表应聘者列表应聘者申请表查看试卷答案回答信息打印简历职位列表应聘者列表未发通知等待面试面试完成应聘者申请表查看试卷答案删除试题修改试题增加试题查询试题题目列表题目详细信息增加答案删除答案用户列表增加用户删除用户用户权限设置用户信息修改用户信息图2-3
36、管理端的页面流程应聘者网上登录企业招聘信息职位列表职位详细信息申请职位填写个人基本信息填写工作经历答题预览简历填写个人评价填写家庭成员填写基本技能填写教育经历图2-4 客户端的页面流程其中:视图,就是一组JSP文件,这些JSP文件没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或者是客户化标签,如struct标签库的标签。此外,通常将struct框架中的ActionForm Bean也划为视图模块,ActionForm Bean是一种JavaBean,除了具有一些JavaBean的常规方法外,还包含了一些特殊的方法,用于验证HTML表单数据以及将其属性重新设置为默认值。S
37、truct框架利用ActionForm Bean来进行视图和控制器之间表单数据的传递。Strcut框架将用户输入的表单数据保存在ActionForm Bean中,将它传递给控制器,控制器可以对ActionForm Bean中的数据进行修改,JSP文件使用struct标签读取修改后的ActionForm Bean的信息,然后重新设置HTML表单。控制器ActionServlet视图JSPStruct-config.xml模型JavaBeanEJBActionActionAction浏览器Web服务器图2-5 struct实现的MVC框架控制器,控制器由ActionServlet类和Action类
38、实现,ActionServlet类是struct框架中的核心组件,是这个MVC的中央控制器的角色。ActionServlet主要负责接收HTTP请求的信息,根据配置文件struct-config.xml的配置信息,将请求转发给适当的Action对象,如果该Action对象不存在,ActionServlet会先创建这个Action对象.Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程,对于小型简单的应用,Action类本身也可以完成一些实际的业务逻辑。模型,模型表示应用程序的状态和业务逻辑,业务逻辑常常由JavaBean或者EJB组件实现。如果在Web应用开发中套用现成
39、的struct框架,就可以简化每个开发阶段的工作,开发人员可以更加有针对性地分析应用需求,不必重新设计框架,只需在struct框架的基础上,设计MVC各个模块包含的具体组件,在编码过程中,可以充分利用struct提供的各种实用类和标签库,简化编码工作。Struct框架可以方便迅速地将一个复杂的应用划分成模型、视图和控制器组件,而struct的配置文件struct-config.xml可以灵活地组装这些组件,以简化开发过程。3.1.2 系统体系结构根据系统分析结果,该系统从结构上应满足:基于游览器进行显示以方便用户使用;采用MVC的三层体系结构,分化各个功能组件;采用JDBC技术与数据库通信以便
40、于数据库的转换;采用标签技术完成动态页面的简单逻辑。本系统的体系结构如图2-6所示,它基本遵循了struct体系的MVC框架规范。视图(V)层:用户界面(浏览器)HTML,CSS,DHTML,JavaScript,XML视图(V)层:服务器端脚本Connects UI to Business Objects, Java Server Pages,Java Servlets控制(C)层:分布式组件JavaBean模型(M):数据源和持久对象存储ODBC, JDBC, OLEDB, ADO, XML, LDAP图2-6 系统的体系结构其中:表示层,用于与用户进行交互并显示结果。包括所有的JSP,提
41、供用户界面,接受用户输入,还包括相应的ActionFrom Bean,用来存放表单数据,并进行表单数据验证;控制层,包括所有的Action类,它完成三项任务,一是进行业务逻辑验证,二是调用模型组件,三是决定将合适的视图组件返回给用户;模型,包括进行逻辑处理的JavaBean等,数据库采用ODBC技术以提供数据库的可移植性。体系结构的具体拓扑图示如图2-7所示。图2-7体系结构拓扑图1)客户层:用于与企业信息系统的用户进行交互以及显示根据特定业务规则进行计算后的结果。本系统将完全采用基于Web的(B/S架构)客户端,即用户可以直接通过浏览器来访问和使用本系统。2)中间层:这相当于三层标准架构中的
42、Web应用服务层,支持诸如响应客户请求以及查询等功能。并且由中间层进行逻辑处理,再将处理的结果反馈给客户或者发送到数据库中。3)服务层:主要是数据库系统,这里的数据库系统主要是关系数据库系统(RDMS)。3.2 系统进行环境 下面讲述系统运行的网络结构,硬件、软件环境。3.2.1 网络结构图本系统的网络拓扑图如图2-8所示。图2-8 网络拓扑图其中的局域网用户机主要是公司内部的人员可以使用的机器,运程用户机主要是指通过互联网登录系统的人员使用的机器,可以是公司内部的人,也可以是应聘者。3.2.2 硬件环境本系统的硬件环境如下。1)客户机:普通PCCPU:P41.8GHz以上内存:256MB以上
43、能够运行IE5.0以上或者Netscape4.0以上版本的机器分辨率:推荐使用1024768像素2)Web服务器CPU:P42.0GHz内存:1GB以上硬盘:80GB以上网卡:KMb/s速度网卡3)数据库服务器CPU:P42.0GHz内存:1GB以上硬盘:80GB以上32.3 软件环境本系统的软件环境如下:操作系统:UNIX/Linux/Windows2000或以上版本数据库:SQL Server 2000开发工具包:JDK Version1.4.2开发环境:eclipse-SDK-3.1.2win32Web服务器:Tomcat浏览器:IE5.0以上1)数据库及操作系统:对于核心数据库来说,选
44、择一个合适的数据库系统对我们的系统运行是很重要的,选择数据库的关键因素是要考虑预计会有多少人同时访问数据库;正常工作时间的级别;用来访问数据库的应用程序的类型;运行数据库的服务器的硬件和操作系统类型以及管理人员的专业技术水平。目前市场上适用于中小型企业的数据库产品有IBM DB2、Microsoft SQL Server系列,Oracle系列。所有这些产品都基于SQL语言。同时,它们还拥有精度复杂的安全控制以适应不同的商业需要。服务器操作系统使用Windows2000 Server考虑到价格因素、易用性,我们使用SQL Server2000作为系统后台数据库系统,服务器操作系统采用Window
45、s2000 Server。2)Web服务软件:目前的Web服务器软件有很多种,成熟而且稳定的有Apache、Tomcat和Microsoft的IIS,它们占据着Web服务器市场最大的份额。Tomcat是Sun和Apache合作推出的JSP Server,支持Servlet2.2及JSP1.1等版本。而且Tomcat未来将会取代Jserv,成为Apache主要的Servlet&JSP Engine。Tomcat在设计上是以独立的Server执行,而不像Jserv是附在Apche中,这样就更可以在servlet中,发挥非HttpServlet的能力。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考虑操作系统平台。因此这里选择Tomcat作为Web服务器。4. 数据模型本系统的数据模型设计内容主要是进行数据库的设计。4.1 数据库的概念结