存儲這樣的關系,例如編碼為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.
本文發表在《有線電視技術》作者:陜西廣電網絡傳媒(集團)股份有限公司 周康 ;西安郵電大學 翟社平