📄 oobject102302.htm
字号:
<a href="#h4">圖例 </a></font><font face="新細明體" color="#000000"><a href="#h4">3</a>
</font><font color="#000000">呈現出這樣的結果。</font></p>
<p><a name="h2"><b><font color="#000000">圖例 </font><font face="新細明體" color="#000000">1.
</font><font color="#000000">大學系統中部份的使用案例模型</font></b></a><font color="#000000"><br>
<img height="494" alt="Partial use case model for a university system" src="pkg-fig1.gif" tppabs="http://www.dotspace.twmail.net/umlcolumn/articles/umlwriting/image/pkg-fig1.gif" width="565" border="0"></font></p>
<p><a name="h3"><b><font color="#000000">圖例 </font><font face="新細明體" color="#000000">2.
</font><font color="#000000">運用套件</font><font face="新細明體" color="#000000">(packages)</font><font color="#000000">來組織使用案例模型</font><font face="新細明體"><font color="#000000" face="Comic Sans MS">(use
case model)</font></font></b></a><font face="新細明體"><font color="#000000" face="Comic Sans MS"><br>
<img height="320" alt="A use case model organized with packages" src="pkg-fig2.gif" tppabs="http://www.dotspace.twmail.net/umlcolumn/articles/umlwriting/image/pkg-fig2.gif" width="506" border="0"></font></p>
</font>
<p><b><a name="h4"><font color="#000000">圖例 </font><font face="新細明體" color="#000000">3.
</font><font color="#000000">「研究班註冊管理」的套件</font><font face="新細明體"><font face="Comic Sans MS" color="#000000">(package</font></font></a><font face="新細明體"><font face="Comic Sans MS" color="#000000">)</b><br>
<img height="284" alt="The Manage Seminar Registration package" src="pkg-fig3.gif" tppabs="http://www.dotspace.twmail.net/umlcolumn/articles/umlwriting/image/pkg-fig3.gif" width="519" border="0"></font></p>
</font>
<p><b><span class="atitle2"><a name="h5"><font color="#000000">應用套件的經驗法則</font><font face="新細明體" color="#000000">(Rules
of thumb for applying packages</font></a><font face="新細明體" color="#000000">)</font></span></b><font face="新細明體" color="#000000"><br>
</font><font color="#000000"> </font></p>
<ul>
<li><b><font color="#000000">當圖型變得凌亂無章時應用套件</font></b><font color="#000000"><br>
我只有當圖型變得龐大時才會使用套件,這通常意味著不能夠在單一頁裡列印這些圖型。使用套件能將大型的圖型組織成數個小型的圖型,圖型內應該有五到九個泡泡</font><font face="Comic Sans MS" color="#000000">(7
+/- 2 bubbles)</font><font color="#000000">是一種好的嘗試,在這裡的每個泡泡就是使用案例或類別。<br>
<br>
</font></li>
<li><b><font color="#000000">套件應該具有凝聚性</font></b><font color="#000000"><br>
當考量套件其他的內容時,你放進套件的任何東西應該都具有意義的。假如你能夠給套件簡短且具描述性的名稱,則它看來就像具有凝聚性,假使無法做到,你可能會把幾個不相關的東西放進套件內。<br>
<br>
</font></li>
<li><b><font color="#000000">針對使用案例圖,從相關的使用案例圖開始著手</font></b><font color="#000000"><br>
為了識別套件使用那些使用案例圖,我喜歡從使用案例與另外一個使用案例之間具有延伸</font><font face="Comic Sans MS" color="#000000">(extend)</font><font color="#000000">及包含</font><font face="Comic Sans MS" color="#000000">(include)</font><font color="#000000">的結合關係開始著手。我嘗試把具有包含及延伸關係的使用案例歸類在相同的套件內,當作是基礎或親代使用案例</font><font face="Comic Sans MS" color="#000000">(base/parent
use case)</font><font color="#000000">,這個規則可以運作得很好,因為通常引出這些使用案例,是以自基礎或親代使用案例中「抽出</font><font face="Comic Sans MS" color="#000000">(pulling
out)</font><font color="#000000">」它們必然性的結果</font><font face="Comic Sans MS" color="#000000">(logic)</font><font color="#000000">開始。之後我分析這些使用案例,包含與這些使用案例有關的主要參與者</font><font face="Comic Sans MS" color="#000000">(actors)</font><font color="#000000">,你將會發現每個與你的系統經常互動的參與者,多少會達到幾個主要的目的;舉個例子來說,在你的系統裡學生的活動有大學註冊</font><font face="Comic Sans MS" color="#000000">(enroll
in the university)</font><font color="#000000">、管理課程表</font><font face="Comic Sans MS" color="#000000">(manage
their schedules)</font><font color="#000000">、以及管理他與大學之間的財務契約</font><font face="Comic Sans MS" color="#000000">(manage
their financial obligations)</font><font color="#000000">。<br>
<br>
</font></li>
<li><font face="Comic Sans MS" color="#000000"><b>針對類別圖,則從相關的類別圖開始著手</b><br>
關於 UML
類別圖,我以類似的方法為例。首先,相同繼承階層的類別通常歸類在相同的套件,其次,通常經由聚合關係(aggregation
)或合成關係(composition)與另一個類別相關聯,這些類別
也可歸類在相同的套件,第三,類別與其他一群個別類別間的共同合作,即是在你的循序圖(sequence
diagrams)及合作圖(collaboration diagrams)裡所反映出來的資訊,這群類別通常歸類在相同的套件。第四,為了讓你的套件具有凝聚性的渴望,將驅使你做出更多如何把類別放進套件中的決定。</font></li>
</ul>
<p> </p>
<p><font face="Comic Sans MS"><b><a name="resources"><span class="atitle2"><font color="#000000">參考資料</font></span></a></b></font></p>
<ul>
<li><font face="Comic Sans MS"><a href="javascript:if(confirm('http://www.ambysoft.com/theObjectPrimer.html \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ambysoft.com/theObjectPrimer.html'" tppabs="http://www.ambysoft.com/theObjectPrimer.html"><i><font color="#000000">The
Object Primer 2nd Edition</font></i><font color="#000000"> </font></a><font color="#000000">by
Scott W. Ambler. New York: Cambridge University Press, 2000.</font></font></li>
<li><font color="#000000" face="Comic Sans MS"><a href="javascript:if(confirm('http://search.borders.com/fcgi-bin/db2www/search/search.d2w/Details?&mediaType=Book&prodID=2429387 \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://search.borders.com/fcgi-bin/db2www/search/search.d2w/Details?&mediaType=Book&prodID=2429387'" tppabs="http://search.borders.com/fcgi-bin/db2www/search/search.d2w/Details?&mediaType=Book&prodID=2429387"><i>The
Unified Modeling Language Reference Manual</i> </a>by James
Rumbaugh, Grady Booch, and Ivar Jacobson. Reading, MA:
Addison-Wesley Longman, Inc., 1999.</font></li>
</ul>
<p><font color="#000000"> </font>
<p><font color="#000000"><font face="Comic Sans MS"><a name="author1"><b><span class="atitle2">關於作者</span></b><br>
<img height="80" alt src="scottambler.jpg" tppabs="http://www.dotspace.twmail.net/umlcolumn/articles/umlwriting/image/scottambler.jpg" width="64" align="left" border="0"></a></font><font face="新細明體"><a name="author"><font face="Comic Sans MS">Scott
W. Ambler </font>是 </a><font face="Comic Sans MS"><a href="javascript:if(confirm('http://www.ronin-intl.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ronin-intl.com/'" tppabs="http://www.ronin-intl.com/">Ronin
International</a> </font>的總裁,該公司是一家專門提供物件導向過程指導、體系結構塑模和
<font face="Comic Sans MS">Enterprise JavaBean (EJB) </font>開發的諮詢企業。他個人創作或者與其他人合著了幾本有關物件導向開發的書籍,包括最近出版的
<font face="Comic Sans MS"><i>The Object Primer 2nd Edition</i></font>,該書詳細介紹了本文所概述的主題。
可以透過 <font face="Comic Sans MS"> <a href="mailto:scott.ambler@ronin-intl.com">scott.ambler@ronin-intl.com</a>
</font>與他聯繫,他的網站位於 <font face="Comic Sans MS"><a href="javascript:if(confirm('http://www.ambysoft.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ambysoft.com/'" tppabs="http://www.ambysoft.com/">www.ambysoft.com</a></font>。</font></font></td>
</tr>
</table>
<!-- #EndEditable --></td>
</tr>
</table>
<table width="760" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
<hr>
<span class="copyright"> 版权所有:UML软件工程组织 </span></td>
</tr>
</table>
</body>
<!-- InstanceEnd --></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -