UML速習会
図で表現するということ
住友孝郎/Takao Sumitomo
シゴトでココロオドル
• 住友 孝郎(Takao Sumitomo)
• たぶんAndroidアプリ開発者
• その他
– 電子工作
– OpenCV
– 技術同人誌の執筆
• Twitter:@cattaka_net
• ウォンテッドリー株式会社所属
自己紹介
シゴトでココロオドル
UMLとは
シゴトでココロオドル
• Unified Modeling Languageの略
• 複数の図から構成される表現方法
• OMG(Object Management Group)が管理
• 様々な側面から対象を描くことができる
概要
シゴトでココロオドル
• 一般的な表記法
– フローチャート
– バブルチャート
– データフロー図
• 主な問題
– 表現力が弱い
– オレオレ記法を入れざるを得ない
なぜUMLか
シゴトでココロオドル
• オレオレ記法が入ると、、、
– 描いた人にしかわからない
– 矛盾が発生しやすい
• なので、こなれた表記法を使いましょう
– すなわちUMLを用いる
なぜUMLか
シゴトでココロオドル
• スケッチとして
• 設計図として
• プログラミング言語として
何に使えるか
シゴトでココロオドル
• 紙に描けないものは実装できない
• 実装できても正しく動いてるか確認できない
主張
もちろん設計の全てを描き出す必要はない
シゴトでココロオドル
• 主語-動詞-目的語の関係
– 例:「ファイル送信機能」は「チャット機能」を拡張する
• 物やデータの移動の関係
– 例:「商品」を「倉庫」からお客様のところへ配送する
余談:オレオレ記法に見られる矢印
これらを区別なく描くとグラフを見た人が混乱する
シゴトでココロオドル
UMLの使った開発の進め方
シゴトでココロオドル
• 実装は大きく3つの側面がある
実装の三面図
実装
振る舞い 構造
相互作用
シゴトでココロオドル
• 実装の幻を思い浮かべる
実装
の幻
開発の進め方1
シゴトでココロオドル
• 3つの側面の図を描く
開発の進め方2
実装
の幻
振る舞い図 構造図
相互作用図
シゴトでココロオドル
• お互いの図に矛盾が無いことを確認する
開発の進め方3
振る舞い図 構造図
相互作用図
シゴトでココロオドル
• 実際の実装を作っていく
開発の進め方4
振る舞い図 構造図
相互作用図
本物
の
実装
シゴトでココロオドル
UMLの各図の紹介
シゴトでココロオドル
• 構造図
– オブジェクト図
– クラス図
– パッケージ図
– コンポーネント図
– コンポジット構造図
– 配置図
UMLの図の種類
• 振る舞い図
– ユースケース図
– アクティビティ図
– ステートマシン図
• 相互作用図
– コミュニケーション図
– シーケンス図
– タイミング図
– 相互作用概要図
シゴトでココロオドル
• ユーザー視点でシステムの振る舞いを描く
• システムの要件とその関連の整理に便利
振る舞い図:ユースケース図
シゴトでココロオドル
• ユーザー視点でシステムの振る舞いを描く
• システムの要件とその関連の整理に便利
振る舞い図:ユースケース図
シゴトでココロオドル
• 書き方
– 登場人物を洗い出す
– ユースケース(やりたいこと)をリストアップする
– 登場人物とユースケースを図に描き出す
– それぞれの関連の線を引く
振る舞い図:ユースケース図
シゴトでココロオドル
振る舞い図:ユースケース図
シゴトでココロオドル
• 順次処理や並列処理を表記できる
• フローチャートに似た表記法である
• 開始ノードから終了ノードへの一連の流れで表す
振る舞い図:アクティビティ図
シゴトでココロオドル
• 描き方
– 登場人物を洗い出す
– 登場人物のアクション(やること)をリストアップす
る
– アクションを図に描き出す
– それぞれの順序の線を引く
振る舞い図:アクティビティ図
シゴトでココロオドル
振る舞い図:アクティビティ図
シゴトでココロオドル
• 相互作用の順序を厳密に表すことが出来る
• 横方向にオブジェクトを並べて表記する
• 上から下へ時系列順に表記する
• マルチスレッド処理の記述に威力を発揮する
相互作用図 :シーケンス図
シゴトでココロオドル
• 描き方
– 登場人物を洗い出す
– 登場人物間のメッセージ(やりとり)をリストアップ
する
– メッセージの順番を整理する
– 登場人物のライフラインを引く
– メッセージをライフライン上に描いていく
相互作用図:シーケンス図
シゴトでココロオドル
• オブジェクト間の相互作用を表す
• オブジェクト間の接続(関係)を表す
相互作用図:コミュニケーション図
シゴトでココロオドル
• 描き方
– 登場人物を洗い出す
– 登場人物間のメッセージ(やりとり)をリストアップ
する
– 登場人物を図に描く
– 登場人物間で関連があるものに線を引く
– 番号を振りならがメッセージを書き込んでいく
相互作用図:コミュニケーション図
シゴトでココロオドル
• システムの構造を表現する
• システム全体の構成を見渡せる
構造図:コンポーネント図
シゴトでココロオドル
• 描き方
– コンポーネントを洗い出す
– 各コンポーネントが提供する機能を洗い出す
– 各コンポーネントが必要とする機能を洗い出す
– 提供する機能と必要とする機能を繋いでいく
構造図:コンポーネント図
シゴトでココロオドル
• クラス間の構造や関連を表現する
• ER図のように多重度の表現にも強い
構造図:クラス図
リンク
コンポジション
シゴトでココロオドル
• 描き方
– 登場するクラスを洗い出す
– 関連するものに線を引く
– ユースケースなどから多重度を決定する
– 必要な属性や操作を埋めていく
構造図:クラス図
シゴトでココロオドル
例:反社チェックをUMLで描く
実装
の幻
振る舞い図 構造図
相互作用図
シゴトでココロオドル
反社チェックをアクティビティ図で描く
シゴトでココロオドル
反社チェックをシーケンス図で描く
シゴトでココロオドル
例:Syncの全体設計をUMLで描
く
実装
の幻
振る舞い図 構造図
相互作用図
シゴトでココロオドル
Syncの全体設計をユースケース図をUMLで描く
シゴトでココロオドル
Syncの全体設計をコンポーネント図をUMLで描く
シゴトでココロオドル
例:認証の流れをUMLで描く
実装
の幻
振る舞い図 構造図
相互作用図
シゴトでココロオドル
認証の流れをアクティビティ図
シゴトでココロオドル
認証の流れをシーケンス図
シゴトでココロオドル
認証の流れをコミュニケーション図
シゴトでココロオドル
実装
の幻
振る舞い図 構造図
相互作用図
例:Syncアプリの構成をUMLで
描く
シゴトでココロオドル
Syncアプリの構成をクラス図で描く
シゴトでココロオドル
Syncアプリの状態遷移をステートマシン図で描く
シゴトでココロオドル
実習:UMLで書こう
シゴトでココロオドル
• コンソールアプリの三目並べ
• 先手と後手が交互に入力する
• 勝負がつくと終了する
お題:三目並べ
シゴトでココロオドル
ユースケース図
シゴトでココロオドル
アクティビティ図
シゴトでココロオドル
クラス図
シーケンス図
シゴトでココロオドル
まとめ
シゴトでココロオドル
• メリット
– 矛盾が発生しにくい
– 一つの事象を複数の方面から捉えられる
– 他人との意思疎通に使える
• デメリット
– 冗長な表記が多い
– 図の数が多い
UMLについて
シゴトでココロオドル
• UMLに限らず物事をモデル化して捉えよう
• 自身の思考のモデルを増やそう
• 意思疎通を取る手段を増やそう
最後に
シゴトでココロオドル
ご清聴ありがとうございました

