SlideShare a Scribd company logo
分野・地域を越えた実践的情報教育協働ネットワーク

UML講義 1日目
神戸大学
まつ本 真佑 中村 匡秀 佐伯 幸郎
山本 晋太郎 高橋 昂平 大櫛 章裕

Cloud Specialist Program Initiative for Reality-based Advanced Learning
Cloud Specialist Program Initiative for Reality-based Advanced Learning

教員紹介
所属:神戸大学大学院 システム情報学研究科
教員
 まつ本 真佑
 中村 匡秀
 佐伯 幸郎

TA (M2)
 大櫛 章裕
 高橋 昂平
 山本 晋太郎
分野・地域を越えた実践的情報教育協働ネットワーク

© Cloud Spiral partners 2013

2013/5/17

2
Cloud Specialist Program Initiative for Reality-based Advanced Learning

UML: Unified Modeling Language
ソフトウェアをモデリングするための言語(記法)
 ソフトウェアを様々な側面からモデリングし可視化
 13種類の図
機能的

静的
動的

分野・地域を越えた実践的情報教育協働ネットワーク

© Cloud Spiral partners 2013

2013/5/17

3
Cloud Specialist Program Initiative for Reality-based Advanced Learning

UMLの歴史
1995

1996

…

2004

Booch法
G. Booch

Unified Method 0.8

OMT

UML 0.9

J. Rumbaugh

OOSE

UML 2.0

I. Jacobson
分野・地域を越えた実践的情報教育協働ネットワーク

© Cloud Spiral partners 2013

2013/5/17

4
Cloud Specialist Program Initiative for Reality-based Advanced Learning

UML講義の目標
3つの目標
 UMLを読めるようにする
 UMLを書けるようにする
 開発プロセスを理解する

UMLはただの道具
 どんな流れで・どう使うかが重要
=開発プロセス

分野・地域を越えた実践的情報教育協働ネットワーク

© Cloud Spiral partners 2013

2013/5/17

5
Cloud Specialist Program Initiative for Reality-based Advanced Learning

ソフトウェア開発プロセス
ソフトウェアを開発する作業の工程・構造
要求分析
概要設計
詳細設計

何を作るか
=what

どうやって実現するか
=how

実装

様々な開発プロセス・手法
 ウォーターフォール,アジャイル,RUP,XP,ICONIX,
TDD,UCDD,DDD,Ad-hoc,・・・
分野・地域を越えた実践的情報教育協働ネットワーク

© Cloud Spiral partners 2013

2013/5/17

6
Cloud Specialist Program Initiative for Reality-based Advanced Learning

ICONIXプロセス
ICONIX社が作った開発プロセス
 ユースケース駆動
 書籍 『ユースケース駆動開発実践ガイド』

特徴
 軽量 (小~中規模向け)
 緩いウォーターフォール
 ある程度の手戻りを前提
 4つのUML図+ロバストネス図
分野・地域を越えた実践的情報教育協働ネットワーク

© Cloud Spiral partners 2013

2013/5/17

7
Cloud Specialist Program Initiative for Reality-based Advanced Learning

*ユースケース駆動開発実践ガイド

ICONIXプロセスの流れ*
動的

Test 2
Test 1
紙芝居

ユースケース図

シーケンス図
テスト計画
ロバストネス図

静的

ドメインモデル

ドメインモデル
(更新済)

分野・地域を越えた実践的情報教育協働ネットワーク

クラス図
© Cloud Spiral partners 2013

ソースコード
テストコード
2013/5/17

8
Cloud Specialist Program Initiative for Reality-based Advanced Learning

ICONIXプロセスの流れ*
動的

*ユースケース駆動開発実践ガイド

2日目(来週)
夏合宿
Test 2
Test 1

紙芝居

ユースケース図

シーケンス図

1日目
(今日)

テスト計画
ロバストネス図

静的

ドメインモデル

ドメインモデル
(更新済)

分野・地域を越えた実践的情報教育協働ネットワーク

クラス図
© Cloud Spiral partners 2013

ソースコード
テストコード
2013/5/17

9
Cloud Specialist Program Initiative for Reality-based Advanced Learning

