軟考-軟件工程開發模型

軟考-軟件工程開發模型

參考視頻: 軟件工程概述&開發模型 ,配合視頻理解更清晰~

軟件的生命周期為:需求分析軟件設計軟件開發運行維護直至被淘汰 幾個階段。

軟件工程支持 4 個活動,簡稱 PDCA,分別是:Plan、Do、Check、Action

  • 軟件規格說明:規定軟件功能及其運行時限制
  • 軟件開發:開發出滿足規格說明的軟件
  • 軟件確認:確認開發的軟件能滿足用戶需求
  • 軟件演進:軟件在運行過程中不斷改進以滿足用戶新的需求

為了使軟件生命周期中的各項任務有序進行,需要一定的模型給予規程約束,這就是軟件生命周期模型。

1、瀑布模型

基礎知識:

【1】又被稱為生命周期法

【2】開發計劃分為:軟件計劃、需求分析、軟件設計、程序編碼、軟件測試、運行維護 6 個階段

優點:

【1】為項目提供了按階段劃分的檢查點

【2】當前一階段完成后,只需要關注后一階段

【3】提供了一個模板,使得分析、設計、編碼、測試和支持的方法可以在該模板下有一個共同的指導

缺點:

【1】各個階段產生了大量的文檔,極大地增加了工作量

【2】開發模型是線性的,用戶只有在開發末期才能看到開發成果,從而增加了開發風險

【3】不適應用戶需求的變化,并且在需求分析階段不可能完全獲取

【4】前期未發現的錯誤在后面的開發活動中可能被擴散,進而導致整個項目開發失敗

適用場景:

【1】需求明確或很少變更的項目

2、原型化模型

基礎知識:

【1】快速建立一個目標系統的最初版本,并交給用戶試用、補充和修改,再進行新的版本開發,直到用戶滿意

【2】成敗的關鍵和效率的高低,在于模型的建立和建模的速度

【3】按照最終的結果可以分為拋棄型原型和演化型原型

適用場景:

【1】用戶需求不明確

3、螺旋模型

基礎知識:

【1】瀑布型模型和演化型原型相結合

【2】強調風險分析

【3】每一次迭代分為:目標設定、風險分析、開發和有效性驗證、評審

適用場景:

【1】大型軟件開發

【2】面向規格說明、面向過程和面向對象的開發,及幾種開發方法的組合

4、敏捷模型

基礎知識:

【1】適應型(圖右)而非預設型(或者叫可預測型,圖左)

image-20250519221343062

【2】以人為本而非以過程為本,強調開發人員有權做技術方面的所有決定強調相關人員的溝通提倡面對面交流

【3】迭代增量式的開發過程

迭代(圖左),增量(圖右)

image-20250519221535137

敏捷模型適合需求變化較大或者開發前期對需求不是很清晰的項目。是一組,包含下面多種:

4.1 極限編程(XP)

基礎知識:

【1】價值觀是:交流、樸素、反饋和勇氣,將開發過程分解為一個個相對比較簡單的小周期

4.2 水晶方法

基礎知識:

【1】提倡“機動性”,認為每個項目都有獨特的角色、過程模式、工作產品和實踐。

4.3 SCRUM

基礎知識:

【1】側重于項目管理,迭代式增量軟件開發過程

4.4 特征驅動開發方法(FDD)

基礎知識:

【1】一種迭代開發模型,認為有效的軟件開發需要三要素:人、過程和技術

4.5 開放源碼(很少考)

基礎知識:

【1】程序員地域上分布十分廣泛

4.6 ASD 方法(很少考)

基礎知識:

【1】核心是三個非線性的、重疊的開放階段:猜測、開放和學習

4.7 動態系統開放方法(DSDM)(很少考)

基礎知識:

【1】倡導以業務為核心

5、構件組裝模型(CBSD)

基礎知識:

【1】利用模塊化方法,將整個系統模塊化,在一定構件模型的支持下,復用構件庫中的一個或多個構件,通過組合手段高效率、高質量的構造軟件系統

【2】融合了螺旋模型的許多特征,本質上是演化的,開發過程是迭代的

【3】基于構件的軟件開發分為:需求分析和定義、體系結構設計、構件庫的建立、應用軟件構建、測試和發布

6、V 模型

基礎知識:

【1】測試分段(每一步都有對應的測試)

