Date:  Wed, 30 May 2007 16:54:53 +0900
Subject:  【オブジェクト倶楽部: 2007-19号】
X-Mail-Count: 00194

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          No.188 2007/05/30

■ I N D E X
┃
┣【Topics】オブジェクト倶楽部2007夏イベント〜帰郷〜 締め切りまであと2週間!
┣【Topics】ライトニングトークス出場者募集!(5月31日締め切り)
┣【Topics】JUDE/Professional 5.0 リリース記念セミナー開催決定!(6/11:新宿)
┣【書評】新着紹介!『ソフトウェア開発に役立つマインドマップ』
┣【プログラミング】ゆるーいHaskell[11]
┗【アンケート】気になるシステム業界 ホントのところ

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇 オブジェクト倶楽部2007夏イベント〜帰郷〜 締め切りまであと2週間!
       お申し込みの受付は、6月13日(水)までです!
  〇 〇━━━━━━━━━━━━━ ━━・

さぁ!いよいよ夏イベントが迫ってきましたよ!お申込みがまだの方は、ぜひ
急いでくださいね。そして、迷っている人は今すぐに!
スタッフ一同、気合をいれてお待ちしています。
●イベントHP : http://www.ObjectClub.jp/event/2007summer

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
 〇 オブジェクト倶楽部2007夏イベント 
         ライトニングトークス出場者募集!(6月3日締め切り)
  〇 〇━━━━━━━━━━━━━ ━━・

いつのイベントでも一番の人気を誇る、オブジェクト倶楽部のライトニングトー
クス!今年の司会は、主宰の平鍋が担当いたします。
「話してみたいこと」と「ちょっとの勇気」を持って、ぜひご応募ください。
参加者には豪華!?プレゼントを進呈の予定です。ご参加をお待ちしています。

<参加申込>
下記詳細を明記のうえ、メールにてお申込みください。
Email:2007summer@objectclub.jp  (担当:平田・森田)

・選考にあたって必要な情報
 タイトル、講演概要、トークス発表者名、会社名公開可否、YouTube公開可否

<参考>【特集】豆知識:ライトニングトークスの歴史
     http://www.ObjectClub.jp/ml-arch/magazine/173.html

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━T o p i c s━
  〇 6/11(月) JUDE/Professional 5.0 リリース記念セミナー開催決定!
   〇 〇━━━━━━━━━━━━━ ━━・

JUDE/Professional 5.0のリリースを記念して、6月11日(月)、セミナーを開催
いたします。Ruby on Rails とJUDEを組み合わせて、さらに加速する開発スタ
イルの提案や、開発標準体系の中でのJUDEの位置づけと有効性といった新しい
JUDEの活用方法をお伝えする2セッションです。

【詳  細】 http://www.change-vision.com/ja/professional5.html
【日  時】 2007年6月11日(月) 14:00〜16:20(受付:13:30〜14:00)
【会  場】 新宿住友ビル 47階 スカイルーム
【参加費】 無料
【申  込】 詳細ページをごらんのうえ、メールでお申し込みください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━1 s t ■━
■
┗【書評】新着紹介!『ソフトウェア開発に役立つマインドマップ』

● 書名:  ソフトウェア開発に役立つマインドマップ
     〜チームからアイデアを引き出す図解・発想法〜
● 著者名: 平鍋健児
● 発行:   日経BP社
   http://www.amazon.co.jp/ASIN/dp/4822283143/xpjp-22

オブジェクト倶楽部の平鍋による新刊です。

ソフトウェア開発って、工学的にみえて、実はとても人間的な活動だってこと、
このメルマガの読者なら気づいていると思います。
「ソフトウェアはコミュニケーションでできてる」[*1]。だから、もっと柔ら
かな発想やチーム作りの方法を提案していこう、という筆者の思いを表現した
第一弾[*2]が、この本です。

マインドマップは、さまざまな場面で利用できる手法ですが、本書は、ソフト
ウェア開発の場面で、このマインドマップをどのように利用できるか、という
ことに焦点を当てて書いています。その中には、議事録での利用、要求収集で
の利用、モデリングでの利用、といったものが含まれ、とくに、筆者の主たる
興味分野である、チームビルディングやコミュニケーション、および「アジャ
イル」ソフトウェア開発の中での利用を中心にしています。