注意点
分析麻痺に注意
 「分析しだすと止まらなくなる」状態のこと
 分析コスト > 分析の利点
 分析の目的を見失わないように

答え・正解を期待しないこと
 モデリングに正解はない

分野・地域を越えた実践的情報教育協働ネットワーク

© Cloud Spiral partners 2013

2013/5/17

10
分野・地域を越えた実践的情報教育協働ネットワーク

システム要件の整理

Cloud Specialist Program Initiative for Reality-based Advanced Learning
Cloud Specialist Program Initiative for Reality-based Advanced Learning

演習シナリオ
スパイラル社
 チケット販売業務を提供中 (基本は電話応対)
 このチケット販売業務のIT化を検討中

クラウド社
 ソフトウェア開発会社
 スパイラル社からチケット販売
システムの開発を請負う

分野・地域を越えた実践的情報教育協働ネットワーク

© Cloud Spiral partners 2013

2013/5/17

12
Cloud Specialist Program Initiative for Reality-based Advanced Learning

演習:機能要件の整理

20m

新システムの機能要件(what)を整理してください
 必須要件:
 追加要件:

システムに最低限必要な機能
必須ではないがあると便利な機能

ユーザはシステムに
アカウントを登録で
きること

ユーザは登録した
アカウントでログイン
できること

ユーザはチケットの
購入履歴を確認
できること

ファシリテータのアジェンダを利用すること
 Additional Time 10分
分野・地域を越えた実践的情報教育協働ネットワーク

© Cloud Spiral partners 2013

2013/5/17

13
Cloud Specialist Program Initiative for Reality-based Advanced Learning

演習:GUI紙芝居の作成

30m

GUI紙芝居を作ってください
 目的:プロジェクト内でのWhatの共通認識形成
 ≠画面設計
 配色・デザイン・レイアウトは考えないこと
A4用紙(紙芝居)

ホワイトボード(画面遷移)

① ログイン画面
cspiral2013

①

④

******
ログイン
分野・地域を越えた実践的情報教育協働ネットワーク

②
③

⑤

© Cloud Spiral partners 2013

2013/5/17

14
Cloud Specialist Program Initiative for Reality-based Advanced Learning

ICONIX 流れの確認
動的
Test 2
Test 1
紙芝居

ユースケース図

シーケンス図
テスト計画
ロバストネス図

静的

ドメインモデル

ドメインモデル
(更新済)

分野・地域を越えた実践的情報教育協働ネットワーク

クラス図
© Cloud Spiral partners 2013

ソースコード
テストコード
2013/5/17

15
Cloud Specialist Program Initiative for Reality-based Advanced Learning

ドメインモデル図
システムで扱う「モノ」の関係を構造化した図
 プロジェクト内での用語集になる
 クラス図の記法を利用
 属性・処理を書き込まないこと

クラス名
属性
処理

マスタ
アカウントリスト

アカウント

汎化(is-a)

興行主
アカウント
分野・地域を越えた実践的情報教育協働ネットワーク

一般
アカウント

集約(has-a)

購入履歴
© Cloud Spiral partners 2013

2013/5/17

16
Cloud Specialist Program Initiative for Reality-based Advanced Learning

手順1
1. 要件リストから名詞・名詞句を洗い出す
2. オブジェクトの整理・グルーピングを行う
3. オブジェクト間の関係を書く
機能要件リスト
•
•
•
•
•

ユーザはアカウントを…
システムのユーザ情報…
登録された顧客台帳…
興行主アカウント…
興行主はイベントを…

分野・地域を越えた実践的情報教育協働ネットワーク

•
•
•
•
•

ユーザはアカウントを…
システムのユーザ情報…
登録された顧客台帳…
興行主アカウント…
興行主はイベントを…

© Cloud Spiral partners 2013

2013/5/17

17
Cloud Specialist Program Initiative for Reality-based Advanced Learning

手順2
1. 要件リストから名詞・名詞句を洗い出す
2. オブジェクトの整理・グルーピングを行う
3. オブジェクト間の関係を書く
アカウント
ユーザ情報
•
•
•
•
•

ユーザはアカウントを…
システムのユーザ情報…
登録された顧客台帳…
興行主アカウント…
興行主はイベントを…

アカウント

顧客台帳

マスタ
アカウントリスト

