SlideShare une entreprise Scribd logo
1  sur  83
システム設計の謎
~べ、別にあんたのために
設計してるんじゃないんだからね///~
ひ・み・つ
アジャイルサムライ読書会 横浜道場 てらひで
はじめに
本当のタイトルは
「システム設計の謎を解く
強いSEになるための、
機能設計/入出力設計の極意」
です。
高安厚思 著
ソフトウェアバンククリエイティブ/ISBN 4797358181
てらひで 「こんど横浜道場で話します」
高安さん 「がんばってね」
てらひで 「絵を描いてもらいました」
高安さん 「人の本をパロディにするなw」
てらひで 「ちょっとだけ公開」
高安さん 「このウエストからのラインw」
てらひで 「www」
高安さん 「www」
てらひで @terahide27
認定スクラムマスター
アーキテクト
アジャイルコーチ
てらひで @terahide27
http://gigazine.net/news/20130301-anime-2013spring/
深夜アニメの
カバレッジ90%以上
http://akunohana-anime.jp
ク
ソ
ム
シ
が
さて
設計
今日のお題
やってみよう
「折り鶴」の設計書
を書いてください
みなさいよ
どう
だった?
設計って
なに?
やってみよう
普段「設計」ってどう
いうことをしている
か周りと話してくだ
さい
どう
だった?
設計って
なに?
こんな経
験ない?
となりと違う
http://blog.goo.ne.jp/world-douwa/e/2f1f7a3046e58369d1c2986b2cfbc24c
伝わらない
http://f.hatena.ne.jp/pema/20130129023304
どうしてこうなった?
http://dokusyossyo.blog.fc2.com/blog-entry-166.htmlISDN 4063842770
まんが アニメ
設計という分
野は範囲が
広い
「システム設計の謎を解く」 より
設計はどんな
「モノ」を作るか
を考える作業
と定義!
http://ja.wikipedia.org/wiki/%E8%80%83%E3%81%88%E3%82%8B%E4%BA%BA_%28%E3%83%AD%E3%83%80%E3%83%B3%29
http://ameblo.jp/gsc-mikatan/entry-10958545511.html
共通の枠組
みがあった方
が話しやすい
いくつかの枠
アーキテクチャ
工程
粒度
構成要素
要件 設計 実装 テスト
http://www.akitafan.com/sightseeing/detail.html?data_id=227
要件 設計 実装 テスト
要件 設計 実装 テスト
plunning timebox
・・・繰 り 返 し
http://ja.wikipedia.org/wiki/%E8%80%83%E3%81%88%E3%82%8B%E4%BA%BA_%28%E3%83%AD%E3%83%80%E3%83%B3%29
工程
抽
象
度
粒
度
大
小
前 後
工程
概念
基本
詳細
概要(フロー・構成・連
携・etc.)
実現手段
実装手段
例
「システム設計の謎を解く」 より
構成要素
インフラ
オンライン
バッチ
画面
帳票
DB
機能
プログラム
例
「システム設計の謎を解く」 より
工程
抽
象
度
粒
度
大
小
前 後
「システムの全
体像を表した
資料はありま
すか?」
うん百台のマシ
ンが並んだイン
フラの資料
http://typista.it-creates.com/diary/195.html
繋げたら模造
紙3枚くらいに
なる業務フ
ローhttp://www.oct.zaq.ne.jp/i-garage/hiroimono/tr1000.htm
レベル0 組織全体のレベル
レベル1 部署間の連携業務
レベル2 部署の対象業務
レベル3 業務機能を実現するための機能
レベル4 アプリケーションの
1動作を表す機能
粒度 例
「システム設計の謎を解く」 より
http://www.goodsmile.info/product/ja/3300/%E3%81%BA%E3%81%9F%E3%82%93%E5%A8%98+%E5%BE%A1%E5%9D%82%E7%BE%8E%E7%90%B4.html
レベル5
工程
抽
象
度
粒
度
大
小
前 後
網羅率低
不整合
http://www.shikki-shuuri.jp/%E4%BF%AE%E7%90%86%E4%BE%8B-%E5%80%8B%E4%BA%BA%E6%A7%98/%E6%9C%A8%E8%A3%BD%E3%81%AE%E9%87%8D%E7%AE%B1-%E4%BE%8B1/
http://plaza.rakuten.co.jp/atinoue/diary/201302060000/
みんな
詳しすぎる
それ以外は
...
抽象化
大事
http://nendoroid.jp/
嫁
例
ツンデレ
抽象化
→共通化に
もつながる
アーキテクチャ
は構造
分 割
と
統 合
構成要素の
組み合わせ
•データ整合性
•セキュリティ
•ログ出力
•例外処理 例
「システム設計の謎を解く」 より
アジャイル
の話じゃ
なくね?
http://akunohana-anime.jp
ク
ソ
ム
シ
が
どう作るか
考えるで
しょ?
伝え方って
むずかしい
よね?
http://ameblo.jp/gsc-mikatan/entry-10958545511.html
共通の枠組
みがあった方
が話しやすい
ユーザストーリー他
出荷可能なモノ
テスト
実装
設計
ドキュメント
テストケース
ソースコード
ドキュメントは
ツール
伝えるための
•忘れない
•分かりやすい
•時空を超える
相手に合わせ
たものである
ことが大事
•表
•絵
•日本語
•動くもの
•テストケース
自慢じゃないけ
ど、設計書
読んだことあり
ません
(☆_@;)☆ \(`-´メ)
欲しいのは
どう動くかを
表したもの
日本語の
SQL
日本語の
プログラム
設計書を書く
のが「設計」
作業ではない
さて
やってみよう
「Coolな折り紙」
を作ろう
Cool(価値)
•複雑
•モチーフが現実のもの
•目新しい
•曲線が混じっている
評価は
ぼくがします
完了条件
•出来上がったものがある
•別の島の人が同じものを
再現して作れる(3分以
内で)
どう
だった?
アジャイルサムライ
第13章 リファクタリング
「ソフトウェア開発の仕事
で一番大変なのは、きれ
いな設計を保ち続けるこ
とだからだ」
まとめ
•だんどり重要
•考えること重要
•伝えること重要
•効率よくしたいね
•記録も残そう
設計書を書く
のが「設計」
作業ではない
てらひでさんから依頼を受けた時に、「6-2 読めやこらー#」という会話をしましたが、
是非にとのことだったので…
アジャイルへの思い!
 ああいう本を書いていますが、アジャイルがベストだと思っています!
ですが、悪い意味での「アジャイル」【暗黒面】に落ちてしまう場合もあると思ってます。
 必要な知識を習得せずにその時に学習すればいい
 無駄を省きすぎて、必要なタスクまでなくしてしまって
後でトラブルになった。あるいは運用しにくくしてしまった
 そのプロジェクトでは必要であった「設計要素」を知らずに
省いてしまった
てらひでさんが話された通りだと思っていますが、必要な知識(ソフトウェア
エンジニアリング・ドメインの知識)は身につけて、そのうえでアジャイルマインドで
プロジェクトに臨みましょう!
参考資料
高安厚思 著
ソフトウェアバンククリエイティブ/ISBN 4797358181
Special Thanks!! @s_kic
ちょっとはよくで
きてるじゃないの
あ、ありがと///

Contenu connexe

Plus de terahide

オレオレになりがちなテスト計画を見直した話
オレオレになりがちなテスト計画を見直した話オレオレになりがちなテスト計画を見直した話
オレオレになりがちなテスト計画を見直した話terahide
 
和服を普段着にするようになって気づいたアジャイルの心
和服を普段着にするようになって気づいたアジャイルの心和服を普段着にするようになって気づいたアジャイルの心
和服を普段着にするようになって気づいたアジャイルの心terahide
 
Management3.0のワークを受けてから会社の偉い人へ M3.0のワークショップをするまでにやったこと
Management3.0のワークを受けてから会社の偉い人へM3.0のワークショップをするまでにやったことManagement3.0のワークを受けてから会社の偉い人へM3.0のワークショップをするまでにやったこと
Management3.0のワークを受けてから会社の偉い人へ M3.0のワークショップをするまでにやったことterahide
 
一番アジャイルな料理人はソーマくんだと思うんだ
一番アジャイルな料理人はソーマくんだと思うんだ一番アジャイルな料理人はソーマくんだと思うんだ
一番アジャイルな料理人はソーマくんだと思うんだterahide
 
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなしterahide
 
オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~
オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~
オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~terahide
 
Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~terahide
 
Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発terahide
 
明日に繋がるふり返りのプラクティス
明日に繋がるふり返りのプラクティス明日に繋がるふり返りのプラクティス
明日に繋がるふり返りのプラクティスterahide
 
ふりかえり
ふりかえりふりかえり
ふりかえりterahide
 
データモデルは時空を越える
データモデルは時空を越えるデータモデルは時空を越える
データモデルは時空を越えるterahide
 
ももたろう
ももたろうももたろう
ももたろうterahide
 
Vbaでもtdd
VbaでもtddVbaでもtdd
Vbaでもtddterahide
 
Sierのアジャイルとジレンマとパラダイムシフト
SierのアジャイルとジレンマとパラダイムシフトSierのアジャイルとジレンマとパラダイムシフト
Sierのアジャイルとジレンマとパラダイムシフトterahide
 
脱Java初心者を目指すときに読むといいと思う本を考える会
脱Java初心者を目指すときに読むといいと思う本を考える会脱Java初心者を目指すときに読むといいと思う本を考える会
脱Java初心者を目指すときに読むといいと思う本を考える会terahide
 
再入門!RESTとSpringMVC
再入門!RESTとSpringMVC再入門!RESTとSpringMVC
再入門!RESTとSpringMVCterahide
 
SGT2014 横浜道場 始めよう!インセプションデッキ
SGT2014 横浜道場 始めよう!インセプションデッキSGT2014 横浜道場 始めよう!インセプションデッキ
SGT2014 横浜道場 始めよう!インセプションデッキterahide
 
Tdd keyword
Tdd keywordTdd keyword
Tdd keywordterahide
 
ゆるぎー
ゆるぎーゆるぎー
ゆるぎーterahide
 

Plus de terahide (20)

オレオレになりがちなテスト計画を見直した話
オレオレになりがちなテスト計画を見直した話オレオレになりがちなテスト計画を見直した話
オレオレになりがちなテスト計画を見直した話
 
和服を普段着にするようになって気づいたアジャイルの心
和服を普段着にするようになって気づいたアジャイルの心和服を普段着にするようになって気づいたアジャイルの心
和服を普段着にするようになって気づいたアジャイルの心
 
Management3.0のワークを受けてから会社の偉い人へ M3.0のワークショップをするまでにやったこと
Management3.0のワークを受けてから会社の偉い人へM3.0のワークショップをするまでにやったことManagement3.0のワークを受けてから会社の偉い人へM3.0のワークショップをするまでにやったこと
Management3.0のワークを受けてから会社の偉い人へ M3.0のワークショップをするまでにやったこと
 
一番アジャイルな料理人はソーマくんだと思うんだ
一番アジャイルな料理人はソーマくんだと思うんだ一番アジャイルな料理人はソーマくんだと思うんだ
一番アジャイルな料理人はソーマくんだと思うんだ
 
Att
AttAtt
Att
 
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
受託開発でテストファーストしたらXXXを早期発見できてハイアジリティになったはなし
 
オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~
オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~
オフショアだから失敗したの?~誤解だらけのオフショアと、アジャイルの再発見~
 
Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~Springのプログラムモデルと動く仕様~テスト編~
Springのプログラムモデルと動く仕様~テスト編~
 
Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発Spring bootで学ぶ初めてのwebアプリ開発
Spring bootで学ぶ初めてのwebアプリ開発
 
明日に繋がるふり返りのプラクティス
明日に繋がるふり返りのプラクティス明日に繋がるふり返りのプラクティス
明日に繋がるふり返りのプラクティス
 
ふりかえり
ふりかえりふりかえり
ふりかえり
 
データモデルは時空を越える
データモデルは時空を越えるデータモデルは時空を越える
データモデルは時空を越える
 
ももたろう
ももたろうももたろう
ももたろう
 
Vbaでもtdd
VbaでもtddVbaでもtdd
Vbaでもtdd
 
Sierのアジャイルとジレンマとパラダイムシフト
SierのアジャイルとジレンマとパラダイムシフトSierのアジャイルとジレンマとパラダイムシフト
Sierのアジャイルとジレンマとパラダイムシフト
 
脱Java初心者を目指すときに読むといいと思う本を考える会
脱Java初心者を目指すときに読むといいと思う本を考える会脱Java初心者を目指すときに読むといいと思う本を考える会
脱Java初心者を目指すときに読むといいと思う本を考える会
 
再入門!RESTとSpringMVC
再入門!RESTとSpringMVC再入門!RESTとSpringMVC
再入門!RESTとSpringMVC
 
SGT2014 横浜道場 始めよう!インセプションデッキ
SGT2014 横浜道場 始めよう!インセプションデッキSGT2014 横浜道場 始めよう!インセプションデッキ
SGT2014 横浜道場 始めよう!インセプションデッキ
 
Tdd keyword
Tdd keywordTdd keyword
Tdd keyword
 
ゆるぎー
ゆるぎーゆるぎー
ゆるぎー
 

システム設計の謎 ~べ、別にあんたのために設計してるんじゃないんだからね///~