存储这样的关系,例如编码为XXX-YYY-ZZZ,YYY是XXX的子元素,ZZZ是YYY的子元素,列成一张表存储,如表1所示。
这仅仅是一个项目的按照专业要素分解的非常简单的举例,如果增加一个其他类例如线路施工类的项目,则属性字段的数量更多,而广电网项目类型繁多,这会造成这样的表存在如下问题。
(1)因为项目的种类繁多,每个项目的规模和所在地区不同,因此WBS结构树分解后的层数不确定,导致编码的长度很长,不便于存储与维护;同时因为每一层都可能产生不同的属性,因此字段数量很多。
(2)由于元素的位置是有编码的位置决定的,对工作元素进行编辑操作不是很方便;同时由于不同的元素有不同的管理属性,会有大量的属性是空字段,浪费了数据的存储空间。
4.2外键方式
第二种方式是使用外键的方式,即建立很多张表,使用外键来建立两张表之间的约束关系,但是用外键关系体现WBS结构树的层次关系,主要存在以下难点。
(1)表格的数量会非常多,不同的属性集合(对应某一个类型的项目的某一种分解方式),就需要建立相应的表,这样不仅仅不同的项目分类需要建立表格,甚至同类的项目,不同的分解方法也需要建立很多不同的表格。
(2)表间的关系会变的很复杂,表间通过外键的指向关系随着WBS结构树层数的增多变的更趋混乱。当结构树的层次数量越大,数据的查询和操作就变的越复杂,操作起来的语句也越来越复杂,总体效率会越来越不可控,对数据库管理员来说是难以承受的负担。
广电网项目分解后的WBS结构树,使用关系数据库进行存储是存在问题的。这么做会造成大量的数据冗余、浪费数据存储空间,或者会造成表间的关系异常复杂无法管理,因此应寻找其他的解决方法。
5用XML语言文件存储WBS分解结构的讨论
XML是一种标记语言,可以用于存储半结构化的数据,由于没有强制性模式的限制,使半结构化数据具有很大的灵活性,用它存储WBS结构树较为简单,这个方法具有如下优点。
(1)使用关系数据库时的数据冗余问题不再存在了,XML消除了数据存储的冗余,便于数据的更新,它存储半结构化数据,在进行数据存储时,无需建立模式,这样就消除了数据冗余。
(2)如果采用关系数据库模型,当结构树发生变化(分解的调整或细化等操作),又要为新插入的数据定义模式并且需要改变数据库原先定义的逻辑关系,而使用XML进行存储则不存在这类复杂的操作问题。
(3)XML是树形结构,显示父子关系一目了然,插入、删除和更新数据也非常方便。它能够体现聚合关系,但是不需要定义和存储模式,维护量大大降低。
(4)XML可以通过对面向对象思想中继承的运用,简化软件的设计,减少存储容量,提高了软件的可重用度,有利于工程项目信息的传递和共享,利用类与对象的概念,减少了模块之间的交互,加强了模块内部的联系,降低了工程项目信息系统维护的难度,增强了可扩展性。
6结论
综上所述,在广电网项目的WBS分解后项目元素的存储设计中,应优先使用XML语言进行存储,具体的方式不一而足。广电网项目种类繁多,规模也大小不一,但目前的管理中,没有出现项目集合和子项目的概念,下一步如果管理中出现了更为复杂的概念,可以做进一步的探讨。
参考文献
[1]徐彬.新疆联通公司项目管理系统的设计与实现[D].大连理工大学,2016.
[2]张守领.基于WBS的工程项目管理系统的设计与实现[D].电子科技大学,2013.
本文发表在《有线电视技术》作者:陕西广电网络传媒(集团)股份有限公司 周康 ;西安邮电大学 翟社平