SlideShare a Scribd company logo
1 of 39
Download to read offline
ソフトウェア設計の
学び方を考える
2019年6月23日
ギルドワークス 増田 亨
DevLOVE X(10周年記念イベント)
アジェンダ
1. 設計という課題
2. ソフトウェア設計の品質
3. 学習と成長
4. 設計の初歩を学ぶ
5. 設計の中級者への道
6. 設計の上級者への挑戦
2019/6/23 2
ソフトウェア設計という課題
2019/6/23 3
複雑さとの戦い
構成要素の数
構成要素間の関係
拡張と変更の繰り返し
2019/6/23 4
人間の知的能力の限界
構成要素の数
構成要素間の関係
拡張と変更の繰り返し
2019/6/23 5
ソフトウェア設計の品質
2019/6/23 6
構造と秩序
2019/6/23 7
時間とともに劣化する構造と秩序
2019/6/23 8
時間とともに進化する構造と秩序
2019/6/23 9
ソフトウェア設計のスキル
構造と秩序を生み出す能力
2019/6/23 10
学習と成長
2019/6/23 11
学習と成長
実験による設計スキルの習得
設計スキルの学習曲線
2019/6/23 12
実験による設計スキルの習得
最初からよい設計はみつからない
そのまま使える既存の設計はない
2019/6/23 13
実験による設計スキルの習得
観察 仮説 実験 考察
目の前の設計課題
過去の設計例
他者の設計例
今回設計案の列挙
仮決め
コードで検証
収まり具合
まわりとの関係性
全体の調和
2019/6/23 14
設計スキルの向上
設計知識の広さと深さ
設計経験の広さと深さ
着眼点とこだわりポイントの変化
2019/6/23 15
設計スキルの学習曲線
設計の初歩
を学ぶ
中級者への道
上級者の挑戦
知識と経験が広く深くなるにつれ
着眼点とこだわりポイントが変化していく
2019/6/23 16
設計の初歩を学ぶ
2019/6/23 17
設計の基本
関心を分離する
モジュールに分割する
2019/6/23 18
分割とモジュール化の方法論
2019/6/23 19
2つの分割アプローチ
機能で分解する 型で分解する
入出力 計算
画面・通信・データベースの操作
トランザクションスクリプト
導出ロジック/判定ロジックの記述
ドメインモデル
2019/6/23 20
B. Liskov
B. Meyer
M. Fowler
K. Beck
E. Evans
ボトムアップ
インクリメンタル
トップダウン
アップフロント
構造と秩序をもたらす設計の初歩
型(値の種類)で分解する
計算を主役に、入出力をわき役に
問題領域と設計の直接的な写像
2019/6/23 21
型による分解
2019/6/23 22
型(値の種類)による分解
動機は計算ロジックや判定ロジックの複雑さを扱う工夫
計算の結果や計算に使う値を分類する(型の発見)
型ごとに、値の有効な範囲を定義する
型ごとに、その値を使う有効な操作を定義する
値の範囲と操作の定義をカプセル化する(クラス)
2019/6/23 23
計算を設計の主役に
2019/6/23 24
計算が主役、入出力がわき役
Javaの言語、標準ライブラリ、フレームワークを例に
計算ロジックの記述 入出力の記述
かつては、java.io, java.net, java.sql …
今はフレームワークに隠蔽されている
さまざまな実証済の設計パターンの登場
かつては、int, boolean, BigDecimal, Calendar, collection
今でも、int, boolean, BigDecimal, java.time, collection, …
かつては、if文, switch文, enum, …
今でも、if文, switch文, enum, …
構造と秩序を生み出すための
設計の主たる関心事ではなくなりつつある
複雑さと戦い、構造と秩序を生み出すための
設計活動の主戦場
2019/6/23 25
問題領域と設計の直接的な写像
2019/6/23 26
怪しげな写像
金額
注文番号
消費税
換算レート
納期
誕生日
割引可能
出荷可能
long型
BigDecimal型
LocalDate型
boolean型
一方通行
N対1
値の範囲
可能な操作
問題領域の関心事 設計実装の関心事
2019/6/23 27
直接的な写像
金額
注文番号
消費税
換算レート
納期
誕生日
割引可能
出荷可能
双方向の対応
1対1
適切な値の範囲
適切な操作
問題領域の関心事 設計実装の関心事
金額型
注文番号型
消費税型
換算レート型
納期型
誕生日型
割引判定型
出荷判定型
2019/6/23 28
構造と秩序をもたらす設計の初歩
型(値の種類)で分解する
計算を主役に、入出力をわき役に
問題領域と設計の直接的な写像
2019/6/23 29
設計の中級者への道
2019/6/23 30
設計の初級者と中級者の違い
初級者にとっては時間のムダに思える活動
中級者は費用対効果が高いと考える活動
2019/6/23 31
設計に関する活動 初級者 中級者
リファクタリング 動けばOK/やらない 動いた後の改善こそ重要
名前の変更 どっちでも同じ 名前たいせつ
パッケージ構造の変更 時間のムダ/危険 見通し改善の効果大
設計の選択肢 選択肢はひとつ いろいろあって迷う
業務知識 わからない、興味ない 知っていると強い
設計スキルが高い 複雑なコードが書ける コードを単純にできる
2019/6/23 32
設計の中級者への道
➢多くに目を向け、複数の選択肢を持つようにする
➢時間の節約と投資を覚える
✓構造と秩序の「核になる20%」に注目する
✓核心の設計課題に、重点的に時間とエネルギーを投資する
✓周辺的な課題の設計は、できるだけ時間とエネルギーを節約する
➢仕様の補完力の必要性と効果を知る
✓詳細仕様はだれも知らない/決められない現実を理解する
✓業務知識の理解と直接的な写像の効果に気がつく
➢パッケージ名とパッケージ構造の威力を知る
2019/6/23 33
「中心」と「周辺」の関係に気づく
影響の大きい要素の発見
設計の上級者への挑戦
2019/6/23 34
設計の上級者
もっともっと広く、もっともっと深く
4%への挑戦
2019/6/23 35
設計の上級者
➢もっともっと広く、もっともっと深く
✓型による分解
✓計算を主役に
✓問題領域と設計実装の直接的な写像
➢4%への挑戦
✓20%×20%
✓関心の範囲を広げるほど、時間が足りなくなる
✓中核のなかの中核、要点のなかの要点を発見することに焦点をあわせる
✓4%の中心的な関心事に、重点的に投資する
✓周辺の関心事への節約を、さらに徹底する
2019/6/23 36
深く理解し、4%に挑戦する
➢多くに目を向け、複数の視点を持ち、視座をあちこち移動する
➢根底にある構造の発見へのこだわり
➢暗黙の概念の言語化へのこだわり
➢ビジネス活動とソフトウェア構造の直接的な関係性の気づき
✓どちらも構造と秩序が時間とともに変化する
✓両者の直接的な連動性への気づきと設計への反映
2019/6/23 37
本日のまとめ
2019/6/23 38
設計という課題
複雑さへの挑戦
構造と秩序をもたらす能力
設計の品質
変更が楽で安全であること、
進化を続ける秩序
学習と成長
実験による学習
着眼点とこだわりポイントの変化
設計の初歩を学ぶ
型による分解、計算が主役
直接的な写像
中級者への道
設計の費用対効果への気づき
中心と周辺の気づき、節約と投資
上級者への挑戦
4%への挑戦
隠れた概念/関係性の発見と言語化
2019/6/23 39

