Index: [Article Count Order] [Thread]

Date:  Wed, 20 Aug 2003 13:01:48 +0900
Subject:  【オブジェクト倶楽部:2003-10号】

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          No.10 2003/08/20

■ I N D E X
┃
┣【UML入門】JudeではじめるUML [4]
┗【書籍紹介】UMLモデリングのエッセンス 第2版

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━1 s t ■━
■
┗【UML入門】JudeではじめるUML [4]

前回は、クラス図の基本を説明しました。クラス図は静的な構造を表現する図
でした。
UMLには動的な振舞いを表現する図もあります。その一つが今回取り上げるシー
ケンス図です。

*シーケンス図とは

シーケンス図は、オブジェクト間のメッセージのやりとりを表現する図の一つ
です。
水平方向にオブジェクトを配置し、垂直方向を時間としてメッセージのやりと
り(処理の流れ)を矢印によって表現します。

前回までの寿司注文システムについて、注文処理のシーケンス図を描いた例は、
次です。
http://ObjectClub.esm.co.jp/ml-arch/magazine/magazine10/jude_UML4.html

この図では、お客さんがシステムに対して注文手続きをすると、注文オブジェ
クトが生成され(2.1)、その後、生成された注文オブジェクトが注文伝票オブ
ジェクトに追加登録されること(2.2)と、その注文追加処理中に、合計金額の再
計算が行われること(2.2.1)が表現されています。

オブジェクトとメッセージが主な構成要素で、メッセージにはいくつかの種類
があります。
アクティベーション(オブジェクトの活性区間)を表示しないこともありますが、
表示することでメッセージの呼び出し関係をわかりやすくできます。


*Judeでシーケンス図を描いてみる

Judeを使って、自分の手で描いてみましょう。
1)シーケンス図の作成
 左側のツリーにおいて、操作またはユースケースを右クリックします。表示
 されるメニューから「シーケンス図の作成」を選択します。すると生成され
 た図が表示されます。
 注意:Judeでは、シーケンス図をパッケージやクラスの下に生成できません。
    あらかじめ、適当な操作またはユースケースを作成しておく必要があ
    ります。

2)オブジェクトの作成
 図の上のオブジェクト作成ボタンにより作成する方法と、クラスをツリーか
 ら図にドラッグする方法があります。ドラッグによる作成の方が、クラスの
 設定が不要になり便利です。
 オブジェクトには、”オブジェクト名:クラス名”と表示されますが、一部
 を省略しても構いません。前の例では、オブジェクト名を省略しています。

3)メッセージの作成
3-1)メッセージの作成
  図の上のメッセージ作成ボタンにより作成します。ボタンを押し、メッセー
  ジ作成モードにして、矢印の始点と終点を順にクリックします。
3-2)操作の対応付け
  メッセージ名は、メッセージのプロパティで直接設定できます。メッセー
  ジをクラスの操作に対応付けると、クラス図とシーケンス図の整合性を保
  ちやすくなります。
  メッセージを選択した時に、左下に表示されるプロパティビューの「操作」
  欄で、操作を割り当てることが可能です。そこで、呼び出し先のクラスに
  定義されている操作を選択するか、「新規作成」ボタンにより新しい操作
  を追加します。その後は、クラス図で操作名を変更すると自動的にシーケ
  ンス図も更新されます。
3-3)パラメータの設定
  メッセージのプロパティの「引数」欄に直接入力します。

シーケンス図を描くことで、クラスの操作の漏れに気づいたり、考慮漏れが見
つかることがあります。
全操作について、シーケンス図を描いていくのはかなり労力がいります。まず
は重要と思われる操作について描いてみるのがいいでしょう。
次回は、また別の図を描いてみましょう。(岡村)

今日のUMLクイズ
次のうち正しいものを選択してください。(複数選択可)

ア. シーケンス図は、オブジェクト間のメッセージのやりとりを時系列に表現
  する図である。
イ. シーケンス図は、クラス間の関係を含む静的な構造を表現する。
ウ. メッセージには、CreateメッセージやDestoryメッセージ、Returnメッセー
  ジなどの種類がある。
