<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)航:
     
    主站蜘蛛池模板: www免费插插视频| 亚洲四虎永久在线播放| 亚欧在线精品免费观看一区| 国产99视频精品免费视频76| 亚洲国产成人精品无码区花野真一| 亚洲视频免费在线观看| 亚洲熟妇av一区二区三区漫画| 国产成人免费a在线视频app| 中文字幕人成无码免费视频| 亚洲精品国产免费| 男人都懂www深夜免费网站| 一区二区视频免费观看| 美女被艹免费视频| 亚洲AV无码国产剧情| 亚洲小说图区综合在线| 精品日韩99亚洲的在线发布| 亚洲第一永久在线观看| 亚洲一区二区三区日本久久九| 亚洲av最新在线网址| 亚洲精品午夜无码专区| 亚洲伊人久久精品影院| 亚洲综合无码AV一区二区| 亚洲成AV人网址| 亚洲国产精品尤物yw在线| 亚洲第一网站男人都懂| 亚洲第一页综合图片自拍| 亚洲精品无码av天堂| 久久亚洲中文字幕精品一区| 中文字幕亚洲无线码a| 亚洲午夜福利717| 亚洲国产精品一区二区第一页| 国产精一品亚洲二区在线播放| 国产精品亚洲а∨无码播放| 亚洲精品成人无限看| 亚洲AV午夜成人片| 自怕偷自怕亚洲精品| 亚洲精品视频在线观看视频| 亚洲人成片在线观看| 亚洲无人区码一二三码区别图片| 亚洲AV日韩综合一区| 日本永久免费a∨在线视频|