電子商務(wù)系統(tǒng)分析與設(shè)計0302-UML-類圖概述_第1頁
電子商務(wù)系統(tǒng)分析與設(shè)計0302-UML-類圖概述_第2頁
電子商務(wù)系統(tǒng)分析與設(shè)計0302-UML-類圖概述_第3頁
電子商務(wù)系統(tǒng)分析與設(shè)計0302-UML-類圖概述_第4頁
電子商務(wù)系統(tǒng)分析與設(shè)計0302-UML-類圖概述_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、用例圖的作用?00:401回顧用例圖是需求分析中的產(chǎn)物,主要作用是描述參與者和用例之間的關(guān)系,幫助開發(fā)人員可視化地了解系統(tǒng)的功能。借助于用例圖,系統(tǒng)用戶、系統(tǒng)分析人員、系統(tǒng)設(shè)計人員、領(lǐng)域?qū)<夷軌蛞钥梢暬姆绞綄栴}進行探討,減少了大量交流上的障礙,便于對問題達成共識。 UML-類圖能夠通過分析用例和問題域得到相關(guān)的類能夠根據(jù)需求對各種概念和系統(tǒng)內(nèi)部概念進行的建模00:403能力目標(biāo)00:404目錄實例練習(xí)4.類與類之間的關(guān)系3.類圖的組成2.類圖概述1.00:405以小組為單位討論后,用直線連接以下圖形且說明00:406小組討論&操作00:4071.1 類圖基本概念00:4081 類圖概述 不

2、同的實體(人、事物和數(shù)據(jù))如何彼此相關(guān)聯(lián)的包含了類的屬性和操作也包含了他們之間的關(guān)系這種描述在系統(tǒng)的整個生命周期中都是有效的類圖展示了系統(tǒng)的靜態(tài)結(jié)構(gòu)1.2 類圖和對象圖00:409類圖中一共包含以下幾種模型元素:類(Class)、接口(Interface)、依賴關(guān)系(Dependecy)、泛化關(guān)系(Generalization)、關(guān)聯(lián)關(guān)系(Association)以及實現(xiàn)關(guān)系(Realization)對象圖中包含:對象(Object)和鏈(Link),對象是類的特定實例,鏈?zhǔn)穷愔g的關(guān)系實例2.1 類(Class)具有相同結(jié)構(gòu)、行為和關(guān)系的一組對象的描述符號,類封裝了數(shù)據(jù)和行為,是面向?qū)ο蟮闹?/p>

3、要組成部分,它是具有相同屬性、操作、關(guān)系的對象集合的總稱。00:40102 類圖的組成職責(zé)指的是類要完成什么樣的功能,要承擔(dān)什么樣的義務(wù)職責(zé)分解成為類的屬性和操作(即方法)。類的屬性即類的數(shù)據(jù)職責(zé),類的操作即類的行為職責(zé)職責(zé)2.2 類的分類00:40111實體類:實體類對應(yīng)系統(tǒng)需求中的每個實體,它們通常需要保存在永久存儲體中,一般使用數(shù)據(jù)庫表或文件來記錄,實體類既包括存儲和傳遞數(shù)據(jù)的類,還包括操作數(shù)據(jù)的類。實體類來源于需求說明中的名詞,如學(xué)生、商品等。2控制類:控制類用于體現(xiàn)應(yīng)用程序的執(zhí)行邏輯,提供相應(yīng)的業(yè)務(wù)操作,將控制類抽象出來可以降低界面和數(shù)據(jù)庫之間的耦合度??刂祁愐话闶怯蓜淤e結(jié)構(gòu)的短語(

4、動詞+名詞)轉(zhuǎn)化來的名詞,如增加商品對應(yīng)有一個商品增加類3邊界類:邊界類用于對外部用戶與系統(tǒng)之間的交互對象進行抽象,主要包括界面類,如對話框、窗口、菜單等。2.3類的UML圖示在UML中,類使用包含類名、屬性和操作且?guī)в蟹指艟€的長方形來表示,如定義一個Employee類,它包含屬性name、age和email,以及操作modifyInfo(),在UML類圖中該類如圖所示:publicclassEmployee privateStringname; privateintage; privateStringemail; publicvoidmodifyInfo() . 00:40122.4 類的組

