軟體語言
用於書寫計算機軟體的語言
軟體語言(Software Language)是用於書寫計算機軟體的語言。它主要包括需求定義語言、功能性語言、設計性語言、程序設計語言以及文檔語言等。
需求定義語言用以書寫軟體需求定義,軟體需求定義是軟體功能需求和非功能需求的定義性描述。軟體功能需求刻畫“做什麼”,軟體非功能需求刻畫諸如功能性限制、設計限制、環境描述、數據預通信規程以及項目管理等。
功能性語言用以書寫軟體功能規約,軟體功能規約是軟體功能的嚴格而完整的陳述。軟體功能規約通常只刻畫軟體系統“做什麼”的外部功能,而不涉及系統“如何做”的內部演演算法,因此,功能性語言通常又稱為功能規約語言。
從形式化的程度看,有非形式化功能性語言和形式化功能性語言之分。功能性語言涉及對象,規約方法以及規約性質等。
規約對象主要包括過程抽象和數據抽象兩類:
過程抽象是指從輸入值到輸出值集的映射,其定義域和值域均由數據抽象刻畫。
數據抽象則提供了數據值及其上的運算符集。規約方法涉及如何對過程抽象預數據抽象進行規約。
設計性語言用以書寫軟體設計規約。軟體設計規約是軟體設計的嚴格而完整的陳述。
一方面,它是軟體功能規約的演演算法性細化,刻畫了軟體“如何做”的內部演演算法;
另一方面,它又是軟體實現的依據從。從細化程度來看,有總體設計規約與詳細設計規約之分。前者刻畫設計的總計框架;後者刻畫詳盡細節。
實現性語言,即一般的程序設計語言,用於計算機程序、處理對象和規則的描述。程序設計語言有高級語言和低級語言之分。
文檔語言用以書寫軟體文檔。以上的軟體需求定義,軟體功能規約,軟體設計規約等都是軟體文檔。此外還可能有一些其他闡明性的資料,這些也是軟體文檔。
PDL:一種典型的設計性語言,常用於詳細的設計。
Z:一種功能性語言,是以一階謂詞演算為基礎的一種規約語言。
程序設計語言用於書寫計算機語言,包含語法、語意和語用三個方面。
RPG:非過程式語言。
C++:面向對象語言。
Java:面向對象語言。
Smalltalk:面向對象語言。