51
Cloud Specialist Program Initiative for Reality-based Advanced Learning 分野・地域を越えた実践的情報教育協働ネットワーク UML講義 2日目 神戸大学 まつ本 真佑 中村 匡秀 佐伯 幸郎 山本 晋太郎 高橋 昂平 大櫛 章裕

CloudSpiral 2013年度 UML講義 2日目

Embed Size (px)

Citation preview

Page 1: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

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

UML講義 2日目

神戸大学

まつ本 真佑 中村 匡秀 佐伯 幸郎

山本 晋太郎 高橋 昂平 大櫛 章裕

Page 2: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 2

復習:ICONIXプロセスの流れ*

ユースケース図

ロバストネス図

シーケンス図

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

クラス図

静的

動的

紙芝居

1日目(今日)

2日目(来週)夏合宿

Test 2Test 1

テスト計画

ソースコードテストコード

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

Page 3: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 3

紙芝居 プロジェクト内でのwhatの共通認識形成

非UML,やり方は様々

ユースケース図 Whatを一定の粒度で整理する

ドメインモデル図 システム内で扱う「モノ」を整理する

用語集

前回の復習

Page 4: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

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

宿題講評

Page 5: CloudSpiral 2013年度 UML講義 2日目

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

Cloud Specialist Program Initiative for Reality-based Advanced Learning

© Cloud Spiral partners 2013 2013/5/24 5

Page 6: CloudSpiral 2013年度 UML講義 2日目

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

Cloud Specialist Program Initiative for Reality-based Advanced Learning

© Cloud Spiral partners 2013 2013/5/24 6

Page 7: CloudSpiral 2013年度 UML講義 2日目

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

Cloud Specialist Program Initiative for Reality-based Advanced Learning

© Cloud Spiral partners 2013 2013/5/24 7

Page 8: CloudSpiral 2013年度 UML講義 2日目

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

Cloud Specialist Program Initiative for Reality-based Advanced Learning

© Cloud Spiral partners 2013 2013/5/24 8

Page 9: CloudSpiral 2013年度 UML講義 2日目

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

Cloud Specialist Program Initiative for Reality-based Advanced Learning

© Cloud Spiral partners 2013 2013/5/24 9

Page 10: CloudSpiral 2013年度 UML講義 2日目

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

Cloud Specialist Program Initiative for Reality-based Advanced Learning

© Cloud Spiral partners 2013 2013/5/24 10

ユースケース図

Page 11: CloudSpiral 2013年度 UML講義 2日目

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

Cloud Specialist Program Initiative for Reality-based Advanced Learning

© Cloud Spiral partners 2013 2013/5/24 11

ユースケース図

Page 12: CloudSpiral 2013年度 UML講義 2日目

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

Cloud Specialist Program Initiative for Reality-based Advanced Learning

© Cloud Spiral partners 2013 2013/5/24 12

(参考) ユースケース図

Page 13: CloudSpiral 2013年度 UML講義 2日目

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

Cloud Specialist Program Initiative for Reality-based Advanced Learning

© Cloud Spiral partners 2013 2013/5/24 13

(参考) ユースケース図

説明題材

演習題材

総合演習題材

宿題

Page 14: CloudSpiral 2013年度 UML講義 2日目

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

Cloud Specialist Program Initiative for Reality-based Advanced Learning

© Cloud Spiral partners 2013 2013/5/24 14

(参考) ドメインモデル図

Page 15: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 15

ICONIX 流れの確認

Test 2

ユースケース図

ロバストネス図

シーケンス図

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

クラス図

静的

動的

紙芝居

ソースコードテストコード

Test 1

テスト計画

Page 16: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 16

目的:各ユースケースの具体化・詳細化 ユーザとシステムの相互作用を記述する

ユースケース記述

ログインする

一般ユーザ

UC:ログインする

【基本コース】・ユーザはログインリンクをクリックする.・システムはログインページを表示する.・ユーザはユーザIDとパスワードを入力し…

【代替コース】ユーザIDが間違っている場合:・システムは…

ユースケース記述

ユースケース図

Page 17: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 17

【基本コース】 正常系のシナリオ

単一

【代替コース】 異常系・分岐系のシナリオ

複数

2つのシナリオ

UC:ログインする

【基本コース】・ ユーザはログインリンクをクリックする.・ システムはログインページを表示する.・ ユーザはユーザIDとパスワードを入力し……

【代替コース】ユーザIDが間違っている場合:・ システムはエラーメッセージを表示し,直前のページを表示する

パスワードが間違っている場合:・ システムは…

Page 18: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 18

例:「ログインする」のUC記述

UC:ログインする