興行主アカウント

一般アカウント

イベント
分野・地域を越えた実践的情報教育協働ネットワーク

© Cloud Spiral partners 2013

2013/5/17

18
Cloud Specialist Program Initiative for Reality-based Advanced Learning

手順3
1. 要件リストから名詞・名詞句を洗い出す
2. オブジェクトの整理・グルーピングを行う
3. オブジェクト間の関係を書く

アカウント
ユーザ情報

アカウント

顧客台帳

マスタ
アカウントリスト

興行主アカウント

一般アカウント

分野・地域を越えた実践的情報教育協働ネットワーク

マスタ
アカウントリスト
アカウント

興行主
アカウント
© Cloud Spiral partners 2013

一般
アカウント
2013/5/17

19
Cloud Specialist Program Initiative for Reality-based Advanced Learning

ユースケース図
目的:システムの振る舞い(what)を明らかにする
 利用者の視点からシステムの機能を整理する
 利用者はこのシステムで何ができるのか?
 利用者はこのシステムで何を得るのか?

アクタ

アカウントを
登録する

ユースケース(UC)

ログインする

一般ユーザ

イベントを
登録する
ログアウトする

分野・地域を越えた実践的情報教育協働ネットワーク

興行主
© Cloud Spiral partners 2013

2013/5/17

20
Cloud Specialist Program Initiative for Reality-based Advanced Learning

ユースケース間の関連
A precedes B
 Aの完了後にBが実行される(事前条件)
<<precedes>>

チケットを
予約する

<<precedes>>

購入履歴を
確認する

ログインする

A invokes B
 Aの実行中にBが実行される(サブセット)
<<invokes>>

支払いをする

<<invokes>>

チケットを
発送する

チケットを
購入する

分野・地域を越えた実践的情報教育協働ネットワーク

© Cloud Spiral partners 2013

配送係
2013/5/17

21
Cloud Specialist Program Initiative for Reality-based Advanced Learning

ユースケースの粒度
システムメニューの機能一覧をイメージする
 アクタから見たときの1つの機能=1UC
 内部処理(how)を意識しない
螺旋銀行

いらっしゃいませ
ご希望のお取引を選択してください
お引出し

残高照会

お預入れ

通帳記帳

お振込み

お預替え

分野・地域を越えた実践的情報教育協働ネットワーク

© Cloud Spiral partners 2013

2013/5/17

22
Cloud Specialist Program Initiative for Reality-based Advanced Learning

ユースケースの悪い例と良い例
イベントの名前,開催
場所,値段を確認する

イベント詳細を
確認する

アカウントをデータ
ベースに登録する

アカウントを
登録する

イベント一覧を様々な
キーでソートする

イベント一覧を
確認する

売り上げを棒グラフで
表示する

売り上げを
確認する

未支払いの場合は
予約を強制キャンセル

予約を
キャンセルする

一般ユーザ

興行主

分野・地域を越えた実践的情報教育協働ネットワーク

© Cloud Spiral partners 2013

2013/5/17

23
Cloud Specialist Program Initiative for Reality-based Advanced Learning

演習:2つの図の作成

50m

ドメインモデルとユースケースを作成してください
 必ず用語をそろえること
ドメインモデル図

ユースケース図
ログイン
する

アカウント
一般ユーザ

一般
アカウント

興行主
アカウント

分野・地域を越えた実践的情報教育協働ネットワーク

ログアウト
する
購入履歴を
確認する

© Cloud Spiral partners 2013

2013/5/17

24
分野・地域を越えた実践的情報教育協働ネットワーク

その他

Cloud Specialist Program Initiative for Reality-based Advanced Learning
Cloud Specialist Program Initiative for Reality-based Advanced Learning

参考図書
 『はじめて学ぶUML』
 『ユースケース駆動開発実践ガイド』
 『ユースケース入門―ユーザマニュアルからプログラムを作る』
 『オブジェクト指向でなぜつくるのか』
 OMGによるUMLの仕様書
 http://www.uml.org/

分野・地域を越えた実践的情報教育協働ネットワーク

© Cloud Spiral partners 2013

2013/5/17

26

More Related Content

What's hot