これまで、ソフトウェア開発を工学としてとらえた上で、オブジェクト指向技
術やプロジェクトマネジメント技術、テスト技法やアーキテクチャについて書
かれた本は多く存在します。筆者は、ソフトウェア開発の中でも、特に顧客と
の対話から作りたいシステムの要望を得ていく場面や、「企画」と呼ばれる製
品のアイディアを考え出していく場面、複数人が参加するブレインストーミン
グの場面、さらに、開発の中でよい設計やよいテスト戦略を討議するような場
面においては、これまでの「ソフトウェア開発=工学+管理」というアプロー
チでは捉えきれない領域があると考えています。
発想の共有、ディスカッションの見える化、アイディアの交換とフィードバッ
ク…、など、ソフトウェア開発の現場の活動のなかで、工学や管理として捉え
きれない「人間活動としてのチームコミュニケーション」に本質があるいくつ
かの場面では、マインドマップが実にうまく活躍することを筆者らは体験しま
した。

本書では、これらのマインドマップの利用技法を、すぐに使える形で、みなさ
んにお伝えしたいと思います。なので、実例や用例、テンプレートも豊富に掲
載しています。さらに、4章では、「マインドマップ・モデリング」という新
しい手法を、浅海智晴さんが体系化にチャレンジしています。

ソフトウェア開発をもっと楽しく、生産的にしたい、そんな思いを持っている
現場の方にぜひ読んでほしいと願って書いた本[*3]です。この分野はまだ始まっ
たばかり。
ぜひ、本書を読んでフィードバックをいただきたいと思います。(平鍋)

●An Agile Way アジャイルに行こう!
 『ソフトウェア開発に役立つマインドマップ』本が出ます!
  http://blogs.itmedia.co.jp/hiranabe/2007/05/post_893a.html

-----------------------------------------------------------------------

◆1章  マインドマップって何?
     起源や特徴、なぜマインドマップを使うといいのか?について。
     プレイバック効果、一覧性、速記性、容易性、半構造。
◆2章  ソフトウェア開発の現場で使う
     議事録と会議ナビ、ブレスト、ユーザー要望のヒアリング、自己紹介
         の偏愛マップ
◆3章  マインドマップとUMLを使った要求分析
     UMLとマインドマップの連携例
◆4章  マインドマップモデリング(浅海さん)
     マインドマップを使った新しいモデリング手法
◆付録A Office製品との連携利用
◆付録B マインドマップテンプレート集
◆付録C JUDEの使い方
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=A001-14&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=A001-14&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=A001-14&choice=2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━2 n d ■━
■
┗【プログラミング】ゆるーいHaskell[11]

西川です。さて今回もHaskellの型システムについてお話します。まずは簡単
なプログラムを作成します。


-- People1.hs
module Main where

people :: [(String, String, Int)]
people = [("Hogeyama", "Hogeta", 10),
           ("Fugakawa", "Fugako", 20),
           ("Piyota", "Piyomi", 30)]

show_person :: (String, String, Int) -> String
show_person (x, y, z) = "First Name:" ++ x ++
                        ", Last Name:" ++ y ++
                        ", Age:" ++ (show z)

main :: IO ()
main = mapM_ (print . show_person) people
-- People1.hs おわり

People1.hsは"(String, String, Int)"のリスト(people関数)をshow_personで
文字列にフォーマットして表示するだけのプログラムです。ghciでロードして
実行してみましょう。


$ ghci People1.hs
*Main> main
"First Name:Hogeyama, Last Name:Hogeta, Age:10"
"First Name:Fugakawa, Last Name:Fugako, Age:20"
"First Name:Piyota, Last Name:Piyomi, Age:30"
ことさら真面目に関数の型宣言してみました。"(String, String, Int)"という
型を何度も書かなければならないのが面倒だし、見た目もよくありません。そ
こでdata宣言をつかって"(String, String, Int)"をPerson型にすることでプロ
グラムをすっきりとHaskellらしくまとめることができます。

-- People2.hs
module Main where

data Person = Person {firstName :: String, lastName :: String, age :: Int}

type People = [Person]

people :: People
people = [Person "Hogeyama" "Hogeta" 10,
          Person "Fugakawa" "Fugako" 20,
          Person "Piyota" "Piyomi" 30]

instance Show Person where
  show p = "First Name:" ++ (firstName p) ++
           ", Last Name:" ++ (lastName p) ++
           ", Age:" ++ (show (age p))

main :: IO ()
main = mapM_ (print . show) people
-- People2.hs おわり