【基本コース】• ユーザは任意のページからログインリンクをクリックする.• システムはログインページを表示する.• ユーザはユーザIDとパスワードを入力し,ログインボタンをクリックする.• システムはアカウントリストから指定のユーザIDが存在するかを確認し,一般ユーザアカウントを取り出す.

• システムは入力パスワードと一般ユーザアカウントのパスワードの一致を確認する.

• システムは歓迎メッセージとともに,直前のページを表示する.

【代替コース】ユーザIDが正しくない場合:• システムは「ユーザ名またはパスワード」が間違っていることを示すメッセージとともに,直前のページを表示する.

パスワードが正しくない場合:• システムは「ユーザ名またはパスワード」が間違っていることを示すメッセージとともに,直前のページを表示する.

画面操作

画面表示

入力

ログイン処理

画面表示

UC名

① ログインページ

cspiral2013

******

ログイン

Page 19: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 19

SVOで記述する 「ユーザは~を~する」 「システムは~を~する」

「ユーザは~を~し,~を~する」

ユーザとシステムの対話を具体的に書く ただしアルゴリズムの詳細を書かない

ドメインモデル(用語集)の言葉を使う

代替コースをよく考える

UC記述作成時のポイント

Page 20: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 20

UC記述を作成してください 題材:UC 「アカウントを登録する」

基本コース: 代替コース:

演習:UC記述の作成 20m

ユーザは任意のページからログインリンクをクリックする

システムはログインページを表示する

ユーザは「ユーザIDが間違っている」メッセージを表示する

ユーザIDが間違っている場合

UC「ログインする」

…パスワードが

間違っている場合

アカウント登録ページ

cspiral2013

******

登録

******

Page 21: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 21

ICONIX 流れの確認

Test 2

ユースケース図

ロバストネス図

シーケンス図

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

クラス図

静的

動的

紙芝居

ソースコードテストコード

Test 1

テスト計画

Page 22: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 22

目的:UC記述の洗練 UC記述を可視化,分析しその妥当性を確認する

WhatとHowの橋渡し

ロバストネス図

UC:ログインする

【基本コース】・ユーザは…・システムは…

【代替コース】~が間違っている場合:・システムは…

UC記述

一般ユーザ

ログインページ

ユーザIDが存在するか?

マスタアカウントリスト

ログインページを表示する

ロバストネス図

Page 23: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 23

ステレオタイプ

バウンダリ: システム内部と外部の境界=画面

エンティティ: ドメインモデル上のモノ=オブジェクト

コントローラ: 上2つの接着剤

ステレオタイプ間の関係 必ずコントローラと接続する

記法

Page 24: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 24

例:UC「ログインする」のロバストネス図

一般ユーザ

ログインページ

ユーザIDが存在するか?

マスタアカウントリスト

ユーザアカウントを取得する

ログインページを表示する

「ユーザ名またはパスワードが無効」メッセージを表示する

パスワードが一致するか?

歓迎メッセージを表示する

ユーザアカウント

いいえ

いいえ

はい

はい

ユーザIDとパスワードを入力しログインを

クリック

任意のページ

ログインをクリック

Page 25: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 25

基本コース

例:UC「ログインする」のロバストネス図

一般ユーザ

ログインページ

ユーザIDが存在するか?

マスタアカウントリスト

ユーザアカウントを取得する

ログインページを表示する

「ユーザ名またはパスワードが無効」メッセージを表示する

パスワードが一致するか?

歓迎メッセージを表示する

ユーザアカウント

いいえ

いいえ

はい

はい

ユーザIDとパスワードを入力しログインを

クリック

任意のページ

ログインをクリック

Page 26: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 26

代替コース

例:UC「ログインする」のロバストネス図

一般ユーザ

ログインページ

ユーザIDが存在するか?

マスタアカウントリスト

ユーザアカウントを取得する

ログインページを表示する

「ユーザ名またはパスワードが無効」メッセージを表示する

パスワードが一致するか?

歓迎メッセージを表示する

ユーザアカウント

いいえ

いいえ

はい

はい

ユーザIDとパスワードを入力しログインを

クリック

任意のページ

ログインをクリック

Page 27: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 27

例:UC「ログインする」のロバストネス図

一般ユーザ

ログインページ

ユーザIDが存在するか?

マスタアカウントリスト

ユーザアカウントを取得する

ログインページを表示する

「ユーザ名またはパスワードが無効」メッセージを表示する

パスワードが一致するか?

歓迎メッセージを表示する

ユーザアカウント

いいえ

いいえ

はい

はい

ユーザIDとパスワードを入力しログインを

クリック

任意のページ

ログインをクリック