【初公開】チャットワーク検索機能を支える技術
【初公開】チャットワーク検索機能を支える技術【初公開】チャットワーク検索機能を支える技術
【初公開】チャットワーク検索機能を支える技術
Yoshinori Fujiwara
 
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
Osaka University
 
リクルートの利用事例から考える AWSの各サービスとセキュリティ
リクルートの利用事例から考える AWSの各サービスとセキュリティリクルートの利用事例から考える AWSの各サービスとセキュリティ
リクルートの利用事例から考える AWSの各サービスとセキュリティ
Recruit Technologies
 
CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~
CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~
CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~
Takeshi Yako
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Yuki Ando
 
[AWS DevDay] Cognito / Amplify で加速するエンタープライズのアプリケーション開発
[AWS DevDay] Cognito / Amplify で加速するエンタープライズのアプリケーション開発[AWS DevDay] Cognito / Amplify で加速するエンタープライズのアプリケーション開発
[AWS DevDay] Cognito / Amplify で加速するエンタープライズのアプリケーション開発
Yuki Ando
 
AWSで動画共有サイトを作成して全社に公開
AWSで動画共有サイトを作成して全社に公開AWSで動画共有サイトを作成して全社に公開
AWSで動画共有サイトを作成して全社に公開
ToruKubota4
 
rePiT2015_アジャイルソフトウェア開発教育のためのチケットシステムを用いたプロジェクト定量評価手法
rePiT2015_アジャイルソフトウェア開発教育のためのチケットシステムを用いたプロジェクト定量評価手法rePiT2015_アジャイルソフトウェア開発教育のためのチケットシステムを用いたプロジェクト定量評価手法
rePiT2015_アジャイルソフトウェア開発教育のためのチケットシステムを用いたプロジェクト定量評価手法
Hiroshi Igaki
 
AWS & Google Cloud 両方を駆使するチームでの技術選定
AWS & Google Cloud  両方を駆使するチームでの技術選定AWS & Google Cloud  両方を駆使するチームでの技術選定
AWS & Google Cloud 両方を駆使するチームでの技術選定
修一 高橋
 
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
gree_tech
 
AWS SUMMIT TOKYO 2012 - BASCULE SESSION
AWS SUMMIT TOKYO 2012 - BASCULE SESSIONAWS SUMMIT TOKYO 2012 - BASCULE SESSION
AWS SUMMIT TOKYO 2012 - BASCULE SESSION
Mariko Nishimura
 

What's hot (11)

【初公開】チャットワーク検索機能を支える技術
【初公開】チャットワーク検索機能を支える技術【初公開】チャットワーク検索機能を支える技術
【初公開】チャットワーク検索機能を支える技術
 
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
Nttドコモ事例から見るモバイル&クラウド時代のサービス開発についてr4(public)
 
リクルートの利用事例から考える AWSの各サービスとセキュリティ
リクルートの利用事例から考える AWSの各サービスとセキュリティリクルートの利用事例から考える AWSの各サービスとセキュリティ
リクルートの利用事例から考える AWSの各サービスとセキュリティ
 
CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~
CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~
CloudFront、RedshiftなどAWSが支える動画広告の舞台裏~インフラのイノベーションがもたらす動画広告のイノベーション~
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
[AWS DevDay] Cognito / Amplify で加速するエンタープライズのアプリケーション開発
[AWS DevDay] Cognito / Amplify で加速するエンタープライズのアプリケーション開発[AWS DevDay] Cognito / Amplify で加速するエンタープライズのアプリケーション開発
[AWS DevDay] Cognito / Amplify で加速するエンタープライズのアプリケーション開発
 
AWSで動画共有サイトを作成して全社に公開
AWSで動画共有サイトを作成して全社に公開AWSで動画共有サイトを作成して全社に公開
AWSで動画共有サイトを作成して全社に公開
 
rePiT2015_アジャイルソフトウェア開発教育のためのチケットシステムを用いたプロジェクト定量評価手法
rePiT2015_アジャイルソフトウェア開発教育のためのチケットシステムを用いたプロジェクト定量評価手法rePiT2015_アジャイルソフトウェア開発教育のためのチケットシステムを用いたプロジェクト定量評価手法
rePiT2015_アジャイルソフトウェア開発教育のためのチケットシステムを用いたプロジェクト定量評価手法
 