More Related Content

What's hot

ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説増田 亨
 
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】増田 亨
 
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2増田 亨
 
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイルプロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル増田 亨
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門増田 亨
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方増田 亨
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう増田 亨
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで増田 亨
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する増田 亨
 
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primerオブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer増田 亨
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則増田 亨
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する増田 亨
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう増田 亨
 
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して増田 亨
 
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイントドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント増田 亨
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう増田 亨
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門増田 亨
 
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)A AOKI
 
毎日が越境だ!
毎日が越境だ!毎日が越境だ!
毎日が越境だ!増田 亨
 
ドメイン駆動設計の捉え方 20150718
ドメイン駆動設計の捉え方 20150718ドメイン駆動設計の捉え方 20150718
ドメイン駆動設計の捉え方 20150718Mao Ohnishi
 

What's hot (20)

ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
 
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】
 
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
 
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイルプロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
 
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primerオブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
 
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
 
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
 
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイントドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
 
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
 
毎日が越境だ!
毎日が越境だ!毎日が越境だ!
毎日が越境だ!
 
ドメイン駆動設計の捉え方 20150718
ドメイン駆動設計の捉え方 20150718ドメイン駆動設計の捉え方 20150718
ドメイン駆動設計の捉え方 20150718
 

Similar to ソフトウェア設計の学び方を考える

