来自维基百科,自由的百科全书
軟件智能是對軟件資產內部結構狀態的瞭解,是透過專用軟件來分析數據庫結構、軟件框架及原始碼後的產物,目的是瞭解並管理複雜的軟件系統[1]。軟件智能和商業智能(BI)類似,都是用數據挖掘及探究軟件內部架構的軟件工具及相關技術所產生。分析結果可以用在商業上,提供給和軟件有關的人士,以便進行決策、討論軟件的健康情形、量度軟件開發組織的效率,並且預防大型的軟件災難[2]。
軟件元件及主題既有複雜性,範圍又很廣,軟件智能和以下的軟件層面有關:
軟件智能有以下的組成內容:
若希望軟件智能系統順利的在企業內導入,就需要有使用者相關的考量。最終的目的是軟件智能系統可以被使用者接受,在日常作業中應用,為組織加值。若系統無法完成使用者的任務,依照M. Storey在2003年所述的,使用者就不會使用此一系統了[12]。
在程式碼以及系統呈現的層面上,軟件智能系統需要可以提供不同程度的抽象化:為了瞭解並且分析軟件系統,在設計、解釋、文件化上都需要抽象的觀點,也需要另一個詳細的觀點[13]。
在管理的層面上,客戶對軟件智能的接受度和系統的內在功能有關,也和系統的輸出有關。包括了以下的需求:
軟件智能已應用在許多和軟件環境有關的企業中,可能是針對專業軟件、個人用軟件或是嵌入式軟件。 依照元件的用途以及企業應用的原因,軟件智能可能和以下事務有關:
。軟件智能可以量測軟件開發的生產力,和企業目標之間的差距,相關資料可以給企業以及IT部門的主管[20]。評估以及基準測試可以幫助企業以及IT部門主管針對軟件進行正式、以事實為基礎的決策[21]。
軟件智能已逐漸的用在上述的應用中。以下是行銷層面需要此一技術的原因:
Seamless Wikipedia browsing. On steroids.