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