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