简述软件工程研究的主要内容
軟件工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。它涉及程序設計語言、數據庫、軟件開發工具、系統平臺、標準、設計模式等方面。
軟件工程研究的主要內容
1.軟件需求分析與定義
軟件需求是針對待解決問題的特性的描述。所定義的需求必須可以被驗證。在資源有限時,可以通過優先級對需求進行權衡。
通過需求分析,可以檢測和解決需求之間的沖突、發現系統的邊界、并詳細描選出系統需求。
2、軟件設計、測試與維護
(1)軟件設計∶根據軟件需求,產生一個軟件內部結構的描述,并將其作為軟件構造的基礎。通過軟件設計,描述出軟件架構及相關組件之間的接口;然后,進一步詳細地描述組件,以便能構成這些組件。通過軟件設計得到要實現的各種不同模型,并確定最終方案。其可以劃分為軟件架構設計(也叫作高層設計)和軟件詳細設計兩個階段。
(2)軟件測試∶測試是為了評價和改進產品質量、識別產品的缺陷和問題而進行的活動。軟件測試是針對一個程序的行為,在有限測試用例集合上,動態驗證是否達到預期的行為。測試不再只是一種僅在編碼階段完成后才開始的活動。現在的軟件測試被認為是一種應該包括在整個開發和維護過程中的活動,它本身是實際產品構造的一個重要部分。軟件測試伴隨開發和維護過程,通常可以在概念上劃分為單元測試、集成測試系統測試3個階段。
(3)軟件維護∶將軟件維護定義為需要提供軟件支持的全部活動。這些活動包括在交付前完成的活動,以及交付后完成的活動。交付前要完成的活動包括交付后的運行計劃和維護計劃等。交付后的活動包括軟件修改、培訓、幫助資料等。軟件維護有如下類型∶①更正性維護———更正交付后發現的錯誤;②適應性維護——使軟件產品能夠在變化后或變化中的環境中繼續使用;③完善性維護——改進交付后產品的性能和可維護性;④預防性維護——在軟件產品中的潛在錯誤成為實際錯誤前,檢測并更正它們。
3、軟件質量保證及質量評價
軟件質量指的是軟件特性的總和,是軟件滿足用戶需求的能力,即遵從用戶需求,達到用戶滿意。軟件質量包括"內部質量""外部質量"和"使用質量"三部分。軟件需求定義了軟件質量特性,及確認這些特性的方法和原則。
軟件質量管理過程由許多活動組成,一些活動可以直接發現缺陷,另一些活動則檢查活動的價值。其中包括質量保證過程、驗證過程、確認過程、評審過程、審計過程等。
軟件質量保證∶通過制訂計劃、實施和完成等活動保證項目生命周期中的軟件產品和過程符合其規定的要求。
驗證與確認∶確定某一活動的產品是否符合活動的需求,最終的軟件產品是否達到其意圖并滿足用戶需求。驗證過程試圖確保活動的輸出產品構造正確,即活動的輸出產品滿足活動的規范說明;確認過程則試圖確保構造了正確的產品,即產品滿足其特定的目的。
評審與審計∶包括管理評審、技術評審、檢查、走查、審計等。
管理評審的目的是監控進展,決定計劃和進度的狀態,或評價用于達到目標所用管理方法的有效性。技術評審的目的是評價軟件產品,以確定其對使用意圖的適合性。軟件審計的目的是提供軟件產品和過程對于可應用的規則、v標準、指南、計劃和流程的遵從性的獨立評價。審計是正式組織的活動,識別違例情況,并要生成審計報告,采取更正性行動。
4、軟件配置管理
軟件配置管理通過標識產品的組成元素、管理和控制變更、驗證、記錄和報告配置信息,來控制產品的進化和完整性。軟件配置管理與軟件質量保證活動密切相關,可以幫助達成軟件質量保證目標。
軟件配置管理活動包括軟件配置管理計劃、軟件配置標識、軟件配置控制、軟件配置狀態記錄、軟件配置審計、軟件發布管理與交付等活動。
軟件配置管理計劃的制定需要了解組織結構環境和組織單元之間的聯系,明確軟件配置控制任務。軟件配置標識活動識別要控制的配置項,并為這些配置項及其版本建立基線。軟件配置控制關注的是管理軟件生命周期中的變更。軟件配置狀態記錄標識、收集、維護并報告配置管理的配置狀態信息。軟件配置審計是獨立評價軟件產品和過程是否遵從已有的規則、標準、指南、計劃和流程而進行的活動。軟件發布管理和交付通常需要創建特定的交付版本,完成此任務的關鍵是軟件庫。
5、軟件過程管理
軟件過程管理涉及技術過程和管理過程,通常包括以下幾個方面∶
(1)項目啟動與范圍定義∶啟動項目并確定軟件需求。
(2)項目規劃∶制訂計劃,其中一個關鍵點是確定適當的軟件生命周期過程,并完成相關的工作。
(3)項目實施∶根據計劃,并完成相關的工作。
(4)項目監控與評審∶確認項目工作是否滿足要求,發現問題并解決問題。
(5)項目收尾與關閉∶為了項目結束所做的活動。需要項目驗收,并在驗收后進行歸檔、事后分析和過程改進等活動。
6、軟件開發工具
軟件開發工具是用于輔助軟件生命周期過程的基于計算機的工具。通常使用這些工具來支持特定的軟件工程方法,減少手工方式管理的負擔。工具的種類包括支持單個任務的工具及涵蓋整個生命周期的工具。
(1)軟件需求工具包括需求建模工具和需求追蹤工具。
(2)軟件設計工具包括軟件設計創建和檢查工具。
(3)軟件構造工具包括程序編輯器、編譯器、代碼生成器、解釋器、調試器等。
(4)軟件測試工具包括測試生成器、測試執行框架、測試評價工具、測試管理工具、性能分析工具。
(5)軟件維護工具包括理解工具(如可視化工具)和再造工具(如重構工具)。
(6)軟件配置管理工具包括追蹤工具、版本管理工具和發布工具。
(7)軟件工程管理工具包括項目計劃與追蹤工具、風險管理工具和度量工具。
(8)軟件工程過程工具包括建模工具、管理工具、軟件開發環境。
(9)軟件質量工具包括檢查工具和分析工具。
7、軟件復用
軟件復用是指利用已有軟件的各種有關知識構造新的軟件,以縮減軟件開發和維護的費用。復用是提高軟件生產力和質量的一種重要技術。
軟件復用的主要思想是,將軟件看成是由不同功能的"組件"所組成的有機體,每一個組件在設計編寫時可以被設計成完成同類工作的通用工具。這樣,如果完成各種工作的組件被建立起來以后,編寫某一特定軟件的工作就變成了將各種不同組件組織連接起來的簡單問題,這對于軟件產品的最終質量和維護工作都有本質性的改變。
早期的軟件復用主要是代碼級復用,被復用的知識專指程序,后來擴大到包括領域知識、開發經驗、設計決策、架構、需求、設計、代碼和文檔等一切有關方面。
由于面向對象方法的主要概念及原則與軟件復用的要求十分吻合,所以該方法特別有利于軟件復用。
總結
以上是生活随笔為你收集整理的简述软件工程研究的主要内容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 硬件:断路器、接触器、继电器基础知识
- 下一篇: Python基础入门6_文件和异常