發展
第一階段
從20世紀60年代末期到70年代初期為第一階段。在計算機發展早期,由於問題規模較小,需求定義語言研究的重要性並未引起足夠重視,人們常採用自然語言來書寫一些簡單的需求。自然語言對於規模較小的套用還能夠應付,但對於大型軟體系統,其內在的非形式性導致需求定義中經常出現錯誤,並且由於由機器自動處理自然語言的非形式性異常閒難而使得糾正需求定義中的錯誤不僅代價高而且費時。隨計算機套用規模的不斷擴大,特別是自1968年在大兩洋公約學術會議提出軟體工程以來,人們逐漸認識到需求定義語言的重要性,開始研究各種類型的需求定義語言。
第二階段
從70年代初期到80年代中期為第二階段。由於認識到:非形式自然語言給需求定義帶來的種種不足,人們以軟體方法學為基礎,開始研究需求定義語言的形式化問題。提出諸如基於自頂向下途徑的SA,基於自底向上途徑的問題陳述語言PSL,以及基於面向對象思想的需求定義語者RML等,這類語言的重要特徵是較自然語言有比較精確的語法和語義定義,從而便於分析其各種性質,利於用計算機提供自動化的支持。
第三階段
80年代中期迄今為第三階段。隨著軟體系統複雜性的提高和規模的增大,需求定義愈加困難和耗時;傳統的需求定義語言由於採用的模型和問題領域差距較大,從而使得需求定義的易理解性和易維護性較差。而面向對象模型由於和問題結構之間有良好的對應關係而較好地滿足需求定義的需要。因此,面向對象需求模型的研究成為熱門課題並展示出良好的前景,代表性的工作有J.Rumbaugh等提出的模型以及D.W.Embley等提出的模型,這些模型以對象及其相互間的關係為核心,以圖形化表示機制為手段來刻畫系統,不僅能反映系統的靜態結構關係,而且能反映系統的動態變化行為,為解決傳統功能分解模型中存在的功能本身的易變性、分解結構的隨意性以及功能結構與問題結構常難對應等問題提供廠有效途徑。
形式化
按照形式化的程度,需求定義語言可分為非形式需求定義語言,半形式需求定義語言,以及形式需求定義語言三類。
非形式需求定義語言是指未作任何限制的自然語言。一般說來,非形式需求定義語言具有易理解、易使用的特點,易於為一般用戶所接受。但是由於自然語言的非形式性而使得需求定義中常出現錯誤,並且難以用計算機系統提供自動化的支持。半形式需求定義語言是指在巨觀上對語言的語法和語義有較精確的描述,而在某些局部方面則允許使用非形式的自然語言。這類語言既便於用戶的表達和理解相應的需求定義,又可在某種程度上用機器對相應的需求定義進行管理和進行部分的正確性檢查。形式需求定義語言是指其語法和語義均精確定義的語言。一般說來,形式化需求定義語言具有良好的數學基礎,易於分析需求定義的各種性質。然而,形式需求定義語占往往要求朋戶具有較高的數學修養,且相對說來,所書寫的需求定義較難理解。