Using Mind Maping And UML Effectively in Software Development

9,959 views

Published on

ソフトウェア開発に役立つビジュアル思考~マインドマップ/UMLを現場で有効活用しよう~

ソフトウェア開発の現場でマインドマップとUMLを使える場面と例をふんだんな絵と写真で紹介します。また、両方の利点を活かした使い方を提案します。

ソフトウェア開発をもっと、協調的に、生産的に、創造的に、そして、楽しくすることが目的です。

Published in: Technology
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,959
On SlideShare
0
From Embeds
0
Number of Embeds
6,002
Actions
Shares
0
Downloads
116
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

Using Mind Maping And UML Effectively in Software Development

  1. 1. ソフトウェア開発に役立つビジュアル思考 マインドマップ/UMLを現場で有効活用しよう 平鍋健児 株式会社チェンジビジョン Seeing is understanding.
  2. 2. 本日の目的 • ソフトウェア開発の現場で マインドマップを使える場面と例を紹介。 • UMLの簡単な使い方を紹介。 • 両方の利点を活かした使い方を提案。 • ソフトウェア開発をもっと、協調的に、生産的に、 創造的に、そして、楽しくする。 2 Seeing is understanding.
  3. 3. 自己紹介 • ㈱永和システムマネジメント – 本社:福井県福井市、支社:東京(2002-) – Ruby と Agileを使ったシステム開発 • 株式会社チェンジビジョン – 本社: 東京 – astah*(JUDE) で見える化 • 平鍋健児 – リアルタイム,CAD, オブジェクト指向の実践 http://www.change-vision.com/ – UMLエディタJUDE/astah*の開発 – アジャイルプロセス協議会、副会長 – 翻訳、XP関連書籍、『リーン開発の本質』等多数。 – 2008 Gordon Pask Award Recipient for contributions to Agile practice 3 Seeing is understanding.
  4. 4. アジェンダ • Mind Map • UML • Mind Map ⇒ UML 4 Seeing is understanding.
  5. 5. Mind Map Seeing is understanding.
  6. 6. Mind Map • Tony Buzan • グラフィカルなノート術 (だけではない) • 考えを放射状に記述 – キーワード指向 – 弱いセマンティクス – 早い、簡単 – ぱっ、と全体を見渡せる – プレイバック効果 – ブレインストーミング 6 Seeing is understanding.
  7. 7. 7 Seeing isKent Beck’s XP 2nd understanding.
  8. 8. Retrospectives using Keep/Problem/Try format
  9. 9. Seminar Ideas by Kenji HIRANABE
  10. 10. 描いてみよう:偏愛マップ • セントラルイメージ – 名前と絵 • 自己紹介 – 仕事 – 好きなこと (できるだけ具体的に) 10 Seeing is understanding.
  11. 11. 11 Seeing is understanding.
  12. 12. 12 Seeing is understanding.
  13. 13. 『要件プロセス完全習得法』 Mastering the Requirements Process by Suzanne and James Robertson, 1999.
  14. 14. 中心にテーマ When, What, Why, Who, Where, When, すなわち日 をすえます。 Result の5つの観点から、企画をま 時に関する事項をこ とめています。この最初の枝をBOIと の枝に並べています。 呼びます。 中心テーマに関す ポイントに、アイコン る「絵」(セントラル (小さな絵)を入れま イメージ)を入れて、 す。 印象を強めます。
  15. 15. 一冊の本をマインド マップにまとめた例。 著者等の本の情 読んだ本の自分に 報 とっての大切なことが、 一枚にまとまっている ので、本の内容を思 い出すのに重宝する。 自分の過去の知 識とオーバーラッ プした部分は、囲 みで強調してある。 (自分のためのメ モだから) 点線で関連するト ピックを繋いでい セントラルイメージ る。 に、書影を入れて いる(思い出しやす いように)。
  16. 16. ホワイトボードも併用 会議中に、議論の内容をプロジェクタに写しな がら、全員の理解を共有している。 マインドマップは、事前に用意した物をもとに、 ディスカッションの内容を書き加えていき、議論 のプロセスも共有する。 プロジェクタに写したマ インドマップ ファシリテーターのPC をプロジェクタに接続し ている。
  17. 17. UML Seeing is understanding.
  18. 18. UML(いまさらですが) • モデリングのための図言語 • Unified Modeling Language(統一モデリング言語) – モデリング≒目的を持った抽象化 • システム開発の分析、設計、実装で使用する – 業務やシステムの構造と振る舞いを明らかにする – 思考ツール、コミュニケーションツール • 言語なので読み書き可能 – 文法(表記法)がある、意味を伝える、記録する 18 Seeing is understanding.
  19. 19. UML図の分類 論理 物理 企業 営業部:組織 <<controller>> <<model>> :client :server 静的 経営者 従業員 組織 営業1課:組織 山田さん:従業員 <<view>> 営業 技術 田中さん:従業員 クラス図 オブジェクト図 コンポーネント図 配置図 出社処理 をする 出社 退社処理 在宅 在席 をする 退社 出張 帰社 従業員 集計処理 管理者 直行 をする 出張 直帰 ユースケース図 ステートチャート図 申請者 上司 人事 動的 休暇申請 承認 決裁 シーケンス図 アクティビティ図 コラボレーション図 19 Seeing is understanding.
  20. 20. ユースケース図 • 目的 – あるシステム化対象領域において、その範囲で必要となる ユースケース(利用場面、サービス)を洗い出し、そのサー ビスを利用する登場人物(アクター)との関係を表現する • どのタイミングで描くか – 顧客の現在の業務を整理する場面 – 顧客が(今回)開発したいシステムを表現する場面 20 Seeing is understanding.
  21. 21. 例:受注管理システム 受注管理システム 注文する ユーザ 在庫管理システム 商品を発送する 注文担当 21 Seeing is understanding.
  22. 22. ユースケース図の構成要素 • アクター – システムを利用するユーザの役割役割や、外部システムを棒人 役割 間(スティックマン)で表します • ユースケース ƒ ƒ ƒ ^ [ AN – アクターが利用するシステムのサービス、アクターを利用する 外部システムのサービスを楕円で表します • 関連 ユースケース – アクターがユースケースを利用したり、ユースケースがアクタ ーに影響を及ぼす関係を表します • システム境界 – システムの内部と外部を区別する境界を表します – 四角の内にあるユースケースは、システム内のユースケース システム名称 であることを表します • 包含(include) – あるユースケースが別のユースケースを使用していることを 表現します 《include》 22 Seeing is understanding.
  23. 23. 描いてみよう:ユースケース図 • 名称:Webチケット販売システム • 利用者:ユーザ、システム管理者 • システム概要: – 会員登録されているユーザはサイトにログインし、Web上で催し物の チケット購入ができます – チケット購入の決済はクレジット会社の決済システム(決済くん)により 行います – システム管理者はサイトにログインし、Web上で催し物チケットの売れ 行きを見ることができます 23 Seeing is understanding.
  24. 24. 回答例 24 Seeing is understanding.
  25. 25. クラス図 • 目的 – 業務やシステム、プログラムで使われる概念(クラス)を抽 出する – 概念間の関係を表現する • どのタイミングで描くか – 業務をモデリングする場面(概念モデリング、用語辞書) – 実装クラス設計をする場面 – データベースを設計する場面 25 Seeing is understanding.
  26. 26. クラス図の例 プロジェクト -プロジェクト名 システム -期間 1 構築する - システム名 -予算 1 1 0..* 勘定系システム 情報系システム - 利用時間 * * 1 1..* * * - マネージャ - 開発者 メンバー 管理する 利用する 利用する -名前 管理する -所属 * 1 * - 管理者 - 利用者 1 経理部員 営業部員 顧客 -名前 -名前 -名前 -役職 -従業員番号 -顧客ID 26 Seeing is understanding.
  27. 27. 描いてみよう:クラス図 • 名称:Webチケット販売システム • 語彙: – チケット … イベントに対応するチケット – 購入 … 一回の購入 – 会員 … チケットを購入した会員 27 Seeing is understanding.
  28. 28. 回答例 28 Seeing is understanding.
  29. 29. Mind Map ⇒ UML Seeing is understanding.
  30. 30. 最も基本的な、要求の背景や ユーザー要望の聞き取りに使う、典型 本質を聞き出す質問。 的なマインドマップのテンプレートであ る。ユーザのタイプやインタビューの段 階次第で、さまざまな工夫が可能。 システムが扱う概念群を聞き 出す質問。UMLの概念クラス 図の「クラス」の候補となること 他の重要なステークホルダー が多い。 を聞き出す質問。この人たち にも、インタビューの必要があ るかもしれない。 システムのユーザーを聞き出 す質問。UMLのユースケース 図における、「アクター」の候 補となることが多い。 質問について、うまく回答がえ られなかった場合、この枝にメ システムの目的、利用場面を モを残すようにする。 聞きだす質問。UMLのユース ケース図における、「ユース ケース」の候補となることが多 い。
  31. 31. 実際に「図書館システム」についての ユーザ要望をヒアリングしたマインド マップ。(結果) 日付と題名を入 利用者の増加と、 れ、それをイ 予算がそもそもの メージする画像 動機であった。利 をセントラルイ 用者の増加に対 メージとする。 応できることが必 須要件であること がわかる。 概念クラスの候 補がみつかる 司書のみなさんを 集めたミーティン グを開くことが示 唆される。 途中で出た宿題 は、「宿題」の枝 このシステムの利用 に入れ、最後に確 者(アクター)が見つ 認しながら期限も かる。 決めてしまう。関 連するトピックと 点線矢印で繋い でおくと分かりや すい。 このシステムの利用 場面(ユースケース) が見つかる。
  32. 32. アクターとして ドラッグ&ドロップ ユースケースとして ドラッグ&ドロップ
  33. 33. 「要求を把握する」、という過程を2つに分けて考える まずは、意味や関係を厳密 次に、出た物の意味や関係 に規定しないで、出せる物を を考えて、記述するモード。こ 出すモード。ここでは、「柔ら こでは、「固い」図解法を使い、 かい」図解法を使い、発散と 意味づけ、定義、関連付けを 理解を促す。 固める。 要求収集 要求構築 (要求のギャザリング) (要求のモデリング) 1 2 発散 収束 頭の中や Mind Map UML アイディア 柔らかい 固い 曖昧 厳密 収集 整理 分析 構築 とらえどころがない 意味・関係の把握
  34. 34. astah* Mind Map と UML の融合 http://astah.change-vision.com 34 Seeing is understanding.
  35. 35. Stickyminds.com article “Agile Modeling with Mind Map and UML” stickyminds Kenji HIRANABE Search 35 Seeing is understanding.
  36. 36. ご清聴ありがとうございました マインドマップやUML、図を使ったコミュニケ ーションを有効に使って、自分たちの仕事 を協調的に、生産的に、創造的に、そして 楽しく変えて行きましょう。 Seeing is understanding.

×