CloudSpiral 2013年度 UML講義 1日目

3,438 views

Published on

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,438
On SlideShare
0
From Embeds
0
Number of Embeds
2,057
Actions
Shares
0
Downloads
23
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

CloudSpiral 2013年度 UML講義 1日目

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

×