基本介紹
- 中文名:軟體支援環境
- 外文名:software support environment
- 組成:由集成機制和一組工具組成
- 目的:提高產品質量
組成,集成機制,工具,特點,實用性,集成性,開放性,可移植性,構造,分類,
組成
軟體支援環境由集成機制和一組工具組成。
集成機制
主要由環境庫、一組環境基本語言、用戶界面以及一些輔助設施所組成。環境庫用來存放和管理各種軟體工具和軟體開發項目本身的信息。環境基本語言主要指構造環境的工作語言和使用環境的控制語言。所謂工作語言,是指用來編寫軟體工具及工具片段的語言,在環境庫管理機制的支持下運行。所謂控制語言,是指用來構造軟體開發活動的語言,即用來編寫軟體開發活動的規程,通過對規程的執行來操縱軟體工具,實現工具之間的轉接,達到某種程度上軟體開發活動的脫機執行。用戶界面在風格上的一致性是軟體支援環境集成的外部體現,它表現在環境中各個工具都有同樣的操作方式和參數約定,實現用戶和環境之間的良好互動,其理想狀態可使用戶不一定要記住正在使用的是哪一個工具。現代軟體工程環境多採用面向對象的風格來設計用戶界面,現代的計算機圖形技術可以方便地使這種用戶界面非常直觀,使用十分簡捷。
工具
由通用工具和專用工具所組成。包括系統分析工具、軟體設計工具、程式編碼工具、軟體測試工具、軟體理解工具 、配置管理工具 、版本管理工具 、 文檔出版工具、在線上求助工具等。支持特定軟體方法學的環境還包括一些特定的工具,如原型快速生成工具和面向對象開發工具等。在對象庫中,它們或以單獨的對象存放,或以工具片段的形式存放,在使用前動態生成。但是,它們都與對象庫有統一的數據接口,利用訊息機制進行通信,實現操作實體的規範式傳送,從而使同一軟體開發活動中各工具之間的轉接變得相當平滑。
軟體支援環境的集成主要表現在數據集成、界面集成和過程集成( 又稱控制集成 )3個方面,即統一的數據存放方式、統一的表現風格和統一的使用方式上。這三者中數據集成是基礎,而面向對象的軟體開發方法學使軟體支援環境的高度集成變為可能。
特點
現代軟體支援環境應具備以下特點。
實用性
包括堅定性和可用性兩個方面,即環境應不受或少受來自用戶和系統錯誤的影響,具備自我恢復的能力。同時,環境必須能夠支持軟體開發和維護過程中的各種活動,而不能只支持某一方面、某個階段的活動;應支持各種層次人員的活動,而不能只支持某類人員的活動。環境必須具有高效、快速和低開銷的特點,適應大多數軟體人員的工作習慣,儘量使現有軟體開發人員少受或不受專門培訓就可以方便地使用它來開發大型軟體項目。
集成性
開放性
軟體支援環境可靈活地進行擴充,並方便地接納外來工具。只要工具按照統一的接口要求設計,就可自由地集成到軟體環境中去,而且,環境中的工具可以隨時修改和重組。環境的集成性和開放性是兩個某種程式上相矛盾的目標,在設計軟體支援環境時,合理地確定這些目標並解決這些矛盾是至關重要的。
可移植性
軟體支援環境可以方便地從一台宿主機移到另一台宿主機,應特別注意選用符合國際標準的系統軟體來構成環境的運行平台,實現軟體一級的高度兼容。
構造
軟體支援環境的構造必須充分體現系統的層次性。軟體支援環境一般都具有良好的層次結構,採用分層虛機器的方法來構造。通常,它們都具有數據存貯層、對象管理層、工作語言層、工具及工具片段層、操縱控制層和用戶管理層,最後以統一的用戶界面包裝起來,在最底層輔以訊息傳送機制,並用網路互連,構成完整的環境。
分類
依環境的基本設計原則,軟體支援環境分為4類 。
①語言擴充環境
從具體的程式設計語言出發,以特定語言作為其設計基礎。其特點是設計任務具有強烈的一對一傾向,每個程式設計師一次面對一個程式。在這類系統中,工具是面向特定語言的,儘管在處理模組接口、版本控制、配置管理以及系統構造方面也可以提供擴充的手段,但仍然很難擺脫特定語言的陰影。因此,這種環境很不容易適套用戶的特殊要求 ,限制過大 。但是 , 這種環境對熟練的用戶而言,卻往往具有效率高的特點,而且也便於使用。
②軟體生命周期支持環境
從支持整個軟體生命周期出發,其特點是可以方便地支持大型軟體的開發。它往往強調系統的構造任務,特別重視對系統的版本控制、配置管理和項目管理,常常加入自動重編譯、存取控制、修改傳播等功能,而把支持程式設計的工作交由傳統的工具來做。這類環境的構造明顯地要比前一種複雜,在開發控制上有特殊的要求。它可以方便地支持成組軟體人員的開發工作,但同樣不易適應特殊用戶的要求。
③面向特定任務的軟體環境
這類環境強調以集成工具幫助用戶完成特定的任務。在環境設計中,往往與要完成任務的知識密切相關。這類環境在實現軟體結構重用方面有著明顯的有利條件,在實現控制集成方面也有明顯的便利之處,而且,通過類屬方法也可以比較容易地適套用戶的特殊要求,可以面向同一任務的不同變體。但是,它的適應面較窄,不同任務的環境往往需要重新構造。
④支持特定開發方法學的環境
這類環境的構造圍繞著特定的系統開發方法學,嚴格地按照某些開發原則來構造 。同第一類環境類似,它對熟悉的用戶而言具有效率高、使用方便的優點,但卻難以適應大多數用戶的不同習慣和愛好 。