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