五、 面向對象程序設計(略)
1. 設計原則
(1) SRP單一職責鏈
每個類都應該只負責做一件事。
(2) OCP開封閉合原則
軟件的實體(類、模塊、函數等)應該是可以擴展的,但是不可修改的。
(3) LSP替換原則
子類必須能替換他們的基類型。
(4) DIP依賴倒置原則
高層模塊不應該依賴于低層模塊,二者都應該依賴于接口與抽象類。抽象不應該依賴于細節,細節應依賴于對象。
(5) ISP接口隔離原則
不應該強迫客戶依賴于并未使用的接口,而應該把胖接口分離。
2. 實現UML建模
(1) 業務對象的提取
(2) 根據SRS、CRC等實現用況建模
(3) 實現業務順序圖
(4) 建立類圖,根據用況圖建立對象之間的關聯
(5) 繪制活動圖、實現協作圖、狀態圖
六、 開發管理
1. 建立項目計劃
(1) 設計總體架構
針對系統的實施需要,采取適當的且成熟的框架結構。
(2) 控制可擴展度
擴展度過大,將提高系統的復雜程度,延長開發時間;擴展度過低,會直接影響系統的二次開發與維護。控制系統的可擴展性,能提高開發效率,降低系統維護的難度。
(3) 建立基礎設施
合理分配部署軟、硬件等基礎設施所需要的時間與成本(例如:服務器的訂購安裝、光纖接入、軟件平臺訂購)。
(4) 劃分開發任務
利用WBS(Work Breakdown Structure,工作分解結構)對可交付結果進行分類與劃分。每個項目都能劃分為多個不同階段,每個階段又可以分為多個工作包(Work Package),工作包是WBS里小的可交付結果,后從工作包中分解出多個開發任務列表。
(5) 部署開發進度
一個項目應該按進度劃分為多個開發階段,每個階段的開發周期一般在30~60個工作日以內。在此階段內應該與客戶舉行協商會議,制定產品路線圖,在開發過程中邀請客戶積極參與并提出反饋意見。然后把該時段內的開發任務按照開發難度,依賴性,重要性等多方條件劃分為多個迭代周期。
在Scrum 敏捷軟件開發原則中,應該把每個迭代任務進一步細分為多個開發任務列表,再開發任務分配給組員各自負責,而開發時間應該控制在15個工作小時以內。如果開發時間超出15個工作小時,應該考慮把開發任務再度細化。開發任務建議應該由組員自主選擇,而不要使用強制分配的方式。
(5) 測試項目成果
每個工作包都應該同步部署測試工作,提高項目的質量。對出錯BUG的工作包應該由測試人員以文本方式記錄,向開發人員展示錯誤所在,讓開發人員及時進行修改。