5、成00:4013ClassName類名:每個類都必須有一個名字,類名是一個字符串Attributes屬性:屬性是指類的性質(zhì),即類的成員變量Operations操作:是類的任意一個實例對象都可以使用的行為,是類的成員方法屬性和操作的”可見性“對于類外的元素而言是否可見publicprivate表示公有的,用加號表示“+”表示私有的,用減號表示“-”protected表示受保護的,用井號表示“#”可見性 名稱:類型 = 缺省值 可見性 名稱(參數(shù)列表) : 返回類型在現(xiàn)實世界中,萬物皆有聯(lián)系,在軟件系統(tǒng)中,類也不是孤立存在的,類與類之間存在各種關(guān)系,對于不同類型的關(guān)系,UML提供了不同的表示方式0

6、0:40143 類與類之間的關(guān)系依賴Dependency泛化Generalization關(guān)聯(lián)單向關(guān)聯(lián)、雙向關(guān)聯(lián)、自關(guān)聯(lián)、聚合關(guān)系、組合關(guān)系實現(xiàn)Realization3.1 關(guān)聯(lián)關(guān)系關(guān)聯(lián)(Association)關(guān)系是類與類之間最常用的一種關(guān)系,它是一種結(jié)構(gòu)化關(guān)系,用于表示一類對象與另一類對象之間有聯(lián)系,如汽車和輪胎、師傅和徒弟、班級和學(xué)生等等如在一個登錄界面類LoginForm中包含一個JButton類型的注冊按鈕loginButton,它們之間可以表示為關(guān)聯(lián)關(guān)系,代碼實現(xiàn)時可以在LoginForm中定義一個名為loginButton的屬性對象,其類型為JButton。public class

7、 LoginForm private JButton loginButton; /定義為成員變量 public class JButton 00:40153.1.1 雙向關(guān)聯(lián)默認(rèn)情況下,關(guān)聯(lián)是雙向的。例如:顧客(Customer)購買商品(Product)并擁有商品,反之,賣出的商品總有某個顧客與之相關(guān)聯(lián)。因此,Customer類和Product類之間具有雙向關(guān)聯(lián)關(guān)系public class Customer private Product products;public class Product private Customer customer;00:40163.1.2 單向關(guān)聯(lián)類的關(guān)聯(lián)

8、關(guān)系也可以是單向的,單向關(guān)聯(lián)用帶箭頭的實線表示。例如:顧客(Customer)擁有地址(Address),則Customer類與Address類具有單向關(guān)聯(lián)關(guān)系public class Customer private Address address; public class Address 00:40173.1.3 自關(guān)聯(lián)在系統(tǒng)中可能會存在一些類的屬性對象類型為該類本身,這種特殊的關(guān)聯(lián)關(guān)系稱為自關(guān)聯(lián)。例如:一個節(jié)點類(Node)的成員又是節(jié)點Node類型的對象 public class Node private Node subNode; 00:40183.1.4 多重性關(guān)聯(lián)多重性關(guān)聯(lián)關(guān)系

