- 軟件工程理論與實踐(第2版)
- 呂云翔等編著
- 1128字
- 2023-06-28 15:52:04
1.5 軟件工程工具
軟件工程工具對軟件工程中的過程和方法提供自動的或半自動的支持,可以幫助軟件開發人員方便、簡捷、高效地進行軟件的分析、設計、開發、測試、維護和管理等工作。有效地利用工具軟件可以提高軟件開發的質量,減少成本,縮短工期,方便軟件項目的管理。
軟件工程工具通常有3種分類標準。
●按照功能劃分:功能是對軟件進行分類的最常用的標準。按照功能劃分,軟件工程工具可分為可視化建模工具、程序開發工具、自動化測試工具、文檔編輯工具、配置管理工具、項目管理工具等。
●按照支持的過程劃分:軟件工程工具可分為設計工具、編程工具、維護工具等。
●按照支持的范圍劃分:軟件工程工具可以分為窄支持、較寬支持和一般支持工具。窄支持工具支持軟件工程過程中的特定任務,一般將其稱之為工具;較寬支持工具支持特定的過程階段,一般由多個工具集合而成,稱之為工作臺;一般支持工具支持覆蓋軟件過程的全部或大部分階段,包含多個不同的工作臺,稱之為環境。
在需求分析與系統設計階段,常用的CASE(計算機輔助軟件工程)工具有面向通用軟件設計的Microsoft Visio,用于面向對象軟件設計的Rational Rose,以及用于數據庫設計的Power Designer。除此之外,近年還出現了更加集成化的工具Enterprise Architect、Rational Software Architect和StarUML等。這些工具通過簡化UML圖的繪制工作,以及強大的模型轉換功能(如正向工程、反向工程、數據庫模型轉化等),大大簡化了設計及從設計向編碼轉化的工作。
在編碼階段,集成開發環境(IDE)通過提供代碼高亮、補全,內置調試工具等功能,大大提高了效率。IDE主流的實例見表1-1。
在測試階段,通常會使用自動化測試工具進行測試。除單元測試工具外,較為流行的自動化測試工具包括C/S功能測試工具WinRunner,性能測試工具LoadRunner、Jmeter,測試管理工具TestDirector、Jira,Web服務測試工具QTester(簡稱QT)、SoapUI等。單元測試工具通常與語言及開發框架關聯密切,部分實例見表1-2。
表1-1 IDE主流的實例

表1-2 單元測試工具部分實例

除了這幾個階段,軟件開發過程還包括諸多其他活動,而其中最重要的便是配置管理與項目管理。配置管理通常分為不同模式,每一種模式均有對應工具,較為著名的有Microsoft VSS、CVS、SVN等,近年來較常用的是Git。而項目管理領域最普遍使用的為微軟公司開發的Microsoft Project,該軟件提供了強大的項目管理功能,基本能夠滿足企業級項目管理的全部需要。此外,隨著敏捷開發的興起,如基于Scrum的PingCode,以及基于看板(Kanban)的Teambition等輕量級開發平臺也擁有了廣大的用戶群體。
除此之外,在軟件過程的其他活動中同樣存在眾多CASE工具。在原型設計方面有快速原型構建軟件Dreamweaver,在協作文檔管理方面有在線協作辦公軟件Microsoft Office Online,還有在線協作軟件設計平臺ProcessOn等。由于篇幅有限,這里不再贅述。
實際上,這些分類不是很嚴格。很多軟件工具可用在軟件開發的不同過程中,這就需要軟件開發人員根據軟件開發活動的具體要求來確定。