AWS & Google Cloud 両方を駆使するチームでの技術選定
AWS & Google Cloud  両方を駆使するチームでの技術選定AWS & Google Cloud  両方を駆使するチームでの技術選定
AWS & Google Cloud 両方を駆使するチームでの技術選定
 
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
 
AWS SUMMIT TOKYO 2012 - BASCULE SESSION
AWS SUMMIT TOKYO 2012 - BASCULE SESSIONAWS SUMMIT TOKYO 2012 - BASCULE SESSION
AWS SUMMIT TOKYO 2012 - BASCULE SESSION
 

Similar to CloudSpiral 2013年度 UML講義 1日目

Efsta cod2012 master_for_slideshare
Efsta cod2012 master_for_slideshareEfsta cod2012 master_for_slideshare
Efsta cod2012 master_for_slideshareTakahito Sugishita
 
Metroアプリケーションのwin8/wp7の効率的ソース運用を考える
Metroアプリケーションのwin8/wp7の効率的ソース運用を考えるMetroアプリケーションのwin8/wp7の効率的ソース運用を考える
Metroアプリケーションのwin8/wp7の効率的ソース運用を考える
Takahito Sugishita
 
第14回SIA例会プレゼン資料
第14回SIA例会プレゼン資料第14回SIA例会プレゼン資料
第14回SIA例会プレゼン資料Tae Yoshida
 
熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」
熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」
熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」
Satoshi Fujimoto
 
リコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえるリコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえる
Yohei Yamamoto
 
Smfl20201001
Smfl20201001Smfl20201001
基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」Cybozucommunity
 
Azure Machine Learning Build 2020
Azure Machine Learning Build 2020Azure Machine Learning Build 2020
Azure Machine Learning Build 2020
Keita Onabuta
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
Ken Azuma
 
20140220 gumistudy cloudformation
20140220 gumistudy cloudformation20140220 gumistudy cloudformation
20140220 gumistudy cloudformation
Kazuki Ueki
 
20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道
20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道
20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道
Osamu Takazoe
 
くま(Kuma)でメッシュなマイクロサービス
くま(Kuma)でメッシュなマイクロサービスくま(Kuma)でメッシュなマイクロサービス
くま(Kuma)でメッシュなマイクロサービス
ssuser6b3f181
 
Cloud Native and Agile Approach
Cloud Native and Agile ApproachCloud Native and Agile Approach
Cloud Native and Agile Approach
Shinya Yanagihara
 
AppPot製品概要
AppPot製品概要AppPot製品概要
AppPot製品概要
Ryohei Sogo
 
IoT Application Development by XPages on Bluemix
IoT Application Development by XPages on BluemixIoT Application Development by XPages on Bluemix
IoT Application Development by XPages on Bluemix
Atsushi Sato
 
Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料
Atsushi Takayasu
 
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
Rakuten Group, Inc.
 
Indigo Studio で作るプロトタイプ
Indigo Studio で作るプロトタイプIndigo Studio で作るプロトタイプ
Indigo Studio で作るプロトタイプ
インフラジスティックス・ジャパン株式会社
 
富士ゼロックスのマルチクラウド戦略
富士ゼロックスのマルチクラウド戦略富士ゼロックスのマルチクラウド戦略
富士ゼロックスのマルチクラウド戦略
Yuta Watanabe
 
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
 

Similar to CloudSpiral 2013年度 UML講義 1日目 (20)

Efsta cod2012 master_for_slideshare
Efsta cod2012 master_for_slideshareEfsta cod2012 master_for_slideshare
Efsta cod2012 master_for_slideshare
 
Metroアプリケーションのwin8/wp7の効率的ソース運用を考える
Metroアプリケーションのwin8/wp7の効率的ソース運用を考えるMetroアプリケーションのwin8/wp7の効率的ソース運用を考える
Metroアプリケーションのwin8/wp7の効率的ソース運用を考える
 
第14回SIA例会プレゼン資料
第14回SIA例会プレゼン資料第14回SIA例会プレゼン資料
第14回SIA例会プレゼン資料
 
熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」
熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」
熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」
 
リコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえるリコーUCSの開発をリーンスタートアップ的視点でふりかえる
リコーUCSの開発をリーンスタートアップ的視点でふりかえる
 
Smfl20201001
Smfl20201001Smfl20201001
Smfl20201001
 
基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」
 
Azure Machine Learning Build 2020
Azure Machine Learning Build 2020Azure Machine Learning Build 2020
Azure Machine Learning Build 2020
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
 
20140220 gumistudy cloudformation
20140220 gumistudy cloudformation20140220 gumistudy cloudformation
20140220 gumistudy cloudformation
 
20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道
20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道
20141010 マイクロソフト技術と共に目指すフルスタックエンジニアへの道
 
くま(Kuma)でメッシュなマイクロサービス
くま(Kuma)でメッシュなマイクロサービスくま(Kuma)でメッシュなマイクロサービス
くま(Kuma)でメッシュなマイクロサービス
 
Cloud Native and Agile Approach
Cloud Native and Agile ApproachCloud Native and Agile Approach
Cloud Native and Agile Approach
 
AppPot製品概要
AppPot製品概要AppPot製品概要
AppPot製品概要
 
IoT Application Development by XPages on Bluemix
IoT Application Development by XPages on BluemixIoT Application Development by XPages on Bluemix
IoT Application Development by XPages on Bluemix
 
Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料
 
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten,  core skills  neede...
楽天市場で使われている技術、エンジニアに必要なコアスキルとはTechnology used in Rakuten, core skills neede...
 
Indigo Studio で作るプロトタイプ
Indigo Studio で作るプロトタイプIndigo Studio で作るプロトタイプ
Indigo Studio で作るプロトタイプ
 
