軟體開發環境

軟體開發環境

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

基本介紹

  • 中文名:軟體開發環境
  • 外文名:Software Development Environment
  • 英文簡稱:SDE
  • 類型:軟體
簡介,分類,功能,

簡介

軟體開發環境在歐洲又叫集成式項目支援環境(Integrated Project Support Environment,IPSE)。 軟體開發環境的主要組成成分是軟體工具。人機界面是軟體開發環境與用戶之間的一個統一的互動式對話系統,它是軟體開發環境的重要質量標誌。存儲各種軟體工具加工所產生的軟體產品或半成品(如原始碼、測試數據和各種文檔資料等)的軟體環境資料庫是軟體開發環境的核心。工具間的聯繫和相互理解都是通過存儲在信息庫中的共享數據得以實現的。
軟體開發環境參考書軟體開發環境參考書
軟體開發環境資料庫是面向軟體工作者的知識型信息資料庫,其數據對象是多元化、帶有智慧型性質的。軟體開發資料庫用來支撐各種軟體工具,尤其是自動設計工具、編譯程式等的主動或被動的工作。
較初級的SDE資料庫一般包含通用子程式庫、可重組的程式加工信息庫、模組描述與接口信息庫、軟體測試與糾錯依據信息庫等;較完整的SDE資料庫還應包括可行性與需求信息檔案、階段設計詳細檔案、測試驅動資料庫、軟體維護檔案等。更進一步的要求是面向軟體規劃到實現、維護全過程的自動進行,這要求SDE資料庫系統是具有智慧型的,其中比較基本的智慧型結果是軟體編碼的自動實現和最佳化、軟體工程項目的多方面不同角度的自我分析與總結。這種智慧型結果還應主動地被重新改造、學習,以豐富SDE資料庫的知識、信息和軟體積累。這時候,軟體開發環境在軟體工程人員的恰當的外部控制或幫助下逐步向高度智慧型與自動化邁進。
軟體實現的根據是計算機語言。時至今日,計算機語言發展為算法語言資料庫語言、智慧型模擬語言等多種門類,在幾十種重要的算法語言中,C&C++語言日益成為廣大計算機軟體工作人員的親密夥伴,這不僅因為它功能強大、構造靈活,更在於它提供了高度結構化的語法、簡單而統一的軟體構造方式,使得以它為主構造的SDE資料庫的基礎成分——子程式庫的設計與建設顯得異常的方便。
事實上,以C&C++為背景建立的SDE子程式庫能為軟體工作者提供比較有效、靈活、方便、友好的自動編碼基礎,尤其是C++的封裝等特性,更適合大項目的開發管理和維護。

分類

按模型及方法分類
軟體開發模型及開發方法分類,有支持瀑布模型演化模型螺旋模型噴泉模型以及結構化方法、信息模型方法、面向對象方法等不同模型及方法的軟體開發環境。
按功能及結構特點分類
按功能及結構特點分類,有單體型、協同型、分散型和並髮型等多種類型的軟體開發環境。
按套用範圍分類
按套用範圍分類,有通用型和專用型軟體開發環境。其中專用型軟體開發環境與套用領域有關,故又可稱為套用型軟體開發環境。
按開發階段分類
按開發階段分類,有前端開發環境(支持系統規劃、分析、設計等階段的活動)、後端開發環境(支持編程、測試等階段的活動)、軟體維護環境和逆向工程環境等。此類環境往往可通過對功能較全的環境進行剪裁而得到。軟體開發環境由工具集和集成機制兩部分構成,工具集和集成機制間的關係猶如“外掛程式”和“插槽”間的關係。
工具集:軟體開發環境中的工具可包括:支持特定過程模型和開發方法的工具,如支持瀑布模型數據流方法的分析工具、設計工具、編碼工具、測試工具、維護工具,支持面向對象方法的OOA工具、OOD工具和OOP工具等;獨立於模型和方法的工具,如界面輔助生成工具和文檔出版工具;亦可包括管理類工具和針對特定領域的套用類工具。
集成機制:對工具的集成及用戶軟體的開發、維護及管理提供統一的支持。按功能可劃分為環境信息庫、過程控制及訊息伺服器、環境用戶界面三個部分。
環境信息庫:是軟體開發環境的核心,用以儲存與系統開發有關的信息並支持信息的交流與共享。庫中儲存兩類信息,一類是開發過程中產生的有關被開發系統的信息,如分析文檔、設計文檔、測試報告等;另一類是環境提供的支持信息,如文檔模板、系統配置、過程模型、可復用構件等。
過程控制和訊息伺服器:是實現過程集成及控制集成的基礎。過程集成是按照具體軟體開發過程的要求進行工具的選擇與組合,控制集成並行工具之間的通信和協同工作。
環境用戶界面:包括環境總界面和由它實行統一控制的各環境部件及工具的界面。統一的、具有一致視感(Look & Feel)的用戶界面是軟體開發環境的重要特徵,是充分發揮環境的優越性、高效地使用工具並減輕用戶的學習負擔的保證。

功能

(1)軟體開發的一致性及完整性維護;
(3)數據的多種表示形式及其在不同形式之間自動轉換;
(4)信息的自動檢索及更新;
(5)項目控制和管理;
(6)對方法學的支持。

相關詞條

熱門詞條

聯絡我們