Web App for Containers のデプロイでつまずいた話
Web App for Containers のデプロイでつまずいた話Web App for Containers のデプロイでつまずいた話
Web App for Containers のデプロイでつまずいた話Shigenari Ohnuma
 
DEMODAY 2019 Spring スポンサーシップ募集要項
DEMODAY 2019 Spring スポンサーシップ募集要項DEMODAY 2019 Spring スポンサーシップ募集要項
DEMODAY 2019 Spring スポンサーシップ募集要項DIVE INTO CODE Corp.
 
派生開発でDXの時代を生き残る ~「2025年の崖」への処方箋 ~
派生開発でDXの時代を生き残る ~「2025年の崖」への処方箋 ~派生開発でDXの時代を生き残る ~「2025年の崖」への処方箋 ~
派生開発でDXの時代を生き残る ~「2025年の崖」への処方箋 ~NaITE_Official
 
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチレガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ増田 亨
 
多様性の時代を生きる、私たちのデザイン -インクルーシブデザインとサービスデザインを語る-
多様性の時代を生きる、私たちのデザイン -インクルーシブデザインとサービスデザインを語る-多様性の時代を生きる、私たちのデザイン -インクルーシブデザインとサービスデザインを語る-
多様性の時代を生きる、私たちのデザイン -インクルーシブデザインとサービスデザインを語る-Concent, Inc.
 
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かうソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう増田 亨
 
Story-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインするStory-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインするYusuke Goto
 
OSC2019名古屋 : LibreOfficeで役立つ「モノづくり」
OSC2019名古屋 : LibreOfficeで役立つ「モノづくり」OSC2019名古屋 : LibreOfficeで役立つ「モノづくり」
OSC2019名古屋 : LibreOfficeで役立つ「モノづくり」Masataka Kondo
 
Build2019発表情報一気見せ
Build2019発表情報一気見せBuild2019発表情報一気見せ
Build2019発表情報一気見せTsukasa Kato
 
【Azureデータ分析シリーズ】非専門家向け/利用部門主導で始めるデータ分析_ナレッジコミュニケーション公開資料
【Azureデータ分析シリーズ】非専門家向け/利用部門主導で始めるデータ分析_ナレッジコミュニケーション公開資料【Azureデータ分析シリーズ】非専門家向け/利用部門主導で始めるデータ分析_ナレッジコミュニケーション公開資料
【Azureデータ分析シリーズ】非専門家向け/利用部門主導で始めるデータ分析_ナレッジコミュニケーション公開資料Takaya Nakanishi
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルAkira Inoue
 
クラウドコンピューティング時代のタブレットコンピューター向けマトリックス型ワードプロセッシングシステムの試作
クラウドコンピューティング時代のタブレットコンピューター向けマトリックス型ワードプロセッシングシステムの試作クラウドコンピューティング時代のタブレットコンピューター向けマトリックス型ワードプロセッシングシステムの試作
クラウドコンピューティング時代のタブレットコンピューター向けマトリックス型ワードプロセッシングシステムの試作yamahige
 
[XP祭り2017][B-3(1)]DevOps時代のプロジェクトマネージメントを考えよう
[XP祭り2017][B-3(1)]DevOps時代のプロジェクトマネージメントを考えよう[XP祭り2017][B-3(1)]DevOps時代のプロジェクトマネージメントを考えよう
[XP祭り2017][B-3(1)]DevOps時代のプロジェクトマネージメントを考えようShigeki Morizane
 
Invitation to development tools オープン系開発ツールへのいざない
Invitation to development tools オープン系開発ツールへのいざないInvitation to development tools オープン系開発ツールへのいざない
Invitation to development tools オープン系開発ツールへのいざないSatoru Yoshida
 

Similar to ソフトウェア設計の学び方を考える (20)

Web App for Containers のデプロイでつまずいた話
Web App for Containers のデプロイでつまずいた話Web App for Containers のデプロイでつまずいた話
Web App for Containers のデプロイでつまずいた話
 
DEMODAY 2019 Spring スポンサーシップ募集要項
DEMODAY 2019 Spring スポンサーシップ募集要項DEMODAY 2019 Spring スポンサーシップ募集要項
DEMODAY 2019 Spring スポンサーシップ募集要項
 
派生開発でDXの時代を生き残る ~「2025年の崖」への処方箋 ~
派生開発でDXの時代を生き残る ~「2025年の崖」への処方箋 ~派生開発でDXの時代を生き残る ~「2025年の崖」への処方箋 ~
派生開発でDXの時代を生き残る ~「2025年の崖」への処方箋 ~
 
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチレガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
 
