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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

[转]四色原型图

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

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

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

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

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

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

    ?? ??

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

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

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

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

    role archetype

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

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

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

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

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

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

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

    party, place, or thing archetype

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

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

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

    description archetype

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

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

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

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

    四色原型圖

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


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

    ?

    2.5.?舉例

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

    具體到每一個(gè)人的時(shí)候,“張三”、“李四”就是一個(gè)PPT了。因?yàn)閺埲屠钏氖仟?dú)一無(wú)二的,他們都有唯一標(biāo)識(shí)符可以被識(shí)別、區(qū)分(比如身份証號(hào)、指紋等,視不同的系統(tǒng)需求采用不同的唯一標(biāo)識(shí))。

    ?

    ?

    2.6.?總結(jié)

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

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

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

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

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

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

    如果MI直接訪問PPT會(huì)帶來(lái)以下問題:

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

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

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

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

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

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

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

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

    4.1.?特征

    特征是一個(gè)具有客戶價(jià)值的功能。

    特征描述的模板:

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

    object表示一個(gè)人、地點(diǎn)或物品,即包括角色、時(shí)刻時(shí)段、分類目錄條目的描述。

    例如:

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

    Calculate?the?total?purchase?by?a?customer(計(jì)算一個(gè)客戶總采購(gòu)額)。

    4.2.?特征集

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

    特征集描述的模板:

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

    <object>?management

    例如:

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

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

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

    ?

    ?

    總結(jié)

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

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