一、專案描述
二、需求提取
需求描述:三、用例建模簡單理解用例3.1 用例**使用者包含學生和老師。
用例---是一種業務過程。有三個基本要素:
(1)參與者觸發
(2)完成乙個特定的業務任務
(3)為參與者返回乙個結果
3.2用例的必要條件
必要條件一:它是不是乙個業務過程?
必要條件二:它是不是由某個參與者觸發開始?
必要條件三:它是不是顯式地或隱式地終止於某個參與者?
必要條件四:它是不是為某個參與者完成了有用的業務工作?
3.3 用例關係
(1)關聯關係:採用實線表示,表示兩個物件之間存在聯絡,一般用於參與者和用例之間
(2)包含關係:虛線上加,表示基本用例進行更具體的細分
(3)擴充套件關係:虛線上加,表示在基本用例上進行功能擴充套件的擴充套件用例
3.4 用例的層次
(1)抽象用例:業務任務(簡單的動名詞短語)
(2)高層用例:規定用例起始結束時間
(3)擴充套件用例:描述詳細的參與者和系統的互動過程
3.5 用例建模的基本步驟
(1)從需求中找到用例(動名詞短語)
(2)抽象-->高層, 用例按子系統分類,並描述關係
(3)擴充套件用例
理解用例之後,可以發現需求中的動名詞極大可能是用例,再結合用例的必要條件就可以得到用例。因此用例圖:actor:學生。
動名詞:資源查詢(
1.按編號查詢 2
actor:老師。
1.按編號查詢 2
.按名字查詢),使用者管理(使用者刪除,使用者新增)。
四、資料建模及業務類圖
4.1業務領域建模的基本步驟
(1)收集業務領域資訊
(2)頭腦風暴
(3)給這些應用業務領域概念分類
(4)將結果用 uml 類圖畫出來。
4.2 頭腦風暴具體做法
• 名詞和名詞短語(nouns / noun phrases)可能是類或者屬性;
• 「y 的 x」(x of y)表達方法,可能x是y的屬性,也可能x是關聯關係中的乙個參與者,比如中國科學技術大學的小王同學;
• 及物動詞(transitive verbs)往往意味著關聯關係;
• 形容詞(adjectives)一般是屬性值;
• 數量詞(numeric)往往意味著屬性或者屬性值;
• 所有關係的表達方法(possession expressions)很可能是聚合關係,也可能是屬性;
• 構成關係的表達方法(constituents / 「part of" expressions)一般是聚合關係;
• 包含關係的表達方法(containment / containing expressions)一般表示關聯關係或者聚合關係;
• 」x 是一種/類 y「(x is a y)表達方法一般是繼承關係;
4.3 類圖
4.3.1 基本畫法
4.3.2 類之間的關係
(1)繼承(泛化關係)關係:extends。表現在類中就是基本類的具體化。
(2)關聯關係:關聯關係表示繼承和聚合以外的一般關係,是業務領域內特定的兩個概念之間的關係。
(3)聚合關係:關聯關係的一種特例,兩個類之間存在整體與部分的關係。比如產品類和零件類之間的關係。
4.4 uml圖建模
根據上述的規則可以得出:
(1所以類圖可以得出: 相應的表設計如下:)名詞和名詞短語(類):
資源使用者:老師,學生 (
2)及物動詞(代表類之間的關聯關係):
刪除,新增(使用者---學生) (
3)包含關係(繼承):使用者---學生,老師。
1)使用者表
idpassword
description
2)學生表
snosname
dnoid
3)教師表
tnotname
dnoid
4)資源表
fnofname
description
path
category
5)上傳表
tnofno
uploadtime
idfno
downloadtime
五、概念原型
概念原型是一種虛擬的、理想化的軟體產品形式。概念原型 = 用例 + 資料模型。
整個專案的用例包括學生用例和老師用例。
整個軟體的虛擬過程如下:
教師使用者成功登入**後,點選上傳按鈕,然後填寫資源的路徑,描述,名字,類別等資訊,然後系統自動根據當前時間自動填寫資源上傳時間和自動為資源進行編號,等待上傳完畢,老師就可以退出或者進行其他活動。
六、總結
此部落格對本人工程實踐專案進行需求分析,用例建模,資料建模以及總結概念模型。我對專案的構建有了進一步的理解,由於此次是我第一次對完整專案分析,個人認為還存在疏漏,本次部落格內容僅做參考和思路引導。
參考:
從需求分析到軟體設計
基於網路教學資源共享平台的需求分析與建模
3.業務領域建模 4.資料模型 5.概念原型 參考文章 用例建模的步驟就是通過分析使用者的需求,得到用例模型的開發過程。主要包括如下步驟 從需求中識別抽象用例 rightarrow 用tucbw和tucew表示的高層用例 rightarrow 畫出用例圖 rightarrow 逐一分析擴充套件用例,...
基於LAN的資源共享
最近在積極思考final year project的內容,一方面想做點和實際相關的內容,一方面又想接觸技術層面多些。這幾周不能說整天查資料在找題目,至少經常brain storm一下。真的把這個題目做好也不錯,不過神經網路不是我的長項,甚至只是耳聞,沒做過一點細緻接觸。所以我又想到另乙個題目。基於l...
前端模型系統建模分析
接觸angular技術也有一年多了,來newegg也剛好一年了,在這一年裡,學到了不少關於前端技術的精髓,但是讓我最興奮的,莫過於發現了模型系統,之所以認為它神奇,是因為一切複雜問題其實都可以通過模型系統來很好的進行抽象建模,使得你的工作可是事半功倍。1 angularjs通過資料雙向繫結使得vie...