Submit Search
Upload
システム設計の原則
•
Download as PPTX, PDF
•
1 like
•
249 views
You&I
Follow
わんくま同盟 名古屋勉強会 #42 の発表資料 http://www.wankuma.com/seminar/20170902nagoya42/
Read less
Read more
Software
Report
Share
Report
Share
1 of 23
Download now
Recommended
CIA/AAR分析
CIA/AAR分析
You&I
Dev Woops!
Dev Woops!
You&I
Visual Studio 2017の一部を使ってみた
Visual Studio 2017の一部を使ってみた
You&I
初めてのDocker
初めてのDocker
You&I
ECMA-376の活用を考える(XLSX編)
ECMA-376の活用を考える(XLSX編)
You&I
業務システム開発モダナイゼーションガイド
業務システム開発モダナイゼーションガイド
You&I
MS MATRIX STRATEGY
MS MATRIX STRATEGY
You&I
プロ生ちゃんについて
プロ生ちゃんについて
You&I
Recommended
CIA/AAR分析
CIA/AAR分析
You&I
Dev Woops!
Dev Woops!
You&I
Visual Studio 2017の一部を使ってみた
Visual Studio 2017の一部を使ってみた
You&I
初めてのDocker
初めてのDocker
You&I
ECMA-376の活用を考える(XLSX編)
ECMA-376の活用を考える(XLSX編)
You&I
業務システム開発モダナイゼーションガイド
業務システム開発モダナイゼーションガイド
You&I
MS MATRIX STRATEGY
MS MATRIX STRATEGY
You&I
プロ生ちゃんについて
プロ生ちゃんについて
You&I
並列処理について
並列処理について
You&I
セッション発表のスゝメ
セッション発表のスゝメ
You&I
かなしき だるやなぎちゃん ~海老を獲りに行く話~
かなしき だるやなぎちゃん ~海老を獲りに行く話~
You&I
それはコトだ
それはコトだ
You&I
e-Learning Design for Teacher
e-Learning Design for Teacher
Sunami Hokuto
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
You&I
ApiPortで.NETアプリの依存関係を調べよう
ApiPortで.NETアプリの依存関係を調べよう
You&I
あなたの知らないセキュリティ規格の話
あなたの知らないセキュリティ規格の話
You&I
すぱこーに学ぶアプリ開発の第一歩
すぱこーに学ぶアプリ開発の第一歩
You&I
Hour of-code-2016冬-シンポジウム
Hour of-code-2016冬-シンポジウム
Yuta Tonegawa
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
Jun Nakahara
オブジェクト指向設計の原則
オブジェクト指向設計の原則
Toru Koido
0から始めるUXデザイン(UXデザインの組織を作る)
0から始めるUXデザイン(UXデザインの組織を作る)
Jiji Kim
4DX
4DX
You&I
デザイン思考入門クラス 2014年11月2日
デザイン思考入門クラス 2014年11月2日
(旧アカウント)一般社団法人デザイン思考研究所
負けない組織の原則を知る ~仕事の型を身につけよう~
負けない組織の原則を知る ~仕事の型を身につけよう~
You&I
名古屋でKYT
名古屋でKYT
You&I
ペアプログラミング?
ペアプログラミング?
You&I
プランニングポーカーで学ぶ相対見積
プランニングポーカーで学ぶ相対見積
You&I
社内勉強会開催の足跡
社内勉強会開催の足跡
Ruketa
More Related Content
Similar to システム設計の原則
並列処理について
並列処理について
You&I
セッション発表のスゝメ
セッション発表のスゝメ
You&I
かなしき だるやなぎちゃん ~海老を獲りに行く話~
かなしき だるやなぎちゃん ~海老を獲りに行く話~
You&I
それはコトだ
それはコトだ
You&I
e-Learning Design for Teacher
e-Learning Design for Teacher
Sunami Hokuto
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
You&I
ApiPortで.NETアプリの依存関係を調べよう
ApiPortで.NETアプリの依存関係を調べよう
You&I
あなたの知らないセキュリティ規格の話
あなたの知らないセキュリティ規格の話
You&I
すぱこーに学ぶアプリ開発の第一歩
すぱこーに学ぶアプリ開発の第一歩
You&I
Hour of-code-2016冬-シンポジウム
Hour of-code-2016冬-シンポジウム
Yuta Tonegawa
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
Jun Nakahara
オブジェクト指向設計の原則
オブジェクト指向設計の原則
Toru Koido
0から始めるUXデザイン(UXデザインの組織を作る)
0から始めるUXデザイン(UXデザインの組織を作る)
Jiji Kim
4DX
4DX
You&I
デザイン思考入門クラス 2014年11月2日
デザイン思考入門クラス 2014年11月2日
(旧アカウント)一般社団法人デザイン思考研究所
負けない組織の原則を知る ~仕事の型を身につけよう~
負けない組織の原則を知る ~仕事の型を身につけよう~
You&I
名古屋でKYT
名古屋でKYT
You&I
ペアプログラミング?
ペアプログラミング?
You&I
プランニングポーカーで学ぶ相対見積
プランニングポーカーで学ぶ相対見積
You&I
社内勉強会開催の足跡
社内勉強会開催の足跡
Ruketa
Similar to システム設計の原則
(20)
並列処理について
並列処理について
セッション発表のスゝメ
セッション発表のスゝメ
かなしき だるやなぎちゃん ~海老を獲りに行く話~
かなしき だるやなぎちゃん ~海老を獲りに行く話~
それはコトだ
それはコトだ
e-Learning Design for Teacher
e-Learning Design for Teacher
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
アジャイルにプロジェクトの"なぜ"を考える、インセプションデッキワークショップ
ApiPortで.NETアプリの依存関係を調べよう
ApiPortで.NETアプリの依存関係を調べよう
あなたの知らないセキュリティ規格の話
あなたの知らないセキュリティ規格の話
すぱこーに学ぶアプリ開発の第一歩
すぱこーに学ぶアプリ開発の第一歩
Hour of-code-2016冬-シンポジウム
Hour of-code-2016冬-シンポジウム
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
【Fan】学びの場づくり、"勝手に"最先端はこれだ! コンテンツデザインからコミュニティデザインへ
オブジェクト指向設計の原則
オブジェクト指向設計の原則
0から始めるUXデザイン(UXデザインの組織を作る)
0から始めるUXデザイン(UXデザインの組織を作る)
4DX
4DX
デザイン思考入門クラス 2014年11月2日
デザイン思考入門クラス 2014年11月2日
負けない組織の原則を知る ~仕事の型を身につけよう~
負けない組織の原則を知る ~仕事の型を身につけよう~
名古屋でKYT
名古屋でKYT
ペアプログラミング?
ペアプログラミング?
プランニングポーカーで学ぶ相対見積
プランニングポーカーで学ぶ相対見積
社内勉強会開催の足跡
社内勉強会開催の足跡
システム設計の原則
1.
わんくま同盟 名古屋勉強会 #42 システム設計の原則 書籍「現場で役立つシステム設計の原則」を読んで 2017/09/02(土) You&I
2.
わんくま同盟 名古屋勉強会 #42 ジコ、ショウカイ。 •
H/N: You&I(読み:ユーアンドアイ) • SNS: @you_and_i • 出身: 生まれも育ちも名古屋市 • 年齢: 40代 • 本職: 商学部出身の職業プログラマ • 言語: C++, C#他 •所属: プロ生勉強会 名古屋支部 名古屋アジャイル勉強会 わんくま同盟 名古屋勉強会
3.
わんくま同盟 名古屋勉強会 #42 AGENDA 1.
コンテキスト合わせ 2. 書籍紹介 3. 感想戦
4.
わんくま同盟 名古屋勉強会 #42 1.
コンテキスト合わせ システム設計の原則
5.
わんくま同盟 名古屋勉強会 #42 1.
コンテキスト合わせ カオスモデル 構造化分析設計(SADT) オブジェクト指向分析設計(OOAD) ドメイン駆動設計(DDD)
6.
わんくま同盟 名古屋勉強会 #42 1.
コンテキスト合わせ • さて、普段どのようにソフトウェアの設計 を行っていますか? • 開発プロセスによっては、実装専門でそも そも設計などしないって場合もあるでしょ うけどね・・・。
7.
わんくま同盟 名古屋勉強会 #42 1.
コンテキスト合わせ • ソフトウェア設計に必要な要素 – コンピュータの知識 • 動作プラットフォーム • 規格の知識 – プログラミングの知識 • 開発言語 • データベース – プロダクト・業務知識 • 関連法律の知識 • 要件定義
8.
わんくま同盟 名古屋勉強会 #42 1.
コンテキスト合わせ • このセッションは、書籍「現場で役立つシ ステム設計の原則」を読んでソフトウェア 設計でどうあるべき・どうやるべきについ て、夏休み宿題の読書感想文じゃないです けどもツラツラと書いてみたいと思います。
9.
わんくま同盟 名古屋勉強会 #42 2.
書籍紹介 システム設計の原則
10.
わんくま同盟 名古屋勉強会 #42 2.
書籍紹介 • 現場で役立つシステム設計の原則 – 出版社 技術評論社 – 発売 2017/07/18 – 著者 増田 亨 – 定価 2,940円(税別)
11.
わんくま同盟 名古屋勉強会 #42 2.
書籍紹介 目次 1. 小さくまとめてわかりやすくする 2. 場合分けのロジックを整理する 3. 業務ロジックをわかりやすく整理する 4. ドメインモデルの考え方で設計する 5. アプリケーション機能を組み立てる 6. データベースの設計とドメインオブジェクト 7. 画面とドメインオブジェクトの設計を連動させる 8. アプリケーション間の連携 9. オブジェクト指向の開発プロセス 10. オブジェクト指向設計の学び方と教え方
12.
わんくま同盟 名古屋勉強会 #42 2.
書籍紹介 – 解説(1/10) • 小さくまとめてわかりやすくする – 目的・利点 • 1機能=1クラス等で実装をシンプルに • 変更に強い仕組み – 実践 • クラス間の共通部分を切り出す • 変数やクラスは共通化しないで目的別に定義する • ビジネスロジックのデータをクラスで「型」とし て定義する
13.
わんくま同盟 名古屋勉強会 #42 2.
書籍紹介 – 解説(2/10) • 場合分けのロジックを整理する – 目的・利点 • 実装をシンプルに • 変更に強い仕組み – 実践 • if文ではelse句を使わない • 早期リターン
14.
わんくま同盟 名古屋勉強会 #42 2.
書籍紹介 – 解説(3/10) • 業務ロジックをわかりやすく整理する – 目的・利点 • 実装の一元化 – 実践 • データとロジックは分離しないでドメインオブ ジェクトとして定義する – データクラスを作らない • 三層システム+ドメインモデルで設計する – プレゼンテーション層 – アプリケーション層 => ドメインモデル – データソース層
15.
わんくま同盟 名古屋勉強会 #42 2.
書籍紹介 – 解説(4/10) • ドメインモデルの考え方で設計する – 解説 • 分析 – システムの理解 – 顧客ヒアリング • 設計 – クラス・変数の命名 – アナリシスパターンの発見 – 実践 • 重要な部分から手をつける
16.
わんくま同盟 名古屋勉強会 #42 2.
書籍紹介 – 解説(5/10) • アプリケーション機能を組み立てる – 実践 • アプリケーション層においてビジネスロジックが 実装されないようにする • メソッドにnullを渡したり返さない • シナリオクラスを利用して小さく分けたクラス群 を利用する流れを明確化する
17.
わんくま同盟 名古屋勉強会 #42 2.
書籍紹介 – 解説(6/10) • データベースの設計とドメインオブジェク ト – 実践 • DB設計 – NOT NULL制約 – 一意性制約 – 外部参照キー制約 • UPDATEを禁止しINSERT/DELETEのみ
18.
わんくま同盟 名古屋勉強会 #42 2.
書籍紹介 – 解説(7/10) • 画面とドメインオブジェクトの設計を連動 させる – 実践 • 画面ロジックにビジネスロジックが入り込まない ようにする • 一括入力画面ではなく入力項目毎に画面を用意す るタスクベースUIを採用する
19.
わんくま同盟 名古屋勉強会 #42 2.
書籍紹介 – 解説(8/10) • アプリケーション間の連携 – 実践 • 疎結合を基本として連携する • REST API設計 – 登録と参照は分ける – リソースの単位を分ける • マイクロサービス設計
20.
わんくま同盟 名古屋勉強会 #42 2.
書籍紹介 – 解説(9/10) • オブジェクト指向の開発プロセス – 実践 • 基本はV字モデル • ドメインモデル作成を中心に進める • ドキュメントを減らし必要なものに限定する – 質疑応答 – 議事録(ホワイトボード) – 取扱説明書
21.
わんくま同盟 名古屋勉強会 #42 2.
書籍紹介 – 解説(10/10) • オブジェクト指向設計の学び方と教え方 – 実践 • 既存コードのリファクタリング • オブジェクト指向分析設計を取り入れたコーディング 規約に基づき実装 – メソッド内のインデントは1階層まで – else句は使用禁止 – すべてのプリミティブ型と文字列型はラッパークラスを用 意する – 1行につきドット(.)は1つまで – 変数・メソッド・クラスのラベルは省略しない – 1クラスにつきメンバ変数は2つまで – コレクションクラスは、データとロジックをまとめた ファーストクラスコレクションオブジェクトを作成する – getter/setter/プロパティ使用禁止 – すべてのエンティティを小さくする
22.
わんくま同盟 名古屋勉強会 #42 3.
感想戦 システム設計の原則
23.
わんくま同盟 名古屋勉強会 #42 3.
感想戦 • ドメイン駆動設計って難しい – 業務の分析と設計を行う必要がある • このスキルセットを持った人は少ない • どうするか? 1. ドメインオブジェクト設計チームを作って設計 2. 設計を基に実装チームで実装する 3. 品証部門で試験する 4. アレ?これって・・・ダメ。ゼッタイ。
Download now