基于標(biāo)準(zhǔn)內(nèi)容的動態(tài)管理器的設(shè)計與實現(xiàn)_第1頁
基于標(biāo)準(zhǔn)內(nèi)容的動態(tài)管理器的設(shè)計與實現(xiàn)_第2頁
基于標(biāo)準(zhǔn)內(nèi)容的動態(tài)管理器的設(shè)計與實現(xiàn)_第3頁
基于標(biāo)準(zhǔn)內(nèi)容的動態(tài)管理器的設(shè)計與實現(xiàn)_第4頁
基于標(biāo)準(zhǔn)內(nèi)容的動態(tài)管理器的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于標(biāo)準(zhǔn)內(nèi)容的動態(tài)管理器的設(shè)計與實現(xiàn)論文摘要:本文根據(jù)現(xiàn)存標(biāo)準(zhǔn)管理系統(tǒng)中對標(biāo)準(zhǔn)內(nèi)容動態(tài)維護(hù)的缺乏之處,針對標(biāo)準(zhǔn)動態(tài)維護(hù)的問題,提出了一種基于標(biāo)準(zhǔn)內(nèi)容的動態(tài)管理器解決方案,并對實現(xiàn)的關(guān)鍵技術(shù)做了詳細(xì)論述,最后將動態(tài)管理器的思想運(yùn)用到標(biāo)準(zhǔn)管理系統(tǒng)中,實現(xiàn)一個通用、靈活、可擴(kuò)展的標(biāo)準(zhǔn)管理平臺。論文關(guān)鍵詞:動態(tài)管理器,標(biāo)準(zhǔn)維護(hù),標(biāo)準(zhǔn)管理1、引言隨著市場競爭的日益劇烈,各行各業(yè)的標(biāo)準(zhǔn)化建設(shè)也越來越多的受到關(guān)注。標(biāo)準(zhǔn)化管理的本質(zhì)是統(tǒng)一,它是對重復(fù)性事物和概念的統(tǒng)一規(guī)定【1】。有了標(biāo)準(zhǔn),各行各業(yè)就可以對每一項工作、指標(biāo)、制度、方案、細(xì)那么等進(jìn)行可行性和可操作性的量化,從而使企業(yè)的管理更加系統(tǒng)化,標(biāo)準(zhǔn)化,提高

2、企業(yè)市場競爭力和經(jīng)濟(jì)效益的技術(shù)。在當(dāng)前世界的經(jīng)濟(jì)形勢瞬息萬變的大環(huán)境下,要時刻保持與世界經(jīng)濟(jì)環(huán)境的同步,對于各行各業(yè)標(biāo)準(zhǔn)的動態(tài)維護(hù)更新就顯得尤為重要。標(biāo)準(zhǔn)是動態(tài)的,每年都有大量的標(biāo)準(zhǔn)作廢、修改或者被新的標(biāo)準(zhǔn)所取代。沒有有效的標(biāo)準(zhǔn)跟蹤手段,就不能及時獲取行業(yè)標(biāo)準(zhǔn)的現(xiàn)行狀態(tài)以及歷史變更信息,執(zhí)行作廢標(biāo)準(zhǔn)將會造成巨大的損失。針對上述問題,為了適應(yīng)標(biāo)準(zhǔn)化的動態(tài)變更維護(hù)需求,開發(fā)基于標(biāo)準(zhǔn)內(nèi)容的動態(tài)管理器,真正實現(xiàn)標(biāo)準(zhǔn)的動態(tài)維護(hù),就顯得十分重要。本文介紹了一種對標(biāo)準(zhǔn)內(nèi)容的動態(tài)維護(hù)的方法。2、標(biāo)準(zhǔn)的類型和標(biāo)準(zhǔn)的結(jié)構(gòu)化標(biāo)準(zhǔn)的類型包括數(shù)據(jù)元和代碼集,數(shù)據(jù)元和代碼集是標(biāo)準(zhǔn)的兩種表現(xiàn)形式。數(shù)據(jù)元是用一組屬性描述其標(biāo)

