系統分析與設計 第六週


系統分析與設計 第六週
)


1 簡答題

1.1 用例的概念

解答:

用例(use case),也稱使用案例、用況;是軟件工程或系統工程中對系統如何反應外界請求的描述,是一種通過用戶的使用場景來獲取需求的技術。每個用例提供了一個或多個場景,該場景說明了系統是如何和最終用戶或其它系統互動,也就是誰可以用系統做什麼,從而獲得一個明確的業務目標。編寫用例時要避免使用技術術語,而應該用最終用戶或者領域專家的語言。用例一般是由軟件開發者和最終用戶共同創作的。


1.2 用例和場景的關係?什麼是主場景或 happy path?

解答:

  • 1> 用例與場景的關係

每個用例提供了一個或多個場景,該場景說明了系統是如何和最終用戶或其它系統互動,也就是誰可以用系統做什麼,從而獲得一個明確的業務目標。

  • 2> 什麼是主場景或happy path

每個用例都包含一個主場景,這個場景是用戶和系統發生主要交互,是最常用實現用戶目標的場景。


1.3 用例有哪些形式?

解答:

用例有三種常見的形式:

  • 1> Brief(high level)

簡潔型,通常是簡短的一段總結,描述主要的成功場景,在早起需求中快速瞭解主題和範圍,可以快速創建。

  • 2> Casual

隨意型,非正式的段落格式,涵蓋各種場景的多個段落。

  • 3> Fully

完整型,所有的步驟和變化都寫得很詳細,並有支持部分,如先決條件和成功的保證。


1.4 對於複雜業務,爲什麼編制完整用例非常難?

解答:

  • 複雜業務活動包含很多用例,他們與過程關係用戶難以理解,功能業務邏輯十分複雜,且非常耗時
  • 場景與場景之間存在複雜的關聯,如果場景不夠全面,那麼用例的完整性就難以保障
  • 業務與需求本身就是需要不斷迭代來確定的,一直處於變化的狀態

1.5 什麼是用例圖?

解答:

用例圖是由參與者(Actor)、用例(Use Case),邊界以及它們之間的關係構成的用於描述系統功能的視圖。用例圖(User Case)是外部用戶(被稱爲參與者)所能觀察到的系統功能的模型圖。用例圖是系統的藍圖。用例圖呈現了一些參與者,一些用例,以及它們之間的關係,主要用於對系統、子系統或類的功能行爲進行建模。


1.6 用例圖的基本符號與元素?

基本元素如下:

  • 1> 參與者(Actor):表示的是一個系統用戶,也就是與應用程序進行交互的用戶、組織或者外部系統。
    在這裏插入圖片描述
  • 2> 用例(Use Case):表示的是對系統提供的功能、服務的一種描述。
    在這裏插入圖片描述
  • 3> 用例關係:
    • 包含關係(Include):表示用例可以簡單地包含其他用例所具有的行爲,並把它所包含的用例行爲作爲自身行爲的一部分。在UML中常用帶箭頭的虛線表示,箭頭指向被包含的用例。
      在這裏插入圖片描述
    • 泛化關係(Generalization):泛化指的是一個父用例可以被特化形成多個子用例,而父用例和子用例之間的關係就是泛化關係。在UML中用空心三角箭頭的實線表示,箭頭指向父用例。
      在這裏插入圖片描述
    • 關聯關係(Association):表示的是參與者與用例之間的關係。在UML中常用一條直線,或者是一條帶箭頭的線條來表示,箭頭指向信息接收方。
      在這裏插入圖片描述
      擴展/延伸關係(Extend):表示在一定條件下,把新的行爲加入到已有的用例中,獲得的新用例叫做擴展用例,原有的用例叫做基礎用例,相當於爲基礎用例提供一個附加功能。在UML中用帶箭頭的虛線表示,箭頭指向基礎用例。
      在這裏插入圖片描述

1.7 用例圖的畫法與步驟

解答:

