1、湖南科技大学毕业设计(论文)题目机械工艺图纸管理系统的设计与实现作者学院计算机科学与工程专业计算机科学与技术学号0705010309指导教师二一一年六月一日I湖南科技大学毕业设计(论文)任务书计算机科学与工程学院计算机科学与技术系(教研室)系(教研室)主任(签名)年月日学生姓名学号0705010309专业计算机科学与技术1设计(论文)题目及专题机械工艺图纸管理系统的设计与实现2学生设计(论文)时间自2011年03月01日开始至2011年06月01日止3设计(论文)所用资源和参考资料STRUTS2深入详解孙鑫著电子工业出版社出版20087HIBERNATE官网HTTP/WWWHIBERNATEO
2、RG/STRUTS2官网HTTP/STRUTSAPACHEORG/4设计(论文)应完成的主要内容5提交设计(论文)形式(设计说明与图纸或论文等)及要求6发题时间2011年03月01日指导教师(签名)学生(签名)II湖南科技大学毕业设计(论文)指导人评语主要对学生毕业设计(论文)的工作态度,研究内容与方法,工作量,文献应用,创新性,实用性,科学性,文本(图纸)规范程度,存在的不足等进行综合评价指导人(签名)年月日指导人评定成绩III湖南科技大学毕业设计(论文)评阅人评语主要对学生毕业设计(论文)的文本格式、图纸规范程度,工作量,研究内容与方法,实用性与科学性,结论和存在的不足等进行综合评价评阅人
3、(签名)年月日评阅人评定成绩IV湖南科技大学毕业设计(论文)答辩记录日期学生学号0705010309班级07050103题目机械工艺图纸管理系统的设计与实现提交毕业设计(论文)答辩委员会下列材料1设计(论文)说明书共页2设计(论文)图纸共页3指导人、评阅人评语共页毕业设计(论文)答辩委员会评语主要对学生毕业设计(论文)的研究思路,设计(论文)质量,文本图纸规范程度和对设计(论文)的介绍,回答问题情况等进行综合评价答辩委员会主任(签名)委员(签名)(签名)(签名)(签名)答辩成绩总评成绩V摘要随着科技的发展,时代的进步,工业生产管理慢慢由原始的人工管理向智能化管理转变。长沙天鹅泵业有限公司在生产
4、水泵的过程中,由于机械图纸太多,人工管理起来比较困难,不得不考虑采用科学化的管理方式。本论文主要阐述了如何利用J2EE的STRUTS和HIBERNATE框架开发一个性能优越、可扩展性强和安全可靠稳定的机械工艺图纸管理系统。同时还论述了该机械工艺图纸管理系统具体功能的实现过程,主要包括数据库的设计,图纸管理功能、工艺卡管理功能,用户管理,角色管理,通知管理,上传功能,下载功能等等。本机械工艺图纸管理系统界面美观,简洁大方,容易操作,比较实用。关键词STRUTS;HIBERNATE;机械工艺图纸管理系统;VIABSTRACTWITHTHEDEVELOPMENTOFSCIENCEANDTECHNOL
5、OGYANDTHEPROGRESSOFTHETIMES,INDUSTRIALPRODUCTIONMANAGEMENTGRADUALLYCHANGESFROMORIGINALARTIFICIALMANAGEMENTTOTHEINTELLIGENTMANAGEMENTDUETOTOOMANYMECHANICALDRAWINGS,ITISTOODIFFICULTFORTIANEPUMPTOADOPTARTIFICIALMANAGEMENTINTHEPROCESSOFPRODUCINGWATERPUMPS,SOTHECHANGSHATIANEPUMPHASTOTAKETHEUSEOFSCIENTIFI
6、CMANAGEMENTINTOACCOUNTTOMANAGEMECHANICALDRAWINGSANDPROCESSCARDTHISARTICLEMAINLYEXPOUNDSHOWTOUSEJ2EESSTRUTSANDHIBERNATEFRAMEWORKTODEVELOPASECURE,RELIABLEANDSTABLEMECHANICALPROCESSDRAWINGSMANAGEMENTSYSTEMWITHSUPERIORPERFORMANCEANDHIGHSCALABILITYITALSODISCUSSESTHEIMPLEMENTATIONPROCEDUREOFSPECIFICFUNCTI
7、ONOFTHESYSTEM,INCLUDINGTHEDESIGNOFDATABASE,THEFUNCTIONOFDRAWINGMANAGEMENTANDPROCESSCARDMANAGEMENT,THEUSERMANAGEMENT,THEROLEMANAGEMENT,THENOTIFICATIONMANAGEMENT,UPLOADINGANDDOWNLOADING,ETCTHEMECHANICALPROCESSDRAWINGSMANAGEMENTSYSTEMISARTISTICANDSUCCINCTININTERFACEITISALSOEASILYOPERATEDANDPRACTICALKEY
8、WORDSSTRUTSHIBERNATEDRAWINGMANAGEMENTSYSTEM湖南科技大学本科生毕业设计(论文)VII目录第一章绪论111项目背景分析112论文的主要内容113论文的结构2第二章相关技术简介321STRUTS2技术简介322HIBERNATE技术简介5第三章需求分析931目标定义932系统功能需求933可行性研究1034系统环境要求10第四章概要设计1241架构设计1242功能模块设计1243数据结构设计13431图数据库设计规范13432ER关系图设计14433ER图补充14433数据库表设计16第五章详细设计1951系统配置19511应用层配置19512数据库连接配
9、置2252用户注册登录模块2353权限控制设计2454图纸信息管理模块的实现25541设计目的25542视图层设计26湖南科技大学本科生毕业设计(论文)VIII543业务层处理28544数据层处理30第六章总结与展望33参考文献34致谢35湖南科技大学本科生毕业设计(论文)1第一章绪论11项目背景分析受长沙天鹅泵业股份有限公司的委托,帮忙开发一个机械工业图纸管理系统。由于该公司加工水泵的过程中,先需要一个机械图纸,机械根据图纸上的信息描述来加工水泵的部件。由于水泵型号多,机械图纸设计工程师们工作量也就比较大,设计出来的机械工艺图纸想当多,结果给水泵加工过程造成了一个想当严重的问题。加工过程中,
10、弄不清那个图纸对应哪一个型号的水泵了。或者是加工完某一型号的水泵之后用过了这一型号的图纸之后,隔了一段时间又需要再加工该类型号的水泵时找不到这个型号的图纸了。不得不再次求助于机械工艺图纸设计师重新设计图纸。这显然是管理上的失误,才给工艺图纸设计师造成额外的工作。当然也不能全怪管理员了。主要是没有一个合适的管理工具。因此,开发一个合适的机械工艺图纸管理系统是很有必要的。可以减轻管理员的工作,机械图纸设计师的工作,同时也方便水泵加工过程中查找图纸的方便。12论文的主要内容本文将阐述一个基于J2EE技术的机械工艺图纸管理系统的设计与实现,主要实现工艺图纸的管理(上传图纸、下载图纸、搜索查询图纸),机
11、械工艺卡的管理(上传工艺卡、下载工艺卡、搜索查询工艺卡等)其目的是给长沙天鹅泵业有限公司提供一个图纸管理系统,方便水泵加工过程中图纸模板的查找,保证图纸的唯一性,减少公司管理层得工作量的一个信息平台。该机械工艺图纸管理系统应该具备如下功能发布图纸信息功能,修改图纸信息功能,上传图纸功能,下载图纸功能,搜索查询图纸功能;发布工艺卡信息功能,修改工艺卡信息功能,上传工艺卡功能,下载工艺卡功能,搜索查询工艺卡功能;用户组管理功能;用户管理功能;消息通知管理功能等。文章将首先阐述机械工艺图纸管理系统分析部分,包括可行性分析、需求分析、业务流程分析等;系统概要设计部分将主要介绍该系统的总体设计、功能设计
12、、架构设计以及数据结构设计;系统详细设计部分将说明整个系统的数据库设计,接口设计以及几个主要功能模块的流程图与算法以及其各自的实现代码,并对实现该论坛的一些关键技术和组件进行简单的介绍;最后论文将对整个系统的设计过程与结果进行总结,总结该系统的不足之处,并对这些不足湖南科技大学本科生毕业设计(论文)2之处提出修改意见;其次就是对该系统的未来进行展望,看还有哪些技术值得改进可以使得运行效率更高。13论文的结构第二章为相关技术的介绍,首先介绍本机械工艺图纸管理系统中所用的到STUTS2技术,然后在介绍HIBERNATE技术。第三章为整个系统需求分析,将包括系统的目标定义、系统的功能需求分析、系统的
13、可行性分析、系统开发环境等方面进行简要介绍。第四章为概要设计,将包括系统架构设计,系统功能模块设计与数据结构设计三个大的方面。第五章为整个机械工艺图纸管理系统的详细设计,在这一章论文将列出3到4个模块进行详细讲解,其它的功能模块则进行简单说明。另外论文将详细阐述本机械工艺图纸管理系统的关键技术是如何实现的。第六章为最后一章,论文将在这一章对整个系统的开发过程中所学到的知识与经验进行总结,总结还有那些不足之处以及仍然可以进行改进的地方。湖南科技大学本科生毕业设计(论文)3第二章相关技术简介21STRUTS2技术简介STRUTS2是一种JSPMODEL2模式的框架。JSPMODEL2模式示意图如图
14、21所示,是由SUN公司又推出了一种架构模式。这个模式是结合了SERVLET,JSP,JAVABEAN的优点推出的一种模式。这个模式分为三部分SERVLET,JSP,JAVABEAN。SERVLET做的事情是控制到底最后显示哪个JSP页面给用户、JSP做的就是响应用户请求,把结果数据展现给用户、而JAVABEAN做的就不单单是对数据库的数据的存取了,这里复杂的业务功能和逻辑处理都交给了它处理。从它的设计结构就可以看出JSPMODEL2的优点。由于它在设计上很好的分工,也就是做显示的是JSP,做逻辑处理的是JAVABEAN,做控制的是SERVLET。这样分工以后,对我们开发人员来说,就可以很好的
15、做自己的开发工作了,而美工人员也不必了解和看懂业务逻辑处理代码,在很大的层次上提高开发的效率。图21JSPMODEL2模式示意图事实上STRUTS2就是一个大的SERVLET,所有的请求都会通过这个SERVLET就行转发到相应的ACTION中就行处理。它是一个典型的MVC模式框架。虽然STRUTS2号称是一个全新的框架,但这仅仅是相对STRUTS1而言。STRUTS2与STRUTS1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架WEBWORK基础上发展起来的。从某种程度上来讲,STRUTS2没有继承STRUTS1的血统,而是继承WEBWORK的血统。或者说,
16、WEBWORK衍生出了STRUTS2,而不是STRUTS1衍生了STRUTS2因为STRUTS2是WEBWORK的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证而且吸收了STRUTS1和WEBWORK两者的优势,因此,是一个非常值湖南科技大学本科生毕业设计(论文)4得期待的框架。APACHESTRUTS2是一个优雅的,可扩展的JAVAEEWEB框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。APACHESTRUTS2即是之前大家所熟知的WEBWORK2在经历了几年的各自发展后,WEBWORK和STRUTS社区决定合二为一,也即是STRUTS2。STR
17、UTS2的工作流程示意图如图22所示。它的整个工作过程1、当SERVLET容器接收到一个HTTPREQUEST请求之后,将请求交给在WEBXML中配置的过滤器STRUTSPREPAREANDEXECUTEFILTER,调用它的DOFILTER方法。2、STRUTSPREPAREANDEXECUTEFILTER询问ACTIONMAPPER,以便确定这个请求是否有对应的ACTION调用。3、ACTIONMAPER返回一个描述ACTION调用的ACTIONMAPPING对象。4、STRUTSPREPAREANDEXECUTEFILTER调用DISPATCHER类的SERVICEACTION()方法。
18、5、DISPATCHER调用ACTIONPROXY的EXECUTE()方法。6、ACTIONPROXY设置ACTIONPROXY对象的执行上下文,然后调用其INVOKE方法。7、ACTIONINVOCATION的INVOKE方法从拦截器中查找尚未执行的拦截器,然后调用它的INTERCEPTINVOCATION方法。并将自身的引用对象的引用最为参数传递给拦截器。8、拦截器完成某系预处理工作之后,反过来调用ACTIONINVOCATION的INVOKE方法。ACTIONINVOCATION维护自己的状态,所以它知道哪些拦截器已经被执行了,如果还没有别执行的拦截器,就继续执行它的INTERCEPTI
19、NVOCATION方法。9、如果所以的拦截器都已经执行过了,就调用ACTION实例的EXECUTE方法(如果没有在STRUTSXML文件中设置其他方法,否则执行其他方法)。10、ACTIONINVOCATION根据ACTION执行返还的结果码,查找对应的RESULT,调用RESULT的EXECUTEINVOCATION,将结果呈现给用户。11、ACTIONINVOCATION的INVOKE方法将控制权返还给拦截器映射中的最后一个拦截器,该拦截器完成所有的后期处理工作,如此反复,知道所有的拦截器都成返回。12、ACTIONINVOCATION的INVOKE方法执行完毕之后,向ACTIONPROX
20、Y返回一个STRING类型的结果码,最后,ACTIONPROXY清理状态并返回。湖南科技大学本科生毕业设计(论文)5图22STRUTS2的工作流程示意图22HIBERNATE技术简介HIBERNATE是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得JAVA程序员可以随心所欲的使用对象编程思维来操纵数据库。HIBERNATE可以应用在任何使用JDBC的场合,既可以在JAVA的客户端程序使用,也可以在SERVLET/JSP的WEB应用中使用,最具革命意义的是,HIBERNATE可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。HIBERNATE的核心
21、接口一共有5个,分别为SESSION、SESSIONFACTORY、TRANSACTION、QUERY和CONFIGURATION。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。、SESSION接口SESSION接口负责执行被持久化对象的CRUD操作CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。但需要注意的是SESSION对象是非线程安全的。同时,HIBERNATE的SESSION不同湖南科技大学本科生毕业设计(论文)6于JSP应用中的HTTPSESSION。这里当使用SESSION这个术
22、语时,其实指的是HIBERNATE中的SESSION,而以后会将HTTPSESSION对象称为用户SESSION。、SESSIONFACTORY接口SESSIONFACTORY接口负责初始化HIBERNATE。它充当数据存储源的代理,并负责创建SESSION对象。这里用到了工厂模式。需要注意的是SESSIONFACTORY并不是轻量级的,因为一般情况下,一个项目通常只需要一个SESSIONFACTORY就够,当需要操作多个数据库时,可以为每个数据库指定一个SESSIONFACTORY。、CONFIGURATION接口CONFIGURATION接口负责配置并启动HIBERNATE,创建SESSI
23、ONFACTORY对象。在HIBERNATE的启动的过程中,CONFIGURATION类的实例首先定位映射文档位置、读取配置,然后创建SESSIONFACTORY对象。、TRANSACTION接口TRANSACTION接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。、QUERY和CRITERIA接口QUERY和CRITERIA接口负责执行各种数据库查询。它可以使用HQL语言或原生的SQL语句两种表达方式。HQL语言是一种面向对象的查询语句,它更容易让程序员所接受,同时HQL语言还屏蔽了不同SQL语言之间的差异。HIBERNATE的工作原理。HIBERNATE首
24、先进行初始化读取HIBERNATE的配置信息然后再创建SESSIONFACTORY。步骤如下1创建CONFIGERATION类的实例。它的构造方法将配置信息HIBERNATECONFIGXML读入到内存。一个CONFIGERATION实例代表HIBERNATE所有JAVA类到SQL数据库映射的集合。2创建SESSIONFACTORY实例,把CONFIGERATION对象中的所有配置信息拷贝到SESSIONFACTORY的缓存中。SESSIONFACTORY的实例代表一个数据库存储员源,创建后不再与CONFIGERATION对象关联。缓存CACHE指JAVA对象的属性通常是一些集合类型的属性占用
25、内存空间。SESSIONFACTORY的缓存中HIBERNATE配置信息。OR映射元数据。缓存大重量级对象小轻量级对象3调用SESSIONFACTORY创建SESSION的方法。1、用户自行提供JDBC连接。CONNECTIONCONDATASOURCEGETCONNECTIONSESSIONSSESSIONFACTORYOPENSESSIONCON2、让SESSIONFACTORY提供连接SESSIONSSESSIONFACTORYOPENSESSION4通过SESSION接口提供的各种方法来操纵数据库访问。HIBERNATE的缓存体系。一级缓存SESSION有一个内置的缓存,其中存放了被当
26、前工作单元加载湖南科技大学本科生毕业设计(论文)7的对象。每个SESSION都有自己独立的缓存,且只能被当前工作单元访问。二级缓存SESSIONFACTORY的外置的可插拔的缓存插件。其中的数据可被多个SESSION共享访问。SESSIONFACTORY的内置缓存存放了映射元数据,预定义的SQL语句。HIBERNATE中JAVA对象的状态临时状态TRANSIENT。特征1不处于SESSION缓存中、2数据库中没有对象记录。JAVA如何进入临时状态1通过NEW语句刚创建一个对象时、2当调用SESSION的DELETE方法,从SESSION缓存中删除一个对象时。持久化状态PERSISTED。特征1
27、处于SESSION缓存中、2持久化对象数据库中设有对象记录、3SESSION在特定时刻会保持二者同步。JAVA如何进入持久化状态1SESSION的SAVE把临时持久化状态、2SESSION的LOAD、GET方法返回的对象、3SESSION的FIND返回的LIST集合中存放的对象、4SESSION的UPDATE,SAVEORUPDATE使游离持久化游离状态DETACHED。特征1不再位于SESSION缓存中、2游离对象由持久化状态转变而来,数据库中可能还有对应记录。JAVA如何进入持久化状态游离状态1SESSION的CLOSE方法、2SESSION的EVICT方法,从缓存中删除一个对象,提高性能
28、。所谓HIBERNATE的基本工作原理,换言之,也就是HIBERNATE大体的工作流程。其基本工作流程示意图如23湖南科技大学本科生毕业设计(论文)8图23HIBERNATE工作流程示意图其工作流程如下1实例化CONFIGERATION对象,读取HIBERNATECFGXML文件的配置内容,并根据相关的需求建好表或者和表建立好映射关系2通过实例化的CONFIGERATION对象就可以建立SESSIONFACTORY实例3通过SESSIONFACTORY实例,创建或者打开SESSION对象。4得到SESSION之后,创建事务TRANSATION对象。5进行相关的持久化操作,调用SAVE、SAVE
29、ORUPDATE、DELETE、GET等方法对数据库进行增删改查操作。除了比较复杂的全文搜索外,简单的操作都可以通过HIBERNATE封装好的SESSION内置方法来实现。6提交事务,对数据库数据进行更新,同步HIBERNATE缓存和数据库的记录。7关闭SESSION对象。一旦一个事物执行结束,则关闭SESSION对象。释放内存服务器资源。8关闭SESSTIONFACTORY。SESSIONFACTORY的启动过程是非常耗时间的,所以一般不会在进行每一次数据库操作都把SESSIONFACTORY关闭,这样会严重的影响系统的性能的。系统一般在服务器第一次启动的时候实例化一个SESSIONFACT
30、ORY实例对象并存储到内存中,以后要用到得时候直接从内存中去取就行了。加快系统访问数据库的性能。所以当关闭SESSION对象的时候也就意味着一个数据库操作流程的结束了。湖南科技大学本科生毕业设计(论文)9第三章需求分析31目标定义本系统的开发主要是由于受长沙天鹅泵业股份有限公司的委托,帮忙开发一个机械工业图纸管理系统解,解决图纸凌乱而不好管理的问题,方便长沙天鹅泵业公司管理人员管理机械图纸和工艺卡,同时也方便水泵生产过程中的技术工人,查找机械图纸和工艺卡。由于该公司加工水泵的过程中,先需要一个机械图纸,机械根据图纸上的信息描述来加工水泵的部件。由于水泵型号多,机械图纸设计工程师们工作量也就比较
31、大,设计出来的机械工艺图纸想当多,结果给水泵加工过程造成了一个想当严重的问题。加工过程中,弄不清那个图纸对应哪一个型号的水泵了。或者是加工完某一型号的水泵之后用过了这一型号的图纸之后,隔了一段时间又需要再加工该类型号的水泵时找不到这个型号的图纸了。不得不再次求助于机械工艺图纸设计师重新设计图纸。主要是由于没有一个合适的文件管理工具,才给工艺图纸设计师造成额外的工作。因此,受此重托,我着手开发这个机械工艺图纸管理系统。主要目的有以下几个点1、方便机械工艺图纸的管理,避免造成图纸凌乱不堪,造成找不到机械图纸和工艺的现象,减轻管理员的工作量。2、为水泵加工技术人员提供一个性能优越的,实用且方便的机械
32、图纸和工艺卡下载的平台。3、为图纸设计师们提供一个方便而快捷的图纸上传功能。大大减轻了设计师的工作量。32系统功能需求对于这个图纸管理系统来说,主要是为了实现进行查找图纸,下载图纸,当然只有管理员,系统管理员,具有上传图纸的权限,已经对图纸进行增删查改等功能,对图纸进行管理。还有对工艺卡的查找,增加,删除,修改,上传,下载等功能。所以,本系统将包含如下功能1、用户登录,退出,注册等功能。2、系统用户类别管理功能系统管理员可以添加,修改,删除,查找用户类别等功能。3、系统用户信息管理功能包括修改用户密码,是否将其设定为管理员,湖南科技大学本科生毕业设计(论文)10是否删除该用户,添加新用户等功能
33、。4、权限管理功能系统管理员可以设定每一个用户类别的系统访问权限。包括添加新的权限,删除权限,修改用户类别权限等。本系统默认分以下三种权限(限可以动态添加。(1)、系统管理员系统管理员主要负责本系统的管理,具有所有功能的权限。例如权限管理(其它身份不具有这个权限);(2)、管理员具有对图纸等信息增删改查都功能。;(2)普通会员只具有下载查看图纸的功能。不能在系统中添加,修改,删除图纸信息但是可以修改自己个人信息,如登陆密码,其它个人资料信息等。还可以发布消息。这些权限只是一个默认的值,现场可以根据具体需求以系统管理员身份进入系统动态修改,添加,删除权限。5、用户发布通知的功能用户登录到后台可以
34、看到最新发布的通知。用户也可以发布通知,修改通知,删除通知,查找通知。但是(修改和删除操作,只能增对自己的发布的通知进行操作)。通过这个通知功能,管理员上传新图纸,修改图纸之后,就能方便的通知下大家。6、图纸管理功能系统默认普通用户只能浏览下载图纸的功能,管理员,系统管理员才具有对图纸进行增加图纸,修改图纸信息,删除图纸,上传图纸,下载图纸的功能。7、工艺卡管理功能系统默认普通用户只能浏览下载工艺卡的功能,管理员,系统管理员才具有对工艺卡进行增加工艺卡信息,修改工艺卡信息,删除工艺卡信息及文件,上传工艺卡,下载工艺卡的功能。33可行性研究技术可行性分析STRUTS2、HIBERNATE、JST
35、L、OGNL、AJAX等这些技术都是经过前人无数次试验通过的,就技术层面上来讲,用它们实现一个小型的内容管理系统是搓搓有余的;而类似这种管理系统系统在互联网上已经有过相当多的成功的案例了,所以不论是就技术而言还是就系统本身而言都是具有可行性的。经济可行性分析该小型内容管理系统全程由个人开发,所以不存在支付他人开发费用;只是时间的问题开销问题。而这系统可以给长沙天鹅泵业公司图纸管理带来极大的方便,因此在经济上是具有可行性的。34系统环境要求本系统在WINDOWXP系统上开发。可移植到多种平台上运行。是个跨湖南科技大学本科生毕业设计(论文)11平台的软件,只需要安装JDK15以上版本,MYSQL5
36、数据库TOMCAT或者JBOSS等JSP服务器。开发工具MYECLIPSE75。系统GUI/LOGO辅助设计工具PHOTOSHOPCS5,DREAMWEAVERCS5。服务器至少要双核以上处理器,LINUX或者WINDOWS操作系统。安装了JDK15版本以上,TOMCAT或者JBOSS服务器。系统性能要求必须满足同时在线的系统用户至少能承受300人。300个在线用户对图纸的查找,下载,工艺卡的查找,下载等。湖南科技大学本科生毕业设计(论文)12第四章概要设计41架构设计本机械工艺图纸管理系统采用B/S模式架构。B/S是BROWER/SERVER的缩写,客户机上只要安装一个浏览器(BROWSER
37、),如NETSCAPENAVIGATOR或INTERNETEXPLORER,服务器安装ORACLE、SYBASE、INFORMIX、SQLSERVER或MYSQL等数据库。浏览器通过WEBSERVER同数据库进行数据交互。我们采用基于B/S结构的三层应用模型来实现机械工艺图纸管理系统。目前,在INTERNET应用体系结构中,事物处理被划分为3层,即WEBBROWSERINTERNETSERVERDATABASESERVER。在这种体系结构中,业务的表达通过简单的WEBBROWSER来实现,用户通过WEBBROWSER提交表单,把信息传递给INTERNETSERVER,INTERNETSERVE
38、R根据用户的请求,分析出要求数据库服务器进行的查询,交给数据库服务器去执行,DATABASESERVER把查询的结果反馈给INTERNETSERVER,在由INTERNETSERVER用标准的HTML语言反馈给WEBBROWSER。三层应用模型同传统的C/S(CLIENT/SERVER)模型相比,提高了系统的可扩展性、安全性和可重用性。它将应用逻辑与用户界面和数据访问相剥离,这样便使系统的维护变得简单,同时可以通过采用组件技术,降低数据库服务器的负担,从而提高性能。B/S技术成本较低,一般只需安装、配备在服务器上。在客户机上的工作较少,故降低了开发及管理成本。而C/S的应用不论是安装、配备还是
39、升级,都需要在所有的客户机上实施。B/S技术维护工作主要集中在服务器端,客户端的维护工作量十分少。而C/S结构中客户机和服务器的维护工作量都较大。WEBBROWSER技术简明易用,一旦用户掌握了WEBBROWSER的用法,也就掌握了使用系统上各种信息资源的钥匙。42功能模块设计为了实现机械图纸和工艺卡的上传,下载,保证机械图纸和工艺卡的唯一性。根据需求分析,得出了该系统所需要实现的功能,系统功能模块示意图如图41所示。主要有以下几个功能模块1、用户登录,退出,注册等功能;湖南科技大学本科生毕业设计(论文)132、用户信息管理功能,包括修改用户密码,是否将其设定为管理员,是否删除该用户,添加用户
40、等,查询用户等功能;3、用户类别管理功能,包括添加新的用户类别,修改用户类别,删除用户类别等;4、消息通知的发布功能,用户登录系统后可以查看其他所有用户发布的通知的功能,系统管理员还具有对通知进行删除的功能,其他用户只能删除自己发布的通知的功能;5、权限管理功能功能,系统管理员可以动态的修改用户各个类别的权限的功能,包括添加新的权限,取消,查看某个类别的权限等功能;6、图纸类别管理员功能。管理员,系统管理员可以增加机械图纸类别信息,修改机械图纸类别信息,删除机械图纸类别信息等;当图纸类别存在子目录的时候不能进行删除操作;7、机械图纸管理功能,管理员,系统管理员可以增加机械图纸信息,修改机械图纸
41、信息,删除机械图纸信息,上传机械图纸,下载机械图纸等功能;8、机械工艺卡管理功能,管理员,系统管理员可以增加机械工艺卡信息,修改机械工艺卡信息,删除机械工艺卡信息,上传工艺卡,下载机械工艺卡等功能;机械工艺图纸管理系统图纸信息管理模块工艺卡信息管模块图纸类别管理模块用户管理管理模块用户类别管理模块权限管理模块通知信息管理模块注册登录模块图41机械工艺图纸管理系统功能模块示意图湖南科技大学本科生毕业设计(论文)1443数据结构设计431图数据库设计规范在概念设计中,通常用四种方法自顶向下首先定义全局概念结构的框架,然后逐步细化;自底向上首先定义各局部应用的概念结构,然后将他们集成起来,得到全局概
42、念结构;逐步扩张首先定义最核心的概念结构,然后向外扩充,直至总体概念结构;混合策略即自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念。结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构在物理结构设计阶段首先分两步走确定数据库的物理结构,在关系数据库中主要是指存取方法和存储结构。对物理结构的评价是时间和空间效率选取正确的关系模式存取方法,常用的有存取索引方法。聚簇存取。HASH存取方法等。432ER关系图设计ER完整实体图如(图42)图42ER完整实体图湖南科技大学本科生毕业设计(论文)15433ER图补充信息实体,主要属性有ID、消息标题、消息内容、消息发布人ID、修改时间
43、、发布时间。实体图如(图43)图43信息实体图纸类别实体,主要属性有类别ID、类别名称;类别描述。实体图如(图44)图44图纸类别实体图纸信息实体,主要属性有图纸ID、图纸设计者、修改时间、图纸类别ID、图纸编号、图纸名、排序、图纸描述、图纸路径。实体图如(图45)图45图纸信息实体工艺卡实体,如图46工艺卡实体图,主要属性有工艺卡ID、产品型号、产品名称、工艺卡类别、工艺类别、零件号、零件名称、总页数、页序号、存储路径、工艺卡描述、材料牌号。湖南科技大学本科生毕业设计(论文)16图46工艺卡实体权限控制实体,主要属性ID、控制路径、角色ID、角色描述。实体图如图47所示。图47角色实体,主要
44、属性有ID、角色名、角色描述。实体图如(图48)图48权限控制实体用户信息实体,主要属性有用户ID、年龄、工号、登陆密码、职位、等级、真实姓名、登陆名、角色ID。实体图如(图49)图49用户信息实体湖南科技大学本科生毕业设计(论文)17433数据库表设计INFOTABLE用来存储信息的表。INFOTABLE表MAPCATETABLE表用来存储工艺图纸类别的表图纸类别的表。MAPCATETABLE表MAPINFOTABLE表用来存储工艺图纸信息的表。MAPINFOTABLE表OPERCARDTABLE表用来存储工艺卡的表。OPERCARDTABLE表湖南科技大学本科生毕业设计(论文)18PERM
45、ISSIONTABLE表用来存储权限的表。PERMISSIONTABLE表ROLETABLE表,用来存储角信息的表。ROLETABLE表USERTABLE表,用来存储用户信息的表。USERTABLE表湖南科技大学本科生毕业设计(论文)19第五章详细设计51系统配置511应用层配置本机械工艺图纸管理系统采用目前流行的STRUTS2框架进行开发。先来看看STRUTS2框架是如何配置到应用程序中的。在WEBINF/WEBXML文件的配置如下STRUTS2ORGAPACHESTRUTS2DISPATCHERNGFILTERSTRUTSPREPAREANDEXECUTEFILTERSTRUTS2/当加入
46、这个配置到WEBXML文件之后,在浏览器中敲入的访系统的所有请求路径都会经过ORGAPACHESTRUTS2DISPATCHERNGFILTERSTRUTSPREPAREANDEXECUTEFILTER这个FILTER进行过滤。由这个过滤器进行转发相应的请求,进入STRUTS2的工作流程中。这就是算是把STRUTS2框架配置到程序中了。在WEBROOTWEBINFCLASSESSTRUTSXML文件中的配置如下湖南科技大学本科生毕业设计(论文)20/ERRORJSP/LOGINJSP/WEBINF/INDEXJSP其中STRUTSDEVMODE配置开发模式常量,值为TRUE,说明是开发模式,当
47、为TRUE时,在开发的过程中,一旦修改某个文件会自动的编译到TOMCAT的目录下的。不必手工编译。方便开发的工作;STRUTSMULTIPARTMAXSIZE常量用来配置控制上传文件的大小的,单位是BYTE;配置权限控制访问包,但请求访问需要需要受权限控制时继承个包就可以了,就会经过这个自定义拦截器;引入其他配置文件,为了防止配置文件的臃肿,一般都把每个模块写的配置信息写到一个独立的XML文件中,方便团队开发过程中修改。在其他配置文件中配置了各个请求的访问路径及对用的处理控制器(ACTION)。下面是WEBROOTWEBINFCLASSESMAPINFOXML文件的配置情况湖南科技大学本科生毕
48、业设计(论文)21/WEBINF/MAPINFO/LISTJSP/WEBINF/MAPINFO/LISTJSP/WEBINF/MAPINFO/TOADDJSPMAPINFO_LIST/WEBINF/MAPINFO/TOMODIFYJSP/WEBINF/MAPINFO/LISTJSPMAPINFO_LIST其中在这个文件中配置了图纸管理模块的一些操作所对应的请求处理方法。CLASS属性表示请求所对应的处理类,METHOD属性表示请求所对应的处理方法,RESULT表示请求的跳转页面。湖南科技大学本科生毕业设计(论文)22512数据库连接配置服务器端程序采用HIBERNATE框架来访问数据库以下是H
49、IBERNATE连接数据库的配置文件,该配置是针对SESSIONFACTORY配置的,SESSIONFACTORY是HIBERNATE中的一个类,这个类主要负责保存HIBERNATE的配置信息,以及对SESSION的操作。COMMYSQLJDBCDRIVERJDBCMYSQL/LOCALHOST3306/TIANEPUMPROOTROOTORGHIBERNATEDIALECTMYSQLDIALECTUPDATEFALSE配置说明HIBERNATECONNECTIONDRIVER_CLASS用来指定数据库的驱动类。由于数据库种类繁多,有ORACLE,SQLSERVER系列,DB2,MYSQL等。SUN公司不可能提供一个统一的驱动类,驱动所有的数据库厂商提供的数据,因为各个数据库是有差异的。只能提供一个统一的JDBC连接数据库的驱动的标准接口,每个数据库厂商都需要提供一个实现该标准的驱动类。在这里就可以配置各个厂商提供的数据库驱动类,从而能个访问指定的数据库。HIBERNATECONNECTIONURL用来配置数据库的地址,格式湖南科技大学本科生毕业设计(论文)23JDBCSQLSERVER/DATABASENAME。HIBERNATECONNECTIONUSERNAME用来指定连接数据库的用户名。HIBERNATECONNECTIONP