邵景峰,王崑凌,任克儉,陳金廣
(1.西安工程大學教務處,陜西 西安 710048;2.陜西風輪紡織股份有限公司生產技術部,陜西 咸陽 712000)
疵點數據的管理與整合是紡織廠整理車間生產管理業務發展的一個重要分支,更是整個紡織企業生產管理與統計分析工作的一個重要組成部分.疵點數據的正確性直接關系著各個生產車間乃至企業的生產過程的管理和利潤分析與統計.隨著紡織廠的不斷重組和生產管理方式的不斷改革,疵點的管理與考核方式以及管理方式也在不斷的細化,其傳統的人工統計工作逐漸不能滿足紡織廠生產管理的需求.開發疵點信息管理系統,不僅會給整理車間的業務工作和生產管理工作帶來顯著效益和成果,而且符合紡織廠信息化、網絡化發展的方向.目前,在國外布匹疵點檢測和疵點數據的管理發展到了比較成熟的階段[1-2],但是尚未形成統一的管理標準;而在國內,一些專家、學者,主要針對布匹的疵點檢測進行了大量的理論研究[3-5],但成功投入使用的系統相對較少,在技術上還處于研究階段.此外,國內紡織廠在疵點數據的管理方面缺乏行業規范標準,雖然有的紡織廠開發了或正在研發符合本廠的疵點數據管理系統,但是只局限與單機狀態和本廠使用,很難具有通用性,尤其當需要長期保存這些數據時,數據庫的容量以及檢索效率都難以保證.
本文針對現有系統在疵點數據處理和管理方面的不足,結合整理車間生產管理的需求,開發一種面向對象的疵點信息管理系統,利用UML(Unified Modeling Language,統一建模語言)[6]為系統建模,并給出其用例圖、類圖、活動圖及序列圖,詳細分析創建這些圖的要點及過程.
UML不僅支持面向對象的分析與設計,而且支持從需求分析到設計以及實現軟件開發的全過程.UML還支持三種建模方式:功能性、靜態及動態建模,其中功能性建模是描述系統提供的功能,靜態建模是現實生活中各種對象以及它們之間的關系抽象,動態建模描述系統中的對象在執行期間不同的時間點的動態交互[7].
疵點數據管理系統的服務對象主要是廠級生產管理者,各個車間的主任、班長、系統管理員以及全體職工,而系統的使用對象為整個紡織廠的工作人員.用例用于描述用戶需求的基本功能,使得系統主要完成以下功能:
(1)疵點編碼:對各類疵點按照編碼規則進行編碼,從根本上保證疵點編碼在系統數據庫中的唯一性,以及消除疵點名稱在各個車間重復的現象,從而保證系統數據庫的穩定性.
(2)疵點數據管理:對已正式轉入疵點歷史數據庫中的疵點數據進行錄入、查詢、刪除、統計與分析、以及一致性校驗等操作,從而形成生產管理與統計分析所需的各類報表.
(3)用戶管理:由于系統的體系結構采取的是Client/Server模式,使系統內的所有用戶通過局域網實現疵點數據的存取.因此,對各個客戶端用戶進行合理的管理,進行訪問權限的分配和管理,以及IP地址的管理,保證系統數據庫的安全性.
(4)參數設置:為保證系統的正常運行,必須為系統提供各類運轉參數,諸如疵點數據考核指標、工作月首日的設置、各類報表格式的設置等.
(5)數據處理:根據紡織廠生產管理發展的要求,以及各個生產車間生產管理考核方式的不同,對一些不合理數據進行預處理,進而保證整個系統數據庫中疵點數據統計結果的正確性,為各類報表的統計與分析提供最正確的基礎數據.
(6)統計分析:通過一定的查詢條件對系統數據庫中的各類疵點數據進行查詢、統計,使其形成生產管理所需的各類圖、表、報表以及曲線,能夠比較直觀、清楚的形成各類參考依據,從中挖掘影響生產數據正確性的、干涉疵點數據完整性的隱形信息,從而達到為廠級生產管理者提供準確、及時、全面的決策依據,進而達到提高生產管理的目的.根據功能需求分析,定義的用例如圖l所示.
圖1 系統用例圖
基于系統用例圖,其系統數據流程為:首先由系統管理員在系統中設置系統使用權限,建立用戶賬戶,并為相應的用戶分配使用權限;然后當用戶擁有相應的用戶名、密碼和使用權限后,在相應的權限范圍內對系統中的基礎數據(其中包括疵點信息編碼規則的建立、疵點的編碼、疵點數據的錄入、導入導出、產量數據的獲取,工作日志的建立,品種信息的獲取、二次編輯等)進行維護.而對于局域網內的其他車間的系統管理員、數據庫管理員而言,可通過局域網進行產量數據、品種信息以及疵點數據的錄入、查詢、統計、打印以及更新操作.同樣,廠級領導、生產管理者也通過局域網對已交接班的產量數據、疵點數據根據需要進行統計與分析,形成比較直觀的數據統計分析結果,并按考核指標和考核目的的不同,除去一定比例的不合理數據,使其形成比較接近實際需要的管理決策數據.
靜態結構主要用類圖和對象圖來描述,其中對象圖是類圖的實例,幾乎使用與類圖完全相同的標識,其不同點在于對象圖顯示類的多個對象實例[8],而類圖設計是面向對象方法的核心技術,通過類圖將用例的實現具體到每個類中,從而完成從設計走向細化的過程[9].
1.2.1 系統對象
(1)類Persistent
主要用來支持對象的持久存儲,具有將對象寫入數據庫文件的方法read()和從數據庫讀出對象的方法write(),通過OID檢索對象,獲得持久對象的OID,以及存儲、刪除、更新對象的方法[10].
(2)類OID
主要用來引用系統中的持久對象,使得從數據庫文件中引用和檢索對象變得容易,通過將OID傳遞給類Persistent的方法subject(),可以從數據庫文件中讀出對象,并將對象返回給調用者.
(3)類User
描述系統中的所有用戶信息,其中主要包括用戶名 、密碼、姓名 、性別 、崗位 、所屬車間、工種、工作號等,所有對象都是持久的(Persistent),繼承了類Persistent并實現了讀寫操作.
(4)類Assortment
主要用例描述系統中的品種信息,包括品種編號、品種支數、品種英制名稱、品種公制名稱、緯密、匹長、計劃單產、理論單產、計劃車速等,它也繼承了類Persistent并實現了讀寫操作.
(5)類Defect
代表疵點數據的基本信息,主要包括疵點編碼、疵點名稱、疵點匹數、所屬車間等.
(6)類Yield
主要描述在品種的下機產量信息,其中主要包括品種編碼、品種公制名稱、品種英制名稱、匹長、打包數、產量、日期、班次等信息,所有對象都是持久的(Persistent).
(7)類HistoryData
主要用來描述疵點數據的交接班數據信息,其中主要包括品種編碼、品種公制名稱、品種英制名稱、匹長、疵點編碼、疵點名稱、疵點匹數、日期等,所有對象都是持久的(Persistent).
1.2.2 用戶界面類
(1)類LoginDlg
提供系統登錄界面,即當所有用戶擁有職工號、密碼以及系統用戶權限后,通過系統登錄界面可以登錄到系統,進行權限范圍內的系統操作.
(2)類UserDlg
進行職工信息的維護,并可執行諸如添加、刪除、查詢、統計操作等.
(3)類AssortmentDlg
進行品種數據的處理界面,數據庫管理員以及擁有權限的普通用戶可通過局域網實現品種信息的錄入、查詢、統計、分析等操作.
(4)類YieldDlg
進行產量數據的處理界面,整理車間的數據庫管理員可對已交接班的產量數據進行預處理,并進行產量信息的錄入、導入導出、增加、刪除、一致性校驗等操作.
(5)類DefectDlg
進行疵點數據的處理界面,整理車間的數據庫管理員可對疵點數據信息進行增加、刪除、查詢、統計、分析等操作.
(6)類RearchDlg
信息綜合查詢界面,當系統中的用戶擁有使用權限后,登錄系統并進行驗證,使合法用戶在一定的權限范圍內進行疵點數據信息查詢、統計,此操作也可通過局域網來實現.
(7)類StaticsDlg
對已交接班的疵點數據信息按預設條件進行查詢、統計,形成一定的數據結果,此功能僅限于權限級別較高的系統管理員、廠級生產管理者,他們可以在局域網內實現疵點數據信息的預處理、一致性校驗,并以圖、表、報表、曲線等形式對疵點數據進行統計與分析,從而形成管理決策數據依據.
靜態建模以后,需要描述所建立的模型是否可以執行,以及執行時的時序狀態或交互關系,以及顯示系統的并發工作狀況[11].
系統的動態建模可以用交互作用圖、序列圖、狀態圖和活動圖來描述.其中序列圖用來顯示各個對象之間的動態合作關系,重點強調各對象之間消息的發生順序,同時顯示對象及它們之間的交互[12].圖2給出了廠級生產管理者在疵點數據管理系統中進行查詢統計疵點數據活動的序列圖.整個消息的發送過程為:廠級生產管理者輸入用戶名和密碼后,系統進行身份驗證,當驗證通過后,為其分配用戶賬戶對應的系統權限,并啟動系統的主界面;然后在統計分析子系統中選擇需要查詢統計的各種組合條件,當查詢條件選定后,向服務器發送查詢請求;而服務器接受請求后,在系統數據庫中進行用戶界面條件的查詢、統計,并形成結果數據,再按條件形成圖、表、報表或曲線等形式在系統終端顯示;最后根據顯示形式在系統數據參考依據中列出影響生產管理過程、產量數據正確性的主要因素以及最佳的決策數據依據.
圖2 疵點數據統計與分析時序圖
(1)系統的執行流程為:若在系統初始狀態,系統數據庫中的所有數據表均為空,則:
首先從整理車間的信息管理系統中檢索所選日期的品種、產量信息,然后根據系統提示選取所需要的品種對應產量數據直接增加到產量臨時表Yield-Temp中.
在品種臨時表BreedTemp中對品種產量信息進行過濾、核對,并進行品種信息的更新,使其成為完整的、可滿足疵點數據錄入需要的品種信息.
根據BreedTemp中的品種信息利用疵點數據導入功能或手工錄入功能將所選日期的疵點數據錄入疵點臨時表DefectTemp中,通過疵點人機界面對該表中的疵點數據進行核對、查詢等;若疵點數據正確無誤,則直接將這些數據導入疵點歷史表DefectHistory中,同時,將DefectTemp中的數據同步備份到DefectBackup表中,進行永久性存儲,為各類報表的產生與打印、疵點歷史數據的分析與統計提供基礎數據;最后將BreedTemp中的臨時數據轉入BreedHistory中,并YieldTemp中的臨時數據轉入YieldHistory中,進行永久性存儲.
(2)若不在系統初始狀態,系統的執行流程為:
首先判斷疵點臨時表DefectTemp中的疵點信息是否正式轉入到疵點歷史表DefectHistory中.若疵點歷史表中已存在所選日期的疵點信息,則需要執行一致性校驗操作,其主要是為了防止因人為的誤操作而導致數據庫中數據的不一致,從而保證系統數據庫中數據的完整性和一致性;若不存在,則將疵點信息從疵點臨時表DefectTemp直接轉入歷史表DefectHistory中.
系統自動選取新品種,并提示是否需要該品種和產量.若需要,則直接將該品種和產量信息增加到產量臨時表YieldTemp中,若不需要,則放棄;而對于產量臨時表中已存在的品種信息,系統所采取的方法是在該表中執行更新操作,將品種、產量、日期等數據信息進行更新,使其成為所選日期的最新數據;再根據品種歷史表BreedHistory中的品種信息對該品種進行更新,使其成為完整的、可滿足需要的品種信息;
在品種臨時表BreedTemp中,對所選日期的品種、產量數據進行核對和新品種信息的修改,為后期疵點錄入做準備.若品種、產量數據信息正確無誤,同2.1節(1)中的操作,將疵點數據錄入疵點臨時表DefectTemp中.如果疵點數據正確無誤,則直接將這些數據導入疵點歷史表DefectHistory中,進行永久性存儲,為各類報表的產生與打印、疵點歷史數據的分析與統計提供基礎數據;同時,將DefectTemp中的數據同步備份到DefectBackup表中;最后將BreedTemp中的數據導入BreedHistory中,并將YieldTemp中的數據導入YieldHistory中,也進行永久性存儲.
根據系統功能設計原理,為了提高數據庫中數據的運行或存儲效率,在各數據表中,數據均以分品種的順序存儲.在數據更新和傳輸過程,對每條數據以一維數組的方式進行計算和傳輸,其數組的定義如下:
首先在讀取產量信息的系統界面上獲取所選日期T1,然后在產量臨時表YieldTemp中讀取日期T2,再判斷T1與T2的大小.若T1>T2,則從整理車間信息管理系統數據庫中以分品種的方式讀取第m條品種、產量信息,并將品種名稱、匹長、產量米數等值賦給數組B[i]進行暫存,直到檢索完為止,其中i為指針.此時,如果YieldTemp中無任何數據,則根據用戶需要判斷是否需要錄入第m條數據;若需要增加,則用數組B[i]中的數據按B[1](B[1]中存放的是品種英制名稱)中的數據不斷更新YieldTemp表中各字段的數據.如果YieldTemp中有數據,則判斷所讀取的數據中是否有新品種信息;若有,同樣,根據B[1]中的品種數據不斷更新YieldTemp表中個字段的數據;若無,則直接將B[i]中的數據增加到數據表中.若T1≤T2,則根據B[1]中的品種數據,用B[i]中的數據不斷判斷YieldTemp表中逐條記錄的字段數據值,其算法的實現過程見表1.
表1 算法實現過程表
29 if(A[i]==C[i])30 break;31 end if 32 else 33 C[i]←A[i]//用疵點臨時表中的數據更新疵點歷史數據表中的數據34 end else 35 n++;36 i++;37 end while 38end else___39____e________________________________________ndelse
系統安全管理主要指權限管理,而權限管理主要指將選定的權限對象授權給相應的角色或用戶,同時權限對象可以根據用戶和角色兩種方式進行分配[13].因此,在疵點數據管理系統中,由系統管理員對系統用戶進行管理和審批,以確定用戶享有信息的大小和類別,對不同級別的用戶分配不同的使用權限,從而達到保護系統數據庫的安全管理.
疵點數據管理系統的數據庫管理包括系統運行參數的管理、疵點數據的管理、品種信息的管理、產量數據信息的管理、用戶數據的管理和數據檢索等主要部分組成.結合實際需求,以及系統功能的升級和集成需求,我們將系統的角色分為兩類:
(1)系統管理員(administrator),其能夠進行創建應用數據庫(application database),能在應用數據庫數據的基礎上創建系統運行參數、品種信息、用戶信息、產量數據信息、疵點數據信息、數據集成接口數據信息等,并對應用數據庫進行多功能操作,以及刪除應用數據庫,導入規定格式的疵點數據、產量數據等;
(2)普通用戶(user),其只能在權限范圍內,在系統界面上進行一些疵點數據的錄入、查詢、統計和報表的打印.對其他車間的遠程客戶端而言,同樣在權限范圍內,通過局域網實現一些工藝參數、系統運轉參數、產量數據、疵點數據的網上錄入,查詢,以及報表打印等操作.
用例是由系統完成的一組動作的描述,它產生對特定參與者有價值的結果,根據這個定義以及系統的功能需求分析,建立了系統的角色管理用例模型,如圖3所示.有效地保證了系統數據庫的安全性,以及數據庫所有數據的正確性和一致性.
圖3 角色管理用例
以UML建模理論為指導,設計了一個面向對象的疵點數據管理系統模型,并開發了相應的管理系統.經過實際應用證明,系統界面友好、功能強大、結構簡潔靈活,主要管理滿足了整理車間在疵點數據管理方面的實際需要,提高了車間的工作效率,減少了不必要的人工手工操作,優化了車間生產管理的工作流程,提高了信息來源的準確性和高效性,同時,其他生產車間和部門可通過局域網可實現疵點數據信息的共用共享,促進了紡織企業信息化的發展,并且疵點數據管理系統模型是可行的、合理的,具有一定的經濟應用價值.
基于軟件工程思想,利用UML分析設計疵點數據管理系統,可以對項目進行有效的計劃和管理,同時降低風險、提高質量、降低軟件開發復雜度、提高軟件開發效率.使用UML建立系統模型,從不同的方面,采用不同的視圖,全面地分析出系統的靜態和動態結構,使疵點數據管理系統的開發流程變得十分清晰,有利于提供系統的穩定性、可維護行和重用性,并為系統開發人員、系統用戶、分析人員、測試人員以及廠級生產管理者提供了一條標準的交流途徑.
[1]Arivazhagan S,Ganesan L,Bama S.Fault segmentation in fabric images using Gabor wavelet transform[J].Machine Vision and Applications,2006,16(6):356-363.
[2]Bodmarova A,Bennamoun M,Kubik K K.Suitability analysis of techniques for flaw detection in tex tiles using tex ture analysis[J].Pattern Analysis&Applications,2000,3(3):254-266.
[3]劉建立,左保齊.BP神經網絡在織物疵點識別中的應用[J].紡織學報,2008,29(9):43-46.
[4]陳俊杰,謝春萍.基于神經網絡的織物疵點識別技術[J].紡織學報,2006,27(4):36-38.
[5]鄒超,朱德森,肖力.基于類別共生矩陣的紋理疵點檢測方法[J].華中科技大學學報:自然科學版,2006,34(6):25-28.
[6]Kuntimad G,Ranganath H S.Perfect image segmentation using pulse coupled neural networks[J].IEEE T ransactions on Neural Networks.1999,10(3):591-598.
[7]Kumar A,Pang G.Defect detection in textured materials using gabor filters[J].IEEE T ransactions on Industry Applications,2002,38(2):425-440.
[8]Antonio Tilocca.Detecting fabric defects with a neural network using two kings of optical patterns[J].T ex tile Research Journal,2003,72(6):545-550.
[9]Offutt A J,Abdurazik A.Using UM L collaboration diag rams for static checking and test generation[C]//Proc.3rd International Conference on the Unified Modeling Language.York,UK,2000:383-395.
[10]吳少剛.機群OpenMP系統的設計與實現[J].計算機學報,2004,27(7):904-911.
[11]汪文元,沙基昌,譚東風.基于Petri網和UM L活動圖工作流建模比較[J].系統仿真學報,2006,18(2):504-510.
[12]Ryan J,Heavey C.Process modeling for simulation[J].Computers in Industry,2006,57(3):437-450.
[13]Malinowski E,Zimanyi E.Hierarchies in a multidimensional mode:From conceptual modeling to logical representation[J].Data&Knowledge Engineering,2006,59(2):348-377.