SlideShare a Scribd company logo
1 of 12
Download to read offline
ドメイン駆動設計における
シナリオテストの活用
DDD Alliance!
ドメイン駆動設計をやってみた 6つの現場からの報告
2015/11/10 井上 岳大
自己紹介
•井上 岳大(いのうえ たけひろ)
•∼2013/3
•仙台のSIerでシステムエンジニア(受託開発)
•2014/4∼
•フリーランスプログラマー(主に受託開発)
•DDD Alliance 設立メンバー
•DDD勉強会in仙台(20回)/ TDD勉強会in仙台(24回)主催
•TDDBC仙台の運営 →11/14(土)TDDBC仙台5
•Twitter : @i_takehiro
本日言いたいこと
ドメイン駆動設計を用いた受託開発
において
システムの仕様(期待する振る舞い)
を
顧客と合意する手段
として
(BDDをベースにした)シナリオテスト
を使ってみたらとても良い感じ
BDD/シナリオテストとは
【BDD】
・Behavior Driven Development
・振る舞い駆動開発
・システムに期待する振る舞いをスペック(仕様)として記述する
【シナリオテスト】
・シナリオ(1つまたは複数のユースケース)を
 スペックとして記述する
・プレゼンテーション層から見た振る舞いをシミュレート
・アプリケーションサービスを介して、ドメインモデルの
  参照や更新を行う
シナリオテスト導入の動機(1)
・仙台を拠点にリモートワークでの受託開発
 →顧客は東京
 →チームメンバーは全国各地(東京、大阪、青森 等)
【これまでの開発の進め方】
・コンテキスト図/ユースケース図/サイトマップの作成
・ドメインモデルの作成
 →この段階で、一旦顧客と仕様の合意
・サービス層の実装(ドメイン層/インフラ層を含む)
 →ある程度のフィードバック
・プレゼンテーション層(画面)の実装
 →このタイミングで大量のフィードバック
シナリオテスト導入の動機(2)
【今回の開発の流れ】
・顧客の社内システム部担当者と毎週打ち合わせ
 →毎週成果物をリリース
 →打ち合わせで動くものでプレゼンを行う
・ビジネス的なプロダクトの優先度や仕様が常に変わっていく
 (例)営業サイドからのフィードバック
    →大規模顧客が欲しいと言ったら優先度急上昇
    →パッケージを前提に開発を開始するが
     必要ならば個社対応を行う
・プロダクトを売るためにはできるだけ早く具体的なもの(画面)を
 開発する必要がある
→画面をできるだけ早く えたいが、出戻りをできるだけ防ぎたい
シナリオテストの導入
・TDD(Test Driven Development)大好き
 →自分自身に対して頻繁なフィードバックが得られる
・シナリオ(ユースケース)をテストコードで分かりやすく
 記述したら、顧客からの頻繁なフィードバックが得られて
 仕様合意が進み、その後の出戻りを減らせるのではないか
 →BDDをベースにしたシナリオテストを試作
 →Java + Spring Boot での開発なので
  BDDフレームワークとして
  Spock Framework を採用
  (今までもTDDフレームワークとして利用)
