版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第6章靜態(tài)建模16.1靜態(tài)建模概述6.2類圖概述6.3類圖的基本組成6.4類之間的關系6.5對象圖2本章將向讀者詳細介紹基于UML的軟件系統(tǒng)建模中應用類圖和對象圖進行靜態(tài)建模的基本內容。主要包括:靜態(tài)建模概述、類圖概述、識別系統(tǒng)中的類、確認系統(tǒng)中的類、類圖的基本組成,識別和確認類之間的關系,繪制類圖和繪制對象圖等內容。本章的學習要點包括:識別軟件系統(tǒng)中的類;識別軟件系統(tǒng)類之間的關系;在Umbrello2.32中繪制類圖;在Umbrello2.32中繪制對象圖。36.1靜態(tài)建模概述46.1靜態(tài)建模概述5任務1了解靜態(tài)模型的基本功能和基本圖形組成。任務描述
66.1靜態(tài)建模概述由于自然界中存在的事物大都具有類與對象的關系,因此,可以借用自然界中的類與對象的表示方法,在計算機的軟件系統(tǒng)中描述與實現類和對象,從而達到利用面向對象方法在計算機系統(tǒng)中表示事物、處理事物的目的。所謂對象就是可以控制和操作的實體,它可以是一個設備、一個組織或一個商務,如我的本田轎車。類是對象的抽象描述(如車、轎車),它包括屬性的描述和行為的描述兩方面。屬性描述類的基本特征(如車身的長度、顏色等);行為描述類具有的功能(如汽車的啟動、行駛和制動等功能),也就是對指定類的對象可以進行哪些操作。因此,對象是類的實例,所有的操作都是針對對象進行的。由于面向對象的思想與現實世界中的事物的表示方式相似,所以采用面向對象的思想建造模型會給建模者帶來很多好處。UML的靜態(tài)建模就需要借助于類圖和對象圖,使用UML進行靜態(tài)建模,就是通過類圖和對象圖從一個相對靜止的狀態(tài)來分析系統(tǒng)中所包含的類和對象,以及它們之間的關系等。76.2類圖概述類圖是用來描述軟件系統(tǒng)中類以及類之間關系的一種圖示,是從靜態(tài)角度表示系統(tǒng)的。類圖是構建其他圖的基礎。類圖中允許出現的模型元素只有類和類之間的關系。類用長方形表示,長方形分成上、中、下三個區(qū)域,每個區(qū)域用不同的名字標識,用以代表類的各個特征。上面的區(qū)域內標識類的名字,中間的區(qū)域內標識類的屬性,下面的區(qū)域內標識類的操作方法(行為),這三部分作為一個整體描述某個類。當類圖中存在多個類時,類與類之間的關系可以用表示某種關系的連線(如直線、虛線等),把它們連接起來。在面向對象軟件工程領域,通常將類劃分以下三種類型:類圖示例實體類邊界類控制類8在傳統(tǒng)的C/S系統(tǒng)中,實體類、邊界類和控制類沒有嚴格的一一對應關系;在現在流行的設計模式(如MVC模式)中,實體類、邊界類和控制類一一對應。6.3類圖的基本組成96.3類圖的基本組成10任務2閱讀WebShop電子商城系統(tǒng)文檔和用例模型,確定該系統(tǒng)中的類,并繪制類圖。任務描述
116.3類圖的基本組成在基于UML的軟件系統(tǒng)建模過程中,廣泛使用類圖的原因包括以下幾個方面:類圖技術是面向對象方法的核心技術;類圖定義了很多的概念,并提供了豐富的表示法;類圖的表達能力強,應用范圍廣。UML中的類圖由類和類之間的關系組成,類包括類的名稱、屬性和方法。12
6.3.1類的概述類是對一類具有相同特征的對象的描述,類的特征包括屬性和行為,任何對象都是某個類的實例。面向對象思想的核心就是用類的概念來劃分問題中涉及的各種對象,并組織系統(tǒng)的結構。(1)具體類:有自己的具體對象的類稱為具體類。6.3類圖的基本組成(2)抽象類:沒有具體對象的類稱為抽象類。(3)接口:被描述為抽象操作,也就是只用標識(返回值、操作名稱、參數表)說明它的行為,而真正實現部分放在使用該接口的對象中。(4)包:一種組合機制,把各種各樣的模型元素通過內在的語義連在一起成為一個整體。抽象類和具體類示例接口示例13
【任務2-1】確定WebShop電子商城中的類。6.3類圖的基本組成編
號類
名
稱類
說
明1普通管理員(Employees)對WebShop電子商城后臺信息進行管理的管理員2系統(tǒng)管理員(Users)對WebShop電子商城進行系統(tǒng)管理的管理員3購物用戶(Customers)在WebShop電子商城實現購物的用戶4商品(Goods)商品基本信息5商品類別(Types)商品類別信息6訂單(Orders)用戶購物訂單信息7訂單詳情(OrderDetails)用戶購物訂單詳細信息8支付方式(Payments)支付方式9供應商(Supplier)商品的供應商WebShop電子商城中的實體類14
【任務2-1】確定WebShop電子商城中的類。6.3類圖的基本組成編
號類
名
稱類
說
明1注冊頁面購物用戶輸入注冊信息的頁面2登錄頁面購物用戶登錄系統(tǒng)的頁面3個人資料頁面查詢購物用戶的個人資料的頁面4當前訂單頁面查詢購物用戶的當前訂單信息的頁面5歷史訂單頁面查詢購物用戶的歷史訂單信息的頁面6關閉賬號頁面當前登錄的購物用戶關閉自身賬號的頁面7刪除用戶頁面后臺管理員刪除指定的購物用戶賬號的頁面WebShop電子商城中的邊界類(部分)15
【任務2-1】確定WebShop電子商城中的類。6.3類圖的基本組成編
號類
名
稱類
說
明1處理登錄對購物用戶在登錄系統(tǒng)時根據輸入的用戶名和密碼進行處理2處理注冊對購物用戶提交用戶信息后的注冊操作進行處理3查詢個人資料實現查詢購物用戶的個人資料操作4查詢當前訂單實現查詢購物用戶的當前訂單信息操作5查詢歷史訂單實現查詢購物用戶的歷史訂單信息操作6顯示當前賬號實現顯示當前登錄的購物用戶信息操作7處理賬號關閉實現關閉指定的購物用戶賬號信息操作WebShop電子商城中的控制類(部分)16
6.3.2繪制帶屬性的類1.類的名稱類的名稱是一個字符串,是每個類中所必有的構成元素,用于區(qū)別于其他類。通常情況下,類的名稱為一個名詞。2.類的屬性類的屬性是類的一個組成部分,描述了類在軟件系統(tǒng)中所代表的一個事物的特性。在繪制類圖時,類的屬性放在類名字的下方,用來描述該類的對象所具有的特征。6.3類圖的基本組成類的名字和屬性示例17
6.3.2繪制帶屬性的類可見性用于描述類的屬性、類的方法對于其他的類或包是否可以訪問的特性。類的屬性有不同的可見性,常用的有公有(public)、私有(private)和保護(protected)三種類型。6.3類圖的基本組成名
稱可見范圍UML符號Umbrello符號說
明公有(public)類的內部和外部++
私有(private)類的內部--不能被其子類使用保護(protected)類的內部##能被其子類使用屬性的可見性186.3類圖的基本組成【任務2-2】繪制WebShop電子商城中的商品類圖(不含方法)。詳見教學視頻《繪制帶屬性的類》196.3類圖的基本組成按鈕按鈕名稱功能Selection選擇工具Note添加注釋Anchor將圖中的元素與注釋相連Label添加文本標簽Box繪制盒子,將某些元素框在一起Class繪制類Interface繪制接口Datatype繪制數據類型Enum添加枚舉Package繪制包Association添加雙向關聯(lián)關系DirectionalAssociation添加單向關聯(lián)關系Dependency添加依賴關系Generalization添加泛化關系Composition添加組合關系Aggregation添加聚合關系Containment添加包含關系繪制類圖工具欄按鈕20
6.3.3繪制帶操作的類屬性僅僅表示了需要處理的數據,對數據的具體處理方法的描述則放在操作部分。存取或改變屬性值或執(zhí)行某個動作都是操作,操作說明了該類能做些什么工作。操作通常又稱為方法,它是類的一個組成部分,只能作用于該類的對象上。由此可以看出,類將數據和對數據進行處理的函數封裝起來,形成一個完整的整體,這種機制非常符合現實世界問題本身的特性。在類圖中,操作部分位于長方形的底部,一個類可以有多種操作,每種操作由操作名、參數表、返回值類型等幾部分構成。6.3類圖的基本組成216.3類圖的基本組成【任務2-3】繪制WebShop電子商城中的實體類圖(含屬性和方法)。詳見教學視頻《繪制帶操作的類》226.3類圖的基本組成WebShop電子商城實體類圖23(1)討論類圖在軟件系統(tǒng)建模中的重要作用。(2)確定圖書管理系統(tǒng)中的主要類。(3)繪制圖書管理系統(tǒng)的類圖(不含屬性和方法)。(4)在步驟(3)繪制的類圖基礎上添加類的屬性和方法。
1.操作要求
2.操作提示(1)通過學習小組討論和上網查詢資料形式完成。(2)注意類的屬性和方法的可見性的設置。24
6.3.4UML中的類與語言中的類UML中的類可以使用面向對象語言的類結構描述來實現,下面以Java語言為例,描述前臺購物用戶(Customers)類。6.3類圖的基本組成publicclassCustomers{privatestringc_Id;privatestringc_Name;privatestringc_Gender;publicDatec_Birth=newDate();privatestringc_Address;privatestringc_CardID;privateintc_PostCode;privatestringc_Mobile;privateStringc_EMail;privateStringc_PassWord;publicCustomers(){//構造函數:部分初始化工作可在此進行
c_EMail="webshop@163.com";System.out.println("這是Customers類的構造函數");}publicvoidregisterAccount(){}publicvoidloadAccountDetails(){}publicvoidmarkAccountClosed(){}publicvoidqueryAccountDetails(){}publicvoidquerybyauthor(){}publicvoidvalidateAccount(){}}6.4類之間的關系256.4類之間的關系26任務3確定WebShop電子商城系統(tǒng)中的類之間的關系,并在類圖中表現這些關系。任務描述
27軟件系統(tǒng)中的類不是孤立存在的,類和類之間存在著一定的聯(lián)系。UML中的類圖由類和它們之間的關系組成。類與類之間的關系通常包括關聯(lián)(聚合和組合)、泛化(繼承)、實現和依賴四種關系。
本節(jié)詳細介紹這四種關系的含義和圖示方法。6.4類之間的關系28
6.4.1關聯(lián)關系關聯(lián)(Association)關系是一種結構關系,它指明一個對象與另一個對象之間的聯(lián)系。Umbrello類圖中的關聯(lián)關系使用“”表示。關聯(lián)的任何一個連接點都叫做關聯(lián)端,與類有關的許多信息都附在它的端點上。關聯(lián)關系一般都是雙向的,即關聯(lián)的對象雙方彼此都能與對方通信。反過來說,如果某兩個類的對象之間存在可以互相通信的關系,或者說對象雙方能夠感知另一方,那么這兩個類之間就存在關聯(lián)關系。6.4類之間的關系普通關聯(lián)關系的示例publicclassReader{privateCardcard;publicvoidgetCard(){……}}29
6.4.1關聯(lián)關系在UML中,多重性被表示為用“..”分隔開的區(qū)間,其格式為“minimum..maximum”,其中minimum和maximum都是整數。在關聯(lián)關系中,一個端點的多重性表示該端點可以有多少個對象與另一個端點的一個對象關系。6.4類之間的關系常見的多重性表示方法表示方式多重性說明1..1表示另一個類的一個對象只與該類的一個對象有關系0..*表示另一個類的一個對象與該類的零個或多個對象有關系1..*表示另一個類的一個對象與該類的一個或多個對象有關系0..1表示另一個類的一個對象沒有或只與該類的一個對象有關系m..n表示另一個類的一個對象與該類最少m,最多n個對象有關系(m≤n)30
6.4.1關聯(lián)關系6.4類之間的關系人可以擁有零到多輛汽車,汽車可以被1到多個人擁有人可以擁有零到多輛汽車【任務3-1】在Umbrello2.32中繪制“關聯(lián)關系”。詳見教學視頻《繪制關聯(lián)關系》31
6.4.2聚合關系聚合(Aggregation)是關聯(lián)的特例。如果類與類之間的關系具有“整體與部分”的特點,則把這樣的關聯(lián)稱為聚合。聚合關系描述了“hasa”的關系。例如,汽車由四個輪子、發(fā)動機等構成,則汽車類與輪子類、發(fā)動機類之間的關系就具有“整體與部分”的特點,即聚合關系。
在UML中聚合的圖示方式為“”,在表示關聯(lián)關系的直線末端加一個空心的小菱形,空心菱形緊挨著具有整體性質的類。聚合關系中也可以出現重數、角色(僅用于表示部分的類)和限定詞,也可以給聚合關系命名。6.4類之間的關系聚合關系的示例publicclassGoods{privateTypestype;publicTypesgetType(){…}}32
6.4.2聚合關系6.4類之間的關系【任務3-2】在Umbrello2.32中繪制“聚合關系”。詳見教學視頻《繪制聚合關系》33
6.4.3組合關系組合(Composition)關系是聚合關系中的復合聚合。組合是由聚合演變而來。如果構成整體類的部分類完全隸屬于整體類,則這樣的聚合稱為復合聚合或組合。換句話說,如果沒有整體類則部分類也沒有存在的價值,部分類的存在是因為有整體類的存在而存在的。在組合關系中,整體方的重數必須是零或1(0..1),部分方的重數可取任意范圍值。組合關系是一個樹狀結構的關聯(lián)關系。組合關系圖示為一個帶實心菱形的直線“”,實心菱形緊挨著表示整體方的類。6.4類之間的關系組合關系的示例publicclassFrame{privateMenumainmenu;privateListlist;privateButtonbutton;
publicFrame(){……}}34
6.4.3組合關系6.4類之間的關系【任務3-3】在Umbrello2.32中繪制“組合關系”。詳見教學視頻《繪制組合關系》35
6.4.4泛化關系泛化(Generalization)表示一個泛化的元素和一個具體的元素之間的關系。泛化是用于對繼承進行建模的UML元素。泛化關系是一種存在于一般元素和特殊元素的分類關系,描述的是“isakindof”關系。
泛化可用于類、用例等各種模型元素。父類與子類的泛化關系圖示為一個帶空心三角形的直線“”,空心三角形緊挨著父類。6.4類之間的關系泛化關系的示例publicclassAdmin{protectedstringname;protectedstringpass;}publicclassSysAdminextendsAdmin{publicSysAdmin(){…}}36
6.4.4泛化關系6.4類之間的關系在Umbrello2.32中繪制“泛化關系”。詳見教學視頻《繪制泛化關系》37父類中的屬性和操作又稱做成員,不同可見性的成員在子類中用法不同;父類中公有的成員在被繼承的子類中仍然是公有的,而且可以在子類中隨意使用;父類中的私有成員在子類中也是私有的,但是子類的對象不能存取父類中的私有成員;一個類中的私有成員都不允許外界元素對其做任何操作,這就達到了保護數據的目的;如果既需要保護父類的成員(相當于私有的),又需要讓其子類也能存取父類的成員,那么父類的成員的可見性應設為保護的,擁有保護可見性的成員只能被具有繼承關系的類存取和操作;泛化針對類型,而不針對實例,即只能是一個類繼承另一個類,而不是一個對象繼承另一個對象。38
6.4.5實現關系實現(Realization)關系指定接口與子類之間的一種契約。換言之,一個接口定義一系列契約,而另一個實體類保證履行該契約。實現是規(guī)格說明和其實現之間的關系,它將一種模型元素與另一種元素連接起來。實現關系通常在兩種情況下被使用:在接口與實現該接口的類之間;在用例以及實現該用例的協(xié)作之間。在Umbrello中并沒有直接標注實現關系的圖示,實現關系的符號與泛化關系的符號類似,用一條帶指向接口的空心三角箭頭的虛線表示。當在接口與實現該接口的類之間使用泛化關系圖示“”時,它被自動轉化為實現關系圖示“”。6.4類之間的關系實現關系的示例publicinterfacePerson{…}publicclassAdministratorimplementsPerson{…}39
6.4.5實現關系6.4類之間的關系在Umbrello2.32中繪制“實現關系”。詳見教學視頻《繪制實現關系》40泛化關系和實現關系都可以將一般描述與具體描述聯(lián)系起來;泛化關系將同一語義層上的元素連接起來,并且通常在同一模型內;實現關系將不同語義層內的元素連接起來,通常建立在不同的模型內。41
6.4.6依賴關系實體之間一個用“使用”關系暗示一個實體的規(guī)范發(fā)生變化后,可能影響依賴于該實體它的其他實例。更具體地說,它可轉換為對不在實例作用域內的一個類或對象的任何類型的引用。也可利用“依賴”(Dependency)來表示包和包之間的關系。由于包中含有類,所以可以根據那些包中的各個類之間的關系,表示出包和包的關系。
依賴關系描述的是多個模型元素(類、用例等)之間的語義上的連接關系。其中,一個模型元素是獨立的,另一個模型元素是非獨立的(依賴的),它依賴于獨立的模型元素,如果獨立的模型元素發(fā)生改變,將會影響依賴該模型元素的模型元素。關聯(lián)、實現和泛化都是依賴關系。6.4類之間的關系實現關系的示例publicclassReaderType{publicvoidcalculateFine(ReaderTypert){}}42
6.4.6依賴關系6.4類之間的關系【任務3-4】在Umbrello2.32中繪制“依賴關系”。詳見教學視頻《繪制依賴關系》43(1)分析并確定圖書管理系統(tǒng)中的類之間的關系。(2)在【課堂實踐2】繪制的圖書管理系統(tǒng)的類圖基礎上添加類之間的關系。
1.操作要求
2.操作提示
(1)通過學習小組討論和上網查詢資料形式完成。(2)根據類間關系的定義,確定類之間的關系。6.5對象圖44456.5對象圖任務4確定并繪制WebShop電子商城系統(tǒng)中的對象圖。任務描述
46
6.5.1對象圖概述類圖表示類和類與類之間的關系,對象圖則表示在某一時刻這些類的具體實例和這些實例之間的具體連接關系。由于對象是類的實例,所以,UML對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度人工智能技術應用合同模板
- 深度解析如何構建成功的電子商務平臺-包括從戰(zhàn)略到執(zhí)行的全過程
- 2025年度有機蔬菜種子批發(fā)與種植技術支持合同
- 2025年度新型材料門窗研發(fā)與推廣合作協(xié)議
- 2025年度新能源設備采購與代理銷售服務協(xié)議
- 班級環(huán)境衛(wèi)生的教育意義與價值
- 未來教育的云時代云技術如何重塑教育
- 電商行業(yè)的技術創(chuàng)新與商業(yè)模式變革
- 老人與海讀書心得(15篇)
- 現代團隊中績效考核的核心價值
- Bankart損傷的診療進展培訓課件
- 護理部用藥安全質量評價標準
- 校園信息化設備管理檢查表
- 新版抗拔樁裂縫及強度驗算計算表格(自動版)
- API SPEC 5DP-2020鉆桿規(guī)范
- 創(chuàng)新思維課件(完整版)
- DB34∕T 4161-2022 全過程工程咨詢服務管理規(guī)程
- 部編版小學生語文教師:統(tǒng)編版語文1-6年級語文要素梳理
- 注塑成型工藝參數知識講解
- 安全生產專業(yè)化管理
- 初中生成長檔案模板
評論
0/150
提交評論