目錄
- 1. 軟件生命周期
- 2.開源軟件
- 3.軟件工程
- 4.模塊化原則
- 5.信息隱藏原則
- 6.雙向追蹤
- 7.原型
- 8.軟件需求
- 9.需求工程
- 10.邊界類
- 11.軟件實現(的任務)
- 12.軟件缺陷
- 13.回歸測試
- 14.軟件β版
- 15.軟件部署
- 16.糾正性維護
- 17.改善性維護
- 18.適應性維護
- 19.軟件邏輯老化
1. 軟件生命周期
軟件生命周期是指一個軟件從提出開發開始,到開發完成交付用戶使用,到最后退役不再使用的全過程(提出-》開發-》使用-》退役不再使用)。軟件生命周期由若干個階段組成,每個階段都有其各自的特點,形成不同的軟件制品和產生不同的軟件版本,不同階段之間存在相關性。
2.開源軟件
開源軟件是一種源代碼可以自由獲取和傳播的計算機軟件,其擁有者通過開源許可證賦予被許可人員對軟件進行使用、修改和傳播的權利。
3.軟件工程
根據IEEE給出的定義,軟件工程是指:
①將系統的、規范的、可量化的方法應用于軟件開發、運行和維護的過程。
②以及上述方法的研究。
4.模塊化原則
模塊化原則是指將軟件系統的功能分解和實現為若干個模塊,每個模塊具有獨立的功能,模塊之間通過接口進行調用和訪問。每個模塊內部的要素(如語句、變量等)與模塊的功能相關,且相互間關系密切,即模塊內部高內聚;每個模塊獨立性強,模塊間的關系松散,即模塊間松耦合。模塊化原則可有效指導軟件的設計和實現,有助于得到高內聚、低耦合、易維護、可重用的高質量軟件。
5.信息隱藏原則
信息隱藏原則是指模塊應該設計為使其所含的信息(如內部語句、變量等)對那些不需要這些信息的模塊而言不可訪問,模塊間僅交換實現系統功能所需交換的信息(如接口)。
6.雙向追蹤
雙向追蹤原則是指當某個軟件制品發生變化時,一方面要追蹤這種變化會對哪些軟件制品產生影響,進而指導相關的開發和維護工作,此為正向追蹤;另一方面要追蹤產生這種變化的來源,或者說是什么因素導致了該軟件制品的變化,明確軟件制品發生變化的原因及其合理性,此為反向追蹤。
7.原型
所謂原型,是指產品開發前期所產生的產品雛形或仿真產品。相較于實際產品,原型具有可直觀展示產品的特性、貼近業務應用、能自然地反映產品需求等特點。
8.軟件需求
從軟件本身的角度,軟件需求是指軟件用于解決現世界問題時所表現出的功能和性能等要求;從軟件利益相關者的角度,軟件需求是指軟件系統的利益相關者對軟件系統的功能和質量,以及軟件運行環境、交付進度等方面提供的期望和要求。
9.需求工程
需求工程旨在用工程的理念和方法來指導軟件需求實踐。它提供了一系列過程、策略、方法學和工具,幫助需求工程師加強對業務或領域問題及其環境的理解,獲取和分析軟件需求,指導軟件需求的文檔化和評審,以盡可能獲得準確、一致和完整的軟件需求,產生軟件需求的相關軟件制品。
10.邊界類
每個用例或者外部執行者觸發,或者需要與外部執行者進行某種信息交互,因而用例的業務邏輯處理需要有一個類對象來負責目標軟件系統與外部執行者之間的交互。由于這些類對象處于系統的邊界,需與系統外的執行者進行交互,因而將這些對象所對應的類稱為邊界類。
11.軟件實現(的任務)
軟件實現的任務是根據軟件設計模型編寫出目標軟件系統的程序代碼,并對代碼進行必要的測試,以發現和糾正代碼中存在的缺陷,并將可運行的目標代碼部署到目標計算機上運行。
12.軟件缺陷
所謂“軟件缺陷”是指軟件制品中存在不正確的軟件描述和實現。
①存在缺陷的軟件制品不僅包含程序代碼,還包括需求和設計的模型和文檔。
②軟件缺陷產生于軟件開發全過程,只要有人介入的地方就有可能產生軟件缺陷。
③任何人都有可能在軟件開發過程中犯錯而引入軟件缺陷。
13.回歸測試
程序員修復了程序后,還需要對修復后的代碼進行回歸測試,以判斷缺陷和錯誤是否已經被成功修復,并且在修復代碼過程中有沒有引入新的缺陷和錯誤。
14.軟件β版
軟件開發企業組織內部人員模擬實際用戶對軟件系統進行測試,以試圖發現軟件系統中的缺陷,這類測試稱為“α測試”。在α測試過程中,參與測試的人員要盡可能逼真地模擬實際的運行環境以及實際用戶對軟件產品的使用,最大限度地涵蓋用戶的可能操作方式,以盡可能多地發現軟件中的缺陷,經過α測試的軟件通常被稱為軟件的β版。
15.軟件部署
軟件部署是指將目標軟件系統(包括構件、配置文件、用戶手冊、幫助文檔等)進行收集、打包、安裝、配置和發布到運行環境的過程。
軟件部署通常涉及以下兩方面:
①安裝和配置運行環境
②安裝和配置軟件環境
16.糾正性維護
糾正性維護是指為修復和糾正軟件中的缺陷而開展的維護活動。在該維護過程中,軟件維護工程師需要根據發現的缺陷定位軟件缺陷的位置,修改相應的程序代碼,并同時修改相關的軟件文檔。
17.改善性維護
改善性維護是指對軟件進行改造以增加新的功能、修改已有的功能等維護活動。在軟件維護階段,軟件維護工程師通常需要投入大量的時間和精力用于改善性維護。
18.適應性維護
適應性維護是指為適應軟件運行環境變化而對軟件進行的維護活動。對于那些使用壽命很長的軟件系統而言,軟件適應性維護不可避免。
19.軟件邏輯老化
所謂“軟件邏輯老化”是指軟件在維護和演化過程中出現的用戶滿意度降低、質量逐漸下降、變更成本不斷上升等現象。這些現象發生在邏輯層面,而非發生在物理層面。