1、需求分析與用例:
需求:就是系統必須提供的能力和必須聽從的條件,包括:功能需求和非功能的需求(性能要求)。
需求分析:重要手段是肯定和編寫用例。性能
用例:是文本形式的情節描述,用於需求的發現和記錄。用例會影響後續的OOA/D工做。blog
- 參與者(Actor):某些具備行爲的事物,能夠是人(由角色標識)、計算機系統或組織,例如收銀員。
- 場景(Scenario):是參與者和系統(咱們要開發的系統)之間的一系列特定的活動和交互。包括主成功場景和交替場景(主成功場景表示正常功能….;交替場景是若是….)
- 系統邊界:
2、用例的目的與形式:
用例編寫的形式:ip
- 摘要—需求分析早期使用,一般用於主成功場景(如上方描述的「管理員向系統提交用戶名和密碼。系統進行認證。系統向管理員顯示功能登陸信息」)
- 非正式—需求分析早期使用,可覆蓋不一樣的場景
- 詳述—詳細編寫全部步驟及各類變化(見用例文檔)
Tip1:用命的名稱應使用動詞開頭(動詞或動詞+名詞)
Tip2:編寫用命的時候應儘可能使用行業的專業名稱,而不是計算機專業術語。由於用例是跟用戶溝通的重要文檔,因此從用戶的觀點編寫用例。開發
3、用例編寫的格式:文檔
- 用例編號
- 用命名
- 用命描述
- 參與者
- 前置條件 //必須知足條件
- 後置條件 //用例作完後,對系統的影響
- 基本路徑 //最重要,主功能場景,只描述正常成功的場景,不要出現若是….;參與者動做,系統響應
- 擴展點 //最重要,
- 補充說明 //對基本路徑和擴展點的未盡事宜進行描述
4、如何發現用例:io
- 選擇系統邊界
- 肯定主要參與者
- 肯定每一個主要參與者的目標
- 定義知足用戶目標的用例,根據其目標對用例命名
Tip:在真實項目中發現用例,請遵循以下思惟習慣:調研需求時最早弄清楚有多少部門,多少崗位(參與者),而後找到每個崗位的業務表明,問他們相似的問題:你平時都作什麼?(參與者目標)這件事是誰交辦的 ?作完了你須要通知或傳達給認證嗎?作這件事情你都須要填寫些什麼表格嗎?登錄
5、用例關聯及一些術語
用例彼此之間可能具備聯繫,好比:處理信用卡支付用例可傾向於爲處理銷售、處理租金等常見用例的一部分。擴展
注意:別花過多時間爭論在用例圖中如何關聯用例,而不關注更重要的工做:編寫用例文本密碼
- 包含關係:主要目的是避免用例文本的重複編寫,好比:處理銷售、處理租金用例可包含處理信用卡支付用命。
- 擴展關係:能夠將可選路徑中的場景抽象爲擴展關係(但一般都是沒必要要的)
- 泛化關係:兩個或更多用例在行爲、結構、目的等方面存在共性時,可以使用泛化關係。