當前位置:編程學習大全網 - 源碼下載 - 倉庫源代碼分析

倉庫源代碼分析

程序文檔和動態文檔的集成

許多企業已經建立了許多龐大的計算機管理系統,並將不斷推出新的系統。為了滿足業務的需要,我們必須不斷地維護和改造計算機系統,但同時,我們必須建立壹套評估、控制和完成系統維護的機制。在軟件維護過程中,提出了程序和文檔集成的概念,在軟件開發的同時建立動態文檔。

提出了程序與文檔壹體化的概念

首先,軟件的當前狀態

程序和文檔的形式是分離的,不僅以各自獨立的形式存儲,而且在不同的時間由不同的工具編寫和檢索。在維護程序時,不能方便地獲得文檔的幫助,也不能同步修改文檔。

程序的內容與文檔的內容是分開的。因為程序和文檔的描述方式不同,所以既有計算機語言,也有自然語言。在維護過程中,文檔或程序不能及時、壹致地更新,使得文檔無法準確描述程序,幾乎成為廢紙甚至帶來負價值。

軟件開發和維護的分離,大部分軟件的設計和開發都沒有考慮未來可能發生的變化,增加了軟件維護的難度,也容易引入新的錯誤。

這些分離還表現在設計和開發的不同階段的文檔之間的不兼容。比如《需求分析規範》就是壹紙東西,在大綱設計階段不能很好的繼承和利用。在設計和編寫概要設計時,需要從零開始,重新分析和理解需求分析。這種思維脫節不僅耽誤了開發進度,增加了設計人員的負擔,而且由於理解的不同,導致不同階段描述的對象有很多不兼容的地方。這些分離使得文檔在系統設計、開發和維護中的作用下降,這也是很多軟件人員不願意寫文檔的主要原因。

其次,提出了程序與文檔壹體化的概念。

什麽是好的文檔系統?應具有以下屬性:

1.軟件描述準確,易於理解;

2.能夠快速定位錯誤,分析影響,並糾正設計;

3.它可以提高軟件維護的質量;

4.修改時便於理解程序。

因此,提出了程序與文檔壹體化的概念。這個概念讓軟件成為真正的軟件:程序+文檔,程序就是文檔,文檔集成在程序中。它要求在選擇開發環境時,不僅要考慮環境對設計和開發的完善支持,還要考慮對維護和文檔的支持;它要求軟件人員在設計和開發過程中考慮維護問題和文檔問題;它要求程序和文檔存儲在同壹位置和系統中;它需要使用相同的工具來編寫和檢索程序和文檔;它需要在形成文檔的同時編寫和維護程序,在編寫文檔的同時編寫和維護程序。程序和文檔集成的概念不僅存在於系統設計和開發階段,也存在於系統維護階段,貫穿於軟件的生命周期。

動態文檔系統(Dynamic document system)是壹個基於程序與文檔壹體化概念的易於理解的在線文檔系統,它與文檔和程序是壹致的。它包括組件和數據的描述,組件和數據之間關系的描述。動態文檔系統通過提高文檔的可用性、易用性和壹致性,使文檔更加有效,是解決維護問題的有效途徑。

動態文檔系統問題分析

要解決的問題有:軟件文檔的內容劃分與獲取,文檔的存儲與維護,文檔的檢索,軟件文檔的生成與打印。

1.軟件文檔的內容分為語義文檔、結構文檔和過程文檔。

語義文檔是對軟件功能、概念、總體設計、過程、規範等的描述。用自然語言。它是軟件人員根據規範使用CASE工具編寫和填寫的文檔。它也是靈活添加的附加信息,用於更全面地解釋文檔。

結構文檔是在軟件設計工具和開發環境中對對象屬性、組件間接口、組件間引用關系以及軟件結構的描述。使用詞法和語法分析程序對整個系統的對象和組件進行識別和分析,獲得上述描述並形成表格文件。

過程文檔是在軟件設計、編碼和維護過程中形成的過程描述和程序註釋,如對設計目的、設計者、時間等的描述。,並利用開發環境記錄軟件人員在設計、開發、維護過程中的操作,形成操作跟蹤。

第二,程序和文件的統壹存儲和維護

根據程序與文檔集成的概念和從程序中提取文檔的要求,文檔必須存儲在程序中,甚至存儲在文檔固有的源代碼中。具有這種結構的程序源代碼的存儲必須采用壹種新的技術——對象庫技術,而不是流文件,這樣程序和文檔就可以結合和分離。程序和文檔組合在壹個對象倉庫和統壹的開發環境中;結合起來,修改代碼的同時可以修改文檔,修改文檔的同時可以手動檢查修改程序,手動輸入的文檔在多次生成文檔後也不會丟失。程序和文檔應該存儲在對象倉庫的不同表或字段中,並在編譯時和運行時分開。

第三,文獻檢索

單個對象和組件文檔的檢索方法是,如果文檔存儲在對象倉庫中,則可以與源代碼壹起檢索和維護。這種檢索為分析和維護單個組件和對象提供了文檔支持。建立各種視圖,編寫程序為整個系統檢索獲取文檔,完成整個系統的分析,為整個系統提供實時文檔支持。這將在示例中更詳細地描述。

