軟體開發環境

軟體開發環境

軟體開發環境(Software Development Environment,SDE),是指在基本硬體和宿至軟體的基礎上,為支持系統軟體和套用軟體的工程化開發和維護而使用的一組軟體,簡稱SDE。

中科永聯高級技術培訓中心(www.itisedu.com)

軟體開發環境(Software Development EnvironmentSDE)是指在基本硬體和宿至軟體的基礎上,為支持系統軟體和套用軟體的工程化開發和維護而使用的一組軟體,簡稱SDE。它由軟體工具和環境集成機制構成,前者用以支持軟體開發的相關過程、活動和任務,後者為工具集成和軟體的開發、維護及管理提供統一的支持。

SDE在歐洲又叫集成式項目支援環境(Integrated Project Support Environment,IPSE)。

軟體開發環境的主要組成成分是軟體工具。人機界面是軟體開發環境與用戶之間的一個統一的互動式對話系統,它是軟體開發環境的重要質量標誌。存儲各種軟體工具加工所產生的軟體產品或半成品(如原始碼、測試數據和各種文檔資料等)的軟體環境資料庫是軟體開發環境的核心。工具間的聯繫和相互理解都是通過存儲在信息庫中的共享數據得以實現的。

軟體開發環境資料庫是面向軟體工作者的知識型信息資料庫,其數據對象是多元化、帶有智慧型性質的。軟體開發資料庫用來支撐各種軟體工具,尤其是自動設計工具、編譯程式等的主動或被動的工作。

較初級的SDE資料庫一般包含通用子程式庫、可重組的程式加工信息庫、模組描述與接口信息庫、軟體測試與糾錯依據信息庫等;較完整的SDE資料庫還應包括可行性與需求信息檔案、階段設計詳細檔案、測試驅動資料庫、軟體維護檔案等。更進一步的要求是面向軟體規劃到實現、維護全過程的自動進行,這要求SDE資料庫系統是具有智慧型的,其中比較基本的智慧型結果是軟體編碼的自動實現和最佳化、軟體工程項目的多方面不同角度的自我分析與總結。這種智慧型結果還應主動地被重新改造、學習,以豐富SDE資料庫的知識、信息和軟體積累。這時候,軟體開發環境在軟體工程人員的恰當的外部控制或幫助下逐步向高度智慧型與自動化邁進。

軟體實現的根據是計算機語言。時至今日,計算機語言發展為算法語言、資料庫語言、智慧型模擬語言等多種門,在幾十種重要的算法語言中,C&C++語言日益成為廣大計算機軟體工作人員的親密夥伴,這不僅因為它功能強大、構造靈活,更在於它提供了高度結構化的語法、簡單而統一的軟體構造方式,使得以它為主構造的SDE資料庫的基礎成分——子程式庫的設計與建設顯得異常的方便。

事實上,以C&C++為背景建立的SDE子程式庫能為軟體工作者提供比較有效、靈活、方便、友好的自動編碼基礎,尤其是C++的封裝等特性,更適合大項目的開發管理和維護。

軟體開發環境可按以下幾種角度分類:

(1)按軟體開發模型及開發方法分類,有支持瀑布模型、演化模型、螺鏇模型、噴泉模型以及結構化方法、信息模型方法、面向對象方法等不同模型及方法的軟體開發環境。

(2)按功能及結構特點分類,有單體型、協同型、分散型和並髮型等多種類型的軟體開發環境。

(3)按套用範圍分類,有通用型和專用型軟體開發環境。其中專用型軟體開發環境與套用領域有關,故又軟體開發方法(Software Development Method)是指軟體開發過程所遵循的辦法和步驟。軟體開發活動的目的是有效地得到一些工作產物,也就是一個運行的系統及其支持文檔,並且滿足有關的質量要求。軟體開發是一種非常複雜的腦力勞動,所以經常更多討論的是軟體開發方法學,指的是規則、方法和工具的集成,既支持開發,也支持以後的演變過程(交付運行後,系統還會變化,或是為了改錯,或是為了功能的增減)。