3、識、名稱、數(shù)據(jù)類型和值域的最小數(shù)據(jù)單元【2】。例如,DA003、生日、YYYYMMDD就是一個數(shù)據(jù)元。標(biāo)準(zhǔn)代碼表通常以某一組數(shù)據(jù)元定義的值域出現(xiàn)。國家標(biāo)準(zhǔn)中有很多的代碼表,包括地區(qū)代碼表,職業(yè)代碼表等等。把一個領(lǐng)域要用的代碼表放在一起形成代碼集,這就是代碼集的定義。要實現(xiàn)前面提到的標(biāo)準(zhǔn)動態(tài)維護(hù)的功能,就要對標(biāo)準(zhǔn)內(nèi)容進(jìn)行結(jié)構(gòu)化使其可以通過數(shù)據(jù)庫進(jìn)行操作。根據(jù)上面的定義,將數(shù)據(jù)元進(jìn)行格式化,用數(shù)據(jù)元標(biāo)識符、名稱、英文名稱、數(shù)據(jù)類型及格式、值域、計量單位、語境、版本、說明等屬性來表示數(shù)據(jù)元。代碼集用代碼、名稱、說明等屬性來表示。3、標(biāo)準(zhǔn)動態(tài)維護(hù)的功能近幾年,隨著計算機(jī)技術(shù)和管理信息系統(tǒng)在日常工作中的

4、普及和開展,很多標(biāo)準(zhǔn)管理系統(tǒng)在標(biāo)準(zhǔn)化管理中得到應(yīng)用。大多數(shù)系統(tǒng)對于標(biāo)準(zhǔn)內(nèi)容都采用上傳標(biāo)準(zhǔn)電子文檔的形式進(jìn)行管理,系統(tǒng)中可維護(hù)的只是標(biāo)準(zhǔn)根本信息,并沒有對標(biāo)準(zhǔn)制定過程中標(biāo)準(zhǔn)內(nèi)容變化、版本變更進(jìn)行動態(tài)維護(hù)。綜上所述,標(biāo)準(zhǔn)動態(tài)維護(hù)應(yīng)具備如下功能:1標(biāo)準(zhǔn)內(nèi)容的動態(tài)錄入。2標(biāo)準(zhǔn)內(nèi)容的管理,具備對標(biāo)準(zhǔn)內(nèi)容的增加、修改、刪除等操作。3最新、歷史版本數(shù)據(jù)的查詢、下載,各個版本之間差異的比擬。4、標(biāo)準(zhǔn)動態(tài)維護(hù)的設(shè)計與實現(xiàn)4.1、開發(fā)工具及相關(guān)說明系統(tǒng)將采用B/SBrowser/Server結(jié)構(gòu)的多層架構(gòu)模式設(shè)計和部署應(yīng)用,用戶可以工過瀏覽器界面進(jìn)行操作。采用微軟的ASP.NET和SQLSERVER數(shù)據(jù)庫平臺實現(xiàn)

5、標(biāo)準(zhǔn)的動態(tài)維護(hù)。標(biāo)準(zhǔn)的動態(tài)維護(hù)只是標(biāo)準(zhǔn)管理系統(tǒng)中的一局部,因此本文只介紹標(biāo)準(zhǔn)動態(tài)維護(hù)功能中所用到的表、字段以及標(biāo)準(zhǔn)動態(tài)維護(hù)的策略、方法。有關(guān)具體相關(guān)業(yè)務(wù)流程請讀者根據(jù)實際系統(tǒng)的環(huán)境進(jìn)行整合。4.2、標(biāo)準(zhǔn)動態(tài)維護(hù)的功能概述1對標(biāo)準(zhǔn)內(nèi)容的導(dǎo)入mdb和excel文件。2對標(biāo)準(zhǔn)內(nèi)容進(jìn)行動態(tài)維護(hù),包括對每一條數(shù)據(jù)的增加刪除修改。3對歷史數(shù)據(jù)進(jìn)行查詢、下載,進(jìn)行各版本之間的比擬。4.3、數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計(DatabaseDesign)是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需求信息要求和處理要求。顯然對于每一個標(biāo)準(zhǔn)版本的詳細(xì)信

