面向?qū)ο笈cUML學(xué)案_第1頁
面向?qū)ο笈cUML學(xué)案_第2頁
面向?qū)ο笈cUML學(xué)案_第3頁
面向?qū)ο笈cUML學(xué)案_第4頁
面向?qū)ο笈cUML學(xué)案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

面向?qū)ο笈cUML學(xué)案在軟件分析與設(shè)計(jì)階段,建立模型是軟件工程中最常用的技術(shù)之一。本章主要學(xué)習(xí)面向?qū)ο蟮慕7椒?。UML是一種圖形化的OO建模語言,可以幫助我們進(jìn)行軟件系統(tǒng)的面向?qū)ο蠼?。?課時(shí)面向?qū)ο蠡靖拍顚W(xué)習(xí)目標(biāo)能說出類和對(duì)象的概念及它們的關(guān)系。能說出面向?qū)ο蟮幕咎卣鳌?3.能回答面向?qū)ο箝_發(fā)的優(yōu)點(diǎn)。學(xué)習(xí)方法自學(xué)|學(xué)習(xí)導(dǎo)航|知識(shí)總結(jié)面向?qū)ο蠖?duì)象+類+繼承+通信對(duì)象是客觀世界中實(shí)體或概念在計(jì)算機(jī)中的表示。一個(gè)對(duì)象是具有唯一對(duì)象名和一組屬性和操作的集合。其中屬性表示該對(duì)象的靜態(tài)特征,操作描述對(duì)象的動(dòng)態(tài)行為。類是一組相似對(duì)象的共性抽象,是創(chuàng)建對(duì)象的有效模板。面向?qū)ο蟮幕咎攸c(diǎn):抽象,封裝,繼承,多態(tài)達(dá)標(biāo)測(cè)試()是指把數(shù)據(jù)以及操作數(shù)據(jù)的相關(guān)方法組合在同一個(gè)單元中,使我們可以把類作為軟件中的基本復(fù)用單元,提高其內(nèi)聚度,降低其耠合度。面向?qū)ο笾械?)機(jī)制是對(duì)現(xiàn)實(shí)世界中遺傳現(xiàn)象的模擬,通過該機(jī)制,基類的屬性和方法被遺傳給派生類。A封裝B多態(tài)C繼承D變異判斷下列是對(duì)象還是類:我的小汽車()人員( )劉云坤( )交通工具 ()教授()井大計(jì)算機(jī)科學(xué)系()中國工人( )清華大學(xué)()韓國()噴氣式飛機(jī)()下列屬于面向?qū)ο蟮囊氐氖?)A分類性B抽象C共享 D封裝對(duì)象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作()于對(duì)象的統(tǒng)一體中。A結(jié)合B隱蔽C封裝D抽象面向?qū)ο筌浖夹g(shù)把類組織成一個(gè)層次結(jié)構(gòu)系統(tǒng),一個(gè)類的上層可以有父類,下層可有子類,這種結(jié)構(gòu)的一個(gè)重要性質(zhì)是(),一個(gè)類獲得其父類的全部描述。A傳遞性B繼承性 C復(fù)用性 D并行性思考?OO開發(fā)在支持軟件重用上的優(yōu)勢(shì)?提示:可從面向?qū)ο蟮幕咎攸c(diǎn),及軟件設(shè)計(jì)的模塊化與模塊獨(dú)立性來分析。第2課時(shí)UML簡介學(xué)習(xí)目標(biāo)能說出UML的中英文對(duì)應(yīng)意義及UML與面向?qū)ο蠼5年P(guān)系。能說出UML的基本特點(diǎn)。P83能說出UML模型中視圖和圖的關(guān)系。P82重點(diǎn):視圖與圖學(xué)習(xí)導(dǎo)航UML unifiedmodelinglanguage,統(tǒng)一建模語言,是一種基于面向?qū)ο蟮目梢暬慕UZ言,其特點(diǎn)有:提供了統(tǒng)一標(biāo)準(zhǔn)的面向?qū)ο蟮哪P驮氐亩x和表示法(ISO/IEC19501),可視化的表達(dá)和語言擴(kuò)展機(jī)制,使它可應(yīng)用于各種復(fù)雜系統(tǒng)的建模。不同的系統(tǒng)建模視角稱為視圖,視圖由一組圖構(gòu)成。表2-1UML中的基本圖圖名稱圖定義圖性質(zhì)圖基本模型符號(hào)表示1類圖一組類、接口、協(xié)作及它們的關(guān)系靜態(tài)圖2對(duì)象圖一組對(duì)象及它們的關(guān)系靜態(tài)圖3用例圖一組用例、參與者及它們的關(guān)系靜態(tài)圖4順序圖一個(gè)交互,強(qiáng)調(diào)消息的時(shí)間順序動(dòng)態(tài)圖5協(xié)作圖一個(gè)交互,強(qiáng)調(diào)消息發(fā)送和接受的對(duì)象的結(jié)構(gòu)組織動(dòng)態(tài)圖6狀態(tài)圖一個(gè)狀態(tài)機(jī),強(qiáng)調(diào)對(duì)象按事件排序的行為動(dòng)態(tài)圖7活動(dòng)圖一個(gè)狀態(tài)機(jī),強(qiáng)調(diào)從活動(dòng)到活動(dòng)的流動(dòng)動(dòng)態(tài)圖8構(gòu)件圖一組構(gòu)件及關(guān)系靜態(tài)圖9配置圖一組接點(diǎn)及它們的關(guān)系靜態(tài)圖10包圖類或包的分組機(jī)制靜態(tài)自我拓展模仿表2-1建立UML中視圖與圖的關(guān)系表。補(bǔ)充完整表2-1中內(nèi)容。達(dá)標(biāo)測(cè)試用于描述對(duì)象模型的工具是()A數(shù)據(jù)流圖B結(jié)構(gòu)圖C狀態(tài)圖D對(duì)象圖2?在UML中,描述系統(tǒng)與外部系統(tǒng)及用戶之間交互的圖是(B)A類圖B用例圖C對(duì)象圖D協(xié)作圖