關於組成軟體開發和系統演化的活動有著各種模型(參見軟體生存周期,軟體開發模型,軟體過程),但是典型地都包含了以下的過程或活動:分析、設計、實現、確認(測試驗收)、演化(維護)。

有些軟體開發方法是專門針對某一開發階段的,屬於局部性的軟體開發方法。特別是軟體開發的實踐表明,在開發的早期階段多做努力,在後來的測試和維護階段就會使費用較大地得以縮減。因此,針對分析和設計階段的軟體開發方法特別受到重視。其它階段的方法,從程式設計發展的初期起就是研究的重點,已經發展得比較成熟(參見程式設計,維護過程)。除了分階段的局部性軟體開發方法之外,還有覆蓋開發全過程的全局性方法,尤為軟體開發方法學注意的重點。

對軟體開發方法的一般要求:當提出一種軟體開發方法時,應該考慮許多因素,包括:①覆蓋開發全過程,並且便於在各階段間的過渡;②便於在開發各階段中有關人員之間的通信;③支持有效的解決問題的技術;④支持系統設計和開發的各種不同途徑;⑤在開發過程中支持軟體正確性的校驗和驗證;⑥便於在系統需求中列入設計、實際和性能的約束;⑦支持設計師和其他技術人員的智力勞動;⑧在系統的整個生存周期都支持它的演化;⑨受自動化工具的支持。此外,在開發的所有階段,有關的軟體產物都應該是可見和可控的;軟體開發方法應該可教學、可轉移,還應該是開放的,即可以容納新的技術、管理方法和新工具,並且與已有的標準相適應可稱為套用型軟體開發環境。

⑷按開發階段分類,有前端開發環境(支持系統規劃、分析、設計等階段的活動)、後端開發環境(支持編程、測試等階段的活動)、軟體維護環境和逆向工程環境等。此類環境往往可通過對功能較全的環境進行剪裁而得到。軟體開發環境由工具集和集成機制兩部分構成,工具集和集成機制間的關係猶如“外掛程式”和“插槽”間的關係。

工具集:軟體開發環境中的工具可包括:支持特定過程模型和開發方法的工具,如支持瀑布模型及數據流方法的分析工具、設計工具、編碼工具、測試工具、維護工具,支持面向對象方法的OOA工具、OOD工具和OOP工具等;獨立於模型和方法的工具,如界面輔助生成工具和文檔出版工具;亦可包括管理類工具和針對特定領域的套用類工具。

集成機制:對工具的集成及用戶軟體的開發、維護及管理提供統一的支持。按功能可劃分為環境信息庫、過程控制及訊息伺服器、環境用戶界面三個部分。

環境信息庫:是軟體開發環境的核心,用以儲存與系統開發有關的信息並支持信息的交流與共享。庫中儲存兩類信息,一類是開發過程中產生的有關被開發系統的信息,如分析文檔、設計文檔、測試報告等;另一類是環境提供的支持信息,如文檔模板、系統配置、過程模型、可復用構件等。

過程控制和訊息伺服器:是實現過程集成及控制集成的基礎。過程集成是按照具體軟體開發過程的要求進行工具的選擇與組合,控制集成並行工具之間的通信和協同工作。

環境用戶界面:包括環境總界面和由它實行統一控制的各環境部件及工具的界面。統一的、具有一致視感(Look & Feel)的用戶界面是軟體開發環境的重要特徵,是充分發揮環境的優越性、高效地使用工具並減輕用戶的學習負擔的保證。

較完善的軟體開發環境通常具有如下功能:
(1)軟體開發的一致性及完整性維護;
(2)配置管理版本控制
(3)數據的多種表示形式及其在不同形式之間自動轉換;
(4)信息的自動檢索及更新;
(5)項目控制和管理;
(6)對方法學的支持。

相關詞條

相關搜尋

熱門詞條

聯絡我們