uml とモデリングの暷新動向 - staffuml とモデリングの暷新動向...

21
UMLとモデリングの新動向 (株)テクノロジックアート 大輔 [email protected] 2 アジェンダ ソフトウェア開発を取り巻く状 UMLとモデリング モデリング手 モデリング技術者の育成 まとめ 参考資料

Upload: others

Post on 17-Mar-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

UMLとモデリングの最新動向

(株)テクノロジックアート

橋本 大輔

[email protected]

2

アジェンダ

� ソフトウェア開発を取り巻く状況

� UMLとモデリング

� モデリング手法

� モデリング技術者の育成

� まとめ

� 参考資料

Page 2: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

ソフトウェア開発を取り巻く状況

4

ソフトウェア開発の変化

� ソフトウェアは近年複雑化、多様化が進んでいる� コンピュータの普及によるユーザ層の拡大

� インターネットの普及による様々なビジネスの登場

� システム統合や大規模化が進んでいる� 企業の合併が進んでいる

� キーワードは「全体最適」

� SCM、EA、SOA・・・

� 短納期や低コスト化の要求が強くなっている� 大規模なソフトウェアを短納期かつ低コストで開発しなければならない

� 海外(中国、インド、ロシア)での製造による対応が迫られている

Page 3: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

5

オーダーメイドからの脱却

� 同じようなソフトウェアを毎回1から作っていては非効率

� 1度作ったソフトウェアから部品を抜き出して再利用したい

� 設計の枠組み(フレームワーク)を抜き出して再利用したい

� 市販の部品を利用したい

� 過去の資産(レガシーシステム)を活かしたい

ハードウェアハードウェアハードウェアハードウェアのののの製造製造製造製造とととと同同同同じようなじようなじようなじような部品組部品組部品組部品組みみみみ立立立立てててて型型型型ののののソフトソフトソフトソフト開発手法開発手法開発手法開発手法がががが必要必要必要必要

6

部品組み立て型の開発

ソフトウェアソフトウェアソフトウェアソフトウェアにににに必要必要必要必要なななな部品部品部品部品をををを洗洗洗洗いいいい出出出出すすすす

部品部品部品部品のののの組組組組みみみみ合合合合わせをわせをわせをわせを設計設計設計設計するするするする

設計図設計図設計図設計図にににに基基基基づきづきづきづき部品部品部品部品をををを組組組組みみみみ立立立立てるてるてるてる

設計図設計図設計図設計図をををを作成作成作成作成するするするする

Page 4: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

7

従来の設計手法の限界

� 文章中心の設計書の限界

� 複雑かつ大規模な対象を整理・表現しきれない

� 読み書きに時間がかかる

� 書き手、読み手によって差が大きい

� 図示化するにも統一された表現方法がない

� バラバラの表記法になってしまう

� まずは表記法を覚えなければならない

� プログラムコードへの反映が難しい

� プログラミング時に再度設計が必要になる

� 開発工程がつながらない

� 前工程の成果が次工程に活かされない

� 最新の実装技術に対応しきれない

ソフトウェアソフトウェアソフトウェアソフトウェアのののの設計設計設計設計においてにおいてにおいてにおいてモデリングモデリングモデリングモデリングととととUMLがががが注目注目注目注目されているされているされているされている

UMLとモデリング

Page 5: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

9

モデリングとは

    モデリングモデリングモデリングモデリング====モデルモデルモデルモデルをををを作成作成作成作成することすることすることすること    モデルモデルモデルモデル====あるあるあるある「「「「対象対象対象対象」」」」をををを整理整理整理整理したしたしたした上上上上でででで、、、、何何何何らかのらかのらかのらかの手段手段手段手段をををを用用用用いていていていて表現表現表現表現したものしたものしたものしたもの 「 「 「 「対象対象対象対象」=」=」=」=ソフトウェアソフトウェアソフトウェアソフトウェア開発開発開発開発においてはにおいてはにおいてはにおいては、、、、開発対象開発対象開発対象開発対象ののののソフトウェアソフトウェアソフトウェアソフトウェアやややや                            それをそれをそれをそれを導入導入導入導入するするするする業務業務業務業務がこれにあたるがこれにあたるがこれにあたるがこれにあたる

