軟件工程 開發(fā)生命周期

2021-10-23 11:11 更新

軟件開發(fā)生命周期(Software Development Life Cycle),簡(jiǎn)稱SDLC,是軟件工程中定義明確、結(jié)構(gòu)化的階段序列,用于開發(fā)預(yù)期的軟件產(chǎn)品。

SDLC活動(dòng)

SDLC 提供了一系列需要遵循的步驟,以有效地設(shè)計(jì)和開發(fā)軟件產(chǎn)品。SDLC 框架包括以下步驟:

通信

這是用戶發(fā)起對(duì)所需軟件產(chǎn)品的請(qǐng)求的第一步。他聯(lián)系服務(wù)提供商并嘗試協(xié)商條款,以書面形式向服務(wù)提供組織提交請(qǐng)求。

要求收集

從這一步開始,軟件開發(fā)團(tuán)隊(duì)將繼續(xù)執(zhí)行該項(xiàng)目。該團(tuán)隊(duì)與來自問題領(lǐng)域的各種利益相關(guān)者進(jìn)行討論,并試圖提供盡可能多的關(guān)于他們需求的信息。這些需求被劃分為用戶需求、系統(tǒng)需求和功能需求。這些需求是使用給定的許多實(shí)踐手機(jī)的:

  • 研究現(xiàn)有的或已過時(shí)的系統(tǒng)和軟件
  • 對(duì)用戶和開發(fā)人員進(jìn)行訪談
  • 參考數(shù)據(jù)庫
  • 從問卷中收集答案

可行性研究

在需求收集之后,團(tuán)隊(duì)提出了軟件過程的粗略計(jì)劃。在這一步,團(tuán)隊(duì)分析是否可以制作一個(gè)軟件來滿足用戶的所有需求,以及是否有任何軟件不再有用的可能性。如果該項(xiàng)目在預(yù)算上、實(shí)際上和技術(shù)上對(duì)組織來說是可行的,就會(huì)被發(fā)現(xiàn)。有許多可用的算法,可以吧主開發(fā)人員得出軟件項(xiàng)目的可行性。

系統(tǒng)分析

在這一步的開發(fā)者決定他們計(jì)劃的路線圖,并嘗試提出適合該項(xiàng)目的最好的軟件模型。系統(tǒng)的分析包括了解軟件產(chǎn)品的限制,學(xué)習(xí)系統(tǒng)相關(guān)的問題或變化將在現(xiàn)有的系統(tǒng)中之前進(jìn)行,識(shí)別并解決項(xiàng)目對(duì)組織人事等團(tuán)隊(duì)項(xiàng)目的影響分析項(xiàng)目的范圍,并計(jì)劃進(jìn)度和相應(yīng)的資源。

軟件設(shè)計(jì)

在這一步,開發(fā)人員決定他們的計(jì)劃路線圖,并嘗試提出適合項(xiàng)目的最佳軟件模型。系統(tǒng)分析包括了解軟件產(chǎn)品的局限性,預(yù)先了解系統(tǒng)相關(guān)問題或在現(xiàn)有系統(tǒng)中要進(jìn)行的更改,識(shí)別和解決項(xiàng)目對(duì)組織和人員的影響等。項(xiàng)目團(tuán)隊(duì)分析項(xiàng)目范圍,并相應(yīng)地計(jì)劃進(jìn)度和資源。

編碼

這個(gè)步驟也被稱為編程階段。軟件設(shè)計(jì)的實(shí)施始于用合適的編程語言編寫程序代碼并有效地開發(fā)無錯(cuò)誤的可執(zhí)行程序。

測(cè)試

據(jù)估計(jì),應(yīng)該測(cè)試整個(gè)軟件開發(fā)過程的 50%。錯(cuò)誤可能會(huì)破壞軟件從關(guān)鍵級(jí)別到自行刪除。軟件測(cè)試由開發(fā)人員在編碼的同時(shí)進(jìn)行,由測(cè)試專家在各個(gè)級(jí)別的代碼(例如模塊測(cè)試、程序測(cè)試、產(chǎn)品測(cè)試、內(nèi)部測(cè)試和用戶端測(cè)試產(chǎn)品)上進(jìn)行全面測(cè)試。盡早地發(fā)現(xiàn)錯(cuò)誤及其補(bǔ)救措施是獲得可靠軟件的關(guān)鍵。

整合

軟件可能需要與庫、數(shù)據(jù)庫和其他程序集成。SDLC 的這個(gè)階段設(shè)計(jì)軟件與外部世界實(shí)體的集成。

實(shí)施

這意味著在用戶機(jī)器上安裝軟件。有時(shí),軟件需要在用戶端進(jìn)行安裝后配置。測(cè)試軟件的可以執(zhí)行和適應(yīng)性,并在實(shí)施過程中解決與集成相關(guān)的問題。

操作和維護(hù)

此階段以更高的效率和更少的錯(cuò)誤來確認(rèn)軟件的操作。如果需要,用戶將接受有關(guān)如何操作以及如何保持軟件運(yùn)行的文檔的培訓(xùn)或幫助。通過根據(jù)用戶終端環(huán)境或技術(shù)發(fā)生的變化更新代碼來及時(shí)維護(hù)軟件。此階段可能面臨來自隱藏錯(cuò)誤和現(xiàn)實(shí)世界中未識(shí)別問題的挑戰(zhàn)。

