第一篇:軟件開發(fā)流程與規(guī)劃學(xué)習(xí)心得
軟件開發(fā)學(xué)習(xí)流程與規(guī)劃心得
班級(jí):軟件0902學(xué)號(hào):090203049姓名:楊菲
一、前期規(guī)劃:
我理解的前期規(guī)劃是:在市場(chǎng)人員們匯總一個(gè)需求提交給產(chǎn)品專家?guī)ьI(lǐng)的產(chǎn)品經(jīng)理團(tuán)隊(duì),然后經(jīng)過這個(gè)團(tuán)隊(duì)根據(jù)公司具體情況再次分析和規(guī)劃出一個(gè)最終需求文檔。
這個(gè)需求文檔應(yīng)當(dāng)首先提交給技術(shù)研發(fā)部門的負(fù)責(zé)人以及核心開發(fā)人員。由開發(fā)團(tuán)隊(duì)對(duì)其進(jìn)行技術(shù)和風(fēng)險(xiǎn)分析。如果對(duì)此需求統(tǒng)一有異議的地方,需要返回給產(chǎn)品團(tuán)隊(duì),重新修正需求。反復(fù)如此,直至需求完善準(zhǔn)確,細(xì)致,清晰。
前期規(guī)劃就像高樓的地基,如果馬馬虎虎,就算是一塊磚塊沒擺好都可能導(dǎo)致整個(gè)高樓建設(shè)的失敗。在規(guī)劃中我認(rèn)為,交流永遠(yuǎn)是需要雙方積極主動(dòng),能認(rèn)真聽取每個(gè)人的建議。前期工作思維不慎重,不細(xì)致,不認(rèn)真,不夠完善,將產(chǎn)生連鎖效應(yīng)直接導(dǎo)致整個(gè)工程和項(xiàng)目的失敗。
對(duì)于第一種,當(dāng)然是因?yàn)榍捌谝?guī)劃疏漏了某些細(xì)小功能,沒能把需求文檔做完善。應(yīng)該是規(guī)劃工作做的還不夠認(rèn)真和細(xì)致。
對(duì)于第二種情況,我認(rèn)為更多是在產(chǎn)品設(shè)計(jì)規(guī)劃方面經(jīng)驗(yàn)還不夠成熟。這種問題應(yīng)該是很難避免的。因?yàn)槊糠N新產(chǎn)品對(duì)產(chǎn)品團(tuán)隊(duì)來說都很陌生。即使以前做過類似的東西,也難免面面俱到。這只能通過不斷努力和認(rèn)真的態(tài)度來彌補(bǔ)。
前期規(guī)劃的交流涉及了市場(chǎng)、產(chǎn)品和技術(shù)研發(fā)等多個(gè)團(tuán)隊(duì)之間。需要的不僅是團(tuán)隊(duì)內(nèi)部的交流,更多需要協(xié)調(diào)好團(tuán)隊(duì)之間的交流??赡苡袝r(shí)候需要公司高層和中層參與協(xié)調(diào)。
二、概要設(shè)計(jì):
我理解的概要設(shè)計(jì)步驟:(以項(xiàng)目為中心的開發(fā)流程)項(xiàng)目經(jīng)理仔細(xì)閱讀項(xiàng)目需求文檔。項(xiàng)目經(jīng)理召集項(xiàng)目開發(fā)成員,開項(xiàng)目啟動(dòng)會(huì)議。具體商議項(xiàng)目的開發(fā)任務(wù)和責(zé)任分配。
3核心開發(fā)人員開發(fā)確定,以及各模塊開發(fā)人員確定。
4由系統(tǒng)分析員和核心開發(fā)人員仔細(xì)閱讀需求文檔,對(duì)系統(tǒng)整個(gè)架構(gòu)分析和做技術(shù)規(guī)劃。
5系統(tǒng)分析員整理和書寫最終的系統(tǒng)架構(gòu)和概要設(shè)計(jì)文檔。
6系統(tǒng)分析員在文檔提交日,提交給項(xiàng)目經(jīng)理。項(xiàng)目經(jīng)理確認(rèn)文檔并審批。
7項(xiàng)目經(jīng)理召集項(xiàng)目開發(fā)成員,開一個(gè)概要設(shè)計(jì)以及系統(tǒng)架構(gòu)確定的會(huì)議。向每個(gè)成員分發(fā)文檔,并討論確定最終概要設(shè)計(jì)文檔。
8開始詳細(xì)設(shè)計(jì)文檔的工作
三、詳細(xì)設(shè)計(jì):
1項(xiàng)目經(jīng)理組織成立各個(gè)模塊的開發(fā)小組,并確定開發(fā)小組組長(zhǎng)(程序經(jīng)理)。
2各開發(fā)組長(zhǎng)書寫各自模塊的詳細(xì)設(shè)計(jì)文檔,開發(fā)成員需要協(xié)助,配合。
3在指定提交日,開發(fā)組長(zhǎng)提交文檔給系統(tǒng)分析員。由系統(tǒng)分析員審批。
4系統(tǒng)分析員組織召開一個(gè)詳細(xì)設(shè)計(jì)文檔確認(rèn)的會(huì)議。
5然后開發(fā)組長(zhǎng)分發(fā)各自模塊的詳細(xì)設(shè)計(jì)文檔給程序員,程序員在指定時(shí)間內(nèi)完成。
6程序員做內(nèi)部測(cè)試。開發(fā)組長(zhǎng)協(xié)調(diào)并配合。
7確認(rèn)無bug提交給開發(fā)組組長(zhǎng)。
8所有模塊整合工作,由整個(gè)開發(fā)組成員參與完成。由所有開發(fā)組長(zhǎng)和系統(tǒng)分析員負(fù)責(zé)主要部分工作。程序員協(xié)助和配合。
9對(duì)整合后工程做詳細(xì)測(cè)試。
10確認(rèn)測(cè)試通過后,開發(fā)組長(zhǎng)根據(jù)開發(fā)成員表現(xiàn)以及提交成果填寫績(jī)效考核表。然后提交給項(xiàng)目經(jīng)理。
11項(xiàng)目經(jīng)理會(huì)召開項(xiàng)目總結(jié)會(huì),同時(shí)向優(yōu)秀成員頒獎(jiǎng)。同時(shí)鼓勵(lì)所有成員繼續(xù)努力。對(duì)不能按時(shí)完成導(dǎo)致項(xiàng)目能按時(shí)提交,以及對(duì)導(dǎo)致失敗的關(guān)鍵人員給與懲罰處理。
四、具體編碼:
開發(fā)幾個(gè)項(xiàng)目之后,對(duì)編寫程序有了更進(jìn)一步的了解。
好的程序應(yīng)該具有: 易讀性,易擴(kuò)展性,容錯(cuò)性。
易讀性: 所有變量和函數(shù)以及類名用簡(jiǎn)單易懂易記憶的命名方式。所有類和函數(shù)甚至變量都有關(guān)鍵的注釋說明。這點(diǎn)很重要,也是最基礎(chǔ)的。如果代碼書寫
不夠美觀和易懂,我想自己以后也不想再看。就更別談功能的擴(kuò)展和新版本開發(fā)了。
易擴(kuò)展性: 整體系統(tǒng)架構(gòu)邏輯簡(jiǎn)單清晰。模塊與模塊之間盡量做到互不影響,也就是盡可能的獨(dú)立。這部分工作主要體現(xiàn)在前期設(shè)計(jì)工作中,需要掌握好的設(shè)計(jì)經(jīng)驗(yàn)和方法才能夠做得比較好。
容錯(cuò)性: 對(duì)數(shù)據(jù)流和指針以及數(shù)組都做數(shù)據(jù)有效性檢查;對(duì)第三方接口的調(diào)用失敗的容錯(cuò)性。對(duì)所有代碼都做調(diào)用失敗后的錯(cuò)誤處理。以及在大的工程中加入trace文件輸出,把關(guān)鍵的數(shù)據(jù)流和關(guān)鍵處理部分的操作信息輸出。以便對(duì)工程異常情況產(chǎn)生條件的定位,及時(shí)解決問題。
五、調(diào)試、跟蹤與測(cè)試:測(cè)試需要注意的:
1對(duì)每個(gè)模塊的接口做測(cè)試,數(shù)據(jù)邊界的檢查。在對(duì)整個(gè)模塊做測(cè)試。主要測(cè)試穩(wěn)定性,效率以及功能是否正常。確認(rèn)單個(gè)模塊完全正常后,再加入工程。在系統(tǒng)架構(gòu)設(shè)計(jì)的時(shí)候,可能會(huì)引入原型參考。要對(duì)原型做完成測(cè)試后,確認(rèn)沒有問題后,才可使用??梢圆捎肰C自帶Trace或者將信息輸出為文本文件的方式跟蹤程序并輸出關(guān)鍵信息,以便定位程序異常的原因。對(duì)于通信模塊的測(cè)試,特別注意服務(wù)端和客戶端的數(shù)據(jù)流??梢葬槍?duì)性的寫一個(gè)客戶端或服務(wù)端的測(cè)試程序,檢驗(yàn)通訊過程是否正常。在用VC做開發(fā)中,一定先要讓Debug版本正常運(yùn)行,保證沒有任何異常,內(nèi)存泄漏和Assert等調(diào)試警告信息。如果用到其他Lib,一定要保證Lib本身不存在問題。
第二篇:軟件開發(fā)流程與規(guī)劃化(范文模版)
《軟件開發(fā)流程與規(guī)劃》總結(jié)
軟件開發(fā)流程大體分為這么幾個(gè)階段,其中包括需求分析、分析設(shè)計(jì)、編碼 單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試。如必須完成全部的系統(tǒng)需求規(guī)格說明書之后才能夠進(jìn)入概要設(shè)計(jì)階段,編碼必需在系統(tǒng)設(shè)計(jì)完成之后才能夠進(jìn)行。這就意味著只有當(dāng)所有的系統(tǒng)模塊全部開發(fā)完成之 后,我們才進(jìn)行系統(tǒng)集成,對(duì)于一個(gè)由上百個(gè)模塊組的復(fù)雜系統(tǒng)來說,這是一個(gè)非常艱巨而漫長(zhǎng)的工作。
首先呢,就是市場(chǎng)調(diào)研,只有了解市場(chǎng)需要才能更好地進(jìn)行開發(fā),技術(shù)和市場(chǎng)要結(jié)合才能體現(xiàn)最大價(jià)值。
第二呢,就是進(jìn)行需求分析,開始做需求分析,主要是細(xì)化分解需求,并提出可行性解決方案進(jìn)行可行性分析。有了解決方案直接就可以做開發(fā)計(jì)劃了,根據(jù)預(yù)估的時(shí)間節(jié)點(diǎn)(有時(shí)候是客戶提出的)和開發(fā)的工程量。這個(gè)階段需要出三樣?xùn)|西,用戶視圖,數(shù)據(jù)詞典和用戶操作手冊(cè)。用戶視圖是該軟件用戶(包括終端用戶和管理用戶)所能看到的頁(yè)面樣式,這里面包含了很多操作方面的流程和條件。數(shù)據(jù)詞典是指明數(shù)據(jù)邏輯關(guān)系并加以整理的東東,完成了數(shù)據(jù)詞典,數(shù)據(jù)庫(kù)的設(shè)計(jì)就完成了一半多。用戶操作手冊(cè)是指明了操作流程的說明書。請(qǐng)注意,用戶操作流程和用戶視圖是由需求決定的,因此應(yīng)該在軟件設(shè)計(jì)之前完成,完成這些,就為程序研發(fā)提供了約束和準(zhǔn)繩,很遺憾太多公司都不是這樣做的,因果顛倒,順序不分,開發(fā)工作和實(shí)際需求往往因此產(chǎn)生隔閡脫節(jié)的現(xiàn)象。需求分析,除了以上工作,作為項(xiàng)目設(shè)計(jì)者應(yīng)當(dāng)完整的做出項(xiàng)目的性能需求說明書,因?yàn)橥阅苄枨笾挥卸夹g(shù)的人才可能理解,這就需要技術(shù)專家和需求方(客戶或公司市場(chǎng)部門)能夠有真正的溝通和了解。
其次呢就是概要設(shè)計(jì),將系統(tǒng)功能模塊初步劃分,并給出合理的研發(fā)流程和資源要求。作為快速原型設(shè)計(jì)方法,完成概要設(shè)計(jì)就可以進(jìn)入編碼階段了,通常采用這種方法是因?yàn)樯婕暗难邪l(fā)任務(wù)屬于新領(lǐng)域。技術(shù)主管人員一上來無法給出明確的詳細(xì)設(shè)計(jì)說明書,但是并不是說詳細(xì)設(shè)計(jì)說明書不重要,事實(shí)上快速原型法在完成原型代碼后,根據(jù)評(píng)測(cè)結(jié)果和經(jīng)驗(yàn)教訓(xùn)的總結(jié),還要重新進(jìn)行詳細(xì)設(shè)計(jì)的步驟。
初步的設(shè)計(jì)弄好之后呢,就得進(jìn)行詳細(xì)設(shè)計(jì),一份好的詳細(xì)設(shè)計(jì)說明書,可以使編碼的復(fù)雜性減低到最低,實(shí)際上,嚴(yán)格的講詳細(xì)設(shè)計(jì)說明書應(yīng)當(dāng)把每個(gè)函數(shù)的每個(gè)參數(shù)的定義都精精細(xì)細(xì)的提供出來,從需求分析到概要設(shè)計(jì)到完成詳細(xì)設(shè)計(jì)說明書,一個(gè)軟件項(xiàng)目就應(yīng)當(dāng)說完成了一半了。換句話說,一個(gè)大型軟件系統(tǒng)在完成了一半的時(shí)候,其實(shí)還沒有開始一行代碼工作。那些把作軟件的程序員簡(jiǎn)單理解為寫代碼的,就從根本上犯了錯(cuò)誤了。
以上的需求分析和初步和詳細(xì)設(shè)計(jì)什么的,這些都是準(zhǔn)備工作,最重要的就是編碼,如果你分析做的再好,無法用代碼實(shí)現(xiàn),就等于是徒勞。在規(guī)范化的研發(fā)流程中,編碼工作在整個(gè)項(xiàng)目流程里最多不會(huì)超過1/2,通常在1/3的時(shí)間,所謂磨刀不誤砍柴功,設(shè)計(jì)過程完成的好,編碼效率就會(huì)極大提高,編碼時(shí)不同模塊之間的進(jìn)度協(xié)調(diào)和協(xié)作是最需要小心的,也許一個(gè)小模塊的問題就可能影響了整體進(jìn)度,讓很多程序員因此被迫停下工作等待,這種問題在很多研發(fā)過程中都出現(xiàn)過。編碼時(shí)的相互溝通和應(yīng)急的解決手段都是相當(dāng)重要的,對(duì)于程序員而言,bug永遠(yuǎn)存在,你必須永遠(yuǎn)面對(duì)這個(gè)問題,大名鼎鼎的微軟,可曾有連續(xù)三個(gè)月不發(fā)補(bǔ)丁的時(shí)候嗎?從來沒有!
最后呢就是對(duì)所開發(fā)的項(xiàng)目進(jìn)行測(cè)試了,需要測(cè)試她是否符合需求。測(cè)試測(cè)試有很多種:按照測(cè)試執(zhí)行方,可以分為內(nèi)部測(cè)試和外部測(cè)試;按照測(cè)試范圍,可以分為模塊測(cè)試和整體聯(lián)調(diào);按照測(cè)試條件,可以分為正常操作情況測(cè)試和異常情況測(cè)試;按照測(cè)試的輸入范圍,可以分為全覆蓋測(cè)試和抽樣測(cè)試。以上都很好理解,不再解釋??傊?,測(cè)試同樣是項(xiàng)目研發(fā)中一個(gè)相當(dāng)重要的步驟,對(duì)于一個(gè)大型軟件,3個(gè)月到1年的外部測(cè)試都是正常的,因?yàn)橛?/p>
遠(yuǎn)都會(huì)又不可預(yù)料的問題存在。完成測(cè)試后,完成驗(yàn)收并完成最后的一些幫助文檔,整體項(xiàng)目才算告一段落,當(dāng)然日后少不了升級(jí),修補(bǔ)等等工作,只要不是想通過一錘子買賣騙錢,就要不停的跟蹤軟件的運(yùn)營(yíng)狀況并持續(xù)修補(bǔ)升級(jí),直到這個(gè)軟件被徹底淘汰為止。
總而言之、言而總之軟件開發(fā)流程就是根據(jù)特定的步驟進(jìn)行實(shí)現(xiàn)進(jìn)行,當(dāng)然了要因項(xiàng)目而異,但是總要進(jìn)過這幾個(gè)過程,需求分析,軟件設(shè)計(jì),代碼實(shí)現(xiàn)和最后的測(cè)試,只要掌握好這幾點(diǎn),大體方向就不會(huì)錯(cuò)了,然后再根據(jù)項(xiàng)目本身就行相應(yīng)的調(diào)整就好了。
第三篇:軟件開發(fā)流程
開發(fā)流程
第一步:需求調(diào)研分析1相關(guān)系統(tǒng)分析員和用戶初步了解需求,然后用WORD列出要開發(fā)的系統(tǒng)的大功能模塊,每個(gè)大功能模塊有哪些小功能模塊,對(duì)于有些需求比較明確相關(guān)的界面時(shí),在這一步里面可以初步定義好少量的界面。2 系統(tǒng)分析員深入了解和分析需求,根據(jù)自己的經(jīng)驗(yàn)和需求用WORD或相關(guān)的工具再做出一份文檔系統(tǒng)的功能需求文檔。這次的文檔會(huì)清楚例用系統(tǒng)大致的大功能模塊,大功能模塊有哪些小功能模塊,并且還例出相關(guān)的界面和界面功能。3 系統(tǒng)分析員和用戶再次確認(rèn)需求。
第二步:概要設(shè)計(jì)首先,開發(fā)者需要對(duì)軟件系統(tǒng)進(jìn)行概要設(shè)計(jì),即系統(tǒng)設(shè)計(jì)。概要設(shè)計(jì)需要對(duì)軟件系統(tǒng)的設(shè)計(jì) 進(jìn)行考慮,包括系統(tǒng)的基本處理流程、系統(tǒng)的組織結(jié)構(gòu)、模塊劃分、功能分配、接口設(shè)計(jì)、運(yùn)行設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和出錯(cuò)處理設(shè)計(jì)等,為軟件的詳細(xì)設(shè)計(jì)提供基礎(chǔ)。
第三步:詳細(xì)設(shè)計(jì)在概要設(shè)計(jì)的基礎(chǔ)上,開發(fā)者需要進(jìn)行軟件系統(tǒng)的詳細(xì)設(shè)計(jì)。在詳細(xì)設(shè)計(jì)中,描述實(shí) 現(xiàn)具體模塊所涉及到的主要算法、數(shù)據(jù)結(jié)構(gòu)、類的層次結(jié)構(gòu)及調(diào)用關(guān)系,需要說明軟件系統(tǒng)各個(gè)層次中的每一個(gè)程序(每個(gè)模塊或子程序)的設(shè)計(jì)考慮,以便進(jìn)行編碼和測(cè)試。應(yīng)當(dāng)保證軟件的需求完全分配給整個(gè)軟件。詳細(xì)設(shè)計(jì)應(yīng)當(dāng)足夠詳細(xì),能夠根據(jù)詳細(xì)設(shè)計(jì)報(bào)告進(jìn)行編碼。
第四步:編碼在軟件編碼階段,開發(fā)者根據(jù)《軟件系統(tǒng)詳細(xì)設(shè)計(jì)報(bào)告》中對(duì)數(shù)據(jù)結(jié)構(gòu)、算法分析和模塊實(shí)現(xiàn)等方面的設(shè)計(jì)要求,開始具體的編寫程序工作,分別實(shí)現(xiàn)各模塊的功能,從而實(shí)現(xiàn)對(duì)目標(biāo)系統(tǒng)的功能、性能、接口、界面等方面的要求。
第五步:測(cè)試測(cè)試編寫好的系統(tǒng)。交給用戶使用,用戶使用后一個(gè)一個(gè)的確認(rèn)每個(gè)功能。
第六步:軟件交付準(zhǔn)備在軟件測(cè)試證明軟件達(dá)到要求后,軟件開發(fā)者應(yīng)向用戶提交開發(fā)的目標(biāo)安裝程序、數(shù)據(jù)庫(kù)的數(shù)據(jù)字典、《用戶安裝手冊(cè)》、《用戶使用指南》、需求報(bào)告、設(shè)計(jì)報(bào)告、測(cè)試報(bào)告等雙方合同約定的產(chǎn)物?!队脩舭惭b手冊(cè)》應(yīng)詳細(xì)介紹安裝軟件對(duì)運(yùn)行環(huán)境的要求、安裝軟件的定義和內(nèi)容、在客戶端、服務(wù)器端及中間件的具體安裝步驟、安裝后的系統(tǒng)配置。《用戶使用指南》應(yīng)包括軟件各項(xiàng)功能的使用流程、操作步驟、相應(yīng)業(yè)務(wù)介紹、特殊提示和注意事項(xiàng)等方面的內(nèi)容,在需要時(shí)還應(yīng)舉例說明。
第七步:驗(yàn)收用戶驗(yàn)收。
第四篇:軟件開發(fā)流程
某軟件項(xiàng)目開發(fā)流程
1.總綱
目的主要講述如何組織開發(fā)軟件項(xiàng)目,使之更加快速、有效的完成。并分成以下幾個(gè)階段進(jìn)行詳細(xì)講述:項(xiàng)目計(jì)劃階段、需求分析階段、軟件開發(fā)階段、測(cè)試階段、管理軟件開發(fā)過程、各參與角色的具體職責(zé)描述及對(duì)人員的要求。
適用范圍
開發(fā)周期3周、開發(fā)人月2人月的項(xiàng)目,中小型(3-7人)軟件項(xiàng)目的開發(fā)指南,而大型軟件項(xiàng)目使用RUP會(huì)更好。
注:周期小于上述范圍,使用開發(fā)任務(wù)需求單進(jìn)行安排,走任務(wù)開發(fā)流程。
總體流程
計(jì)劃階段-》需求分析階段-》軟件開發(fā)階段-》測(cè)試階段-》完成2.項(xiàng)目計(jì)劃階段
項(xiàng)目計(jì)劃草案和風(fēng)險(xiǎn)管理計(jì)劃作為第一步,當(dāng)有一個(gè)商業(yè)機(jī)會(huì)后,根據(jù)公司高層負(fù)責(zé)制定的初步商業(yè)計(jì)劃書來完成項(xiàng)目的計(jì)劃草案,確定、分析項(xiàng)目風(fēng)險(xiǎn)并確定其優(yōu)先級(jí),還要制定風(fēng)險(xiǎn)解決方案。本階段的目的是確立產(chǎn)品開發(fā)的經(jīng)濟(jì)理由。
當(dāng)確定開發(fā)之后則制定軟件開發(fā)計(jì)劃、人員組織結(jié)構(gòu)定義及配備、過程控制計(jì)劃。
(1)項(xiàng)目計(jì)劃草案
項(xiàng)目計(jì)劃草案應(yīng)包括產(chǎn)品簡(jiǎn)介、產(chǎn)品目標(biāo)及功能說明、開發(fā)所需的資源、開發(fā)時(shí)間和里程碑。
(2)風(fēng)險(xiǎn)管理計(jì)劃
也就是把有可能出錯(cuò)或現(xiàn)在還不能確定的東西列出來,并制定出相應(yīng)的解決方案。風(fēng)險(xiǎn)發(fā)現(xiàn)得越早對(duì)項(xiàng)目越有利。
(3)軟件開發(fā)計(jì)劃
軟件開發(fā)計(jì)劃的目的是收集控制項(xiàng)目時(shí)所需的所有信息,項(xiàng)目經(jīng)理根據(jù)項(xiàng)目計(jì)劃來安排資源需求并根據(jù)時(shí)間表跟蹤項(xiàng)目進(jìn)度。項(xiàng)目團(tuán)隊(duì)成員根據(jù)項(xiàng)目計(jì)劃以了解他們的工作任務(wù)、工作時(shí)間以及他們所依賴的其他活動(dòng)。
可將計(jì)劃分成總體計(jì)劃和詳細(xì)計(jì)劃,總體計(jì)劃中每個(gè)任務(wù)為一個(gè)里程碑,詳細(xì)計(jì)劃中必須將任務(wù)落實(shí)到個(gè)人。
軟件開發(fā)計(jì)劃還應(yīng)包括產(chǎn)品的應(yīng)收標(biāo)準(zhǔn)及應(yīng)收任務(wù)(包括確定需要制訂的測(cè)試用例)。
(4)人員組織結(jié)構(gòu)定義及資源計(jì)劃
常見的人員組織結(jié)構(gòu)有垂直方案、水平方案、混合方案。垂直方案中每個(gè)成員充當(dāng)多重角色。水平方案中每個(gè)成員充當(dāng)一到兩個(gè)角色?;旌戏桨竸t包括了經(jīng)驗(yàn)豐富的人員與新手相互融合。具體選擇根據(jù)人員實(shí)際技能情況進(jìn)行選擇。
適用范圍:開發(fā)人月大于5人月、周期超過2個(gè)月、投入人員4人以上的項(xiàng)目必須編寫計(jì)劃,低于范圍的則可省略或者簡(jiǎn)化
(5)過程控制計(jì)劃
過程控制計(jì)劃的目的是收集項(xiàng)目計(jì)劃正常執(zhí)行所需的所有信息,用來指導(dǎo)項(xiàng)目進(jìn)度的監(jiān)控、計(jì)劃的調(diào)整,確保項(xiàng)目按時(shí)完成。
適用范圍:開發(fā)人月大于5人月、周期超過2個(gè)月、投入人員4人以上的項(xiàng)目必須編寫計(jì)劃 低于范圍的則可省略或者簡(jiǎn)化
3.需求分析階段
需求分析階段的目的是在系統(tǒng)工作方面與用戶達(dá)成一致。
(1)軟件需求規(guī)約
詳細(xì)說明系統(tǒng)將要實(shí)現(xiàn)的所有功能。
參考文檔:
(2)用戶界面原型
可以有三種表示方法:圖紙(在紙上)、位圖(繪圖工具)、可執(zhí)行文件(交互式)。
參考文檔:
4.軟件開發(fā)階段
本階段從物理上實(shí)現(xiàn)目標(biāo)系統(tǒng)。采用了面向?qū)ο蠓椒ā?/p>
(1)軟件架構(gòu)
說明軟件的組織結(jié)構(gòu)、部署結(jié)構(gòu)及運(yùn)行環(huán)境。
(2)類設(shè)計(jì)
定義類之間的關(guān)聯(lián)和類的屬性、方法。
(3)數(shù)據(jù)庫(kù)設(shè)計(jì)
定義數(shù)據(jù)庫(kù)表之間的關(guān)聯(lián)和各個(gè)表的字段。
(4)編碼和單元測(cè)試
按照設(shè)計(jì)文檔進(jìn)行編碼,每完成一個(gè)模塊應(yīng)進(jìn)行單元測(cè)試。
(5)集成系統(tǒng)
按軟件組織結(jié)構(gòu)的要求將各個(gè)子系統(tǒng)組合起來。
四、測(cè)試階段
測(cè)試的目的是在發(fā)布之前找出程序的錯(cuò)誤。包括:核實(shí)每個(gè)模塊是否正常運(yùn)行(參考設(shè)計(jì)文檔)、核實(shí)需求是否被正確實(shí)施(參考需求文檔)。
(1)測(cè)試計(jì)劃
收集和組織測(cè)試信息,為測(cè)試工作提供指導(dǎo)。
(2)測(cè)試數(shù)據(jù)
盡量使用真實(shí)數(shù)據(jù)。
(3)測(cè)試報(bào)告
記錄測(cè)試結(jié)果,詳細(xì)描述問題,提出解決辦法。
(4)幫助文件和用戶操作手冊(cè)
五、管理軟件開發(fā)過程
有以下幾方面地工作:
(1)組織會(huì)議
討論會(huì)議、總結(jié)會(huì)議等。
(2)評(píng)審程序
對(duì)各個(gè)階段的工作結(jié)果進(jìn)行審核。
(3)協(xié)調(diào)人員
(4)配置管理
使用一些配置管理工具進(jìn)行開發(fā)文檔管理,如:Visual Sourcesafe,Teamsouce等
六、各參與角色的具體職責(zé)描述及對(duì)人員的要求
(1)項(xiàng)目經(jīng)理
職責(zé):
1、制定產(chǎn)品的目標(biāo)。
2、制定各個(gè)工作的詳細(xì)任務(wù)表,跟蹤這些任務(wù)的執(zhí)行情況,進(jìn)行控制。
3、組織會(huì)議對(duì)程序進(jìn)行評(píng)審。
4、綜合具體情況,對(duì)各種不同方案進(jìn)行取舍并做出決定。
5、協(xié)調(diào)各項(xiàng)目參與人員之間的關(guān)系。
人員要求:
對(duì)產(chǎn)品有激情,具有領(lǐng)導(dǎo)才能。
對(duì)問題能正確而迅速地做出確定。
能充分利用各種渠道和方法來解決問題。
能跟蹤任務(wù),有很好地日程觀念。
能在壓力下工作。
(2)系統(tǒng)分析員
職責(zé):
1、了解用戶需求,寫出《軟件需求規(guī)約》。
2、建立用戶界面原型。
人員要求:擔(dān)任系統(tǒng)分析員的人員應(yīng)該善于協(xié)調(diào),并且具有良好的溝通技巧。擔(dān)任此角色的人員中必須要有具備業(yè)務(wù)和技術(shù)領(lǐng)域知識(shí)的人才。
(3)設(shè)計(jì)員
職責(zé):
1、定義類的方法和屬性以及各個(gè)類之間的關(guān)聯(lián),畫出類圖。
2、進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)。
人員要求:掌握面向?qū)ο蠓治雠c設(shè)計(jì)技術(shù),統(tǒng)一建模語(yǔ)言(UML)。
(4)程序員
職責(zé):按項(xiàng)目的要求進(jìn)行編碼和單元測(cè)試。
人員要求:良好的編程技能和測(cè)試技術(shù)。
(5)測(cè)試員
職責(zé): 執(zhí)行測(cè)試,描述測(cè)試結(jié)果,提出問題解決方案。
人員要求:了解被測(cè)試的系統(tǒng),具備診斷和解決問題的技能,編程技能
根據(jù)每個(gè)人的特長(zhǎng)來?yè)?dān)任其中的一個(gè)或多個(gè)角色。最好是每個(gè)人都能參與設(shè)計(jì)和編碼工作,每個(gè)人都能夠建立起系統(tǒng)地全局觀
第五篇:軟件開發(fā)管理流程
軟件開發(fā)管理流程
根據(jù)我公司目前工作現(xiàn)狀,開發(fā)管理流程涉及到三個(gè)方向的工作管理;一是全新項(xiàng)目開發(fā)整體流程;二是二期項(xiàng)目開發(fā)管理流程(項(xiàng)目已部分上線,二期進(jìn)行其它公司或模塊上線);三是維護(hù)工作管理流程;
一、升級(jí)項(xiàng)目流程
針對(duì)我公司現(xiàn)有的BSP項(xiàng)目,存在有些省份的BSP項(xiàng)目存在部分上線而對(duì)于后期需要繼續(xù)上線其他部分的情況,提出以下工作流程。
總體流程
計(jì)劃階段-》需求分析階段-》軟件開發(fā)階段-》測(cè)試階段-》部署上線—》驗(yàn)收完成(一)計(jì)劃階段
制定整體開發(fā)計(jì)劃,計(jì)劃體現(xiàn)整個(gè)開發(fā)周期,包括需求、編碼、測(cè)試周期以及資源要求;
(二)需求分析階段
修訂需求版本,提供需求說明書,并提出需求評(píng)審申請(qǐng)。
評(píng)審:發(fā)起需求評(píng)審的同時(shí)提交評(píng)審資料至項(xiàng)目管理部—》項(xiàng)目管理部給相關(guān)
人員發(fā)放資料并通知評(píng)審安排--》記錄評(píng)審結(jié)果(需整改時(shí)整改之后可再次評(píng)審)--》確定需求版本。
(三)軟件開發(fā)階段
編碼開發(fā)前:開發(fā)環(huán)境搭建,其中包括遷出代碼最新版本,從線上復(fù)制出數(shù)據(jù)庫(kù)(或者導(dǎo)出基礎(chǔ)數(shù)據(jù)庫(kù)表數(shù)據(jù));其目的為開發(fā)環(huán)境與正式環(huán)境保持一致,為上線前的部署做好準(zhǔn)備。
編碼開發(fā)中:開發(fā)組長(zhǎng)對(duì)整個(gè)開發(fā)過程做好監(jiān)控,保證質(zhì)量的同時(shí)保證進(jìn)度;并且要求開發(fā)人員做好工作記錄;加強(qiáng)團(tuán)隊(duì)的協(xié)作與溝通。
編碼開發(fā)完:提交相關(guān)資料(操作手冊(cè)、部署文檔:sql腳本、代碼文件路徑記錄、流程文件路徑記錄),組長(zhǎng)整理部署文檔并且提交測(cè)試申請(qǐng);部署文檔要求寫明部署步驟及部署內(nèi)容及相應(yīng)注釋;
(四)測(cè)試階段
測(cè)試組長(zhǎng)根據(jù)測(cè)試申請(qǐng)中的測(cè)試內(nèi)容安排測(cè)試。測(cè)試環(huán)境模擬線上測(cè)試環(huán)境,根據(jù)部署文檔進(jìn)行部署,并且記錄所有補(bǔ)丁包。測(cè)試過程中開發(fā)人員在修改bug的同時(shí)需要維護(hù)部署文檔。
(五)部署
部署人員根據(jù)部署文檔中描述的步驟部署系統(tǒng)。完成之后實(shí)施人員安排驗(yàn)收。
二、全新項(xiàng)目開發(fā)管理流程
總體流程
計(jì)劃階段-》需求分析階段-》軟件開發(fā)階段-》測(cè)試階段-》部署上線—》驗(yàn)收完成(一)計(jì)劃階段
項(xiàng)目計(jì)劃草案和風(fēng)險(xiǎn)管理計(jì)劃作為第一步,確定、分析項(xiàng)目風(fēng)險(xiǎn)并確定其優(yōu)先級(jí),還要制定風(fēng)險(xiǎn)解決方案。本階段的目的是確立產(chǎn)品開發(fā)的經(jīng)濟(jì)理由。當(dāng)確定開發(fā)之后則制定軟件開發(fā)計(jì)劃、人員組織結(jié)構(gòu)定義及配備、過程控制計(jì)劃。
? 項(xiàng)目計(jì)劃草案
項(xiàng)目計(jì)劃草案應(yīng)包括產(chǎn)品簡(jiǎn)介、產(chǎn)品目標(biāo)及功能說明、開發(fā)所需的資源、開發(fā)時(shí)間和里程碑。
? 風(fēng)險(xiǎn)管理計(jì)劃
就是把有可能出錯(cuò)或現(xiàn)在還不能確定的東西列出來,并制定出相應(yīng)的解決方案。風(fēng)險(xiǎn)發(fā)現(xiàn)得越早對(duì)項(xiàng)目越有利。
? 軟件開發(fā)計(jì)劃
軟件開發(fā)計(jì)劃的目的是收集控制項(xiàng)目時(shí)所需的所有信息,項(xiàng)目經(jīng)理
根據(jù)項(xiàng)目計(jì)劃來安排資源需求并根據(jù)時(shí)間表跟蹤項(xiàng)目進(jìn)度。項(xiàng)目團(tuán)隊(duì)
成員根據(jù)項(xiàng)目計(jì)劃以了解他們的工作任務(wù)、工作時(shí)間以及他們所依賴的其他活動(dòng)。
項(xiàng)目管理培訓(xùn)
可將計(jì)劃分成總體計(jì)劃和詳細(xì)計(jì)劃,總體計(jì)劃中每個(gè)任務(wù)為一個(gè)里
程碑,詳細(xì)計(jì)劃中必須將任務(wù)落實(shí)到個(gè)人。
軟件開發(fā)計(jì)劃還應(yīng)包括產(chǎn)品的應(yīng)收標(biāo)準(zhǔn)及應(yīng)收任務(wù)(包括確定需要
制訂的測(cè)試用例)。
? 人員組織結(jié)構(gòu)定義及配備
常見的人員組織結(jié)構(gòu)有垂直方案、水平方案、混合方案。垂直方案
中每個(gè)成員充當(dāng)多重角色。水平方案中每個(gè)成員充當(dāng)一到兩個(gè)角色。
混合方案則包括了經(jīng)驗(yàn)豐富的人員與新手相互融合。具體選擇根據(jù)人
員實(shí)際技能情況進(jìn)行選擇。
? 過程控制計(jì)劃
過程控制計(jì)劃的目的是收集項(xiàng)目計(jì)劃正常執(zhí)行所需的所有信息,用來
指導(dǎo)項(xiàng)目進(jìn)度的監(jiān)控、計(jì)劃的調(diào)整,確保項(xiàng)目按時(shí)完成。
(二)需求分析階段
需求分析階段的目的是在系統(tǒng)工作方面與用戶達(dá)成一致。
(1)軟件需求規(guī)約
詳細(xì)說明系統(tǒng)將要實(shí)現(xiàn)的所有功能。
(2)用戶界面原型
可以有三種表示方法:圖紙(在紙上)、位圖(繪圖工具)、可執(zhí)行文件(交互式)。
(三)軟件開發(fā)階段
本階段從物理上實(shí)現(xiàn)目標(biāo)系統(tǒng)。采用了面向?qū)ο蠓椒ā?/p>
(1)軟件架構(gòu)
說明軟件的組織結(jié)構(gòu)、部署結(jié)構(gòu)及運(yùn)行環(huán)境。
(2)功能設(shè)計(jì)
定義功能點(diǎn)之間的關(guān)聯(lián)。
(3)數(shù)據(jù)庫(kù)設(shè)計(jì)
定義數(shù)據(jù)庫(kù)表之間的關(guān)聯(lián)和各個(gè)表的字段。
(4)編碼和單元測(cè)試
按照設(shè)計(jì)文檔進(jìn)行編碼,每完成一個(gè)模塊應(yīng)進(jìn)行單元測(cè)試。
(5)集成系統(tǒng)
按軟件組織結(jié)構(gòu)的要求將各個(gè)子模塊組合起來。
(四)測(cè)試階段
測(cè)試的目的是在發(fā)布之前找出程序的錯(cuò)誤。包括:核實(shí)每個(gè)模塊是否正常運(yùn)行(參考設(shè)計(jì)文檔)、核實(shí)需求是否被正確實(shí)施(參考需求文檔)。
(1)測(cè)試計(jì)劃
收集和組織測(cè)試信息,為測(cè)試工作提供指導(dǎo)。
(2)測(cè)試數(shù)據(jù)
盡量使用真實(shí)數(shù)據(jù)。
(3)測(cè)試報(bào)告
記錄測(cè)試結(jié)果,詳細(xì)描述問題,提出解決辦法。
(4)用戶操作手冊(cè)
(五)管理軟件開發(fā)過程
有以下幾方面地工作:
(1)組織會(huì)議
討論會(huì)議、總結(jié)會(huì)議等。
(2)評(píng)審程序
對(duì)各個(gè)階段的工作結(jié)果進(jìn)行審核等。
(3)協(xié)調(diào)人員
(4)監(jiān)控進(jìn)度
軟件項(xiàng)目開發(fā)流程
第一個(gè)步驟是市場(chǎng)調(diào)研,技術(shù)和市場(chǎng)要結(jié)合才能體現(xiàn)最大價(jià)值。
第二個(gè)步驟是需求分析,需求人員出需求分析說明書。發(fā)起需求評(píng)審申請(qǐng),項(xiàng)目管理部組織開發(fā)團(tuán)隊(duì)進(jìn)行評(píng)審;
評(píng)審:發(fā)起需求評(píng)審的同時(shí)提交評(píng)審資料至項(xiàng)目管理部—》項(xiàng)目管理部給相關(guān)人員發(fā)放資料并通知評(píng)審安排--》記錄評(píng)審結(jié)果(需整改時(shí)整改之后可再次評(píng)審)--》確定需求版本。
第三個(gè)步驟是概要設(shè)計(jì),將系統(tǒng)功能模塊初步劃分,并給出合理的研發(fā)流程和資源要求。按照公司現(xiàn)狀,使用快速原型設(shè)計(jì)方法完成概要設(shè)計(jì)就可以進(jìn)入編碼階段了,通常采用這種方法是因?yàn)樯婕暗难邪l(fā)任務(wù)屬于新領(lǐng)域,技術(shù)主管人員一上來無法給出明確的詳細(xì)設(shè)計(jì)說明書,但是并不是說詳細(xì)設(shè)計(jì)說明書不重要,事實(shí)上快速原型法在完成原型代碼后,根據(jù)評(píng)測(cè)結(jié)果和經(jīng)驗(yàn)教訓(xùn)的總結(jié),還要重新進(jìn)行詳細(xì)設(shè)計(jì)的步驟
第四個(gè)步驟是詳細(xì)設(shè)計(jì),這是考驗(yàn)技術(shù)專家設(shè)計(jì)思維的重要關(guān)卡,詳細(xì)設(shè)計(jì)說明書應(yīng)當(dāng)把具體的模塊以最‘干凈’的方式提供給編碼者,使得系統(tǒng)整體模塊化達(dá)到最大;一份好的詳細(xì)設(shè)計(jì)說明書,可以使編碼的復(fù)雜性減低到最低。
第五個(gè)步驟是編碼,開發(fā)人員需嚴(yán)格按照編碼規(guī)范及需求文檔編碼,編碼時(shí)不同模塊之間的進(jìn)度協(xié)調(diào)和協(xié)作是最需要小心的,也許一個(gè)小模塊的問題就可能影響了整體進(jìn)度,讓很多程序員因此被迫停下工作等待,這種問題在以前的開發(fā)過程中都出現(xiàn)過。編碼時(shí)的相互溝通和應(yīng)急的解決手段都是相當(dāng)重要的。項(xiàng)目組長(zhǎng)需提高對(duì)開發(fā)過程中問題的管控能力。盡量避免重大問題,提高工作效率。
第六個(gè)步驟是測(cè)試,測(cè)試有很多種:按照測(cè)試執(zhí)行方,可以分為內(nèi)部測(cè)試和外部測(cè)試;按照測(cè)試范圍,可以分為模塊測(cè)試和整體聯(lián)調(diào);按照測(cè)試條件,可以分為正常操作情況測(cè)試和異常情況測(cè)試;按照測(cè)試的輸入范圍,可以分為全覆蓋測(cè)試和抽樣測(cè)試??傊?,測(cè)試同樣是項(xiàng)目研發(fā)中一個(gè)相當(dāng)重要的步驟。
第七個(gè)步驟是部署,搭建部署環(huán)境,按照部署方案進(jìn)行部署,完成后驗(yàn)收測(cè)試;