一個抽獎項目的需求分析與概念模型

一、需求分析

一個抽獎項目,它可主要分為普通參與抽獎的用戶,抽獎活動的發布者,管理者。

1、用戶需求:

  • 註冊/登陸賬戶
  • 搜索/查看抽獎活動
  • 參與抽獎
  • 查看已參與的抽獎
  • 接收獎品

2、發布者需求:

  • 編寫抽獎內容
  • 發布抽獎活動
  • 管理已發布的抽獎活動
  • 動態修改抽獎活動屬性
  • 查看中獎用戶
  • 發送獎品

3、管理者

  • 在職能範圍內,管理所有的抽獎活動,包括禁止,限制,刪除等
  • 在職能範圍內,管理所有的發布者,對其行為進行監督
  • (超級管理者)管理所有的管理者,分配職能等

二、用例建模

根據需求分析的結果,大致可分為以下幾種用例情況:

  • 抽獎用戶

    • 註冊/登陸
    • 參與抽獎
    • 領獎
    • 管理個人資訊
  • 獎項發布者

    • 編輯抽獎
    • 發布抽獎
    • 管理抽獎資訊
    • 發送獎品
  • 管理員

    • 管理所有抽獎
    • 管理髮布者

三、業務領域建模

業務領域建模是開發團隊用於獲取業務領域知識的過程。因為軟體工程師往往需要工作在不同的業務領域或者不同項目中,他們需要業務領域知識來開發軟體系統。軟體工程師往往來自不同的專業背景,這可能會影響他們對業務領域的認知。因此業務領域建模有助於開發團隊獲取業務領域知識形成統一的業務認知。

1、業務領域建模的過程

  • 第一步,收集應用業務領域的資訊。聚焦在功能需求層面,也考慮其他類型的需求和資料;
  • 第二步,頭腦風暴。列出重要的應用業務領域概念,給出這些概念的屬性,以及這些概念之間的關係;
  • 第三步,給這些應用業務領域概念分類。分別列出哪些是類、哪些屬性和屬性值、以及列出類之間的繼承關係、聚合關係和關聯關係。
  • 第四步,將結果用 UML 類圖畫出來。

2、抽獎項目UML類圖

四、數據模型

1、數據表

(1)用戶資訊

欄位 類型 說明
id INTEGER 主鍵
name VARCHAR 姓名
password VARCHAR 密碼
gender VARCHAR 性別
group INTEGER 用戶組

用戶資訊表主要存放所有用戶的用戶名和密碼,用於驗證登錄,用戶類型號用於區分不同角色,如普通用戶,發布者,管理員等,主鍵為用戶編號。

(2)抽獎活動

欄位 類型 說明
id INTEGER 主鍵
name VARCHAR 姓名
publisher_id INTEGER 發布者的id
style_id INTEGER 抽獎類型號
desc VARCHAR 內容描述
times INTEGER 抽獎次數
times_limit INTEGER 次數限制
pub_date DATE 發布日期
time_expr DATE 到期時限

抽獎活動表主要存放所有發布的抽獎活動資訊,發布者編號為用戶資訊表中的用戶編號,抽獎類型號代表不同的抽獎方式,主鍵為活動編號。

(3)用戶—抽獎

欄位 類型 說明
user_id INTEGER 用戶id
lottery_id INTEGER 活動id
times_remain INTEGER 剩餘抽獎次數

用戶/抽獎活動表保存用戶參加抽獎的記錄,是一張中間表,主鍵為用戶編號,抽獎活動編號。

(4)獎品

欄位 類型 說明
id INTEGER 主鍵
name VARCHAR 獎品名
nums INTEGER 獎品個數
rank INTEGER 獎品等級
lottery_id INTEGER 活動id

獎品表主要存放各抽獎活動對應獎品的資訊,獎品編號為主鍵。

(5)用戶—獎品

欄位 類型 說明
id INTEGER 主鍵
user_id INTEGER 用戶id
reward_id INTEGER 獎品id

​用戶/獎品表用來記錄用戶中獎記錄,中獎資訊編號是主鍵。

2、邏輯模型

四、概念原型

概念是人對能代表某種事物或發展過程的特點及意義所形成的思維結論。
概念原型是一種虛擬的、理想化的軟體產品形式。

所以抽獎項目概念原型如下:

  • 用戶,註冊並登陸帳號,瀏覽抽獎活動,可按類型搜索並選擇活動,查看剩餘抽獎次數,如果大於0,可選擇參加,等待結果,期間可查看所參加的活動。等到獎品開獎,可以查看是否得獎,若得獎,會受到獎品。
  • 活動發布者,可以選擇抽獎類型,設置獎品及數量,等級;可設置到期時間,總的抽獎次數等等。在抽獎過程中,其可以動態修改抽獎活動的屬性。等到開獎,查看中獎用戶,並發送獎品。
  • 管理者,可按職能分,可監管抽獎活動,和管理髮布者。
  • 超級管理者,只有一個,可安排不同職能的管理者,可管理和維護所有內容。

參考鏈接
//gitee.com/mengning997/se/tree/master/ppt