メイン

オブジェクト指向 アーカイブ

2004年07月09日

「納涼イベント オブジェクト指向実践者の集い 第二弾 ~本当にあった怖い話~」参加レポート

こちら

2004年10月02日

「オブジェクト」と「インスタンス」はどう違うのか

「コラム: 「オブジェクト」と「インスタンス」はどう違うのか」

http://www.shos.info/develop/oo/ooword.html#objectandinstance

「オブジェクトの広場」の記事を受けて、「オブジェクト」という言葉と「インスタンス」という言葉はどう違うのかについて、考察してみた。

2004年11月05日

オブジェクト倶楽部 クリスマス企画

xtree.jpg

オブジェクト倶楽部主催の「オブジェクト指向実践者の集い」第三弾 クリスマス企画があるとのこと。
http://www.objectclub.jp/event/2004christmas/

2004年12月9日(木)
国立オリンピック記念青少年総合センター

テーマは、ソフトウェア開発の「見える化」とのこと。

取り敢えず申し込んだ。
今回もライトニングトークスがあるとのことでこちらも参加希望してしまった。

楽しみ。

2004年11月27日

OOPが理解できません

今日、C# で MVC なフレームワークを試作していて、ふと、「そう言えば 中西 さん (*1) のところではどんな風に Observer や Singleton を書いていたっけ」と、

を見に行った。

すると、ページの下の方に「OOPが理解できません」との文字が。
「?」
リンクになっているようなのでクリックしてみる。