開発の全体像
シナリオテスト
(BDD)
ユニットテスト
(TDD)
ドメインモデル
ユビキタス言語
サービス層 ドメイン層
インフラ
ストラクチャ
層
プレゼン
テーション層
ユースケース図
コンテキスト図 サイトマップ
フィードバック
実際のシナリオテスト例
def "店長が自店舗の募集に対する応募を採用した後に募集を終了する"() {
when: "店長が採用したい応募の詳細を取得する"
def 未採用応募詳細 = 応募サービス.getDetail(応募ID_採用する)
then: "応募者が未採用である"
未採用応募詳細.memberId == 応募者ID_採用する
未採用応募詳細.signed == false
when: "店長が応募を採用する"
採用サービス.sign(応募ID_採用する)
then: "システムが応募者に採用通知を行う"
1 * 採用通知サービス.notify(_) >> { notice ->
採用通知内容 = notice[0]
}
採用通知内容.memberId == 応募者ID_採用する
and: "応募が採用されている"
def 採用済応募詳細 = 応募サービス.getDetail(応募ID_採用する)
採用済応募詳細.signed
def 未採用応募一覧 = 応募サービス.listNotSigned()
未採用応募一覧.contains(応募ID_採用する) == false
未採用応募一覧.contains(応募ID_採用しない)
and: "採用済済応募一覧に採用した応募が含まれる"
def 採用済済応募一覧 = 応募サービス.listSigned()
採用済済応募一覧.contains(応募ID_採用する)
採用済済応募一覧.contains(応募ID_採用しない) == false
when: "店長が募集を終了する"
募集登録サービス.close(募集ID)
then: "システムが未採用な応募者に募集終了通知を行う"
1 * 募集終了通知サービス.notify(_) >> { notice ->
募集終了通知内容 = notice[0]
}
募集終了通知内容.memberId == 応募者ID_採用しない
and: "店長が終了済募集一覧から終了した募集を取得できる"
def 終了済み募集一覧 = 募集サービス.listClosed()
終了済み募集一覧.contains(募集ID)
}
シナリオテストを活用してみて
【開発時】
・開発にリズム感が出る(BDD/TDD)
・開発に濃淡をつけやすい→ちゃんとした実装は後回し
  (ダミー実装、集約の項目は最低限 など)
・一旦仕様の合意ができれば、実装にスピード感が出る
【打ち合わせ】
・実際にシナリオテストを見ながら声に出して読み合わせ
 →毎週フィードバックが得られる
 (ちょっとした言葉遣いの違和感 など)
【顧客側の感想】
・分かりやすい
・社内の開発チームでも使いたい など好感触
今後について
毎週やり方を少しずつ改良しながら進めています
【今後の改善点】
・より可読性の高い記述方法の模索
・複数のモジュールやコンテキストを
 跨いだシナリオテストの実施
・どこまでシナリオテストを作り込むかの見極め
 →(例)代替シナリオ(ユースケース)
・画面を作るタイミングとのトレードオフ 等々
まとめ
ドメイン駆動設計を用いた受託開発
において
システムの仕様(期待する振る舞い)
を
顧客と合意する手段
として
(BDDをベースにした)シナリオテスト
を使ってみたらとても良い感じ

More Related Content

What's hot

FiNC DDD第一回勉強会
FiNC DDD第一回勉強会FiNC DDD第一回勉強会
FiNC DDD第一回勉強会裕紀 重村
 
某S社のddd(メイリオ)
某S社のddd(メイリオ)某S社のddd(メイリオ)
某S社のddd(メイリオ)kumake
 
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8Koichiro Matsuoka
 
ドメイン駆動設計と サーバサイドと私
ドメイン駆動設計と サーバサイドと私ドメイン駆動設計と サーバサイドと私
ドメイン駆動設計と サーバサイドと私Noriaki Kadota
 
RDRA DDD Agile
RDRA DDD AgileRDRA DDD Agile
RDRA DDD Agile増田 亨
 
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)A AOKI
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計増田 亨
 
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」 DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」 Koichiro Matsuoka
 
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫Koichiro Matsuoka
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう増田 亨
 
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~貴志 上坂
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイントドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント増田 亨
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかKoichiro Matsuoka
 
「実践ドメイン駆動設計」社内読書会まとめ ~IDDD本難民に捧げる1章から7章~
「実践ドメイン駆動設計」社内読書会まとめ ~IDDD本難民に捧げる1章から7章~「実践ドメイン駆動設計」社内読書会まとめ ~IDDD本難民に捧げる1章から7章~
「実践ドメイン駆動設計」社内読書会まとめ ~IDDD本難民に捧げる1章から7章~A AOKI
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門Takuya Kitamura
 
ベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消するベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消するKoichiro Matsuoka
 
現場で役立つシステム設計の原則への感謝
現場で役立つシステム設計の原則への感謝現場で役立つシステム設計の原則への感謝
現場で役立つシステム設計の原則への感謝Ishibashi Ryo
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス増田 亨
 
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]Koichiro Matsuoka
 

What's hot (20)

FiNC DDD第一回勉強会
FiNC DDD第一回勉強会FiNC DDD第一回勉強会
FiNC DDD第一回勉強会
 
