軟體工程基礎知識

来源:https://www.cnblogs.com/yinshoucheng-golden/archive/2018/04/07/8733429.html
-Advertisement-
Play Games

軟體過程模型 可行性分析與項目開發計劃:可行性分析報告、項目開發計劃 需求分析:軟體需求說明書 概要設計:概要設計說明書 詳細設計:詳細設計文檔 編碼:源程式清單 測試:軟體測試計劃、測試用例、報告 維護:更正性維護、適應性維護、預防性維護、完善性維護(就(糾)是(適)魚(預)丸(完)) 能力成熟度... ...


軟體過程模型

可行性分析與項目開發計劃:可行性分析報告、項目開發計劃

需求分析:軟體需求說明書

概要設計:概要設計說明書

詳細設計:詳細設計文檔

編碼:源程式清單

測試:軟體測試計劃、測試用例、報告

維護:更正性維護、適應性維護、預防性維護、完善性維護(就(糾)是(適)魚(預)丸(完))

能力成熟度模型

(1)階段式模型

成熟度等級

過程域

初始級

雜亂無章、混亂,無明確定義步驟。

已管理級

建立了基本的項目管理過程,為項目服務。需求管理,項目計劃,項目監督與控制、供應商合同管理、度量與分析、過程和產品質量保證。

已定義級

過程已經文檔化、標準化,為組織服務。需求開發、技術解決方案、產品集成,驗證、確認、組織級過程焦點、組織級過程定義、組織級培訓、集成項目經理、風險管理、集成化的團隊、決策分析和解決方案、組織集成環境。

定量管理級

過程已度量和控制。組織過程性能、定量項目管理。

優化級

集中於過程改進。組織級改革與實施、因果分析和解決方案。

(2)連續式模型

連續式分組

過程域

過程管理

組織級過程焦點、組織級過程定義、組織級培訓、組織級過程性能、組織級改革與實施。

項目管理

項目計劃、項目監督與控制、供應商合同管理、集成項目管理、風險管理、集成化的團隊、定量項目管理。

工程

需求管理、需求開發、技術解決方案、產品集成、驗證、確認。

支持

配置管理、度量和分析、過程和產品質量保證、決策分析和解決方案、組織級集成環境、因果分析和解決方案。

軟體過程模型

(1)瀑布模型

適用於需求明確,要求文檔標準。

(2)V模型

強調測試的重要性。

(3)增量模型

先開發核心必要模塊。

(4)演化模型(原型模型、螺旋模型)

適用於需求不明確。

(5)噴泉模型

適用於面向對象開發。

(6)基於構件的開發模型

強調軟體復用。

(7)螺旋模型

(a)指定計劃。

(b)風險分析

(c)實施工程

(d)用戶評估

強調風險控制,適合大項目開發。

(8)統一過程RUP/UP

適用於用例和風險驅動,以架構為中心,迭代並且增量。

技術階段

內容與產品

起始階段

確定項目範圍、邊界。產生構想文檔、初始用例模型、初始項目術語、初始業務用例、初始風險評估、項目計劃、業務模型等。

精化階段

建立架構選擇構件,淘汰最高風險因素。

構建階段

完成架構開發併進行測試。

交付階段

將軟體交付給用戶群體,產品有β測試。

軟體開發方法

結構化方法:瀑布模型。

4大價值觀:溝通、簡單、反饋、勇氣(擁抱變更)。

結構化設計

項目管理

五大過程組、十大知識域、47個子過程。

風險顯露度

RE=P*C

P是風險發生的概率,C是風險發生時帶來的項目成本。

風險的成本估算完成後,可以針對風險表中的每個風險計算其風險曝光度。某軟體小組計劃項目中採用60個可復用的構件,每個構件平均是100LOC,每個LOC的成本是13元人民幣。下麵是該小組定義的一個項目風險:

1、風險識別:預定要復用的軟體構件中只有60%將被集成到應用中,剩餘功能必須定製開發。