1> 確定參與者

  • 誰將使用該系統的主要功能。
  • 誰將需要該系統的支持以完成其工作。
  • 誰將需要維護、管理該系統,以及保持該系統處於工作狀態。
  • 系統需要處理哪些硬件設備。
  • 與該系統那個交互的是什麼系統。
  • 誰或什麼系統對本系統產生的結果感興趣。

2> 識別用例

  • 特定參與者希望系統提供什麼功能。
  • 系統是否存儲和檢索信息,如果是,由哪個參與者觸發。
  • 當系統改變狀態時,是否通知參與者。
  • 是否存在影響系統的外部事件。
  • 哪個參與者通知系統這些事件。

3> 確定用例間的關係

  • 用例除了與參與者發生關係外,還可以具有系統中的多個關係,這些關係包括包含關係、擴展關係和泛化關係。應用這些關係的目的是爲了從系統中抽取出公共行爲和其變體。

1.8 用例圖給利益相關人與開發者的價值有哪些?

解答:

用例圖描述了一個系統的主要功能以及怎樣去使用,可以讓人清楚的知道系統的各個模塊以及各部分功能的關係,對系統進行了可視化,在開發過程可以起到指導作用,能夠幫助更合理的進行人員的安排。也可以便於向用戶闡述系統功能。


2 建模練習題(用例模型)

2.1 繪製用例圖

在這裏插入圖片描述
解答:

  • 1> 美團外賣

在這裏插入圖片描述

  • 2> 貓眼電影

在這裏插入圖片描述


3 回答下列問題

3.1 爲什麼相似系統的用例圖是相似的?

解答:

  • 1> 相似系統的主要業務邏輯類似,比如查詢系統通常只是查詢內容的不同,而登錄、註冊、查詢、管理訂單這些基本功能都是相同的,用例的類型基本固定,與子用例的關係也類似。
  • 2> 相似系統面向的Actor是相似的,從Actor視角定義的用例也是相似的,連同用例之間的關係都是相似的。這本質是因爲相似系統的功能需求是相似的。

3.2 如果是定旅館業務,請對比 Asg_RH 用例圖,簡述如何利用不同時代、不同地區產品的用例圖,展現、突出創新業務和技術。

解答:

  • 1> 利用時代發展的新技能不斷豐富功能,例如越來越精準的數據預測等。
  • 2> 不斷把握用戶的需求,根據用戶的需求不斷優化產品。
  • 3> 針對不同環境推出符合當地特色服務,例如不同省市尊重當地習俗。

3.3 如何利用用例圖定位創新思路(業務創新、或技術創新、或商業模式創新)在系統中的作用

解答:

通過在用例圖定位的創新思路(標記的創新用例),可以方便項目經理(業務創新)、需求方(商業模式創新)、開發者(技術創新)明確創新點。


3.4 請使用 SCRUM 方法,選擇一個用例圖,編制某定旅館開發的需求(backlog)開發計劃表

解答:

Name Imp Est(man-day) How to demo Notes
搜索旅店 10 3 選擇城市;入住離店日期;關鍵字搜索 搜索應當預先設置默認值;用戶可對搜索結果進行排序
預定房間 7 4 選擇旅店;入住離店日期;房間類型;房間數量 應排除已被預訂的房間;對房間進行排序
確認訂單 7 3 填寫入住信息 必須填寫:聯繫方式;身份證號
支付 5 2 選擇付款方式 注意多種付款方式的接口;支付失敗後退款
管理訂單 4 2 查看已支付的訂單;取消訂單 取消訂單需要三方確認;退款

3.5 根據任務4,參考 使用用例點估算軟件成本,給出項目用例點的估算

解答:

根據用戶點方法,權重分配爲:

  • 簡單用例:1 到 3 個事務,權重=5
  • 一般用例:4 到 7 個事務,權重=10
  • 複雜用例:多於 7 個事務,權重=15
用例 事務 計算 權重
搜索酒店 3 2 簡單
預定房間 4 4 一般
確認訂單 3 2 簡單
付款 2 2 簡單
管理訂單 2 2 簡單
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章