More Related Content

PDF
初めてのグラフカット
PPTX
論文紹介 wav2vec: Unsupervised Pre-training for Speech Recognition
PPTX
スタートアップの 3 分ピッチテンプレート
PDF
POMDP下での強化学習の基礎と応用
PDF
ひたすら楽してスライド作成
PDF
プレゼン・ポスターで自分の研究を「伝える」 (How to do technical oral/poster presentation)
PDF
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
PDF
[DL輪読会]Glow: Generative Flow with Invertible 1×1 Convolutions
初めてのグラフカット
論文紹介 wav2vec: Unsupervised Pre-training for Speech Recognition
スタートアップの 3 分ピッチテンプレート
POMDP下での強化学習の基礎と応用
ひたすら楽してスライド作成
プレゼン・ポスターで自分の研究を「伝える」 (How to do technical oral/poster presentation)
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Glow: Generative Flow with Invertible 1×1 Convolutions

What's hot (20)

PPTX
ゲート方式量子コンピュータの概要
PDF
競技プログラミングにおけるコードの書き方とその利便性
PDF
星野「調査観察データの統計科学」第3章
PPTX
形状解析のための楕円フーリエ変換
PPTX
技術プレゼンの技術
PDF
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models
PDF
【BERT】自然言語処理を用いたレビュー分析
PDF
研究室における研究・実装ノウハウの共有
PDF
猫でも分かりたい線形回帰の自由度
PDF
局所特徴量と統計学習手法による物体検出
PPTX
論文に関する基礎知識2015
PPTX
Mixed Precision Training
PDF
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
PPTX
Lights outを線形代数で解く
PDF
研究発表のためのプレゼンテーション技術
PDF
IT系エンジニアのためのプレゼンテーション入門
PDF
記号創発ロボティクスの狙い
PDF
学振特別研究員になるために~2024年度申請版
PDF
研究分野をサーベイする
PDF
ロジカルシンキング研修用パワーポイント資料の無料サンプル
ゲート方式量子コンピュータの概要
競技プログラミングにおけるコードの書き方とその利便性
星野「調査観察データの統計科学」第3章
形状解析のための楕円フーリエ変換
技術プレゼンの技術
[DL輪読会]Scalable Training of Inference Networks for Gaussian-Process Models
【BERT】自然言語処理を用いたレビュー分析
研究室における研究・実装ノウハウの共有
猫でも分かりたい線形回帰の自由度
局所特徴量と統計学習手法による物体検出
論文に関する基礎知識2015
Mixed Precision Training
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Lights outを線形代数で解く
研究発表のためのプレゼンテーション技術
IT系エンジニアのためのプレゼンテーション入門
記号創発ロボティクスの狙い
学振特別研究員になるために~2024年度申請版
研究分野をサーベイする
ロジカルシンキング研修用パワーポイント資料の無料サンプル
Ad

