分析階段的類圖和設計階段的類圖有什麼區別?

2020-12-14 米粒教育

設計類圖是類圖的一個變體,類圖表示一系列的類以及它們之間的關係。因為分析階段是一個發現需求的過程,所以我們一般很少關心類的屬性和方法的細節。在面向對象設計中,類的屬性有一個特徵叫可見性,它表示其它類是否可以訪問該屬性。類的每個屬性都有一個類型定義,例如字符串或數值類型。在詳細設計階段,我們需要細化這些屬性,並且定義方法的名稱、返回值以及傳入的參數。因此,雖然分析階段和設計階段的類圖很相似,但設計階段的類圖更完善。

下圖顯示了用於設計類圖要使用的符號,這個類圖是一個簡化的版本,它僅僅顯示了屬性和方法標識。

圖 1 一個簡單類圖

類圖的圖形符號是一個矩形框,矩形框分為三個部分。第一部分是類名,在這裡寫入類的名稱;第二部分是屬性列表,在這裡寫入類的所有屬性,包括屬性的名稱、屬性的可見性和屬性的類型。屬性的可見性用於表示其它類是否能直接訪問這些屬性;第三部分是方法列表,在這裡寫入類的所有方法,包括方法的名稱、返回值以及傳入的參數。

屬性列表包含了在分析階段所發現類的所有屬性。此外,還包括一些其它屬性,這些屬性用來表示和其它類的對象相關聯的對象引用。例如,一個帳號對應一個客戶,客戶帳號類需要一個方法找到正確的客戶。有兩種方法可以做到這一點,一是定義一個域,可以直接引用或連接正確的客戶對象,這個域叫做對象引用或對象指針;另一種方法是在客戶帳號類中為客戶類插入一個外部碼。前面的方法比較適合類之間的引用,後面的方法比較適合關係資料庫表的關聯。

另外補充的一個屬性是狀態值屬性,類中加入這個屬性能夠維護對象所處的狀態的信息。狀態信息從狀態圖中提取並加入到方法邏輯中,這個屬性就是類的狀態變量。例如,用戶類要保存用戶是否登錄系統的狀態。

方法列表包含了在分析階段所發現類的所有方法,分析階段的類圖僅給出了類的中文方法名稱。在設計階段需要用英文確定方法的名稱,並給出方法的返回值和傳入的參數。

圖2是人脈系統名片類分析階段的類圖,圖3是人脈系統名片類設計階段的類圖。

圖 2 人脈系統名片分析階段的類圖
圖 3 人脈系統名片設計類圖

從圖2和圖3可以看出,分析階段的類圖主要是從業務領域獲取信息的,在描述上更多使用了業務領域的語言和詞彙。設計階段的類圖是從編程實現角度來設計類圖的,更多的是考慮類編碼的實現。圖3的設計類圖不僅給出了類的英文名稱、類屬性的可見性、類屬性的英文名稱、類屬性的數據類型,還給出了類方法的返回值、方法的英文名稱和方法的傳入參數。程式設計師可以根據設計類圖直接編寫類代碼,也可以使用代碼自動生成軟體來自動創建類代碼。

