freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

uml基礎(chǔ)案例與應(yīng)用:第3版-全文預(yù)覽

  

【正文】 組織屬性和操作列表 職責(zé)和約束類圖標(biāo)中還可以指明另一種類的信息?!∈÷苑?hào)說(shuō)明還有沒(méi)列出來(lái)的屬性或操作如果屬性或者操作列表太長(zhǎng),可以用構(gòu)造型來(lái)組織屬性或操作列表,以方便理解。相反,可以只給出類名,而將屬性或者操作區(qū)(或者兩者全部)空著。前兩個(gè)操作給出了參數(shù)的類型,后兩個(gè)操作給出返回值的類型。在操作名后面的括號(hào)中可以說(shuō)明操作所需要的參數(shù)和參數(shù)的類型。和屬性名的表示類似,單字操作名小寫?!傩钥梢詭ь愋秃腿笔≈得得杜e類型(enumerated type)是由一系列被命名的值所定義的一種數(shù)據(jù)類型。在類的圖標(biāo)里,你可以指定每個(gè)屬性值的類型。注意,對(duì)象名首字母小寫,后面跟一個(gè)冒號(hào),冒號(hào)后面是該對(duì)象所屬的類名,并且整個(gè)名字要帶下劃線。按照UML的約定,單字屬性名小寫。這種類型的類名叫路徑名(pathname)。如第1章“UML簡(jiǎn)介”所述,包是UML組織圖形元素的單位?!☆惖目梢暬硎菊缜耙徽轮兴赋龅?,在UML中一個(gè)矩形表示一個(gè)類的圖標(biāo)。u 如何表現(xiàn)一個(gè)類的特性、職責(zé)和約束。因?yàn)檫@些原因,你看到的新的應(yīng)用程序都是用面向?qū)ο蟮姆椒ň帉懙模ɑ蛘呤菍?duì)遺留系統(tǒng)的改進(jìn)版本)。在一個(gè)組成對(duì)象中,部分對(duì)象只能作為組成對(duì)象的一部分與組成對(duì)象同時(shí)存在。關(guān)聯(lián)可以具有多種形式。每個(gè)對(duì)象都要提供一個(gè)讓其他對(duì)象(和人)用來(lái)執(zhí)行該對(duì)象中操作的接口。對(duì)象繼承了所屬類的屬性和操作。對(duì)象是類的實(shí)例。近期對(duì)大腦區(qū)域的研究點(diǎn)包括對(duì)物體的分類。這一點(diǎn)也是UML流行的原因。 意義對(duì)象與對(duì)象之間的關(guān)聯(lián)構(gòu)成了系統(tǒng)功能的骨架。如果你毀掉這顆樹(shù),樹(shù)葉也隨之不復(fù)存在()。例如,襯衫是襯衫主體、衣領(lǐng)、衣袖、紐扣、紐扣縫和袖口的組成體。你可能還能列舉出許多聚集的例子。它包括主機(jī)箱、鍵盤、鼠標(biāo)、顯示器、CD_ROM驅(qū)動(dòng)器、一個(gè)或者多個(gè)硬盤驅(qū)動(dòng)器、調(diào)制解調(diào)器、軟盤驅(qū)動(dòng)器、打印機(jī),可能還有音箱。在這種情況下,課程和教師之間是一個(gè)一對(duì)多(onetomany)的關(guān)聯(lián)。它說(shuō)明了在關(guān)聯(lián)中一個(gè)類的對(duì)象可以對(duì)應(yīng)另一個(gè)類的多少個(gè)對(duì)象。例如,你和你的工友同時(shí)又是朋友。也就是說(shuō),只能是你打開(kāi)電視機(jī)。遙控器對(duì)象向電視機(jī)對(duì)象發(fā)送消息,通知電視機(jī)開(kāi)機(jī)。再回過(guò)頭來(lái)討論接口。當(dāng)你想看電視的時(shí)侯,就得到處找遙控器,坐在你最喜歡的坐椅上,按下遙控器的“開(kāi)機(jī)”按鈕。電視機(jī)的按鈕和洗衣機(jī)的按鍵都稱為接口(interface)。封裝(encapsulation)意味著對(duì)象對(duì)其他對(duì)象和外部世界隱藏了自己要做什么,因此它也被稱為信息隱藏(information hiding)。計(jì)算機(jī)的顯示器對(duì)計(jì)算機(jī)中央處理器隱藏了自己的操作。在一個(gè)包含對(duì)象的系統(tǒng)中,對(duì)象之間以各種方式相互依賴。當(dāng)一些人看電視時(shí),通常大部分人都不關(guān)心電視機(jī)后面罩子里隱藏的復(fù)雜電子元器件,也不關(guān)心這些電子元器件如何操作來(lái)產(chǎn)生電視畫面。有時(shí)術(shù)語(yǔ)會(huì)自然導(dǎo)致操作詞有多種不同的含義(像“打開(kāi)”)。畢竟,是軟件開(kāi)發(fā)者編制實(shí)現(xiàn)這些方法的計(jì)算機(jī)程序,因此他們必須清楚這些同名的操作之間的重要區(qū)別。例如,你可以打開(kāi)一扇門、打開(kāi)一扇窗、打開(kāi)一張報(bào)紙、打開(kāi)一件禮物、打開(kāi)銀行賬號(hào)、甚至打開(kāi)一段對(duì)話。例如,Appliance還可以是HouseholdItem(家用商品)類的子類。每個(gè)Appliance的子類(WashingMachine、Refrigerator、Blender等等)都繼承了Appliance的特征。也可以這么說(shuō),Appliance類是這些類的超類(superclass)。你的洗衣機(jī)要包括什么,不包括什么,在做出這樣的決策后所保留的部分就是對(duì)洗衣機(jī)的抽象。對(duì)這個(gè)程序來(lái)說(shuō),你可以過(guò)濾掉serialNumber這個(gè)屬性,因?yàn)樗芸赡軟](méi)有什么用處。那么“只剩下你所需要的”是什么含義呢?不同類型的問(wèn)題需要不同數(shù)量的信息,即使這些問(wèn)題都屬于同一個(gè)領(lǐng)域也是如此。這些方面包括抽象(abstraction)、繼承(inheritance)、多態(tài)(plymorphism)和封裝(encapsulation)。你考慮到的屬性和行為越多,你所建立的模型就越符合實(shí)際。讓我們?cè)倩氐较匆聶C(jī)的例子。如果要?jiǎng)?chuàng)建一個(gè)處理人事信息的系統(tǒng)(例如工資發(fā)放系統(tǒng)或者人力資源部門的信息管理系統(tǒng)),那么在軟件中很可能要包括上面提到的一些屬性和操作。? 操作名的后面跟上一對(duì)括號(hào)。對(duì)象的行為包括它所能執(zhí)行的操作。首先也是最重要的,對(duì)象是一個(gè)類(種類)的實(shí)例。它們組成了整個(gè)世界。在這一章中,你將學(xué)習(xí)到這些基本原則。使用UML可以建立起易于使用和易于理解的對(duì)象模型。作為一種程序設(shè)計(jì)方法,它具有很多優(yōu)點(diǎn)。u 對(duì)象如何通信。問(wèn):“洗衣服”的用例圖,它所描述的一切都圍繞著用戶使用洗衣機(jī)洗衣服。那么,UML對(duì)模型圖中哪個(gè)元素和哪個(gè)元素的結(jié)合做了限制嗎?答:沒(méi)有。有時(shí)侯是客戶要求系統(tǒng)分析員這么做的。問(wèn):你剛才提到,UML對(duì)系統(tǒng)分析員來(lái)說(shuō)是一個(gè)非常有用的工具。問(wèn):你提到了面向?qū)ο蟮乃枷朐诒緯姓紦?jù)主要的地位。因?yàn)椴煌娘L(fēng)險(xiǎn)承擔(dān)人通常使用不同類型的圖相互交流,因此UML包含所有這些種類的圖是很有必要的。 小結(jié)系統(tǒng)開(kāi)發(fā)是一項(xiàng)人力活動(dòng),如果沒(méi)有易于理解的表示法系統(tǒng),開(kāi)發(fā)過(guò)程就會(huì)冒很大的錯(cuò)誤風(fēng)險(xiǎn)。2. 你知道你所缺乏的知識(shí)。結(jié)果是耗費(fèi)了大量的成本去完成始料不及的工作,以更正錯(cuò)誤,同時(shí)一而再再而三地延誤工期。例如,F(xiàn)leetCenter(富利中心,波士頓市的運(yùn)動(dòng)和娛樂(lè)中心)就在一張圖紙中漏掉了。一系列通過(guò)城市中心的隧道和橋梁將替代年久失修、容量有限的高架高速公路。采用多視角的目標(biāo)是為了能夠和每一類風(fēng)險(xiǎn)承擔(dān)人良好地溝通。如果你正在設(shè)計(jì)一臺(tái)洗衣機(jī)的馬達(dá),那么以你的視角來(lái)觀察系統(tǒng)就得到一個(gè)系統(tǒng)的視圖。要注意的重要一點(diǎn)是并不是每個(gè)UML模型都必須包含所有的圖。例如,如果多個(gè)類或者構(gòu)件組成了一個(gè)特殊的子系統(tǒng),它們應(yīng)該放入到一個(gè)包中。計(jì)時(shí)圖就是設(shè)計(jì)用來(lái)表示對(duì)象處于某一個(gè)狀態(tài)中的持續(xù)時(shí)間的。我用這個(gè)典型的家用電器討論了類圖、狀態(tài)圖、順序圖和協(xié)作圖。在第2個(gè)活動(dòng)中,你請(qǐng)求管理員為你辦理借閱手續(xù),手續(xù)辦妥后,管理員告訴你可以把圖書帶走了。3. 在你離開(kāi)圖書館之前,出口處的門衛(wèi)驗(yàn)證你的借閱登記。如果你用順序圖或協(xié)作圖(或者是二者的結(jié)合體)來(lái)替換其中的某些活動(dòng),你將會(huì)得到UML --交互縱覽圖(interaction overview diagram)。我們?cè)撊绾螛?biāo)注連接Mind類和Body類的線條呢?多年來(lái),哲學(xué)家對(duì)這個(gè)問(wèn)題一直是百思不得其解。你可以把每一個(gè)構(gòu)件類放入到一個(gè)整體中。當(dāng)一個(gè)類由多個(gè)類構(gòu)建而成的時(shí)侯,你往往會(huì)有這種感覺(jué)。我針對(duì)構(gòu)造型所介紹的一切內(nèi)容都表明,當(dāng)你缺乏某種符號(hào)的時(shí)候,你可以用構(gòu)造型來(lái)創(chuàng)建它。現(xiàn)在,你只需要把構(gòu)造型形象化地記為向UML圖標(biāo)中添加一個(gè)關(guān)鍵字。字典只能夠?qū)σ延械脑睾突谶@些元素的構(gòu)造型有效。它是可以在整個(gè)模型中反復(fù)使用的一組行為(具體原因?qū)⒃诘冢嫡抡f(shuō)明)。這時(shí)侯,UML并不是為某事物創(chuàng)建一個(gè)全新的符號(hào),而是把一個(gè)關(guān)鍵字添加到已有的元素中??梢园褬?gòu)造型和這種裁制類比?!£P(guān)鍵字和構(gòu)造型UML提供了很多有用的項(xiàng),但絕不是一個(gè)完全徹底的模型元素集??梢园炎⑨尶闯墒菆D形化的黃頁(yè)?!∑渌卣髑懊嬖岬竭^(guò)UML提供了一些用來(lái)擴(kuò)展模型圖的特征。我們將在稍后的部分“關(guān)鍵字和構(gòu)造型”中介紹。這里暫不對(duì)此做詳細(xì)介紹。它叫做collaboration diagram。它并不是按垂直方向表示時(shí)間順序,而是通過(guò)消息標(biāo)記前面的數(shù)字來(lái)表示時(shí)間順序的?;顒?dòng)圖中也是這樣,我們將在第11章“活動(dòng)圖”中了解到這一點(diǎn)。我們將在第9章“順序圖”中了解更多相關(guān)的內(nèi)容。第二條消息sendWater()是定時(shí)器發(fā)送給進(jìn)水管的。,其中定時(shí)器、進(jìn)水管、洗滌缸和排水管用匿名對(duì)象表示,順序圖則捕獲了在它們之間傳遞的消息。? 往返旋轉(zhuǎn)。? 為脫水定時(shí)。讓我們來(lái)看看這些操作。我們把定時(shí)器、進(jìn)水管和洗滌缸都假想為對(duì)象。11. 洗滌缸停止旋轉(zhuǎn)。7. 漂洗開(kāi)始時(shí),重新開(kāi)始注水。3. 在浸泡之后,停止注水。仍以洗衣機(jī)為例,洗衣機(jī)的構(gòu)件包括一個(gè)定時(shí)器(timer)、一個(gè)注水的進(jìn)水管(water piper)和一個(gè)用來(lái)裝衣物的洗滌缸(drum)。在上圖中,最頂端的符號(hào)代表起始狀態(tài),而最底端的符號(hào)表示終止?fàn)顟B(tài)。該圖說(shuō)明洗衣機(jī)可以從一個(gè)狀態(tài)轉(zhuǎn)移到另一個(gè)狀態(tài)。一個(gè)人可以是新生兒、嬰兒、兒童、少年、青年或者成人。注意參與者(它是發(fā)起用例的實(shí)體)可以是一個(gè)人也可以是另一個(gè)系統(tǒng)。這里先舉一個(gè)簡(jiǎn)單的例子?!∮美龍D用例(use case)是從用戶的觀點(diǎn)對(duì)系統(tǒng)行為的一個(gè)描述。在左邊的這個(gè)圖標(biāo)中,具體實(shí)例的名字位于冒號(hào)的左邊而該實(shí)例所屬的類名位于冒號(hào)的右邊?!?duì)象圖對(duì)象(object)是一個(gè)類的實(shí)例,是具有具體屬性值的一個(gè)具體事物。幾十年的經(jīng)驗(yàn)告訴我們,當(dāng)軟件代表了現(xiàn)實(shí)世界中的事物的類時(shí),采用這種模擬方式開(kāi)發(fā)軟件最容易。屬性名和操作名也遵從相同的約定,但其首字母不用大寫(例如,acceptClothes())。最上面的區(qū)域中是類名,中間區(qū)域是類的屬性,最下面區(qū)域里列出的是類的操作。舉一個(gè)例子,屬于洗衣機(jī)(washing machine)類的事物都具有諸如品牌(brand name)、型號(hào)(model name)、序列號(hào)(serial number)和容量(capacity)等屬性。你還會(huì)發(fā)現(xiàn),事物很自然地都有其各自所屬的種類(汽車、家具、洗衣機(jī)。就我們的目的而言,一個(gè)模型是一組UML圖,為了理解和開(kāi)發(fā)一個(gè)系統(tǒng),我們可以檢查、獲取和修改這些圖。模型在科學(xué)和工程技術(shù)領(lǐng)域中模型是一個(gè)很有用的概念。在這里要注意的重要一點(diǎn)是一個(gè)UML模型只描述了一個(gè)系統(tǒng)要做什么,它并沒(méi)告訴我們系統(tǒng)是如何被實(shí)施的。這樣的方法類似于學(xué)習(xí)外語(yǔ)時(shí)首先是使用它而不是先學(xué)它的語(yǔ)法和組詞造句。在本書中,我將向你展示UML的新舊版本之間的區(qū)別。1998年OMG接管了UML標(biāo)準(zhǔn)的維護(hù)工作,并且制訂了兩個(gè)新的UML修訂版。由于許多公司感到UML能夠適應(yīng)它們的戰(zhàn)略目標(biāo),因此一個(gè)UML聯(lián)盟蓬勃發(fā)展起來(lái)。1994年,Rumbaugh加入Rational軟件公司,而B(niǎo)ooch早已經(jīng)在那里工作。他們的方法學(xué)和其他同行競(jìng)爭(zhēng)者相比取得了卓越的成果??煽康脑O(shè)計(jì)需要一種能被系統(tǒng)分析員、開(kāi)發(fā)人員和客戶接受為標(biāo)準(zhǔn)的設(shè)計(jì)表示法,就像電子工程師在電路圖中所用的標(biāo)準(zhǔn)表示法以及在物理學(xué)中被作為標(biāo)準(zhǔn)的費(fèi)因曼圖所用的表示法那樣?,F(xiàn)代社會(huì)頻繁發(fā)生的公司兼并使可靠的設(shè)計(jì)顯得尤為必要。拿給客戶看的設(shè)計(jì)計(jì)劃就如同建筑設(shè)計(jì)師拿給樓的買主看的建筑物設(shè)計(jì)藍(lán)圖。如果你要?jiǎng)?chuàng)建一個(gè)成功的系統(tǒng),怎么來(lái)對(duì)付這些問(wèn)題的復(fù)雜性呢?最關(guān)鍵的一點(diǎn)是要用一種系統(tǒng)分析員、客戶、程序員和其他系統(tǒng)開(kāi)發(fā)所涉及到的人員能夠理解和達(dá)成一致的方式來(lái)組織系統(tǒng)的設(shè)計(jì)過(guò)程??蛻舯仨毨斫忾_(kāi)發(fā)組在做什么,如果開(kāi)發(fā)組沒(méi)有充分理解客戶需求的話(或者如果客戶在中途改變了自己的想法),客戶必須能夠指出需求所發(fā)生的變化。如果他們真的對(duì)問(wèn)題進(jìn)行了充分分析的話,問(wèn)題也就不是如此了。系統(tǒng)分析員經(jīng)常編寫出語(yǔ)句冗長(zhǎng)、內(nèi)容龐大的需求文檔,項(xiàng)目組的其他成員很難用上這些文檔,這真是添亂。系統(tǒng)分析員(analyst)將客戶所要解決的問(wèn)題編制成文檔,并將該文檔轉(zhuǎn)交給開(kāi)發(fā)人員(developer),開(kāi)發(fā)人員是為了解決客戶的問(wèn)題而構(gòu)造軟件并在計(jì)算機(jī)硬件上實(shí)施該軟件的程序員。在UML出現(xiàn)以前,系統(tǒng)開(kāi)發(fā)往往是無(wú)計(jì)劃的議題。面向?qū)ο蟮母拍顚?duì)于全書的學(xué)習(xí)起著非常重要的作用.讓我們開(kāi)始建模吧! 第一部分 基礎(chǔ)知識(shí)第一章 UML簡(jiǎn)介在本章中,你將學(xué)習(xí)如下內(nèi)容u 為什么需要UML?u UML的誕生。有不少供應(yīng)商都提供用于創(chuàng)建UML圖并將這些圖組織成為模型的工具軟件包。我還花了額外的時(shí)間來(lái)討論和面向?qū)ο蠹坝美嘘P(guān)的基本概念,因?yàn)樵谑褂肬ML的大部分時(shí)間里所要用到的東西都建立在這兩個(gè)基本概念之上。本書的目標(biāo)讀者本書針對(duì)那些需要快速掌握UML基礎(chǔ)的系統(tǒng)分析員、項(xiàng)目經(jīng)理、系統(tǒng)設(shè)計(jì)師和開(kāi)發(fā)者。作為改寫的一部分,這一版中,我在每一個(gè)交互圖前面都給出一個(gè)類圖,以展示該類的操作。在本書每一章的內(nèi)容中都為讀者提供一些實(shí)例,以強(qiáng)化對(duì)所學(xué)知識(shí)的理解,并且在每章后面還留了一些習(xí)題讓你能夠?qū)⑿轮R(shí)學(xué)以致用。統(tǒng)一建模語(yǔ)言(UnifiedcModelingcLanguage,UML)就是一種建立橋梁的工具。開(kāi)發(fā)人員所開(kāi)發(fā)的系統(tǒng)正是要將構(gòu)想變?yōu)楝F(xiàn)實(shí),因此他們必須要能夠充分地理解這種想象力并將其牢記在心中.一個(gè)成功的系統(tǒng)開(kāi)發(fā)項(xiàng)目的成功之處在于它能夠在想象者和實(shí)現(xiàn)這些想象的系統(tǒng)開(kāi)發(fā)人員之間建立起溝通的橋梁。每種圖形在開(kāi)發(fā)過(guò)程中都發(fā)揮其各自不同的作用.本書的目標(biāo)是讓你通過(guò)高效的學(xué)習(xí)建立起UML的牢固基礎(chǔ)。在第3版中,我們?cè)诤艽蟪潭壬蠑U(kuò)展了這一章,.我細(xì)化了模型和圖背后的一些思想,并針對(duì)它們?cè)黾恿诵y(cè)驗(yàn)和習(xí)題。如果你不明白,那么在讀完本書的時(shí)候,你就知道了。本部分還討論了用例(use case)——用于展示從用戶的角度所觀察到的系統(tǒng)功能的UML組件——以及如何實(shí)現(xiàn)用例圖。因此,第二部分說(shuō)明了如何將UML運(yùn)用到項(xiàng)目開(kāi)發(fā)背景中去,在這部分中你將學(xué)習(xí)如何運(yùn)用UML的各個(gè)組件協(xié)同工作來(lái)為系統(tǒng)建立模型.第三部分為“高級(jí)應(yīng)用”部分,介紹了UML在設(shè)計(jì)模式和嵌入式系統(tǒng)中的應(yīng)用,還探討了UML在其他幾個(gè)領(lǐng)域的應(yīng)用。第3章“運(yùn)用面向?qū)ο笏枷搿焙偷?章“關(guān)系”討論面向?qū)ο筮@個(gè)主題。交流思想是極為重要的。系統(tǒng)開(kāi)發(fā)(system development)是為客戶建立一個(gè)系統(tǒng)的過(guò)程,而客戶(client)是需要解決問(wèn)題的人。他編制的文檔客戶可能不能理解。難道你不奇怪,為什么今天很多已經(jīng)運(yùn)行了很長(zhǎng)時(shí)間的那些老系統(tǒng)既笨重、麻煩,而且難以使用嗎? 在紛繁復(fù)雜中尋求解決問(wèn)題的辦法在計(jì)算機(jī)出現(xiàn)的早期,程序員們?cè)诰幹瞥绦蛑皫缀鹾苌賹?duì)手頭問(wèn)題進(jìn)行詳細(xì)的分析。如今,一個(gè)經(jīng)過(guò)深思熟慮的計(jì)劃至關(guān)重要。這些計(jì)算機(jī)系統(tǒng)通常包括多個(gè)硬件和軟件單元、跨越距離的網(wǎng)絡(luò)設(shè)施,還要連接到信息量堆積如山的數(shù)據(jù)庫(kù)上。同樣,不首先編制一個(gè)詳細(xì)的設(shè)計(jì)計(jì)劃,那么你也不太可能馬上就在這棟辦公大樓中建立起一個(gè)復(fù)雜的系統(tǒng)。當(dāng)所要求的截止日期一個(gè)又一個(gè)地接踵而來(lái)時(shí),可靠的系統(tǒng)設(shè)計(jì)是絕對(duì)必要的。如果設(shè)計(jì)是穩(wěn)定可靠的,即使實(shí)施過(guò)程中遇
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1