Date:  Fri, 01 Apr 2005 13:00:04 +0900
Subject:  【オブジェクト倶楽部: 号外】

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          号外 2005/04/01

■ I N D E X
┃
┣【Topics】ライプトアと提携することになりました!
┣【Topics】「オブジェクト倶楽部イベント」開催決定!
┣【Topics】モデリングコンテスト開催のおしらせ
┣【PF】プロジェクトファシリテータ認定試験対策講座[3] - 朝会(その2)
┗【News】Rubyが制約言語に正式採用へ

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇  ライプトアと提携することになりました!
  〇 〇━━━━━━━━━━━━━ ━━・ 

このたび、オブジェクト倶楽部(通称、オブLOVE)はライプトアと提携し、技術
情報発信サイトの運営を行う組織として独立し、法人化することになりました。
これまで、オブLOVEは、オブジェクト指向やアジャイルプロセスを中心とした
技術情報を発信してきましたが、さらにネットワークセキュリティ情報や、イ
ンタネットビジネス情報が充実することになります。新コンテンツとして、オ
ブLOVE編集室WebCamライブ配信も予定しています。
また、資金調達の問題が解消され、「オブジェクト指向実践者の集い」をこれ
までの年2回開催から、4回に増加します。参加費は、懇親会、交通費、宿泊費
も含め無料となります。
これからも、変わらぬご愛顧をお願いします。

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇  「オブジェクト倶楽部イベント」開催決定!
  〇 〇━━━━━━━━━━━━━ ━━・ 

おなじみ、オブジェクト倶楽部のイベントのご案内です。開催場所はなんとラ
スベガス!ショー(主賓講演)はハニワダさん。シルク・ドゥ・ソレイユに勝る
とも言われるMVCダンスをご覧になれます。WSはグランドキャニオンで実施。ア
ジャイルチーム VS ウォーターフォールチームのコロラド川下りです。懇親会
会場には、オブLOVE特製スロットマシーン、XPカード使用のブラックジャック
コーナーを設置いたしました。今までにないイベントになること間違いなし!
みなさんの参加をを心待ちにしています。

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇  モデリングコンテスト開催のおしらせ
  〇 〇━━━━━━━━━━━━━ ━━・ 

モデリング道場メーリングリストで開催しておりますモデリングコンテスト、
第69回の開催をおしらせします。次回のお題は「世界経済」。
全世界のあらゆる経済活動の複雑なつながりを、ミクロとマクロの視点を交え
ながらズバッ!とシンプルなモデルにしてみましょう。UMLの本領発揮です。
クラス図とシーケンス図を1枚ずつ描くだけなので、初心者も参加できます。
なお、お題はダウンロード提供します。HDDを2GBほど空けておいてください。
 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━1 s t ■━
■
┗【PF】プロジェクトファシリテータ認定試験対策講座[3] - 朝会(その2)

こんにちは、天野勝です。
プロジェクトファシリテータ認定資格(Certified Project Facilitator)対策講
座の時間がやってきました。みなさん、心の準備はOKですか。
早速問題とその解説を・・・と、その前にお知らせがあります。
なんと、この日本発の「プロジェクトファシリテーション」がISOの規格として、
採用されるかもしれません。
ISO/IEC TR 16326:1999
Software engineering -- Guide for the application of ISO/IEC 12207 to
project management
という規格ファミリーの一つとして、プロジェクトファシリテーションを採用
したいと、連絡が来ました。現在、メールベースで情報交換(英語苦手なんです
よ)をしていますが、来月には渡米して詳細を詰めてきます。さて、どうなるこ
とやら。状況を、この連載の中でちょこちょこ紹介していきますので、皆さん
要チェックです!
では、今回の問題いってみましょう!

