乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      對(duì)軟件開(kāi)發(fā)中uml建模的理解和圖形整理(一)

       星光閃亮圖書(shū)館 2017-09-22

             由于uml(統(tǒng)一建模語(yǔ)言)在開(kāi)發(fā)中經(jīng)常會(huì)用到,特別是在軟件開(kāi)發(fā)中的OOAD階段,因此要理解和使用uml顯得尤為重要。在uml開(kāi)始之前,咱先回顧一個(gè)OOAD、OOP的主要特征。


      OOAD:根據(jù)面向?qū)ο蟮姆椒▽W(xué)來(lái)對(duì)軟件系統(tǒng)進(jìn)行分析和設(shè)計(jì)的過(guò)程。它包括OOA 分析階段和OOD設(shè)計(jì)階段。其中分析階段主要解決“What to do?”的問(wèn)題,而設(shè)計(jì)階段主要解決“How to do?”的問(wèn)題。具體來(lái)說(shuō)就是:在OOA分析階段咱要做的主要工作就是建立對(duì)業(yè)務(wù)問(wèn)題域的視圖(建立模型)、列出系統(tǒng)必須要完成的核心任務(wù)、列出針對(duì)此問(wèn)題域的最佳解決方案;而在設(shè)計(jì)階段咱要做的主要工作是:如何解決具體的業(yè)務(wù)問(wèn)題,引入咱工作需要哪些支持,設(shè)計(jì)系統(tǒng)的實(shí)現(xiàn)策略。通常OOAD的開(kāi)發(fā)過(guò)程是這樣的:a)項(xiàng)目分解為幾個(gè)模塊;b)使用UML進(jìn)行建模;c)USDP(統(tǒng)一軟件開(kāi)發(fā)過(guò)程)是一個(gè)迭代、遞增(需求、分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試等)式開(kāi)發(fā)。


      OOP的主要特征:封裝、繼承、多態(tài)、抽象、關(guān)聯(lián)、聚合、組合。

      下面談?wù)勎覍?duì)這些特征的理解:

      (1)封裝:“合理隱藏,合理暴露”。具體來(lái)說(shuō)就是合理隱藏?cái)?shù)據(jù)和實(shí)現(xiàn),提供公共方法供咱調(diào)用。

      (2)繼承:發(fā)生在子類(lèi)和父類(lèi)之間,通常在這兩個(gè)類(lèi)型之間存在“is a”的關(guān)系,如:香蕉“is a”水果,香蕉為子類(lèi),果為父類(lèi)。通過(guò)繼承可實(shí)現(xiàn)代碼重用且繼承也是多態(tài)的基礎(chǔ)。

      (3)多態(tài):“同一種類(lèi)型的變量調(diào)用同一個(gè)方法表現(xiàn)出不同特征或行為”。舉例來(lái)說(shuō):呼吸breath()這個(gè)動(dòng)作,人使用肺來(lái)完成,而魚(yú)則使用鰓來(lái)完成。

      (4)抽象:抽象是一種將方法聲明和具體實(shí)現(xiàn)分離的一個(gè)過(guò)程。通過(guò)抽象,咱只需關(guān)注其本質(zhì)特征(具體能做什么)而忽略掉一個(gè)對(duì)象(或?qū)嶓w)具體細(xì)節(jié)。

      (5)關(guān)聯(lián):關(guān)聯(lián)實(shí)質(zhì)上是對(duì)象之間交互時(shí)的一種引用方式,當(dāng)一個(gè)對(duì)象A通過(guò)另一個(gè)對(duì)象B的引用去調(diào)用B對(duì)象的方法操作或服務(wù)時(shí),A和B便產(chǎn)生了關(guān)聯(lián)。比如說(shuō):咱(person)使用手機(jī)(phone)來(lái)打電話(huà)(即咱調(diào)用了手機(jī)的一個(gè)功能--打電話(huà)dial()),person和phone之間就存在了關(guān)聯(lián)關(guān)系。

      (6)聚合:聚合是關(guān)聯(lián)關(guān)系中的一種,一個(gè)對(duì)象A作為另外一個(gè)對(duì)象B的屬性Field而存在,在外部對(duì)象(如汽車(chē)Car)被產(chǎn)生時(shí),可有咱指定與其關(guān)聯(lián)的內(nèi)部對(duì)象(輪胎Wheel)。什么意思呢?說(shuō)直白點(diǎn)吧,一輛汽車(chē)CarA的輪胎壞了咱可以重新?lián)Q上新的輪胎WheelA,而輪胎WheelA/WheelC也可以卸下來(lái)供別的汽車(chē)CarB使用。可以看出聚合中的關(guān)聯(lián)關(guān)系并沒(méi)有那么強(qiáng)烈。

      (7)組合:組合是關(guān)聯(lián)關(guān)系中最為強(qiáng)烈的一種。當(dāng)一個(gè)對(duì)象A包含另外一個(gè)對(duì)象B時(shí),外部對(duì)象A負(fù)責(zé)管理內(nèi)部對(duì)象B的生命周期。本質(zhì)上:內(nèi)部對(duì)象B的創(chuàng)建由外部對(duì)象A自己控制,就拿電腦與顯示器來(lái)說(shuō)吧,外部對(duì)象(電腦)不存在時(shí),內(nèi)部對(duì)象(顯示器)也不能存在,這個(gè)應(yīng)該很好理解了吧~


      內(nèi)聚與耦合

             內(nèi)聚:度量一個(gè)類(lèi)獨(dú)立完成某項(xiàng)工作的能力。耦合:度量系統(tǒng)內(nèi)或系統(tǒng)之間依賴(lài)關(guān)系的復(fù)雜度。咱一般的設(shè)計(jì)原則是:“高內(nèi)聚,低耦合”,也就是咱要增加內(nèi)聚,減少耦合。

      下面開(kāi)始咱們的uml之旅。


      域模型

             域模型也被稱(chēng)為設(shè)計(jì)模型,它包含兩部分組成:一是具體狀態(tài)和行為的域?qū)ο?;二是域?qū)ο笾g的關(guān)系,它包括:關(guān)聯(lián)(上面已經(jīng)介紹了)、依賴(lài)(a對(duì)象依賴(lài)B類(lèi)中的方法,并且構(gòu)造B類(lèi)的實(shí)例)、聚集(整體和部分的關(guān)系:如手是人的組成部分)、一般化(繼承關(guān)系)。

      uml定義:統(tǒng)一建模語(yǔ)言(Unified Modeling Language),它是一種圖形化的語(yǔ)言,可以幫助我們?cè)贠OAD階段標(biāo)識(shí)元素(用例、類(lèi)、對(duì)象等)、構(gòu)建模塊(功能劃分)、分析過(guò)程并可通過(guò)文檔(概要說(shuō)明、詳細(xì)說(shuō)明)來(lái)說(shuō)明系統(tǒng)中的重要細(xì)節(jié)。

      uml圖形的分類(lèi):包括靜態(tài)模型(static model)、動(dòng)態(tài)模型(dynamic model)。靜態(tài)建模目的是創(chuàng)建并記錄一個(gè)系統(tǒng)的靜態(tài)特征(如:類(lèi)包含的屬性和方法、用例中的參與者和用例以及用例之間的關(guān)系、對(duì)象之間的關(guān)系等)。靜態(tài)建模包括:用例圖、類(lèi)圖、對(duì)象圖、組件圖、部署圖;而動(dòng)態(tài)建模包括:時(shí)序圖(也稱(chēng)順序圖)、協(xié)作圖、狀態(tài)圖、活動(dòng)圖。


       靜態(tài)建模中的用例圖:它是用來(lái)展示系統(tǒng)的核心功能及其交互的用戶(hù)或系統(tǒng)等。

      =====================  用例圖========================
      1. 用例:系統(tǒng)為參與者提供的功能,一般取名為帶有動(dòng)作性的詞語(yǔ)。
      2. 用例之間的關(guān)系 --> 虛線 :
      a) 包含關(guān)系:大功能包含《include》子功能。
      b) 擴(kuò)展關(guān)系:將基用例中一段【相對(duì)獨(dú)立并且可選】的動(dòng)作,用擴(kuò)展《extends》用例加以封裝。 --虛線反向
      c) 泛化關(guān)系:一般和特殊(抽象類(lèi)/接口+實(shí)現(xiàn)類(lèi)/子類(lèi))的關(guān)系。實(shí)線三角形箭頭反向。

      下面用一張圖來(lái)說(shuō)明:


      總結(jié)

      今天只是開(kāi)了個(gè)頭,講了一下OOAD、OOP的幾個(gè)特征以及uml建模中的分類(lèi)(靜態(tài)、動(dòng)態(tài)建模),最后一個(gè)靜態(tài)建模中的用例圖來(lái)開(kāi)始了咱們的uml建模之旅。接下來(lái)會(huì)繼續(xù)講解uml中的剩下的幾個(gè)常用uml建模。


        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多