軟件開(kāi)發(fā)的流程
1、首先制定項目計劃,最初計劃是裡(lǐ)程碑性質的。可以先按瀑布模型設置,裡(lǐ)程碑點主要爲需求評審、設計評審、經(jīng)過(guò)代碼開(kāi)發(fā)和單元測試後(hòu)進(jìn)行集成(chéng)測試、部署上線是一個很重要的裡(lǐ)程碑,一般用戶會(huì)期望系統何時能(néng)使用進(jìn)入試運行期(也可以稱爲用戶測試階段)
2、需求開(kāi)發(fā)階段:怎麼(me)樣(yàng)寫好(hǎo)需求很關鍵,如何學(xué)會(huì)進(jìn)行需求開(kāi)發(fā)可以去看下經(jīng)典的《需求工程》這(zhè)個翻譯的書,不是很厚,但需要能(néng)理解爲什麼(me)那樣(yàng)做更好(hǎo),這(zhè)個需要實踐經(jīng)驗鍛煉自己。如果有項目成(chéng)員,可以一起(qǐ)做需求,這(zhè)個階段對(duì)于業務理解、分析、如何開(kāi)展調研以及文字表述、業務流程圖描述還(hái)有文檔編輯能(néng)力都(dōu)有不少要求。一般分爲《用戶需求說明書》和《需求規格說明書》,小項目可以寫一個《需求分析報告》,《用戶需求說明書》是用用戶的語言進(jìn)行描述,讓用戶和開(kāi)發(fā)團隊對(duì)于需求的達成(chéng)一緻的理解,《需求規格說明書》,則是對(duì)用戶需求的分析,形成(chéng)系統要具有的功能(néng),這(zhè)個是真正提供用戶可交互操作的文檔,也就(jiù)是後(hòu)期設計和代碼開(kāi)發(fā)的重要基線。
另外,作爲了解需求,拿出用戶UI和用戶交流也是一項比較重要的需求獲取手段,雖然這(zhè)個屬于設計的範疇
3、系統設計階段:
系統總體架構,結合用戶對(duì)系統環境、開(kāi)發(fā)語言以及運行的網絡硬件等要求,确定開(kāi)發(fā)工具等,對(duì)應用系統關系進(jìn)行架構性設計,通過(guò)需求階段對(duì)用戶的分析歸類,用圖的方式描述出用戶和各子系統或模塊的全局視圖,以及和其他系統的關系。也就(jiù)是搞清楚系統的邊界問題。
概要設計中除了高層架構設計,還(hái)需要設計網絡拓撲圖,以及系統部署圖。概要設計比較重要的還(hái)有就(jiù)是子系統、模塊進(jìn)行合理的劃分。模塊的名稱很大程度上會(huì)成(chéng)爲用戶的主要菜單,如何用用戶的角度去取比較清楚的子系統和模塊是很重要的。
4、代碼開(kāi)發(fā)和單元測試階段:這(zhè)個階段一般來說需要改進(jìn)瀑布模型,類似跌代開(kāi)發(fā),把模塊進(jìn)行合理劃分,把項目總體計劃的代碼開(kāi)發(fā)測試階段劃分爲多個時間段,每個時間段都(dōu)包括代碼開(kāi)發(fā)、單元測試和集成(chéng)測試,這(zhè)個階段還(hái)需要對(duì)需求變更進(jìn)行跟蹤控制,如果需求有變更,那麼(me)要把需求文檔、設計文檔都(dōu)重新跟上。跌代開(kāi)發(fā)的好(hǎo)處就(jiù)是不讓代碼開(kāi)發(fā)階段拉的過(guò)程,沒(méi)有進(jìn)行及時的自我檢查,不小心到了提交時間,卻不是用戶想要的,還(hái)有可能(néng)都(dōu)不是自己想要的。
項目經(jīng)理重要的責任是控制好(hǎo)進(jìn)度,能(néng)及早發(fā)現風險,并能(néng)拿出好(hǎo)的預防和解決辦法的措施。合理安排好(hǎo)開(kāi)發(fā)團隊的任務,合時的任務安排和銜接,你會(huì)覺得非常有藝術感,這(zhè)個要自己體會(huì)了。另外,關注項目團隊各人員的狀況,保持高的戰鬥力,及時發(fā)現并能(néng)鼓勵團隊共同朝一個目标前進(jìn)。
6、測試工作,測試是項目的很重要的環節,怎麼(me)測試,怎麼(me)準确測試,怎麼(me)有效測試,怎麼(me)覆蓋測試,時間、人手、經(jīng)驗扽個方面(miàn)都(dōu)會(huì)有制約。高級測試人員能(néng)夠分析系統各測試要點,在需求、設計階段都(dōu)要參與,提早了解如何去測試,能(néng)寫出測試用例。
7、文檔工作,文檔在項目開(kāi)發(fā)中也占有重要位置,除非你覺得代碼是項目唯一的成(chéng)果,那麼(me)你把文檔抛掉吧,什麼(me)都(dōu)在你的腦子裡(lǐ),團隊中人員一走,項目的一部分也就(jiù)帶走了。代碼開(kāi)發(fā)其實也需要文檔,代碼是成(chéng)果,代碼注釋是成(chéng)果,模塊開(kāi)發(fā)卷宗也是重要的成(chéng)果,因爲程序員在開(kāi)發(fā)時候的邏輯是怎麼(me)樣(yàng)的,對(duì)于今後(hòu)查問題很有作用。除非你的系統設計程度到了方法、類,把代碼邏輯也都(dōu)設計好(hǎo)了,那麼(me)程序員就(jiù)CODEING去吧。
8、QA是對(duì)項目過(guò)程的質量保障,有些公司吧QA和測試工作合成(chéng)一個崗位叫(jiào)做QA&測試人員,或者就(jiù)叫(jiào)QA人員。QA是對(duì)項目全過(guò)程的監管,獨立于項目之外。監督項目經(jīng)理在各項目裡(lǐ)程碑提交相關成(chéng)果,入庫形成(chéng)基線。