【2】測試計劃先行(例如詳細設計階段做單元測試的測試計劃,這樣提前做下一步驟的測試計劃)

image-20250519223418051

7、W 模型

基礎知識:

【1】依據“盡早且持續進行軟件測試”的原則,開發流程與測試活動并行展開

8、快速應用開發模型(RAD)

基礎知識:

【1】增量型軟件開發模型

【2】通過大量使用可復用構件,采用基于構件的開發方法快速開發,強調極短的開發周期

【3】流程分為:業務建模、數據建模、過程建模、應用生成、測試與交付

適用場景:

【1】模塊化要求程度比較高

9、噴泉模型

基礎知識:

【1】強調面向對象

10、統一過程開發模型(UP、RUP)

基礎知識:

【1】用例驅動
【2】以架構為中心
【3】迭代和增量

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/82016.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/82016.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/82016.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【寫在創作紀念日】基于SpringBoot和PostGIS的各省東西南北四至極點區縣可視化

目錄 前言 一、空間檢索簡介 1、空間表結構 2、四至空間檢索 二、前后端實現 1、后端實現 2、前端集成 三、成果展示 1、東部省份 2、西部省份 3、南部省份 4、北部省份 5、中部省份 四、總結 前言 在當今數字化時代,地理信息數據的分析與可視化對于眾…

智能守護校園“舌尖安全“:AI視頻分析賦能名廚亮灶新時代

引言: 在校園食品安全備受關注的今天,一套融合視頻監控管理平臺與AI視頻分析盒子的智能解決方案正在全國多地學校食堂悄然落地,為傳統的"名廚亮灶"工程注入科技新動能。這套系統不僅實現了后廚操作的"透明化"&#xff0…

【軟件設計師】計算機網絡考點整理

以下是軟件設計師考試中 ??計算機網絡?? 的核心考點總結,幫助您高效備考: ??一、網絡體系結構與協議?? ??OSI七層模型 & TCP/IP四層模型?? 各層功能(物理層-數據鏈路層-網絡層-傳輸層-會話層-表示層-應用層)對應協…

Starrocks的CBO基石--統計信息的來源 StatisticAutoCollector

