SlideShare a Scribd company logo
1 of 12
©2013 Shintaro Hosoai
U M L
Unified Modeling Language
細合 晋太郎
2013/8/21
1
©2013 Shintaro Hosoai
そもそもモデリングってなあに?
• システムって超複雑
いきなり作る(考える)のは無理
• ある観点だけをある抽象度で抽出したもの → モデル
• 世にあるほとんどの~図はモデルと言ってもいい
• Ex) 上から見た構造 → 上面図
• Ex) 粘土で形だけ → クレイモデル
• Ex) 音階とタイミングで音楽を分解 → 楽譜
2013/8/21
2
おおまかにど
んな構造?
具体的ににど
んな構造?
どんな順番で動く?
どんな状態がある?
どんなメッセージをやりと
りする?
抽象度
いろんな観点と抽象度で
考えて(設計して)から実装
©2013 Shintaro Hosoai
構造モデルと振舞いモデル
• 観点は大きく分けると構造と振舞いに大別できる。
• どんな形をしているのか?どんな動きをするのか?
• UMLでは、構造と振舞いのモデルが様々な抽象度と観点で定義され
ている。
UMLモデルは厳密に定義されている。
• UMLの仕様書(Super Structure)
• http://www.omg.org/spec/UML/2.4.1/Superstructure/PDF/
2013/8/21
3
©2013 Shintaro Hosoai
UMLの歴史
1990年代。世はOOP開発方法論戦国時代
開発方法論ごとに数多のモデリング言語が入り乱れ、表
記法で表記法を洗う熾烈なモデル存在競争を繰り広げて
いた
このままでは、開発者同士の意思の疎通すら難しい現代
版バベルの塔となってしまう
3人の漢が立ち上がった。
2013/8/21
4
©2013 Shintaro Hosoai
Three Amigos
2013/8/21
5
Grady Booch Ivar JacobsonJames Rumbaugh
http://www.itmedia.co.jp/im/articles/0212/18/news001.html
http://en.wikipedia.org/wiki/Grady_Booch http://en.wikipedia.org/wiki/Ivar_Jacobson
画像は以下より転載
©2013 Shintaro Hosoai
モデリング言語の統一
2013/8/21
6
http://thinkit.co.jp/free/compare/12/1/より転載
UML 2.1.1
UML 2.1.2
UML 2.2
UML 2.3
UML 2.4
UML 2.4.1
2007,Aug
2007,Nov
2009,Feb
2010,May
2011,Mar
2011,Aug
2013/08/10 現在
©2013 Shintaro Hosoai
UML Diagrams (version 2.4.1)
2013/8/21
7
http://www.omg.org/spec/UML/2.4.1/Superstructure/PDF/ pp710
©2013 Shintaro Hosoai
構造モデル
• Deployment Diagram:配置図
• Component Diagram:コンポーネント図
• Composite Structure Diagram:複合構造図
• Package Diagram:パッケージ図
• Class Diagram:クラス図
• Object Diagram:オブジェクト図
• Profile Diagram:プロファイル図
2013/8/21
8
抽象度
低
高
これは別観点
©2013 Shintaro Hosoai
振舞いモデル
• Use Case Diagram:ユースケース図
• Activity Diagram:アクティビティ図
• State Machine Diagram:ステートマシン図
• Interaction Diagram:相互作用図
• Sequence Diagram:シーケンス図
• Communication Diagram:コミュニケーション図
• Interaction Overview Diagram:相互作用概念図
• Timing Diagram:タイミング図
2013/8/21
9
振舞いモデルは、見たい観点がそれぞれ異なる。
外界との関係、要求
システムフロー
状態
オブジェクト間フロー
オブジェクト相互関係
図間のオーバービュー
動作タイミング
©2013 Shintaro Hosoai
クラス図
システムのクラス構造を書くため
のモデル
箱でクラスの構造を、線でクラス
間の関係を表現する
線種
2013/8/21
10
クラス名
属性*
操作*
ここにクラス名
クラス変数
メソッド
クラスA クラスB
子クラスC
11
多重度
単方向関連
双方向関連
継承
集約
コンポジション
©2013 Shintaro Hosoai
ステートマシン図
• 状態と遷移を可視化するモデル
• ある状態の時に、その状態から
の遷移に指定されているイベン
トが入ると次状態に遷移する
• Guard
• イベントが入った際でもGuardに指定された
条件が満たされていないと遷移しない
• Action
• 遷移が発生した際にここで指定したAction
が実行される
• EntryEvent
• その状態に入った際にここで指定した
Actionが実行される
2013/8/21
11
State
EntryAction()
状態 初期状態
終了状態EntryAction
状態名 Event[Guard]/Action
StateA StateB
StateC
EventA
EventBEventC
EventD
遷移
©2013 Shintaro Hosoai
クラス図・ステートマシン図のモデリング
• 何を作りたいかを明確にする
• 作りたいシステムの機能を洗い出す
• 近い機能ごとにまとめてみる → クラスに出来そうか考える
• クラスとして書き出す、クラス間の関係を考える
• クラスが状態を持つか考える
• 状態を持つクラスをステートマシンに書き出す
• ステートマシン図、クラス図に齟齬がないか確認
• 適宜、リファクタリングを行い設計を進める
2013/8/21
12

More Related Content

Viewers also liked

P I Infosoft Is Different
P I Infosoft Is DifferentP I Infosoft Is Different
P I Infosoft Is Different
Rajarshi
 
How to-write-a-story
How to-write-a-storyHow to-write-a-story
How to-write-a-story
Rocio Torres
 
Participants List For Jsm
Participants List For JsmParticipants List For Jsm
Participants List For Jsm
JADE aisbl
 