富士ゼロックスのマルチクラウド戦略
富士ゼロックスのマルチクラウド戦略富士ゼロックスのマルチクラウド戦略
富士ゼロックスのマルチクラウド戦略
 
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
ひと漕ぎで二度おいしい!? Flutterを使ったモバイルアプリ開発への期待と実態と付き合い方(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 

CloudSpiral 2013年度 UML講義 1日目

  • 1. 分野・地域を越えた実践的情報教育協働ネットワーク UML講義 1日目 神戸大学 まつ本 真佑 中村 匡秀 佐伯 幸郎 山本 晋太郎 高橋 昂平 大櫛 章裕 Cloud Specialist Program Initiative for Reality-based Advanced Learning
  • 2. Cloud Specialist Program Initiative for Reality-based Advanced Learning 教員紹介 所属:神戸大学大学院 システム情報学研究科 教員  まつ本 真佑  中村 匡秀  佐伯 幸郎 TA (M2)  大櫛 章裕  高橋 昂平  山本 晋太郎 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/17 2
  • 3. Cloud Specialist Program Initiative for Reality-based Advanced Learning UML: Unified Modeling Language ソフトウェアをモデリングするための言語(記法)  ソフトウェアを様々な側面からモデリングし可視化  13種類の図 機能的 静的 動的 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/17 3
  • 4. Cloud Specialist Program Initiative for Reality-based Advanced Learning UMLの歴史 1995 1996 … 2004 Booch法 G. Booch Unified Method 0.8 OMT UML 0.9 J. Rumbaugh OOSE UML 2.0 I. Jacobson 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/17 4
  • 5. Cloud Specialist Program Initiative for Reality-based Advanced Learning UML講義の目標 3つの目標  UMLを読めるようにする  UMLを書けるようにする  開発プロセスを理解する UMLはただの道具  どんな流れで・どう使うかが重要 =開発プロセス 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/17 5
  • 6. Cloud Specialist Program Initiative for Reality-based Advanced Learning ソフトウェア開発プロセス ソフトウェアを開発する作業の工程・構造 要求分析 概要設計 詳細設計 何を作るか =what どうやって実現するか =how 実装 様々な開発プロセス・手法  ウォーターフォール,アジャイル,RUP,XP,ICONIX, TDD,UCDD,DDD,Ad-hoc,・・・ 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/17 6
  • 7. Cloud Specialist Program Initiative for Reality-based Advanced Learning ICONIXプロセス ICONIX社が作った開発プロセス  ユースケース駆動  書籍 『ユースケース駆動開発実践ガイド』 特徴  軽量 (小~中規模向け)  緩いウォーターフォール  ある程度の手戻りを前提  4つのUML図+ロバストネス図 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/17 7
  • 8. Cloud Specialist Program Initiative for Reality-based Advanced Learning *ユースケース駆動開発実践ガイド ICONIXプロセスの流れ* 動的 Test 2 Test 1 紙芝居 ユースケース図 シーケンス図 テスト計画 ロバストネス図 静的 ドメインモデル ドメインモデル (更新済) 分野・地域を越えた実践的情報教育協働ネットワーク クラス図 © Cloud Spiral partners 2013 ソースコード テストコード 2013/5/17 8
  • 9. Cloud Specialist Program Initiative for Reality-based Advanced Learning ICONIXプロセスの流れ* 動的 *ユースケース駆動開発実践ガイド 2日目(来週) 夏合宿 Test 2 Test 1 紙芝居 ユースケース図 シーケンス図 1日目 (今日) テスト計画 ロバストネス図 静的 ドメインモデル ドメインモデル (更新済) 分野・地域を越えた実践的情報教育協働ネットワーク クラス図 © Cloud Spiral partners 2013 ソースコード テストコード 2013/5/17 9
  • 10. Cloud Specialist Program Initiative for Reality-based Advanced Learning 注意点 分析麻痺に注意  「分析しだすと止まらなくなる」状態のこと  分析コスト > 分析の利点  分析の目的を見失わないように 答え・正解を期待しないこと  モデリングに正解はない 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/17 10
  • 12. Cloud Specialist Program Initiative for Reality-based Advanced Learning 演習シナリオ スパイラル社  チケット販売業務を提供中 (基本は電話応対)  このチケット販売業務のIT化を検討中 クラウド社  ソフトウェア開発会社  スパイラル社からチケット販売 システムの開発を請負う 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/17 12
  • 13. Cloud Specialist Program Initiative for Reality-based Advanced Learning 演習:機能要件の整理 20m 新システムの機能要件(what)を整理してください  必須要件:  追加要件: システムに最低限必要な機能 必須ではないがあると便利な機能 ユーザはシステムに アカウントを登録で きること ユーザは登録した アカウントでログイン できること ユーザはチケットの 購入履歴を確認 できること ファシリテータのアジェンダを利用すること  Additional Time 10分 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/17 13
  • 14. Cloud Specialist Program Initiative for Reality-based Advanced Learning 演習:GUI紙芝居の作成 30m GUI紙芝居を作ってください  目的:プロジェクト内でのWhatの共通認識形成  ≠画面設計  配色・デザイン・レイアウトは考えないこと A4用紙(紙芝居) ホワイトボード(画面遷移) ① ログイン画面 cspiral2013 ① ④ ****** ログイン 分野・地域を越えた実践的情報教育協働ネットワーク ② ③ ⑤ © Cloud Spiral partners 2013 2013/5/17 14
  • 15. Cloud Specialist Program Initiative for Reality-based Advanced Learning ICONIX 流れの確認 動的 Test 2 Test 1 紙芝居 ユースケース図 シーケンス図 テスト計画 ロバストネス図 静的 ドメインモデル ドメインモデル (更新済) 分野・地域を越えた実践的情報教育協働ネットワーク クラス図 © Cloud Spiral partners 2013 ソースコード テストコード 2013/5/17 15
  • 16. Cloud Specialist Program Initiative for Reality-based Advanced Learning ドメインモデル図 システムで扱う「モノ」の関係を構造化した図  プロジェクト内での用語集になる  クラス図の記法を利用  属性・処理を書き込まないこと クラス名 属性 処理 マスタ アカウントリスト アカウント 汎化(is-a) 興行主 アカウント 分野・地域を越えた実践的情報教育協働ネットワーク 一般 アカウント 集約(has-a) 購入履歴 © Cloud Spiral partners 2013 2013/5/17 16
  • 17. Cloud Specialist Program Initiative for Reality-based Advanced Learning 手順1 1. 要件リストから名詞・名詞句を洗い出す 2. オブジェクトの整理・グルーピングを行う 3. オブジェクト間の関係を書く 機能要件リスト • • • • • ユーザはアカウントを… システムのユーザ情報… 登録された顧客台帳… 興行主アカウント… 興行主はイベントを… 分野・地域を越えた実践的情報教育協働ネットワーク • • • • • ユーザはアカウントを… システムのユーザ情報… 登録された顧客台帳… 興行主アカウント… 興行主はイベントを… © Cloud Spiral partners 2013 2013/5/17 17
  • 18. Cloud Specialist Program Initiative for Reality-based Advanced Learning 手順2 1. 要件リストから名詞・名詞句を洗い出す 2. オブジェクトの整理・グルーピングを行う 3. オブジェクト間の関係を書く アカウント ユーザ情報 • • • • • ユーザはアカウントを… システムのユーザ情報… 登録された顧客台帳… 興行主アカウント… 興行主はイベントを… アカウント 顧客台帳 マスタ アカウントリスト 興行主アカウント 一般アカウント イベント 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/17 18
  • 19. Cloud Specialist Program Initiative for Reality-based Advanced Learning 手順3 1. 要件リストから名詞・名詞句を洗い出す 2. オブジェクトの整理・グルーピングを行う 3. オブジェクト間の関係を書く アカウント ユーザ情報 アカウント 顧客台帳 マスタ アカウントリスト 興行主アカウント 一般アカウント 分野・地域を越えた実践的情報教育協働ネットワーク マスタ アカウントリスト アカウント 興行主 アカウント © Cloud Spiral partners 2013 一般 アカウント 2013/5/17 19
  • 20. Cloud Specialist Program Initiative for Reality-based Advanced Learning ユースケース図 目的:システムの振る舞い(what)を明らかにする  利用者の視点からシステムの機能を整理する  利用者はこのシステムで何ができるのか?  利用者はこのシステムで何を得るのか? アクタ アカウントを 登録する ユースケース(UC) ログインする 一般ユーザ イベントを 登録する ログアウトする 分野・地域を越えた実践的情報教育協働ネットワーク 興行主 © Cloud Spiral partners 2013 2013/5/17 20
  • 21. Cloud Specialist Program Initiative for Reality-based Advanced Learning ユースケース間の関連 A precedes B  Aの完了後にBが実行される(事前条件) <<precedes>> チケットを 予約する <<precedes>> 購入履歴を 確認する ログインする A invokes B  Aの実行中にBが実行される(サブセット) <<invokes>> 支払いをする <<invokes>> チケットを 発送する チケットを 購入する 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 配送係 2013/5/17 21
  • 22. Cloud Specialist Program Initiative for Reality-based Advanced Learning ユースケースの粒度 システムメニューの機能一覧をイメージする  アクタから見たときの1つの機能=1UC  内部処理(how)を意識しない 螺旋銀行 いらっしゃいませ ご希望のお取引を選択してください お引出し 残高照会 お預入れ 通帳記帳 お振込み お預替え 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/17 22
  • 23. Cloud Specialist Program Initiative for Reality-based Advanced Learning ユースケースの悪い例と良い例 イベントの名前,開催 場所,値段を確認する イベント詳細を 確認する アカウントをデータ ベースに登録する アカウントを 登録する イベント一覧を様々な キーでソートする イベント一覧を 確認する 売り上げを棒グラフで 表示する 売り上げを 確認する 未支払いの場合は 予約を強制キャンセル 予約を キャンセルする 一般ユーザ 興行主 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/17 23
  • 24. Cloud Specialist Program Initiative for Reality-based Advanced Learning 演習:2つの図の作成 50m ドメインモデルとユースケースを作成してください  必ず用語をそろえること ドメインモデル図 ユースケース図 ログイン する アカウント 一般ユーザ 一般 アカウント 興行主 アカウント 分野・地域を越えた実践的情報教育協働ネットワーク ログアウト する 購入履歴を 確認する © Cloud Spiral partners 2013 2013/5/17 24
  • 26. Cloud Specialist Program Initiative for Reality-based Advanced Learning 参考図書  『はじめて学ぶUML』  『ユースケース駆動開発実践ガイド』  『ユースケース入門―ユーザマニュアルからプログラムを作る』  『オブジェクト指向でなぜつくるのか』  OMGによるUMLの仕様書  http://www.uml.org/ 分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/17 26