日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[转]四色原型图

發(fā)布時間:2023/12/31 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]四色原型图 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

四色原型是誕生于90年代,現(xiàn)在被廣泛使用的一種系統(tǒng)分析方法,如Borland的Together架構(gòu)師版,準(zhǔn)確地說,是由Peter Coad 和 Mark Mayfield首先提出[Coad92],然后由David North拓展[Coad95-97]

  • moment-interval
  • role
  • catalog-entry-like description
  • party, place or thing
  •   前面已經(jīng)說過,域建模是整個軟件系統(tǒng)的龍頭,在現(xiàn)代Java技術(shù)如JiveJdon3.0開始之前,我們都是需要領(lǐng)域建模,也就是在UML中畫出類圖,然后標(biāo)記上類圖四種關(guān)系(關(guān)聯(lián)、依賴、繼承和實現(xiàn)),但是這些只是UML圖的表面,只是一種畫圖技巧,就象CAD畫圖一樣,你可能沒有被告知:這個類圖是怎么出來的?為什么選用關(guān)聯(lián)而不是依賴,這些實際都屬于分析領(lǐng)域的知識,而四色圖可以說為我們這種分析提煉提供了一種模板或分析框架,這樣我們可以按圖索驥去分析每個陌生的系統(tǒng),我們擁有強大的分析方法工具。

    moment-interval archetype
      這是一個很重要的原型,重要在于時間概念上:某個時刻(moment)或一段很短時間(interval)內(nèi). 意味在某個時刻發(fā)生的事情因為業(yè)務(wù)要求或合法性原因需要跟蹤;或者過一段時間以后,應(yīng)該是很短的時間,可以幫助我們尋找到它。

      賣東西是在某個時刻發(fā)生的,它有發(fā)生日期和時間。租賃行為是在一段時間內(nèi)發(fā)生,從開始出租和歸還所租物品;預(yù)定也是持續(xù)一段時間,什么時候預(yù)定;什么時候過期等。

      這些我們都使用moment-interval原型來表達(dá),UML圖如下:

    ?? ??

      Moment-intervals是和組件模型捆綁在一起,代表了組件模塊關(guān)注的核心和靈魂,在一個Model中,Moment-intervals經(jīng)常封裝的是最關(guān)鍵的方法,為讓其顯目,moment-interval的UML圖我們使用粉紅顏色表示。在代碼上用@標(biāo)識符標(biāo)識:

    /** @archetype moment-interval*/
    public class Sale {
      public BigDecimal calcTotal(){
      }
      private int number;
      private Date date;
    }

      在任何領(lǐng)域中,我們都能尋找moment-intervals原型并且開始建模,在原材料資源管理系統(tǒng)中,我們可以這樣對待從報價單(RFQ)到購買訂單(PO)直至發(fā)票,在一個制造管理系統(tǒng)中,我們也就可以將一個計劃的過程和步驟分析到實際過程和詳細(xì)步驟。

      原型在幫助指導(dǎo)建模方面一個有效方式是:它能標(biāo)識那些被包含在Model模型中的類(Classes)以便于區(qū)分,原型不只是簡化了類的區(qū)別;原型還可以區(qū)分類的行為職責(zé)(responsibilities),例如類的屬性,方法等。

    role archetype

      角色原型比較容易理解,任何一個系統(tǒng)都需要人或某個組織介入運行,例如論壇系統(tǒng)需要注冊者角色發(fā)言;銷售訂單需要業(yè)務(wù)員角色制定,等等。

      這里有一個Party原型定義:它表示一個可標(biāo)識、可定位的單元,這個單元有自己正常的狀態(tài)并且能夠自主控制自己的一些行為,通常情況下,人或組織是一種Party,但象護照,身份證等注冊性標(biāo)志等都可以作為Party。

      注意,并不是說Party或人或組織就是Role原型,必須Party或人或組織參與一種活動后才為角色,就象張三在電影中表演皇帝,他只有參與電影表演才是皇帝角色;李四在XX公司的角色才是經(jīng)理,他只有參與這家公司運作才是角色經(jīng)理;否則他們只是一個Party原型。

      所以,Role角色是Party扮演的(a role that a Party plays),Party是角色Role的扮演者(role-player)。

      當(dāng)我們在建模時,對于一個角色扮演者,可以有他自己的核心屬性如名稱、年齡(以人為例子),也可以有與業(yè)務(wù)相關(guān)的方法,比如一個小店,當(dāng)?shù)昀习迦ナ斟X時,他的角色就是收銀員(cashier),此時可以將與收銀員角色相關(guān)業(yè)務(wù)特點加于其上;當(dāng)然,同時他也可以是老板(Owner)角色。那么下圖中authorizedFor方法就是參與每個角色的行為,當(dāng)他作為某個角色被授權(quán)登錄后,與此角色相關(guān)的業(yè)務(wù)特點就應(yīng)用在他身上。

      大家已經(jīng)注意到了:角色原型在UML中是使用黃顏色標(biāo)識的。角色模型是第二重要的原型,所以使用黃色。

      我們已經(jīng)知道,Party是一個又自主行為、能夠控制自己行為的表示,如人或組織,還有其他沒有自主行為的表示,也就是某個地方或位置或某個事情,我們一般稱( place, or thing),不但Party可以成為角色,而且 place或thing也可以成為角色,比如,一個商品Product可能又兩種角色:在銷售過程中商品;正在使用的商品。

    party, place, or thing archetype

      上面我們說過,party place或thing都可以成為角色原型,注意到角色原型中的UML圖,party圖是以綠色表達(dá)。

      Party表示有自己正常的狀態(tài)并且能夠自主控制自己的一些行為,通常情況下,人或組織是一種Party,但象護照,身份證等注冊性標(biāo)志等都可以作為Party。

      Place or thing表示一樣不會說話沒有行為的東西,例如商品,當(dāng)然這個商品可以扮演不同角色,既可以是零售的一個電源插座;也可以批發(fā)系統(tǒng)中的一個電源插座,它是被賣的,可能在不同業(yè)務(wù)系統(tǒng)被賣的方式不一樣。

    description archetype

      種類description原型其實是第三重要的原型,一般情況下,它類似目錄級別catalog-entry-like的種類,例如某個商品電源插座屬于家用電器這個種類,當(dāng)然家用電器又屬于電器這個目錄,是一個樹形的目錄結(jié)構(gòu)。例如論壇中帖子和回帖之間也是一種種類原型。

      比如你的紅色福克斯是福特生產(chǎn)的一輛轎車,它有車牌號、購買日期、顏色和里程表等,這些代表Thing原型,那么作為轎車這個種類來說,它有一些種類屬性,例如:生產(chǎn)廠家、生產(chǎn)批號、適用顏色等,這些屬性是轎車這類所有車輛都共有的。

      在設(shè)計模式這個實現(xiàn)級別,我們通常使用組合模式來實現(xiàn)種類原型。

      
      Description原型在UML中使用藍(lán)色表達(dá)。

    四色原型圖

      每個原型圖有屬性和連接(關(guān)聯(lián) 依賴等關(guān)系)兩個部分組成。


    =====================分割線====================

    ?

    2.5.?舉例

    比如,“人”就是一個Desc,而“亞洲人”、“黃種人”也是一個Desc,亞洲人和黃種人都屬于“人”這個Desc的子Desc,即Desc可以是一個樹結(jié)構(gòu)。

    具體到每一個人的時候,“張三”、“李四”就是一個PPT了。因為張三和李四是獨一無二的,他們都有唯一標(biāo)識符可以被識別、區(qū)分(比如身份証號、指紋等,視不同的系統(tǒng)需求采用不同的唯一標(biāo)識)。

    ?

    ?

    2.6.?總結(jié)

    如果以PPT為中心,那么以上概念可以總結(jié)為:什么東西(人或事物)通過什么方式(身份)進行什么操作(業(yè)務(wù))。

    即當(dāng)?PPT是Role時,可以調(diào)用MI。例如當(dāng)張三是學(xué)生時,可以去上課。

    如果以Desc為中心,那么以上概念可以總結(jié)為:什么什么類型的東西進行什么操作(業(yè)務(wù))。

    即MI調(diào)用Desc。例如人都可以睡覺。

    規(guī)則1:PPT不能直接與 MI打交道,它必須通過Role或者Desc才能操縱MI。

    為什么要隔絕MI直接訪問 PPT?

    如果MI直接訪問PPT會帶來以下問題:

    1.?PPT如果直接參與MI,那么PPT就會擁有MI 環(huán)境中的屬性,比如電腦在維修時必須記錄維修結(jié)果,在銷售時必須記錄售價,那么PPT隨著MI的增加會不斷地膨脹,每增加一種MI,PPT就要修改一次。

    2.?兩個MI之間業(yè)務(wù)是完全不同的,PPT中有些屬性對某一個MI來說,根本是無用的。例如電腦的價格,對維修來說是無用的。

    3.?MI直接使用PPT,還會帶來MI之間的資料隔絕性問題。有些PPT的屬性對某一MI是不允許訪問的,如果MI直接使用PPT,那么就無法保密資料。

    例如,電腦的折扣可能是保密的,不應(yīng)該讓維修知道。

    增加Role之后,上述問題迎刃而解:

    每增加一種PPT,就相應(yīng)地增加一個 Role,凡是與此MI相關(guān)的屬性,都放在Role中。這樣既避免了PPT的頻繁修改,也避免了資料訪問的問題。

    可以這么描述Role:只有當(dāng)事物(PPT)具有某個身份(Role)時,它才擁有與業(yè)務(wù)(MI)相關(guān)的屬性(字段和方法)。

    4.?特征驅(qū)動開發(fā)

    4.1.?特征

    特征是一個具有客戶價值的功能。

    特征描述的模板:

    <action>?the?<result>?<by?|?for?|?of?|?to>?a(n)?<object>

    object表示一個人、地點或物品,即包括角色、時刻時段、分類目錄條目的描述。

    例如:

    Calculate?the?total?of?a?sale(計算一次銷售的總額)。

    Calculate?the?total?purchase?by?a?customer(計算一個客戶總采購額)。

    4.2.?特征集

    特征集是一組業(yè)務(wù)上相關(guān)的特征。

    特征集描述的模板:

    <action><-ing>?a(n)?<object>

    <object>?management

    例如:

    making?a?product?sale(進行一次產(chǎn)品銷售)。

    5.?為什么需要四色原型分析

    一個模塊,必須有活動(MI)、參加活動的對象(Role),以及活動資源(PPT),才能組成一個有業(yè)務(wù)含義的模塊。

    ?

    ?

    總結(jié)

    以上是生活随笔為你收集整理的[转]四色原型图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。