處置

隨著時(shí)間的推薦,軟件的性能可能會(huì)下降。它可能會(huì)完全過時(shí)或可能需要大量升級(jí)。因此,迫切需要消除系統(tǒng)的主要部分。該階段包括歸檔數(shù)據(jù)和所需的軟件組織、關(guān)閉系統(tǒng)、規(guī)劃處置活動(dòng)和在適當(dāng)?shù)南到y(tǒng)結(jié)束時(shí)間終止系統(tǒng)。

軟件開發(fā)范式

軟件開發(fā)范式幫助開發(fā)人員選擇開發(fā)軟件的策略。軟件開發(fā)范式有自己的一套工具、方法和程序,這些工具、方法和程序都被清晰地表達(dá)出來并定義了 SDLC。一些軟件開發(fā)范式或過程模型定義如下:

瀑布模型

瀑布模型是最簡(jiǎn)單的軟件開發(fā)范式模型。它說SDLC的所有階段將以線性方式一個(gè)接著一個(gè)運(yùn)行。也就是說,當(dāng)?shù)谝浑A段完成時(shí),只有第二階段才會(huì)開始,以此類推。

該模型假設(shè)一切都按照上一階段的計(jì)劃完美地進(jìn)行和發(fā)生,無需考慮下一階段可能出現(xiàn)的過去問題。如果上一步存在一些問題,則此模型無法順利運(yùn)行。模型的順序性質(zhì)不允許我們返回并撤銷或重做我們的操作。

當(dāng)開發(fā)人員過去已經(jīng)設(shè)計(jì)和開發(fā)過類似軟件并了解其所有領(lǐng)域時(shí),此模型最適合。

迭代模型

該模型在迭代中引導(dǎo)軟件開發(fā)過程。它以循環(huán)方式投影開發(fā)過程,在 SDLC 過程的每個(gè)循環(huán)之后重復(fù)每一步。

該軟件首先是在非常小的規(guī)模上開發(fā)的,所有的步驟都被考慮在內(nèi)。然后,在下一次迭代中,更多的功能和模塊被設(shè)計(jì)、編碼、測(cè)試并添加到軟件中。每個(gè)周期都會(huì)產(chǎn)生一個(gè)軟件,該軟件本身是完整的,并且比前一個(gè)周期具有更多的特性和功能。

每次迭代后,管理團(tuán)隊(duì)可以進(jìn)行風(fēng)險(xiǎn)管理工作并為下一次迭代做準(zhǔn)備。由于一個(gè)周期包括整個(gè)軟件過程的一小部分,開發(fā)過程更容易管理,但消耗的資源更多。

螺旋模型

螺旋模型是迭代模型和 SDLC 模型兩者的結(jié)合??梢钥醋魇沁x擇了一個(gè) SDLC 模型比將其與循環(huán)過程(迭代模型)結(jié)合起來。

該模型考慮了風(fēng)險(xiǎn),而大多數(shù)其他模型通常沒有注意到風(fēng)險(xiǎn)。首先在一次迭代開始時(shí)確定軟件的目標(biāo)和約束。下一個(gè)階段是對(duì)軟件進(jìn)行原型設(shè)計(jì)。這包括風(fēng)險(xiǎn)分析,然后使用一個(gè)標(biāo)準(zhǔn)的 SDLC 模型來構(gòu)建軟件。在第四階段準(zhǔn)備下一次迭代的計(jì)劃。

V-Model

瀑布模型的主要缺點(diǎn)是我們只有在上一個(gè)階段完成后才能進(jìn)入下一個(gè)階段,如果后期發(fā)現(xiàn)問題則沒有機(jī)會(huì)返回。V-Model 模型提供了在每個(gè)階段以相反方式測(cè)試軟件的方法。

在每一個(gè)階段,都會(huì)根據(jù)該階段的要求創(chuàng)建測(cè)試計(jì)劃和測(cè)試用例來驗(yàn)證和確認(rèn)產(chǎn)品。例如,在需求收集階段,測(cè)試團(tuán)隊(duì)根據(jù)需求準(zhǔn)備所有測(cè)試用例。之后,當(dāng)產(chǎn)品開發(fā)完畢并準(zhǔn)備好進(jìn)行測(cè)試時(shí),此階段的測(cè)試用例會(huì)根據(jù)此階段的需求驗(yàn)證軟件的有效性。

這使得驗(yàn)證和確認(rèn)并行。該模型也被稱為驗(yàn)證和確認(rèn)的模式.

大爆炸模型

該模型是其形式中最簡(jiǎn)單的模型。它需要很少的規(guī)劃、大量的編程和大量的資金。這個(gè)模型是圍繞宇宙大爆炸概念化的。正如科學(xué)家所說,在大爆炸之后,許多星系、行星和恒星的演化就像一個(gè)事件。同樣,如果我們將大量的編程和資金放在一起,您可能會(huì)獲得最好的軟件產(chǎn)品。

對(duì)于這個(gè)模型,只需要非常少量的規(guī)劃。它不遵循任何流程,或者有時(shí)客戶不確定需求和未來的需求。所以,輸入要求是任意的.

這種模式不適合大型軟件項(xiàng)目,但適合學(xué)習(xí)和實(shí)驗(yàn)。

如果需要深入了解 SDLC 及其各種模型,請(qǐng)單擊此處。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)