<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    無為

    無為則可為,無為則至深!

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks

    請嘗試本文所介紹的技巧來創(chuàng)建有效的 UML 序列圖。本文改編自 The Object Primer 2nd Edition 的第 6 章。

    有一些方法可以幫助您提高 UML 序列圖的質(zhì)量和效力。它們包括:

    和主題問題專家一起驗證決策

    使解決方案盡量簡單

    為繪制消息和返回值選擇一種一致而有效的風(fēng)格

    將序列圖分層

    遵循一致的邏輯風(fēng)格

    牢記序列圖是動態(tài)的

     

    驗證決策
    在開發(fā) 1 序列圖的過程中,我做了一些對其它模型可能有潛在影響的決策。例如,在對第 10 步建模時,假設(shè)(大致上是個設(shè)計決策)費(fèi)用顯示屏幕同時也處理學(xué)生對費(fèi)用是否可接受所進(jìn)行的驗證。該決策應(yīng)該由用戶界面原型反映出來,并由主題問題專家 (SME) 進(jìn)行驗證。您應(yīng)該和 SME(特別是那些對于如何開發(fā)類似模型有著深刻見解的富有經(jīng)驗的人)一起執(zhí)行序列圖的繪制工作。

    保持簡單
    在對第 2 和第 3 步建模時,我忽然意識到學(xué)生可能應(yīng)該使用口令進(jìn)入系統(tǒng)。在向 SME 提出了這個概念后發(fā)覺我錯了:姓名和學(xué)號組合對于我們的目的來說已經(jīng)足夠唯一,并且學(xué)校也不希望增加復(fù)雜的口令管理。這是個很有意思的決策,因為這是學(xué)校的一個運(yùn)作策略,所以可以作為一條商業(yè)規(guī)則記載到增補(bǔ)規(guī)范中。通過與 SME 一起檢驗這個想法,而不是假定我比他們知道得更多,我避免了鍍金的機(jī)會,因而減少了我們小組開發(fā)這一系統(tǒng)所需的工作。

    繪制消息和返回值
    我更喜歡從左至右地繪制消息,從右至左地繪制返回值,盡管這樣對于復(fù)雜的對象/類來說不總是非常合適。我將消息上的標(biāo)簽和返回值對齊到離箭頭最近的位置。我不喜歡在序列圖上標(biāo)出返回值,為的是使圖盡可能地簡化。不過,始終標(biāo)出返回值也同樣有效,特別是在序列圖用于設(shè)計而不是分析目的時。(我希望我的分析圖盡量簡單,而設(shè)計圖盡量全面。)在分析期間,我的目標(biāo)是理解邏輯和確保邏輯的正確性。而在設(shè)計期間,則要賦予消息精確的細(xì)節(jié),如 1 中的注釋提醒我對 "qualifications()" 消息執(zhí)行的任務(wù)。

    將序列圖分層
    我喜歡將序列圖從左至右地分層。先標(biāo)出參與者,然后是控制器類,然后是用戶界面類,最后是商業(yè)類。在設(shè)計期間,可能需要添加系統(tǒng)類和持久類,我通常將它們放在序列圖的最右側(cè)。以這種方式將序列圖分層往往使它們更易于閱讀,并且更容易找出分層邏輯問題,例如用戶界面類直接訪問持久類(在今后的建模技巧中將對此做更多介紹)。

    遵循一致的邏輯風(fēng)格
    請注意,在 1 序列圖所示的過程中,邏輯風(fēng)格做了部分更改。一開始,特別是在登錄時,用戶界面處理一些基本邏輯 -- 而在選擇研習(xí)班,以及稍后的驗證時,則是控制器類進(jìn)行處理。這實際上是個設(shè)計問題。我不會在這個問題上糾纏太久,但和往常一樣,我建議選擇一種適合于您的建模風(fēng)格,然后始終如一地貫徹在所有序列圖中。

    牢記序列圖是動態(tài)的
    您可能聽說過諸如動態(tài)建模靜態(tài)建模這樣的術(shù)語,其他一些熟悉面向?qū)ο蠼<夹g(shù)的開發(fā)人員常常會提到它們。您甚至可能聽到過有關(guān)每種風(fēng)格的優(yōu)點的爭論。

    動態(tài)建模技術(shù)主要集中在標(biāo)識系統(tǒng)中的行為,包括序列圖的繪制和活動圖的繪制(請參閱如何繪制 UML 活動圖)以及 UML 協(xié)作圖的繪制。而靜態(tài)建模則集中在系統(tǒng)的靜態(tài)方面,包括類、它們的屬性,以及類之間的關(guān)聯(lián)。類模型和持久/數(shù)據(jù)模型一樣,都是靜態(tài)建模的主要產(chǎn)物。

    因此實際上沒有什么好爭論的 -- 要想恰如其分地說明面向?qū)ο笙到y(tǒng),同時需要動態(tài)和靜態(tài)建模技術(shù)。



    凡是有該標(biāo)志的文章,都是該blog博主Caoer(草兒)原創(chuàng),凡是索引、收藏
    、轉(zhuǎn)載請注明來處和原文作者。非常感謝。

    posted on 2005-12-20 21:19 草兒 閱讀(383) 評論(1)  編輯  收藏

    Feedback

    # re: UML要點與應(yīng)用 2006-05-25 19:15 pc
    http://www.kpwang.com/pc/view.jsp?board_id=1&article_id=20064823373 java開發(fā)的郵件發(fā)送程序 http://www.kpwang.com/pc/view.jsp?board_id=1&article_id=200648232011 Java進(jìn)階學(xué)習(xí):網(wǎng)絡(luò)服務(wù)器編程 http://www.kpwang.com/pc/view.jsp?board_id=1&article_id=20064823176 Java語言的Socket編程 http://www.kpwang.com/pc/view.jsp?board_id=1&article_id=200648231527 Java數(shù)據(jù)報之失序和丟包  回復(fù)  更多評論
      


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 最近免费中文字幕mv电影| 亚洲性久久久影院| 国产亚洲精品激情都市| 亚洲国产精品精华液| 98精品全国免费观看视频| 国产aⅴ无码专区亚洲av麻豆| 色窝窝亚洲AV网在线观看| 免费福利网站在线观看| 亚洲宅男天堂a在线| 亚洲精品美女久久久久| 亚洲欧洲日韩国产| 成年在线观看网站免费| 久久久久亚洲精品美女| 黄 色一级 成 人网站免费| 免费乱码中文字幕网站| 亚洲精品无码人妻无码| 两性刺激生活片免费视频| 美女羞羞视频免费网站| 波多野结衣免费视频观看| 日韩免费高清大片在线| 国产亚洲综合视频| av在线亚洲欧洲日产一区二区| 亚洲免费一级视频| 亚洲一区二区三区免费视频| 69免费视频大片| 亚洲欧美成人av在线观看| 国产亚洲精品一品区99热| 久艹视频在线免费观看| 亚洲第一极品精品无码久久| 久久久久免费精品国产| 久久久久亚洲AV无码永不| 2021精品国产品免费观看| 久久性生大片免费观看性| 激情小说亚洲色图| 亚洲第一成年男人的天堂| 亚洲成a人片在线播放| 国产综合成人亚洲区| 亚洲视频在线免费看| 午夜免费不卡毛片完整版| 亚洲AV无码AV男人的天堂不卡| 国产亚洲色视频在线|