某S社のddd(メイリオ)
某S社のddd(メイリオ)某S社のddd(メイリオ)
某S社のddd(メイリオ)
 
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
 
ドメイン駆動設計と サーバサイドと私
ドメイン駆動設計と サーバサイドと私ドメイン駆動設計と サーバサイドと私
ドメイン駆動設計と サーバサイドと私
 
RDRA DDD Agile
RDRA DDD AgileRDRA DDD Agile
RDRA DDD Agile
 
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
 
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」 DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
DDDオンライン勉強会#2 「集約・境界付けられたコンテキスト」
 
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
Discordから バーチャルオフィス「Teamflow」 に乗り換えてみた 雑談を生む工夫
 
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
 
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイントドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
 
「実践ドメイン駆動設計」社内読書会まとめ ~IDDD本難民に捧げる1章から7章~
「実践ドメイン駆動設計」社内読書会まとめ ~IDDD本難民に捧げる1章から7章~「実践ドメイン駆動設計」社内読書会まとめ ~IDDD本難民に捧げる1章から7章~
「実践ドメイン駆動設計」社内読書会まとめ ~IDDD本難民に捧げる1章から7章~
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
ベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消するベロシティを上手く使って 技術的負債を計画的に解消する
ベロシティを上手く使って 技術的負債を計画的に解消する
 
現場で役立つシステム設計の原則への感謝
現場で役立つシステム設計の原則への感謝現場で役立つシステム設計の原則への感謝
現場で役立つシステム設計の原則への感謝
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
 
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
 

Viewers also liked

【16-E-3】 プロジェクトIchiganの目指す新しい自治体ITアーキテクチャのあり方
【16-E-3】 プロジェクトIchiganの目指す新しい自治体ITアーキテクチャのあり方【16-E-3】 プロジェクトIchiganの目指す新しい自治体ITアーキテクチャのあり方
【16-E-3】 プロジェクトIchiganの目指す新しい自治体ITアーキテクチャのあり方Project ICHIGAN
 
いまさらユースケース
いまさらユースケースいまさらユースケース
いまさらユースケースMasaru Kimura
 
koredake modeling accelerates agile
koredake modeling accelerates agilekoredake modeling accelerates agile
koredake modeling accelerates agileChangeVision
 
Astah UML スタートガイド
Astah UML スタートガイドAstah UML スタートガイド
Astah UML スタートガイドChangeVision
 
Astah professional スタートガイド
Astah professional スタートガイドAstah professional スタートガイド
Astah professional スタートガイドChangeVision
 
using astah for openthology modeling
using astah for openthology modelingusing astah for openthology modeling
using astah for openthology modelingKenji Hiranabe
 
Astah UML/ER/mindmapping modeling tool Introduction
Astah UML/ER/mindmapping modeling tool IntroductionAstah UML/ER/mindmapping modeling tool Introduction
Astah UML/ER/mindmapping modeling tool IntroductionKenji Hiranabe
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要かHiromasa Oka
 
プロフェッショナル要件定義の教科書』の内容が 要件定義を考える上で大切だったのでまとめてみた
プロフェッショナル要件定義の教科書』の内容が要件定義を考える上で大切だったのでまとめてみたプロフェッショナル要件定義の教科書』の内容が要件定義を考える上で大切だったのでまとめてみた
プロフェッショナル要件定義の教科書』の内容が 要件定義を考える上で大切だったのでまとめてみたAyumu Kohiyama
 
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~Kazuhiro Suzuki
 
Astah Plug-ins 作ろう!試そう!プラグイン!
Astah Plug-ins 作ろう!試そう!プラグイン!Astah Plug-ins 作ろう!試そう!プラグイン!
Astah Plug-ins 作ろう!試そう!プラグイン!ChangeVision
 
ユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へShuji Watanabe
 
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」hiroyuki Yamamoto
 
プログラムの流れを図で表す 方法その1:フローチャート/アクティビティ図
プログラムの流れを図で表す方法その1:フローチャート/アクティビティ図プログラムの流れを図で表す方法その1:フローチャート/アクティビティ図
プログラムの流れを図で表す 方法その1:フローチャート/アクティビティ図Katsuhiro Morishita
 
