很多初學(xué)軟件編程的小伙伴,只顧著“編程”,其他開發(fā)相關(guān)的一些“技能”很少關(guān)注。如果你想以后進(jìn)入大公司,除了寫代碼之后,其他還需要掌握的技能很多,比如本文分享的"軟件開發(fā)生命周期"你有必要學(xué)習(xí)并了解一下。
1概念
為了使規(guī)模大,結(jié)構(gòu)復(fù)雜和管理復(fù)雜的軟件開發(fā)變得容易控制和管理,一套軟件開發(fā)的明確概念化過程是必不可少的,那么軟件開發(fā)生命周期(software Development lifecycle)也就悄然形成,簡稱為SDLC。 首先我們需要了解軟件開發(fā)過程中的7個關(guān)鍵點 : 第一階段計劃(planning)
第二階段 需求階段(requirement Analysis)
第三階段 設(shè)計階段(design)
第四階段 實施與編碼階段(implementation/coding)
第五階段 測試階段(testing)
第六階段 部署(Deployment)
第七階段 維護(hù)(maintenance)
當(dāng)然最終直到整個項目被拋棄,停止最后消亡,,那么軟件開發(fā)生命周期就結(jié)束了,下面小哥就跟大家簡單講解這個過程 :
01
計劃階段
不管做怎么樣的產(chǎn)品,該產(chǎn)品技術(shù)上多么的牛掰,總不能少了客戶customer和使用群體,該產(chǎn)品在市面上的商業(yè)運作是怎樣的?產(chǎn)品的價值等等?都直接來源于客戶,這些都是需要前期了解和關(guān)注的。
這樣的客戶一般都認(rèn)識和接觸多個不同的科技公司,并把自身的一些產(chǎn)品目標(biāo)和計劃設(shè)計成一個綱要給到每個公司,從而每個公司提供自身的產(chǎn)品設(shè)計規(guī)格參數(shù)等進(jìn)行競標(biāo)。
客戶會從每個公司的競標(biāo)書中尋找到最為合適的,包括產(chǎn)品性能、報價、周期等等綜合考量,既滿足自己公司產(chǎn)品目標(biāo)又更有競爭力。
最終一般是產(chǎn)品經(jīng)理跟客戶討論相應(yīng)條款、簽署相關(guān)協(xié)議并接受該產(chǎn)品項目,然后進(jìn)入SDLC下一個階段。
02
需求階段
與客戶一起計劃需求的階段。客戶將具體的產(chǎn)品應(yīng)用需求提交給我們,我們拿到客戶具體需求以后團(tuán)隊開發(fā)人員、產(chǎn)品負(fù)責(zé)人和測試人員等等進(jìn)行內(nèi)部團(tuán)隊需求討論,對該產(chǎn)品的需求進(jìn)行進(jìn)一步的拆解和計劃。 客戶需求一經(jīng)分析完所有的需求,團(tuán)隊和客戶將共同承擔(dān)所有已定義的產(chǎn)品要求,并且在項目管理系統(tǒng)中創(chuàng)建相關(guān)確認(rèn)證明書。
03
設(shè)計階段
從這里開始我們進(jìn)入SDLC的設(shè)計階段,根據(jù)之前所有的要求開始計劃產(chǎn)品的設(shè)計階段,包括硬件上的配置、選型等,還包括軟件上的服務(wù)器設(shè)計、數(shù)據(jù)庫關(guān)系等確定。 一旦確定好主要設(shè)計模型,項目便對整個設(shè)計階段進(jìn)行時間節(jié)點的劃分,包括硬件的設(shè)計階段、layout階段、備料階段、軟件調(diào)測評估階段、軟件模擬測試階段、聯(lián)調(diào)階段等過程,并開始受項目把控。
03
實施與編碼階段
接下來,我們將討論應(yīng)用程序的實現(xiàn)與編碼,在實施和編碼階段,研發(fā)團(tuán)隊將開始為開發(fā)人員設(shè)置模擬的硬件平臺,開發(fā)人員便開始編寫相關(guān)部分代碼,設(shè)計總工程師將繼續(xù)評估設(shè)計方案的效果與產(chǎn)品目標(biāo)對比,從而進(jìn)一步優(yōu)化產(chǎn)品設(shè)計策略,測試人員將分析需求并即將在這個階段為軟件測試建立測試用例。 他們開始想象應(yīng)用程序的可用性,這是非常有價值的。并在編寫測試用戶的同時查看所有東西是否存在設(shè)計上的實際價值和意義,并幫助釋放設(shè)計中的基本缺陷。
04
測試階段
接下來進(jìn)行最重要的階段-測試階段。 為什么說測試階段如此重要呢?開發(fā)人員已完成對我們需求的一些新功能的編碼,然而這些功能都會是客戶必須的需求,如果這些功能僅僅只是卡頓或許只是影響用戶體驗,但是如果威脅到了用戶的資金安全、人身安全或許就是無法容忍的缺陷,一旦用戶端出現(xiàn)此問題,那一定是致命的,甚至?xí)仙椒蓪用妗?所以一般全面的公司都會有一個測試用例的評審階段,來看看創(chuàng)建的驗證是否滿足所有需求,以確保所有功能按預(yù)期工作,從而保證設(shè)計功能的可靠性。同時在我們進(jìn)行測試時,開始發(fā)現(xiàn)錯誤,需要將他們生成相應(yīng)的錯誤報告,然后分配給開發(fā)人員的系統(tǒng),他們進(jìn)入并修護(hù)bug,如下是bug周期圖:
05
部署階段
最終將進(jìn)入生產(chǎn)部署階段,說白了就是看看"到底是驢子還是馬",出來遛一遛,我們以前一直在進(jìn)行測試,而此階段準(zhǔn)備將他們投入生產(chǎn)。 這意味著他們將安裝新的硬件或者全新的服務(wù)器,并且要使用到幾乎所有的功能,生產(chǎn)這邊包括建立連接,建立真正的數(shù)據(jù)庫。開發(fā)團(tuán)隊在現(xiàn)場支援指導(dǎo)完成現(xiàn)場調(diào)試工作,保證產(chǎn)品順利上線給終端用戶。
06
維護(hù)階段
這里將進(jìn)入最后的SDLC的維護(hù)階段,需要時刻監(jiān)控系統(tǒng)的穩(wěn)定情況和冗余性。系統(tǒng)至少不能奔潰,根據(jù)用戶量的波動,對系統(tǒng)的負(fù)荷進(jìn)行進(jìn)行評估,然后通過分析報告進(jìn)行系統(tǒng)的優(yōu)化升級改造。 然而維護(hù)階段產(chǎn)生的錯誤,這就是所謂的生產(chǎn)技術(shù)支持,用戶會通過電子郵件、相關(guān)售后人員等多種渠道與我們聯(lián)系,我們可以通過調(diào)查他們反饋的問題來進(jìn)行確認(rèn),并團(tuán)隊談?wù)撓嚓P(guān)優(yōu)化和修護(hù)工作。
綜上所述,我們討論了計劃需求分析設(shè)計。
一旦我們進(jìn)入維護(hù)階段,如果客戶需求變動就通過再次啟動整個過程,從而將新的東西添加到我們的應(yīng)用程序中。
2最后
這里小哥就分享了SDLC的整個過程,相信對于整個軟件的開發(fā)流程有一定的了解了,希望本文能夠?qū)δ阌袔椭?/p>
審核編輯 :李倩
-
軟件開發(fā)
+關(guān)注
關(guān)注
0文章
647瀏覽量
28807 -
編程
+關(guān)注
關(guān)注
88文章
3689瀏覽量
95334 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3937瀏覽量
66387
原文標(biāo)題:"軟件開發(fā)生命周期"有幾個階段?
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Traveo II B-H中的SECURE和SECURE_WITH_DEBUG生命周期階段有何不同?
KaihongOS操作系統(tǒng):頁面的生命周期介紹
UIAbility組件生命周期介紹
ServiceAbility的生命周期介紹
ArkUI-X中Plugin生命周期開發(fā)指南
AutoScaling 生命周期掛鉤功能
什么是DevOps?DevOps的優(yōu)勢以及生命周期

"STM32F0 Error: Flash Download failed - ""Cortex-M0""解決"

芯片工藝的&quot;7nm&quot; 、&quot;5nm&quot;到底指什么?

鴻蒙開發(fā)組件:DataAbility的生命周期
DevSecOps自動化在安全關(guān)鍵型軟件開發(fā)中的實踐、Helix QAC&amp;amp; Klocwork等SAST工具應(yīng)用

電纜局部放電在線監(jiān)測:守護(hù)電網(wǎng)安全的&amp;quot;黑科技&amp;quot;

評論