1. 程式人生 > >軟考-軟體工程知識精煉

軟考-軟體工程知識精煉

1.軟體開發模型

  • 瀑布模型:該模型給出了軟體生存週期各階段的固定的順序,上一階段完成後才能進行下一階段。這種模型缺乏靈活性,無法通過開發活動來澄清本來不夠明確的需求。
  • 演化模型:在獲取一組基本的需求後,通過快速分析構造出該軟體的一個初始可執行版本,然後根據使用者在使用原型的過程中提出的意見和建議對原型進行改進。該模型主要用於使用者對軟體需求缺乏準確認識的情況。
  • 螺旋模型:將瀑布模型和演化模型結合就成了螺旋模型。包括了4個方面的活動:制定計劃、風險分析、實施工程、客戶評估。
  • 噴泉模型:主要用於描述面向物件的開發過程。該模型具有迭代和無間隙的特點。迭代意味著模型中的開發活動常常需要重複多次,在迭代中不斷完善軟體系統。無間隙是指在開發活動之間不存在明顯的邊界。允許開發活動交叉、迭代地進行。

注:增量式開發的優勢如下:

  1. 能夠在較短的時間內向使用者提交一些有用的工作產品。
  2. 使用者有較充足的時間學習和適應新的產品。
  3. 提高軟體的可維護性。

2.進度管理

  1. Gantt(甘特)圖:Gantt圖能清晰地描述每個任務從何時開始,到何時結束以及各個任務之間的並行性。但它不能反映出個任務之間的依賴關係,難以確定整個專案的關鍵所在,也不能反映計劃中有潛力的部分。
  2. PERT圖:PERT圖不僅給出了每個任務的開始時間、結束時間和完成該任務所需的時間,還給出了任務之間的關係,即哪些任務完成後才能開始另一項任務,以及如期完成整個工程的關鍵路徑。但是PERT圖不能反映 任務之間的並行關係。

3.軟體過程管理

軟體能力成熟度模型

軟體能力成熟度模型(CMM)將軟體組織的過程能力分為5個成熟度級別:

  1. 初始級:軟體過程是無序的,有時甚至是混亂的。成功取決於個人努力。
  2. 可重複級:建立了基本的專案管理過程來跟蹤費用、進度和功能特性;指定了必要的過程機率,能重複早先類似應用專案取得的成功。
  3. 已定義級:已將軟體管理和工程兩方面的過程文件化、標準化,並綜合成該組織的標準軟體過程。
  4. 已管理級:收集對軟體過程和產品質量的詳細度量,對軟體過程和產品都有定量的理解和控制。
  5. 優化及:過程的量化反饋和先進的新思想、新技術促使過程不斷改進。

統一過程

同意過程(UP)模型主要包括五個階段:

  1. 初始階段–生命週期目標
  2. 精化階段–生命週期架構
  3. 構建階段–初始運作功能
  4. 移交階段–產品釋出

前4個技術階段由主要里程碑所終止。

4.軟體質量管理與質量保證

軟體質量特性

ISO/IEC 9126 軟體質量特性模型由3個層次組成,第一層是質量特性,第二層是質量子特性,第三層是度量指標。該模型的質量特性和質量子特性的含義如下:

  1. 功能性:
  • 適合性
  • 準確性
  • 互用性
  • 依從性
  • 安全性
  1. 可靠性:
  • 成熟型
  • 容錯性
  • 易恢復性
  1. 易使用性:
  • 易理解性
  • 易學性
  • 易操作性

4.效率:

  • 時間特性
  • 資源特性
  1. 可維護性:
  • 易分析性
  • 易改變性
  • 穩定性
  • 易測試性
  1. 可移植性:
  • 適應性
  • 一致性
  • 易替換性

軟體複雜性

  1. 程式碼行度量法
  2. McCabe度量法:又稱環路度量,給出計算公式
    V ( G ) = m n + 2 p V(G) = m-n+2p
    其中V(G)為有向圖G中的環路數,m為圖G中弧的個數,n為圖G中的節點數,p為圖G中的強連通分量。

結構化分析方法

1. 資料流圖

資料流圖或稱為資料流程圖,是一種便於使用者理解、分析系統資料流程的圖形工具。基本成分如下:

  • 外部實體:外部實體是指存在於軟體系統之外的人員或組織,他指出系統所需資料的發源地和系統所產生的資料的歸宿地。
  • 加工:加工描述了輸入資料流到輸出資料流之間的變換,也就是輸入資料流經過什麼處理後變成了輸出資料流。
  • 資料儲存: 資料儲存用來表示儲存的資料。
  • 資料流:資料流有一組固定成分您的資料組成,表示資料的流向。

注:資料流圖有如下幾個設計原則:

  • 資料守恆原則:對任何一個加工來說,其所有輸出資料流中的資料必須能從該加工的輸入資料流中直接獲得,或者說是通過該加工能產生的資料。
  • 守恆加工原則:對同一個加工來說,輸入和輸出的名字必須不相同,即使他們的組成成分相同。
  • 對於每個加工,必須既有輸入資料流,又有輸出資料流。
  • 外部實體與外部實體之間不存在資料流
  • 外部實體與資料儲存之間不存在資料流
  • 資料儲存與資料儲存之間不存在資料流、
  • 子圖的輸入/輸出資料流同父圖相應加工的輸入/輸出資料流必須一致。
  • 資料流與加工有關,且必須經過加工。