UMLモデルを使った自動生成
UMLモデルを使った自動生成UMLモデルを使った自動生成
UMLモデルを使った自動生成Norihito Ohshima
 
ユースケースの善し悪し
ユースケースの善し悪しユースケースの善し悪し
ユースケースの善し悪しakipii Oga
 
モデリングもしないでアジャイルとは何事だ
モデリングもしないでアジャイルとは何事だモデリングもしないでアジャイルとは何事だ
モデリングもしないでアジャイルとは何事だIwao Harada
 
さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪Zenji Kanzaki
 
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac20141時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014Kazuhiro Suzuki
 
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan Yusuke Suzuki
 

Viewers also liked (20)

【16-E-3】 プロジェクトIchiganの目指す新しい自治体ITアーキテクチャのあり方
【16-E-3】 プロジェクトIchiganの目指す新しい自治体ITアーキテクチャのあり方【16-E-3】 プロジェクトIchiganの目指す新しい自治体ITアーキテクチャのあり方
【16-E-3】 プロジェクトIchiganの目指す新しい自治体ITアーキテクチャのあり方
 
いまさらユースケース
いまさらユースケースいまさらユースケース
いまさらユースケース
 
koredake modeling accelerates agile
koredake modeling accelerates agilekoredake modeling accelerates agile
koredake modeling accelerates agile
 
Astah UML スタートガイド
Astah UML スタートガイドAstah UML スタートガイド
Astah UML スタートガイド
 
Astah professional スタートガイド
Astah professional スタートガイドAstah professional スタートガイド
Astah professional スタートガイド
 
using astah for openthology modeling
using astah for openthology modelingusing astah for openthology modeling
using astah for openthology modeling
 
Astah UML/ER/mindmapping modeling tool Introduction
Astah UML/ER/mindmapping modeling tool IntroductionAstah UML/ER/mindmapping modeling tool Introduction
Astah UML/ER/mindmapping modeling tool Introduction
 
アジャイルにモデリングは必要か
アジャイルにモデリングは必要かアジャイルにモデリングは必要か
アジャイルにモデリングは必要か
 
プロフェッショナル要件定義の教科書』の内容が 要件定義を考える上で大切だったのでまとめてみた
プロフェッショナル要件定義の教科書』の内容が要件定義を考える上で大切だったのでまとめてみたプロフェッショナル要件定義の教科書』の内容が要件定義を考える上で大切だったのでまとめてみた
プロフェッショナル要件定義の教科書』の内容が 要件定義を考える上で大切だったのでまとめてみた
 
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~
エンタープライズシステムにおけるテスト ~STE研究交流会 参加者の視点から ~
 
Astah Plug-ins 作ろう!試そう!プラグイン!
Astah Plug-ins 作ろう!試そう!プラグイン!Astah Plug-ins 作ろう!試そう!プラグイン!
Astah Plug-ins 作ろう!試そう!プラグイン!
 
ユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へユースケースからテスト駆動開発へ
ユースケースからテスト駆動開発へ
 
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」
第74回名古屋アジャイル勉強会「後悔しない要件定義のまとめ方」
 
プログラムの流れを図で表す 方法その1:フローチャート/アクティビティ図
プログラムの流れを図で表す方法その1:フローチャート/アクティビティ図プログラムの流れを図で表す方法その1:フローチャート/アクティビティ図
プログラムの流れを図で表す 方法その1:フローチャート/アクティビティ図
 
UMLモデルを使った自動生成
UMLモデルを使った自動生成UMLモデルを使った自動生成
UMLモデルを使った自動生成
 
ユースケースの善し悪し
ユースケースの善し悪しユースケースの善し悪し
ユースケースの善し悪し
 
モデリングもしないでアジャイルとは何事だ
モデリングもしないでアジャイルとは何事だモデリングもしないでアジャイルとは何事だ
モデリングもしないでアジャイルとは何事だ
 
さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪さくさく要件定義セミナー in 大阪
さくさく要件定義セミナー in 大阪
 
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac20141時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014
 
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
アーキテクチャとアジャイルプロジェクトをまともに進めるための両輪について-DevLOVE関西 #DevKan
 

Similar to ドメイン駆動設計におけるシナリオテストの活用

DeNAにおけるSWETの役割
DeNAにおけるSWETの役割DeNAにおけるSWETの役割
DeNAにおけるSWETの役割Toshiyuki Hirata
 
20151110 ドメイン駆動設計によるサービス開発
20151110 ドメイン駆動設計によるサービス開発20151110 ドメイン駆動設計によるサービス開発
20151110 ドメイン駆動設計によるサービス開発Mao Ohnishi
 
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)Koichiro Matsuoka
 
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】増田 亨
 
ドメイン駆動設計再入門
ドメイン駆動設計再入門ドメイン駆動設計再入門
ドメイン駆動設計再入門Yukei Wachi
 
ザ・ジェネラリスト #5000dai
ザ・ジェネラリスト #5000daiザ・ジェネラリスト #5000dai
ザ・ジェネラリスト #5000daikyon mm
 
melonDesignerの説明
melonDesignerの説明melonDesignerの説明
melonDesignerの説明Hisashi Sakai
 
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017Yuki Okada
 
要求開発×アジャイル開発×ドメイン駆動開発
要求開発×アジャイル開発×ドメイン駆動開発要求開発×アジャイル開発×ドメイン駆動開発
要求開発×アジャイル開発×ドメイン駆動開発Kent Ishizawa
 
セールスフォース的開発メソッドのススメ 須山洋輔
セールスフォース的開発メソッドのススメ 須山洋輔セールスフォース的開発メソッドのススメ 須山洋輔
セールスフォース的開発メソッドのススメ 須山洋輔TerraSky
 
ドメイン駆動設計勉強会発表
ドメイン駆動設計勉強会発表ドメイン駆動設計勉強会発表
ドメイン駆動設計勉強会発表shingo suzuki
 
第7回 D2D アクセシビリティ勉強会資料「D2Dサイトをアクセシブルにマークアップ」
第7回 D2D アクセシビリティ勉強会資料「D2Dサイトをアクセシブルにマークアップ」第7回 D2D アクセシビリティ勉強会資料「D2Dサイトをアクセシブルにマークアップ」
第7回 D2D アクセシビリティ勉強会資料「D2Dサイトをアクセシブルにマークアップ」Nozomi Sawada
 
持続的なサービス提供のための計測と分析
持続的なサービス提供のための計測と分析持続的なサービス提供のための計測と分析
持続的なサービス提供のための計測と分析Miyabi Goji
 
プロダクトの方針(ロードマップ)決定に向けての 要素抽出・分類・分析 (主にツールとか)
プロダクトの方針(ロードマップ)決定に向けての 要素抽出・分類・分析 (主にツールとか)プロダクトの方針(ロードマップ)決定に向けての 要素抽出・分類・分析 (主にツールとか)
プロダクトの方針(ロードマップ)決定に向けての 要素抽出・分類・分析 (主にツールとか)Yukinori SAEKI
 
サービス開発における工程
サービス開発における工程サービス開発における工程
サービス開発における工程Hidetoshi Mori
 
人が作るソフトウェア 〜今組織パターンを読む意味〜
人が作るソフトウェア 〜今組織パターンを読む意味〜人が作るソフトウェア 〜今組織パターンを読む意味〜
人が作るソフトウェア 〜今組織パターンを読む意味〜Yukei Wachi
 
Visual Studio App Centerで始めるCI/CD
Visual Studio App Centerで始めるCI/CDVisual Studio App Centerで始めるCI/CD
Visual Studio App Centerで始めるCI/CDShinya Nakajima
 
プロジェクト管理支援環境の高度化に向けた取り組み
プロジェクト管理支援環境の高度化に向けた取り組みプロジェクト管理支援環境の高度化に向けた取り組み
プロジェクト管理支援環境の高度化に向けた取り組みagileware_jp
 
Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1Atsushi Kambara
 