■問題■
朝会で、いつも小さい声で発言をしているA君に、なんとかもっと大きい声で発
言して欲しいと思っている。しかし、「もっと大きな声でお願いします」とお
願いしても、改善される様子がない。
このときの正しい対策を選択せよ。

 (1)プロジェクトから外す
 (2)「大きな声を出したらお菓子をあげる」等のインセンティブをちらつか
      せる
 (3)「小さな声ならばお菓子禁止」等の罰則ををちらつかせる
 (4)A君が発言する番になったら、輪を小さくして全員でA君の顔に耳を
  近づける

■解説■
朝会は、その日の仕事をスタートさせる大事な儀式です。ここで、気持ちが暗
くなってしまってはモチベーションもあがりません。ぜひとも、元気よく行い
たいものです。
 (1)誤り。これは最終手段です。短絡的に、このような手段をとるのは避けま
     しょう。
 (2)誤り。アメでつるのも一つの手ですが、人間はすぐに慣れてしまって、よ
     り大きなインセンティブを求めるようになってしまいます。
 (3)誤り。さほど苦痛ではない罰則だと、その罰則を受け入れてしまい、改善
     につながらない場合があります。より苦痛な罰則も考えられますが、人道
     上、避けるべきでしょう。
 (4)正解。相手が変わらないならば、自分を変えるという姿勢が大事です。

次回は、ふりかえりミーティングを取り上げます。こう、ご期待。(天野勝)
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/cgi-bin/question.cgi?H003+8+0
普通:
http://www.ObjectClub.jp/cgi-bin/question.cgi?H003+8+1
イマイチ:
http://www.ObjectClub.jp/cgi-bin/question.cgi?H003+8+2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━2 n d ■━
■
┗【News】Rubyが制約言語に正式採用へ

オプジェクト倶楽部特捜部が最新ニュースをゲットしました。なななんと、オ
ブジェクト制約言語であるOCL(Object Constraint Language)に代る制約言語と
して、世界に知られるオブジェクト指向言語Rubyが OMG(Opject Management Group)
に正式に採用されることが決まったというのです。

OCLの記法がRubyと似ていることはよく知られています。そこに目を付けたRuby
フリークでも知られるMartin Flower氏の「似ているならば実際に動作するもの
を採用すべき」との意見が採択されたという裏話を聞いています。では実際に
Ruby-OCLの表現を見てみましょう。

Ruby-OCLはOCLの制約記述言語としての代りを果すだけでなく、実際のモデルを
Rubyで表現した際に、実際に制約チェックが行われるのが特徴です。以下にそ
の例を示してみましょう。

例えばAccount(口座)クラスのbalance(残高)が0以上であるという制約を不変条
件として定義するには、例1のように記述します。OCLではcontextの次に来るの
が対象となるクラスで、invは不変条件(Invariant)を意味します。


OCLでの制約表現(1):

  context Account inv:
    self.balance >= 0

一方Ruby-OCLではどのようになるのでしょうか?invはクラスメソッドになって
いて制約の種類毎に存在します。下記のように設定された制約条件はクラスに
格納され、実行時に制約として機能します。ここのcontextという変数は、OCL
で言うところのselfと同じです。

Ruby-OCLでの制約表現(1):
  Account.inv do | context |
    0 <= context.balance
  end


次に以下のような制約を設けた場合のOCLとの比較です。

* 年収500万円未満の人は、口座からの貸出限度額=20万
* 年収500万円以上の人は、口座からの貸出限度額=年収の1割(端数切り捨て)

OCLでの表現では、if文がコードのように記述されているのがわかります。

OCLでの制約表現(2):

  context Account inv:
    if self.owner.income < 5000000 then
      self.limit = 200000
    else
      self.limit = (self.owner.income * 0.1) .round()
    endif

一方Rubyだと、ほぼ同様の表現が可能ですが、更に括弧やthenなどの省略が可
能なので、より簡易な表現ができます。self.ownerのような表現は、説明用変
数を使用してより分りやすく表現することもできます。またinvの引き数として
制約名を付加することも可能です。


Ruby-OCLでの制約表現(2):

  Account.inv do | context |
    owner = context.owner
    if owner.income < 5000000
      context.limit = 200000
    else
      context.limit = (owner.income * 0.1).round
    end
  end

