配色: 字号:
基于J2EE的机械图文档管理系统的研究与实现
2012-09-20 | 阅:  转:  |  分享 
  
基于J2EE的机械图文档管理系统的研究与实现

本文分析了制造业企业产品项目开发对图文档管理的需求,采用J2EE技术规范和多层Web应用程序结构,开发其管理系统,有较好的可扩充性和可维护性。阐述了如何利用J2EE进行系统设计的过程。通过实例,重点介绍了系统的逻辑分离思路及各逻辑层实现的方法。

随着CAD/CAM技术的推广与应用,目前国内大多数制造企业已经实现了产品设计的数字化,计算机出图率达到了100%,机械图文档成了制造企业生产活动的重要技术资料。但很多企业的信息化程度还比较低,对于大量的图文档和数据资料,没有进行有效的集中控制和管理,造成了文档查询不便、共享度低、保密性差、文档易流失等问题,间接的影响了企业的效益。因此,开发机械图文档管理系统,有效地组织管理产品项目过程中所产生的各类图文档与数据,是加强产品设计制造流程控制提高产品开发效率的重要途径。

传统的图文档管理软件主要偏重于与CAD系统的集成,因而大多数采用C/S架构。由于C/S架构模式的软件存在系统访问不够方便、维护成本高等问题,随着Web技术的发展,采用B/S架构开发图文档管理系统正日益成为研究热点和企业的首选。

1系统架构

本文采用J2EE技术架构作为系统开发的技术标准。J2EE是美国Sun公司推出的一种Web应用程序模型,它提供了一种基于组件的方法对企业级应用系统进行设计、开发、装配和部署。本系统采用J2EE的多层Web应用程序结构,如图1所示,并结合MVC模式,将表示逻辑、控制逻辑与业务逻辑分离。

点击图片查看大图



图1多层Web应用程序结构

2系统分析设计

2.1系统功能需求分析

机械图文档管理系统的用户有三类:系统管理员、项目经理、项目成员。系统管理员维护整个系统信息,进行系统初始化、项目经理帐号分配、日常数据备份等。项目经理负责项目信息和成员的配置,并创建项目流程和进行任务分配。项目成员通过与系统的交互,根据项目经理或流程上一步操作者分配或传达的任务进行工作,创建、修订或审核相应的图文档。

项目流程每个环节的处理及文档的操作都受帐号权限的控制,项目成员只能查询和操作自己任务所涉及的图文档。项目经理具有访问其项目所有文档和数据信息的权限,此外,还可以创建、删除、修改、查询、关闭项目、配置项目成员及对图文档的操作进行授权。项目一旦完成被关闭,其所有的图文档也一起被关闭,项目成员不能再创建和修改该项目的图文档,但项目经理可以访问并可以授权成员访问,以便文档资源的重用共享。

2.2系统设计

2.2.1代码方案设计

代码是表征客观存在的实体或属性的一个计算机可识别和处理的符号。本系统涉及的对象有项目、用户、流程、流程节点、任务、图文档等。数据具有分类多并量大等特点,为了能在计算机系统中有效的标识和管理它们,好的代码设计方案是系统实现的关键。根据代码设计的唯一化、规范化、系统化等原则,同时,考虑数据查询效率及编程方便,设计了项目、用户、流程、流程节点、任务、图文档等对象的代码。以图文档代码为例,其采用区间码,设计如下:

图文档代码=所属项目编号+图文档类型+顺序码+版本号。如P0001D020001A,表示P0001项目下,文件类型为02(.dwg文件)的第0001文档,版本号为A,其中,版本号=[A1B1C1…1Z]。

2.2.2系统模块结构设计

根据系统功能需求,将系统模块结构组织为:系统管理、项目管理、项目成员管理、流程管理、任务管理和图文档管理。其中,系统管理包括系统初始化、项目经理帐号配置、数据备份、系统登录模块。项目管理包括项目创建、查询、修改和关闭模块。项目成员管理包括成员创建、配置、删除、角色配置、授权模块。流程管理实现项目工作流配置和控制,包括流程创建、节点配置、启动、变更、关闭等模块。任务管理实现项目工作流程上各环节任务的分配和控制,以个人任务箱的方式实现,包括任务配置、通知、状态查看、提醒、提交等模块。图文档管理包括文档的上传、下载、修改、删除、查询及访问控制等模块。