開発対象開発対象開発対象開発対象整理されていないあいまいさを含む無駄な情報を含む 文章による表現

(従来の設計書)

図形による表現

整理しきれない

モデルモデルモデルモデルをををを記述記述記述記述するためのするためのするためのするための標準的標準的標準的標準的なななな表記法表記法表記法表記法がががが必要必要必要必要!!!!!!!!

10

UMLとは

UMLUMLUMLUML((((Unified Modeling LanguageUnified Modeling LanguageUnified Modeling LanguageUnified Modeling Language::::統一統一統一統一モデリングモデリングモデリングモデリング言語言語言語言語 ))))

 モデルを表現する言語(表記法+意味)の一種である。 OMGOMGOMGOMG(オブジェクト指向技術の標準化団体)で標準化されている。 Javaや.NETなど、オブジェクト指向が実装技術のメインストリームとなったことも影響し 事実上モデリング言語のグローバルスタンダードとなった。

OMT法法法法

Booch法法法法

OOSE法法法法

UML

OMGでのでのでのでの標準化標準化標準化標準化

((((表記法表記法表記法表記法のみのみのみのみ))))

J.ランボー

G.ブーチ

I.ヤコブソン

Page 6: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

11

UMLの歴史

Booch法 OMT OOSE

Unified Method 0.8

UML 0.9

UML 1.0

UML 1.1

UML 1.3

UML 1.4

他の手法

UML 1.5

OMG標準化 ‘97.11

OMG提案 ‘97.1

‘96

OOPSLA ‘95

‘99

‘01

‘03

UML 2.0最終調整中(’04.12現在)

12

UML2.0

� UML初のメジャーバージョンアップ

� 目玉となるポイント� ビジネスモデリングなど上流工程への対応

� 組み込み分野への対応

� コンポーネントベース開発(Webサービス、SOA)のサポート

� MDA(モデル駆動型アーキテクチャ)の実現

� 2003年6月に仕様が確定(OMGの投票を通過)

� 現在(2004年12月)は最終調整中

Page 7: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

13

UML2.0のダイアグラム

� 構造のダイアグラム� クラス図

� オブジェクト図

� コンポジットコンポジットコンポジットコンポジット構造図構造図構造図構造図

� コンポーネント図

� 配置図

� パッケージ図

� 振る舞いのダイアグラム� ユースケース図

� シーケンス図

� コミュニケーション図

� タイミングタイミングタイミングタイミング図図図図

� 相互作用概要図相互作用概要図相互作用概要図相互作用概要図

� ステートマシン図

� アクティビティ図

NEW!!!!NEW!!!!

NEW!!!!NEW!!!!

NEW!!!!NEW!!!!

従来従来従来従来ののののダイアグラムダイアグラムダイアグラムダイアグラムもももも大幅大幅大幅大幅にににに修正修正修正修正されているされているされているされている!!!!

14

ユースケース図

顧客を登録する

受注係

顧客管理システム

倉庫係

≪actor≫

在庫管理システム

販売管理販売管理販売管理販売管理システムシステムシステムシステム

在庫状況を確認する

拡張点拡張点拡張点拡張点商品を選択する

≪extend≫

条件:{選択対象商品が複数ある場合}

商品リストを確認する

ソフトウェアが持つ機能とその利用者を表すダイアグラム

Page 8: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

15

クラス図

受注

- 受注番号

- 受注日付

+ 受注を生成する ( 受注情報)

- 受注日付を取得する ( ) : 受注日付

受注明細

- 受注数量

- 割引率

+ 受注明細を生成する ( 受注明細情報)

顧客

- 顧客番号

- 顧客名

- 住所

- 電話番号

0..*

1受注者

1 1..*

商品

- 商品コ ード

- 商品名

- 単価

0..*

1

ソフトウェアの静的構造を表現するダイアグラム

