軟體工具
軟體工具
軟體工具是指為支持計算機軟體的開發、維護、模擬、移植或管理而研製的程序系統。它是為專門目的而開發的,在軟體工程範圍內也就是為實現軟體生存期中的各種處理活動(包括管理、開發和維護)的自動化和半自動化面開發的程序系統。
軟體工具是指為支持計算機軟體的開發、維護、模擬、移植或管理而研製的程序系統。它是為專門目的而開發的,在軟體工程範圍內也就是為實現軟體生存期中的各種處理活動(包括管理、開發和維護)的自動化和半自動化而開發的程序系統。
開發軟體工具的最終目的是為了提高軟體生產率和改善軟體的質量。
軟體工具分為六類:模擬工具、開發工具、測試和評估工具、運行和維護工具、性能質量工具和程序設計支持工具。
從軟體工程的觀點來看,軟體工具能夠支持軟體生存期的各個階段。
軟體工具的種類繁多,從軟體過程的觀點通常可以分為:項目管理工具、配置管理工具、分析和設計工具、程序設計工具、測試工具以及維護工具等。
(1)項目管理工具:支持項目管理活動的工具。通常,這類工具把重點放在特定的管理環節上,例如工作量、成本和工期估算以及項目調度計劃等。
(2)配置管理工具:支持完成配置項標識、版本控制、變化控制、審計和狀態統計等任務的工具。
(3)分析和設計工具:輔助建立軟體的系統模型和設計的工具。分析和設計引擎將成為新一代分析設計工具,該工具可以對任何分析和設計方法進行定製,根據需要,支持特定的分析和設計方法。
(4)程序設計工具:包括常規的編碼工具——編譯程序、編輯程序、排錯程序及第四代語言、應用程序生成器、資料庫查詢語言和面向對象(OO)程序設計環境等。
(5)測試工具:可以分為數據獲取工具、靜態分析工具、動態分析工具、模擬工具以及測試管理工具等。其中,靜態分析工具通過對源程序的程序結構、數據流和控制流進行分析,得出程序中函數(過程)的調用與被調用關係、分支和路徑、變數定義和引用等情況,發現語義錯誤。動態分析工具通過執行程序,檢查語句、分支和路徑覆蓋,測試有關變數值的斷點,即對程序的執行流行探測。另一類動態分析工具稱為截獲/播放工具。測試管理工具用以控制並協調軟體測試的每一個主要步驟,進行回歸測試,比較運行結果和期望輸出之間的差異,並可實施程序的成批測試。
(6)維護工具:支持軟體維護的工具。大致可分為逆向工程工具和再生工程工具。逆向工程工具對已經開發完成的源程序進行分析,抽取程序的系統結構、控制結構、邏輯流程、數據結構和數據流等信息,並生成分析和設計模型以及其它設計信息。再生工程工具用來支持重構一個功能和性能更為完善的、改進的軟體系統。