標籤:style 使用 資料 os 問題 工作
一:編寫目的
本文檔的編寫旨在探尋規範的軟體開發流程、加快軟體開發速度、提高軟體開發品質、降低項目綜合成本。
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% 總體設計/試運行
3.1 需求分析階段
研究客戶需求,從中找出需求中模糊不清的地方,反覆討論確認。在不斷的確認中,包括需求的總體認知、需求邊界定義、目前技術條件下的可實現需求、使用者介面等。通過項目組內討論、與客戶(直接客戶、間接客戶)討論等方式不斷清晰客戶真正的需求,從而撰寫〈〈需求規格說明書〉〉,在取的客戶認可後簽字,以此做為項目開發的第一個裡程碑。在項目驗收時以此作為驗收的主要依據
在系統分析階段與客戶的溝通方式可以通過(1)項目靜態圖、項目靜態介面DEMO(2) 系統使用案例圖(例如:rose軟體的使用案例圖) 等方式與客戶溝通。
本階段要完成的工作有:
1. 撰寫項目需求分析報告
本報告主要目的是項目分析人員提出需求的疑難不清問題,為與客戶有效、準確溝通準備必要的材料。
2. 畫使用案例圖
描述系統各個不同使用者類型與本系統及其他系統等的互動過程。
3. 建立項目靜態介面DEMO
使得使用者在項目初期就可以看到項目上線實施後的使用介面和使用方法等
4. 做必要的技術預研等。
3.2撰寫需求規格說明書
需求規格說明書的撰寫主要目的是把客戶天馬行空、紛繁複雜、憑想象等的理想需求中變成在一定時間段、一定技術條件下可實現的需求。不然項目會很難滿足客戶的理想需求,永遠被客戶的理想需求所限制,陷入一種非常被動的狀態。
3.3總體設計
在完成項目需求規格說明書後,就進入項目總體設計的階段。
在總體設計階段需要完成的文檔有:
1. 《項目總體設計---概要設計說明書》、
2. 《資料庫設計報告》
3. 《項目總體開發時間表》
在此階段應該建立項目的正式開發環境、項目測試環境、建立項目基本開發架構且匯入專案管理組態工具中(例如:CVS、VSS等)等
在項目的以上階段完成後,建議進行項目總體設計和總體開發準備情況的評審工作。在公司、集團專家組評審通過後本階段結束,這算做項目的第二個裡程碑。
在進行下一階段前,目前項目組可以對SCCB(軟體變更控制委員會)提交的資料有:
1:《需求規格說明書》
2:《項目總體設計概要說明書》
3:《項目介面設計說明書》(及介面DEMO)
4:《項目資料庫設計說明書》等
5:《項目總體開發時間表》
3.4詳細設計
在項目完成總體設計和搭建完畢開發環境後,就可以進行項目的詳細設計。
在項目中建議詳細設計由項目編寫“後台”程式的資深人員編寫。主要完成每個負責的業務模組從介面到業務實現到資料庫連接操作的主要步驟和資料庫的實現SQL。最好在條件允許的情況下編寫模組單元測試程式,在整個模組編碼階段完成後進行程式單元測試工作。(“測試驅動”的開發理念)
詳細設計目的是在不編寫代碼和少量代碼的情況下,完成項目模組的類比編程實現。
在詳細設計階段可以對項目某模組做準確的工作量統計,依此為依據整個項目比較準確的工作量就可以被統計出來。
3.5編碼實現
(略)
3.6測試、試運行、上線
(略)
四:備忘