リンク切れ。
仕方がないので、元のページに戻る。だが十秒後に妙な違和感。
もう一度先の「OOPが理解できません」をクリックして 漸(ようやく気付いた。

「NUnit」とか書いてあるし。笑った。


(*1) 中西 さん は、「.NET でアジャイラー」(謎) 仲間。

2004年12月11日

「UML Reference Manual Second Edition」サイン入り

今日、オージス総研さん から、

の記事にある「UML Reference Manual Second Edition」本のプレゼントが届いた。
Grady Booch 氏のサイン入り。

umlrfr21.jpg umlrfr22.jpg


表紙には、JAMES RUMBAUGH、IVAR JACOBSON、GRADY BOOCH と、Three Amigos の名前がある。

ハードカバーでとても立派な本だ。UML2.0対応。
ミーハーなので素直に嬉しい。

オージス総研さんに感謝。

2004年12月17日

クリスマス企画 オブジェクト指向実践者の集い

上記に参加してきたので、レポートしてみたい。

■ 詳細

クリスマス企画 オブジェクト指向実践者の集い
日時 2004年12月9日(木) 10:00~
会場 国立オリンピック記念青少年総合センター
主催 オブジェクト倶楽部

■ 参加目的

  • オブジェクト指向を現実的に実践する方法を知る
  • オブジェクト指向実践者と交流を持ち知恵を得る

■ はじめに

当日の朝。
北陸自動車道から小松空港に向かい、始発の羽田行きに乗って会場に向かった。
計算では、どんなに急いでも開始10:00には間に合わない。10:15 頃の到着になる予定であった。

新宿駅までは完璧に予定通りに乗り継ぎ。
余計なロス時間はゼロ。飛行機の座席の位置から電車の何両目に乗るかの選択まで、我ながら完璧に近かったと思う。

ところが、小田急新宿駅の改札口に着いてみると、全ての券売機が止まっている。
小田急になんらかのトラブルが発生した様子であった。
ここで10秒ばかり躊躇(ちゅうちょ)。タクシーで会場へ向かうことにした。

結局、予定通り 10:15 ちょうどに会場に入ることができた。
ところが、着いてみると、小田急が動いていなかったことで、15分遅れで開始とのこと。 奇跡的に間に合ってしまった。

サンタ帽をかぶったスタッフが迎えてくれた。
会場は既に人で一杯。
なんでも 170 名以上の参加者だとか。毎回少しずつ大きくなっているそうだ。

objx0402.jpg
・会場の入り口付近。後述する XFD が妖しげに光を放つ。


■ 参加内容

○ コンセプト紹介等

初めにスタッフである安井 力 氏から「見える化」というコンセプトの紹介があった。
「見える化」とはどういうことか。その意味するところを、水に色を付けたりする実演で「見る」ことができた。


○ 基調講演 平鍋 健児 氏
リーンソフトウェア開発と「見える化」』

objx0401.jpg
・平鍋 氏 による基調講演の様子。

基調講演は、主催者であるオブジェクト倶楽部の主宰者である平鍋 氏。

先ずは、リーンソフトウェア開発について。

トヨタのかんばん方式をはじめとする「リーン生産方式」の短い紹介があった。

そしていよいよ「見える化」の紹介。

  • ソフトウェア開発は「不可視」・「intangible」な部分が多い。
  • 見えないことによる難しさがある。
  • 見えなければ制御も改善もできない。
  • 見える工夫をすることで、開発が判り易くなる。
  • 見えるようにしよう。

「見える化」を行った実際の例が、いくつも写真で紹介された。

例えば、「ソフトウェアかんばん」。

ホワイトボードを「Todo (未実施)」・「Doing (実施中)」・「Done (テスト完了)」の三つの領域に分けてある。そのそれぞれに、色分けされ作業が書かれたポストイットが貼られている。

現在のプロジェクトの状況が一目でわかるようになっている。
この前で毎日「朝会」をするそうだ。

紹介された「例えばこんな風にやってみたら良いのではないか」という「見える化」を表にまとめてみる。

イテレーション ― 一週間くらい
計画 ― 半日~一日くらい イテレーション開発 ふりかえり
ユーザーストーリーをタスクに分割
  • 作業のペア化 (一部でも可)
  • 「見える化」
    • UML による設計の「見える化」
    • 朝会
    • ソフトウェアかんばん
    • ペアボード
    • バーンダウン チャート
    • ソフトウェアあんどん ― XFD (eXtreme Feedback Device)
    • だるま (達成したら目を入れる) による目標の「見える化」
ホワイトボードを三つに区切って、そのそれぞれに以下のものを書き出す。
  • Keep (良かったこと、続けていくこと)
  • Problem (問題点)
  • Try (次回挑戦すること)

これは導入しやすく強力なやり方ではないだろうか。
持ち帰って提案してみたいと感じた。


○ 主賓講演 大槻 繁 氏
『アジャイル開発とインタンジブル・アセット ―伝統的開発へのインパクト―』

アジャイル開発が伝統的な開発方法に与えるインパクトの話。

特に考えさせられたのは、「組織のモジュール化」の話。

  • 各モジュール内の知識は、インタンジブル (見えない)。
  • モジュール間のインタフェイスはタンジブル (見える)。

「見えない知識をどう貯めていくか」が重要とのこと。


○ ワークショップ 平澤 章 氏
『「モデリング道場」ライブ ~要求モデリングの過程 見せます!』

もう、なんというか、ライブ最高。

題材は、「八百屋の POS (Point Of Sales) システム」。
顧客役である天野 勝 氏にヒアリングしながら、ライブでモデリングしていく。

「コミュニケーション芸人」を自称する平澤 氏 と 天野 氏の掛け合いは、テンポといい()といい、感動的ですらあった。
さらに、時々絶妙なタイミングで平鍋 氏が質問を入れる。

二時間のライブが一時間くらいに思えたくらい、楽しむことができた。
本や Web を読むより、はるかに判り易い。
まさに「見せる」方法によって、全然判り易さが違ってくるという例だ。
こんなセミナーは初めて。是非もう一度体験したいものだ。

平澤 氏によると、モデリングには「機能先行型モデリング」と「モデル先行型モデリング」があるとのことで、今回は「モデル先行型モデリング」。

解説していただいたモデリングのポイントを少しあげてみる。

  • そのクラスが表しているものが、「現物(ブツ)」なのか「種類」なのかをはっきりさせる
  • ヒアリングしながら、システムに関係のないものをはじいていく。
  • 名前を付けるときは、視点を固定。店側からの視点で命名。
  • クラスでなくインスタンスの単位をとらえる。多重度で確認。
  • ノート アイコンが重要。ノートアイコンは種類によって色分け。
  • クラス図はつながりだけでなく、「形」も重要。

objx0403.jpg
・「掛け合い」でばんばんクラス図が描かれていく。

objx0404.jpg objx0405.jpg
・ライブでホワイトボードに手描きされていったクラス図。これと並行して リアルタイムで UMLツール "Jude" による清書も行われていた。


○ 見える化ライトニングトークス

一人持ち時間五分。延長なし。五分過ぎると容赦なく銅鑼(どら)が鳴る。

objx0406.jpg
・XFD ネタは、最高の盛り上がりをみせた。

私も、「TDDPlayer」というネタで参加。

※ 尚、講演やライトニングトークスの資料は、オブジェクト倶楽部のサイトで公開されている。


○ 懇親会~二次会

懇親会に只で出させていただいた上、本まで頂いた。
『はじめてのアジャイル開発』、『PM magazine 第1号』の二冊。

懇親会では、皆が参加して、今回のイベントに関して「ふりかえり」を実際に行った。
私も、「Keep (良かったこと、続けていくこと)」と「Problem (問題点)」、「Try (次回挑戦すること)」をポストイットに書いて、八枚くらいを模造紙に貼った。

懇親会及び二次会では、沢山の知人と話し、新しい知人と話した。


■ 「見える化」について考えたこと

最後に、今回このイベントに参加して、「見える化」について考えたことをいくつか。


○ プロジェクトの見える化

例えば、プロジェクトの状況を知らせる方法として、以下の三つを比較してみたい。

  1. プロジェクトの状況については、プロジェクトの構成員からプロジェクト マネージャに定期的に報告が行く。
    状況を知りたい人は、プロジェクト マネージャに尋ねれば知ることが出来る。
  2. プロジェクトの状況は、プロジェクトの構成員によってオープンな会議室に逐一アップされる。
    状況を知りたい人は、会議室を見に行けば、知ることが出来る。
  3. プロジェクトの状況は、部屋の入り口付近に貼り出してある。
    出社する人はいやでも目にすることになる。

3 のやり方が、「見える化」を取り入れた例といえる。

今回の基調講演で、平鍋 氏 が次のように言っていた。

・エラーの与える影響の大きさ = エラーの大きさ×エラーの滞在時間

上の例で言うと、1 より 2、2 より 3 の方法が、エラーの滞在時間を短くすることができるのでベター、ということになる。


○ 見せ方

見せるにしても、なるべく「わかりやすく」見せることが重要なようだ。
シンプルなグラフを使ったり、直接手書きして壁に貼ったり、色分けしたり、動きや光、音を取り入れて五感に訴えるようにしたり、等等。
見せる工夫が重要だ。
それから「バーンダウンチャート」や「ペアボード」のように、ネーミングが重要。


○ 「見える化」と XP

この「見える化」というのは、アジャイル開発手法の一つである「XP (エクストリーム プログラミング)」の精神とも一致していると思った。

図にしてみると、こんな感じだろうか。

xtrmfdbk.gif


■ 関連リンク

前々回、前回の様子はこちら。

2005年06月03日

『ものに心を向けるあなたへ』

music.gif
# NAgiler のテーマ曲に続いて、もう一曲。

『ものに心を向けるあなたへ』

作詞・作曲 Fujiwo

1.
ものに心を向けるあなた
どうか お願い

一人で色んなことを引き受けないで
違う関心ごとは 分けて考えてみてね
使ってもいないものに とらわれないで
赤の他人に話しかけたりしないで
どうぞ いつも確かな目的を持っていて

時の流れに流されて 変わって行くわたしを
あなたは 抱きしめて

2.
ものに心を向けるあなた
どうか お願い

貴方から呼ばないで 必要なら私が呼びますから
あなたは具体的なことは知らなくていいの
生まれたきたものには 良い名前をつけてあげてね
内面が変わっても 変わらぬ態度で接してね
どうぞ 心を開いて 心を閉じて

時の流れに流されて 変わって行くわたしを
あなたは 抱きしめて

時の流れに流されて 変わって行くわたしを
あなたは 抱擁して


※ 曲は後日公開予定 (謎)
※ ギターの伴奏付き (謎)


参考: 【オブジェクト指向】オブジェクト指向の格言・法則

2005年06月09日

オブジェクト指向実践者の集い 2005夏

以下に参加することにした。

オブジェクト倶楽部夏イベント オブジェクト指向実践者の集い
テーマ プロジェクト・ファシリテーション ~「ものづくり」から「チームづくり」へ~
主催 オブジェクト倶楽部
日時 2005年6月29日(水) 10:00~
場所 東京渋谷区代々木 国立オリンピック記念青少年総合センター

このイベントは、年に二回行われていて、今回で四回目になる。
毎回参加している。
気に入っている理由は、以下の点。

obevent.gif

2005年06月23日

新人向けオブジェクト指向の説明

プログラミング初心者向けのオブジェクト指向の説明。

先に C# や Java などで、実際のプログラミングを体験してもらった後で。
図を描いたり、具体例を示しながら。
正確さよりわかりやすさが重要。

  • オブジェクト:
    属性 (値の集まり) と振る舞い (機能の集まり) をひとまとまりとしたプログラム上の単位。
  • オブジェクト指向プログラミング:
    複数のオブジェクトが互いにメッセージを投げ (機能を呼び合い)、協調動作することで、システムが機能するようにプログラムすること。
  • クラス:
    共通の特徴 (属性と振る舞い) を持ったオブジェクトの集合。多くのオブジェクト指向プログラミング言語では、便宜上、オブジェクト単位ではなくクラス単位でプログラムを記述する。

2005年06月27日

「カプセル化」の解説

capsule.gif
新人向けオブジェクト指向の説明の続き。

今日目にした IT Pro の『矢沢流 これで納得! オブジェクト指向入門』 第2回(下) という記事の中に気になる記述があった。

「カプセル化」に関して、クラスのメンバーの中のクラスを使う人に見せる必要のないものを隠すことであり、Java では private を使うのがその方法である、のように解説してあった。

うーん。それって「カプセル化」というより、「情報隠蔽」の解説ではなかろうか。

私の認識だと:


  • カプセル化 (encapsulation):

    構造と振る舞いをグループ化して1つの抽象物を定義し,異なる抽象物と互いに別物として分離すること.

  • 情報隠蔽 (information hiding):

    細かい構造を外部から隠蔽し,外部からは公開された手続きでしか操作ができないようにすることで部分の独立性を高めること.

「カプセル化」と「情報隠蔽」は、概念としては別物だと思う。
「情報隠蔽」は「カプセル化」のときにその分離の手段の一つとして使われることが多い、ってだけではなかろうか。

Java で言えば、「情報隠蔽」の一手段として用意されているものが、private などのアクセスコントロールで、「カプセル化」の一手段として用意されているものは、class だろう。
Java の class は、まさに「構造と振る舞いをグループ化して1つの抽象物を定義し,異なる抽象物と互いに別物として分離する」手段を提供するものであり、また、その中に分離の一手段としての「情報隠蔽」の仕組みも内蔵している。


矢沢氏の解説は、勿論初学者向けのぶっちゃけた解説であり、正確に伝えることより判りやすく伝えることが重要な場面、いうことは理解できるのだが、どうなんだろう。
私なら寧ろ、「『カプセル化』とは、ぶっちゃけ class のことです」のように説明するかも知れない。

2005年07月01日

オブジェクト指向実践者の集い 2005夏

オブジェクト倶楽部夏イベント オブジェクト指向実践者の集い
テーマ プロジェクト・ファシリテーション ~「ものづくり」から「チームづくり」へ~
主催 オブジェクト倶楽部
日時 2005年6月29日(水) 10:00~
場所 東京渋谷区代々木 国立オリンピック記念青少年総合センター

■ 参加内容

  • 基調講演: 『プロジェクト・ファシリテーション ~ものづくりからチームづくりへ~』 平鍋 健児 氏
    506oblb1.jpg
  • 主賓講演: 『IT 開発現場の改革に向けて』 林 衛 氏
    506oblb2.jpg
  • ワークショップ: 『コーチングってなんだろう?』 松本 潤二 氏
  • ワークショップ: 『チームのコミュニケーションと創造性を 127 倍加速するマインドマップ講座』 伊藤 賢 氏
  • ライトニングトークス
    506oblb3.jpg
  • 懇親会

■ マインドマップ 二枚 (クリックすると拡大)

● 『五つの価値』

● 『KPT (振り返り)』

■ 関連記事

2005年12月22日

オブラブイベント

『オブジェクト倶楽部 2005クリスマスイベント』に参加したので、レポートを書いてみる。

■ イベント詳細

イベント名 第5弾 オブジェクト倶楽部 2005クリスマスイベント
~プロジェクトを成功させる7つのカギ~
日時 2005年12月16日(金)
主催 オブジェクト倶楽部
場所 国立オリンピック記念青少年総合センター
詳細 http://www.objectclub.jp/event/2005christmas/


■ 出発

朝。朝一番の空港への高速バスに乗るべく、雪道を車で移動。その途中、道を横断してふさぐ格好で大型トラックがスタックしていた。引き返して遠回りする羽目になり、バスに乗り遅れそうに。

空港への高速バスは雪による渋滞で、30分遅れ。朝一番の飛行機の出発予定時刻を過ぎて空港に到着する破目に。
でも飛行機は、雪でもっと遅れていたので乗れてしまうのであった。
oblb0500.jpg

飛行機は50分遅れで羽田に到着した。空を見ると、嘘のように晴れている。東京には冬がない、と私は思った。

電車で、会場の「国立オリンピック記念青少年総合センター」へ向かう。

■ 参加内容

会場に入ってみると、大勢の人。何でも300人くらいの参加者だとか。

oblb0501.jpg
オープニング with 全員参加型ワークショップ (オブ LOVE ワールド カフェ)『プロジェクト成功のカギ~現場からの声に耳をすませ~』には間に合わず。
oblb0502.jpg
参加するたびに感じることだが、このイベントは、ただ聴衆になって聴いていればよい、というものでなく、参加型のイベントであるらしい。つまり、積極的に加わっていくことで多くのことが学べるようになっているようだ。
そしてこの日、後で気付いたことなのだが、どうもオープニング トークを聴くことが、モチベーションをあげるのにとても大切なようなのだ。オープニング トークによって、参加する体勢にスムーズに入れる。だから、今回オープニング トークに間に合わなかったのはとても痛かった。

  • 基調講演 『ソフトウェアの生産性と品質を向上させる鍵は何か?』
    株式会社富士通総研 前川 徹 氏

    前川 氏 のこのお話は、北陸ソフトウェア技術者ネットワーク (Hose-net) 創立イベントで一度伺っている。
    ※ そのときのレポートは、こちら
    データが少し更新されていたが、ほぼ同じ内容だった。 内容は、ウォーターフォール駄目、優秀な技術者に正当な報酬が必要、ユーザー側にも問題がある、というもの。
    具体的なデータによる説明は、さすがに学術的で、説得力がある。

  • 『マインドマップとUMLによる要求分析~JUDEデモライブ~』
    株式会社永和システムマネジメント 平鍋 健児 氏、懸田 剛 氏
    oblb0503.jpg

    「図書館システム」の要求分析を、Jude のマインドマップを使って行う、というモデリング ライブ。Jude 内でマインドマップからユースケース図とクラス図に連携させる。
    ライブ感があって、とても楽しかった。
    平鍋氏が、マインドマップを書いていく過程を見ることで、意図とそれをマインドマップで表現する方法がわかってよかった。どのように考え、どのように表現するのか、といった点だ。
    また、Jude の使い方に関しても勉強になった。
    手書きマインドマップでメモを取りながら聴いていたのは言うまでもない。

  • 『モデリングバトル』
    oblb0504.jpg

    「このイベントの受付業務」というお題に従って三組の方々がそれぞれのモデルを発表し、その優劣を競うというもの。
    ※ 参考ページはこちら
    他人のモデルを見て、その意図を聴くのは勉強になる、と思った。
    最後に師範代といわれる方々からの短いコメントが発表されたが、これが一番ためになった。
    ※ 参考ページはこちら
    モデリングには、以下のようなことが大切だと思った。
    • モデルというのは或る視点から、ものごとを捕らえたものなので、どのような視点でモデリングを行うか、ということが大切
    • どの範囲をモデル化するのか、モデル化する部分とモデルに入れない部分の境界がはっきりしていることが大切
    • モデリングの意図が明確であることが大切


  • 『全員参加型ワークショップ (オブ LOVE ワールドカフェ)』

    新しい試み。
    1. 参加者を四、五人のグループに分け、各グループでテーブルを囲み、決められたテーマに沿って話をする。
    2. テーブル上の大きな紙に、好きなようにアイディアを書き留める。
    3. 一定の時間ごとに、ホスト役としてのひとりを残して、別のテーブルに移動する。テーマを変えて、話を続ける。
    オブジェクト倶楽部のイベントでは、毎回こうした新しい試みがある。
    良いものというのは、いつだってどこかしら変化し続けるものなのだと改めて思った。

  • 『ライトニング トークス』
    oblb0505.jpg
    8人のトーカーが出演。これは素晴らしかった。
    出演された方が、「アウトプットすることで、より多くのことが得られた」と感想を述べられていた。私もこれまで何回かオブジェクト倶楽部のイベント等でライトニング トークスをやってみたが、そのときの感想とまさに同じだ。
    私は、今回は応募しなかったが、ライトニング トークスはどんどんレベルアップしていて、とてもエキサイティングだ。

    印象に残ったキーワード:
    • ニコニコ カレンダー ― 異常 (不良ではないが正常でない) の見える化ツールで且つ楽しい、というところが素晴らしい
    • マジカ (MagiCa) ― 初めて知った
    • 楽しいから笑うのでなく笑うから楽しい ― これは以前から思っていたことで同意
    • XPairChange ― 5分の動画というアイディアを実行してしまうところがすごい!
    • ゴーイング コンサーン ― 継続価値という考え方は刺激的だった


  • 懇親会

    今回は、すごい人数だった。200人くらい。参加率が高い。
    再会できた多くの知人とイベントの感想を言い合ったり、技術の話をしたり。実に楽しい。
    今回は、来れなかった知人から、オフラインで紹介していただいた方と初めてお会いしてお話したりできた。こうして輪が広がっていくのも楽しみ。
    私もやっていたのだが、「鈴ひも」という謎の道具が流行っていたのが面白かった。「腰リール」や「ジャグリング」も流行っていた。
    皆、先ずは試してみる、という態度を持っている。先入観に囚われていない。いきなり否定から入るのでなく、受け入れてみる、という態度。これは素晴らしい。

  • 二次会

    会場の近くのおでん屋で二次会。ここもすごい人口密度。荷物の置き場がなくなってしまったほど。
    皆、最近の技術的な興味について話し出すと止まらない。熱い人たちだ。


■ 帰り

さて、翌朝。各部屋にパソコンがあってインターネットに繋げられるホテルであったため、帰りの飛行機 (ANA) にオンラインでチェック インしようすると、「現在搭乗手続きを一時中止しております」と表記。
羽田空港にいってみると、雪のため欠航するかも知れないとのことだった。
やがて、「飛ぶには飛ぶが、着陸できなかったら引き返す、という条件で乗るか」ということになり、羽田を後にした。

東京は晴れていたのだが、
oblb0506.jpg
小松空港あたりまで飛んでくると、窓の外は分厚い雪雲で真っ白だ。雲の中に突然稲妻が走る。ひどく揺れた。空港の除雪作業のタイミングに合わせて降りるので、準備ができるまで、小松上空を回るとのこと。
やがて雪雲の下に出ると、かなりの低空飛行で、小松の滑走路に降りた。滑走路には雪が積もっている。
oblb0507.jpg
「雪雲がかなり低く、着陸可能か或るいは引き返すか五分五分だったが、なんとか雲の隙間から着陸することができた」と機長からアナウンスがあった。

福井に帰り着いてみると、相変わらずの積雪だった。
oblb0508.jpg

2006年05月29日

オブジェクト倶楽部イベント 第6弾2006夏

下記に参加予定。

2006summerbanner.jpg オブジェクト倶楽部 2006 夏イベント
主催 オブジェクト倶楽部

2006年6月29日(木)
講演会 10:00~18:30
懇親会 19:00~21:00
場所 会場 国立オリンピック記念青少年総合センター
住所 東京都渋谷区代々木神園町3番1号
最寄駅 小田急線 参宮橋駅下車 徒歩約7分
参加費 講演会 ¥4,000
懇親会 ¥4,000
参加登録 方法 参加登録フォームより
締切 登録 6月22日(木) 予定
支払い 同上
詳細 http://www.objectclub.jp/event/2006summer/

About オブジェクト指向

ブログ「翔ソフトウェア (Sho's) Fujiwo の日記」のカテゴリ「オブジェクト指向」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリはXPです。

次のカテゴリはジャグリングです。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。