服装企业 PLM 系统分析与设计

发布时间:18-06-25

服装企业 PLM 系统分析与设计

    根据温州某服装企业的实际需求,设计了系统的整体框架并给出框架图,并且对系统中各个功能模块做了详细设计。此外,还对图文档管理子系统、工作流管理子系统、系统权限管理和数据库四大重要部分作了设计。
 
1.1 PLM 系统功能模块详细设计
    从温州某企业的实际情况,对其基于 Web 的服装企业PLM 系统中的数据可分为静态数据管理和动态数据管理两个部分。其中静态数据可以用图文档管理子系统进行管理,而动态数据可以用工作流管理子系统进行管理。PLM 系统框架图如下图 3.1 所示。

1.1.1 图文档管理子系统
1.1.1.1 系统管理
    系统管理主要包括:权限管理、安全策略、在线用户、用户密码、日志管理等,其中权限管理又包括系统权限管理和权限规则定义。如图 3.2 所示。

1. 权限管理
    权限管理包括系统权限管理和权限规则的定义。系统权限管理的主要功能是授予企业的各部门、组织角色用户相应的系统操作的权限,并可以设置权限的有效期限。权限规则定义具有实现新建规则、启用规则的功能。
2. 安全策略
    安全策略主要功能是对 IP 的访问规则和用户的密码配置等功能。IP 访问规则进行设定,如允许所有或者部分或者自定义的 IP 有访问的权限。用户的密码配置可以设置密码的长度、有效时间、定义密码的规范等。
3. 在线用户
    在线用户的功能主要是显示在线新用户。如显示出用户的 ID、登录时间、IP 等。
4. 用户密码
    用户密码的功能就是登录用户用以设定自己的使用密码。可以对原密码进行修改、删除;该密码不允许在一年内重复,密码不能少于 1 位;新设置的密码将在很大一段时间后到期,系统会自动删除它。                   
5. 日志管理
    PLM 提供的系统日志管理功能主要记录哪位用户、在什么时候、对哪些产品数据进行了何种操作,并将这些记录作为历史数据保存在 PLM 数据库中,以供追溯和审计用。为系统管理人员提供一个监控系统运行情况的完整工具。可以将日志文件导出保存。系统日志文件是自动生成的,且对用户是透明的。日志管理包括如下功能:
    ◆ 日志记录:记录对产品数据的所有操作,记录的信息项包括谁、什么时候(年月日时分)、对什么数据(类型和编号)进行了何种操作;
    ◆ 日志查询:根据时间段查询日志记录;
    ◆ 日志导出:能够将过去的日志保存到文件中,防止数据库中日志内容过多影响速度。
    ◆ 日志文件浏览:打开过去导出的日志文件,进行浏览查询。  

3.1.1.2 企业建模
    基于第二章“2.1.4”PLM 系统主要功能需求中对企业建模模块的功能要求;本小节对其做相应设计。
 
    该功能可以灵活定义服装企业个性化的企业环境。通过在其它业务类似企业的成功实施,PLM 提炼出了一系列方便、实用的客户化建模定制工具,它以图示化的界面在不需要编程的基础上让实施人员能够很方便地将企业的各种个性化信息定义到 PLM 系统中,这些工具包括:属性集管理、电子数据仓管理、企业词汇管理、计量单位管理、参数管理、工程更改\发放单管理、对象类型属性控制、类型管理。如图 3.3 所示。

1. 属性集管理
    属性集管理:定义数据对象(文档和零部件)的管理属性,如企业零件包括代号、名称、材料等属性,PLM 系统能对这些属性进行管理,并提供数据对象的个性化管理,如分类、检索等。主要功能包括:
    ◆ 新建、删除属性集
    ◆ 新建、删除、修改属性项

2. 电子数据仓管理
    电子数据仓是存放电子文档的地方,PLM 的电子数据仓支持 ftp 和 http 的方式,通过电子数据仓管理,PLM 系统将会把企业的电子文档通过特有的压缩加密的算法将电子文件上传到对应的数据仓进行统一管理。主要功能包括:
    ◆ 添加、修改、删除电子数据仓

3. 企业词汇管理
    企业词汇管理,又叫枚举类型管理,主要管理企业所用到的枚举数值类型。在 PLM 中,企业词汇所允许使用类型包括字符型、数值型、日期型和浮点型。其中数值型指的是整型。企业词汇是对企业某项产品参数取值的规范化,特别是该参数的取值是有限个且可以被枚举出来的情况下,可以通过企业词汇管理将该参数的所有可能取值枚举出来以供用户使用的时候进行选择,避免用户的随意输入。

4. 计量单位管理
    计量单位管理主要有计量单位进行增、删、改等功能。如对计量单位的名称、符号等进行设定。计量单位管理应该包括计量单位名称、符号、备注三个数据项。                    

