1.項目啓動階段:
- 項目描述
- 項目目標
- 項目實施:
- 項目調研(業務調研,技術調研,編寫項目調研報告)
- 工作量評估(註冊/登錄:3天,房屋管理:5天…)
- 風險評估(技術風險,管理風險)
- 項目里程碑階段(採用瀑布式:項目啓動階段,需求分析階段,系統設計階段,編碼實現與測試階段–(採用迭代開發思路:進行每一個功能迭代開發,每一個功能迭代作爲一個"項目"開發,涉及"功能需求、設計、實現"),驗收和關閉階段)
- WBS工作任務分解(五層,每層均可有可交付成果,方法:類比分解法、自上而下分解法、自下而上彙集法)
- 項目計劃(甘特圖)
2.需求分析:
- 項目描述
- 項目目標
- 項目實施:
- 系統功能: 項目介紹、用戶特徵、系統用例圖
- 功能需求分析:
註冊/登錄 房屋管理… - 數據需求分析:
系統的數據信息來自於流程處理、事務描述、信息傳遞、信息存儲、統計報表、界面操作等,可通過數據字典、E-R圖、概念類(UML高層類圖)等方式來表示
3.系統設計:
分爲概要設計(或稱爲邏輯設計/高層設計)和詳細設計(或稱爲模塊化設計、底層設計),涉及模塊設計、程序結構設計、界面設計、數據庫設計、異常處理設計等。設計過程的輸入時需求規格說明書,描述系統要"做什麼",輸出是系統設計說明書,描述系統"怎麼做"
- 項目描述
- 項目目標
- 項目實施:
- 模塊設計:註冊、登錄/退出、房屋管理、租賃管理、系統管理
- 程序結構設計:
- 框架設計:三層架構
- 界面設計:
- 數據庫設計:數據分析、概念結構分析、邏輯結構分析、物理結構分析、數據庫構建、數據庫驗證
常見不良設計習慣:
- 不進行數據庫設計,利用可視化工具,根據編程需要直接右鍵建表
- 不進行數據庫設計和建模,根據項目需要直接手動編制sql腳本
- 數據庫設計不合理,不規範,冗餘
- 異常處理設計:自定義異常類,向上拋出,直至表示層統一處理
例如:dao catch(){throw new AppException(“XXDao.func1()”)}當數據訪問層某個方法發生異常時,向上拋出自定義異常,異常信息爲類名和方法名(如:com.apple.dao.addUser ) 直至表示層(web)作出處理,並經請求導向異常信息頁面
AppException:
int exceptionCode:異常編號 String message:異常信息
三個構造方法:message code和message 空構造
方法:
getDetailMessage() detailMessage:
exceptionCode+message getMessage-message getCode-code
可以在構造方法中進行初始化,進行處理,以免在異常處理後面的代碼顯得很臃腫!
- 詳細設計(類設計):
實體類,表示層類(web層–controller,ssh中struts2充當表示層,也就是Action類)
業務邏輯層類,數據訪問層類,工具類(DBUtil,上傳處理類,常量類/枚舉類)
舉例:註冊這個業務邏輯 在service中先判斷用戶是否存在,在插入
登錄業務邏輯:先根據賬號密碼判斷是否
在設計方法的時候可以按照如下步驟:
自頂向下,自底向上
逐步求精:大問題–易於處理的小問題
優點:
- 更簡單的程序
- 重用方法
- 易於開發調試測試
- 更方便團隊合作