軟件語言(software language)是用於書寫計算機軟件的語言。它主要包括需求定義語言、功能性語言、設計性語言、程序設計語言以及文檔語言等。
需求定義語言用以書寫軟件需求定義,軟件需求定義是軟件功能需求和非功能需求的定義性描述。軟件功能需求刻畫“做什麽”,軟件非功能需求刻畫諸如功能性限製、設計限製、環境描述、數據預通信規程以及項目管理等。需求定義語言經歷了從非形式的自然語言到半形式化語言以及形式化語言的發展,迄今半形式化的需求定義語言已經有很大的發展,已逐步用於軟件工程的實踐。
功能性語言用以書寫軟件功能規約,軟件功能規約是軟件功能的嚴格而完整的陳述。軟件功能規約通常衹刻畫軟件係統“做什麽”的外部功能,而不涉及係統“如何做”的內部算法,因此,功能性語言通常又稱為功能規約語言。從形式化的程度看,有非形式化功能性語言和形式化功能性語言之分。功能性語言涉及對象,規約方法以及規約性質等。規約對象主要包括過程抽象和數據抽象兩類:過程抽象是指從輸入值到輸出值集的映射,其定義域和值域均由數據抽象刻畫。數據抽象則提供了數據值及其上的運算符集。規約方法涉及如何對過程抽象預數據抽象進行規約。
設計性語言用以書寫軟件設計規約。軟件設計規約是軟件設計的嚴格而完整的陳述。一方面,它是軟件功能規約的算法性細化,刻畫了軟件“如何做”的內部算法;另一方面,它又是軟件實現的依據從。從細化程度來看,有總體設計規約與詳細設計規約之分。前者刻畫設計的總計框架;後者刻畫詳盡細節。
實現性語言,即一般的程序設計語言,用於計算機程序、處理對象和規則的描述。程序設計語言有高級語言和低級語言之分。
文檔語言用以書寫軟件文檔。以上的軟件需求定義,軟件功能規約,軟件設計規約等都是軟件文檔。此外還可能有一些其他闡明性的資料,這些也是軟件文檔。
各種軟件語言
pdl:一種典型的設計性語言,常用於詳細的設計。
z:一種功能性語言,是以一階謂詞演算為基礎的一種規約語言。
程序設計語言用於書寫計算機語言,包含語法、語意和語用三個方面。
prolog:非過程式語言,一種說明性語言,一種人工智能程序設計語言。
rpg:非過程式語言。
c++:面嚮對象語言。
java:面嚮對象語言。
smalltalk:面嚮對象語言。 |