5. 参数管理
    参数管理主要的功能是对文档、项目、组织部门、零部件等所具有的参数进行管理。例如文档和零件,这些对象都具有生命周期。系统通过把这些对象划分为不同的生命周期状态,分阶段进行管理,以实现对这些对象的全生命周期管理。对象生命周期的设定报括生命周期状态的设定、生命周期类型的设定。主要功能包括:
    ◆ 新建、修改、删除参数

6. 工程更改/发放单管理
    企业在业务处理过程中,会涉及到多种类型的变更单,因此对变更单应该创建并分类管理。企业的每一种变更单类型都关联一个流程模板,并可以把该类型的变更单授权给一定的组织、角色、用户。当有权限的用户创建完毕变更单,就可以启动关联的工作流程模板,系统自动实例化该流程模板,完成变更单的发放。
    工程更改/发放单管理主要功能包括:新建工程更改/发放单,查询工程更改/发放单两项。创建工程变更/发放单包括基本信息、关联文档、相关描述三项;基本信息有变更单代号、创建人、BOM 类型、保密级别、变更类型等。 工程变更/发放单清单主要功能包括查看、新建、编辑、删除、启动变更、流程状态、授权。基本信息包括 ECN 代码、BOM 类型、变更类型、创建者、变更发起人、生效状态等。
 
7. 对象类型属性控制
    不同的文档类型有不同的属性集。在一般情况下,并不是所有的用户都需要文档类型的全部属性项。因此,系统管理员通过文档类型属性控制功能,可以对文档类型的生命周期状态权限和属性项权限进行控制,并把用户需要的属性项权限授予用户,那么该用户登录系统后,在进行此类文档类型操作时,只能查看或修改被授予权限的属性项。

8. 类型管理
    通过类型管理,可以对各类文档、项目、任务等类型进行管理。主要功能包括:
    ◆ 新建、删除类型
    ◆ 编辑类型
    ◆ 绑定属性
    ◆ 授权

3.1.1.3 文档管理
    PLM 文档管理可以管理各种类型的电子文档,如 CAD 图纸、三维模型文件、Word 文档、Excel 文档等。如图 3.4 所示。

    文档管理最基本要求是确保技术数据的完整性、正确性、时效性、可追溯性以及权威性。主要功能包括:
    ◆ 新建文档,可以通过新建或导入的方式新建文档。文档代号是唯一标示不允许重名。通常可以是图纸上的零件号。
    ◆ 删除文档,权限足够的情况下可以删除文档。
    ◆ 更改文档,文档更改包括文档属性的更改和文档电子文件的更改。只有有未生效版本的文档才能进行更改,生效的版本的文档相当于入库了,是不能被更改的。文档版本生效必须走文档审批流程或文档变更流程。
    ◆ 文档版本控制,管理文档的变更过程和历史,完整记录图文档的演变记录。
    ◆ 文档文件预览、输出,对于有权限的用户可以预览文档对应的电子文件,或者将电子文件输出到本地。
    ◆ 新建、删除文档结构,支持对文档间定义关联关系,包括结构关系和引用关系。
    ◆ 设置文档对象权限,参看系统管理中的对象权限。
    ◆ 文档查询,可以很灵活的根据文档定义的属性设置条件,提高检索效 率,文档查询支持模糊查询,条件可以保存。

3.1.1.4 机构管理
    机构管理可以对 PLM 系统的用户、角色、组织进行管理,对各种对象进行创建、修改、删除等操作。如图 3.5 所示。

    组织机构是企业实现业务操作的基础保障。承担整个系统的身份验证功能。
1. 用户管理
    用户管理的主要功能有新建用户、修改用户资料、启用或停用用户、删除用户以及将用户加入或移出用户组,根据关键词查询用户等。
2. 用户组管理
    用户组管理的主要功能:有对用户组进行管理,包括查询用户组、创建用户组、更改用户组、启用停用用户组、删除用户组等。
3. 角色管理
    角色管理的主要功能有创建角色、更新角色、启用/停用角色、删除角色、查询角色等。还可以添加一个查询功能,主要用来根据关键字来查询各个角色。
4. 组织管理
    组织机构具有名称、级别、说明、状态四项属性。组织管理的主要功能有新建、添加组织,对组织中的角色进行新建、删除、定义和权限设定,可以启用\停用组织等。

3.1.2 工作流管理子系统
3.1.2.1 我的工作台
    我的工作台主要包括个人工作区和我的流程任务。如图 3.6 所示。

1. 个人工作区
    个人工作区的主要功能是对个人上传文档的管理,可以进行文件夹的新建、删除、重命名;文件夹进行分类;个人上次文档的浏览、编辑、删除等操作。
