1 前言
需求是對用戶期望的軟件行為的表述;獲取需求就是需求分析師通過關注用戶的期望和需要,從而獲得用戶期望的軟件行為,然后對其進行表述的工作;需求分析是在獲取需求的基礎上進一步對軟件涉及的對象或實體的狀態、特征和行為進行准確描述或建模的工作。
本文將以電影推薦系統為例,簡述需求分析和概念原型創建的過程。
2 用例圖
用例的核心概念中首先它是一個業務過程,經過邏輯整理抽象出來的一個業務過程,這是用例的實質。業務過程是指在待開發軟件所處的業務領域內完成特定業務任務的一系列活動。
本文所設計的推薦系統主要服務於用戶和管理員,接下來將從用戶與管理員兩種角度來進行用例圖的繪制。
2.1 用戶用例圖

2.2 管理員用例圖
從管理員的角度來看,管理員在系統中具有最高權限,其主要是對用戶信息以及電影信息進行維護與管理操作。管理員可以隨時添加新電影,以及對電影信息進行刪除,更新修改以及檢索等,管理員還可以添加、刪除、查找用戶信息,還可以對用戶行為進行管理。管理員的用例圖如下:
3 類圖
類圖可以幫助我們識別業務中需求的人、業務概念、物品和事件等,並理清他們之間的關系。需求中提到的各種業務概念、人物等,經抽象后可視之為類。本文類圖主要使用UML圖,大概分為Movies,Rating,Tag,User,Recommendation5個模塊及完成這些任務所需要的服務類。類圖構建如下:
4 數據模型
4.1 概念數據模型
概念數據模型實現世界到信息世界的第一層抽象,主要是在高水平和面向業務的角度對信息的一種描述。本文設計概念模型主要使用E-R圖。
工作流程:每個用戶登陸后,可以收到來自推薦系統推薦的電影信息,同時他也可以標記電影為“看過”或“想看”,或者對看過的電影進行評價和打分。具體實例如下:
4.2 物理數據模型
物理模型是概念模型的具體表示,描述了數據在物理存儲介質上的具體組織結構,不但與數據管理系統有關,同時還與具體的操作系統及硬件有關。物理數據模型將綜合考慮各種存儲條件的限制,進行數據庫的設計,從而真正的實現數據在數據庫中的存放。其主要的工作是根據邏輯數據模型中的實體、屬性、聯系轉換為對應的物理模型中的元素,包括定義多有的表和列,定義外鍵以維持表之間的聯系等。本文以電影信息,用戶評分信息和電影標簽信息為例:
5 小結
本文主要展示了在需求分析(以電影推薦系統為例)的過程中,各種模型、圖表的繪制樣例,由於項目還未做完,可能疏漏和錯誤,隨便看看就好,別誤導大家。