処理フロー

Page 28: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 28

例:UC「ログインする」のロバストネス図

一般ユーザ

ログインページ

ユーザIDが存在するか?

マスタアカウントリスト

ユーザアカウントを取得する

ログインページを表示する

「ユーザ名またはパスワードが無効」メッセージを表示する

パスワードが一致するか?

歓迎メッセージを表示する

ユーザアカウント

いいえ

いいえ

はい

はい

ユーザIDとパスワードを入力しログインを

クリック

任意のページ

ログインをクリック

画面生成・遷移

Page 29: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 29

例:UC「ログインする」のロバストネス図

一般ユーザ

ログインページ

ユーザIDが存在するか?

マスタアカウントリスト

ユーザアカウントを取得する

ログインページを表示する

「ユーザ名またはパスワードが無効」メッセージを表示する

パスワードが一致するか?

歓迎メッセージを表示する

ユーザアカウント

いいえ

いいえ

はい

はい

ユーザIDとパスワードを入力しログインを

クリック

任意のページ

ログインをクリック

ユーザのアクション

Page 30: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 30

例:UC「ログインする」のロバストネス図

一般ユーザ

ログインページ

ユーザIDが存在するか?

マスタアカウントリスト

ユーザアカウントを取得する

ログインページを表示する

「ユーザ名またはパスワードが無効」メッセージを表示する

パスワードが一致するか?

歓迎メッセージを表示する

ユーザアカウント

いいえ

いいえ

はい

はい

ユーザIDとパスワードを入力しログインを

クリック

任意のページ

ログインをクリック

利用

Page 31: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 31

まずUC記述をそのまま貼り付ける

UC記述をそのまま図に書き直す 基本コース・代替コースの両方を書き込む

UC記述も同時に修正する ここが目的

矢印の意味を考えすぎない

ロバストネス図作成のポイント

Page 32: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 32

ロバストネス図を作成してください 題材:UC 「アカウントを登録する」

コントローラ: バウンダリ・エンティティ:

演習:ロバストネス図の作成

ユーザIDが存在するか?

ユーザアカウントを取得する

ログインページ

50m

ログインページを表示する マスタアカウ

ントリスト

ユーザIDとパスワードを入力し「ログイン」を

クリック

いいえ はい

Page 33: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 33

ICONIX 流れの確認

Test 2

ユースケース図

ロバストネス図

シーケンス図

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

クラス図

静的

動的

紙芝居

ソースコードテストコード

Test 1

テスト計画

Page 34: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 34

目的:クラスの責務割り当て 目的は処理フローの記述ではない

クラスの責務=属性と振る舞い

シーケンス図

ログインボタンを押下 指定のユーザIDが

存在するか

ユーザアカウントの取得

一般ユーザ ログインページ マスタアカウントリスト

一般ユーザログインページ

ユーザIDが存在するか?

ログインページを表示する

ロバストネス図

シーケンス図

クラス名

属性

振る舞い

自動化可能

Page 35: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 35

例:UC「ログインする」のシーケンス図

ユーザIDとパスワードを入力しログインボタンを

押下 指定のユーザIDが存在するか

ユーザアカウントの取得

パスワードが一致するか

一般ユーザ ログインページ マスタアカウントリスト ユーザアカウント

歓迎メッセージを表示する

「ユーザ名またはパスワードが無効」メッセージを表示する

Page 36: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 36

例:UC「ログインする」のシーケンス図

ユーザIDとパスワードを入力しログインボタンを

押下 指定のユーザIDが存在するか

ユーザアカウントの取得

パスワードが一致するか

一般ユーザ ログインページ マスタアカウントリスト ユーザアカウント

歓迎メッセージを表示する

「ユーザ名またはパスワードが無効」メッセージを表示する

ロバストネス中のバウンダリとエンティティ

Page 37: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 37

例:UC「ログインする」のシーケンス図

ユーザIDとパスワードを入力しログインボタンを

押下 指定のユーザIDが存在するか

ユーザアカウントの取得

パスワードが一致するか

一般ユーザ ログインページ マスタアカウントリスト ユーザアカウント

歓迎メッセージを表示する

「ユーザ名またはパスワードが無効」メッセージを表示する

コントローラ

ロバストネス中のバウンダリとエンティティ

Page 38: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 38

指定のユーザIDが存在するか コントローラ

例:UC「ログインする」のシーケンス図

ユーザIDとパスワードを入力しログインボタンを

押下 指定のユーザIDが存在するか

ユーザアカウントの取得

パスワードが一致するか

一般ユーザ ログインページ マスタアカウントリスト ユーザアカウント

歓迎メッセージを表示する