2. 我的流程任务
    我的流程任务的主要功能有接受系统中委派给个人的业务、查看任务、查看对象、进行任务和工作指派、导出任务、工作委派、输出到 Excel 等。菜单选项包括选择、任务名称、接受状态、业务对象类、业务对象、开始日期、截止日期等。

3.1.2.2 流程管理
    开发过程管理的目的是为产品开发人员提供协同的产品开发环境,它提高服装企业产品开发效率、保证产品开发质量、保证产品数据正确性和一致性的有效手段。PLM 通过工作流程管理和变更管理(ECN)实现图纸的审批和变更过程管理。工作流模板可以定义服装企业的现有业务逻辑,流程任务管理可以实现企业的业务逻辑,以任务的方式来驱动完成。工作流管理包括工作流模板管理、生命周期模板管理、流程任务管理、流程实例管理。工作流支持编程、支持自定义控件,为企业的任务界面和流程的实现提供了很大的灵活性。通过工作流管理可以实现一般的文档审批、文档变更的过程管理,还能实现会签、投票等流程。

1. 工作流模板定义
    工作流模板用来定义服装企业的审批流程和变更流程以及其他业务流程。工作流模板定义,能以图形的方式定义流程模板,支持自定义路由、自定义活动名称、自定义活动执行人(可按用户、角色)。其中活动节点为实例后生成流程任务。模板启用后才能被实例化(即启动流程);启用的模板如需要修改,修改后是不会影响已经实例化的流程。主要功能包括:
    ◆ 新建、编辑、删除流程模板
    ◆ 绘制工作流模板
    ◆ 启用停用流程模板
    ◆ 导入、导出流程模板
    ◆ 流程模板的版本管理

2. 生命周期模板管理
    生命周期管理为文档、零部件等定义生命周期状态。同时生命周期会关联一个工作流模板。文档在启动流程实现审批时就会根据文档类型对应的生命周期的工作流模板来实例化一个流程。主要功能包括:
    ◆ 新建、修改、删除生命周期
    ◆ 设置生命周期包含的状态
    ◆ 导入,导出生命周期

3. 流程任务管理
    流程任务管理包括了我的工作表、任务查询、任务执行等功能。服装企业的普通用户可以使用我的工作台界面查看当前有些什么样的任务需要完成;系统管理员或项目经理可以通过任务查询界面查询其他人员的任务完成情况;用户可以通过任务执行界面是查看或完成任务,打开任务对应的文档查看流程实例。

    考虑到实际使用的一些中的特殊情况,任务管理中还提供了任务指派和工作委派的功能,实现把能把某个人的任务分派给其他人。这样能处理任务执行人如果出差或任务过多时影响其它任务的完成的情况。功能主要包括:
    ◆ 查看我的工作表
    ◆ 任务查询
    ◆ 任务的委派
    ◆ 任务的指派
    ◆ 任务执行

4. 流程实例管理
    流程实例管理为系统管理员提供了对当前正在运行的流程的查询和监控的功能。系统管理员可以根据当前的实际情况将流程终止、暂停等操作。主要功能包括:
    ◆ 查询进程
    ◆ 进程实例查看
    ◆ 进程实例控制

5. 审批流程管理
    服装企业的审批流程可以通过 PLM 的工作流管理来实现。PLM 可根据各分公司的文档审批流程建立对应的文档审批流程模板,如企业文档审批模板;然后定义文档生命周期,并关联该模板;再定义设计文档类型等文档类型,生命周期选择文档生命周期。那么设计文档类型的文档在启动流程的时候就会按照企业文档审批模板启动流程;对应的活动就会分配任务给每个活动的执行人完成任务实现审批流程。主要功能包括:
    ◆ 文档启动审批流程
    ◆ 审批、校对、批准等任务执行

3.1.2.3 工程更改\发放单管理
    通过 PLM 系统中的变更管理(ECN)和流程管理来实现。PLM 的变更管理根据 ECN 类型关联不同的变更流程。需要发生工程变更时。由相关人员创建 ECN 单,把需要变更的文档零部件添加到 ECN 单中,然后启动流程。进行评估、变更、验证、确认、发布的变更流程。主要功能包括:
    ◆ ECN 类型管理
    ◆ 创建 ECN 单
    ◆ 变更过程管理

3.2 图文档管理分析和设计
    PLM 系统的图文档管理是产品整个生命周期中的静态数据的管理,包括系统管理信息、企业建模信息、机构管理信息和文档管理信息;所有这些信息都按照一定的格式存放在企业的服务器上,如何将这些异构数据管理起来,使 PLM 系统的使用者能方便、快速地存取自己所需要的数据,对 PLM 系统来说是意义重大。