STAC2022 ローコード開発におけるテストピラミッド考察
STAC2022 ローコード開発におけるテストピラミッド考察STAC2022 ローコード開発におけるテストピラミッド考察
STAC2022 ローコード開発におけるテストピラミッド考察Satoshi Sakashita
 

Similar to ドメイン駆動設計におけるシナリオテストの活用 (20)

DeNAにおけるSWETの役割
DeNAにおけるSWETの役割DeNAにおけるSWETの役割
DeNAにおけるSWETの役割
 
20151110 ドメイン駆動設計によるサービス開発
20151110 ドメイン駆動設計によるサービス開発20151110 ドメイン駆動設計によるサービス開発
20151110 ドメイン駆動設計によるサービス開発
 
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
Aws Dev Day2021 「ドメイン駆動設計のマイクロサービスへの活用とデベロッパーに求められるスキル」参考資料(松岡パート)
 
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】
 
ドメイン駆動設計再入門
ドメイン駆動設計再入門ドメイン駆動設計再入門
ドメイン駆動設計再入門
 
ザ・ジェネラリスト #5000dai
ザ・ジェネラリスト #5000daiザ・ジェネラリスト #5000dai
ザ・ジェネラリスト #5000dai
 
melonDesignerの説明
melonDesignerの説明melonDesignerの説明
melonDesignerの説明
 
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
 
要求開発×アジャイル開発×ドメイン駆動開発
要求開発×アジャイル開発×ドメイン駆動開発要求開発×アジャイル開発×ドメイン駆動開発
要求開発×アジャイル開発×ドメイン駆動開発
 
セールスフォース的開発メソッドのススメ 須山洋輔
セールスフォース的開発メソッドのススメ 須山洋輔セールスフォース的開発メソッドのススメ 須山洋輔
セールスフォース的開発メソッドのススメ 須山洋輔
 
ドメイン駆動設計勉強会発表
ドメイン駆動設計勉強会発表ドメイン駆動設計勉強会発表
ドメイン駆動設計勉強会発表
 
第7回 D2D アクセシビリティ勉強会資料「D2Dサイトをアクセシブルにマークアップ」
第7回 D2D アクセシビリティ勉強会資料「D2Dサイトをアクセシブルにマークアップ」第7回 D2D アクセシビリティ勉強会資料「D2Dサイトをアクセシブルにマークアップ」
第7回 D2D アクセシビリティ勉強会資料「D2Dサイトをアクセシブルにマークアップ」
 
持続的なサービス提供のための計測と分析
持続的なサービス提供のための計測と分析持続的なサービス提供のための計測と分析
持続的なサービス提供のための計測と分析
 
プロダクトの方針(ロードマップ)決定に向けての 要素抽出・分類・分析 (主にツールとか)
プロダクトの方針(ロードマップ)決定に向けての 要素抽出・分類・分析 (主にツールとか)プロダクトの方針(ロードマップ)決定に向けての 要素抽出・分類・分析 (主にツールとか)
プロダクトの方針(ロードマップ)決定に向けての 要素抽出・分類・分析 (主にツールとか)
 
サービス開発における工程
サービス開発における工程サービス開発における工程
サービス開発における工程
 
人が作るソフトウェア 〜今組織パターンを読む意味〜
人が作るソフトウェア 〜今組織パターンを読む意味〜人が作るソフトウェア 〜今組織パターンを読む意味〜
人が作るソフトウェア 〜今組織パターンを読む意味〜
 
Visual Studio App Centerで始めるCI/CD
Visual Studio App Centerで始めるCI/CDVisual Studio App Centerで始めるCI/CD
Visual Studio App Centerで始めるCI/CD
 
プロジェクト管理支援環境の高度化に向けた取り組み
プロジェクト管理支援環境の高度化に向けた取り組みプロジェクト管理支援環境の高度化に向けた取り組み
プロジェクト管理支援環境の高度化に向けた取り組み
 
Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1
 
STAC2022 ローコード開発におけるテストピラミッド考察
STAC2022 ローコード開発におけるテストピラミッド考察STAC2022 ローコード開発におけるテストピラミッド考察
STAC2022 ローコード開発におけるテストピラミッド考察
 

ドメイン駆動設計におけるシナリオテストの活用