本文檔的編寫旨在探尋規範的軟件開發流程、加快軟件開發速度、提升軟件開發質量、下降項目綜合成本。html
IT界有一句格言:"You can do it right; you can do it fast; you can do it cheap. Pick two." 而咱們要作的就是:提供優質服務、項目週期短、成本低廉數據庫
項目從用戶需求說明書的提出,到系統的第一個完整版本的交付使用經歷了若干或複雜或簡單的過程,但無論項目大小如何通常須要經歷如下幾個步驟:編程
1. 需求分析。框架
2. 撰寫需求規格說明書數據庫設計
3. 整體設計工具
4. 詳細設計單元測試
5. 編碼實現測試
6. 測試、(UAT : User Acess Test)試運行、上線編碼
7. 驗收設計
8. 平常維護
9. (下一個版本的循環開發)
在以上各步驟中尤爲重要的是系統分析和撰寫需求規格說明書。當定義好《需求規格說明書》後須要用戶簽字確認,以此做爲項目驗收的依據,在中大型項目中尤爲重要。
失敗的項目緣由不少但如下幾點比較廣泛:
(1)商務運做中爲了拉住「單子」對客戶的衆多紛繁複雜的要求一味的妥協讓步滿口答應。項目開發計劃、時間表等徹底依照客戶意見,不以具體項目的客觀事實爲依據,不作認真細緻嚴格的項目複雜度、項目工做量的評估。
(2) 不作細緻的用戶需求分析致使項目後期的需求變動較大不能定期完成項目。
在項目開發的各階段時間比例方面,中小項目通常控制在
1: 40% 設計
2: 40% 編碼
3: 20% 整體設計/試運行
研究客戶需求,從中找出需求中模糊不清的地方,反覆討論確認。在不斷的確認中,包括需求的整體認知、需求邊界定義、目前技術條件下的可實現需求、用戶界面等。經過項目組內討論、與客戶(直接客戶、間接客戶)討論等方式不斷清晰客戶真正的需求,從而撰寫〈〈需求規格說明書〉〉,在取的客戶承認後簽字,以此作爲項目開發的第一個里程碑。在項目驗收時以此做爲驗收的主要依據
在系統分析階段與客戶的溝通方式能夠經過(1)項目靜態圖、項目靜態界面DEMO(2) 系統用例圖(例如:rose軟件的用例圖) 等方式與客戶溝通。
本階段要完成的工做有:
1. 撰寫項目需求分析報告
本報告主要目的是項目分析人員提出需求的疑難不清問題,爲與客戶有效、準確溝通準備必要的材料。
2. 畫用例圖
描述系統各個不一樣用戶類型與本系統及其餘系統等的交互過程。
3. 創建項目靜態界面DEMO
使得用戶在項目初期就能夠看到項目上線實施後的使用界面和使用方法等
4. 作必要的技術預研等。
需求規格說明書的撰寫主要目的是把客戶天馬行空、紛繁複雜、憑想象等的理想需求中變成在必定時間段、必定技術條件下可實現的需求。否則項目會很難知足客戶的理想需求,永遠被客戶的理想需求所限制,陷入一種很是被動的狀態。
在完成項目需求規格說明書後,就進入項目整體設計的階段。
在整體設計階段須要完成的文檔有:
1. 《項目整體設計---概要設計說明書》、
2. 《數據庫設計報告》
3. 《項目整體開發時間表》
在此階段應該創建項目的正式開發環境、項目測試環境、創建項目基本開發框架且導入項目管理配置工具中(例如:CVS、VSS等)等
在項目的以上階段完成後,建議進行項目整體設計和整體開發準備狀況的評審工做。在公司、集團專家組評審經過後本階段結束,這算作項目的第二個里程碑。
在進行下一階段前,目前項目組能夠對SCCB(軟件變動控制委員會)提交的資料有:
1:《需求規格說明書》
2:《項目整體設計概要說明書》
3:《項目界面設計說明書》(及界面DEMO)
4:《項目數據庫設計說明書》等
5:《項目整體開發時間表》
在項目完成整體設計和搭建完畢開發環境後,就能夠進行項目的詳細設計。
在項目中建議詳細設計由項目編寫「後臺」程序的資深人員編寫。主要完成每一個負責的業務模塊從界面到業務實現到數據庫鏈接操做的主要步驟和數據庫的實現SQL。最好在條件容許的狀況下編寫模塊單元測試程序,在整個模塊編碼階段完成後進行程序單元測試工做。(「測試驅動」的開發理念)
詳細設計目的是在不編寫代碼和少許代碼的狀況下,完成項目模塊的模擬編程實現。
在詳細設計階段能夠對項目某模塊作準確的工做量統計,依此爲依據整個項目比較準確的工做量就能夠被統計出來。
(略)
(略)
轉載:http://www.cnblogs.com/wohexiaocai/p/3815707.html