「ユーザ名またはパスワードが無効」メッセージを表示する

基本

コー

ス代

替コ

ース

ロバストネス中のバウンダリとエンティティ

Page 39: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 39

まずロバストネス図をそのまま貼り付ける ロバストネス図のバウンダリとエンティティを書き込む

コントローラを矢印に書き換える

活性区間,返り値,分岐を書かない あるいは無視する

シーケンス図作成のポイント

ログインページ

アカウントの取得()

マスタアカウントリスト

アカウント

ユーザアカウント

生成

Page 40: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 40

クラスの責務(属性と振る舞い)を構造化する

クラス図

自動化可能

シーケンス図

ボタン押下 指定のユーザIDが存在するか

アカウントの取得

一般ユーザログインページ マスタアカウントリスト

マスタアカウントリスト

- アカウント: List

+ ユーザIDが存在するか(String): boolean+ アカウントを取得する(String): Account

アカウント

- ユーザID: String- パスワード: String

+ パスワードが正しいか(String): boolean

属性

振る舞い

クラス図

クラス名

Page 41: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 41

シーケンス図からほぼ自動的に作成できる エンティティをクラスに

矢印を振る舞いに

クラス図の作成

マスタアカウントリスト

アカウント: List

ユーザIDが存在するか(String): booleanアカウントを取得する(String): Account

アカウント

ユーザID: Stringパスワード: String

パスワードが正しいか(String): boolean

クラス図

シーケンス図

ボタン押下 指定のユーザIDが存在するか

アカウントの取得

一般ユーザログインページ マスタアカウントリスト

Page 42: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 42

2つの図を作成してください

ログインページ

演習:クラス図・シーケンス図の作成 40m

一般ユーザ マスタアカウントリスト

-アカウント: List

+ ユーザIDが存在するか(String):boolean+ アカウントを取得(String):Account

シーケンス図

アカウントリスト

指定のユーザIDが存在するか

ボタン押下

クラス図

Page 43: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 43

責務の割り当てを再検討する UC「アカウントを登録する」の例

さらなるステップ

アカウント登録ページ

ユーザIDとパスワード,確認用パスワードを入力し

登録ボタンを押下

一般ユーザ

2つのパスワードが一致しているか

ユーザアカウント

生成

バウンダリ(画面)の責務として不適切

画面にやらせすぎ

ユーザIDの書式が正しいか

パスワードの書式が正しいか

Page 44: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 44

対処1:ドメインオブジェクトに責務を割り当てる Domain Model

さらなるステップ

アカウント登録ページ

ユーザIDとパスワード,確認用パスワードを入力し

登録ボタンを押下

一般ユーザ

2つのパスワードが一致しているか

ユーザアカウント

生成(uid, pass1, pass2)

ユーザIDの書式が正しいか

パスワードの書式が正しいか

Page 45: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 45

対処2:専用コントローラに責務を割り当てる Transaction Script

さらなるステップ

アカウント登録コントローラ

実行

アカウント登録ページ

ユーザIDとパスワード,確認用パスワードを入力し

登録ボタンを押下

一般ユーザ ユーザアカウント

2つのパスワードが一致しているか

生成

ユーザIDの書式が正しいか

パスワードの書式が正しいか

Page 46: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 46

詳細設計レビューの実施 責務を割り当ての再検討 使用フレームワークやパターンとの兼ね合い(Spring, Seaser, Struts, …)

全ての機能要求が満たされているか確認

テスト計画の作成

クラス図からコードのひな形生成

実装,レビュー,テスト,…

その後の流れ

Page 47: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 47

ICONIX おさらい

Test 2

ユースケース図

ロバストネス図

シーケンス図

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

クラス図

静的

動的

紙芝居

ソースコードテストコード

Test 1

テスト計画

Page 48: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 48

UC記述~クラス図までの作成を実践してください 題材:UC「チケットを予約する」

総合演習 120m

Test 2

ユースケース図

ロバストネス図

シーケンス図

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

クラス図

静的

動的

紙芝居

ソースコードテストコード

Test 1

テスト計画

Page 49: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

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

宿題(2日目)

Page 50: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

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

その他資料

Page 51: CloudSpiral 2013年度 UML講義 2日目

Cloud Specialist Program Initiative for Reality-based Advanced Learning

分野・地域を越えた実践的情報教育協働ネットワーク © Cloud Spiral partners 2013 2013/5/24 51

『はじめて学ぶUML』

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

『ユースケース入門―ユーザマニュアルからプログラムを作る』

『オブジェクト指向でなぜつくるのか』

OMGによるUMLの仕様書 http://www.uml.org/

参考図書