Ruby-OCLでの制約表現(3):

  Account.inv('IncomeInvariant') do | context |
    owner = context.owner
    if owner.income < 5000000
      context.limit = 200000
    else
      context.limit = (owner.income * 0.1).round
    end
  end

Ruby-OCLで記述した制約は、そのまま実際のコードとしても利用できます。こ
れにより、モデルとコードが乖離することがなくなり、より設計意図に忠実な
開発が実現できるというわけです。

MDAの一環として、Rubyコードをモデルとして設計を行うMDA4R(Model Driven
Architecture for Ruby)という方法論も計画されているようです。詳細はオプ
ジェクト倶楽部特捜部の次回のスクープをお待ちください。(懸田)
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/cgi-bin/question.cgi?H003+9+0
普通:
http://www.ObjectClub.jp/cgi-bin/question.cgi?H003+9+1
イマイチ:
http://www.ObjectClub.jp/cgi-bin/question.cgi?H003+9+2
  
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記

安「こんにちは、編集人の安井です」
や「こんにちは、オブジェクト倶楽部の主、やっとむです」
安「なんでお前があるじなんだよ」
や「ふっふっふ。オブLOVEはわたしが頂戴した!しゃきーん!」
安「あっそれは家宝のKent Beckサイン入り本!ははー、おそれいりました」
や「いやー、ついに、つ・い・に、やりました。オブジェクト倶楽部乗っ取り
    成功しちゃいました。おいそこの下っ端編集部員、これからはやっとむ様
    と呼びたまえ。いや、やっとむ大王にしちゃおうかな♪」
安「なんでもいいけど。それでやっとむ、これからどーすんの?」
や「まずはこのメルマガなんですよ。やっとむのやっとむによるやっとむのた
    めのオブLOVEジャック記念、第一号です。全世界に向けてアピールしちゃ
    うわけなんですね」
安「ていうか日本語だし」
や「これからのオブジェクト倶楽部は、楽しいことをいっぱい企画しますよ〜。
    トピックスにもありますが、今度のイベントはラスベガス!」
安「ほほう」
や「豪華客船による世界一周アジャイルツアーも企画中です」
安「どのへんがアジャイル?」
や「目的地が日々変化するんです。変化ヲ抱擁セヨ」
安「要はミステリートレインね」
や「Merlin Fowler, Kent Bach, Excel Cunningham ら、世界の超有名アジャイ
    ラーによる東京ドームライブも形になってきました。なんとスペシャルゲ
    ストとしてコンピュータの父、フォン・ノイマンも参加(霊媒師による)し
    てくれるんですよ! EDVACとアジャイルについて語っていただきます」
安「微妙に知らない人ばっかだな」
や「もちろんサイトも充実させていきます。まずは、誰にでも利用できるモデ
    ルライブラリを作って公開します。モデリングコンテストで扱う「世界経
    済」を皮切りに、「地球温暖化」「平和と繁栄」「老い」などの問題を、
    UMLを活用してサクッと解決していきましょう。サクサクッと」
安「モデルで解決する問題じゃないんだけど」
や「それからコンテンツ充実の一環として、未来のモデリングUML5.0の仕様策
    定をオブジェクト倶楽部が中心になって」

ザバーン

さとみ「こら〜っ、居眠りしながら寝言いってないで、おしごとしなさーい!
        ピシーッ!」
安「ごめんなさーい」

のどかな昼下がりのオブジェクト倶楽部編集部、いつもの光景だった。
 
今週の強引な一言
*** 夏草や 兵どもが 夢の跡(松尾芭蕉)***
オブジェクト指向だアジャイルだ、ファシリーテンションだと騒いでみたとこ
ろで、百年たった後にいったいなにが残るというのでしょう。プロジェクトが
成功しようが失敗しようが、いずれはすべてが空しくなるのです。さあ、煩悩
を捨てて我がもとに集いなさい。お布施は五万円からでーす。
(やっとむ)

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