16

コンポーネント図

ソフトウェアの部品構造を表現するダイアグラム

Page 9: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

17

コンポジット構造図

全体クラス全体クラス

ポートポート

インターフェースインターフェース

部分クラス(パート)

部分クラス(パート)

部分クラス(外部パート)

部分クラス(外部パート)

クラスやコンポーネントの内部構造を表現するダイアグラム

18

オブジェクト図

顧客A

顧客名 = A

住所 = 東京都中央区

電話番号 = 03-XXXX-XXXX

注文1

注文明細1 -A

注文数量 = 3

商品A

商品名 = A

単価 = 3000

在庫数量 = 12

注文2

商品B

商品名 = B

単価 = 1800

在庫数量 = 79

注文明細1 -B

注文数量 = 31

商品C

商品名 = C

単価 = 2400

在庫数量 = 34

注文明細2 -B

注文数量 = 22

注文明細2 -C

注文数量 = 9

ソフトウェアの静的な構造をある瞬間に着目して表すダイアグラム

Page 10: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

19

シーケンス図

sd 商品商品商品商品をををを検索検索検索検索するするするする

ある機能を実現するためのオブジェクト間の相互作用を時系列に表現したダイアグラム

20

コミュニケーション図

受注係

: 受注入力画面

1 : 商品情報を確認する( )

7 : 受注情報を入力する( 数量 = 3台)

8 : 入力情報を確定する( )

エキショ ー : 商品

2 : 商品名を取得する( )

3 : 商品名 = エキショ ー

4 : 単価を取得する

5 : 単価 = 68000円

Aさ んから の受注 : 受注

9 : 受注内容を登録する( 商品 = エキショ ー, 数量 = 3台)

6 : 商品情報を表示する( 商品名 = エキショ ー、 単価 = 68000円)

.

ある機能を実現するための相互作用をオブジェクト間の関係に着目して表現したダイアグラム

Page 11: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

21

タイミング図

sd 信号機の例

持続制約持続制約

ライフラインライフライン

状態状態 メッセージメッセージ

タイミングルーラータイミングルーラー

ライフラインライフライン

ある機能を実現するための相互作用を状態変化のタイミングに着目して表現したダイアグラム

22

相互作用概要図

相互作用の手順を表現したダイアグラム

Page 12: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

23

ステートマシン図

受注済

予約済

未出荷受注

出荷済

出荷

納品

納品済

キャ ンセル済

キャ ンセル

決済済

決済

配送状況確認

オブジェクトの生存期間を通じての状態変化を表すダイアグラム

24

アクティビティ図

[販売中止]

販売する サポート対応する

製造する

[販売]

製造元に連絡する

マニュアルにないサポート内容

処理の流れを表現するダイアグラム

Page 13: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

25

配置図

ハードウェア構成やそこに配置されるソフトウェアの構成を表す

26

UMLのメリット1

UML

世界中世界中世界中世界中のののの技術者技術者技術者技術者がががが理解理解理解理解できるできるできるできる共通共通共通共通のののの表記法表記法表記法表記法

コミュニケーションツールコミュニケーションツールコミュニケーションツールコミュニケーションツールとしてのとしてのとしてのとしての効果効果効果効果

世界中の技術者が読み書きできる

仕様書がビジュアル化されるため、読みやすく理解しやすい

Page 14: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

27

UMLのメリット2

シーケンス図ユースケース図 クラス図

モデルモデルモデルモデル間間間間のつながりがのつながりがのつながりがのつながりが明確明確明確明確

ソフトウェアの様々な側面をUMLだけで表現可能

UMLのダイアグラム間には明確な対応関係がある

28

UMLのメリット3

UMLUMLUMLUMLののののモデルモデルモデルモデル要素例要素例要素例要素例((((オブジェクトオブジェクトオブジェクトオブジェクト指向指向指向指向にににに対応対応対応対応))))

クラス

属性

操作

オブジェクト

属性

操作

メッセージ