2、風險概率:50%。

3、該項目風險的風險曝光度()

解析:風險曝光度,測量的是資產的整個安全性風險,它將表示實際損失的可能性與表示大量可能損失的資訊結合到單一數字評估中。在形式最簡單的定量性風險分析中,風險曝光度可透過將風險可能性及影響相乘算出。

風險曝光度(risk exposure)=錯誤出現率(風險出現率)*錯誤造成損失(風險損失)風險識別

該風險可能發生概率為50%。所以該項目風險的風險曝光度是(60*100*13)*(1-60%)*50%=15600。

甘特圖

PERT圖

某軟體項目的活動圖如下圖所示,其中頂點表示項目里程碑,連續頂點的邊表示包含的活動,邊上的數字表示相應的活動持續時間(天),則完成該項目的最少時間為()天。活動BC和BF最多可以晚()天而不會影響項目的進度。

解析:關鍵路徑ABDGFJ和ABCEFJ,工期18天。

關鍵路徑上的總時差為0,即BC總時差0,BF總時差7。

McCabe環路複雜度

採用McCabe度量法計算下圖所示程式的環路複雜度()。

解析:公式V(G)=m-n+2,m為弧度,n為節點數量。

11-10+2=3

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • /*講時間運動之前先給大家複習一下運動函數 通常大家都會寫運動框架,一個定時器(Timer),一個步長(step 就是每次運動的距離),一個當前位置(current)一個目標位置(target),然後判斷一下當前位置加上步長和目標位置的關係就可以了 就可以了。 簡寫就是這樣唄*/ var obj=d ...
  • <html> <body background="http://img1.imgtn.bdimg.com/it/u=821335874,2927998559&fm=27&gp=0.jpg"><h1 style="text-align:center">網站集中地</h1><p><a href="/ht ...
  • 1. getComputedStyle(屬性多) 獲取當前元素所有最終使用的CSS屬性值,返回一個只讀的對象 style (屬性少)可寫 2.currentStyle 與getComputedStyle 作用一樣,只不過瀏覽器適用不一樣 獲取css屬性值 : 1.鍵值對 2.getProperVal ...
  • 首先提供一個知識點外資源: 線上編程:無需編程環境: https://codepen.io/pen 添加jQuery庫: Settings-->JavaScript-->quick-add-->jQuery jQuery: 基於js研發的封裝庫:可以屏蔽之前書寫js代碼考慮瀏覽器相容性的問題。問題交 ...
  • 最近看《node即學即用》,做點筆記~~ 核心API 1.【Events】 **瀏覽器中的事件模型是從DOM中來的 **DOM是基於用戶交互的用戶驅動型事件模型,有著一組與樹狀結構對應的介面元素 **當用戶與介面的某個特定部分交互時,對應有一個事件和一個相關的對象 **操作對象是在一棵樹上,故模型包 ...
  • jQuery寫法比Js簡單,但不能不學Js,不知道博客園有沒有喜歡寫jQuery筆記的園友? 如果有jQuery的各種技巧,解答,分享評論無妨? 代碼窩總結的筆記如下,希望對你有所幫助 JQuery滑動置頂onclick=" $('body,html').animate({scrollTop:0}, ...
  • 所有的悲傷,總會留下一絲歡樂的線索,所有的遺憾,總會留下一處完美的角落,我在冰峰的深海,尋找希望的缺口,卻在驚醒時,瞥見絕美的陽光! ——幾米 本文為讀 lodash 源碼的第十八篇,後續文章會更新到這個倉庫中,歡迎 star: "pocket lodash" gitbook也會同步倉庫的更新,gi ...
  • 一般的應用正式環境中都不止一臺伺服器(也就是說是集群的),那麼如果只是簡單的將數據預載入到記憶體,那麼就會有數據不同步的現象。 (更新了其中一臺JVM,另一臺JVM並不會收到通知從而保持數據同步)。 這時候就需要用到cache server了。 目前流行的cache server有很多種,像redis ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...