簡介
智慧型模型基於知識的軟體開發模型,它與專家系統結合在一起。該模型套用基於規則的系統,採用歸納和推理機制,幫助軟體人員完成開發工作,並使維護在系統規格說明一級進行。 該模型在實施過程中要建立知識庫,將模型本身、軟體工程知識與特定領域的知識分別存入資料庫。以軟體工程知識為基礎的生成規則構成的專家系統與含套用領域知識規則的其他專家系統相結合,構成這一套用領域軟體的開發系統。
詳細說明
智慧型模型也稱為“基於知識的軟體開發模型”,它把瀑布模型和專家系統結合在一起,利用專家系統來幫助軟體開發人員的工作。該模型套用基於規則的系統,採用歸納和推理機制,使維護在系統規格說明一級進行。這種模型在實施過程中以軟體工程知識為基礎的生成規則構成的知識系統與包含套用領域知識規則的專家系統相結合,構成這一套用領域軟體的開發系統。採用智慧型模型的軟體過程如下圖所示: 智慧型模型擁有一組工具(如數據查詢、報表生成、數據處理、螢幕定義、代碼生成、高層圖形功能及電子表格等),每個工具都能使開發人員在高層次上定義軟體的某些特性,並把開發人員定義的這些軟體自動地生成為原始碼。這種方法需要四代語言(4GL)的支持。4GL不同於三代語言,其主要特徵是用戶界面極端友好,即使沒有受過訓練的非專業程式設計師,也能用它編寫程式;它是一種聲明式、互動式和非過程性程式語言。4GL還具有高效的程式代碼、智慧型預設假設、完備的資料庫和應用程式生成器。目前市場上流行的4GL(如Foxpro等)都不同程度地具有上述特徵。但4GL目前主要限於事務信息系統的中、小型應用程式的開發。
必要性
智慧型模型所要解決的問題是特定領域的複雜問題,涉及大量的專業知識,而開發人員一般不是該領域的專家,他們對特定領域的熟悉需要一個過程,所以軟體需求在初始階段很難定義得很完整。因此,採用原型實現模型需要通過多次疊代來精化軟體需求。
智慧型模型以知識作為處理對象,這些知識既有理論知識,也有特定領域的經驗。在開發過程中需要將這些知識從書本中和特定領域的知識庫中抽取出來(即知識獲取),選擇適當的方法進行編碼(即知識表示)建立知識庫。將模型、軟體工程知識與特定領域的知識分別存入資料庫,在這個過程中需要系統開發人員與領域專家的密切合作。
智慧型模型開發的軟體系統強調數據的含義,並試圖使用現實世界的語言表達數據的含義。該模型可以勘探現有的數據,從中發現新的事實方法指導用戶以專家的水平解決複雜的問題。它以瀑布模型為基本框架,在不同開發階段引入了原型實現方法和面向對象技術以克服瀑布模型的缺點,適應於特定領域軟體和專家決策系統的開發。