実装言語実装言語実装言語実装言語へのへのへのへの対応対応対応対応がががが容易容易容易容易

UMLで作成したモデルはJavaやC++、C#といった

オブジェクト指向ベースのプログラミング言語に対する

展開が容易である

Page 15: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

29

UMLと従来の図

UML従来従来従来従来のののの設計書設計書設計書設計書

従来従来従来従来のののの図図図図とのとのとのとの差異差異差異差異 UMLの登場以前から利用されている図に、DFD、ER図などがある。これらは、  構造化手法においては有効に働くが、オブジェクト指向のアプローチでの利用は困難である。

視点視点視点視点のののの少少少少なさとなさとなさとなさと、、、、表現表現表現表現のののの乏乏乏乏しさしさしさしさ

DFDでは処理を表現できるが、データ構造は表現できない。また、ER図はデータ構造を表現しているが、それに対する処理は表現できない。

多種多様多種多様多種多様多種多様なななな表現表現表現表現

UMLでは時系列や状態、オブジェクト自身が兼ね備えなければならない機能や処理、役割など、多種多様な見方ができるように考えられている。

上流工程上流工程上流工程上流工程からからからから下流工程下流工程下流工程下流工程までまでまでまで繋繋繋繋がらないがらないがらないがらない

DFDとER図はお互いに連携していない

シームレスシームレスシームレスシームレスなななな連携連携連携連携

UMLでは概念(論理)モデルから設計モデル、さらに実装モデルまでシームレスに繋げて表現することが可能である。

モデリング手法

Page 16: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

31

UMLとモデリング手法

� UMLはモデリング手法ではない� UMLだけではモデリングできない

� UMLはあくまでも表記法+意味

� モデリング手法とは?� UMLのダイアグラムを使ってどうソフトウェアをモデリングするか

� 各自で手法を選択し、使用できる� RUP(Rational Unified Process)

� Catalysis

� Executable UML

32

MDA

� Model Driven Architecture(モデル駆動型アーキテクチャ)

� OMGが提案する「モデル」を中心としたソフトウェア開発の枠組み

� まずモデルを作成し、そこから実装(プログラム)に展開する

� MDAの基盤技術を利用することで、モデルから実装(プログラム)

へはシームレスに展開する

� 究極は作成したモデル(設計図)がそのまま動くこと(Executable UML・・・実行可能なUML)

OMG (Object Management Group)  ・・・UMLやCORBA等、オブジェクト指向技術の標準化を進める団体

Page 17: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

33

MDAにおけるモデルの3つの視点

CIM

PIM

PSM

Mapping & Transformation

Mapping & Transformation

ソースコードを生成

計算処理に非依存なモデル

プラットフォームに非依存なモデル

プラットフォームに特化したモデル

視点視点視点視点をををを切切切切りりりり分分分分けてけてけてけてモデル

モデル

モデル

モデルをををを開発開発開発開発するするするする

34

モデルから実装までのイメージ

プラットフォームプラットフォームプラットフォームプラットフォームにににに依存依存依存依存しないしないしないしないモデルモデルモデルモデル

Webサービスモデル

Javaモデル

C++モデル

VBモデル

モデルモデルモデルモデル変換変換変換変換

ソースコードソースコードソースコードソースコード((((プログラムプログラムプログラムプログラム))))

ソースコードソースコードソースコードソースコード((((プログラムプログラムプログラムプログラム))))

ソースコードソースコードソースコードソースコード((((プログラムプログラムプログラムプログラム))))

ソースコードソースコードソースコードソースコード((((プログラムプログラムプログラムプログラム))))

生成生成生成生成

Page 18: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

35

MDAの基盤技術

� MDAを実現する基盤技術� MOF(Meta Object Facility)

� メタモデリング言語

� MOF QVT(Query View Transformation)� モデル変換言語

� MOFとMOF QVTの活用� CIM、PIM、PSMそれぞれのモデルの作成には

MOFで定義したモデリング言語(UML等)を使用する

� CIM、PIM、PSMの間のモデル変換にはMOF QVTを使用する