背景 本文來從底層代碼的實現來分析一下Starrocks怎么獲取統計信息,這些統計信息在后續基于CBO的代價計算的時候有著重要的作用 本文基于Starrrocks 3.3.5 結論 Starrocks的統計信息的收集是通過周期性的運行一系列的SQL(以分區為維度,如果…

深度學習模型部署(四)——RKNN

一、RKNN部署及工具包安裝 參考1:https://blog.csdn.net/qq_40280673/article/details/136211086#/ 參考2:瑞芯微官方教程 RKNN部署針對瑞芯微芯片優化,支持NPU硬件加速,需要安裝rknn-toolkit,用于將pytorch模型轉換為…

重構研發效能:項目管理引領軟件工廠邁向智能化

1.項目管理智能化,激活軟件工廠新引擎 在高速發展的軟件開發時代,企業如何高效管理多個項目、協調團隊合作、優化資源配置,已成為推動技術進步的關鍵。尤其是在多任務、多項目并行的復雜環境下,智能項目組合管理工具正成為軟件工…

小米汽車二期工廠下月將竣工,產能提升助力市場拓展

在新能源汽車市場競爭日益激烈的當下,小米汽車傳來重要進展消息。據多方信息顯示,小米汽車二期工廠下月即將竣工,這一關鍵節點的到來,有望為小米汽車的產能提升與市場布局帶來重大突破。? 小米汽車二期工廠位于北京亦莊&#xff…

Python 爬蟲實戰:電競比賽直播數據實時抓取與可視化分析

一、引言 在電競行業快速發展的今天,電競比賽直播數據成為了電競愛好者、分析師和商業機構關注的焦點。實時抓取電競比賽直播數據并進行分析,不僅可以幫助觀眾更好地理解比賽,還能為戰隊戰術優化、選手表現評估以及賽事運營提供重要參考。 本文將詳細介紹如何使用Python爬…

零基礎設計模式——創建型模式 - 生成器模式

第二部分:創建型模式 - 生成器模式 (Builder Pattern) 前面我們學習了單例、工廠方法和抽象工廠模式,它們都關注如何創建對象。生成器模式(也常被稱為建造者模式)是另一種創建型模式,它專注于將一個復雜對象的構建過程…

Debezium快照事件監聽器系統設計

Debezium快照事件監聽器系統設計 1. 系統概述 1.1 設計目標 為 Debezium 的快照過程提供可擴展的事件監聽機制允許外部系統在快照過程中執行自定義邏輯提供線程安全的事件分發機制確保監聽器的異常不會影響主快照流程1.2 核心功能 表快照開始事件監聽表快照完成事件監聽行數據…

手術機器人行業新趨勢:Kinova多機械臂協同系統如何突破復雜場景適應性瓶頸?

機器人手術歷經多階段技術演進,已成為現代醫療重要方向。其需求增長源于醫療機構對高精度低風險手術方案的需求、微創手術普及及技術進步帶來的復雜場景適應性提升。Kinova 輕型機械臂憑借模塊化設計與即插即用功能,可快速適配不同手術環境,為…

力扣面試150題-- 二叉樹展開為鏈表

Day 46 題目描述 思路 初次做法:由于我直接考慮O(1)級別的空間復雜度,于是采取了以下做法: 接下來的內容就是遞歸函數如果該節點為空,就返回null將此時的current作為頭節點,left和right作為孩…

【Python】開發工具uv

文章目錄 1. uv install1.1 下載安裝腳本來安裝1.2 使用pipx安裝uv1.3 補充 2. 考慮在離線系統上安裝uv2.1 下載并上傳安裝包2.2 用戶級安裝uv(~/.local/bin/)2.3 補充 3. uv 管理Python解釋器4. uv 管理依賴5. uv運行代碼5.1 uv不在項目下執行腳本5.2 u…

zabbix批量主機維護腳本兼容性更新

最近做新老版本zabbix監控主機遷移發現zabbix6.0后api安全有了效大升級,批量主機維護腳本出現認證兼容性問題,以下為腳本更新token支持:在這里插入代碼片: # /usr/bin/env python3 # -*- coding:utf-8 -*- import requests impor…

Java中static關鍵字深度解析:從入門到高階實戰

Java中static關鍵字深度解析:從入門到高階實戰 目錄 static的本質與核心特性靜態變量 vs 實例變量:底層對比靜態方法的設計哲學與應用場景高級用法:突破常規的static技巧 4.1 靜態代碼塊:類加載的“初始化引擎”4.2 靜態內部類&…

基于RT-Thread的STM32F4開發第五講——軟件模擬I2C

文章目錄 前言一、RT-Thread工程創建二、AT24C02三、函數編寫1.I2C_soft.c2.I2C_soft.h3.main.h 四、效果展示五、資源分享總結 前言 本章是基于RT-Thread studio實現軟件模擬I2C,開發板是正點原子的STM32F4探索者,使用的RT-Thread驅動是5.1.0&#xff0…

49、c# 能?foreach 遍歷訪問的對象需滿足什么條件?

在 C# 中,要使用 foreach 循環遍歷一個對象,該對象必須滿足以下條件之一: 1. 實現 IEnumerable 或 IEnumerable 接口 非泛型版本:System.Collections.IEnumerable public class MyCollection : IEnumerable {private int[] _da…

推客小程序系統開發:全棧式技術解決方案與行業賦能實踐?

? 在數字化營銷深度滲透各行業的當下,傳統推廣模式已難以滿足企業精細化運營與高效獲客的需求。專業的推客小程序系統憑借其強大的裂變傳播能力與靈活的推廣機制,成為企業構建私域流量池、提升推廣效能的核心工具。我們基于多年技術沉淀與行業洞察&…

WPF布局系統詳解:掌握界面設計的核心藝術

掌握界面設計的核心藝術 1. WPF布局系統概述2. Grid布局詳解2.1 基本行列定義2.2 單元格定位與跨行跨列 3. StackPanel布局4. DockPanel布局5. WrapPanel與Canvas5.1 WrapPanel自動換行布局 5. Canvas絕對定位6. 布局嵌套與綜合應用7. 布局性能優化8. 響應式布局技巧9. 實戰&am…

labview實現LED流水燈的第一種方法

目的:寫一個跑馬燈程序,7個燈從左到右不停的輪流點亮,閃爍間隔由滑動條調節。 一、方法1:使用順序結構 使用順序結構,平鋪式順序結構與創建局部變量實現LED流水燈 具體步驟如下: 第一步,選擇…