1、本科毕业论文(设计)题目网上职称申报系统的设计与实现作者学院信息科学与工程学院专业计算机科学与技术学号指导教师二零一三年五月十五日I摘要网上职称申报系统是一个集职称申报和审核的网上办公系统,此系统有利于评审认定公正、职称申报的管理、提高工作效率。此网上职称申报系统基于B/S模式,使用TOMCAT作为WEB服务器,ORACLE实现数据库设计,JSP做前台显示,后台使用SSHSTRUSTSPRINGHIBERNATE实现。该系统的主要功能分为用户模块、申报模块和审核模块。用户模块又分为注册、登录、修改密码、增加详细信息和修改详细信息等;申报模块分为个人申报和基层单位申报,只有个人所属的单位具有申报
2、资格之后,个人才能申报,提供申报材料的上传和申报模板的下载;审核模块分为基层单位审核和管理员审核,只有基层单位审核通过之后,才提交给管理员审核。本文使用全面的开发分析方法对网上职称申报进行分析。介绍了所使用的技术,明确了系统的需求和可行性,提供了系统设计方案和具体实现方法并提供了系统的单元测试。最后,对此次论文做了总结。关键词职称申报;BROWSER/SERVER;JSP;SSHIIABSTRACTONLINETITLEDECLARATIONSYSTEMISACOLLECTIONOFTITLEDECLARATIONANDAUDITOFFICEONLINESYSTEM,THISSYSTEMISH
3、ELPFULTOREVIEWCONCLUDEDTHATFAIRANDBENEFICIALTOTHETITLEMANAGEMENT,IMPROVETHEWORKEFFICIENCYTODECLARETHISONLINETITLEDECLARATIONSYSTEMBASEDONB/SMODEL,USINGTOMCATASAWEBSERVER,ORACLEIMPLEMENTSDATABASE,USINGTHEJSPASTHEVIEWMODULE,USINGTHESSHIMPLEMENTSBACKGROUNDSYSTEMTHESYSTEMSMAINFUNCTIONAREDIVIDEDINTOUSERM
4、ODULE,DECLARATIONANDAUDITMODULEUSERMODULESAREDIVIDEDINTOTHEREGISTER,LOGIN,CHANGEPASSWORDS,ADDDETAILEDINFORMATIONANDMODIFYDETAILS,ETCDECLAREMODULEISDIVIDEDINTOPERSONALANDGRASSROOTSUNITS,UNITSWITHDECLARATIONQUALIFICATIONONLYPERSONALBELONGS,INDIVIDUALSCANDECLARE,PROVIDEMATERIALREPORTTEMPLATETOUPLOADAND
5、DOWNLOADAUDITMODULEISDIVIDEDINTOBASICUNITSAUDITANDADMINISTRATORSDUITONLYAFTERTHEUNITADUIT,THEADMINISTERCANADUITTHISARTICLEUSETHECOMPREHENSIVEDEVELOPMENTOFANALYSISMETHODSTOANALYZEONLINETITLEDECLARATIONSYSTEMINTRODUCESTHEUSEOFTECHNOLOGY,HASBEENCLEARABOUTTHEREQUIREMENTANDFEASIBILITYOFTHISSYSTEM,PROVIDE
6、SSYSTEMDESIGNANDCONCRETEREALIZATIONMETHODANDPROVIDETHEUNITTESTINGTOTHISSYSTEMFINALLY,MADEASUMMARYOFTHEPAPERKEYWORDSDECLARATIONOFTITLES;BROWSER/SERVERS;JSP;SSHIII目录摘要IABSTRACTII第一章前言111选题意义112网上职称申报国内外发展现状113研究方法及研究内容114相关技术理论介绍2141软件工程方法概述2142面向对象分析与设计2143数据库理论知识3144开发工具介绍415本章小结5第二章系统分析621可行性研究6211
7、技术可行性6212经济可行性6213社会可行性622用户需求分析7221功能需求描述7222需求建模8223数据模型分析1023本章小结15第三章系统设计1631系统过程设计1632功能模块设计17321系统总体模块设计17322系统子模块设计1733数据库设计1934系统类设计22341系统类框架22342系统类图22IV35本章小结24第四章系统实现2543系统功能实现27431注册登录功能27432个人管理模块29433用户申报模块30434申报审核模块3044本章小结31第五章系统测试3251JUNIT技术介绍32511JUNIT技术的优点32512JUNIT技术的特性3252JUNI
8、T在本系统测试中的运用3253本章小结34结论35参考文献36致谢37附录A插表索引38附录B插图索引39附录C部分程序源代码411第一章前言11选题意义随着信息技术在我国的广泛应用,社会活动越来越依赖计算机信息系统,很多政府、企业都构建了自己的管理应用系统。科学技术的发展,社会文明的进步,人们的生活讲究快节奏,讲究舒适感,同时也讲究效率。为了转变传统的职称申报工作的低效率、高成本、尤其是后期对数据的维护难、处理难的现状,将个人申报评审职称所需要的所有文字材料按要求从以往的书面材料形式调整为格式固定的电子文档进行申报提交,通过职称评审系统来填报个人申报信息,经单位主管部门和上级职改人事主管部门
9、审核后,集中安排各系列评审委员会通过万维网统一进行网上评审,最后进入后期服务系统进行审批和输出相关结果从而实现无纸化评审;纸质材料转变为数字信息建立职称信息数据库,各级职称信息化建设要与有关部门的信息网络资源结合起来,避免低水平重复建设和资源浪费,逐步建立起职称信息资源共享平台,为职称申报人员和审核人员服务。12网上职称申报国内外发展现状网上职称申报系统是随着计算机技术的发展而产生的专门用于职称申报信息管理的网络化系统,是计算机技术、管理科学与分析技术相结合的产物。网上职称申报系统自上个世纪九十年代末出现以来,到如今已经历了20多年的发展。尤其是近七、八年来个人电脑的普及和信息技术的爆炸性发展
10、,对网上职称申报系统技术起到了巨大的推动作用。在欧美等国家,网上职称申报系统早就被应用到了各行各业,他们的技术已经完全成熟,甚至移动终端上也已经开发出了在线职称申报系统。由于我国计算机行业相对于欧美国家发展较慢,我国管理信息系统的开发应用是从上个世纪七十年代初期开始的,基本上采用的是学习和紧跟国外先进技术的方法。所以在网上职称申报的开发和使用上,国内起步较晚。目前国内在对网上申报系统的重视度不高,市面上大多数网上职称申报系统与同规模的国外产品相比在系统完善性,实用性及扩展性方面存在明显的不足。13研究方法及研究内容本系统的主要内容是分析和设计一个基于B/S(BROWSER/SERVER,浏览器
11、/服务器)模式的网上职称申报系统,主要目的是解决现有的人工操作系统数据收集繁琐,数据存储复杂的弊端。为了充分体现申报人员、审核人员、后台管理2人员的可操作性、高效率性及高移植性,在页面设计采用符合HTML规范,申报材料以DOC或EXCEL提交,存储在本地磁盘中。此处将申报材料存储在本地磁盘中,可以方便的解决了低移植性问题,不用费神的在数据库中为每个庞大的申报材料建立繁多的数据表,只要将材料的存储路径放入数据库表中相应的字段中即可,方便数据库的数据管理、维护及后期数据的移植问题。本文采用的主要研究方法是通过互联网络查找并学习B/S系统所需使用的相关技术,熟悉系统开发的理论和基本过程。对于职称申报
12、过程和需求的了解,则主要是通过查找相关文档,参照其他相关系统的方法,获得网上职称申报的基本需求。本系统使用JAVA作为开发语言,开发工具主要有MYECLIPSE、POWERDESIGNER、ORACLE10G和PLSQL,以OOA(面向对象分析)方式分析系统的需求,以OOD(面向对象设计)实现系统的设计。14相关技术理论介绍141软件工程方法概述计算机软件的发展经历了若干个不同的时期,反映了人们对软件认识不断加深的过程。软件是“开发”出来的,不是“制造”出来的。著名的软件工程专家BOEHM综合了有关专家和学者的意见,于一篇论文中提出了软件工程的七条基本原理1(1)用分阶段的生存周期计划严格管理
13、;(2)坚持进行阶段评审;(3)实施严格的产品控制;(4)采用现代程序设计技术;(5)结果应能清楚地审查;(6)开发小组的成员应该少而精;(7)承认不断改进软件工程实践的必要性。遵循前六条基本原理就能按照现代软件工程基本原理实现软件的工程化生产1,但是,仅有前六条原理并不能保证软件开发与维护的过程能赶上时代的步伐和技术的进步,应该把承认不断改进软件工程实践的必要性作为软件工程的第七条基本原理。142面向对象分析与设计面向对象方法的出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界的方法与过程,也就是说,要使得描述问题的问题空间与在计算机上解决问题的空间
14、在结构上尽可能一致。传统的结构化方法是软件工程在80年代最为流行的方法。对于能够预先确3定需求的系统开发,采用传统的结构化方法非常有效;但是,对于需求模糊或随时变化的系统开发来说,这种方法并不能很好适应。因此,对于需求经常变动的系统开发来说,人们有提出了面向对象的开发方法。面向对象开发技术便于系统开发者与用户进行沟通,能够开发出用户真正需要的软件系统。从实际的角度出发,面向对象方法结合能够吸收面向对象方法所具有的稳定性好、代码可复用性高、可维护性好和代码耦合度小的优点2。本系统的整体过程以软件工程的方法为指导思想,严格定义系统开发各个阶段的任务。在每个阶段又采用了面向对象分析和设计的具体方法,
15、并辅助以UML相关图表工具对系统进行建模。143数据库理论知识1、数据库建模模型是对现实世界特征的模拟和抽象数据模型是对现实世界数据特征的抽象。一般来说数据模型分为三类,即概念模型、逻辑模型和物理模型。概念数据模型也称信息模型,它以实体联系ENTITYRELATIONSHIP,简称ER理论为基础,并对这一理论进行了扩充。它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。逻辑模型是注重用逻辑的过程描述对象系统,描述系统要做什么。物理模型是描述构建数据仓库的物理分布模型,主要包含数据仓库的软硬件配置,资源情况以及数据仓库模式。2、ORACLE简介ORACLE数据库系统是美国甲骨文公司开
16、发的以分布式数据库为核心的关系型数据库,是目前最流行的数据库之一。ORACLE数据库是目前软件界使用最为普遍的关系型DBMS(数据库管理系统),它具有极其强大的数据管理功能,它是一个完备关系的产品,作为分布式数据库它实现了极其强大的分布式处理功能。它适用于各种机器。ORACLE采用的是并行服务器模式,在并行访问处理上具有非常大的优点,在大型网络管理系统中应用非常普遍,是极其成熟完备的关系型数据库管理系统。3、HQL(HIBERNATEQUERYLANGUAGE,HIBERNATE查询语句)HQL查询对查询条件进行了面向对象封装,符合编程人员的思维方式,提供了丰富的和灵活的查询特性,因此HIBE
17、RNATE将HQL查询方式立为官方推荐的标准查询方式,HQL查询提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装。完整的HQL语句形式如下SELECT/UPDATE/DELETEFROMWHEREGROUPBYHAVINGORDERBYASC/DESC其中的UPDATE/DELETE为HIBERNATE3中所新添加的功能,可见HQL查询非常类似于标准SQL查询。并且HQL提供了对对象对象属性的查询,比如要根据用户名查询一个用户是否存在,系统中有个用户实体类SYSUSER和实体类属性USERNAME,4这时要从数据库查询数据就HQL语句可以如此写FROMSYSUSERUSERW
18、HEREUSERUSERNAMEUSER,在把占位符的值设置进去就行,此查询返回的就是一个存储SYSUSER的LIST集合。本系统在持久化层使用了HQL技术对对象进行增删改查。144开发工具介绍1、JAVA简介JAVA是一种完全面向对象、跨平台性和具有垃圾回收机制的主要面向WEB的软件开发语言。它与传统的面向结构和面向对象的程序语言有极大的不同,比如它的GC(GARBAGECOLLECTION,垃圾回收期),不需要像C程序去显示调用析构函数释放创建对象所分配的内存,JVM(JAVAVIRTUALMACHINE,JAVA虚拟机)本身可以帮助程序员来释放内存,这在极大的程度上减少了程序的出错率,增
19、强了代码的健壮性。同时JVM技术使得采用JAVA语言编写的程序可以跨平台的使用3,从WINDOWS到UNIX再到LINUX,都有JAVA的身影。此外JAVA是一种纯粹的面对对象的语言这与以往的C,或者更早的OBJECTPASCAL有了很大的不同,程序的结构更加清晰易懂。自从问世以来,JAVA的快速发展已经让整个WEB软件开发发生了翻天覆地的变化。随着JAVAEE(JAVAENTERPRISEEDITION,JAVA企业级开发平台)的推出,JAVA在电子商务方面开始崭露头角,最新的JSP技术的推出,更是让JAVA成为基于WEB的应用程序的首选开发工具。2、JSP技术JSP(JAVASERVERP
20、AGE)技术是由SUN公司提出、多个IT公司参与合作建立的一种动态网页开发技术标准。JSP规范是WEB服务器4,为JAVAEE开发实现VIEW层。3、JAVA开发框架简介(1)SPRING介绍SPRING是一个开源框架,它由RODJOHNSON创建5。它是为了解决企业应用开发的复杂性而创建的。SPRING使用基本的JAVABEAN来完成以前只可能由EJB完成的功能。(2)STRUTS2技术STRUTS2是在WEBWORK框架的技术的基础上开发出来的6,全新的STRUTS2框架。它的体系结构与STRUTS1的有着巨大区别。STRUTS2以WEBWORK为核心7,采用拦截器机制来处理用户的请求,这
21、样的设计也使得ACTION完全摆脱了对SERVLETAPI的耦合7,因此STRUTS2的测试较之STRUTS来说就非常简单,可以不用WEB服务器,直接使用JUNIT进行单元测试。(3)HIBERNATE技术大型应用软件开发项目大都和大型数据库技术密切相关。虽然JAVA提供了5JDBC技术访问数据库,但是JDBC访问数据库的代码非常的繁杂、容易出错并且代码耦合度高,不宜与维护,但是HIBERNATE框架8的出现在极大程度上改变了这种局面。HIBERNATE主要包括实体对象,HIBERNATE实体类映射文件,实体类位于ORM对象层,使用映射文件将对象与关系型数据中的表相关联;HIBERNATE配置
22、文件,XML配置文件提供了更易编写的结构和更强的配置能力,可以直接对映射文件加以读取文件。整个HIBERNATE通过持久化层斜街应用层和HIBERNATE框架的交互,通过HIBERNATE技术9,开发的软件可以把数据库作为一个对象使用,这比直接使用JDBC操作数据库简单很多并且维护性强,对应于企业开发模式,HIBERNATE体现了面向它对象技术的精髓,将数据库表对象化,把数据库字段属性化,并为每个属性生成对应的GETTER和SETTER方法,应用程序要对数据库操作,只需使用HSQL语句操作实体对象就可以达到之前JDBC访问的效果,整个框架图如图11所示图11HIBERNATE主框架图HIBER
23、NATE的配置主要是用来建立SESSIONFACTORY的,通过CONFIGURATION类来提供这些配置细节,配置过程简单,这也是通过HIBERNATE统一管理的优点之一。15本章小结本章主要阐述了本课题的选题意义,分析了职称申报系统在国内外的发展现状,简单介绍了本课题的研究内容与研究方法,有利于后面课题研究的进行。应用层(APPLICATION)持久层(PERSISTENCTOBJECT)HIBERNATE框架HIBERNATEPROPERTIESXMLMAPPING数据库(DATEBASE)6第二章系统分析系统分析是系统软件定义时期的最后一个阶段,这个阶段的任务仍然不是具体地解决问题,而
24、是准确的确定“为了解决这个问题,目标系统必须做什么”。系统分析阶段包括系统的可行性研究与需求分析两个部分2。21可行性研究可行性研究是在粗略地了解了用户的需求之后,提出几种可行的解决方案,并进行多方面论证的过程。可行性研究的基本目的是用较小的成本在较短的时间内确定系统是否存在可行的解法,有关用户需求的很多细节并不会被包含在可行方案中,所以在可行性论证之后,还要进行详细的需求分析。可行性分析是通过对项目的主要内容和配套条件,如市场需求、资源供应、建设规模、工艺路线、设备选型、环境影响、资金筹措、盈利能力等,从技术、经济、工程等方面进行调查研究和分析比较,并对项目建成以后可能取得的财务、经济效益及
25、社会环境影响进行预测,从而提出该项目是否值得投资和如何进行建设的咨询意见,为项目决策提供依据的一种综合性的系统分析方法。可行性分析应具有预见性、公正性、可靠性、科学性的特点。211技术可行性本系统以TOMCAT为WEB服务器,JAVAEE、HIBERNATE、SPRING和STRUTS2实现后台程序功能,JSP、JS和HTML实现前台显示,ORACLE实现数据库设计。IT行业经过这么多年的发展,以现在的WEB技术完全可以实现网上教师职称申报系统。所以从技术上来说,本系统是完全可行的212经济可行性网上职称申报系统较之于传统的职称申报,节省人力物力,省去了申报材料的管理,免除了繁琐的材料管理事务
26、既减少了纸张等办公用品的使用成本,也节约了聘用大量专管人员的开销。而网上职称申报系统的客户端依赖于浏览器,只要有浏览器的PC(PERSONALCOMPUTER,个人电脑)即可支持,所以也节约了专项客户端机器的开销。由于此网上职称申报系统的开发属于个人研究项目,所以不需要额外的成本,只需一台PC机和一些免费软件就行。以现在的经济环境,完全可以实现。213社会可行性在现实中,早已经存在类似的网上职称申报系统,而本系统只是一个个人研究项目,项目功能实现在现有的系统中进行参考,完全符合相关法律和政策的规7定,所以本系统的开发,符合法律的规定。22用户需求分析需求分析是理解用户需求,使软件功能与用户要求
27、达成一致,并且估计软件风险和评估项目代价,最终共形成开发计划的一个复杂过程。需求分析是软件开发期的第一个阶段,也是关系到软件开发成败的关键步骤。它的基本任务是准确的回答“系统必须做什么”的问题1。所有的开发软件都是以用户需求为驱动的,所以,软件开发过程中第一步也是最重要的一步就是搞清楚用户的需求,并对用户的需求进行准确详尽的描述。221功能需求描述网上职称申报系统的主要用户分为个人用户、基层单位用户和管理员用户。不同的用户拥有不同的权限。1、个人用户个人用户是职称申报系统的主体,它们对于系统的功能需求主要包括(1)注册、登录、找回密码,以及基本信息修改功能。(2)申办业务类型选择。比如专业技术
28、资格评审、专业技术资格认定、业务咨询等等,再选择具体的申报业务,比如XXX高级资格评审。(3)录入详细的申报信息,比如申报人的基本信息、专业技术资格历史情况、教育情况、工作简历、计算机应用能力(需要的话),同时能根据要求提供审核材料的电子文档上传。(4)送审。完成申报录入之后,点击送审。(5)查看评审结果。2、基层单位用户个人的申报材料首先要提交到具有申报资格的基层单位,经过基层单位审核通过之后,再由基层单位提交送审,所以基层单位是申报的主体之一,也是审核主体之一。它们对于系统的功能需求主要包括(1)注册、登录、找回密码,以及基本信息修改功能。(2)申办业务类型选择。比如专业技术资格评审、专业
29、技术资格认定、业务咨询等等,再选择具体的申报业务,比如XXX高级资格评审。(3)录入详细的申报信息,比如申报人的基本信息、专业技术资格历史情况、教育情况、工作简历、计算机应用能力需要的话,同时能根据要求提供审核材料的电子文档上传。(4)送审。完成申报录入之后,点击送审。(5)查看评审结果。(6)对本单位的职员提交的申请做初步的审核,如果不能通过,则直接打回,8如果通过,就将申报人的信息、资料、所申请的职称和本单位对该申报人的审核意见提交到审核单位,上传单位公示照片。(7)跟踪评审结果。3、管理员用户管理员用户是系统的主要管理者,它负责整个系统的维护,也是申报流程的最终的审核者。它的系统功能需求
30、主要包括(1)注册、登录、找回密码,以及基本信息修改功能。(2)查看当前申报信息。查看有多少新增申报。(3)审核申报信息。审核基础单位信息,判断该单位是否有资格进行职员的职称申报,如果没有,则该单位所有的申报工作都不能进行。(4)如果提交申报材料的基层单位拥有职称申报的资格,则审核该单位提交的职员的职称申报材料和该单位岁该申报员的意见。(5)提交审核结果。222需求建模用例图(USECASEDIAGRAM)是由软件需求分析到最终实现的第一步,它描述如何使用一个系统10。用例视图显示谁是相关的用户、用户希望系统提供什么样的服务,以及用户需要为系统提供的服务,以便使系统的用户更容易理解这些元素的用
31、途,也便于软件开发人员最终实现这些元素11。1、用户用例用户用例图如图21所示。图21用户用例图92、个人用户用例和基层单位用例个人用户用例和基层单位用例图如图22所示图22个人用户用例和基层单位用例图3、管理员用户用例管理员用例图如图23所示。图23管理员用户用例图10223数据模型分析数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计12的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。1、数据实体ER图本系统必须保证具有不同权限的用户进入此系统的时候,展示的页面菜单不同,及该改用户所拥有的权限及功能就是他所能
32、见到的这些菜单。所以用户管理ER图如图24所示。NM1N图24用户管理ER图申报过程是系统的主要业务,其ER图如图25所示。N11NMN图25申报业务ER图下面介绍系统实体ER图(1)系统权限实体主要包括权限ID、父权限、权限文本、权限地址等。系统权限实体图如图26所示。基层单位职称申报个人申报资料隶属属于申报申报时间基层单位审核结果管理员审核结果权限角色拥有用户属于11图26系统权限实体图(2)系统角色实体主要包括角色ID、角色描述、角色名称等。系统角色实体图如图27所示。图27系统角色实体图(3)角色权限实体主要包括ID、角色ID、权限ID等。角色权限实体图如图28所示。图28角色权限实体
33、图(4)基层单位实体主要包括单位ID、单位名称、公式照片地址、单位所在地、申报资格等。基层单位实体图如图29所示。图29基层单位实体图(5)申报个人实体主要包括用户ID、用户名、密码、单位ID、用户角色ID、申报资格、真实姓名、身份证号、EMAIL、电话等。用户实体图如图210所示。系统权限权限ID父权限IDIDIDIDID权限地址权限文本系统角色角色ID角色名称角色描述角色权限基层单位申报资格单位所在地单位名称公示照片地址单位IDID角色ID权限ID12图210用户实体图(6)职称实体主要包括。职职称ID、职称类型、职称等级、职称名。职称实体图如图211所示。图211职称实体图7)资料实体主
34、要包括资料ID、用户ID、资料名、资料保存路径等。资料实体图如图212所示。图212申报资料实体图(8)申报记录实体,申报个人与职称之间的关联的记录。主要包括ID、申报人ID、职称ID、业务名、申报时间、最终结果和管理员审核结果等。申报记录实体图如图213所示。申报个人用户ID电话EMAIL身份证申报资格真实姓名用户角色ID单位ID密码用户名申报资料资料ID资料保存路径资料名用户ID职称职称ID职称名职称类型职称等级专业13图213申报记录实体图2、数据流图和数据字典数据流图也称为数据流程图(DFD,DATEFLOWDIAGRAM)是一种便于用户理解和分析系统数据流程的图形工具,他摆脱了系统和
35、具体内容,精确的在逻辑上描述系统的功能、输入、输出和数据存储等。数据字典书关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合10。(1)用户申报数据流图如图214所示。图214用户申报数据流图对应的数据字典如下1)申报业务用户信息数据流条目如表21所示。表21申报用户信息业务数据流条目表内容描述数据流名称用户信息说明通过拿到用户信息,验证登录用户的合法性数据流来源用户登录数据流组成用户信息用户名用户密码申报资格真实姓名身份证号角色ID2)申报业务职称信息数据流条目如表22所示。申报记录申报人ID职称IDID业务名申报时间单位审核结果最终结果14表22申报业务职称信息数据流条目表
36、内容描述数据流名称职称信息说明通过拿到职称信息,进行职称申报数据流来源申报数据流组成职称信息职称专业职称类型职称等级职称名3)申报业务申报资料信息数据流条目如表23所示。表23申报业务申报资料信息数据流条目表内容描述数据流名称申报资料信息说明进行资料的存储数据流来源申报数据流组成申报资料信息申报用户ID资料名资料保存路径4)申报业务申报记录信息数据条目如表24所示。表24申报业务申报记录信息数据流条目表内容描述数据流名称申报记录信息说明进行申报记录信息的存储数据流来源申报数据流组成进行申报记录信息申报用户ID申报时间(2)申报审核数据流图如图215所示。图215审核数据流图对应的数据字典如下1
37、)审核业务用户信息数据流条目如表25所示。15表25审核用户信息业务数据流条目表内容描述数据流名称用户信息说明通过拿到用户信息,验证登录用户的合法性数据流来源用户登录数据流组成用户信息用户名用户密码申报资格真实姓名身份证号角色ID2)审核业务申报资料信息数据流条目如表26所示。表26审核业务申报资料信息数据流条目表内容描述数据流名称申报资料信息说明进行资料的存储数据流来源审核数据流组成申报资料信息申报用户ID资料名资料保存路径3)申报业务审核记录信息数据条目如表27所示。表27审核业务审核记录信息数据流条目表内容描述数据流名称审核记录信息说明进行审核记录信息的存储数据流来源审核数据流组成审核记
38、录信息申报记录ID审核时间审核结果23本章小结本章节对网上职称申报系统进行了可行性研究、需求分析和物理建模。通过可行性研究得到本系统开发所需条件,需求分析得出了网上职称申报系统必须完成的功能,通过建立物理模型,可以清晰直观的对本系统的用例、活动和数据存储进行描述。16第三章系统设计经过需求分析阶段的工作,系统必须“做什么”已经很清楚了,现在是决定怎样做的时候。总体设计的基本目的就是回答“做什么,系统应该如何实现”这个问题,因此,又称为概要设计或初步设计。通过这个阶段的工作划分出组成系统的物理元素程序、文件、数据库、人工过程和文档等等。系统设计阶段另一项重要任务时设计软件的结构,也就是要确定系统
39、每个程序由那些模块组成的,以及这些模块相互间的关系2。31系统过程设计系统流程图可以描述系统处理的过程,借助系统的程序流程图能让我们更好的对系统各个子系统的功能进行设计。网上职称申报系统的系统流程图如图31所示。否是一般用户管理员图31网上职称申报系统流程图注册填写用户信息用户名是否存在登录判断权限进入后台查询申报记录审核进入后台上传申报材料申报查看申报结果下载申报材料1732功能模块设计根据前面的需求分析中的功能需求分析和物理建模,得到了网上职称申报系统的功能需求。分析这些功能需求,总结出本系统主要分为用户模块、申报模块和审核模块。321系统总体模块设计网上职称申报系统主要包括用户、申报和审
40、核三大部分,系统功能如图32所示。图32网上职称申报系统功能图322系统子模块设计本系统主要分为用户模块、申报模块和审核模块。1、用户模块用户模块包括用户分角色注册、用户分角色登录、增加详细信息、修改详细信息、修改密码等部分。用户管理子模块图如图33所示。录入申报信息申报材料上传查看申报结果网上教师职称申报系统用户模块审核模块申报模块分角色注册用户登录增加详细信息修改密码查看申报记录提交申报结果增加详细信息下载申报材料申报材料模板下载18图33用户管理子模块图(1)注册本系统用户注册分为个人用户注册和基层单位用户注册,填写用户信息,进行注册,注册成功之后将得到一个合法的系统用户身份。(2)登录
41、本系统用户角色分为三类,即个人用户、基层单位用户和管理员用户,不同的角色用户,登录之后显示不同的权限菜单。2、申报模块申报模块主要包括个人用户申报和基层单位申报,提供下载职称申报资料模板、上传申报资料、提交申报和查看申报结果等功能。职称申报子模块图如图34所示。图34职称申报子模块图(1)申报材料模板下载具有申报资格的用户登录之后,可以下载申报材料模板,进行信息填写。(2)申报材料上传当用户填写完申报材料之后,可进行材料的上传。3、审核模块审核模块主要包括基层单位审核和管理员审核。个人申报必须经过它所在的用户模块注册登录增加详细信息修改详细信息修改密码申报模块申材料模板下载申报材料上传提交申报
42、查看申报结果19基层单位审核通过之后才能提交到管理员进行审核。此模块提供查看申报记录、下载申报材料和提交审核结果等功能。审核子模块图如图35所示。图35审核子模块图(1)查看未审核申报记录如果当前用户为基层单位用户,则可以查看当前用户所在单位的所有员工的未经审核的或基层单位审核未通过的申报记录;如果当前用户为管理员用户,只可以查看经过基层单位审核通过的申报记录及基层单位申报的未经管理员审核或审核未通过的记录。(2)提交审核结果提交经过审核的申报记录的审核结果。33数据库设计根据系统需求分析过程中,对数据建模的结果,设计出系统共有9张业务表他们分别是(1)系统权限表。此表用于保存系统用户权限,表
43、结构如表31所示。表31系统权限表字段名字段类型长度约束字段描述RIGHT_IDNUMBERPRIMARYKEY权限IDRIGHT_PARENT_IDNUMBER父权限IDRIGHT_URLVARCHAR220权限URLRIGHT_TEXTVARCHAR210权限文本(2)系统角色表。此表用于保存系统角色,表结构如表32所示。审核模块查看未审核申报记录下载申报材料提交审核结果20表32系统角色表字段名字段类型长度约束字段描述ROLE_IDNUMBER50PRIMARYKEY权限IDROLE_NAMEVARCHAR250NOTNULL权限名ROLE_DESCVARCHAR250角色描述(3)角色
44、权限表。用于系统权限表和系统角色表的中间表,表结构如表33所示。表33角色权限表字段名字段类型长度约束字段描述RF_IDNUMBERPRIMARYKEY表IDRF_ROLE_IDNUMBERFOREIGNKEY角色IDRF_RIGHT_IDNUMBERFOREIGNKEY权限ID(4)基层单位表。用于保存基层单位信息,表结构如表34所示。表34基层单位表字段名字段类型长度约束字段描述UNIT_IDNUMBERPRIMARYKEY单位IDUNIT_NAMEVARCHAR225UNIQUENOTNULL单位名UNIT_IMA_URLVARHCAR250公示照片的路径QUALIFICATIONNUM
45、BERNOTNULL单位申报资格(5)职称表。用于保存申报的职称的信息,表结构如表35所示。表35职称表字段名字段类型长度字段描述约束POS_IDNUMBER职称IDPRIMARYKEYPOS_TYPEVARCHAR230职称类型POS_SCALEVARCHAR210职称等级POS_NAMEPOS_SPECIALITYVARCHAR2VARCHAR21010职称名专业(6)用户表。用于保存系统用户信息,表结构如表36所示。21表36用户表字段名字段类型长度字段描述约束USR_IDNUMBER用户IDPRIMARYKEYUSER_NAMEVARCHAR210用户名NOTNULLUNIT_IDNU
46、MBER所属单位IDFOREIGNKEYUSR_PASSWORDVARCHAR210密码NOTNULLUSR_ROLE_IDNUMBER用户角色IDFOREIGNKEYQUALIFICATIONVARCHAR210用户的申报资格NOTNULLPHONEVARCHAR211用户电话QQVARCHAR211QQEMAILVARCHAR220邮箱USR_REALNAMEVARCHAR210真实姓名NOTNULLCARDIDVARCHAR220身份证EDU_BACGVARCHAR210学历(7)申报个人表。用于保存申报人员的信息。表结构如表37所示。表37申报个人表字段名字段类型长度字段描述约束IDN
47、UMBER表IDPRIMARYKEYUSER_IDNUMBER用户IDFOREIGNKEYPOS_IDNUMBER职称IDFOREIGNKEY(8)业务表。用于保存职称申报的信息,表结构如表38所示。表38业务表字段名字段类型长度字段描述约束OPERA_IDNUMBER业务IDPRIMARYKEYUSER_IDNUMBER申报个人IDFOREIGNKEYPOS_IDNUMBER职称IDFOREIGNKEYOPERA_NAMEVARCHAR210业务名称DECLARTIMEVARCHAR212申报时间NOTNULLUNITDECLARNUMBER基层单位涉河结果RESULTVARCHAR24申报
48、结果22(9)申报材料表。用于报讯申报人上传的材料信息,表结构如表39所示。表39材料上传存放表字段名字段类型长度字段描述约束DATA_IDNUMBER数据IDPRIMARYKEYUSER_IDNUMBER申报人员IDFOREIGNKEYFILE_NAMEVARCHAR236文件名FILE_PATHVARCHAR220文件保存路径NOTNULL34系统类设计341系统类框架本系统采用企业软件设计模式,系统分三层,即DAO层用于持久化、SERVICE层用于业务处理和ACTION层用于数据接收和转发,所以类结构也分为这三层。DAO层和SERVICE层都各自提供一个接口和顶层抽象类。342系统类图所
49、有的实体类对实现序列化接口,各实体类之间的关联如图42所示。DAO层提供访问数据库的功能,DAO层类都继承自一个抽象类BASEHIBERNATEDAOIMPL,而这个抽象类又继承子HIBERNATE框架中的HIBERNATEDAOSUPPORT类,DAO层各具体类都值实现父类的唯一一个抽象方法PUBLICCLASSGETENTITYCLASS,返回当前类要操作的实体类的CLASS对象。SERVIC层提供对业务的处理,每一类业务提供一个接口和一个实现类,接口中提供此类业务需要的方法,实现类去具体实现,并在实现类中注入要操作的DAO层类对象。ACTION层提供FORM表单数据的接收和转发功能,在每个ACTION类中注入相应的SERVICE类对象,进行数据的转发。1、系统用户管理核心类根据三层架构,设计系统用户管理核心类图36所示。23图36用户管理核心类图用户管理核心类说明(1)USERACTION类是用户管理模块ACTION层核心类,其属性USER和UNIT及相对于的GETTER和SETTER方法用于接收页面传递的FORM表单的值,通过SPRING配置文件和提供SETUNITSERVICE、SETROLESERVICE和SETUNITSERVICE注入相对应的SERVICE层类对象。属性MSG和GETMSG用于登录验证失败后向登录页面显示错误原因。属性CO