6、息都建一張新的表保存在數(shù)據(jù)庫中是最簡單的管理方法,但是這樣做隨著時間的推移會給數(shù)據(jù)庫帶來很多冗余信息,影響系統(tǒng)對于數(shù)據(jù)查詢的效率。所以設(shè)計一個易于動態(tài)維護(hù)標(biāo)準(zhǔn)又不會產(chǎn)生大量冗余信息的數(shù)據(jù)庫是實現(xiàn)標(biāo)準(zhǔn)動態(tài)維護(hù)的關(guān)鍵。標(biāo)準(zhǔn)動態(tài)維護(hù)管理的數(shù)據(jù)庫設(shè)計:標(biāo)準(zhǔn)根本信息表(Standard_Catalog):每一個標(biāo)準(zhǔn)管理系統(tǒng)都會有標(biāo)準(zhǔn)根本信息表,本文只列出與標(biāo)準(zhǔn)動態(tài)維護(hù)有關(guān)的字段。根據(jù)第三局部數(shù)據(jù)元和代碼集的定義來看,數(shù)據(jù)元可以用一張表來實現(xiàn),而代碼集那么是多張表的集合。本文介紹對于代碼集的動態(tài)維護(hù)。數(shù)據(jù)元的動態(tài)維護(hù)與代碼集中的代碼表的動態(tài)維護(hù)大致相同。表1標(biāo)準(zhǔn)根本信息表 字段名稱 數(shù)據(jù)類型 主鍵 外鍵

7、說明 ID int 是 標(biāo)準(zhǔn)ID號 sNO nvarchar(50) 標(biāo)準(zhǔn)號 titleCN nvarchar(100) 標(biāo)準(zhǔn)中文名稱 dynamicType Tinyint 類型:0代碼集;1數(shù)據(jù)元 動態(tài)維護(hù)型代碼集標(biāo)準(zhǔn)信息表(DynamicCode):這個表存放著代碼集標(biāo)準(zhǔn)的信息,里面的每一條記錄都代表著一個代碼表。表2動態(tài)維護(hù)型代碼標(biāo)準(zhǔn)信息表 字段名稱 數(shù)據(jù)類型 主鍵 外鍵 說明 GUIDtable nvarchar(50) 是 對應(yīng)_GUID表 Code nvarchar(50) 代碼表的UID Name nvarchar(100) 代碼表的名稱 Summary nvarchar(50

8、0) 代碼表說明 method ntext 編碼方法 AppScope nvarchar(200) 應(yīng)用范圍 StandardID int 是 標(biāo)準(zhǔn)ID號 動態(tài)維護(hù)型標(biāo)準(zhǔn)修改單信息表(DynamicAmend):這個表存放了對于標(biāo)準(zhǔn)動態(tài)修改單的根本信息。GUIDTable字段與動態(tài)維護(hù)型代碼集標(biāo)準(zhǔn)信息表中的GUIDtable關(guān)聯(lián)。表3動態(tài)維護(hù)性標(biāo)準(zhǔn)修改單信息表 字段名稱 數(shù)據(jù)類型 主鍵 外鍵 說明 ID Int 是 修改單ID號 standardID nvarchar(800) 是 標(biāo)準(zhǔn)ID號 GUIDTable nvarchar(200) 是 對應(yīng)_GUID表 title nvarchar(

9、200) 修改單標(biāo)題 ver tinyint 動態(tài)創(chuàng)立這個表,其中動態(tài)列是數(shù)據(jù)元與代碼表的屬性字段。 表4動態(tài)維護(hù)型標(biāo)準(zhǔn)數(shù)據(jù)信息表 字段名稱 數(shù)據(jù)類型 說明 動態(tài)列 nvarchar(50) 動態(tài)維護(hù)型標(biāo)準(zhǔn)修改單詳細(xì)信息表(_GUID_DynamicPA):這個表記錄了對標(biāo)準(zhǔn)內(nèi)容維護(hù)的歷史記錄。其中動態(tài)列與_GUID表中的動態(tài)列代表含義一樣。表5動態(tài)維護(hù)型標(biāo)準(zhǔn)修改單詳細(xì)信息表 字段名稱 數(shù)據(jù)類型 主鍵 外鍵 說明 ID int 是 自動編號 DynamicAID int 是 修改單ID號 Operation tinyint 0Insert;1update; 2delete; flag tiny

