複製鏈接
請複製以下鏈接發送給好友

軟件支援環境

鎖定
軟件支援環境software support environment輔助技術人員及管理人員更加高效、可靠地開發各類軟件,並對已有軟件進行維護的完整的軟件系統。又稱軟件工程支撐環境。它以宿主硬件和系統軟件作為自己的運行平台,集成了一組實用的軟件工具,從而構成了一個各種設施齊全的軟件開發平台。軟件支援環境應能支持軟件生命週期各個階段(包括程序設計、系統分析軟件設計、軟件測試和軟件維護等)的各種技術活動和項目管理活動。其主要任務是支持大型軟件項目的開發和維護,達到縮短開發週期、節省開發成本和提高產品質量的目的。
中文名
軟件支援環境
外文名
software support environment
組    成
由集成機制和一組工具組成
目    的
提高產品質量

軟件支援環境組成

軟件支援環境由集成機制和一組工具組成。

軟件支援環境集成機制

主要由環境庫、一組環境基本語言、用户界面以及一些輔助設施所組成。環境庫用來存放和管理各種軟件工具軟件開發項目本身的信息。環境基本語言主要指構造環境的工作語言和使用環境的控制語言。所謂工作語言,是指用來編寫軟件工具及工具片段的語言,在環境庫管理機制的支持下運行。所謂控制語言,是指用來構造軟件開發活動的語言,即用來編寫軟件開發活動的規程,通過對規程的執行來操縱軟件工具,實現工具之間的轉接,達到某種程度上軟件開發活動的脱機執行。用户界面在風格上的一致性是軟件支援環境集成的外部體現,它表現在環境中各個工具都有同樣的操作方式和參數約定,實現用户和環境之間的良好交互,其理想狀態可使用户不一定要記住正在使用的是哪一個工具。現代軟件工程環境多采用面向對象的風格來設計用户界面,現代的計算機圖形技術可以方便地使這種用户界面非常直觀,使用十分簡捷。

軟件支援環境工具

由通用工具和專用工具所組成。包括系統分析工具、軟件設計工具、程序編碼工具軟件測試工具、軟件理解工具 、配置管理工具 、版本管理工具 、 文檔出版工具、聯機求助工具等。支持特定軟件方法學的環境還包括一些特定的工具,如原型快速生成工具和面向對象開發工具等。在對象庫中,它們或以單獨的對象存放,或以工具片段的形式存放,在使用前動態生成。但是,它們都與對象庫有統一的數據接口,利用消息機制進行通信,實現操作實體的規範式傳送,從而使同一軟件開發活動中各工具之間的轉接變得相當平滑。
軟件支援環境的集成主要表現在數據集成、界面集成和過程集成( 又稱控制集成 )3個方面,即統一的數據存放方式、統一的表現風格和統一的使用方式上。這三者中數據集成是基礎,而面向對象的軟件開發方法學使軟件支援環境的高度集成變為可能。

軟件支援環境軟件特點

現代軟件支援環境應具備以下特點。

軟件支援環境實用性

包括堅定性和可用性兩個方面,即環境應不受或少受來自用户和系統錯誤的影響,具備自我恢復的能力。同時,環境必須能夠支持軟件開發和維護過程中的各種活動,而不能只支持某一方面、某個階段的活動;應支持各種層次人員的活動,而不能只支持某類人員的活動。環境必須具有高效、快速和低開銷的特點,適應大多數軟件人員的工作習慣,儘量使現有軟件開發人員少受或不受專門培訓就可以方便地使用它來開發大型軟件項目。

軟件支援環境集成性

軟件支援環境是按照整體化要求設計的一個整體,在共同的概念基礎上,以軟件生命週期為線索,集成各種軟件開發方法和維護方法,合理地劃分工具的功能範圍,並使它們協調一致的進行工作。這就需要對工具進行統一的支持,由環境的專門機構(即集成機制)來實現。

軟件支援環境開放性

軟件支援環境可靈活地進行擴充,並方便地接納外來工具。只要工具按照統一的接口要求設計,就可自由地集成到軟件環境中去,而且,環境中的工具可以隨時修改和重組。環境的集成性和開放性是兩個某種程序上相矛盾的目標,在設計軟件支援環境時,合理地確定這些目標並解決這些矛盾是至關重要的。

軟件支援環境可移植性

軟件支援環境可以方便地從一台宿主機移到另一台宿主機,應特別注意選用符合國際標準的系統軟件來構成環境的運行平台,實現軟件一級的高度兼容

軟件支援環境構造

軟件支援環境的構造必須充分體現系統的層次性。軟件支援環境一般都具有良好的層次結構,採用分層虛機器的方法來構造。通常,它們都具有數據存貯層、對象管理層、工作語言層、工具及工具片段層、操縱控制層和用户管理層,最後以統一的用户界面包裝起來,在最底層輔以消息傳送機制,並用網絡互連,構成完整的環境。

軟件支援環境分類

依環境的基本設計原則,軟件支援環境分為4類 。
①語言擴充環境
從具體的程序設計語言出發,以特定語言作為其設計基礎。其特點是設計任務具有強烈的一對一傾向,每個程序員一次面對一個程序。在這類系統中,工具是面向特定語言的,儘管在處理模塊接口、版本控制配置管理以及系統構造方面也可以提供擴充的手段,但仍然很難擺脱特定語言的陰影。因此,這種環境很不容易適應用户的特殊要求 ,限制過大 。但是 , 這種環境對熟練的用户而言,卻往往具有效率高的特點,而且也便於使用。
②軟件生命週期支持環境
從支持整個軟件生命週期出發,其特點是可以方便地支持大型軟件的開發。它往往強調系統的構造任務,特別重視對系統的版本控制配置管理和項目管理,常常加入自動重編譯、存取控制、修改傳播等功能,而把支持程序設計的工作交由傳統的工具來做。這類環境的構造明顯地要比前一種複雜,在開發控制上有特殊的要求。它可以方便地支持成組軟件人員的開發工作,但同樣不易適應特殊用户的要求。
③面向特定任務的軟件環境
這類環境強調以集成工具幫助用户完成特定的任務。在環境設計中,往往與要完成任務的知識密切相關。這類環境在實現軟件結構重用方面有着明顯的有利條件,在實現控制集成方面也有明顯的便利之處,而且,通過類屬方法也可以比較容易地適應用户的特殊要求,可以面向同一任務的不同變體。但是,它的適應面較窄,不同任務的環境往往需要重新構造。
④支持特定開發方法學的環境
這類環境的構造圍繞着特定的系統開發方法學,嚴格地按照某些開發原則來構造 。同第一類環境類似,它對熟悉的用户而言具有效率高、使用方便的優點,但卻難以適應大多數用户的不同習慣和愛好 。