




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、面向?qū)ο蟮姆治鼋㈧o態(tài)結(jié)構(gòu)模型(類圖)建立靜態(tài)結(jié)構(gòu)模型(類圖)面向?qū)ο蟮姆治龇治鰳I(yè)務(wù)領(lǐng)域,找出問題解決方案,發(fā)現(xiàn)對象,分析對象的內(nèi)部構(gòu)成和外部關(guān)系,建立軟件系統(tǒng)的對象模型。著重分析業(yè)務(wù)領(lǐng)域和系統(tǒng)責(zé)任,建立獨(dú)立于實現(xiàn)的OOA模型,暫時忽略與系統(tǒng)實現(xiàn)有關(guān)的問題。主要使用5種圖描述完整的系統(tǒng)需求: 用例圖 類圖 時序圖 協(xié)作圖 狀態(tài)圖面向?qū)ο蟮姆治瞿P?功能模型:功能模型:從用戶的角度獲取功能需求,由用例模型表示(已在上堂課學(xué)習(xí)過); 靜態(tài)結(jié)構(gòu)模型靜態(tài)結(jié)構(gòu)模型(分析對象模型):描述系統(tǒng)的概念實體,由類圖表示; 動態(tài)行為模型動態(tài)行為模型:描述對象之間的交互行為,由狀態(tài)圖和順序圖表示。面向?qū)ο蟮姆治瞿P?/p>
2、面向?qū)ο蟮姆治瞿P兔嫦驅(qū)ο蠓治龅倪^程 第一階段:業(yè)務(wù)領(lǐng)域分析 分析應(yīng)用領(lǐng)域的業(yè)務(wù)范圍、業(yè)務(wù)規(guī)則和業(yè)務(wù)處理過程,確定系統(tǒng)的責(zé)任、范圍和邊界,確定系統(tǒng)的需求。 在分析中需要著重對系統(tǒng)與外部的用戶和其他系統(tǒng)的交互進(jìn)行分析,確定交互的內(nèi)容、步驟和順序。用例模型第二階段:發(fā)現(xiàn)和定義對象和類第二階段:發(fā)現(xiàn)和定義對象和類 識別對象和類,確定它們的內(nèi)部特征:屬性與服務(wù)操作。 這是一個從現(xiàn)實世界到概念模型的抽象過程,而抽象是面向?qū)ο蠓治龅幕驹瓌t。第三階段:識別對象的外部聯(lián)系第三階段:識別對象的外部聯(lián)系 在發(fā)現(xiàn)和定義對象和類的過程中,需要同時識別對象與對象、類與類之間的各種外部聯(lián)系,如一般與特殊、整體與部分、實
3、例連接(關(guān)聯(lián))、消息連接等聯(lián)系。 對象和類是現(xiàn)實世界中的事物的抽象,它們之間的聯(lián)系也要從分析現(xiàn)實世界事物的各種真實的聯(lián)系中獲得。第四階段:建立系統(tǒng)的靜態(tài)結(jié)構(gòu)模型第四階段:建立系統(tǒng)的靜態(tài)結(jié)構(gòu)模型 分析系統(tǒng)的行為,建立系統(tǒng)的靜態(tài)結(jié)構(gòu)模型,并將其用圖形和文字說明表示出來,如繪制類圖、對象圖、系統(tǒng)與子系統(tǒng)結(jié)構(gòu)圖等,編制相應(yīng)的說明文檔。第五階段:建立系統(tǒng)的動態(tài)行為模型第五階段:建立系統(tǒng)的動態(tài)行為模型 分析系統(tǒng)的行為,建立系統(tǒng)的動態(tài)行為模型,并將其用圖形和文字說明表示出來,如繪制用例圖、交互圖、活動圖、狀態(tài)圖等,編制相應(yīng)的說明文檔。建立靜態(tài)結(jié)構(gòu)模型基本的分析過程: Step 1:從用例模型入手,識別概念類
4、; Step 2:描述各個類的屬性; Step 3:定義各個類的操作; Step 4:建立類之間的關(guān)系; Step 5:繪制類圖(class diagram)識別概念類如何從用戶的需求陳述中找到“概念類概念類”? 名詞驅(qū)動的識別方法名詞驅(qū)動的識別方法 對用戶需求陳述進(jìn)行“語法分析”,找出所有的名詞或名詞短語,對其標(biāo)注下劃線; 合并同義詞; 將最終得到的每一個名詞映射為一個類; 動詞映射為類的操作,形容詞/名詞映射為類的屬性。借書用例借書用例描述借書用例描述用例描述如下:1圖書管理員將讀者借書卡提供給系統(tǒng);2系統(tǒng)驗證讀者身份和借書條件;3圖書管理員將讀者所借圖書輸入系統(tǒng);4系統(tǒng)記錄借書信息,并且
5、修改圖書的狀態(tài)和此種書的可借數(shù)量;5系統(tǒng)修改讀者的可用限額;6重復(fù)3-5,直到圖書管理員確認(rèn)全部圖書登記完畢;7系統(tǒng)打印借書清單,交易成功完成。借書用例描述借書用例描述用例描述如下:1圖書管理員將讀者借書卡提供給系統(tǒng);2系統(tǒng)驗證讀者身份和借書條件;3圖書管理員將讀者所借圖書輸入系統(tǒng);4系統(tǒng)記錄借書信息,并且修改圖書的狀態(tài)和此種書的可借數(shù)量;5系統(tǒng)修改讀者的可用限額;6重復(fù)3-5,直到圖書管理員確認(rèn)全部圖書登記完畢;7系統(tǒng)打印借書清單,交易成功完成。圖書館系統(tǒng)的對象名詞類別名詞類別概念類列表概念類列表顯而易見的對象顯而易見的對象讀者讀者 借書卡借書卡 圖書圖書 借書信息借書信息 借書清單借書清單
6、明顯無意義的對象明顯無意義的對象讀者身份讀者身份不確定類別的對象不確定類別的對象借書條件借書條件 圖書狀態(tài)圖書狀態(tài) 可借數(shù)量可借數(shù)量 可用限額可用限額圖書狀態(tài)總是和具體的圖書聯(lián)系在一起,不是一個獨(dú)立的對象。同理,借書數(shù)量、可用限額是讀者屬性。可借數(shù)量是某個圖書品種的特性,每本圖書歸屬于一個圖書品種,圖書品種是一個隱含概念借書條件是一種規(guī)則,可以作為對象嗎?練習(xí)閱讀用例描述,找出概念類用例名:購買商品用例名:購買商品參與者:出納員參與者:出納員描述:顧客帶著所要購買的商品來到收款處。出納員記錄下商品信息描述:顧客帶著所要購買的商品來到收款處。出納員記錄下商品信息并收款。付款完成后,顧客帶著所購買
7、的商品和收據(jù)離開。并收款。付款完成后,顧客帶著所購買的商品和收據(jù)離開。練習(xí)閱讀用例描述,找出概念類用例名:購買商品用例名:購買商品參與者:出納員參與者:出納員描述:描述:顧客顧客帶著所要購買的帶著所要購買的商品商品來到來到收款處收款處。出納員出納員記錄下記錄下商品信息商品信息并收款。付款完成后,顧客帶著所購買的商品和并收款。付款完成后,顧客帶著所購買的商品和收據(jù)收據(jù)離開。離開。明顯無意義的對象明顯無意義的對象: :收款處收款處用例名稱:預(yù)定房間涉及的參與者:酒店前臺正常事件流:1) 前臺人員向系統(tǒng)提供需要預(yù)定房間的類型、時間和預(yù)定天數(shù)。2) 系統(tǒng)確認(rèn)有相應(yīng)檔次的空閑房間,并計算出總費(fèi)用和定金。
8、3) 前臺人員向系統(tǒng)提供旅客信息(姓名、地址、聯(lián)系電話、證件號等)。4) 系統(tǒng)記錄旅客信息。5) 前臺人員確認(rèn)已經(jīng)交納定金。6) 系統(tǒng)記錄房間已經(jīng)預(yù)定,工作完成。用例名稱:預(yù)定房間涉及的參與者:酒店前臺正常事件流:1) 前臺人員向系統(tǒng)提供需要預(yù)定房間的類型、時間和預(yù)定天數(shù)。2) 系統(tǒng)確認(rèn)有相應(yīng)檔次的空閑房間,并計算出總費(fèi)用和定金。3) 前臺人員向系統(tǒng)提供旅客信息(姓名、地址、聯(lián)系電話、證件號等)。4) 系統(tǒng)記錄旅客信息。5) 前臺人員確認(rèn)已經(jīng)交納定金。6) 系統(tǒng)記錄房間已經(jīng)預(yù)定,工作完成。不同類別的概念人員:系統(tǒng)需要保存或管理其信息的人員(如錄像商店的會員、圖書館的讀者),或在系統(tǒng)中中扮演一定
9、角色的人員(如錄像商店的職員、論文評閱教師)。組織:在系統(tǒng)中發(fā)揮一定作用的組織機(jī)構(gòu)(如錄像商店的連鎖店,醫(yī)療保險系統(tǒng)中的醫(yī)院,學(xué)校中的系)。物品:需要由系統(tǒng)管理的各種物品(如錄像商店的商品、圖書),包括無形事物(如學(xué)校的一門課程、畢設(shè)題目)。設(shè)備:在系統(tǒng)中被使用或由系統(tǒng)進(jìn)行監(jiān)控的設(shè)備、儀器等,系統(tǒng)運(yùn)行中的硬件設(shè)備(如打印機(jī))除外。事件:需要由系統(tǒng)長期記憶的事件(如在自動柜員機(jī)上的每次取款事件、每次借書事件)。不同類別的概念(續(xù))規(guī)格說明:系統(tǒng)中關(guān)于對象的規(guī)格信息的描述。 如圖書品種,每種圖書有一個唯一的館藏號,同時該圖書還包含一些描述信息,如書號、價格、作者、出版社等,多本圖書對象共用這些規(guī)格
10、說明。這是一種經(jīng)過了抽象的概念,應(yīng)該識別為概念類。業(yè)務(wù)規(guī)則或政策:系統(tǒng)中經(jīng)常使用的業(yè)務(wù)規(guī)則或政策的文字描述。 業(yè)務(wù)規(guī)則通常會在用例文檔之外以其他條款說明。如圖書館系統(tǒng)中,對不同違規(guī)行為指定不同的罰款金額,商店對不同顧客或產(chǎn)品有不同的折扣策略等。如果這些規(guī)則無法并入到其他對象中,則可以作為概念類建立。 通常規(guī)則可能僅有屬性,或者僅有操作,比如折扣策略可能是一個純粹的計算類。圖書館系統(tǒng)的概念類所屬類目所屬類目概念類舉例概念類舉例人員人員讀者 圖書管理員組織組織暫無物品物品圖書 借書卡 書目 借書清單設(shè)備設(shè)備暫無事件事件借書 還書 逾期規(guī)格說明規(guī)格說明圖書品種 政策或規(guī)則政策或規(guī)則罰款細(xì)則圖書館系統(tǒng)
11、的第1張類圖罰款細(xì)則讀者借書記錄圖書圖書目錄圖書品種逾期記錄圖書管理員Step 2:識別屬性屬性是描述對象靜態(tài)特征的一個數(shù)據(jù)項。發(fā)現(xiàn)屬性的策略: 如何為對象做一般性的描述?比如人,一般的描述信息有姓名、性別、出生日期、身高、體重等。 在當(dāng)前問題域,對象還具備那些特定描述項?比如人作為門診系統(tǒng)的患者,還需要考慮血型、藥物過敏、家族病史等。 對象的責(zé)任是什么?在系統(tǒng)中對象還需要了解或提供哪些信息?比如圖書館要實現(xiàn)催還功能,與該責(zé)任相關(guān)的就需要為書籍或借書事項定義借書日期和期限。 對象可能處于什么狀態(tài)?對象的狀態(tài)不同,則可能執(zhí)行的操作也不同。比如出租物品就有在庫、出租、維修三個狀態(tài)。 屬性的表示借書
12、記錄borrowDate:DatereturnDate:Date屬性的有關(guān)說明:屬性的名稱和解釋:有些屬性只適用于該問題域,是專業(yè)術(shù)語,晦澀難懂;有些常用詞語在特定環(huán)境下字面的含義有所修改,為了提高清晰度,需要對這些屬性進(jìn)行定義。屬性的數(shù)據(jù)類型:分析時使用簡單類型,如整數(shù)、實數(shù)、字符串、日期、數(shù)組、布爾等,分析階段因為不考慮技術(shù)實現(xiàn),所以不需要考慮具體語言能支持的數(shù)據(jù)類型。其他要求:如取值范圍、缺省值等。 定義領(lǐng)域類屬性的原則僅定義與系統(tǒng)責(zé)任和系統(tǒng)目標(biāo)有關(guān)的屬性。使用簡單數(shù)據(jù)類型來定義屬性。如數(shù)字、字符串、日期、布爾、文本等。還包含多種特征或規(guī)則的數(shù)據(jù),可考慮作為獨(dú)立的對象類。一般不使用可導(dǎo)出
13、的屬性。( 出生年月年齡)不為對象關(guān)聯(lián)定義屬性。屬性只用于體現(xiàn)對象本身的內(nèi)在性質(zhì),關(guān)聯(lián)屬性來實現(xiàn),但那是設(shè)計階段的問題,應(yīng)推遲考慮。如畢業(yè)設(shè)計題目與教師和學(xué)生存在關(guān)聯(lián),但題目中不應(yīng)定義“教師姓名”、“學(xué)號”之類的屬性。圖書館系統(tǒng)的第2張類圖 讀者 姓名 身份證號 借書卡號 借書限額 可用限額 圖書 館藏流水號 狀態(tài) 圖書目錄 借書記錄 借書日期 歸還日期 逾期記錄 逾期天數(shù) 罰款細(xì)則 圖書管理員 職工號 姓名 圖書品種 書名 國際書號 作者 出版社 出版日期 簡介 價格 館藏數(shù)量 可借數(shù)量 Step 4:建立類之間的關(guān)系 五種關(guān)系: 泛化(generalization) 關(guān)聯(lián)(associat
14、ion) 組合(composition) 聚合(aggregation) 依賴(dependency)銷售項Sale銷售項條目SalesLineItem包含11.*關(guān)聯(lián)名稱多重性描述關(guān)聯(lián)的要素關(guān)聯(lián)名稱關(guān)聯(lián)名稱對象在關(guān)聯(lián)中的角色對象在關(guān)聯(lián)中的角色多重性多重性導(dǎo)向性導(dǎo)向性1、關(guān)聯(lián)名稱多數(shù)關(guān)聯(lián)是二元的(即只存在于兩個類的實例之間),在圖中表示為連接兩個類符號的實線路徑。使用關(guān)聯(lián)名稱,應(yīng)該反映該關(guān)系的目的,并且應(yīng)該是一個動詞詞組。 比如教師對象和課程對象的關(guān)聯(lián)名稱就是“講授”,醫(yī)生和處方單的關(guān)系是“書寫處方”。關(guān)聯(lián)名稱應(yīng)放置在關(guān)聯(lián)路徑上或其附近。圖書讀者借閱2、關(guān)聯(lián)角色(Role)關(guān)聯(lián)所聯(lián)系的每一端叫
15、做一個角色角色名稱應(yīng)該是一個名詞,能夠表達(dá)被關(guān)聯(lián)對象在關(guān)聯(lián)中所充當(dāng)?shù)慕巧?,角色名稱緊鄰關(guān)聯(lián)線的末端。 貸款客戶客戶0.1 擔(dān)保人貸款人 11*3、關(guān)聯(lián)的多重性(Multiplicity) 定義了一個類A的實例在一段特定的時間內(nèi)能夠和多少個類B的實例發(fā)生關(guān)聯(lián)。借書記錄*一個讀者可以有0個或多個借書記錄圖書1.*一個圖書品種館藏1本或多本圖書處方條目1.6一個處方可以開出1個到6個處方條目足球隊員11一個足球隊正好由11個隊員組成借書記錄0.1一本圖書可以有0個或1個借書記錄4、關(guān)聯(lián)的導(dǎo)向性(Navigability)角色的導(dǎo)向性特征表示可以通過關(guān)聯(lián)從源類導(dǎo)向到目標(biāo)類上。也就是說給定關(guān)聯(lián)一端的對象
16、就能夠容易并直接地得到另一端的對象。識別關(guān)聯(lián)的導(dǎo)向可以推遲,與設(shè)計實現(xiàn)有關(guān)。通常是源對象存儲了對目標(biāo)對象的一些引用讀者Reader借書記錄Loan1 登記 1.*導(dǎo)航箭頭說明Reader對象可單向訪問到Loan對象Reader很可能有一個指向Loan對象的屬性實例連接:關(guān)聯(lián)關(guān)系class Course class Student private Course selectedCourses;class Teacher private Student students;class Student private Teacher teacher;StudentCourse- selectedCou
17、rses5.*Teacher1- studentsStudent- teacher0.*關(guān)聯(lián)類 關(guān)聯(lián)類:class Company class Person class Job public Person employee; public Company employer;String description; Date dateHired; double salary;(4) 消息連接:依賴關(guān)系 消息連接 消息連接是對象之間的通信聯(lián)系,它表現(xiàn)了對象行為的動態(tài)聯(lián)系。 一個對象需要另一個對象的服務(wù),便向它發(fā)出請求服務(wù)的消息,接收消息的 對象響應(yīng)消息,觸發(fā)所要求的服務(wù)操作。 消息連接也稱為“依賴關(guān)
18、系”(Dependency)。依賴(4) 消息連接:依賴關(guān)系A(chǔ)ir 依賴(Dependency): use a. 依賴是一種使用關(guān)系,一個類A使用到了另一個類B,而這種使用關(guān)系是偶 然性的、臨時性的、非常弱的,但是B類的變化會影響到A。 類的依賴可能由各種原因引起,例如: 一個類是另一個類的某個操作的參數(shù) 一個類在另一個類的某個操作中被使用 class Air Humanclass Human public void breath(Air air) ;5、整體-部分關(guān)聯(lián)(Whole-Part)如果對象a是對象b的一個組成部分,則稱b為a的整體對象,a為b的部分對象,二者對應(yīng)的關(guān)聯(lián)形式稱為整體-
19、部分關(guān)聯(lián)。這種結(jié)構(gòu)可以用b “has a” a進(jìn)行驗證。整體-部分關(guān)聯(lián)是關(guān)聯(lián)中使用較頻繁的一種模式,用于對模型元素之間的組裝關(guān)系進(jìn)行建模。組成關(guān)系在現(xiàn)實生活中可以表現(xiàn)為以下幾種形式: 客觀上或邏輯上的整體事物和它的組成部分(機(jī)器和零件、人體和器官、書和章節(jié)、圖和元素) 組織機(jī)構(gòu)和它的下級組織及部分(公司和子公司、醫(yī)院和科室) 團(tuán)體(組織)和成員(科室和醫(yī)生、班級和學(xué)生) 空間上的容器事物和其包容物(車間和機(jī)器/工人、教室和設(shè)備)整體-部分關(guān)聯(lián)舉例(一個窗口)EditButtonCheckBoxForm1FormControl*ButtonEditCheckBox整體/部分關(guān)聯(lián)聚集聚集(aggr
20、egation)是用于為整體-部分關(guān)系建模的一種關(guān)聯(lián),使用連接線和菱形表達(dá),菱形一端的對象是整體對象。整體-部分關(guān)聯(lián)有兩種類型 組合聚集(composition aggregation ) 共享聚集 (shared aggregation) 共享聚集(shared aggregation)描述整體-部分的關(guān)系,部分可能同時屬于多個整體對象。關(guān)聯(lián)路徑的末端有一個空心菱形,用來表示聚集關(guān)系。班級與學(xué)生之間的生命周期是獨(dú)立的。班級學(xué)生15.*定義兩個類:class Student class CourseClass private Student students; /學(xué)生數(shù)組學(xué)生數(shù)組public
21、addStudent ( ) s=new Student();/創(chuàng)建學(xué)生對象創(chuàng)建學(xué)生對象studtents.append(s);測試類:Public class TestClass Public static oid main (String args) CourseClass ooad=new CourseClass(); /創(chuàng)建班級對象,創(chuàng)建時沒有創(chuàng)建學(xué)生對象 組合聚集(composition aggregation )組合聚集具有很強(qiáng)的歸屬關(guān)系,部分只能是一個組合對象的成員,而且部分對象的存在是依賴于整體對象,與整體同生共死。整體端的重數(shù)不會超過 1(即它無法被多個整體對象共享),關(guān)系建
22、立后是不可變更。關(guān)聯(lián)路徑的末端有一個實心菱形,用來表示組合關(guān)系。Person1-heartHeart整體-部分關(guān)聯(lián)的實現(xiàn)(一)Person 對象tom創(chuàng)建后立即創(chuàng)建內(nèi)含的Heart對象class Heart class Person private Heart heart = new Heart();Person tom=new Person();Person1-heartHeart整體-部分關(guān)聯(lián)的實現(xiàn)(二) 汽車汽車 發(fā)動機(jī)發(fā)動機(jī) 遙控器遙控器 汽車類和遙控器類及發(fā)動機(jī)類的關(guān)系如圖,寫出代碼小結(jié):對象之間的聯(lián)系 繼承/泛化:一般與特殊的關(guān)系is a kind of 組合:部分與整體的關(guān)系,彼
23、此不可分is part of 聚合:部分與整體的關(guān)系,但彼此可分owns a 關(guān)聯(lián):對象之間的長期靜態(tài)聯(lián)系has a 依賴:對象之間的動態(tài)的、臨時的通信聯(lián)系use a 類間聯(lián)系的強(qiáng)度:繼承 組合 聚合 關(guān)聯(lián) 依賴通用關(guān)聯(lián)分類表分 類舉 例A在物理上是B的一部分零件產(chǎn)品A在邏輯上是B的一部分訂單項訂單A在物理上包含在B中/依賴于B產(chǎn)品倉庫A在邏輯上包含于B中圖書品種圖書A是對B的描述產(chǎn)品規(guī)格產(chǎn)品A是事務(wù)B或報告B的一個記錄項購物購物項A為B所知/為B所記錄/錄入到B中借書記錄讀者A是B的一個成員職工部門A是B的一個組織單元分公司集團(tuán)A使用或管理B醫(yī)生病案;醫(yī)生掛號單A與B相互通信圖書管理員讀者A
24、與一個事務(wù)B有關(guān)聯(lián)圖書借書記錄A是一個事務(wù),B也是一個事務(wù),二者有關(guān)聯(lián)借書記錄逾期記錄6、關(guān)聯(lián)原則找出問題域中的對象遠(yuǎn)遠(yuǎn)比找出關(guān)聯(lián)更為重要注意力集中在那些需要將對象之間的關(guān)系信息記憶一段持續(xù)時間的關(guān)聯(lián)關(guān)聯(lián)太多不僅不能有效展示概念模型,反而會使概念模型變得混亂要避免關(guān)聯(lián)之間的信息冗余以及減少派生關(guān)聯(lián)關(guān)聯(lián)使用關(guān)聯(lián)名稱、角色、多重性和導(dǎo)向性來說明 圖書館系統(tǒng)的第3張類圖圖書目錄圖書品種1.*11.*1記載圖書*1*1館藏讀者圖書管理員借書記錄0.110.11*1*1*1*1登記罰款細(xì)則逾期記錄0.110.110.1*0.1*使用類的泛化泛化(Generalization)是在多個概念之間識別共性,定
25、義超類(一般概念)和子類(特定概念)關(guān)系的活動。 如在圖書館系統(tǒng)中,發(fā)現(xiàn)圖書館目前還收藏了其他資源,比如影碟(VCD/DVD)、音樂CD、電子書等品種。它們和圖書一樣可以被任何讀者借出,每個對象都有條碼和狀態(tài)。但它們也有自己的特性,比如屬性項、借閱期限、逾期懲罰不同,必須區(qū)別對待。 1、一般-特殊結(jié)構(gòu)(Generalization-Specialization)如果類A具有類B的全部屬性和行為,而且具有自己特有的某些屬性或服務(wù),則A叫做B的特殊類,B叫做A的一般類。這種關(guān)系也稱為一般-特殊關(guān)系、泛化-特化關(guān)系、繼承關(guān)系。特點: 可以簡化模型,有效地反映問題空間的分類層次。 必須確認(rèn)子類一定是父
26、類的一個特殊類型,即可以用“is-a-kind-of”進(jìn)行驗證 注意控制泛化的粒度,額外的泛化增加復(fù)雜性圖書館系統(tǒng)的泛化關(guān)系圖書品種作者出版社出版日期碟片品種碟片類型碟片數(shù)制作公司資源項館藏流水號狀態(tài)館藏資源品種資源名稱國際出版號價格簡介館藏數(shù)量可借數(shù)量2、什么時候需要劃分一般-特殊結(jié)構(gòu)類的屬性或行為不適合該類的全部對象如果定義“學(xué)生”類有“導(dǎo)師”屬性,有“教學(xué)實踐”行為的話,則該類的對象對于本科生不適合,只適合于研究生對象,采用一般-特殊結(jié)構(gòu)重新分類,建立“學(xué)生”和“研究生”之間的一般-特殊結(jié)構(gòu),研究生可以繼承所有學(xué)生的特性。屬性和行為相似的類將這些類的共性抽象出來作為超類,各自特性仍舊保留
27、而作為超類的子類。不要將一個對象的狀態(tài)變化設(shè)計為多個子類,除非對象的多數(shù)多數(shù)行為行為是由狀態(tài)來決定病態(tài)的繼承泛化是提高軟件重用性的一種機(jī)制,但不能為了重用而濫用泛化。不符合“is a kind of”采用組裝結(jié)構(gòu),將復(fù)用對象作為組成元素翅膀鳥飛機(jī)3、抽象類如果一般類A的每個實例還必須是它的一個特殊類的成員,那么類A就被稱為一個抽象類比如“學(xué)生”、“研究生”中,“學(xué)生”不是一個抽象類比如“支付”、“現(xiàn)金支付”、“信用卡支付”中,“支付”就是一個抽象類但面向?qū)ο蟮脑O(shè)計原則強(qiáng)調(diào)設(shè)計抽象類,比如學(xué)生,設(shè)計一個抽象學(xué)生類,然后派生出本科生和研究生抽象類意味著不能創(chuàng)建該類的實例4、多繼承繼承有單繼承和多繼
28、承。多繼承是指一個子類繼承了兩個父類的屬性和行為。橡皮鉛筆鉛筆橡皮分析模型靜態(tài)模型: 類圖 對象圖動態(tài)模型: 狀態(tài)圖 粗略的對象交互圖1、類圖類會員會員代號姓名地址電話租借記錄增加租借取全部租借類名屬性服務(wù)/操作類的一般-特殊關(guān)系(三角形一端是一般類,另一端是特殊類)對象關(guān)聯(lián)(連接線中間為關(guān)聯(lián)名稱,兩端為角色和多重性,箭頭為導(dǎo)向性)聚集(菱形一端為整體對象,另一端為部分對象,兩端可表示多重性)組成(聚集的特例,表示整體對象與部分對象緊密依賴的合成關(guān)系)圖書館系統(tǒng)的類圖碟片品種碟片類型碟片數(shù)制作公司圖書管理員2職工號姓名圖書品種作者出版社出版日期讀者姓名身份證號借書卡號圖書限額已借圖書數(shù)碟片限額已借碟片數(shù)館藏目錄資源項館藏流水號狀態(tài)借書記錄借書日期歸還日期1*1*登記0.11館藏資源品種資源名稱國際出版號價格簡介館藏數(shù)量可借數(shù)量1*1.*1預(yù)定記錄預(yù)定日期1*1罰款細(xì)則逾期記錄逾期天數(shù)10.110.1*0.1*0.1使用擁有*1*1被預(yù)定*10.111.*1類圖的實例首先看“動物”矩形框,它代表一個類。該類圖分為三層,第一層顯示類的名稱,如果是抽象類就要用斜體顯示。第二層是類的特性,通常就是字段和屬性。第三層是類的操作,通常是方法和行為。 注意前面的符號,+表示public, 表示privat
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 代理營銷活動策劃方案
- 代賬公司團(tuán)購活動方案
- 以書為媒活動策劃方案
- 儀隴全域閱讀活動方案
- 企業(yè)講課比賽活動方案
- 企業(yè)party活動方案
- 企業(yè)五四節(jié)系列活動方案
- 企業(yè)黨建比武活動方案
- 企業(yè)內(nèi)讀書活動方案
- 企業(yè)勞?;顒臃桨?/a>
- 醫(yī)院培訓(xùn)課件:《醫(yī)院感染管理制度與職責(zé)》
- 【MOOC】實境英語聽說-河南大學(xué) 中國大學(xué)慕課MOOC答案
- 問卷調(diào)查設(shè)計及研究方法(浙江大學(xué))知到智慧樹章節(jié)答案
- 《冰川地貌》課件
- 果園管理合同
- 廣東省廣州市南沙區(qū)南外實驗學(xué)校2022-2023學(xué)年七年級上學(xué)期期中考試英語試題(原卷版+解析)
- 市政工程雨污水管網(wǎng)維護(hù)方案
- 火鍋店餐廳管理制度
- 2024年新人教版三年級數(shù)學(xué)下冊《第8單元數(shù)學(xué)廣角 搭配 第3課時》單元整體課件
- 農(nóng)網(wǎng)配電營業(yè)工(臺區(qū)經(jīng)理)高級技師資格考試題庫(全真題庫)
- 初中思品課件教學(xué)課件
評論
0/150
提交評論