過程實現方法

過程實現方法

過程實現方法(procedural implementation method)是指藉助過程化手段將軟體規約轉化目標程式的方法。簡稱過程方法。如果對應軟體規約中的各個成分,其轉換目標的相應成分明確,該映射可藉助過程來實現。過程方法的實現基本類似古典高級語言的編譯技術,它是軟體自動化較為成熟的一個實現路徑。

定義

軟體規約是指軟體所應滿足的要求的陳述。它是軟體開發的依據,也是軟體自動化的依據。過程實現方法是指軟體規約中需求作為過程進行管理,並實現目標程式。過程方法所採用的技術實質上是擴展編譯技術。用過程方法實現軟體系統是通過某種高級語言來描述問題規約、並藉助其編譯程式自動生成可執行的程式代碼。雖然該方法的實現效率較高,但從非算法成分到算法性成分的轉換卻較難實現,高級語言的抽象成分越多,就越難編譯。

軟體自動化

儘可能藉助計算機系統實現軟體開發的方法。計算機系統除泛指一般系統外,尤指用於軟體開發的系統,特別是軟體自動化系統。“儘可能”一詞反映軟體開發的自動化程度。軟體開發是指除維護階段外的軟體生存全期,即從非形式的軟體需求定義,經形式的軟體功能規約、 軟體設計規約到可執行的程式代碼、調試及至確認、交付使用的全過程。

軟體自動化也可狹義地理解 , 從形式的軟體功能規約到可執行的程式代碼這一過程的自動化。可執行的程式代碼既可指低級語言程式代碼,也可指高級語言程式代碼。此外,自動化的程度是相對的,其高低一般因系統而異。軟體自動化一詞幾乎和軟體一詞同時出現,原稱自動程式設計。早在20世紀50年代,程式人員從程式設計實踐中深感程式設計工作的繁瑣、 不易、低效 ,便試圖在可能範圍內將一些機械性工作委交機器本身去做。在那時,實現高級語言的編譯就是自動程式設計, 如 1956 年美國國際商業機器公司(IBM)建立的第一個實用的 FORTRAN 編譯程式曾被稱為自動程式設計系統。60 年代,出現了編譯程式的編譯程式和各種自編譯程式。軟體工程出現後,軟體自動化的含義得到較大發展,其自動化的內容涉及到軟體生存全期的各個階段。

軟體自動化分三個不同層次:一為低級自動化:自動化系統只起程式人員的作用,亦即,從軟體設計規約到可執行的程式代碼這一過程的自動化。二為中級自動化:自動化系統除了起程式人員的作用外,還起設計人員的作用,甚至起部分系統分析人員的作用。亦即,從形式的軟體功能規約、到設計規約、直到可執行的程式代碼這一過程的自動化。三為高級自動化:自動化系統除了起程式人員、 軟體設計人員、 系統分析人員的作用外,還起部分領域專家的作用。亦即,從非形式的軟體需求定義,經形式的軟體功能規約、軟體設計規約,直到可執行的程式代碼這一全過程的自動化。

擴展編譯技術

計算機語言之所以能由單一的機器語言發展到現今的數千種高級語言,就是因為有了編譯技術。 編譯技術是計算機語言發展的支柱,也是計算機科學中發展最迅速、最成熟的一個分支,它集中體現了計算機發展的成果與精華。 編譯技術的核心思想就是把同樣的邏輯結構和思想從一種語言表示轉化為另外一種語言表示。 從高級語言,甚至是運行於虛擬平台的高級語言,到機器語言,最終到硬體執行的物理信號,這一層層轉化,即 編譯技術,就是把高級計算機語言編寫的程式代碼翻譯成為計算機可以運行的二進制機器語言代碼的技術。對高級語言而言,由於它含有抽象級別較高的語言成分,傳統編譯程式不能有效地將它們直接編譯成目標代碼 。為此,必須放寬對傳統編譯的限制,即除源程式外,程式人員還可以提供附加的建議或說明,例如對抽象級別較高的語言成分選擇合適的數據表示,這種方式成為擴展編譯技術。擴展編譯與傳統編譯接近之處在於:編譯本身能自動進行,且產生的目標代碼是可執行的。程式人員提供附加信息的目的是便於生成高效的代碼。

相關詞條

相關搜尋

熱門詞條

聯絡我們