軟件開發(fā)過程的七個階段(軟件開發(fā)的八個階段)
本篇文章給大家談?wù)勡浖_發(fā)過程的七個階段,以及軟件開發(fā)的八個階段對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
本文目錄一覽:
- 1、軟件生命周期七個階段
- 2、軟件開發(fā)流程八個步驟
- 3、軟件開發(fā)過程包括哪些階段?
- 4、軟件開發(fā)的基本流程包括哪些
- 5、軟件開發(fā)過程一般有幾個階段?
- 6、說明軟件設(shè)計與開發(fā)過程分為哪幾個階段。每個階段你都做了哪些工作,得到什么設(shè)計結(jié)果?
軟件生命周期七個階段
第一階段:假想階段
在本階段需要反復(fù)驗證這個假想的可行性,成本,收益;如果行業(yè)內(nèi)已有類似的可參考的軟件那么就會簡單一些,如果沒有就只能利用一些模擬和預(yù)測的方法來幫忙了。在假想確定要實施的時候一定要組織一次啟動會議,參會人員包括所有的利益相關(guān)方,由總裁級別的領(lǐng)導(dǎo)宣布這個項目的正式啟動;目的就是給大家一個前進(jìn)的方向和希望各方通力合作。
第二階段:需求開發(fā)階段
軟件的5個特性中的易用性在本階段要重點考慮。本階段可能是爭議最多的階段,對于同一種業(yè)務(wù)功能需求會有多種解決方案,每一種解決方案會有一套詳細(xì)的軟件功能描述,不同的解決方案所需要的成本一定是不一樣的,易用性也會不一樣。如果站在業(yè)務(wù)部門的角度一定是易用性越好越滿意,但是站在信息部門的角度如果成本超出了預(yù)算就不得不追加預(yù)算,如果不能批準(zhǔn)就不得不和業(yè)務(wù)部門反復(fù)探討協(xié)商了。信息部門各個方面的項目負(fù)責(zé)人一定要參與到這個階段的討論中,如果在某個方面的成本超出了預(yù)算一定要及時提出,包括開發(fā)方面,測試方面,硬件方面。通常見一些公司只有一個項目經(jīng)理或者銷售人員代表信息部門參與到這個階段的討論中,接受了很多成本遠(yuǎn)超出預(yù)算的業(yè)務(wù)需求,殊不知這一個人怎能精通各個方面,怎能準(zhǔn)確地計算出成本。不知這些公司的上層領(lǐng)導(dǎo)們是怎樣想的。如果是一個乙方公司這樣不專業(yè)的做法通常的結(jié)果就是虧本買賣,唯一的解決辦法就是不斷壓榨一線的技術(shù)人員。在國內(nèi)這種不正常的現(xiàn)象很普遍。作為一個信息行業(yè)的從業(yè)人員真希望這種現(xiàn)象會盡快好轉(zhuǎn),多給技術(shù)人員一些尊重和成長的機(jī)會,最終形成良性循環(huán)。
通常在這個階段一線的技術(shù)人員不會參與進(jìn)來,對于參與的技術(shù)人員負(fù)責(zé)人要求比較高,他要熟悉公司的現(xiàn)有技術(shù)架構(gòu),使用或者復(fù)用時的成本;具有較強(qiáng)的溝通協(xié)調(diào)能力;對于公司財務(wù)部門,預(yù)算部門,采購部門的工作流程比較熟悉;所有的素質(zhì)要求都是為了能夠深刻理解和把握開篇提到的那個三角形標(biāo)示出來的三個要素和高質(zhì)量的標(biāo)準(zhǔn)。
站在整個項目的負(fù)責(zé)人的角度看平衡各方利害通常是很有挑戰(zhàn)性的任務(wù),作者曾經(jīng)參加過競越公司開辦的一門叫做思維技術(shù)的課程,其中提到過從一個問題的多個解決方案中選出最適合各個利益相關(guān)方的的方法論。作者認(rèn)為完全可以把這個方法論使用在本階段爭議比較多的焦點上。
如果本階段沒有爭議是不正常的現(xiàn)象,本階段的爭議越多后面階段的爭議相對就少,站在整個項目的角度看成功率就相對高,總成本就相對低。
第三階段:設(shè)計階段
在上一個階段的工作做得足夠充分之后本階段的工作才更加有意義和價值。本階段的工作至關(guān)重要,承上啟下。
軟件方面:作者主張需求開發(fā)階段參與的技術(shù)負(fù)責(zé)人,設(shè)計階段的負(fù)責(zé)人,實現(xiàn)階段的負(fù)責(zé)人,以及軟件在運(yùn)行期間的第三層運(yùn)維支持負(fù)責(zé)人是同一個人。這四個負(fù)責(zé)人可以分開,但是要保證下一個階段的負(fù)責(zé)人能夠充分理解上一個階段負(fù)責(zé)人的工作輸出的想法并且是認(rèn)可的。如果四個責(zé)任人分開會面臨以下幾個管理問題:
1.由于上一個階段的負(fù)責(zé)人并不繼續(xù)向下負(fù)責(zé),所以可能出現(xiàn)不認(rèn)真或者輸出結(jié)果不達(dá)標(biāo)的問題;下一個階段的負(fù)責(zé)人可能會出現(xiàn)同樣的問題,以至于問題一直留到最后解決,甚至于無法解決,成本高到遠(yuǎn)遠(yuǎn)超出預(yù)算。
2.知識傳遞的問題,如果下一個階段的負(fù)責(zé)人不能理解上一個階段的負(fù)責(zé)人的理念,那么就需要兩位負(fù)責(zé)人在一起充分溝通達(dá)成共識,但是如果兩位負(fù)責(zé)人不能達(dá)成共識又會引起另外的問題。
但是如果四個負(fù)責(zé)人都是同一個人,也許有人會質(zhì)疑說一個人的精力有限,對于一個大項目來說一個人無法勝任。在這里作者必須聲明作者是個敏捷開發(fā)主義者,實際工作過程中通常都是一個月或者兩個月發(fā)布一次版本,測試通過就上線運(yùn)行。這樣一個人的精力有限問題就解決了,實際上也就是把在開篇提到的那個三角形中的范圍因素設(shè)定為正好適合一個負(fù)責(zé)人能夠勝任的界限。這種做法最大的好處不言而喻,項目成功率高,風(fēng)險度低,也可以盡快實現(xiàn)軟件的價值-為業(yè)務(wù)服務(wù)。也許還有人會質(zhì)疑如果每一次發(fā)布的版本的新增功能太少,在架構(gòu)設(shè)計方面可能會有偏差,會需要不斷重新設(shè)計架構(gòu)。作者一直以來的理解是軟件的架構(gòu)和軟件的源代碼是可以分開考慮的。舉個形象的例子就是架構(gòu)和源代碼的關(guān)系就像書架和書的關(guān)系,可以在開始就準(zhǔn)備一個大書架,然后一本一本添加書籍,很長時間都不需要換書架。如果開始準(zhǔn)備的是一個小書架,書籍很快就會把書架填滿,這時一個小書架就不夠用了,解決辦法可以增加一個小書架,也可以換成一個大書架。增加一個小書架就相當(dāng)于增加一個子系統(tǒng),換成一個大書架就相當(dāng)于重新設(shè)計架構(gòu),然后增加新的模塊。但是作者不能確定在開始是用一個小書架好還是用一個大書架好,如果一定要給一個觀點,作者主張把書架設(shè)計成可以由一個人就能夠靈活添加或者減少書架體積的模式。這時架構(gòu)設(shè)計們的價值就明顯地展示出來了。放書的工作就相對簡單多了。
硬件方面和測試方面的道理應(yīng)該是類似的。
第四階段:實現(xiàn)階段
有了質(zhì)量標(biāo)準(zhǔn),有了設(shè)計方案,接下來的工作就是加工實現(xiàn)了。在實現(xiàn)的過程中要不斷檢查質(zhì)量是否達(dá)標(biāo),是否是按照設(shè)計方案來實現(xiàn)的。如果這個階段的負(fù)責(zé)人是設(shè)計階段的負(fù)責(zé)人和將來的第三層運(yùn)維支持負(fù)責(zé)人,那么這兩項檢查工作會很順利。軟件方面一定要有一個源代碼管理工具。硬件方面一定要有一個配置管理工具。
第五階段:質(zhì)量檢查階段
實現(xiàn)階段的質(zhì)量檢查屬于內(nèi)檢,本階段的質(zhì)量檢查屬于外檢,換成專業(yè)的質(zhì)量檢查人員從另外的角度看問題,看是否能夠達(dá)到質(zhì)量標(biāo)準(zhǔn)。作者主張需求開發(fā)階段參與的技術(shù)負(fù)責(zé)人,設(shè)計階段的負(fù)責(zé)人,質(zhì)量檢查階段的負(fù)責(zé)人和運(yùn)維期間的重復(fù)質(zhì)量檢查負(fù)責(zé)人都由同一個人來擔(dān)當(dāng)。
本階段還面臨一個管理問題就是質(zhì)量檢查人員和開發(fā)人員之間的溝通問題,所以缺陷管理工具和完善的質(zhì)量報告是很必要的。對于軟件上線運(yùn)行后出現(xiàn)的事故,調(diào)查事故原因如果是一個未發(fā)現(xiàn)的軟件缺陷,如果一定要有懲罰措施,作者主張開發(fā)方面負(fù)責(zé)承擔(dān)60%的責(zé)任,質(zhì)量檢查方面負(fù)責(zé)40%的責(zé)任。作者不主張獎懲措施,主張主人翁精神的培養(yǎng)。因為很多時候功與過實在是難以劃定清楚,必然會引起不公平現(xiàn)象的出現(xiàn);但是讓大家明白公司業(yè)績好了,獎金就會多,福利就會提升以及公司存在個人的工作就會存在這樣的道理卻很容易。但是主人翁精神的培養(yǎng)是個太過高級的話題,超出了作者的工作經(jīng)歷所覆蓋的范圍,只是有一點深刻體會就是公司要給予員工家的感覺,只要是一如既往全心全意為公司服務(wù),那么公司就沒有拋棄這位家人的理由,每年工資的提升至少不少于通貨膨脹率。作者認(rèn)為這樣的家人應(yīng)該會有比較強(qiáng)的主人翁精神的。
第六階段:部署階段
這個階段實現(xiàn)了軟件和硬件的結(jié)合。作者能夠提到的幾點就是:
1.本階段可以使用自動化部署工具。
2.可以把軟件的部署分為應(yīng)用程序?qū)雍蛿?shù)據(jù)庫層。
3.如果使用的是Windows服務(wù)器和域管理,應(yīng)用程序到數(shù)據(jù)庫之間的連接一定要使用集成身份驗證。
4.應(yīng)用程序池的賬號一定要使用服務(wù)賬號,密碼要使用密碼管理工具。
5.服務(wù)賬號只能用在應(yīng)用程序池用來連接應(yīng)用程序和數(shù)據(jù)庫,不能遠(yuǎn)程登錄服務(wù)器和使用在連接數(shù)據(jù)庫的客戶端軟件上。
6.如果不是域管理能夠做到的,那么所有的密碼都應(yīng)該使用加密功能。
軟件開發(fā)流程八個步驟
1、項目開發(fā)目的分析與確定
軟件開發(fā)流程的這一階段,主要是在在軟件開發(fā)商將開發(fā)項目確定下來之后,需要與需求方進(jìn)行討論,確定需求方對于軟件開發(fā)的需要實現(xiàn)目標(biāo)及其具體需要的功能等等,并確定是否可達(dá)成。
2、需求分析
這是軟件開發(fā)流程的第二個階段,也是為軟件開發(fā)的正常進(jìn)行確定具體思路的階段。在確定軟件開發(fā)可進(jìn)行后,必須要對客戶需要實現(xiàn)的軟件功能需求進(jìn)行具體詳細(xì)的分析。同時應(yīng)當(dāng)考慮在開發(fā)過程中可能出現(xiàn)的變化情況,制定需求變更計劃隨時應(yīng)對特殊情況的發(fā)生,保證軟件開發(fā)流程的順暢進(jìn)行。
3、設(shè)計
軟件設(shè)計要根據(jù)上一階段對軟件功能需求分析的結(jié)果,來設(shè)計軟件系統(tǒng)的框架結(jié)構(gòu)、功能模塊和數(shù)據(jù)庫等等。分為總體設(shè)計和詳細(xì)設(shè)計兩個部分。
4、編程
軟件開發(fā)流程中每上一個階段都是下一個階段的實施進(jìn)行的基礎(chǔ)。編程也是根據(jù)對軟件設(shè)計,將軟件設(shè)計的各部分需求通計算機(jī)程序代碼來實現(xiàn)運(yùn)行,編程有統(tǒng)一、規(guī)范的程序編寫規(guī)則,保證軟件程序的易懂性、易維護(hù)性。
5、軟件測試
在根據(jù)設(shè)計將客戶軟件需用編程代碼來實現(xiàn)之后,也就是軟件程序完成之后,需要對編寫的程序,形成整體構(gòu)架、功能進(jìn)行單元、組裝、系統(tǒng)三階段的測試,以測試程序編寫的正確性,以及對客戶需求功能滿足的充分性,以此來確定軟件是否達(dá)到開發(fā)要求,同時也是一個發(fā)現(xiàn)問題、糾正問題的過程。
6、軟件交付
軟件開發(fā)流程通過以上核心環(huán)節(jié)完成了軟件開發(fā),接下來就是在軟件開發(fā)達(dá)到客戶需求之后,開發(fā)者將軟件系統(tǒng)交予客戶,并將軟件安裝程序、數(shù)據(jù)庫的數(shù)據(jù)字典、《用戶安裝手冊》、《用戶使用指南》、需求報告、設(shè)計報告、測試報告等產(chǎn)物交付給客戶。
同時指導(dǎo)客戶進(jìn)行軟件安裝、以及安裝技巧,提醒客戶注意軟件運(yùn)行狀況、環(huán)境、服務(wù)器及相關(guān)中間件的檢測與注意事項,知道客戶軟件的實際操作方法、使用流程等等問題,實現(xiàn)合同規(guī)定任務(wù)。
7、驗收
用戶在接收開發(fā)商交付的軟件開發(fā)結(jié)果,并進(jìn)行實際操作、測試運(yùn)行,實現(xiàn)滿意結(jié)果之后,對開發(fā)出來的軟件進(jìn)行驗收。
8、維護(hù)
定制開發(fā)的軟件通常都需要提供售后服務(wù),定期對軟件進(jìn)行維護(hù),或者根據(jù)用戶出現(xiàn)的新需求,進(jìn)行應(yīng)用軟件程序的修改,使之不斷滿足客戶實際需求。
軟件開發(fā)過程包括哪些階段?
軟件開發(fā)過程包括:問題的定義及規(guī)劃、需求分析、軟件設(shè)計、程序編碼、軟件測試。
1、問題的定義及規(guī)劃
此階段是軟件開發(fā)與需求方共同討論,主要確定軟件的開發(fā)目標(biāo)及其可行性。
2、需求分析
在確定軟件開發(fā)可行性的情況下,對軟件需要實現(xiàn)的各個功能進(jìn)行詳細(xì)需求分析。需求分析階段是一個很重要的階段,這一階段做得好,將為整個軟件項目的開發(fā)打下良好的基礎(chǔ)?!拔ㄒ徊蛔兊氖亲兓旧怼保瑯榆浖枨笠彩窃谲浖勰汩_發(fā)過程中不斷變化和深入的。
3、軟件設(shè)計
此階段中偶要根據(jù)需求分析的結(jié)果,對整個軟件系統(tǒng)進(jìn)行設(shè)計,如系統(tǒng)框架設(shè)計、數(shù)據(jù)庫設(shè)計等。軟件設(shè)計一般分為總體設(shè)計和詳細(xì)設(shè)計。還的軟件設(shè)計將為軟件程序編寫打下良好的基礎(chǔ)。
4、程序編碼
此階段是將軟件設(shè)計的結(jié)果轉(zhuǎn)化為計算機(jī)可運(yùn)行的程序代碼。在程序編碼中必定要制定統(tǒng)一、符合標(biāo)準(zhǔn)的編寫規(guī)范。以保證程序的可讀性、易維護(hù)性。提高程序的運(yùn)行效率。
5、軟件測試
在軟件設(shè)計完成之后要進(jìn)行嚴(yán)密的測試,一發(fā)現(xiàn)軟件在整個軟件設(shè)計過程中存在的問題并加以糾正。整個測試階段分為單元測試、組裝測試、系統(tǒng)測試三個階段進(jìn)行。測試方法主要有白盒測試和黑盒測試。
軟件開發(fā)的基本流程包括哪些
軟件開發(fā)是根據(jù)用戶要求建造出軟件系統(tǒng)或者系統(tǒng)中的軟件部分的過程。軟件開發(fā)是一項包括需求捕捉、需求分析、設(shè)計、實現(xiàn)和測試的系統(tǒng)工程。軟件一般是用某種程序設(shè)計語言來實現(xiàn)的。通常采用軟件開發(fā)工具可以進(jìn)行開發(fā)。軟件分為系統(tǒng)軟件和應(yīng)用軟件,并不只是包括可以在計算機(jī)上運(yùn)行的程序,與這些程序相關(guān)的文件一般也被認(rèn)為是軟件的一部分。 軟件設(shè)計思路和方法的一般過程,包括設(shè)計軟件的功能和實現(xiàn)的算法和方法、軟件的總體結(jié)構(gòu)設(shè)計和模塊設(shè)計、編程和調(diào)試、程序聯(lián)調(diào)和測試,然后進(jìn)行編寫再提交程序。
軟件開發(fā)過程一般有幾個階段?
軟件開發(fā)的生命周期一般分為6個階段:計劃、需求分析、邏輯設(shè)計、程序編制、調(diào)試、運(yùn)行和維護(hù)
軟件生命周期分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)三個階段:
軟件定義階段
制定計劃:確定總目標(biāo);可行性研究;探討解決方案;制定開發(fā)計劃。
需求分析:對待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)的定義。
軟件開發(fā)階段
軟件設(shè)計:分為概要設(shè)計和詳細(xì)設(shè)計兩個部分?
軟件實現(xiàn):把軟件設(shè)計轉(zhuǎn)換成計算機(jī)可以接受的程序代碼
軟件測試:在設(shè)計測試用例的基礎(chǔ)上檢驗軟件的各個組成部分
軟件運(yùn)行維護(hù)階段
軟件投入運(yùn)行,并在使用中不斷地維護(hù),進(jìn)行必要的擴(kuò)充和刪改。
說明軟件設(shè)計與開發(fā)過程分為哪幾個階段。每個階段你都做了哪些工作,得到什么設(shè)計結(jié)果?
軟件設(shè)計與開發(fā)過程主要可以分為以下幾個階段:
1.計劃:討論軟件開發(fā)的需求。
2.分析:對需求的可行性,優(yōu)先級進(jìn)行分析。
3.設(shè)計:根據(jù)需求分析的結(jié)果,對整個軟件系統(tǒng)進(jìn)行設(shè)計,如系統(tǒng)框架設(shè)計、數(shù)據(jù)庫設(shè)計等。軟件設(shè)計一般分為總體設(shè)計和詳細(xì)設(shè)計。
4.開發(fā)與實現(xiàn):編碼完成軟件功能,編碼需要遵循規(guī)范標(biāo)準(zhǔn)。
5.測試:測試階段評估軟件的錯誤和文件錯誤。
6.維護(hù):一旦軟件通過以上的階段,最后將進(jìn)行維護(hù)階段,在這個階段,軟件將被維護(hù)和升級,來適應(yīng)變化。
關(guān)于軟件開發(fā)過程的七個階段和軟件開發(fā)的八個階段的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。