3.2.1 图文档管理子系统的体系结构
    根据系统 B/S 的开发模式,图文档管理体系机构分为三层,如下图 3.7 所示。对企业的如实考察,主要有设计部、工艺工程部、生产部、客服部、后勤部、销售部、项目主管和总经理室对系统的静态数据使用频率比较高。在用户层中,用户可以通过Internet/Intranet 网络登录到系统中,并要遵循网络协议(用户认证)对应用层进行操作和控制。

    系统交互界面会到用户层的服务请求转化为数据流,传送到应用层进行处理;在应用层中,主要处理用户发过来的请求,系统会根据用户的权限来对系统中的相应数据做操作,比如检出、检入、检索等操作;系统中的数据主要包括设计图文档信息、工艺图文档信息、生产图文档信息、后勤图文档信息、销售图文档信息、技术图文档信息、系统管理信息、机构管理信息和项目管理信息;在数据层中,数据库和应用服务器,存储和管理 PLM 系统中的所有数据。

3.2.2 图文档管理子系统的存储原理
    PLM 系统中的静态数据主要包括设计任务书、设计规范、二维图纸、三维模型、设计技术文件、各种工艺数据文件、制造资源文件、合同文书等,各种文档类型繁多,为了便于管理必须把图文档按照一定的规则存放和管理。在文件存放时,有所存放的文件夹名称、文件名称和创建时间等信息来确定这个文档。

    PLM 系统通过建立自己的存放图文档数据的规则来实现系统对文档的管理要求。本系统的图文档是可以被查询和浏览的,所以资料对用户来说是透明的,操作者无需知道文件在哪里就可以看到和浏览自己想要的文档;图文档在存入服务器时,把图文档放入各自规则的文件夹里,只有超级管理员赋予使用者相应的权限,使用者才可以对图文档进行相应的操作。本系统通过自己的存放原则和传输规则自动地将图文档数据放在系统指定的位置;文档的传输主要有两块:文档的“上传”和“下载”,其原理是一样的。

3.2.3 图文档管理子系统的实现
    PLM 系统的图文档管理是以“电子仓库” 原理为基础来对图文档进行管理。所谓“电子仓库”,是在 PLM 系统中实现某种特定数据存储机制的元数据库及其管理系统;它把Oracle 数据库与图文档信息连接起来,通过指针把物理文件、物理数据与元数据进行关联,实现对图文档的有效管理。图文档信息主要有“元数据”和“物理文档”两部分构成;元数据就是描述图文档的一些基本信息,包括名称、类型、所有者、创建日期等;物理文档是存放在服务器上的图文档,包括 Word 文本文档、AutoCAD 图档等资料。

    PLM 系统的图文档管理实现了分布式管理;所谓分布式电子仓库,具有文件系统分布与电子仓库之间互连的特点,同一电子仓库可以对应多个分布在不同计算机上的文件系统和目录;同一物理数据库可以对应多个不同的电子仓库,并且他们之间的元数据共享。由于服装企业图文档种类繁多,为了便于管理,对图文档进行分类管理。当工作人员登录后,根据自己享有的权限,对个数据进行检入、检出、修改和删除等操作;系统会把各个类型的数据放入相应的系统和目录中,各个操作都在各自的目录下实现。

1. 图文档检入
    图文档检入对操作人员来说就是文件上传。在 Web 客户端,操作人员选定检入得图文档后,图文档从客户端上传到服务器,再从服务器通过流保存到应用服务器的电子仓库中,并将图文档的基本信息写入数据库。图文档上传使用 JSP 的控件 JspSmartUpload来实现;当操作者提交 Form 表单时,服务器就会调用 JspSmartUpload 控件来完成图文档的上传。

    在温州某服装企业中,对信息分类编码标准划分有自己的规则,在对文档名称重复的可能性很低,所以不考虑文档重命名事项;在文档上传时,考虑到版本号,因为对有些文档更新比较快,有可能在上面存在不同版本的相同文档,所以用版本号来划分;文档上传的过程如下图 3.8 所示。

    当用户登录系统后,上传图文档时,系统会自动提取文档名称,然后通过 From 的提交来实现图文档上传;文档上传的步骤:读取图文档,系统会自动校核是否存在过相同版本的图文档,若有就获取最新版本号并且加 1,然后做存储;在文档存储时,由于文档种类繁多并数量很大,所以要分文件夹来管理;在文件类型和文件保存的具体路径选好后,点击确定,控件 JspSmartUpload 的 myFile.saveAs()方法会把图文档图文档就能上传到数据库;接着要判断是否上传成功;若成功的话,就在数据库中写入元数据;若不成功的话,文档就需要重新走流程。  

