一:
需求中提到的各種業務概念、人物等,經過抽象後都可以視之為類。
平時遇到的人、物,我們將遇到的都是具體的人、物,也就如程式中的物件,是乙個實實在在的東西。
當我們分析需求的時候,設計模型的時候,我們就需要將之抽象,也就是最關鍵的一步——提煉。
提煉出這個東西,我們所需要的部分。
比如,在教室,主要存在兩類人,學生和教師。
當我們做的專案為:人員管理系統
在如上的環境中,我們需要的是學生和教師的姓名和年齡、學號(工號)等這些利於了解基本資訊的資料。那麼,我們進行模型設計的時候,類圖就應該主要包含這些東西。
當我們做的專案為:培訓管理系統
我們需要的是學生的知識水平和接受能力,老師的知識水平、表達能力和講課經驗。這些才利於培訓的分配和安排,那麼設計的類圖就應該包含這些東西
上面兩個簡單例子,就是區分在需求分析的時候,我們考慮的物件,在我們所做的專案下,我們需要從中真正需要的是什麼,也是使用我們的軟體的客戶,真正看到的、使用到的是什麼,要讓其存在意義。
二:
類之間也存在關係
一切從直線開始,表示它們之間存在某種關聯關係
「導航」關係,例如通過請假單可以找到請假者
「包含」關係,空心菱形是「弱」包含,實則為聚合,實心菱形是「強」包含,實則為組合,兩者的區別主要是強烈程度不同。
「繼承關係」,學生、講師都「繼承」了員工,它們具備員工的屬性,也有自己的特有的屬性。實則為 泛化
「依賴」關係,但依賴程度是相對而言的,不一定是a沒有b就不能「生存」了,對於某個事情,a需要b來協助才能完成,這也為一種依賴。好比菸鬼和香菸
三:
利用類圖來描述一些架構,如公司的組織架構。
比如某公司由乙個乙個的部門組成,類圖表達其組織結構可能如下:
但這樣沒有顯示出類圖的優勢,沒有發揮抽象和提煉的優勢。進一步改進如下:
這就更加形象了,有助於我們在專案進行中,分類和分層,更加清晰地看見其內部結構,成果思路也更有層次。
一:需求中提到的各種業務概念、人物等,經過抽象後都可以視之為類。
平時遇到的人、物,我們將遇到的都是具體的人、物,也就如程式中的物件,是乙個實實在在的東西。
當我們分析需求的時候,設計模型的時候,我們就需要將之抽象,也就是最關鍵的一步——提煉。
提煉出這個東西,我們所需要的部分。
比如,在教室,主要存在兩類人,學生和教師。
當我們做的專案為:人員管理系統
在如上的環境中,我們需要的是學生和教師的姓名和年齡、學號(工號)等這些利於了解基本資訊的資料。那麼,我們進行模型設計的時候,類圖就應該主要包含這些東西。
當我們做的專案為:培訓管理系統
我們需要的是學生的知識水平和接受能力,老師的知識水平、表達能力和講課經驗。這些才利於培訓的分配和安排,那麼設計的類圖就應該包含這些東西
上面兩個簡單例子,就是區分在需求分析的時候,我們考慮的物件,在我們所做的專案下,我們需要從中真正需要的是什麼,也是使用我們的軟體的客戶,真正看到的、使用到的是什麼,要讓其存在意義。
二:
類之間也存在關係
一切從直線開始,表示它們之間存在某種關聯關係
「導航」關係,例如通過請假單可以找到請假者
「包含」關係,空心菱形是「弱」包含,實則為聚合,實心菱形是「強」包含,實則為組合,兩者的區別主要是強烈程度不同。
「繼承關係」,學生、講師都「繼承」了員工,它們具備員工的屬性,也有自己的特有的屬性。實則為 泛化
「依賴」關係,但依賴程度是相對而言的,不一定是a沒有b就不能「生存」了,對於某個事情,a需要b來協助才能完成,這也為一種依賴。好比菸鬼和香菸
三:
利用類圖來描述一些架構,如公司的組織架構。
比如某公司由乙個乙個的部門組成,類圖表達其組織結構可能如下:
但這樣沒有顯示出類圖的優勢,沒有發揮抽象和提煉的優勢。進一步改進如下:
這就更加形象了,有助於我們在專案進行中,分類和分層,更加清晰地看見其內部結構,成果思路也更有層次。
《UML大戰需求分析》閱讀隨筆(六)
在我們做的 設計中分為系統設計和程式設計。程式設計是系統設計中模擬程式的執行邏輯,定義客戶機伺服器物件合作的框架的那個部分。程式和事務設計中,作者講述到程式和事務設計將系統設計製品放在一起,並作為系統設計過程的最終階段。程式設計是系統設計的乙個內在的部分。圖形使用者介面 gui 和資料庫的設計體現出...
UML大戰需求分析 閱讀筆記06
狀態機圖和活 在樣子比較相似,但狀態機圖是用來為物件的狀態及造成狀態改變的事件建模。我們大二學習uml統一建模語言狀態機圖模組時了解到,uml的狀態機圖主要用於建立物件類或物件的動態行為模型,描述系統中某乙個物件所經歷的各個狀態 引起狀態或活動轉移的事件,以及因狀態或活動轉移而伴隨的動作。但在以前的...
UML大戰需求分析 閱讀筆記04
讀 uml大戰需求分析 有感04 開發某系統的重要前提是 這個系統有誰在用?這些人通過這個系統能做什麼事?一般搞清楚這件事,再畫個業務流程圖,就能條例清楚的表達系統的需求了。作為乙個開發人員,不僅要懂得如何從使用者那裡獲取有用的資訊,還要懂得怎麼清晰地描述自己的想法,給客戶呈現出乙個結構完整 功能全...