一個問答系統的後端項目分析建模

一個類知乎問答系統的後端項目分析建模

一項目概述

  該系統爲一款類似知乎的問答系統,用戶可進行提問,問答,評論以及點贊,踩等功能,主要爲前臺IOSAPI提供接口。主要是課題性質的項目,能夠支持一定的併發量,界面美觀,能夠有個好的用戶交互環境,以完成問答核心功能。基於此,下方內容便展開了需求分析以及系統建模的討論。

二主要業務流程

  問答系統主要是用戶打開APP註冊登錄賬號,即可查看話題的討論或者自己提出問題,可以給他方評論,點贊或踩,甚至收藏。

 

  由上可大概知曉該項目的主要功能僅涉及問題的提出,討論的回覆以及其評論,對其回覆的支持態度表現,當然還有賬號的相關操作,由此可知其功能涉及。

  此外,問題的標籤分類以及賬號的狀態操作也可以考慮後臺管理,但此次項目週期較短,因此暫不考慮。

三用例建模

  由上可知,系統暫時僅需要遊客與註冊用戶即可。

  其中游客僅可瀏覽不得發表回覆等操作,註冊用戶可有全部操作,如下:

  1.用戶的註冊、登錄

  2.可選擇標籤瀏覽問題

  3.可提出自己的回答,或新建一個問題

    4.還可對他人的回覆評論,點贊,踩等功能

    5.管理賬號

  如此,即可根據功能需求畫出用例圖

 

四概念模型與數據庫建模

  設計者的概念模型和最終用戶的概念模型。設計模型作爲產品設計者的概念模型,是對產品構成結構和操作方式的系統化、結構化描述;相對應的用戶模型,是用戶在產品使用過程中形成的關於產品構成和操作方式等的結構化理解。而設計者是通過一系列視覺線索,以及用戶的產品使用過程將設計模型傳遞給用戶,並最終轉換爲用戶概念模型。

      設計模型和用戶模型的最理想狀態就是二者完全等同,即產品的所有設計意圖和操作方式完全被用戶所理解。因此實體的劃分與聯繫至關重要,由功能結構分析可知,系統需包含用戶、用戶信息、問題、問題標籤、回答、收藏、消息實體,大致E-R圖如下:

 

我負責的主要模塊

通用字段

*

列名

數據類型

長度

唯一

非空

註釋

id

int

11

通用主鍵

created_at

datetime

 

創建時間

updated_at

datetime

 

更新時間

deleted_at

datetime

 

刪除時間

用戶表(user

*

列名

數據類型

長度

唯一

非空

註釋

username

varchar

255

用戶名

password

varchar

255

密碼

nickname

varchar

255

暱稱

email

varchar

255

郵箱

avatar

text

 

頭像

status

int

11

狀態

user_profile_id

int

11

用戶信息邏輯外鍵

用戶信息表(user_profile

*

列名

數據類型

長度

唯一

非空

註釋

email

varchar

255

郵箱

phone

varchar

255

手機號

description

varchar

100

個人介紹

問題標籤表(tag

*

列名

數據類型

長度

唯一

非空

註釋

name

varchar

255

名字

description

varchar

1000

描述

icon

varchar

255

圖標url

topic_count

int

11

所屬問題個數

問題表(topic

*

列名

數據類型

長度

唯一

非空

註釋

title

varchar

255

標題

content

text

1000

簡述

user_id

Int

11

用戶id

comment_count

int

11

評論總數

collect_count

int

11

收藏總數

view

int

11

點擊量

top

bit

1

是否置頂

up_count

int

11

點贊次數

down_count

Int

11

點踩次數

標籤-問題表(topic_tag

*

列名

數據類型

長度

唯一

非空

註釋

tag_id

int

11

標籤id

topic_id

int

11

問題id

五總結

  此博客是對一個問答系統的後端接口設計的需求分析,通過對需求的摸索,討論了主要的功能模塊,以及用例的涉及,最後根據功能與用戶的關係,分析概念模型,畫出E-R圖,分清表與表的聯繫與構造。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章