2. 图文档检出
    图文档的检出其实质就是图文档的下载 。图文档的下载也是使用控件JspSmartUpload 来实现的,其内建方法有 downloadFile()是实现文件下载的,sourceFilePathName()方法是指定要下载文件的文件名的,还有 destFileName 方法、contentType 方法等。用户要下载图文档,只要在页面上给出文档名或者存储路径,就能实现图文档的下载功能;系统对图文档的下载功能是有限制的,只有拥有权限的项目工作人员才可以对其文档下载,提高资料的保密性和安全性。

3. 图文档查询
    图文档查询功能在 PLM 系统中是非常重要的部分;在服装企业中,各个项目的工艺单、设计图纸、规格表等文档数量很多,在使用和维护上都存在一些难度,而 PLM 系统为企业提供了一个完整的、方便和快捷地查找功能。通过文档查询功能能够快捷便利地查询文档,使产品开发阶段效率提升,加快产品的形成速度。跟传统的人工查询来比较,可以大大地减少查询的工作量,明显提高了工作效率。在实际地操作上,用户可直接通过图形界面等导航方式直接查找文档,很方便并且大大地减少了工作量。

    在企业中,PLM 系统图文档查询步骤如图 3.9 所示;用户登录图形界面后,首先要选择查询方式,查询方式主要有两种是精确查询和模糊查询;这样设计是考虑到有些工作人员忘记了文档名称,照样可以通过模糊查询来找到目标文档;精确查询就是准确地查询文档名称(系统中文档名称都是唯一的),模糊查询包括查询文档创建时间和查询文档启动人;在查询出来的结果中进行排序,便于合理地查看,一般都是根据优先级、创建时间和完成时间来完成排序。最后,把查询的结果返回到用户界面上,供用户查看和使用。

4. 图文档修改
    图文档修改在 PLM 系统中也是非常重要的一个功能;在企业中,文档更改包括文档属性的更改和文档电子文件的更改,只有在未生效版本的文档才能进行更改,生效的版本的图文档相当于归档入库了,是不能随便更改的,必须要走审批流程,才可以进行有效的更改。

    文档属性的更改就是文档元数据修改,包括图文档编号、状态、文档名称、扩展名、类型、创建日期、版本号、启动人以及存储路径等;在元数据中也有部分是不能修改的,只是对部分的元数据可以进行修改,比如文档名称、扩展名、创建日期和类型等。当用户成功修改元数据后,会即时的更改数据库中的记录,提交到数据库中。文档电子文件的更改实质上就是对物理文档修改,物理文档的修改需要经历检出文档、打开并修改文档、保存文档和检入文档这几个阶段,通过这种方法可以做到对物理文件的修改。

5. 图文档删除
    服装 PLM 系统里数据是非常庞大的,所有的图文档都是存在服务器上,冗余的数据过多会导致系统运行速度减慢,所以要定期地对这些数据做删除处理。 数据删除包括物理图文档删除和元数据删除,只有在删除物理图文档的同时把相关联的元数据也给删除,才能保证系统无冗余数据、删除干净。图文档删除包括两种删除方式,分别是单项删除和批量删除;顾名思义,单项删除就是删除单个对象的,批量删除就是进行多个对象一起删除。图文档删除功能是跟用户的权限有关系的,只有在权限范围才有相关操作。图文档删除的具体流程如图 3.10 所示。

    图文档删除步骤:在用户界面中,用户先查询想要删除的文档,精确查询是对单一文档的查询,找到文档后删除数据库中图文档记录和文档权限记录,并且读取文档路径,继而把物理文档删除;模糊查询是查找批量文档,继而删除数据库中所有的相关数据和所有文档的权限记录,并且读取文档路径删除物理文档。

3.3 工作流管理分析和设计
    在产品设计与制造过程中,小到一张工程图纸的审批、发放或更改,大到零部件设计、分析、制造,都是面向工作群体的,都需要依照一定的工作流程行事,因此在企业中 PLM 系统的工作流管理就显得特别重要。工作流管理是用来控制和定义数据操作的基本过程,主要管理当用户对数据进行操作时人与人之间或活动与活动之间的数据流管理,以及在一个项目的生命周期内跟踪所有事务和数据的活动,为系统提供生成、管理和控制企业业务流程的能力。