9、又稱為重數(shù)性(Multiplicity)關(guān)聯(lián)關(guān)系,表示兩個關(guān)聯(lián)對象在數(shù)量上的對應(yīng)關(guān)系。在UML中,對象之間的多重性可以直接在關(guān)聯(lián)直線上用一個數(shù)字或一個數(shù)字范圍表示。00:4019例如:一個界面(Form)可以擁有零個或多個按鈕(Button),但是一個按鈕只能屬于一個界面,因此,一個Form類的對象可以與零個或多個Button類的對象相關(guān)聯(lián),但一個Button類的對象只能與一個Form類的對象關(guān)聯(lián)。 public class Form private Button buttons; /定義一個集合對象 public class Button 00:40203.1.5 聚合關(guān)系聚合(Aggreg

10、ation)關(guān)系表示整體與部分的關(guān)系。在聚合關(guān)系中,成員對象是整體對象的一部分,但是成員對象可以脫離整體對象獨立存在。在UML中,聚合關(guān)系用帶空心菱形的直線表示。例如:汽車發(fā)動機(Engine)是汽車(Car)的組成部分,但是汽車發(fā)動機可以獨立存在,因此,汽車和發(fā)動機是聚合關(guān)系00:40213.1.6 組合關(guān)系組合(Composition)關(guān)系也表示類之間整體和部分的關(guān)系,但是在組合關(guān)系中整體對象可以控制成員對象的生命周期,一旦整體對象不存在,成員對象也將不存在,成員對象與整體對象之間具有同生共死的關(guān)系。在UML中,組合關(guān)系用帶實心菱形的直線表示。例如:人的頭(Head)與嘴巴(Mouth),

11、嘴巴是頭的組成部分之一,而且如果頭沒了,嘴巴也就沒了,因此頭和嘴巴是組合關(guān)系,如圖00:40223.2 依賴關(guān)系依賴(Dependency)關(guān)系是一種使用關(guān)系,特定事物的改變有可能會影響到使用該事物的其他事物,在需要表示一個事物使用另一個事物時使用依賴關(guān)系。在UML中,依賴關(guān)系用帶箭頭的虛線表示,由依賴的一方指向被依賴的一方。例如:駕駛員開車,在Driver類的drive()方法中將Car類型的對象car作為一個參數(shù)傳遞,以便在drive()方法中能夠調(diào)用car的move()方法,且駕駛員的drive()方法依賴車的move()方法,因此類Driver依賴類Car,如圖00:40233.3 泛

12、化關(guān)系泛化(Generalization)關(guān)系也就是繼承關(guān)系,用于描述父類與子類之間的關(guān)系,父類又稱作基類或超類,子類又稱作派生類。00:4024對應(yīng)的Java代碼片段:public class Personprotected String name; protected int age;public void move() public void say() public class Student extends Person private String studentNo;public void study() public class Teacher extends Person p

13、rivate String teacherNo;public void teach() 00:40253.4 接口與實現(xiàn)關(guān)系在很多面向?qū)ο笳Z言中都引入了接口的概念,如Java、C#等,在接口中,通常沒有屬性,而且所有的操作都是抽象的,只有操作的聲明,沒有操作的實現(xiàn)。UML中用與類的表示法類似的方式表示接口,如圖00:4026接口之間也可以有與類之間關(guān)系類似的繼承關(guān)系和依賴關(guān)系,但是接口和類之間還存在一種實現(xiàn)(Realization)關(guān)系,在這種關(guān)系中,類實現(xiàn)了接口,類中的操作實現(xiàn)了接口中所聲明的操作。例如:定義了一個交通工具接口Vehicle,包含一個抽象操作move(),在類Ship和類Ca

14、r中都實現(xiàn)了該move()操作,不過具體的實現(xiàn)細(xì)節(jié)將會不一樣00:4027對應(yīng)的Java代碼片段如下 public interface Vehicle public void move(); public class Ship implements Vehicle public void move() public class Car implements Vehicle public void move() 00:4028一張圖總結(jié)出所有關(guān)系00:4029根據(jù)以下類,請繪制出類圖:車、輪胎、發(fā)動機、小汽車、自行車、學(xué)生、班級、身份證、suv、嘴巴00:4030(1)以“遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng)”為例,在該系統(tǒng)中參與者為學(xué)生、教師和系統(tǒng)管理員:學(xué)生包括登錄名稱、登錄密碼、學(xué)生編號、性別、年齡、班級、年級、郵箱等屬性;教師包括登錄名稱、登錄密碼、姓名、性別、教授課程、電話號碼和郵箱等屬性;系統(tǒng)管理員包括用戶名系統(tǒng)管

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論