第四,軟件文檔的生成和打印

編寫程序檢索獲取整個系統的文檔,按照國家軟件標準的文檔模式建立文檔模板,根據模板生成文檔,利用文字處理軟件的強大功能創建、編輯、打印文檔。

根據以上分析,文檔的分發和獲取對開發環境提出了要求:開發環境應該是設計工具和開發工具的集成,應該基於CASE技術、對象倉庫技術、組件技術和OLE技術。基於案例技術的開發環境;在設計、開發和維護過程中形成的文檔被嵌入到程序代碼中,從而使文檔成為程序的壹部分。基於對象倉庫技術的開發環境,文檔和程序都存儲在對象倉庫中,便於檢索。基於組件技術的開發環境便於識別和獲取組件,分析和形成結構文檔和過程文檔。基於OLE等技術,文檔可以很好的利用Word等文檔處理軟件。

動態文檔系統的應用實例

廣州電信科技發展有限公司設計開發的名為‘97系統’的龐大電信管理計算機系統,在1997投產驗收後,將長期用於生產。維護工作非常重要和緊迫。這為動態文檔系統提供了需求和測試場所。在長期的維護過程中,我認識到了好文檔的重要性,提出了程序文檔集成的概念,為動態文檔系統提供了理論基礎。1997系統使用Uniface開發環境。該開發環境采用了CASE技術、對象倉庫技術和組件技術,為動態文檔系統提供了技術支持。

壹、廣州電信動態文檔系統的建立步驟

1.了解Uniface和Oracle工具的開發環境,規劃語義文檔在各級對象中存儲的表和字段,根據工具的特點制定填寫規則。

2.在Uniface和Oracle工具中查找存儲結構文檔和流程文檔的表和字段。

3.在設計、開發和維護軟件的過程中,根據規則填寫這些表格或字段。

4.建立壹套模板,將文檔結構與信息源進行映射,包括:數據字典模板、設計文檔模板、結構文檔模板、開發流程文檔模板等。

5.將這些模板組裝成壹個文檔系統,並使其獨立於開發目標系統。

廣州電信動態文檔系統可分為文檔查詢、維護記錄查詢和文檔生成。

文檔查詢不僅包括對組件和數據的描述,還包括對組件和數據之間關系的描述。這是壹個實時在線文檔查詢系統。維護記錄查詢是記錄和跟蹤軟件維護過程中各個環節的進度,用於規範維護工作。包括問題報告、問題分析、錯誤定位、維修設計、維修執行、確認測試、維修回顧、維修提交、問題跟蹤等。文檔生成是根據需要實時生成軟件設計規範。

二、程序與文檔集成的概念和動態文檔系統的意義

廣州電信動態文檔系統的基本任務是輔助錯誤定位、維護影響分析、記錄維護進度和生成文檔。用Uniface的開發環境開發,可以安裝在用Uniface開發的不同應用系統中。該系統在維護1997年計費系統中發揮了重要作用。

它倡導程序與文檔壹體化的理念,提出文檔即程序、程序即文檔的思想,實現了程序中文檔融合的思想,指導軟件人員有效工作。集成的理念貫穿於設計、開發、維護的整個軟件周期,保證了文檔之間的繼承性和壹致性。在設計和開發的每個階段,都是繼承前壹階段的程序和文檔的結果。這大大消除了程序與文檔之間、文檔與文檔之間的不壹致,加快了軟件設計的進度,提高了軟件開發和維護的質量。它是軟件工程在具體應用中的壹種嘗試,從程序和文檔集成的角度進壹步規範了軟件的設計、開發和維護。程序和文檔集成的概念為軟件開發環境的開發提供了壹種思路。設計更好的對象倉庫,滿足開發者和維護者對程序文檔集成概念的需求。

動態文獻系統的局限與發展

廣州電信的動態文檔系統有很大的局限性,只能在Uniface或Oracle開發的系統中使用。目前,廣州電信動態文檔系統中組件的識別和獲取主要依靠開發工具提供的組件及其特性。這種動態文檔系統很難在壹些3GL工具——沒有使用對象倉庫技術和組件技術開發的軟件中實現程序和文檔的集成和分離。大型軟件系統環境復雜,往往采用多種開發環境。如何支持其他開發環境,需要技術探討和實踐探索。

另壹個局限是,目前的動態文檔系統描述的是程序文檔,主要是在編碼和維護過程中構建的,系統進入維護階段。如何讓動態文檔系統既支持軟件維護階段,又支持軟件設計開發階段?壹個可能的解決方案是將軟件復用技術拓寬到包含文檔復用,包括程序復用、程序文檔復用和設計文檔復用,並基於這個軟件復用系統構建壹個動態文檔系統。

  • 上一篇:如何用c#做壹個秒表
  • 下一篇:請問什麽是量比,傭金比,傭金差?
  • copyright 2024編程學習大全網