程序開發流程

程序開發流程

一、前期規劃:

我理解的前期規劃是:在市場人員們彙總一個需求提交給產品專家帶領的產品經理團隊,然後經過這個團隊根據公司具體情況再次分析和規劃出一個最終需求文檔。

       這個需求文檔應當首先提交給技術研發部門的負責人以及核心開發人員。由開發團隊對其進行技術和風險分析。如果對此需求統一有異議的地方,需要返回給產品團隊,重新修正需求。反覆如此,直至需求完善準確,細緻,清晰。

前期規劃就像高樓的地基,如果馬馬虎虎,就算是一塊磚塊沒擺好都可能導致整個高樓建設的失敗。在規劃中我認爲,交流永遠是需要雙方積極主動,能認真聽取每個人的建議。前期工作思維不慎重,不細緻,不認真,不夠完善,將產生連鎖效應直接導致整個工程和項目的失敗。

這種失敗可能表現爲:第一種,軟件按需求實現但是功能根本不能滿足用戶需要。第二種,功能都有了,軟件沒有達到可用性、易用性。

對於第一種,當然是因爲前期規劃疏漏了某些細小功能,沒能把需求文檔做完善。應該是規劃工作做的還不夠認真和細緻。

對於第二種情況,我認爲更多是在產品設計規劃方面經驗還不夠成熟。這種問題應該是很難避免的。因爲每種新產品對產品團隊來說都很陌生。即使以前做過類似的東西,也難免面面俱到。這隻能通過不斷努力和認真的態度來彌補。

前期規劃的交流涉及了市場、產品和技術研發等多個團隊之間。需要的不僅是團隊內部的交流,更多需要協調好團隊之間的交流。可能有時候需要公司高層和中層參與協調。

目前,很多開發人員深感項目的需求文檔寫的都很單薄。大家可以想一想,如果沒有好的開始,怎麼會有好的結束呢?需求文檔單薄,不夠細緻,由誰來繼續完善呢?難道讓程序員們自己去完善。我想程序員也可能沒有這種能力。對於程序員能把代碼寫的很健壯很穩定就已經是很不容易的事情了。

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

二、概要設計:

我理解的概要設計步驟:(以項目爲中心的開發流程)

1〉  項目經理仔細閱讀項目需求文檔。

2〉  項目經理召集項目開發成員,開項目啓動會議。具體商議項目的開發任務和責任分配。

3〉  核心開發人員開發確定,以及各模塊開發人員確定。

4〉  由系統分析員和核心開發人員仔細閱讀需求文檔,對系統整個架構分析和做技術規劃。

5〉  系統分析員整理和書寫最終的系統架構和概要設計文檔。

6〉  系統分析員在文檔提交日,提交給項目經理。項目經理確認文檔並審批。

 

7〉  項目經理召集項目開發成員,開一個概要設計以及系統架構確定的會議。向每個成員分發文檔,並討論確定最終概要設計文檔。

8〉開始詳細設計文檔的工作

三、詳細設計:

1〉  項目經理組織成立各個模塊的開發小組,並確定開發小組組長(程序經理)。

2〉  各開發組長書寫各自模塊的詳細設計文檔,開發成員需要協助,配合。

3〉  在指定提交日,開發組長提交文檔給系統分析員。由系統分析員審批。

4〉  系統分析員組織召開一個詳細設計文檔確認的會議。

5〉  然後開發組長分發各自模塊的詳細設計文檔給程序員,程序員在指定時間內完成。

6〉  程序員做內部測試。開發組長協調並配合。

7〉  確認無bug提交給開發組組長。

8〉  所有模塊整合工作,由整個開發組成員參與完成。由所有開發組長和系統分析員負責主要部分工作。程序員協助和配合。

9〉  對整合後工程做詳細測試。

10〉              確認測試通過後,開發組長根據開發成員表現以及提交成果填寫績效考覈表。然後提交給項目經理。

11〉              項目經理會召開項目總結會,同時向優秀成員頒獎。同時鼓勵所有成員繼續努力。對不能按時完成導致項目能按時提交,以及對導致失敗的關鍵人員給與懲罰處理。

 

當然,以上只是一個簡單的開發流程,一定是有很多不足的地方。希望能起到拋磚引玉的作用。大家都明白,流程和制度是死的,但人是活的,所以如何按流程做得好,關鍵還是在人本身了。沒有一個流程和制度,一個團隊也必將是一盤散沙。正所謂“無規矩無以成方圓”。這句話說得很有道理。

 

四、具體編碼:

開發幾個項目之後,對編寫程序有了更進一步的瞭解。

好的程序應該具有: 易讀性,易擴展性,容錯性。

       易讀性:   所有變量和函數以及類名用簡單易懂易記憶的命名方式。所有類和函數甚至變量都有關鍵的註釋說明。這點很重要,也是最基礎的。如果代碼書寫不夠美觀和易懂,我想自己以後也不想再看。就更別談功能的擴展和新版本開發了。

       易擴展性: 整體系統架構邏輯簡單清晰。模塊與模塊之間儘量做到互不影響,也就是儘可能的獨立。這部分工作主要體現在前期設計工作中,需要掌握好的設計經驗和方法才能夠做得比較好。

       容錯性:   對數據流和指針以及數組都做數據有效性檢查;對第三方接口的調用失敗的容錯性。對所有代碼都做調用失敗後的錯誤處理。以及在大的工程中加入trace文件輸出,把關鍵的數據流和關鍵處理部分的操作信息輸出。以便對工程異常情況產生條件的定位,及時解決問題。

我覺得程序員能在這三方面做得很好就算一個優秀的programmer了。

      

五、調試、跟蹤與測試:

1 測試需要注意的:

對每個模塊的接口做測試,數據邊界的檢查。在對整個模塊做測試。

       主要測試穩定性,效率以及功能是否正常。

              確認單個模塊完全正常後,再加入工程。

              在系統架構設計的時候,可能會引入原型參考。要對原型做完成測試後,確認沒有問題後,纔可使用。

       2 可以採用VC自帶Trace或者將信息輸出爲文本文件的方式跟蹤程序並輸出關鍵信息,以便定位程序異常的原因。

       3 對於通信模塊的測試,特別注意服務端和客戶端的數據流。可以針對性的寫一個客戶端或服務端的測試程序,檢驗通訊過程是否正常。

       4 在用VC做開發中,一定先要讓Debug版本正常運行,保證沒有任何異常,內存泄漏和Assert等調試警告信息。如果用到其他Lib,一定要保證Lib本身不存在問題。

發佈了50 篇原創文章 · 獲贊 5 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章