Similar to Uml速習会 (9)

PDF
勉強会資料 Uml概要
PDF
Xtext And Grails20091218
PDF
「FireMonkeyの仕組み」
PDF
RTミドルウェアサマーキャンプ資料2022.pdf
PDF
プロ用CMSフレームワークテーマ「echo」のご紹介
PDF
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
PDF
Eclipse modeling 勉強会 はじめに
PPTX
みくみくまうすについて&Unity で使えるコーディングノウハウ
PDF
HoloLens Demo
勉強会資料 Uml概要
Xtext And Grails20091218
「FireMonkeyの仕組み」
RTミドルウェアサマーキャンプ資料2022.pdf
プロ用CMSフレームワークテーマ「echo」のご紹介
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
Eclipse modeling 勉強会 はじめに
みくみくまうすについて&Unity で使えるコーディングノウハウ
HoloLens Demo
Ad

More from Takao Sumitomo (20)

PDF
僕は上スワイプでBottomSheetを出したかっただけなんだ
PDF
sharedUserIdを使った俺得開発ツールの作り方
PDF
CIのビルドを通知する仕組みをAndroidとFirestoreで作った話
PDF
Camera API 1と2が混在するプロダクトの開発で 泣いたこととそのワークアラウンド
PDF
アプリを成長させるためのログ取りとログ解析に必要なこと
ODP
(beta)アプリを成長させるためのログ取りとログ解析に必要なこと
PDF
高速でトライ&エラーを するために気をつけてること
PDF
Maker Faire Bay Areaに行きたかったのでGoogle I/Oに行ってきた
PDF
Viewを動的に変化させるアプローチ
PDF
プロダクトを育てるのにGoogleのサービスが助けてくれること
PDF
AdapterToolboxでRecyclerViewを楽にする
PPTX
エンジニアがプロダクト育成を始めるまでにやったこと
PPTX
Wantedlyのテスト事情
PDF
用途に合わせたアニメーションの実装方法
PDF
potatotips (iOS/Android開発Tips共有会) 第19回 資料
PDF
SQLiteDatabaseを無理矢理覗く
PDF
開発を効率的に進めるられるまでの道程
PDF
テストがあればなんとかなる〜効率化までの道程〜
PDF
勉強会資料 データ構造とアルゴリズム
PDF
Firefox OSの何が嬉しいか
僕は上スワイプでBottomSheetを出したかっただけなんだ
sharedUserIdを使った俺得開発ツールの作り方
CIのビルドを通知する仕組みをAndroidとFirestoreで作った話
Camera API 1と2が混在するプロダクトの開発で 泣いたこととそのワークアラウンド
アプリを成長させるためのログ取りとログ解析に必要なこと
(beta)アプリを成長させるためのログ取りとログ解析に必要なこと
高速でトライ&エラーを するために気をつけてること
Maker Faire Bay Areaに行きたかったのでGoogle I/Oに行ってきた
Viewを動的に変化させるアプローチ
プロダクトを育てるのにGoogleのサービスが助けてくれること
AdapterToolboxでRecyclerViewを楽にする
エンジニアがプロダクト育成を始めるまでにやったこと
Wantedlyのテスト事情
用途に合わせたアニメーションの実装方法
potatotips (iOS/Android開発Tips共有会) 第19回 資料
SQLiteDatabaseを無理矢理覗く
開発を効率的に進めるられるまでの道程
テストがあればなんとかなる〜効率化までの道程〜
勉強会資料 データ構造とアルゴリズム
Firefox OSの何が嬉しいか

