java 敏捷開發初探
1.領域建模,這在本質上包括了所有的資料實體以及它們之間的關係,但是沒有屬性。這有助於定義一些最初的領域概念和相互之間的關係。領域建模一般是開發者與領域建模專家和熟悉業務的人一起制定的,包括使用者和業務分析人員。
2.使用者介面原形
3.故事板,也被稱為UI流程圖或網站地圖,實際上是一個顯示頁面關係的導航圖。
4.使用者故事,但使用者故事比用例更短——每個一般是一到三句話。其餘的細化工作一般是在迭代中由使用者和開發者根據使用者故事討論決定,所以強調相關人員的積極參與
5.釋出(和迭代)計劃
6.建立術語表
7.白板上的框架
8.使用Wiki軟體來知識共享,並形成文件
CRC卡和類圖
CRC卡主要側重於類的功能,這一點是程式流程圖所欠缺的。而類圖包括了類的關係、基數、行為(方法)、屬性等更多的資訊,它比在流程圖中包括的內容更詳細具體。
把所有的類都放在一個文字表格中,我們可以很容易地找到某個類(特別是在大系統中),還可以使用製表軟體或命令列方便地對它們排序。
表3.5 範例程式的流程圖
故事標籤 |
視 圖 |
控 制 類 |
協 作 類 |
影響到的表 |
時間報表清單 |
timesheetlist |
TimeSheetListController |
TimesheetManager |
Timesheet |
時間輸入 |
enterhours |
EnterHoursController |
TimesheetManager |
Timesheet Department |
一個簡單的CRC卡片的佈局範例
類名(名詞) |
|
責任(一個類的功能,例如業務方法、異常處理、安全方法、屬性或變數) |
合作者(提供實現高階需求的解決方案需要的其他類) |
UML核心類圖、包圖、部署圖
驗收測試列表
3.12.1 登入
n 使用者id最多由6個字元組成,密碼必須在8到10個字元之間;
n 只有有效的使用者可以登入。
3.12.2 時間報表清單
n 使用者只能獲取到自己的時間報表。
3.12.3 輸入工時
n 使用者輸入的工時必須是數字時間格式;
n 每日總工時不能超過16小時,每週總工時不能超過96小時;
n 對工作時間的費用必須支付給某個部門;
n 工時必須以兩個十進位制數輸入;
n 僱員只能檢視和編輯自己的時間報表。
重構“是一種很有紀律性的技術,它是對現有程式碼的重建,改變它的內部結構而不改變外部功能”