需求從何而來?對於一個項目來說,應該是從設計需求文檔中而絕不是頁面。之所以說國內的產品經理技術偏低,很大部分因為他們把過多的熱情放在了畫原型的上面。 從頁面走出,實現真正的業務驅動。 PDD 一切以頁面為核心,每個程式員針對每個頁面來找到功能點,從而以頁面為單位進行任務交付。開發未動,頁面先行,這也 ...
需求從何而來?對於一個項目來說,應該是從設計需求文檔中而絕不是頁面。之所以說國內的產品經理技術偏低,很大部分因為他們把過多的熱情放在了畫原型的上面。
從頁面走出,實現真正的業務驅動。
PDD
一切以頁面為核心,每個程式員針對每個頁面來找到功能點,從而以頁面為單位進行任務交付。開發未動,頁面先行,這也是PDD的一個理論基礎。
簡述一個典型的頁面驅動開發過程:
1. 設計需求文檔
2. 設計項目界面,製作原型系統
3. 根據原型系統,開發實際系統
4. 測試
TDD
開發未動,測試先行。保證了每個完整的業務邏輯都是正確的,更重要的還有一點就是這個T的可重用性。
同樣簡述一個TDD的開發模式:
1. 抽象介面
2. Case&Coding並行實現介面
3. Coding以Case測試通過為基礎
4. 服務(M)&消費(VC)分離
5. 通過不斷的組合、重構服務實現業務
SOA
服務是SOA的核心。按其願景,在新項目設計實施過程中,項目團隊通常會面臨如下問題: 1.企業有無服務目錄,服務目錄在哪裡? 2.哪些服務可在新項目實施中重用? 3.需要新開發哪些功能,這些功能是否要封裝成服務,供其他應用使用? 4.當新系統所需要的某一功能已經存在於某一現有系統之中,但是並非以服務形式出現時,是否要對它進行封裝,如何封裝? 5.服務的調用是否必須經過企業服務匯流排(ESB、dubbo_zk),何種情況下必須經過ESB,何種情況下不需要? 6.當某個現有服務功能部門滿足某項需求時,如何對服務進行改造和版本控制? 7.待開發的新系統是對某個舊系統的升級,那麼舊系統提供的服務何時中止,用新系統中的服務替換,還是將服務升級成另一種形式? 8.服務來自於哪個系統,被哪些系統所用? 9.服務由誰負責管理和維護? 10.服務可被哪些人或角色有許可權訪問?