Recently uploaded (17)

PDF
5_「AIと仲良くなるには?」日本大学東北高等学校南梨夢乃さんinspirehigh.pdf
PDF
7_「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」明治大学付属中野八王子中学校宮本ゆりかさん.pdf
PDF
12_星の杜中学校小倉ももこ『家族ってなに』inspirehigh発表物.pdf
PDF
外国人が日本のテーブルマナーに驚く理由は?_公文国際学園高等部 角田 恵梨佳さん
PDF
11_「なぜ議会への関心が低いのか?」長野県長野西高等学校 片桐 菜々美さん.pdf
PDF
12_「家族とは何か」星の杜中学校小倉ももこ『家族ってなに』inspirehigh.pdf
PDF
3_「本当の『悪者』って何?」鷗友学園女子中学校_福島 雪乃さんinspirehigh.pdf
PDF
My Inspire High Award 2024(岡田秀幸).pptx.pdf
PDF
13_「他者と自分、対立を防ぐには?」市原中央高等学校 大野リリinspirehigh.pdf
PDF
9_前田音葉さん:「Yakushima Islandってなんか変じゃない?」.pdf
PDF
8_「世の中の流行はどのようにして生まれるのか」学校法人聖ドミニコ学園竹野はるいpptx.pdf
PPTX
PPT KANJI IRODORI SHOKYUU 1 BAB 9 (FURIGANA)
PDF
「なぜ、好きなことにいつかは飽きるの?」大塚莉子 - My Inspire High Award 2024.pdf
PDF
共同売店から考える沖縄の新しい流通のしくみ2025琉球大学流通原論講義資料.pdf
PDF
14_「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」公文国際学園高等部古澤琴子.pdf
PDF
10_「孤独は敵なのか?」 桜花学園高等学校堀川愛可さんinspirehigh.pdf
PDF
6_「老いることは不幸なこと?」植草学園大学附属高等学校森 珠貴さんinspirehigh.pdf
5_「AIと仲良くなるには?」日本大学東北高等学校南梨夢乃さんinspirehigh.pdf
7_「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」明治大学付属中野八王子中学校宮本ゆりかさん.pdf
12_星の杜中学校小倉ももこ『家族ってなに』inspirehigh発表物.pdf
外国人が日本のテーブルマナーに驚く理由は?_公文国際学園高等部 角田 恵梨佳さん
11_「なぜ議会への関心が低いのか?」長野県長野西高等学校 片桐 菜々美さん.pdf
12_「家族とは何か」星の杜中学校小倉ももこ『家族ってなに』inspirehigh.pdf
3_「本当の『悪者』って何?」鷗友学園女子中学校_福島 雪乃さんinspirehigh.pdf
My Inspire High Award 2024(岡田秀幸).pptx.pdf
13_「他者と自分、対立を防ぐには?」市原中央高等学校 大野リリinspirehigh.pdf
9_前田音葉さん:「Yakushima Islandってなんか変じゃない?」.pdf
8_「世の中の流行はどのようにして生まれるのか」学校法人聖ドミニコ学園竹野はるいpptx.pdf
PPT KANJI IRODORI SHOKYUU 1 BAB 9 (FURIGANA)
「なぜ、好きなことにいつかは飽きるの?」大塚莉子 - My Inspire High Award 2024.pdf
共同売店から考える沖縄の新しい流通のしくみ2025琉球大学流通原論講義資料.pdf
14_「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」公文国際学園高等部古澤琴子.pdf
10_「孤独は敵なのか?」 桜花学園高等学校堀川愛可さんinspirehigh.pdf
6_「老いることは不幸なこと?」植草学園大学附属高等学校森 珠貴さんinspirehigh.pdf

Uml速習会