随着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,其中,版本号=[A1B1CI…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服务器中,数据库服务器使用SQL Server。用户在客户端使用浏览器访问系统。
3.1 表示逻辑层实现
表示逻辑层实现了用户界面及用户与系统的交互,本系统的表示逻辑体现为Web页面,如输入表单的显示,动态内容的输出,页面静态信息的显示等。对于一些输入判断,如登录密码长度,日期格式,必选项是否已选等,使用JavaScript进行客户端编程实现。
3.2 控制逻辑层实现
系统的控制逻辑主要由JSP程序实现,负责表示逻辑层和业务逻辑层之间的控制关系。它接收表示逻辑层的客户请求或处理要求,调用业务逻辑层的JavaBean完成具体的事务处理,将结果反馈给客户。以下以配置项目成员为例,阐述其控制逻辑的实现。
项目经理即用户登录,从自己所负责的项目列表中选择要配置成员的项目,进入项目成员配置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。此外,还增加了封装数据库操作的DataBase JavaBean,以及下载和重用了第三方提供的一些开源JavaBean,如实现加密算法的md5组件,和实现文件上传的SmartUplOAd组件。
4 结束语
本系统采用J2EE的多层Web应用程序结构,将表示逻辑、控制逻辑和业务逻辑分离,有利于系统的开发、维护及代码的共享重用。该系统对中小制造业企业普遍适用,企业能根据自身产品开发的特点定制项目流程和流程节点,对项目过程的图文档和数据进行管理。使用该系统有利于提高企业产品图文档及数据管理效率,对产品项目开发过程进行全面控制与管理,为产品开发人员提供初步的协同设计环境。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/