也說項目開發經驗

來源:互聯網
上載者:User

--轉自海軍的部落格
   (http://www.cnblogs.com/ziyan22/archive/2007/09/03/879703.html)

1引言

1.1編寫目的

 XXX公司業務管理系統的開發已經基本完成。寫此項目開發總結報告,以方便我們在以後的項目開發中來更好的實施項目的訂製開發; 讓我在今後的項目開發中有更多的有據的資料來規範我們的開發過程和提高我們的開發效率,從而創造更多公司效益。 

1.2背景

項目名稱:XXX業務管理系統

軟體名稱:XXX業務系統

客戶:XXX

使用者:XXX員工  

1.3參考資料

項目開發文檔:

1.軟體開發資料模型:PDM_OperationSystem20070831.pdm

2.資料庫開發文檔: XXX業務管理系統資料庫設計說明書2.0.doc

3.軟體商務程序參考:XXX業務管理系統流程說明.doc

4.軟體使用手冊參考:XXX業務管理系統功能說明3.0.doc

5.軟體商務程序參考:XXX業務管理系統流程說明.doc

6.軟體中使用到的第三方控制項:ComponentArt Web.UI 2006.1252 for asp.net2.0.rar

7.軟體中使用的安全Ikey驅動:Ikey Driver.rar 
以上參考資料是截止2007-08-31是最新的資料文檔。如有修改,即使修改此處的參考文檔名稱。  

2開發工作評價

2.1對生產效率的評價

1.              系統開發已曆時快1年的時間了

2.              開發的反覆性比較多。

3.              對客戶的需求理解不是很透徹。

綜合以上,此項目的開發效率不是很高,相反有相當一定時間的浪費。 

2.2對產品功能的評價 

經過我們公司各位同事的共同努力協作,XXX業務管理系統已經很好的完成了客戶的業務流需求。經過對客戶使用過程的觀察,此項目開發的還是比較成功,但是還是存在著一些問題,造成這些問題的原因是多方面的。如:前期系統資料庫的設計缺陷和部分代碼的構建缺陷、客戶需求的理解上也存在一定問題,這就需要我們用一定的時間來維護客戶使用過程中提出的新問題和存在的debug。總的來說,此系統的功能開發還是一個比較成功的案例。 

2.3對技術方法的總結

在此項目中使用到技術和工具:

1.          使用代碼產生器:使用代碼產生器 [動軟.Net代碼自動產生器],此工具在很大程度上提高了編碼效率,從而加快了項目的開發進程。在以後的項目中,我們要盡量的來使用一些類似的工具來在最短的時間內完成工作。在今後的項目開發中,我們最好是能開發出適合自己的代碼產生工具,更大限度的節省開發週期和開發費用。 

2.          使用資料庫建模工具;PowerDesigner 工具來建立系統資料庫模型,以方便程式員很好的理解業務流和掌握系統架構者的架構思想,更好的滿足客戶的功能需求。在今後的項目開發中,我們要更好的來完成系統的前期資料庫模型的建立,最大的來最佳化系統功能。

3.          使用第三方控制項:此系統中使用了ComponentArt Web.UI 第三方控制項。此控制項在很大程度上滿足了客戶對軟體介面的需求,從而也給軟體的操作帶來了方便。本項目中只使用了ComponentArt Web.UI一種第三方控制項,在今後的項目開發過程中,要繼續使用第三方的控制項。這樣以來,無論是針對軟體介面的美觀性、友好性來說、易操作性而言,還是針對系統開發效率而言,這都是很好途徑。但需要意的是:在是使用第三方控制項時,要謹慎的選擇一些網路中的比較常見的第三方控制項。

4.          使用自訂控制項:此系統中使用了自訂控制項(GhdGridView),此自訂控制項可以很好的統一系統中的所有資訊顯示表格樣式。如客戶對資料顯示樣式有什麼新的意見,我就不需要修改每一個頁面的表格樣式,我們只需要修改GhdGridView控制項的樣式,系統中的所有繼承自GhdGridView的表格樣式都可以改變。

5.          系統開發架構:此系統的架構使用的是簡單三層結構,此架構在開發一些中小軟體是比較實用的。但是我們要是可以開發出自己的架構,把一些通用的功能開發到架構中。這樣以來,在以後的系統開發中,針對系統中一些通用的功能就不需要再開發,從而也可以很好的提高我們的開發效率;減少很多維護費用。使我們的技術不斷的更加成熟。

6.          系統安全加密:此系統中針對客戶提出的系統安全問題,我們採用了Ikey加密硬體鑰匙來驗證用戶端登陸客戶的合法性,此Ikey鑰匙可以綁定到一個系統使用使用者,也可以讓多個使用者來使用一個加密鑰匙來驗證登陸系統的合法性。這樣以來,即使使用者的密碼不慎丟失,或者被不法人員取得(不法人員他也是無法登陸到我們的系統中來),這樣就最大的提高了我們系統的安全性。Ikey加密鑰匙是很好的加密B/S架構軟體的硬體工具,在以後的軟體安全方面可以借鑒。 

3項目經驗總結

3.1簽定合約

              一個項目的開發成敗或者說項目開發帶來效益的大小,在很大程度上是受項目合約簽定的影響的。往往,很多一部分公司與客戶簽定的項目合約都是很模糊的,也很難簽定的比較清楚,這樣以來就會導致在項目的開發後期,工作兩會越來越大,影響項目的竣工周期;而且,項目的開發費用一般是不會變的。這樣以來,我們就大大的降低了我們的開發效益。雖然需求範圍很難簽定的明確,但是我們在簽定合約時,要盡量的去把合約功能邊界和添加新功能的條件簽定。

3.2Team Dev

          在項目確立後,要儘快的建立起項目Team Dev。

項目團隊成員的團結合作、相互溝通是非常重要的,團隊成員之間要相互學習彼此的優點和技術,使團隊的能力不斷的提高。這樣,在項目的開發過程中,團隊才不會被難題困住不動。另外,團隊中要有一個項目負責人,這個人無論是在與客戶的溝通上,還是在技術上都要是很出眾的人,此項目負責人要能很好的溝通客戶與開發成員之間,以此來更好的理解客戶的功能需求。人的記憶力總是有限的,所以就要求Team Dev成員要盡量的書寫一些開發文檔,這些文檔往往是我們在項目開發後期要用到的可尋資料。項目團隊士氣是項目成功的一個因素,我們需要不斷的來培養我們的團隊氣勢,使我們的團隊不斷的壯大。

3.3需求的調研

          在項目確立後,就到了需求調研分析階段。

1.        項目組對客戶的整體組織圖、公司有關人員的關係、職責等如果沒有一個很好、足夠的瞭解掌握,這樣項目組就無法很好的完整的整理到客戶的需求、或者說客戶真實的功能需求,如此以來我們就為自己埋下了地雷,影響項目的開發週期,這就要求我們要與客戶搞好無論是工作上的還是生活上的朋友關係,要深入的去瞭解客戶需求。

2.        我們要盡量的讓客戶也參與到項目的Team Dev中來,也就是說我們要使客戶把自己也納入到項目的Team Dev中來,如此一來,我們掌握客戶需求的真實性、可靠性就會大大的提高,也就不會為項目的後期功能開發埋下陷阱

3.        在需求調研過程中,如果缺乏足夠使用者參與,這樣的需求調研也是失敗的。很多程式員不願參與到客戶的需求調研中去,為什麼呢?很簡單,與客戶溝通不如與代碼溝通容易有意思。儘管這樣,我們還是必須用足夠多的時間去和客戶進行溝通,瞭解他們真實的需求。很多使用者也是如此,他們自己也不願意參與到項目的需求調研中來,為什麼呢?需求調研有出去和朋友一塊爛漫對嗎。。。雖然現狀如此,我們還是要努力的使客戶參與到需求的調研中來。

4.        模糊需求,也就是模稜兩可是需求規格說明中最為可怕的問題。一是指諸多客戶對需求說明產生了不同的理解;一是指單個讀者能用不止一個方式來解釋某個需求說明。針對對這種情況,就要求我們的調研人員要能夠從多個角度來分析客戶的不同需求,整理出最終的需求與客戶確認,定出最終真實可靠的需求,我們絕不能憑藉我們自己的單面理解來定立客戶的最終需求。

5.        在一個項目的開發中,文檔的書寫是極為中要的一項工作。因為,某些文檔就是我們在開發後期與客戶溝通的可尋依據、也是我們程式員在編碼過程中要用到的重要文檔。我們絕對不能認為,憑藉我們的大腦來記錄所有的開發需求。。。;即使,你說你是天才,你要用你那顆愛因斯坦的大腦來記錄所有的開發需求,那也是不可能的,人的精力總是有限的。這就要求我們在需求調研中做好需求文檔的記錄和整理。

6.        需求調研工具選擇,客戶一般對圖形還是比較感興趣的,所以我們在調研過程中,我要盡量的採用圖形化介面來和客戶溝通需求。比如可以採用Rose工具,把客戶的意思轉換為使用案例圖、時序圖、共同作業圖表、狀態圖、類圖等,使表達的意思更加直觀。這樣客戶會更快的進行問題的實質。

3.5做好開發計劃

              在項目確立後,我們就需要做好項目開發計劃,需求調研用時,開發用時,測試用時,實施用時,維護用時。在我們做好了計劃後,我們要隨時的跟蹤計劃任務的完成進度,從而使我們的項目進度掌控在我們的開發週期範圍之內,今日計劃、行動,明日成功。

3.5很好的溝通

              在其他行業中,人與人的之間的溝通只很重要的。項目開發也不例外,很好的溝通能夠加快項目的進度,這就要求我們每一個開發人員要學會和善於溝通於客戶和同事之間。在一個項目的開發過程中,我們與客戶的溝通是一個不斷交流和溝通的過程。在開發到一定的階段,我們就需要和客戶溝通已有功能,盡量的去避免一些隱藏的問題,及時的發現問題,解決問題,從而按時或者提前完成項目的開發。 

3.6做好工作總結

       在項目進行的過程中,我們要不斷去整理自己的工作情況和做好總結,這樣以來,無論是在自己的技術還是其它方面,都會對我們有很大的提高,在長期的積累後,無論是我們個人能力,,還是我們的團隊能力都會有很大的提高。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.