10、int 修改標(biāo)識:0原信息; 1更改后信息 動態(tài)列 nvarchar(50) 同_GUID表 UpdateTime Datetime 更新時間 IDName nvarchar(200) 修改刪除時GUID表的ID 動態(tài)維護(hù)型標(biāo)準(zhǔn)版本信息表(_GUID_Version):這個表中記錄了標(biāo)準(zhǔn)的版本信息表6動態(tài)維護(hù)型標(biāo)準(zhǔn)版本信息表 字段名稱 數(shù)據(jù)類型 主鍵 外鍵 說明 ID int 是 自動編號 ver varchar(50) 版本號 updateTime Datetime 更新時間 summary varchar(50) 說明信息 4.5、標(biāo)準(zhǔn)動態(tài)維護(hù)的實現(xiàn)根據(jù)第二局部標(biāo)準(zhǔn)結(jié)構(gòu)化,將數(shù)據(jù)元標(biāo)準(zhǔn)與代

11、碼集標(biāo)準(zhǔn)的屬性字段抽取出來寫入MDB文件或EXCEL文件。C#中OLEDB組件支持ACCESS數(shù)據(jù)庫MDB文件和EXCEL文件的讀取。利用OLEDB技術(shù)讀取結(jié)構(gòu)化的標(biāo)準(zhǔn)內(nèi)容,按照流程圖圖1的流程,在數(shù)據(jù)庫中創(chuàng)立對應(yīng)的表并把MDB文件中的內(nèi)容存入數(shù)據(jù)庫。首先生成一個GUID碼,然后判斷這個GUID碼在數(shù)據(jù)庫中是否有表名與之重復(fù),如果沒有重復(fù)就創(chuàng)立_GUID、_GUID_Version、_GUID_DynamicPA三個表并把MDB文件中的內(nèi)容存入_GUID和_GUID_Version表中。圖1標(biāo)準(zhǔn)內(nèi)容導(dǎo)入流程圖對于標(biāo)準(zhǔn)內(nèi)容的動態(tài)維護(hù)根本可以總結(jié)為對具體內(nèi)容的添加,修改,刪除。我們引入了一個修改單

12、的概念,修改單的例如頁面為下列圖。如圖2所示,修改單填寫了要維護(hù)的標(biāo)準(zhǔn)和維護(hù)的具體內(nèi)容和操作方式。圖2標(biāo)準(zhǔn)內(nèi)容維護(hù)圖3標(biāo)準(zhǔn)內(nèi)容動態(tài)維護(hù)流程圖在圖3中可以清楚的看出_GUID_DynamicPA中存放的是標(biāo)準(zhǔn)信息各個版本之間內(nèi)容的變化,這里用flag字段標(biāo)識是否為新版本,用operate字段標(biāo)識對于標(biāo)準(zhǔn)維護(hù)操作的類型。在保存完版本之間內(nèi)容變化后,我們根據(jù)修改單的內(nèi)容去對_GUID表進(jìn)行操作,使_GUID表的數(shù)據(jù)始終為最新版本的內(nèi)容。這樣我們就完成了對于標(biāo)準(zhǔn)內(nèi)容的動態(tài)維護(hù)。數(shù)據(jù)修改單提交后,系統(tǒng)的數(shù)據(jù)庫中就已經(jīng)存放了標(biāo)準(zhǔn)內(nèi)容的歷史記錄。但是如何對這些記錄進(jìn)行查詢,如何對標(biāo)準(zhǔn)內(nèi)容各版本之間進(jìn)行比擬仍

13、然是個問題。下面介紹對于歷史版本的查詢和各個版本之間比擬的具體實現(xiàn)方法。首先,系統(tǒng)得到用戶要查詢的標(biāo)準(zhǔn)的GUID碼,然后查詢GUID碼所對應(yīng)的_GUID_Version表。列出所有的版本信息讓用戶選擇要查詢的數(shù)據(jù)的版本。如果用戶要查詢最新版本的數(shù)據(jù)內(nèi)容,那么直接取_GUID表中的內(nèi)容即可。如果用戶要查看歷史版本的信息,首先要得到所選擇的版本信息的更新時間,以時間為條件,去_GUID_DynamicPA表中查詢出所有大于版本信息更新時間的記錄,并按_GUID_DynamicPA中的ID降序排列,這樣就得出了在要查詢的歷史版本和最新版本的時間間隔之內(nèi)所做的所有操作為了下面表達(dá)簡潔,假設(shè)把這些數(shù)據(jù)放