Canvas Based Presentation tool - First Review
Canvas Based Presentation tool - First ReviewCanvas Based Presentation tool - First Review
Canvas Based Presentation tool - First Review
Arvind Krishnaa
 
Bahan presentasi uu asn batam 11 nov 2014
Bahan presentasi uu asn batam 11 nov 2014Bahan presentasi uu asn batam 11 nov 2014
Bahan presentasi uu asn batam 11 nov 2014
Mohammad Subhan
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
Parag Gajbhiye
 

Viewers also liked (19)

Resume M Pitcher 2010 08 27
Resume   M Pitcher 2010 08 27Resume   M Pitcher 2010 08 27
Resume M Pitcher 2010 08 27
 
Technology Transfer in the Renewable Energy Space: Key Challenges and Opportu...
Technology Transfer in the Renewable Energy Space: Key Challenges and Opportu...Technology Transfer in the Renewable Energy Space: Key Challenges and Opportu...
Technology Transfer in the Renewable Energy Space: Key Challenges and Opportu...
 
Goodrich Global 产品常见问题 (地板)
Goodrich Global 产品常见问题 (地板)Goodrich Global 产品常见问题 (地板)
Goodrich Global 产品常见问题 (地板)
 
Tulospohjainen Markkinointi Netissä
Tulospohjainen Markkinointi NetissäTulospohjainen Markkinointi Netissä
Tulospohjainen Markkinointi Netissä
 
Curvess I&E
Curvess I&ECurvess I&E
Curvess I&E
 
Materi rapat sosev batam
Materi rapat sosev batamMateri rapat sosev batam
Materi rapat sosev batam
 
P I Infosoft Is Different
P I Infosoft Is DifferentP I Infosoft Is Different
P I Infosoft Is Different
 
How to-write-a-story
How to-write-a-storyHow to-write-a-story
How to-write-a-story
 
♥♥♥
♥♥♥♥♥♥
♥♥♥
 
Participants List For Jsm
Participants List For JsmParticipants List For Jsm
Participants List For Jsm
 
Canvas Based Presentation tool - First Review
Canvas Based Presentation tool - First ReviewCanvas Based Presentation tool - First Review
Canvas Based Presentation tool - First Review
 
CambridgeIP Webinar: Developing a fact Based IP Strategy
CambridgeIP Webinar: Developing a fact Based IP StrategyCambridgeIP Webinar: Developing a fact Based IP Strategy
CambridgeIP Webinar: Developing a fact Based IP Strategy
 
Verkko Myyntikanavana
Verkko MyyntikanavanaVerkko Myyntikanavana
Verkko Myyntikanavana
 
Goodrich Global Corporate Brochure
Goodrich Global Corporate  BrochureGoodrich Global Corporate  Brochure
Goodrich Global Corporate Brochure
 
TodiCastle: villa rentals & historic hotel in Umbria
TodiCastle: villa rentals & historic hotel in UmbriaTodiCastle: villa rentals & historic hotel in Umbria
TodiCastle: villa rentals & historic hotel in Umbria
 
Digiaika - Mikä Muuttuu Markkinoinnissa
Digiaika - Mikä Muuttuu MarkkinoinnissaDigiaika - Mikä Muuttuu Markkinoinnissa
Digiaika - Mikä Muuttuu Markkinoinnissa
 
Unit 0
Unit 0Unit 0
Unit 0
 
Bahan presentasi uu asn batam 11 nov 2014
Bahan presentasi uu asn batam 11 nov 2014Bahan presentasi uu asn batam 11 nov 2014
Bahan presentasi uu asn batam 11 nov 2014
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 

More from Shintaro Hosoai

テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
Shintaro Hosoai
 
Eclipse con2010 参加報告 upload
Eclipse con2010 参加報告 uploadEclipse con2010 参加報告 upload
Eclipse con2010 参加報告 upload
Shintaro Hosoai
 

More from Shintaro Hosoai (11)

UMLだけじゃないもやもやを解消するモデリング技術の紹介 その2 Feature Model
UMLだけじゃないもやもやを解消するモデリング技術の紹介 その2 Feature ModelUMLだけじゃないもやもやを解消するモデリング技術の紹介 その2 Feature Model
UMLだけじゃないもやもやを解消するモデリング技術の紹介 その2 Feature Model
 
astah関西勉強会#2 STAMP Workbenchではじめる安全分析
astah関西勉強会#2 STAMP Workbenchではじめる安全分析astah関西勉強会#2 STAMP Workbenchではじめる安全分析
astah関西勉強会#2 STAMP Workbenchではじめる安全分析
 
astah関西勉強会
astah関西勉強会astah関西勉強会
astah関西勉強会
 
手抜力
手抜力手抜力
手抜力
 
Mqttで始めるIoT
Mqttで始めるIoTMqttで始めるIoT
Mqttで始めるIoT
 
Xtext入門
Xtext入門Xtext入門
Xtext入門
 
Xtext&Xtend documents
Xtext&Xtend documentsXtext&Xtend documents
Xtext&Xtend documents
 
Xtext practice
Xtext practiceXtext practice
Xtext practice
 
Eclipse modeling projectの概要
Eclipse modeling projectの概要Eclipse modeling projectの概要
Eclipse modeling projectの概要
 
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
テキスト型Domain Specific Language (DSL) 開発フレームワークXtext の紹介
 
Eclipse con2010 参加報告 upload
Eclipse con2010 参加報告 uploadEclipse con2010 参加報告 upload
Eclipse con2010 参加報告 upload
 

Recently uploaded

Recently uploaded (12)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

Umlとは