狠狠撸

狠狠撸Share a Scribd company logo
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
設計要素マラソン!
~DevOps and Mobile~
高安 厚思
株式会社ビッグツリーキャピタル
B5
#natsumiB5
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
前提条件
? 消化不良になります!
? すべてのプロジェクトにはあてはまりません
? 基本設計(仕様)と呼ばれる工程が対象
? Webを利用した基幹システムプロジェクトが一
番長いキャリアです
? 本業はアーキテクトですが、アーキテクチャに
ついては今回語りません!
1 0 分 間 で 話 す の に 前 提 条 件 も あ り ま せ ん が ? ? ?
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
本日のマラソンコースのご紹介
ア ジ ェ ン ダ で す 。
全体の把握
共通設計
5km
3km
機能仕様
画面遷移図
10km
15km
20km
25km
30km35km40km
画面一覧
画面
レイアウト
イベント
一覧
項目一覧
帳票設計
外部連携設計
DB設計アーキテクチャ
設計との関係
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
設計の前におこなうこと
スタート!
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
競技場スタート (システム全体の把握)
設 計 を す る 場 合 、 ま ず 全 体 の 把 握 を し ま し ょ う 。 シ ス テ ム 鳥 瞰 図 な ど を 確 認 し ま す 。
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
競技場周回 (共通設計)
? 画面共通(レイアウト?遷移パターン)
? 帳票共通(改ページ、改行方法)
? DB共通(データ辞書、ドメイン、キー戦略)
? バッチ共通(トランザクション、リラン)
実 際 の 設 計 に 入 る ま え に 、 各 要 素 の 共 通 設 計 を お こ な う と ス ム ー ズ で す 。
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
設計の開始
一般道へ
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
3km地点(機能仕様)
機 能 仕 様 は 、 粒 度 を 整 え 、 複 雑 性 を 把 握 す る !
勤怠入力 時間外計算
オンライン機能 バッチ機能
勤怠情報
時間外
情報
時間外一
覧
給与計算用
時間外情報出力
バッチ機能
勤怠管理
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
5km地点 (画面設計‐画面遷移図)
入 出 力 設 計 の 大 物 で あ る 、 画 面 設 計 で す 。
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
10km地点(画面設計‐画面一覧)
画 面 の 詳 細 に 入 る 前 に い く つ 設 計 す れ ば よ い か を 把 握 す る た め に 準 備 し ま す 。
# ID 名称 画面分類
参照?更新
種別
関連する主たる
データ
説明
1S-PRO-001-1 商品登録画面 単一登録 - 商品 単一の商品を登録する画面
2S-PRO-001-2 商品登録確認画面 確認 更新 商品 登録された商品の確認画面
3S-PRO-001-3 商品登録完了画面 完了 - 商品 登録完了画面
関連する機能ID
ユーザ数?
アクセス頻度
利用タイミング
画面への表
示量(件数)
スクロール
の有無
ページング
の有無
タブページ
の有無
F‐PRO‐0001 数名 日中 1× × ○
F‐PRO‐0001 数名 日中 1× × ×
F‐PRO‐0001 数名 日中 1× × ×
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
15km地点(画面設計‐レイアウト)
画 面 ひ と つ ず つ の 役 割 や 利 用 さ れ る シ ー ン 、 使 い 勝 手 を 意 識 し て レ イ ア ウ ト を 設 計 し ま す 。
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
20km地点(画面設計 項目設計)
項 目 を 設 計 し ま す 。
# ID 項目名称 ラベル 部品種類 入出力区分 有効無効 入力可不可 型 桁
1MEM‐01‐01 name 氏名 テキストボックス 入力 有効 可 文字列 20
2MEM‐01‐02 post_code 郵便番号 テキストボックス 入力 有効 可 数字 7
3MEM‐01‐03‐1 address1 住所1 テキストボックス 入力 有効 可 文字列 128
4MEM‐01‐03‐2 address2 住所2 テキストボックス 入力 有効 可 文字列 128
フォーマット 表示フォーマット 繰り返し レベル ソート順 必須チェックの有無 型チェックの有無
全角半角まじり 入力文字フォーマット1 ‐ ‐ ‐ ○ ○
数字 入力文字フォーマット1 ‐ ‐ ‐ ○ ○
全角半角まじり 入力文字フォーマット1 ‐ ‐ ‐ ○ ‐
全角半角まじり 入力文字フォーマット1 ‐ ‐ ‐ ○ ‐
桁チェックの有無 説明 初期表示 備考
○ 会員の氏名 空白 ①
○ 会員の郵便番号 空白 ②
‐ 会員の住所1(都道府県、市区町村まで) 空白 ③
‐ 会員の住所2(番地以降) 空白 ③
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
25km地点 画面設計(イベント設計)
画 面 に あ る 部 品 を 操 作 し た 場 合 の 動 作 に つ い て 記 述 す る 。
# ID 名称 項目ID 項目名 操作区分 処理区分 画面遷移 機能ID
1
MC‐01‐
E2
住所検索
MEM‐
01‐06
住所検索 クリック 外部 非同期 なし
FC‐P‐001?郵便番号住
所検索
入力 出力 説明
MEM‐01‐02 名称postcode
に入力されている値
FC‐P‐001?郵便番号住所検索で
戻された値がエラーでない場合
はMEM‐01‐03‐1 名称
address1に戻ってきた値を出力
MEM‐01‐02の値を取得し、数字3桁‐数字4桁の形
式チェックを行い、チェックがOKであればFC‐P‐001
を非同期で呼び出す。戻ってきた値がエラーでな
く、空文字列でない場合は、MEM‐01‐03‐1の値と
して出力。エラーまたは文字列である場合はなに
もしない。チェックエラーの場合はエラーメッセー
ジ領域にエラーメッセージ MSG‐FC‐P‐E01を表示
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
給水ポイント
? 帳票設計
– 帳票一覧、帳票詳細(レイアウト?項目一覧)
? 外部連携設計
– 外部連携一覧、連携インタフェース項目
? この設計では方式も重要
帳 票 設 計 、 外 部 連 携 設 計 な ど も あ り ま す が 詳 細 は 省 略 し ま す 。
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
35km地点 (DB設計)
D B 設 計 は 重 要 で す が 、 整 合 性 を と る こ と が で き る か が 大 き な ポ イ ン ト で す 。
ER図
カラム名 (物理名) 型 長さ 小数 ドメイン PK NOT?NULL UNIQUE
ID number 10? 0?ID ○ ○
LAST_NAME varchar2 32? 氏名 ○
FIRST_TIME varchar2 32? 氏名 ○
MAIL_ADDRESS varchar2 256? メール
テーブル定義書
自動生成可能
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
40km地点(処理詳細設計)
機 能 単 位 に 入 出 力 情 報 を 元 に 処 理 の 詳 細 を 記 述 す る 。
入力条件
処理パラ
メータ
会員種
別
商品種
別
購入金額 割引 送料
#
一
般
シ
ル
バ
ー
ゴ
ー
ル
ド
在
庫
商
品
メ
ー
カ
ー
直
送
品
取
り
寄
せ
商
品
三
千
円
以
下
三
千
円
~
五
千
円
五
千
円
~
一
万
円
一
万
円
以
上
な
し
5
%
10%
無
料
三
百
円
1○ ○ ○ ○ ○
2○ ○ ○ ○ ○
3○ ○○ ○ ○
4○ ○ ○ ○ ○
入力マトリクス
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
競技場に戻ってきました!
最後に次につなげるために???
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
ラストスパート(アーキテクチャ設計との関係)
設 計 要 素 の 最 後 に 、 ア ー キ テ ク チ ャ と の 関 係 に つ い て
機
能
仕
様
設計要素
アーキテクチャ要素
システム?
基盤機能
アプリ
機能 詳細設計成果物
あるいは
プログラムコード
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
ゴーーール! (最後に)
? 設計のキーワードは「粒度」、「網羅的」、「整
合性」です!
? DevOpsを検討する場合でも、全体像を知り、
要素を知る
? そして、「試行錯誤するための計画」を作り、
試行錯誤する
? その中で何かが見つかるはず!
お 疲 れ 様 で し た 。
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
プロジェクトで活かしていただければ???
プ レ ゼ ン ト が あ り ま す !
Summit
Developers
Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved.
プレゼントでした(追加スライド)
差 し 上 げ た 3 名 の 方 ^ ^ う ま く 利 用 し て く だ さ い ね !
システム設計の謎を解く
高安 厚思
http://www.amazon.co.jp/gp/product/4797358181/