� これらに対応したツールも登場してきている

モデリング技術者の育成

Page 19: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

37

UMTP(UMLモデリング推進協議会)

� UMLモデリング推進協議会

� 2003年5月設立(同9月NPO認定)

� 会長: 上野南海雄 (㈱オージス総研専務取締役)

� 会員: 35社 個人会員(3)

� 活動目的� モデリング技術者の育成と各分野における

業務モデルの共有促進を目指した活動を行う

� モデリング技能認定試験� UMTPスキル標準に基づき4つのレベルが設定されている

� UMTP基準� UML用語編(第1版)・・・UML1.5用語の日本語訳

� 基準準拠製品・・・書籍、トレーニング、ツール

38

設立発起人

� エーセント インクJAPAN

� NECネクサソリューションズ(株)

� (株)NTTデータ

� (株)オージス総研

� キャッツ(株)

� サントリー(株)

� (株)サンモアテック

� (株)テクノロジックアート

� 東京国際大学

� (株)東芝

� (株)東陽テクニカ

� 日本アイ・ビー・エム(株)

� 日本オラクル(株)

� 日本電気(株)

� 日本ユニシス(株)

� 日本ラショナルソフトウェア(株)

� (株)野村総合研究所

� (株)日立製作所

� 富士通(株)

� (株)豆蔵

� (株)ラーニング・アーキテクチャ研究所

※※※※50音順音順音順音順

オブザーバ:経済産業省

Page 20: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

39

モデリング技能検定試験

・UMLなどを使ってモデリングを行う最低限の知識を持っている

簡単なUMLモデルの意味が分かるL1

・開発範囲の一部を担当し、モデリングができる・他者のモデルの意味を理解できる

UMLモデルの読み書きが普通にできる(モデリングリテラシーがある)

L2

・拡張性や変更容易性の点で高品質なモデルを定義できる・ビジネスモデリング、分析、アーキテクチャ設計、組み込み開発を行うための専門的な知識を備えている(分野は選択)

実務でモデリングが実践できるL3

・L3のスキルを有し、開発プロジェクトでモデリングを一定数あるいは期間実践した経験を持つ

実践に基づいてモデリングを指導できるL4

説明説明説明説明モデリングスキルモデリングスキルモデリングスキルモデリングスキルレベルレベルレベルレベル

上記スキル体系のうち、現在はL1レベルの試験が実施されている(その他も今後実施予定)L1レベルはT1、T2の2つの科目で構成されている(オージス総研UML技術者認定ブロンズに相当)

試験は、ピアソンVUE社を通して実施され、同社が指定する全国のテストセンターで受験できる。http://www.pearsonvue.com/japan/

40

まとめ

� ソフトウェア開発においてモデリングの重要性が高まっている

� モデルの標準的な表記法としてUMLは必要不可欠である

� モデルを中心とした新たな開発手法も登場している

� モデリング技術者を育成する環境が整いつつある

Page 21: UML とモデリングの暷新動向 - StaffUML とモデリングの暷新動向 (株)テクノロジックアート 橋曓 大輔 hashimoto@tech-arts.co.jp 2 アジェンダ

41

参考資料

� 「Unified Modeling Language Specification Ver1.5」、OMG、formal/03-03-01

� 「UML 2.0 Infrastructure Specification」、OMG、ptc/03-09-15

� 「UML 2.0 Superstructure Specification」、OMG、ptc/03-08-02

� 「Model Driven Architecture」、OMG、ormsc/01-07-01

� 「MDA Guide」、OMG、omg/03-06-01

� 「Objects, Components, and Frameworks With Uml: The Catalysis Approach」、D'Souza、A.Wills、Addison-Wesley

� 「UML2ハンドブック」、翔泳社

� 「UML辞典」、翔泳社、「UMLトレーニングブック」、ソーテック社

� 「UMLシステム設計実践技大全」、ナツメ社

� 「基礎UML」、インプレス

� テクノロジックアート、http://www.tech-arts.co.jp/

� UMTP、http://www.umtp-japan.org/