"(String, String, Int)"をデータ型Personにし、type宣言をつかってPeopleと
いう"[Person]"の別名を定義しました。さらにPersonがShowクラスを継承する
(Showクラスのインスタンスとなる)ことで、show_person関数をshow関数に集約
することができました。

Personのdata宣言に注目してほしいのですが、data型に対してフィールドラベ
ルを設定されています。data型の各フィールドに対してラベルを設定すること
で、"firstName p"、 "lastName p"、"age p"のようにPersonの各フィールドを
参照することができます。いっそうプログラムの可読性があがったのではない
でしょうか。
Haskellではユーザ定義の任意のデータ型に対してderiving節を設定することで、
Enum、Eq、Show、Read、Ord、Bounded、Data.Ix.Ix(Ix.Ix)の7つのHaskellの標準クラ
スのインスタンスを自動的に定義することができます。
ちなみにderivingは「ディライビング」または「デライビング」と読むようで
す。


-- People3.hs
module Main where

data Person = Person {firstName :: String, lastName :: String, age :: Int}
                deriving (Eq, Ord)

#あとは同じなので省略します。
-- People3.hs おわり


deriving節に書くことができるそれぞれのクラスの定義を確認してみてくださ
い。Eq、Ordのインスタンスとなる ことでdata型Personに対して(==)関数や(<)
関数を適用できるようになりました。


$ ghci People3.hs
*Main> let hoge = people !! 0
# hogeをpeopleの0番めの要素に束縛しました。
*Main> let piyo = people !! 2
# piyoをpeopleの2番めの要素に束縛しました。
*Main> hoge == hoge
True
*Main> hoge < piyo
True

deriving節によってghcが自動的にインスタンスの定義をおこなってしまいます。
これでは困る場合もあります。例えば、Showクラスもderivingで継承すること
ができますが、当然People2.hsでオーバライドしたshow関数のようなフォーマッ
トにはなりません。ナイーブに振る舞いを定義したい場合は、結局derivingで
はなく自前でインスタンスを定義する必要があります。
次回はモナドについてお話しようと思います。(西川)
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E008-10&choice=0
普通:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E008-10&choice=1
イマイチ:
http://www.ObjectClub.jp/community/object_ml/estimate?vol=E008-10&choice=2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━3 r d ■━
■
┗【アンケート】気になるシステム業界 ホントのところ

今週は「2007年版オブジェクト指向普及率は?」のホントのところ。アンケー
トの内容を考えながら「温故知新」と思い立ち、昔のアンケートを遡ってみま
した。オブラブのアンケートはすべて結果を見ることができるんですよ。
さて、本題!2004年当時のオブジェクト指向普及率のアンケートを発見しまし
た。あれから3年。どのぐらい変わっているのでしょうか?現在の皆さんの現場
の様子を教えてくださいね。
過去のアンケート:http://www.objectclub.jp/special/kininaru/question6_10#6

  もちろん取り入れてます!
     http://www.ObjectClub.jp/special/kininaru/vote?vol=154&choice=0
  部分的に取り入れてます。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=154&choice=1
  取り入れたいけど状況的に無理です。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=154&choice=2
  取り入れたいけど技術的に難しいです。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=154&choice=3
  取り入れようとも思いません。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=154&choice=4
  オブジェクト指向ってなんですか?
     http://www.ObjectClub.jp/special/kininaru/vote?vol=154&choice=5
  それは秘密です。
     http://www.ObjectClub.jp/special/kininaru/vote?vol=154&choice=6
  ちょっと語らせて!
     詳細をこのメールに返信ください!!

アンケート結果はオブジェクト倶楽部サイト上にて公開します。お楽しみに。
なお、前号「初めて仕事で使った記憶媒体は?」の結果は公開中。ぜひご覧下
さい。
⇒http://www.ObjectClub.jp/special/kininaru/vol153/PlonePopoll_results2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記

こんにちは、編集人です。こんなにイベントの準備で忙しいというのに、オブ
ラブのメンバーに呑みに誘っていただいてしまいました。後ろ髪を引かれつつ、
今宵も夜の闇に消えてしまう私なのでした。ごめんなさい。

今週の強引な一言
*** 挨拶は時の氏神(ことわざ)***
けんかや口論の際に仲裁してくれる人が現れたときには、まるで氏神が出現し
て導いてくださったかのような幸せと考え、その調停に従うのがよいという意
味。どうりでプロジェクトがうまくいっていないとき、会議やふりかえりが停
滞しているときのファシリテーターの役割が大きいわけですね。(上田雅美)

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