More Related Content

Developer's Summit 夏 EnterpriseTED 資料

  • 1. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 設計要素マラソン! ~DevOps and Mobile~ 高安 厚思 株式会社ビッグツリーキャピタル B5 #natsumiB5
  • 2. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 前提条件 ? 消化不良になります! ? すべてのプロジェクトにはあてはまりません ? 基本設計(仕様)と呼ばれる工程が対象 ? Webを利用した基幹システムプロジェクトが一 番長いキャリアです ? 本業はアーキテクトですが、アーキテクチャに ついては今回語りません! 1 0 分 間 で 話 す の に 前 提 条 件 も あ り ま せ ん が ? ? ?
  • 3. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 本日のマラソンコースのご紹介 ア ジ ェ ン ダ で す 。 全体の把握 共通設計 5km 3km 機能仕様 画面遷移図 10km 15km 20km 25km 30km35km40km 画面一覧 画面 レイアウト イベント 一覧 項目一覧 帳票設計 外部連携設計 DB設計アーキテクチャ 設計との関係
  • 4. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 設計の前におこなうこと スタート!
  • 5. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 競技場スタート (システム全体の把握) 設 計 を す る 場 合 、 ま ず 全 体 の 把 握 を し ま し ょ う 。 シ ス テ ム 鳥 瞰 図 な ど を 確 認 し ま す 。
  • 6. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 競技場周回 (共通設計) ? 画面共通(レイアウト?遷移パターン) ? 帳票共通(改ページ、改行方法) ? DB共通(データ辞書、ドメイン、キー戦略) ? バッチ共通(トランザクション、リラン) 実 際 の 設 計 に 入 る ま え に 、 各 要 素 の 共 通 設 計 を お こ な う と ス ム ー ズ で す 。
  • 7. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 設計の開始 一般道へ
  • 8. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 3km地点(機能仕様) 機 能 仕 様 は 、 粒 度 を 整 え 、 複 雑 性 を 把 握 す る ! 勤怠入力 時間外計算 オンライン機能 バッチ機能 勤怠情報 時間外 情報 時間外一 覧 給与計算用 時間外情報出力 バッチ機能 勤怠管理
  • 9. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 5km地点 (画面設計‐画面遷移図) 入 出 力 設 計 の 大 物 で あ る 、 画 面 設 計 で す 。
  • 10. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 10km地点(画面設計‐画面一覧) 画 面 の 詳 細 に 入 る 前 に い く つ 設 計 す れ ば よ い か を 把 握 す る た め に 準 備 し ま す 。 # ID 名称 画面分類 参照?更新 種別 関連する主たる データ 説明 1S-PRO-001-1 商品登録画面 単一登録 - 商品 単一の商品を登録する画面 2S-PRO-001-2 商品登録確認画面 確認 更新 商品 登録された商品の確認画面 3S-PRO-001-3 商品登録完了画面 完了 - 商品 登録完了画面 関連する機能ID ユーザ数? アクセス頻度 利用タイミング 画面への表 示量(件数) スクロール の有無 ページング の有無 タブページ の有無 F‐PRO‐0001 数名 日中 1× × ○ F‐PRO‐0001 数名 日中 1× × × F‐PRO‐0001 数名 日中 1× × ×
  • 11. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 15km地点(画面設計‐レイアウト) 画 面 ひ と つ ず つ の 役 割 や 利 用 さ れ る シ ー ン 、 使 い 勝 手 を 意 識 し て レ イ ア ウ ト を 設 計 し ま す 。
  • 12. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 20km地点(画面設計 項目設計) 項 目 を 設 計 し ま す 。 # ID 項目名称 ラベル 部品種類 入出力区分 有効無効 入力可不可 型 桁 1MEM‐01‐01 name 氏名 テキストボックス 入力 有効 可 文字列 20 2MEM‐01‐02 post_code 郵便番号 テキストボックス 入力 有効 可 数字 7 3MEM‐01‐03‐1 address1 住所1 テキストボックス 入力 有効 可 文字列 128 4MEM‐01‐03‐2 address2 住所2 テキストボックス 入力 有効 可 文字列 128 フォーマット 表示フォーマット 繰り返し レベル ソート順 必須チェックの有無 型チェックの有無 全角半角まじり 入力文字フォーマット1 ‐ ‐ ‐ ○ ○ 数字 入力文字フォーマット1 ‐ ‐ ‐ ○ ○ 全角半角まじり 入力文字フォーマット1 ‐ ‐ ‐ ○ ‐ 全角半角まじり 入力文字フォーマット1 ‐ ‐ ‐ ○ ‐ 桁チェックの有無 説明 初期表示 備考 ○ 会員の氏名 空白 ① ○ 会員の郵便番号 空白 ② ‐ 会員の住所1(都道府県、市区町村まで) 空白 ③ ‐ 会員の住所2(番地以降) 空白 ③
  • 13. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 25km地点 画面設計(イベント設計) 画 面 に あ る 部 品 を 操 作 し た 場 合 の 動 作 に つ い て 記 述 す る 。 # ID 名称 項目ID 項目名 操作区分 処理区分 画面遷移 機能ID 1 MC‐01‐ E2 住所検索 MEM‐ 01‐06 住所検索 クリック 外部 非同期 なし FC‐P‐001?郵便番号住 所検索 入力 出力 説明 MEM‐01‐02 名称postcode に入力されている値 FC‐P‐001?郵便番号住所検索で 戻された値がエラーでない場合 はMEM‐01‐03‐1 名称 address1に戻ってきた値を出力 MEM‐01‐02の値を取得し、数字3桁‐数字4桁の形 式チェックを行い、チェックがOKであればFC‐P‐001 を非同期で呼び出す。戻ってきた値がエラーでな く、空文字列でない場合は、MEM‐01‐03‐1の値と して出力。エラーまたは文字列である場合はなに もしない。チェックエラーの場合はエラーメッセー ジ領域にエラーメッセージ MSG‐FC‐P‐E01を表示
  • 14. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 給水ポイント ? 帳票設計 – 帳票一覧、帳票詳細(レイアウト?項目一覧) ? 外部連携設計 – 外部連携一覧、連携インタフェース項目 ? この設計では方式も重要 帳 票 設 計 、 外 部 連 携 設 計 な ど も あ り ま す が 詳 細 は 省 略 し ま す 。
  • 15. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 35km地点 (DB設計) D B 設 計 は 重 要 で す が 、 整 合 性 を と る こ と が で き る か が 大 き な ポ イ ン ト で す 。 ER図 カラム名 (物理名) 型 長さ 小数 ドメイン PK NOT?NULL UNIQUE ID number 10? 0?ID ○ ○ LAST_NAME varchar2 32? 氏名 ○ FIRST_TIME varchar2 32? 氏名 ○ MAIL_ADDRESS varchar2 256? メール テーブル定義書 自動生成可能
  • 16. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 40km地点(処理詳細設計) 機 能 単 位 に 入 出 力 情 報 を 元 に 処 理 の 詳 細 を 記 述 す る 。 入力条件 処理パラ メータ 会員種 別 商品種 別 購入金額 割引 送料 # 一 般 シ ル バ ー ゴ ー ル ド 在 庫 商 品 メ ー カ ー 直 送 品 取 り 寄 せ 商 品 三 千 円 以 下 三 千 円 ~ 五 千 円 五 千 円 ~ 一 万 円 一 万 円 以 上 な し 5 % 10% 無 料 三 百 円 1○ ○ ○ ○ ○ 2○ ○ ○ ○ ○ 3○ ○○ ○ ○ 4○ ○ ○ ○ ○ 入力マトリクス
  • 17. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. 競技場に戻ってきました! 最後に次につなげるために???
  • 18. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. ラストスパート(アーキテクチャ設計との関係) 設 計 要 素 の 最 後 に 、 ア ー キ テ ク チ ャ と の 関 係 に つ い て 機 能 仕 様 設計要素 アーキテクチャ要素 システム? 基盤機能 アプリ 機能 詳細設計成果物 あるいは プログラムコード
  • 19. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. ゴーーール! (最後に) ? 設計のキーワードは「粒度」、「網羅的」、「整 合性」です! ? DevOpsを検討する場合でも、全体像を知り、 要素を知る ? そして、「試行錯誤するための計画」を作り、 試行錯誤する ? その中で何かが見つかるはず! お 疲 れ 様 で し た 。
  • 20. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. プロジェクトで活かしていただければ??? プ レ ゼ ン ト が あ り ま す !
  • 21. Summit Developers Developers Summit 2013 SummerCopyright?(C)?2013 Atsushi?Takayasu All?Rights?Reserved. プレゼントでした(追加スライド) 差 し 上 げ た 3 名 の 方 ^ ^ う ま く 利 用 し て く だ さ い ね ! システム設計の謎を解く 高安 厚思 http://www.amazon.co.jp/gp/product/4797358181/