SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
ソフトウェア開発に役立つビジュアル思考
 マインドマップ/UMLを現場で有効活用しよう



        平鍋健児
     株式会社チェンジビジョン
               Seeing is understanding.
本日の目的
    • ソフトウェア開発の現場で
      マインドマップを使える場面と例を紹介。
    • UMLの簡単な使い方を紹介。
    • 両方の利点を活かした使い方を提案。

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


2                   Seeing is understanding.
自己紹介
• ㈱永和システムマネジメント
  – 本社:福井県福井市、支社:東京(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.
アジェンダ

    • Mind Map
    • UML
    • Mind Map ⇒ UML


4                   Seeing is understanding.
Mind Map



       Seeing is understanding.
Mind Map
    • Tony Buzan
    • グラフィカルなノート術
      (だけではない)
    • 考えを放射状に記述
     –   キーワード指向
     –   弱いセマンティクス
     –   早い、簡単
     –   ぱっ、と全体を見渡せる
     –   プレイバック効果
     –   ブレインストーミング
6                          Seeing is understanding.
7   Seeing isKent Beck’s XP 2nd
              understanding.
Retrospectives using Keep/Problem/Try format
Seminar Ideas by Kenji HIRANABE
描いてみよう:偏愛マップ
     • セントラルイメージ
      – 名前と絵
     • 自己紹介
      – 仕事
      – 好きなこと
        (できるだけ具体的に)




10                    Seeing is understanding.
11   Seeing is understanding.
12   Seeing is understanding.
『要件プロセス完全習得法』
Mastering the Requirements Process by Suzanne and James Robertson, 1999.
中心にテーマ
               When, What, Why, Who, Where,   When, すなわち日
      をすえます。
               Result の5つの観点から、企画をま           時に関する事項をこ
               とめています。この最初の枝をBOIと             の枝に並べています。
               呼びます。




中心テーマに関す                                          ポイントに、アイコン
る「絵」(セントラル                                        (小さな絵)を入れま
イメージ)を入れて、                                        す。
印象を強めます。
一冊の本をマインド
マップにまとめた例。
               著者等の本の情
読んだ本の自分に
               報
とっての大切なことが、
一枚にまとまっている
ので、本の内容を思
い出すのに重宝する。




               自分の過去の知
               識とオーバーラッ
               プした部分は、囲
               みで強調してある。
               (自分のためのメ
               モだから)




              点線で関連するト
              ピックを繋いでい
セントラルイメージ
              る。
に、書影を入れて
いる(思い出しやす
いように)。
ホワイトボードも併用




             会議中に、議論の内容をプロジェクタに写しな
             がら、全員の理解を共有している。
             マインドマップは、事前に用意した物をもとに、
             ディスカッションの内容を書き加えていき、議論
             のプロセスも共有する。




                プロジェクタに写したマ
                インドマップ




                               ファシリテーターのPC
                               をプロジェクタに接続し
                               ている。
UML



      Seeing is understanding.
UML(いまさらですが)
• モデリングのための図言語
• Unified Modeling Language(統一モデリング言語)
     – モデリング≒目的を持った抽象化
• システム開発の分析、設計、実装で使用する
     – 業務やシステムの構造と振る舞いを明らかにする
     – 思考ツール、コミュニケーションツール
• 言語なので読み書き可能
     – 文法(表記法)がある、意味を伝える、記録する


18                          Seeing is understanding.
UML図の分類
                                論理                                                               物理
                     企業                         営業部:組織
                                                                         <<controller>>


                                                                                              <<model>>   :client     :server

     静的
          経営者        従業員        組織
                                       営業1課:組織            山田さん:従業員
                                                                           <<view>>


                営業         技術                             田中さん:従業員


                クラス図                     オブジェクト図                         コンポーネント図                                   配置図
                     出社処理
                      をする
                                                     出社
                     退社処理                  在宅                  在席
                      をする                            退社
                                                          出張        帰社
          従業員        集計処理        管理者             直行
                      をする                                      出張
                                                直帰



           ユースケース図                      ステートチャート図

                                         申請者      上司            人事




     動的                                  休暇申請

                                                  承認

                                                                決裁

            シーケンス図

                                        アクティビティ図

          コラボレーション図


19                                                                                        Seeing is understanding.
ユースケース図
• 目的
     – あるシステム化対象領域において、その範囲で必要となる
       ユースケース(利用場面、サービス)を洗い出し、そのサー
       ビスを利用する登場人物(アクター)との関係を表現する
• どのタイミングで描くか
     – 顧客の現在の業務を整理する場面
     – 顧客が(今回)開発したいシステムを表現する場面



20                     Seeing is understanding.
例:受注管理システム

            受注管理システム




              注文する

     ユーザ




                        在庫管理システム
            商品を発送する



     注文担当




21                     Seeing is understanding.
ユースケース図の構成要素
• アクター
     – システムを利用するユーザの役割役割や、外部システムを棒人
                      役割
       間(スティックマン)で表します
• ユースケース
                                            ƒ ƒ ƒ ^ [
                                              AN
     – アクターが利用するシステムのサービス、アクターを利用する
       外部システムのサービスを楕円で表します
• 関連
                                           ユースケース


     – アクターがユースケースを利用したり、ユースケースがアクタ
       ーに影響を及ぼす関係を表します
• システム境界
     – システムの内部と外部を区別する境界を表します
     – 四角の内にあるユースケースは、システム内のユースケース         システム名称
       であることを表します
• 包含(include)
     – あるユースケースが別のユースケースを使用していることを
       表現します                                《include》


22                            Seeing is understanding.
描いてみよう:ユースケース図
• 名称:Webチケット販売システム
• 利用者:ユーザ、システム管理者
• システム概要:
     – 会員登録されているユーザはサイトにログインし、Web上で催し物の
       チケット購入ができます
     – チケット購入の決済はクレジット会社の決済システム(決済くん)により
       行います
     – システム管理者はサイトにログインし、Web上で催し物チケットの売れ
       行きを見ることができます


23                        Seeing is understanding.
回答例




24         Seeing is understanding.
クラス図
 • 目的
     – 業務やシステム、プログラムで使われる概念(クラス)を抽
       出する
     – 概念間の関係を表現する
 • どのタイミングで描くか
     – 業務をモデリングする場面(概念モデリング、用語辞書)
     – 実装クラス設計をする場面
     – データベースを設計する場面

25                     Seeing is understanding.
クラス図の例
                   プロジェクト
               -プロジェクト名                                        システム
               -期間      1                構築する                - システム名
               -予算                                   1

                   1   0..*
                                              勘定系システム                  情報系システム
                                                                       - 利用時間
                                                *        *
               1          1..*                                          *       *
     - マネージャ                     - 開発者
                   メンバー                  管理する
                                                    利用する                            利用する
                    -名前                                                 管理する
                    -所属                               * 1                            *
                                          - 管理者 - 利用者
                                          1
                                     経理部員            営業部員                            顧客
                                     -名前            -名前                             -名前
                                     -役職            -従業員番号                          -顧客ID




26                                                              Seeing is understanding.
描いてみよう:クラス図

• 名称:Webチケット販売システム
• 語彙:
     – チケット … イベントに対応するチケット
     – 購入 … 一回の購入
     – 会員 … チケットを購入した会員



27                     Seeing is understanding.
回答例




28         Seeing is understanding.
Mind Map ⇒ UML



          Seeing is understanding.
最も基本的な、要求の背景や
 ユーザー要望の聞き取りに使う、典型    本質を聞き出す質問。
 的なマインドマップのテンプレートであ
 る。ユーザのタイプやインタビューの段
 階次第で、さまざまな工夫が可能。



システムが扱う概念群を聞き
出す質問。UMLの概念クラス
図の「クラス」の候補となること       他の重要なステークホルダー
が多い。                  を聞き出す質問。この人たち
                      にも、インタビューの必要があ
                      るかもしれない。




                      システムのユーザーを聞き出
                      す質問。UMLのユースケース
                      図における、「アクター」の候
                      補となることが多い。




 質問について、うまく回答がえ
 られなかった場合、この枝にメ
                       システムの目的、利用場面を
 モを残すようにする。            聞きだす質問。UMLのユース
                       ケース図における、「ユース
                       ケース」の候補となることが多
                       い。
実際に「図書館システム」についての
ユーザ要望をヒアリングしたマインド
マップ。(結果)               日付と題名を入                    利用者の増加と、
                       れ、それをイ                     予算がそもそもの
                       メージする画像                    動機であった。利
                       をセントラルイ                    用者の増加に対
                       メージとする。                    応できることが必
                                                  須要件であること
                                                  がわかる。
概念クラスの候
補がみつかる
                                                    司書のみなさんを
                                                    集めたミーティン
                                                    グを開くことが示
                                                    唆される。




            途中で出た宿題
            は、「宿題」の枝             このシステムの利用
            に入れ、最後に確             者(アクター)が見つ
            認しながら期限も             かる。
            決めてしまう。関
            連するトピックと
            点線矢印で繋い
            でおくと分かりや
            すい。                      このシステムの利用
                                     場面(ユースケース)
                                     が見つかる。
アクターとして
ドラッグ&ドロップ




  ユースケースとして
  ドラッグ&ドロップ
「要求を把握する」、という過程を2つに分けて考える
    まずは、意味や関係を厳密              次に、出た物の意味や関係
    に規定しないで、出せる物を             を考えて、記述するモード。こ
    出すモード。ここでは、「柔ら            こでは、「固い」図解法を使い、
    かい」図解法を使い、発散と             意味づけ、定義、関連付けを
    理解を促す。                    固める。
        要求収集                       要求構築
     (要求のギャザリング)                (要求のモデリング)

          1                         2
          発散                        収束




  頭の中や             Mind Map                   UML
  アイディア

柔らかい                                          固い
曖昧                                            厳密
          収集    整理             分析        構築
とらえどころがない                                     意味・関係の把握
astah* Mind Map と UML の融合




                   http://astah.change-vision.com
34                    Seeing is understanding.
Stickyminds.com article
     “Agile Modeling with Mind Map and UML”




      stickyminds Kenji HIRANABE   Search

35                                  Seeing is understanding.
ご清聴ありがとうございました
マインドマップやUML、図を使ったコミュニケ
ーションを有効に使って、自分たちの仕事
を協調的に、生産的に、創造的に、そして
楽しく変えて行きましょう。




                 Seeing is understanding.

Mais conteúdo relacionado

Destaque

3 基礎UML言語 第3章 クラス図とオブジェクト図(2)
3 基礎UML言語 第3章 クラス図とオブジェクト図(2) 3 基礎UML言語 第3章 クラス図とオブジェクト図(2)
3 基礎UML言語 第3章 クラス図とオブジェクト図(2)
Enpel
 

Destaque (16)

Umlとは
UmlとはUmlとは
Umlとは
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
 
3 基礎UML言語 第3章 クラス図とオブジェクト図(2)
3 基礎UML言語 第3章 クラス図とオブジェクト図(2) 3 基礎UML言語 第3章 クラス図とオブジェクト図(2)
3 基礎UML言語 第3章 クラス図とオブジェクト図(2)
 
エンタープライズ.Net 分析編
エンタープライズ.Net 分析編エンタープライズ.Net 分析編
エンタープライズ.Net 分析編
 
Uml速習会
Uml速習会Uml速習会
Uml速習会
 
かんたん!UMLのバージョン管理,どこでもモデリング
かんたん!UMLのバージョン管理,どこでもモデリングかんたん!UMLのバージョン管理,どこでもモデリング
かんたん!UMLのバージョン管理,どこでもモデリング
 
データモデリング入門【実習編】-astah*を使って、TMの手法を使う-
データモデリング入門【実習編】-astah*を使って、TMの手法を使う-データモデリング入門【実習編】-astah*を使って、TMの手法を使う-
データモデリング入門【実習編】-astah*を使って、TMの手法を使う-
 
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
 
ソフトウェア設計のすすめ
ソフトウェア設計のすすめソフトウェア設計のすすめ
ソフトウェア設計のすすめ
 
モデリングもしないでアジャイルとは何事だ
モデリングもしないでアジャイルとは何事だモデリングもしないでアジャイルとは何事だ
モデリングもしないでアジャイルとは何事だ
 
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
ぐるぐるDDD(ドメイン駆動設計)に参加してみましたぐるぐるDDD(ドメイン駆動設計)に参加してみました
ぐるぐるDDD(ドメイン駆動設計)に参加してみました
 
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Developers Summit 2014  「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」Developers Summit 2014  「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
 
SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料
 
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
 
データベース設計徹底指南
データベース設計徹底指南データベース設計徹底指南
データベース設計徹底指南
 

Semelhante a Using Mind Maping And UML Effectively in Software Development

Information20120312
Information20120312Information20120312
Information20120312
b-slash
 
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
Developers Summit
 
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発
Tomoharu ASAMI
 
【18-C-3】システムアーキテクチャ構築の実践手法
【18-C-3】システムアーキテクチャ構築の実践手法【18-C-3】システムアーキテクチャ構築の実践手法
【18-C-3】システムアーキテクチャ構築の実践手法
Developers Summit
 
yokyo-unv.
yokyo-unv.yokyo-unv.
yokyo-unv.
hirano
 

Semelhante a Using Mind Maping And UML Effectively in Software Development (20)

ビジネスモデリングによる問題解決型アプローチ
ビジネスモデリングによる問題解決型アプローチ ビジネスモデリングによる問題解決型アプローチ
ビジネスモデリングによる問題解決型アプローチ
 
Introduction of KOTATSU-MODEL in Requirement Development
Introduction of KOTATSU-MODEL in Requirement DevelopmentIntroduction of KOTATSU-MODEL in Requirement Development
Introduction of KOTATSU-MODEL in Requirement Development
 
モデリングの神髄
モデリングの神髄モデリングの神髄
モデリングの神髄
 
It化コンセプトMuse
It化コンセプトMuseIt化コンセプトMuse
It化コンセプトMuse
 
Information20120312
Information20120312Information20120312
Information20120312
 
Beginners guidetoconceptualmodelingbyuml
Beginners guidetoconceptualmodelingbyumlBeginners guidetoconceptualmodelingbyuml
Beginners guidetoconceptualmodelingbyuml
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要か
 
「事業と一体化するシステム…」桑原里恵
「事業と一体化するシステム…」桑原里恵「事業と一体化するシステム…」桑原里恵
「事業と一体化するシステム…」桑原里恵
 
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
 
要求開発の発展と展開、そして課題
要求開発の発展と展開、そして課題要求開発の発展と展開、そして課題
要求開発の発展と展開、そして課題
 
DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発DSL駆動によるクラウド・アプリケーション開発
DSL駆動によるクラウド・アプリケーション開発
 
20150219 ピクト図解入門 3_w1h編
20150219 ピクト図解入門 3_w1h編20150219 ピクト図解入門 3_w1h編
20150219 ピクト図解入門 3_w1h編
 
20150326 ピクト図解 ビジネスモデルキャンバス入門_v1.1(eLV様主催)
20150326 ピクト図解 ビジネスモデルキャンバス入門_v1.1(eLV様主催)20150326 ピクト図解 ビジネスモデルキャンバス入門_v1.1(eLV様主催)
20150326 ピクト図解 ビジネスモデルキャンバス入門_v1.1(eLV様主催)
 
製造業販売管理システム再構築における要求開発・モデリング
製造業販売管理システム再構築における要求開発・モデリング製造業販売管理システム再構築における要求開発・モデリング
製造業販売管理システム再構築における要求開発・モデリング
 
チケット駆動開発の概要と体験談
チケット駆動開発の概要と体験談チケット駆動開発の概要と体験談
チケット駆動開発の概要と体験談
 
【18-C-3】システムアーキテクチャ構築の実践手法
【18-C-3】システムアーキテクチャ構築の実践手法【18-C-3】システムアーキテクチャ構築の実践手法
【18-C-3】システムアーキテクチャ構築の実践手法
 
ビジネス・モデリング 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第11回】
ビジネス・モデリング 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第11回】ビジネス・モデリング 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第11回】
ビジネス・モデリング 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第11回】
 
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京
 
yokyo-unv.
yokyo-unv.yokyo-unv.
yokyo-unv.
 
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
なぜソフトウェアアーキテクトが必要なのか - Devlove 20110423
 

Mais de Kenji Hiranabe

Mais de Kenji Hiranabe (20)

effective ba for online communication
effective ba for online communication effective ba for online communication
effective ba for online communication
 
線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会線形代数の視覚的理解 V1.1-Gストラング勉強会
線形代数の視覚的理解 V1.1-Gストラング勉強会
 
Math in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with ApplicationsMath in Machine Learning / PCA and SVD with Applications
Math in Machine Learning / PCA and SVD with Applications
 
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-JourneyScrum-Fest-Sapporo-2021-Keynote-Our-Journey
Scrum-Fest-Sapporo-2021-Keynote-Our-Journey
 
Graphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data ScienceGraphic Notes on Linear Algebra and Data Science
Graphic Notes on Linear Algebra and Data Science
 
Appreciating Your Way to XP
Appreciating Your Way to XPAppreciating Your Way to XP
Appreciating Your Way to XP
 
Digital Business and Agile
Digital Business and AgileDigital Business and Agile
Digital Business and Agile
 
Graphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear AlgebraGraphic Notes on Introduction to Linear Algebra
Graphic Notes on Introduction to Linear Algebra
 
線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート線形代数の視覚的理解のためのノート
線形代数の視覚的理解のためのノート
 
with コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーションwith コロナ時代のアジャイルとコミュニケーション
with コロナ時代のアジャイルとコミュニケーション
 
Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020Agile Ba with Covid at Redmine Japan 2020
Agile Ba with Covid at Redmine Japan 2020
 
ESM Agile Studio DX and COVID
ESM Agile Studio DX and COVIDESM Agile Studio DX and COVID
ESM Agile Studio DX and COVID
 
Agile Ba with Covid
Agile Ba with CovidAgile Ba with Covid
Agile Ba with Covid
 
Essence position talk by hiranabe
Essence position talk by hiranabeEssence position talk by hiranabe
Essence position talk by hiranabe
 
Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020Agile Scrum at Knowledge Forum 2020
Agile Scrum at Knowledge Forum 2020
 
Ba and digital here now ness
Ba and digital here now nessBa and digital here now ness
Ba and digital here now ness
 
Modeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah modelsModeling in the Agile Age and casual astah models
Modeling in the Agile Age and casual astah models
 
Modeling in the Agile Age
Modeling in the Agile Age Modeling in the Agile Age
Modeling in the Agile Age
 
Agile in automotive industry
Agile in automotive industryAgile in automotive industry
Agile in automotive industry
 
Introduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team upIntroduction to Agile - how business and engineer team up
Introduction to Agile - how business and engineer team up
 

Using Mind Maping And UML Effectively in Software Development

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