相關焦點

  • 專家推薦 經典UML類圖教程
    在分析設計的類圖模型中,則在對應人類和公司類、公司類和辦公室類之間建立關聯關係。在圖1中最上部存在一個"屬於"/"籤定"關聯:每個"保險單"屬於一個"客戶",而"客戶"可以籤定多個"保險單"。除了這個關聯外,圖1中還有另外兩個關聯,分別表示每個"保險單"包含若干個"保險單上的項目",而每個"保險單上的項目"涉及單一的"保險類別"。
  • 時序圖和類圖的關係
    什麼是時序圖   時序圖(Sequence Diagram),又名序列圖、循序圖、順序圖,是一種UML交互圖。   什麼是類圖   類圖(Class diagram)是顯示了模型的靜態結構,特別是模型中存在的類、類的內部結構以及它們與其他類的關係等。類圖不顯示暫時性的信息。類圖是面向對象建模的主要組成部分。它既用於應用程式的系統分類的一般概念建模,也用於詳細建模,將模型轉換成編程代碼。類圖也可用於數據建模。   時序圖和類圖的關係
  • 怎麼看懂UML中的類圖?
    它的特點是簡單、統一、圖形化、能表達軟體設計中的動態與靜態信息。統一建模語言能為軟體開發的所有階段提供模型化和可視化支持。而且融入了軟體工程領域的新思想、新方法和新技術,使軟體設計人員溝通更簡明,進一步縮短了設計時間,減少開發成本。它的應用領域很寬,不僅適合於一般系統的開發,而且適合於並行與分布式系統的建模。
  • UML精粹 UML類圖全面剖析
    操作可分為恆態操作query和改態操作modifier。區別是他們能夠改變可觀察到的狀態。恆態操作的一個優點是改變恆態操作的執行順序而不改變系統的行為,所以突出恆態操作是有益的,通常的習慣是,使改態操作不帶返回值,這樣,有返回值的就是恆態操作,雖然這樣有時會感到不便。(Meyer的『改態操作-恆態操作分隔原理』)。
  • 淺談UML類圖
    面向對象的編程中,類與類之間關係通俗點講就兩大類關係,一類是我中有你,你中有我的關係,另一類是父與子的關係,個人喜歡將其分為橫向關係和縱向關係,橫向就是依賴和關聯,縱向就是泛化和實現,其中聚合和組合也屬於特殊的關聯關係。
  • 解析UML類圖關係中UML關聯和其他關係的區別和聯繫
    解析UML類圖關係中UML關聯和其他關係的區別和聯繫 在UML類圖關係中,UML關聯,依賴,聚集,組成的聯繫十分緊密,不容易區分,本文試圖用通俗的語言來講解這四種關係的區別。
  • 區分四大UML類圖關係
    區分四大UML類圖關係 UML類圖關係你是否熟悉,本文就向大家簡單介紹一下幾種UML類圖關係的區別,希望通過本文的學習你對這幾種UML類圖關係的特點有一定的認識。
  • 《軟體方法》第8章 分析 之 分析類圖
    對象有標識,這是一個共識,而如何表達對象的標識,這是另一個領域的知識,而且實現規律和核心域知識無關。分析類中不需要主鍵、外鍵屬性。在設計工作流,需要把類圖映射到關係資料庫時,確實需要把"組織"表的主鍵(可能是"編碼"也可能是系統生成的代理主鍵)放在"聯繫人"表中作為外鍵,但正如上文所說,這同樣是另一個領域的知識,而且映射規律和核心域知識無關。
  • 產品經理必學UML:類圖
    本篇文章主要介紹了UML靜態視圖中的類圖,包括類圖的概念、用途及相關元素,供大家一起參考和學習。UML(Unified Modeling Language)又稱統一建模語言或標準建模語言,可以看做用於系統設計階段給開發做參考的一種方式,其中很多圖需要用到面向對象程序的思維。
  • UML實踐--UML用例圖和類圖解析
    UML實踐--UML用例圖和類圖解析 UML統一建模語言相信大家應該有所了解,你對UML實踐是否熟悉,這裡就向大家介紹一下UML實踐中的用例圖和類圖,相信通過本文的介紹你對UML實踐有一定的認識。
  • UML類圖
    在總結設計模式的時候,經常需要通過它們的 UML 圖來更整體的了解設計模式的代碼結構,這篇文章主要就是總結 UML 的一些相關知識定義統一建模語言(英語:Unified Modeling Language,縮寫 UML) 是非專利的第三代建模和規約語言。
  • 專家指導 如何區分UML類圖關係
    專家指導 如何區分UML類圖關係 UML類圖關係中的」關聯關係「、」聚合關係「、」合成關係「和」依賴關係「不是很容易區分清楚,本文就向大家簡單介紹一下這些關係之間的區別。
  • 看懂UML類圖和時序圖
    一起學習、成長、溫情的熱愛生活圖丨pexels這裡不會將UML的各種元素都提到,我只想講講類圖中各個類之間的關係;能看懂類圖中各個類之間的線條、箭頭代表什麼意思後,也就足夠應對日常的工作和交流;同時,我們應該能將類圖所表達的含義和最終的代碼對應起來
  • 深入剖析統一建模語言UML中的五類圖
    深入剖析統一建模語言UML中的五類圖 建模語言有很多種,你熟悉的有哪些呢,這就向大家介紹統一建模語言UML,歡迎對UML感興趣的朋友們一起來關注,希望通過本文的介紹,你對統一建模語言UML內容有清晰的認識。
  • UML:需求分析與設計的利器
    三、UML圖廢話不多說了,開始介紹幾種在需求分析和設計階段會用到的UML圖(在以下的介紹中,我會加入各種UML圖的推薦指數,這個推薦指數是針對於在需求分析與設計階段的一個推薦度)。1. 活動圖(1)什麼是活動圖?活動圖強調從活動到活動的控制流。這裡的活動,可以指企業的活動,也可以指應用程式中的活動。
  • 《吉林省民政廳關於出版地名類圖(冊)監管辦法》
    原標題:吉林省民政廳關於印發《吉林省民政廳關於出版地名類圖(冊)監管辦法》的通知   各市(州)民政局、長白山管委會社會管理辦公室,各縣(市、區)民政局:   現將《吉林省民政廳關於出版地名類圖(冊)監管辦法》。印發給你們,請結合實際,認真抓好貫徹落實。
  • IDEA 還是強大啊,一鍵把項目生成 UML 類圖…
    ,雖然現在有很多UML類圖的優秀軟體,比如ProcessOn(可視化編輯)、draw.io(可視化編輯)、PlantUML(代碼生成),其實看到這裡我就想IDEA中有沒有像PlantUML一樣的自動生成的插件。
  • ATM 系統的用例圖、類圖、順序圖、協作圖、活動圖設計
    類圖 分析:類圖顯示了取款這個用例中各個類之間的關係,由四個類完成:讀卡機、帳目、ATM屏幕和取錢機。類圖中每個類都是用方框表示的,分成三個部分。第一部分是類名;第二部分是類包含的屬性,屬性是類和相關的一些信息,如帳目類包含了三個屬性:帳號、PIN(密碼)和結餘;最後一部分包含類的方法,方法是類提供的一些功能,例如帳目類包含了四個方法:打開、取錢、扣錢和驗錢數。 類之間的連線表示了類之間的通信關係。
  • UML設計的九種圖例及其區別
    UML設計的九種圖例及其區別 UML設計中有九種視圖你是否了解,他們之間有什麼區別和聯繫你是否熟悉,這裡就向大家介紹一下UML設計的9種圖例,相信通過本文的你對UML設計有深入的了解。
  • UML類圖幾種關係的總結
    在UML類圖中,常見的有以下幾種關係:泛化(Generalization), 實現(Realization)