14、在名稱叫OPER的表中?,F(xiàn)在我們要做的工作就是利用_GUID表中的最新版本的內(nèi)容與OPER表中的所有數(shù)據(jù)恢復(fù)到要查詢的歷史版本。恢復(fù)歷史版本的具體步驟:(1)建立臨時表#GUID并復(fù)制_GUID表中的數(shù)據(jù)。(2)循環(huán)開始,依次從OPER表中取一條記錄。如果沒有記錄了,執(zhí)行9。(3)如果記錄中的operate字段為0,那么執(zhí)行6。(4)如果記錄中的operate字段為2,那么執(zhí)行7。(5)如果記錄中的operate字段為1并且flag字段為1,那么執(zhí)行8。(6)從#GUID表中刪除該記錄。執(zhí)行2。(7)把該記錄插入到#GUID表中。執(zhí)行2。(8)取下一條記錄的內(nèi)容并更新到#GUID表中的相應(yīng)位置

15、。執(zhí)行2。(9)循環(huán)結(jié)束。最終#GUID表中的值就是用戶要查詢的歷史版本。查詢結(jié)果截圖為圖4:圖4標(biāo)準(zhǔn)最新內(nèi)容查詢由于表_GUID_DynamicPA中記錄著每個標(biāo)準(zhǔn)數(shù)據(jù)內(nèi)容的更改記錄,所以要實現(xiàn)數(shù)據(jù)內(nèi)容版本之間的比擬的結(jié)果就可以從這個表中得到。首先用戶選擇任何2個要進(jìn)行比擬的版本,然后查詢_GUID_Version中所選版本信息所對應(yīng)的更新時間。這樣我們就得到2個更新時間假設(shè)為startTime和finishTime,我們再以這2個時間作為條件,查詢_GUID_DynamicPA表,最終得到結(jié)果。具體的SQL語句如下:select操作=casewhen(operation=0)then添加w

16、hen(operation=1andflag=0)then由when(operation=1andflag=1)then改為when(operation=2)then刪除else未知操作end,動態(tài)列就是導(dǎo)入到_GUID表中的列fromdbo.whereupdatetimeisnotnullandupdatetime=startTimeandupdatetime具體顯示頁面如下:圖5標(biāo)準(zhǔn)最新內(nèi)容查詢5、結(jié)束語本文從當(dāng)前標(biāo)準(zhǔn)管理系統(tǒng)不能夠?qū)?biāo)準(zhǔn)內(nèi)容進(jìn)行很好的動態(tài)維護(hù)出發(fā),對于如何對標(biāo)準(zhǔn)進(jìn)行動態(tài)維護(hù)提出設(shè)計方案并且運(yùn)用與sqlsever實現(xiàn)。具體實現(xiàn)的功能有動態(tài)導(dǎo)入標(biāo)準(zhǔn)數(shù)據(jù)元或代碼集的內(nèi)容、動態(tài)維

17、護(hù)包括添加、修改、刪除標(biāo)準(zhǔn)內(nèi)容、對歷史版本的查詢和各個版本之間的比擬。本文提出的標(biāo)準(zhǔn)內(nèi)容動態(tài)管理的思想,已成功運(yùn)用到財政部標(biāo)準(zhǔn)管理平臺中,使標(biāo)準(zhǔn)管理平臺更加完善。參考文獻(xiàn)1 米愛娟,楊曉玲,竇玲. 淺析標(biāo)準(zhǔn)的重要性. 中國纖檢, 2021,02:41.3 張新. 工程設(shè)計標(biāo)準(zhǔn)的動態(tài)管理. 工程設(shè)計與研究, 2002,111:49-51.4 應(yīng)毅,毛宇光,劉正濤. 基于ADO.NET技術(shù)的Web訪問數(shù)據(jù)庫應(yīng)用于實現(xiàn). 計算機(jī)與現(xiàn)代化, 2005,4:64-67.5 美Simon Robinson,K Scott Allen.楊鐵男譯. C#高級編程. 北京:清華大學(xué)出版社, 2002.6 Shao Liping.Discussion of ASP.NET: The New Generation Web DevelopingTechnique. Control Automation,2005,(1):191-192.7 黃聰明. C#面向?qū)ο蟪绦蛟O(shè)計.北京:科學(xué)出版社,2004.8 馬麗紅,蔡東宏. 用ASP開發(fā)基于B/S模式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論