多様性の時代を生きる、私たちのデザイン -インクルーシブデザインとサービスデザインを語る-
多様性の時代を生きる、私たちのデザイン -インクルーシブデザインとサービスデザインを語る-多様性の時代を生きる、私たちのデザイン -インクルーシブデザインとサービスデザインを語る-
多様性の時代を生きる、私たちのデザイン -インクルーシブデザインとサービスデザインを語る-
 
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かうソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
 
20190117 teamup
20190117 teamup20190117 teamup
20190117 teamup
 
scrum_fest_osaka_2020
scrum_fest_osaka_2020scrum_fest_osaka_2020
scrum_fest_osaka_2020
 
Story-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインするStory-Assured Design で開発チーム全員でデザインする
Story-Assured Design で開発チーム全員でデザインする
 
Devsumi2013 gunta 2_pdf
Devsumi2013 gunta 2_pdfDevsumi2013 gunta 2_pdf
Devsumi2013 gunta 2_pdf
 
OSC2019名古屋 : LibreOfficeで役立つ「モノづくり」
OSC2019名古屋 : LibreOfficeで役立つ「モノづくり」OSC2019名古屋 : LibreOfficeで役立つ「モノづくり」
OSC2019名古屋 : LibreOfficeで役立つ「モノづくり」
 
Build2019発表情報一気見せ
Build2019発表情報一気見せBuild2019発表情報一気見せ
Build2019発表情報一気見せ
 
【Azureデータ分析シリーズ】非専門家向け/利用部門主導で始めるデータ分析_ナレッジコミュニケーション公開資料
【Azureデータ分析シリーズ】非専門家向け/利用部門主導で始めるデータ分析_ナレッジコミュニケーション公開資料【Azureデータ分析シリーズ】非専門家向け/利用部門主導で始めるデータ分析_ナレッジコミュニケーション公開資料
【Azureデータ分析シリーズ】非専門家向け/利用部門主導で始めるデータ分析_ナレッジコミュニケーション公開資料
 
Androidの開発概要
Androidの開発概要Androidの開発概要
Androidの開発概要
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
 
2019.12.7 kaihatsu
2019.12.7 kaihatsu2019.12.7 kaihatsu
2019.12.7 kaihatsu
 
クラウドコンピューティング時代のタブレットコンピューター向けマトリックス型ワードプロセッシングシステムの試作
クラウドコンピューティング時代のタブレットコンピューター向けマトリックス型ワードプロセッシングシステムの試作クラウドコンピューティング時代のタブレットコンピューター向けマトリックス型ワードプロセッシングシステムの試作
クラウドコンピューティング時代のタブレットコンピューター向けマトリックス型ワードプロセッシングシステムの試作
 
[XP祭り2017][B-3(1)]DevOps時代のプロジェクトマネージメントを考えよう
[XP祭り2017][B-3(1)]DevOps時代のプロジェクトマネージメントを考えよう[XP祭り2017][B-3(1)]DevOps時代のプロジェクトマネージメントを考えよう
[XP祭り2017][B-3(1)]DevOps時代のプロジェクトマネージメントを考えよう
 
Invitation to development tools オープン系開発ツールへのいざない
Invitation to development tools オープン系開発ツールへのいざないInvitation to development tools オープン系開発ツールへのいざない
Invitation to development tools オープン系開発ツールへのいざない
 
Agile and Quality
Agile and QualityAgile and Quality
Agile and Quality
 

More from 増田 亨

事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述増田 亨
 
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来増田 亨
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かうビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう増田 亨
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java増田 亨
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす増田 亨
 
SoR 2.0 summary
SoR 2.0 summarySoR 2.0 summary
SoR 2.0 summary増田 亨
 
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築増田 亨
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方増田 亨
 
越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる増田 亨
 
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイルドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル増田 亨
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則増田 亨
 

More from 増田 亨 (12)

事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述
 
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かうビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
 
SoR 2.0 summary
SoR 2.0 summarySoR 2.0 summary
SoR 2.0 summary
 
SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築SoR 2.0 基幹システムの再定義と再構築
SoR 2.0 基幹システムの再定義と再構築
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
 
越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる越境する情シス:進化可能なアーキテクチャを手に入れる
越境する情シス:進化可能なアーキテクチャを手に入れる
 
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイルドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
 

ソフトウェア設計の学び方を考える