3.3.1 工作流的定义
    工作流(Work Flow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。一个工作流包括一组任务以及它们的相互顺序关系,还包括流程以及任务的启动和终止条件,以及对每个任务的描述。

    在企业中工作流的应用主要包括关键业务流程、行政管理流程、人事管理流程和财务管理流程等,都在工作流管理的范围内;工作流在大多数的实际应用中的情况可以简单地描述:在网络、服务器和多台计算机客户端的硬件平台上,业务过程按照预先设定的规则并借助应用程序和人对相关数据的处理而完成。举例说明,设计部门要设计一款新衣服,首先要有工程师设计出衣服各个部位的具体形状和尺寸数据;然后把这些设计资料,包括设计图样、设计说明书等,递交到上级技术人员进行审核;如果这些资料有不合适的地方,则把他们返回到工程师处进行修改;修改以后,再重新提交审核;这样反复的修改,审核直至完成合格的设计后,才能使设计资料归档。

    类似文件的相关处理只是工作流技术的部分功能,工作流技术能在企业中解决更加复 杂 的 问 题 ; 工 作 流 技 术 让 企 业 摆 脱 了 传 统 纸 制 手 工 传 递 的 方 法 , 利 用Internet/Intranet 来进行电子稿网上传输,不仅仅提高了企业的工作效率,还为企业的资料管理减少压力。

3.3.2 工作流管理系统组成部分
    本文的工作流管理系统架构是以 WFMC 提出的工作流管理系统架构为基础的,如图3.11 所示。架构图很好地说明了工作流管理系统的组成及相互关系。工作流管理系统架构主要包括过程建模工具、过程定义、组织/角色模型数据、工作流控制数据、工作流引擎、工作流相关数据和工作流应用数据部分。从整体看,包括软件构件、系统控制数据和外部产品数据。软件构件主要是完成工作流管理系统不同组成部分功能的实现;系统控制数据是系统中一个或多个软件构件使用的数据;应用与应用数据是被工作流管理系统调用来完成整或者部分工作流管理的功能。

3.3.3 工作流管理子系统的设计
    工作流管理是 PLM 系统的基本功能,贯穿于 PLM 系统的全过程。工作流管理是协调企业组织任务和过程以便获得最大生产效率的技术。产品的生命周期与过程和资源息息相关,由人,数据,应用组成的动态流又可以划分为多个子过程如图 3.12 所示,由此可见对工作流管理是至关重要的。产品协同开发过程必须通过工作流管理来满足并行产品开发的需要,工作流管理用来定义和控制数据操作的基本过程,最主要的是管理用户对数据进行操作时的人员之间,活动之间的数据流向,以及在一个项目的生命周期内跟踪必要的事务和数据流动。

    另外,工作流管理还对产品设计和修改过程进行跟踪和控制,以增强产品开发过程的自动化程度。正因为工作流管理能够将数据管理、工作流程与变更控制集成一体,系统可以通过自动协调企业组织任务和过程信息,从而使产品的协同开发顺利完成。

 

    根据温州某服装企业的情况,来具体制定工作流程管理;本系统指定的工作流程主要包括规格审批流程、工艺单审批流程、设计图纸审批流程和项目设计书审批流程。在工作流程管理中,可以对所处理的产品数据对象赋予一个“状态”的属性,用来表明该产品数据在工作流程中所处的阶段;数据是否流动是根据“规则”而定的,只有符合“规则”的要求,某个产品数据才可以正常进行流动,否则,其状态将停留在前一阶段。 工艺单审批流程,如下图 3.13 所示,有执行人设计工艺单并且确定工艺单,要经过打版、经理审批、工艺工程部审批、确定生产四个阶段,其中任何一个阶段不合格都要驳回,重新设计直到确定生产为止,最后归档。

    规格审批流程,有执行人设计好规格表,要经过打版和规格确定两个阶段,如果合格就通过归档,任务完成;如果不合格就驳回重新设计,直到合格为止。设计图纸审批流程跟规格审批流程的步骤相近,如图 3.14 所示。

    项目设计书审批流程,有执行人设计写好项目设计书,经过批准阶段,如果通过就归档;如果不通过就重新设计,直到通过为止,如图 3.15 所示。

    在信息技术的蓬勃发展和商业竞争日益激烈的时代,独立和零散的办公自动化和计算机应用满足不了人们,综合的并且集成化的方案的出现是必然的;工作流管理正是综合的、集成化地技术,它给企业带来了巨大收益:改进和优化业务流程,提高业务工作效率;实现更好的业务过程控制,提高顾客服务质量;提高业务流程的柔性等。
 
3.4 系统权限管理分析与设计
    系统安全策略机制保证了只有合法用户才能进入平台,但对于系统内不同业务模块的使用权限以及各种数据对象的访问权限却无能为力。本文 PLM 系统通过基于角色的系统功能权限授权较好控制了不同用户对系统不同功能模块的使用权限,同时通过设置数据对象权限控制策略、具体对象直接授权、流程权限控制等方面解决了系统内的数据对象访问控制问题。
 
    服装企业 PLM 系统权限管理模型,如下图 3.16 所示,采用了 WHO-HOW-WHAT-WHEN形式的描述模型。其中 WHO 表示权限的受体集,WHAT 表示目标对象集,HOW 表示权限的操作集,WHEN 表示该权限有效条件,一般使用时间期限来表达权限的有效期限。

3.4.1 系统模块权限管理的设计
    因参与协同产品开发的用户分别具有不同的协同角色,系统应保证每一种角色既能操作自己相关的业务功能以便完成协同工作,而又不被允许操作与自己业务无关的协同操作以避免产生协同混乱。用户认证保证了只有合法用户才能进入平台,但对于系统内不同业务模块的使用权限却无能为力。基于角色的系统权限管理就是用于解决系统功能权限的分配管理问题。
系统功能权限是用来控制用户能使用哪些功能模块的。系统功能权限模块本身也可被授予除 admin 用户外的其它用户。

1. 关于系统权限中的 WHO
    系统权限所授予的对象可以分别是某一个组织、用户、用户组,也可是(组织-角色)这样的组合。如下图 3.17 所示;对组织的授权意味着对在该组织下的所有用户进行授权;对用户组授权,意味着对该用户组下的所有用户进行授权;对(组织-角色)授权,意味着对某一个组织下具有某一角色的所有用户进行授权。因此,一个用户的系统功能权限的来源有多种,即可以来源于对其所在组织的授权、对其所具有的某一角色的授权,对其所在的某一个用户授权或是其他上面所描述的一个限定集的授权。用户的系统功能权限是其从多种权限来源的所获得的权限的并集。

2. 关于系统权限中的 WHAT
     系统权限对象是系统中提供的各种应用模块,对应着主菜单项,这些菜单项可以具有上下级关系,但对于菜单项的授权对上下关系敏感,即授予了一个下级菜单项的权限,意味着同步授予上级菜单项的权限,如果没有授予上级菜单权限,则也不能授予其所有下级菜单项权限。
3. 关于系统权限中的 HOW
    系统权限的操作只有“具有”和“不具有”两种。“具有”表示能打开该模块的操作界面,“不具有”表示不能打开该模块的界面。
4. 关于系统权限中的 WHEN
    系统权限的条件限制为日期范围,用于表达每一条功能性权限的有效期限,缺省有效期限为一年,自授权设定当日起计算。

3.4.2 数据对象权限控制的设计
    在 PLM 系统中,数据对象的权限控制有三种途径,即基于权限规则的控制、基于直接授权的控制以及基于流程的动态权限控制。

3.4.2.1 系统权限规则的设置
    权限规则是用来对实体对象进行权限控制的策略集。如下图 3.18 所示。系统管理员可根据企业的业务需要在 PLM 定义企业的数据对象控制策略。它与具体的对象无关,即权限控制规则可以事先被定义到系统中,当有新的数据或新的用户被纳入到系统中,系统可立即根据已经定义好的权限策略对这些新的用户与新的数据进行控制,从而为保证产品数据在系统中从诞生到消亡整个生命周期内的访问安全提供了解决机制。PLM 系统支持对三种类型的对象进行权限规则授权,即文档(产品)、编码规则。

1. 关于规则权限控制模型中的 WHO
    权限规则定义中的受体限定分为两类,一类是按组织角色用户来限定,另一类是按实体对象责任人来限定。按组织角色用户来限定的方式参见前面系统权限中对受体的限定描述。任何对象都有责任人,且责任人或系统管理员可以将对象的责任转交给其他人。对象的缺省责任人为对象的创建者。与责任人相关的受体限定可以是实体责任人、责任人所在组织、责任人所在组织下的某一个角色。因组织本身是有层次关系的,因此需要对于责任人所在组织进行在层次限定,如分厂、部门、处所等。

2. 关于规则权限控制模型中的 WHAT
    对实体的限定,可按对象属性进行自定义的限定条件。凡是满足这些限定条件的对象都将被授予权限。
3. 关于规则权限控制模型中的 HOW
    对不同对象类型的实体,其操作集是不一样的,每一个操作具有三态,即授予、不授予、禁止。当用户对某一对象从不同的权限规则中计算得到的权限,优先级别为禁止> 授予 > 不授予。即当在某条规则中获得授予权,而另外规则中得到相应的操作为“不授予”,则最终结果为“授予”,当某条规则中得到“禁止”,则无论其他规则中是否得到“授予”,其最终结果为“禁止”。

    每一类对象的允许授予的操作之间存在一定的依赖关系,如文档的修改权限依赖于文档的读取权限,即一旦授予文档的修改权限,意味着要同时授予文档的读取权限,反之,一旦禁止文档的读取权限,则意味着禁止文档的修改权限。
4. 关于规则权限控制模型中的 WHEN
权限规则没有时间期限限制,但存在启用和不启用之分。只有启用了的规则才对权限控制产生作用。

3.4.2.2 保密级别设定
    企业往往需要设置一些访问控制策略规定某些组织角色的用户可以访问哪种保密级别的数据对象。设置这种策略的前提是需要对产品数据对象进行保密等级划分。PLM 支持自定义的保密等级,同时系统缺省提供了四种保密等级,即一般、保密、机密、绝密。系统管理员可以根据企业需要再进行修改或扩充。设定企业保密等级后,用户在创建如文档等产品数据对象时,可以从企业设定的保密等级中选择一种级别作为创建的产品数据对象的保密级别。

3.5 数据库分析与设计
3.5.1 数据层结构
    数据层主要为业务逻辑层提供操作数据库的功能,数据层结构图如图 3.19 所示,主要包含数据访问对象层、持久层、数据库层。

    数据访问对象(Data Access Object,DAO)采用针对接口编程的方式,主要是将常用的数据访问抽象成一个接口(Interface),而在接口的实现(Implement)中实现具体操作数据库。数据访问对象可以自己编程实现,也可以采用成熟的开发框架的如 iBatis、Spring实现,建议采用 Spring 中的数据访问对象(DAO)框架。数据访问对象层的作用主要是当数据源发生改变时候,我们只需要改变具体的实现,从而降低对业务逻辑对象的影响。
对象关系映射 (Object Relation Mapping,ORM)是一种实现对象模型与关系模型转换的一种技术。

    众所周知,我们业务逻辑采用的编程语言多是面向对象的编程语言,如 C++、Java、C#等,数据以对象的形式展现;而数据库都是关系型的数据库,如 Oracle、SQL Server等,数据以关系型的形式存储。这样程序不管是把一个对象的信息存储到数据库中,还是把数据库的信息读出还原成一个对象都是相对麻烦的。ORM 主要是为解决面向对象编程语言与关系型数据库之间的这种互不匹配而出现的一种技术。面向对象持久层产品中很多都实现对象关系映射 ORM。Java 平台下的 Hibernate、iBatis 等。.NET 平台下有 NHibernate、iBATIS.NET、.NET3.0 下的 DLinQ 等。数据库采用常用的关系型数据库,如 Oracle、DB2、SQL Server、MySQL、Access 等。

3.5.2 逻辑结构设计
    数据库逻辑结构设计,在理想的状况下,应该是选择最适合概念模型的数据模型,从支持这种数据模型的各个 DBMS 中选出最佳的 DBMS,在根据所选定的 DBMS 的特点和限制对数据模型做适当修正。根据服装企业文档数据的存取情况,在这里列出部分重要的表:文档信息表、文档启动人表、创建时间表、文档状态表、文档路径表、文档权限表、文档类型表和文档流程表。

数据库表之间的关系,如图 3.20 所示:

 

3.5.3 数据库选型  
    数据库选型主要考虑的应用系统的数据量、并发用户数、是否分布式系统、是否需要分布式事务的支持、是否需要数据仓库的支持、运行数据库的服务器的硬件、操作系统类型和价格因素等。本系统所采用的 Oracle 数据库管理系统,具有很好的数据库性能,特别在联机分析处理(OLAP)、数据仓库和用户数据安全方面能满足目标软件的需要。

3.5.4 数据共享方式设计与安全性、保密性设计
1. 数据共享方式设计
    以视图(view)和角色的方式加以控制,取消不必要的共享。
2. 安全性、保密性设计
    用户认证是系统安全的第一道防线。登录用户的合法性主要从两个方面进行控制,即用户合法身份识别、基于规则的口令安全管理。如图 3.21 所示。其中用户合法身份的验证手段可以用多种,如 IP 地址认证、基于 Windows 域用户验证等等,企业可根据自身实际需要进行设定。基于规则的口令安全管理主要用于保证口令的安全,防止发生口令破解、盗用等。口令的安全管理规则一般包含口令复杂度规则以及时效性规则。口令复杂度规则如口令最小允许长度;口令必须包含多少字母、数字以及特殊符号;口令不能包含账号等等。口令时效性规则如口令必须多长时间修改一次;口令是否允许被重复使用等等。

3.6 本章小结
    本章在分析温州某服装企业具体需求的基础上,设计了系统的整体框架,并且对系统中各个功能模块做了详细设计。此外,系统还对企业静态数据和动态数据进行了分类;用图文档管理表示企业中静态数据地管理,并设计了静态数据管理的体系结构和存储原理,对静态数据的检出、检入和删除等功能做了详细设计,并且给出流程图和部分代码实现;系统用工作流管理来表示企业动态数据地管理,给出了工作流的定义并且对企业审批流程进行详细设计;对系统权限管理进行了分析与设计,包括系统模块权限管理设计和数据对象权限控制设计两部分;最后,对数据库进行了分析与设计。