2.2.3数据库结构设计

本系统设计的关系模式符合3NF规范,合理的存储了系统涉及的数据信息。包括:User(帐号信息)、Role(角色信息)、Project(项目信息)、Flow(流程信息)、FlowNode(流程节点信息)、Document(文档信息)、Assignment(任务信息)。

3系统实现

系统采用J2EE的多层Web应用程序结构,表示逻辑和控制逻辑实现于JSP页面,业务逻辑封装成JavaBean组件,实现逻辑的分离,便于系统的开发和维护。系统用Dreamweaver、Photoshop进行Web页面的界面设计和图像处理,实现表示逻辑,用Sun公司的NetBeans集成开发工具进行负责控制逻辑的JSP程序编写和JavaBean组件开发,将页面和组件部署到Tomcat服务器中,数据库服务器使用SQLServer。用户在客户端使用浏览器访问系统。

3.1表示逻辑层实现

表示逻辑层实现了用户界面及用户与系统的交互,本系统的表示逻辑体现为Web页面,如输入表单的显示,动态内容的输出,页面静态信息的显示等。对于一些输入判断,如登录密码长度,日期格式,必选项是否已选等,使用JavaScript进行客户端编程实现。

3.2控制逻辑层实现

系统的控制逻辑主要由JSP程序实现,负责表示逻辑层和业务逻辑层之间的控制关系。它接收表示逻辑层的客户请求或处理要求,调用业务逻辑层的JavaBean完成具体的事务处理,将结果反馈给客户。以下以配置项目成员为例,阐述其控制逻辑的实现。

项目经理即www.huisheliren.com用户登录,从自己所负责的项目列表中选择要配置成员的项目,进入项目成员配置ProMemberconfig.jsp页面,如图2所示。该页面的控制逻辑利用request.getParameter(“Pid”)方法获取上一页面中用户所选择的项目信息,调用名为Project的JavaBean的MemberQuery方法,从数据库中查询得到该项目已有的成员信息,输出到页面的“现有项目成员”列表框中。并调用名为User的JavaBean的Querr方法,获取整个系统所有的用户信息,剔除当前已加入该项目的用户,将这些用户信息输出到页面的“可供添加人员”列表框中。如果系统没有建立要配置的用户信息,则用户可点击“添加项目成员”进入UserAdd.jsp页面,创建新用户。用户从该页面列表框中添加或删除项目成员,由页面的JavaScript程序在客户端实现。用户选择好成员后,点击确定按钮,由ProMemberConfigRsp.jsp进行相应处理,调用名为Project的JavaBean的MemberAdd方法,将项目成员信息存储到数据库,并使用respons.sendRedirect(“ProMemberConfig.jsp”)重定向到项目成员配置页面,显示当前项目成员信息。

点击图片查看大图



图2项目成员配置页面

3.3业务逻辑层实现

采用面向对象的方法,将系统问题域中的对象抽象成类,设计成JavaBean,将对象的操作和服务封装在JavaBean中,为控制逻辑层调用。本系统从问题域对象的角度抽象设计的JavaBean有User、Project、Flow、FlowNode、Document、Assignment。此外,还增加了封装数据库操作的DataBaseJavaBean,以及下载和重用了第三方提供的一些开源JavaBean,如实现加密算法的md5组件,和实现文件上传的SmartUpload组件。

4结束语

本系统采用J2EE的多层Web应用程序结构,将表示逻辑、控制逻辑和业务逻辑分离,有利于系统的开发、维护及代码的共享重用。该系统对中小制造业企业普遍适用,企业能根据自身产品开发的特点定制项目流程和流程节点,对项目过程的图文档和数据进行管理。使用该系统有利于提高企业产品图文档及数据管理效率,对产品项目开发过程进行全面控制与管理,为产品开发人员提供初步的协同设计环境。



献花(0)
+1
(本文系醉似寂寞首藏)