第3課時(shí)UML靜態(tài)建模學(xué)習(xí)目標(biāo)能說出UML的靜態(tài)建模機(jī)制會(huì)運(yùn)用UML的靜態(tài)建模圖形符號(hào)建立簡單系統(tǒng)(如學(xué)生選課系統(tǒng),圖書管理系統(tǒng),公司進(jìn)銷存系統(tǒng))的用例模型。會(huì)運(yùn)用UML的靜態(tài)建模機(jī)制建立上述2中簡單系統(tǒng)的類和對(duì)象模型。學(xué)習(xí)導(dǎo)航1一.用例圖和用例模型:用例模型反映系統(tǒng)能做什么,描述軟件系統(tǒng)和外部參與者(actor)之間的交互,由一組用例圖及相應(yīng)的規(guī)約組成。其中,用例(use-case)代表 ,參與者表示 。用例圖基本符號(hào):邊界、用例、參與者和關(guān)聯(lián)。(P84圖4.8)用例間的關(guān)聯(lián)關(guān)系:.用例除了與其參與者發(fā)生關(guān)聯(lián)外,還可以具有系統(tǒng)中的多個(gè)關(guān)系,這些關(guān)系包括包含關(guān)系、擴(kuò)展關(guān)系和泛化關(guān)系。1包含關(guān)系(Include)要點(diǎn):1) 一個(gè)用例可以簡單地包含其它用例具有的行為,并把它所包含的用例行為作為自身行為的一部分,這稱作包含關(guān)系。2) 如果兩個(gè)以上的用例有大量一致的功能,則可以將這個(gè)功能分解到另一個(gè)用例中(作為包含關(guān)系的提供者用例)。3) 一個(gè)用例的功能太多時(shí),可以用包含關(guān)系建模兩個(gè)或多個(gè)用例。表示方法:在UML中,包含關(guān)系表示為帶〈〈include〉〉字樣虛線箭頭,箭頭指向被包含的用例。如如P85圖4.11及圖1所示。示例:teacherteacher2擴(kuò)展關(guān)系(Extend)要點(diǎn):1) 一個(gè)用例(擴(kuò)展用例)可以被定義為基礎(chǔ)用例的增量擴(kuò)展,這稱為擴(kuò)展關(guān)系。2) 一般基礎(chǔ)用例的執(zhí)行不會(huì)設(shè)計(jì)到擴(kuò)展用例,只有特定的條件下擴(kuò)展用例才被執(zhí)行。3) 擴(kuò)展關(guān)系為處理異?;驑?gòu)建靈活的系統(tǒng)框架提供了一種十分有效的辦法。表示方法:在UML中,擴(kuò)展關(guān)系表示為帶〈〈extend〉〉字樣虛線箭頭,箭頭指向被擴(kuò)展的用例(即基礎(chǔ)用例)。如P85圖4.10,下圖2,注意箭頭的方向。HU LibrarysystemUML2.2官方規(guī)范說明用例之間有兩種關(guān)系:包含(include),擴(kuò)展(extend)。說明:1.在我們的教材上大家看到《使用》關(guān)系(〈〈uses〉〉),這見于較早版本的UML中,以前的〈〈uses〉〉和〈〈includes〉〉被現(xiàn)在的〈〈include〉〉取代,可以將之理解為〈〈include〉〉關(guān)系。在實(shí)驗(yàn)室的機(jī)器上安裝的Rose環(huán)境下,大家還看到Generalization(泛化關(guān)系),該關(guān)系在官方規(guī)范中未明確說明,但是偶爾會(huì)有人討論UseCase之間的Generalization關(guān)系。有常用面向?qū)ο笥美5娜苏J(rèn)為:需要在UseCase間使用Generalization關(guān)系的場(chǎng)景很少。本著“簡單”和“溝通”的原則,忘記它吧!包含(include)關(guān)系為用例建模提供了從兩個(gè)或更多的UseCase的描述中抽取通用部分的能力。所以,在描述UseCase之前就開始抽取包含用例是不可取的;再有,如果沒有兩個(gè)以上的UseCase來包含這個(gè)UseCase,那么這個(gè)抽取是毫無意義的。擴(kuò)展(extend)關(guān)系提供了使用另外的可選流程來補(bǔ)充或插入到一個(gè)已存在的UseCase中的能力。因此,這是一種能夠擴(kuò)展原UseCase卻不用對(duì)原來的UseCase進(jìn)行重新描述的方法。這兩種關(guān)系在實(shí)際應(yīng)用中究竟應(yīng)如何區(qū)別有時(shí)會(huì)很難把握,建議可以根據(jù)如下特征來區(qū)分。包含關(guān)系:對(duì)基用例來說,如果缺少了被包含用例則是不完整的。即,被包含用例是基用例不可缺少的一部分。被包含用例對(duì)基用例是可見的,即基用例知道被包含用例的存在。被包含的用例通常應(yīng)被兩個(gè)以上的其他用例所包含,否則應(yīng)該考慮一下是否應(yīng)該使用包含。例子:校內(nèi)網(wǎng)()中,“查找好友”可能為“發(fā)送消息”和“刪除好友”所包含。擴(kuò)展關(guān)系:如果去掉擴(kuò)展關(guān)系,基用例仍然完整。擴(kuò)展用例本身具有獨(dú)立的功能,而非從其他用例抽取出來的。基用例對(duì)擴(kuò)展用例是可見的,而擴(kuò)展用例對(duì)基用例不可見。也即,基用例不知道有擴(kuò)展用例的存在。KurtBittner等在《UseCaseModeling》給出了可能需要使用擴(kuò)展用例的幾種情況:l描述一些對(duì)系統(tǒng)的基本功能來說是可選的特性。例如,可能是一些由系統(tǒng)提供甚至可從第三方購買的一些可選的系統(tǒng)特性。l描述一些可能使主流程變得很晦澀難懂的、十分復(fù)雜的錯(cuò)誤或異常處理過程。例如,有些分支流程巨長,尤其是比主流程還長。l為一些特殊顧客定制的需求。l由于范圍管理和發(fā)布管理的需要。例如,有些系統(tǒng)特性或行為在后來的發(fā)布中才會(huì)包括,那么在后來的項(xiàng)目中可以用擴(kuò)展用例來對(duì)系統(tǒng)功能進(jìn)行擴(kuò)展。例子:收郵件時(shí),忘記密碼了,需要找回密碼?!罢一孛艽a”對(duì)“收郵件”來說是個(gè)擴(kuò)展用例。注意:如果在有些情況下你仍然覺得很難決定應(yīng)該使用〈〈include〉〉還是〈〈extend〉〉,那么停止糾結(jié),就用〈〈include〉〉吧(因?yàn)榘葦U(kuò)展更容易讓人懂,而擴(kuò)展比包含更容易讓人懵,:-))!“錯(cuò)”就“錯(cuò)”了,總比無謂的浪費(fèi)時(shí)間好。最后,UseCase之間不要隨便搞“關(guān)系”。很多人喜歡把UseCase圖畫得很玄乎,關(guān)系搞得很復(fù)雜!很不幸,方向錯(cuò)了。KurtBittner等的《UseCaseModeling》中說:Ifthereisonethingthatsetsteamsdownthewrongpath,itisthemisuseoftheuse-caserelationshipsinclude,extendandgeneralization.Alistair在《編寫有效用例》中也十分強(qiáng)調(diào),UseCase真正有價(jià)值的是UseCase描述,所謂的用例間的關(guān)系往往價(jià)值不大還會(huì)適得其反。達(dá)標(biāo)測(cè)試1畫出簡化的文本編輯程序的用例圖,該編輯程序的主要功能有:建立文件、打開文件、插入文本、修改文本和保存文件。超市進(jìn)銷存系統(tǒng)的需求描述如下:(1)銷售售貨員接收顧客訂購,輸入顧客購買的商品,計(jì)算總價(jià);顧客付款并接收清單;售貨員保存顧客購買商品的記錄清單。(2)庫存庫存管理員每天進(jìn)行盤點(diǎn)一次;庫存管理員當(dāng)發(fā)現(xiàn)庫存商品有損壞時(shí),及時(shí)到相關(guān)部門報(bào)損;在供應(yīng)商的商品到貨時(shí),庫存管理員首先檢查商品是否合格,并將合格的商品入庫處理;當(dāng)商品進(jìn)入賣場(chǎng)時(shí),進(jìn)行商品出庫處理;經(jīng)理、訂貨員根據(jù)需要進(jìn)行庫存商品的模糊查詢或詳細(xì)查詢。(3)訂貨訂貨員用新商品供應(yīng)商信息更新供應(yīng)商數(shù)據(jù)庫的信息;訂貨員統(tǒng)計(jì)庫存商品是否低于庫存下限,然后制作訂貨單。(4)統(tǒng)計(jì)經(jīng)理能夠使用系統(tǒng)的統(tǒng)計(jì)功能,了解商品銷售情況、庫存情況、供應(yīng)商情況,以便進(jìn)行合理的營銷策略。經(jīng)理按市場(chǎng)情況適時(shí)變動(dòng)商品價(jià)格。試建立超市進(jìn)銷存系統(tǒng)的用例模型。()是從用戶使用的角度來描述系統(tǒng)功能的圖形化表示方法。A類圖B對(duì)象圖C序列圖D用例圖思考??在用例圖中的用例通常只是簡單地給出了系統(tǒng)應(yīng)提供什么服務(wù),并沒有展示出如何提供服務(wù),如服務(wù)的具體功能、處理流程、場(chǎng)景、出錯(cuò)情況以及異常情況等信息,如何能知道前述信息?學(xué)習(xí)交流同組同學(xué)討論與評(píng)價(jià)各自的能力測(cè)試結(jié)果。學(xué)習(xí)導(dǎo)航2二、類/對(duì)象圖與類和對(duì)象模型類圖?類圖是描述類、接口、協(xié)作及它們之間關(guān)系的圖。?顯示系統(tǒng)中各個(gè)類的靜態(tài)結(jié)構(gòu)?;痉?hào)如圖3:

ClassName^attribute:AttributeType=InitialValue^operationfarg:ArgumentType):ReturnType名稱屬性操作圖3類圖的基本符號(hào)由圖3可知,類屬性語法:名稱屬性操作可見性(+,-,#)屬性名:類型=默認(rèn)值{約束特性}其中,可見性有public(+),private(-),protected(#),類型表示該屬性的數(shù)據(jù)類型。操作(方法)語法:可見性操作名(參數(shù)表):返回類型{約束特性}類圖中可能的元素有:類(Class)接口(Interface)操作協(xié)作(Collaboration)依賴關(guān)系(Dependency)泛化關(guān)系(Generalization)關(guān)聯(lián)關(guān)系(Association)實(shí)現(xiàn)關(guān)系(Realization)3.類間特殊關(guān)系(除關(guān)聯(lián)關(guān)系外):泛化(“isakindof”)關(guān)系及主要用途:

圖4泛化關(guān)系示例■聚焦(“hasa”)關(guān)系類圖與對(duì)象圖的區(qū)別?表2類圖與對(duì)象圖的區(qū)別類圖對(duì)象圖類具有三個(gè)分欄:名稱、屬性和操作對(duì)象只有兩個(gè)分欄:名稱和屬性在類的名稱分欄中只有類名對(duì)象的名稱形式為“對(duì)象名:類名”,匿名對(duì)象的名稱形式為“:類名”類中列出了操作對(duì)象圖中不包含操作,因?yàn)閷?duì)于屬于同一個(gè)類的對(duì)象而言,其操作是相同的

類使用關(guān)聯(lián)連接,關(guān)聯(lián)使用名稱、角色、多重性以及約束等特征定義。類代表的是對(duì)對(duì)象的分類,所以必須說明可以參與關(guān)聯(lián)的對(duì)象的數(shù)目對(duì)象使用鏈連接,鏈擁有名稱、角色,但是沒有多重性。對(duì)象代表的是單獨(dú)的實(shí)體,所有的鏈都是一對(duì)一的,因此不涉及到多重性類的屬性分欄定義了所有屬性的特征對(duì)象則只定義了屬性的當(dāng)前值,以用于測(cè)試用例或例子中達(dá)標(biāo)測(cè)試21?采用UML進(jìn)行軟件設(shè)計(jì)時(shí),可用()關(guān)系表示兩類事物間存在的特殊/一般關(guān)系。用

溫馨提示

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

評(píng)論

0/150

提交評(píng)論