📄 oobject102301.htm
字号:
這些介面那些是最重要的。你該決定甚麼是你所根據的觀點,甚麼是你想要表達的。</font></p>
<p style="TEXT-INDENT: 32px"><font face="Comic Sans MS" color="#000000">當討論到某一件設計,還有你可能如何去變更它時,我發現圖型也是有用的。
假如你擁有一群設計師正致力於一項設計,嘗試在白板上繪製設計的草圖,描繪幾個替代方案。我發現我們在探討有關事物時,視覺化是很有效的辦法。(CRC
卡是另外一種有效的技術。)</font></p>
<p style="TEXT-INDENT: 32px"><font face="Comic Sans MS" color="#000000">這項技術有一點特別重要的變化,是發生在當我正與領域專家合作,嘗試去了解我們所要建構的系統時。在這種情況下,我使用最少的表示法,並且聚精會神於領域專家腦中所描述的概念,而不是思考任何特定的軟體情況。我發現教導這種概念上的塑模風格,對於沒有軟體背景的人士是相當容易的。
接下來,使用這些圖型,
我們能夠共同地發展出一套定義正確的字彙,用於討論領域相關事項,同時能夠提出對於討論及目的軟體皆有益的抽象概念,當我從事於如保健及金融貿易這類複雜的領域時,這對我而言是一大恩惠。</font></p>
<p style="TEXT-INDENT: 32px"><font face="Comic Sans MS" color="#000000">統一規格在此是有用的,乃因其可加強溝通的品質,當他們使用各種圖型式樣(diagramming
styles)與人溝通時,這種思想交流是困難的。擁有一個單一的標準,我們可以確認,假使人們懂得少許圖型式樣的話,他們一定懂得標準化的圖型。但是不要走過頭了,UML
包含許多表示法,並且沒有規定說你全部都必須用到。嘗試著運用這些表示法中適當地、少量的部分,不要使用進階的概念,除非它們確有必要。雖然你應該盡你所能去忠於標準,然我必須承認,如果需要的話,我並不害怕去篡改表示法。我不這樣做的原因,通常是每次篡改表示法就需要對此作說明,同時不是讀者所熟悉的,但是若這麼做能加強溝通,我就去做它。</font></p>
<p style="TEXT-INDENT: 32px"><font face="Comic Sans MS" color="#000000">所以,如果你是
UML
的新手,根據你所需傳達的想法去嘗試使用它,實驗可以了解那些可以做,以及那些不可以做。
透過實作去學習表示法,並且逐步地學習它。如果你對塑模表示法相當有經驗,促使自己去熟悉
UML,對你來說該不成問題,但是要當心理解過頭了。謹記其主要的目的,注意到如何讓你的圖型能良好地溝通,不要貿然使用較之你的讀者
能力上所能處理,更加以難懂的 UML
用法,同時記得有選擇性並突顯重要的資訊。</font></p>
<p> </p>
<table style="BORDER-COLLAPSE: collapse" cellSpacing="0" cellPadding="0" width="90%" bgColor="#ffccff" border="0">
<tbody>
<tr vAlign="top">
<td align="left">
<h3><font face="Comic Sans MS" size="3"><a name="Listing 1"><font color="#000000">列表
1. 對於圖解 1 所描述的 Java 介面</font></a></font></h3>
<pre><font face="Comic Sans MS" size="2"><font color="#000000">public abstract class Component {
public Container getParent();
public boolean isEnabled();
public boolean isVisible();
public void setEnabled (boolean b);
public void setVisible (boolean b);
...
}
public class Button extends Component {...}
public class Label extends Component {...}
// other component subclasses
public abstract class Container extends Component {
public Component add (Component comp);
public void remove (Component comp);
public Component[] getComponents();
public LayoutManager get Layout();
public void setLayout(LayoutManager mgr);
...
}
public class Panel extends Container {...}
public class Window extends Container {
public void show();
public void dispose();
...
}
public class Frame extends Window {
public String getTitle();
public void setTitle(String title);
public boolean isResizable();
public void setResizable (boolean b);
...
}
public class Dialog extends Window {
public String getTitle();
public void setTitle(String title);
public boolean isResizable();
public void setResizable (boolean b);
public boolean isModal();
public void setModal();
¡
}</font></font><font face="Comic Sans MS" size="3" color="#000000">
</font></pre>
</td>
</tr>
</tbody>
</table>
<p> </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 + -