エ. ある活性区間Aから同期メッセージMが送信されている場合、Mの受信側の活
  性区間Bの水平方向の位置は、Aの範囲に含まれている必要がある。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━2 n d ■━
■
┗【書籍紹介】UMLモデリングのエッセンス 第2版

http://www.amazon.co.jp/exec/obidos/ASIN/4881358642/xpjp-22/

書評の第一弾として、Meyerの『オブジェクト指向入門』について書いたとこ
ろ、「今度は是非UMLの良書を紹介して頂きたい」というフィードバックを頂き
ました(建設システムの立川さん)。
ということで、今回は、

「1冊だけUMLの本を紹介してください」と言われたら私が迷わず手渡すであろ
う本を紹介します。

この本は、第1版と第2版で日本の出版社が違うのですが、第2版
の方をお勧めします(訳者は同じ、羽生田栄一さんです)。

まず、著者の一人、Martin Fowler は『アナリシスパターン』や『リファクタ
リング』などの傑作で有名ですね。XPコミュニティを先導している一人でもあ
ります。

この本がなぜよいか? 以下に理由を挙げます。

(1)薄い

現在、UMLは細部まで突き詰めるととんでもなく大きい仕様になってしまいまし
た。おそらく、UMLの文法と意味をすべて正確に理解している人はいないでしょ
う。
この本では、現実の開発でのコミュニケーションに必要なUMLについて、「十分
正しく使える」というレベルで解説されています。

(2)プロセスについても触れている

UMLは単なる記法です。UMLを利用するには、開発プロセスが必要です。
本書では、RUPについて(XPについてもほんの少々)書かれています。
また、固いプロセスでなく、CRCカードのような柔らかい設計手法についても触
れています。さらに、パターンやリファクタリングなどについての簡単なコラ
ムもあり、まさにバランスが取れた内容になっています。

(3)題名がステキ

原題は、"UML Distilled"(UMLの上澄み、精選UML)なのですが、羽生田さんは、
「UMLモデリングのエッセンス」と訳しています。Distilled を一旦日本語とし
て理解し、それを再度カタカナ英語に置きなおしているセンスに脱帽です。

UMLを実際に利用している方で、もし、そんなことはないと思いますが、万が一、
本当にこの本を読んだことがない人は(笑)、是非読んでみて、後輩に勧めて
ください。座右のUML辞書がわりにも使えます(私はそうしています)。

また、実際に手を動かしてUMLを身につけたい、という方にはぴったりの拙著も、
合わせて紹介します。(平鍋)

『UMLワークブック』
http://www.amazon.co.jp/exec/obidos/ASIN/4798101931/xpjp-22/

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記

こんにちは、編集人です。
オブジェクト倶楽部サイトでは、一応、各ページのアクセス数を記録している
のですが、通常、TOPのアクセス数を誇っているのは
XP-jp ** Extreme Programming Mailing List and FAQというXPのページなんで
すね。オブジェクト倶楽部の知名度は、ほとんどここにあると言っても良いの
ですが、先週、とうとう、アクセス数トップの座がJudeページに奪われました!
週次のDOWNLOAD数も、相当数に達しているようです。
これも岡村さん率いるJudeチームの努力の結果ですね。
皆さん、Judeの動向に、これからも注目してください。

これ、逆に言うと、オブジェクト倶楽部のTOPページのアクセス数が、実は寂し
い限りなんですね^_^;もっと内容を充実させねば。。。

(いりさ)

今日のUMLクイズの答え ア、ウ、エ

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
● ご意見、ご感想は         ⇒このメールに返信ください
〇 配信中止、アドレス変更は ⇒http://www.ObjectClub.jp/mlmagazine_help.html
〇 免責事項、過去の記事は   ⇒http://www.ObjectClub.jp/mlmagazine.html
■ 発行:オブジェクト倶楽部 ⇒http://www.ObjectClub.jp/
■ 編集代表:平鍋  健児
Copyright (c)2003 オブジェクト倶楽部. All Rights Reserved.
powered by Eiwa System Management, Inc.