Skip to main content
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
EN
Upload
Download free for 30 days
Sign in
Uploaded by
増田 亨
PDF, PPTX
7,242 views
ソフトウェア開発のやり方の改善
要件定義・仕様化・実装の継ぎ目をなくす開発手法。 ビジネスロジックを軸に組み立てる。 値の種類(型)に注目してモジュール化する
Software
◦
Related topics:
Object-Oriented Programming
•
Read more
9
Save
Share
Embed
Save to Drive
Download now
Download as PDF, PPTX
1
/ 26
2
/ 26
Most read
3
/ 26
4
/ 26
5
/ 26
Most read
6
/ 26
7
/ 26
8
/ 26
9
/ 26
10
/ 26
Most read
11
/ 26
12
/ 26
13
/ 26
14
/ 26
15
/ 26
16
/ 26
17
/ 26
18
/ 26
19
/ 26
20
/ 26
More Related Content
PDF
3週連続DDDその3 ドメイン駆動設計 戦略的設計
by
増田 亨
89 slides
15.1K views
PDF
正しいものを正しく作る塾-設計コース
by
増田 亨
9 slides
10.3K views
PDF
ドメイン駆動設計サンプルコードの徹底解説
by
増田 亨
41 slides
22.2K views
PDF
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
45 slides
51.8K views
PDF
ドメイン駆動設計 基本を理解する
by
増田 亨
134 slides
119K views
PDF
ドメインオブジェクトの設計ガイドライン
by
増田 亨
10 slides
3.9K views
PDF
ソフトウェア設計の学び方を考える
by
増田 亨
39 slides
25.4K views
PDF
ドメイン駆動設計 の 実践 Part3 DDD
by
増田 亨
23 slides
9.2K views
3週連続DDDその3 ドメイン駆動設計 戦略的設計
by
増田 亨
89 slides
15.1K views
正しいものを正しく作る塾-設計コース
by
増田 亨
9 slides
10.3K views
ドメイン駆動設計サンプルコードの徹底解説
by
増田 亨
41 slides
22.2K views
ドメイン駆動設計 ( DDD ) をやってみよう
by
増田 亨
45 slides
51.8K views
ドメイン駆動設計 基本を理解する
by
増田 亨
134 slides
119K views
ドメインオブジェクトの設計ガイドライン
by
増田 亨
10 slides
3.9K views
ソフトウェア設計の学び方を考える
by
増田 亨
39 slides
25.4K views
ドメイン駆動設計 の 実践 Part3 DDD
by
増田 亨
23 slides
9.2K views
What's hot
PDF
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
by
増田 亨
43 slides
14.4K views
PDF
ドメイン駆動設計 本格入門
by
増田 亨
139 slides
46.9K views
PDF
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
by
Koichiro Matsuoka
65 slides
51.4K views
PDF
ドメイン駆動設計という設計スタイル
by
増田 亨
63 slides
17.7K views
PDF
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
by
Koichiro Matsuoka
153 slides
8.4K views
PDF
ドメインオブジェクトの見つけ方・作り方・育て方
by
増田 亨
95 slides
32.7K views
PDF
ドメイン駆動設計 失敗したことと成功したこと
by
BIGLOBE Inc.
45 slides
24.6K views
PDF
世界でいちばんわかりやすいドメイン駆動設計
by
増田 亨
44 slides
15.5K views
PDF
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
by
Koichiro Matsuoka
130 slides
24.4K views
PDF
ドメイン駆動で開発する ラフスケッチから実装まで
by
増田 亨
103 slides
16.2K views
PDF
ドメイン駆動設計 コアドメインを語り合ってみよう
by
増田 亨
24 slides
2.7K views
PDF
実践に向けたドメイン駆動設計のエッセンス
by
増田 亨
99 slides
26.3K views
PDF
ドメイン駆動設計に15年取り組んでわかったこと
by
増田 亨
21 slides
11.7K views
PDF
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
by
増田 亨
83 slides
31.1K views
PPTX
ドメイン駆動設計の学習曲線とブレークポイント
by
増田 亨
39 slides
8.4K views
PDF
開発速度が速い #とは(LayerX社内資料)
by
mosa siru
18 slides
71.3K views
PDF
ドメイン駆動設計の正しい歩き方
by
増田 亨
61 slides
26.1K views
PDF
マイクロサービス 4つの分割アプローチ
by
増田 亨
60 slides
44.8K views
PDF
ドメイン駆動設計のためのオブジェクト指向入門
by
増田 亨
89 slides
49.3K views
PDF
ドメイン駆動設計のための Spring の上手な使い方
by
増田 亨
55 slides
139.6K views
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
by
増田 亨
43 slides
14.4K views
ドメイン駆動設計 本格入門
by
増田 亨
139 slides
46.9K views
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
by
Koichiro Matsuoka
65 slides
51.4K views
ドメイン駆動設計という設計スタイル
by
増田 亨
63 slides
17.7K views
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
by
Koichiro Matsuoka
153 slides
8.4K views
ドメインオブジェクトの見つけ方・作り方・育て方
by
増田 亨
95 slides
32.7K views
ドメイン駆動設計 失敗したことと成功したこと
by
BIGLOBE Inc.
45 slides
24.6K views
世界でいちばんわかりやすいドメイン駆動設計
by
増田 亨
44 slides
15.5K views
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
by
Koichiro Matsuoka
130 slides
24.4K views
ドメイン駆動で開発する ラフスケッチから実装まで
by
増田 亨
103 slides
16.2K views
ドメイン駆動設計 コアドメインを語り合ってみよう
by
増田 亨
24 slides
2.7K views
実践に向けたドメイン駆動設計のエッセンス
by
増田 亨
99 slides
26.3K views
ドメイン駆動設計に15年取り組んでわかったこと
by
増田 亨
21 slides
11.7K views
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
by
増田 亨
83 slides
31.1K views
ドメイン駆動設計の学習曲線とブレークポイント
by
増田 亨
39 slides
8.4K views
開発速度が速い #とは(LayerX社内資料)
by
mosa siru
18 slides
71.3K views
ドメイン駆動設計の正しい歩き方
by
増田 亨
61 slides
26.1K views
マイクロサービス 4つの分割アプローチ
by
増田 亨
60 slides
44.8K views
ドメイン駆動設計のためのオブジェクト指向入門
by
増田 亨
89 slides
49.3K views
ドメイン駆動設計のための Spring の上手な使い方
by
増田 亨
55 slides
139.6K views
Similar to ソフトウェア開発のやり方の改善
PDF
博士論文公聴会
by
Makoto SAKAI
43 slides
4.1K views
PDF
ソフトウェア開発の現場風景
by
Koichi ITO
108 slides
4.2K views
PDF
Agile Estimating And Planning
by
Eiwa System Management, Inc.
102 slides
1.3K views
PDF
Software Engineering And Role of Agile
by
Kenji Hiranabe
50 slides
4.4K views
PDF
ビジネスとソフトウェア開発現場の架け橋 〜 なぜアジャイル? #AgileJapanOsaka
by
智治 長沢
43 slides
4.1K views
PDF
はじめてのアジャイル
by
Takao Kimura
64 slides
2.3K views
PPT
Visualizing Software Development
by
Kenji Hiranabe
45 slides
2K views
PDF
第2回 すくすく・スクラム
by
Kazumasa EBATA
42 slides
938 views
PDF
協創型ソフトウェア開発 ガイダンス資料
by
Yoshihide Chubachi
33 slides
891 views
PPTX
Rx t study130216
by
Noriaki Koeda
27 slides
1.2K views
PDF
三島teNet第9回ワークショップ アジャイルな開発とは(公開版)
by
Yasui Tsutomu
81 slides
3.1K views
PDF
要求開発×アジャイル開発のポイント
by
ESM SEC
25 slides
4.1K views
PDF
20151127 Agile Japan ビギナー向けセミナー
by
麻記子 中佐藤
42 slides
51 views
PDF
アジャイルと私
by
Hajime Yanagawa
64 slides
1.1K views
PPT
レガシーコード読書会 20120618
by
Suguru Shirai
73 slides
1.1K views
PPTX
20151127 agile japanpreseminar_公開用
by
Makiko Nakasato
42 slides
567 views
PDF
IT新市場開拓プロジェクトにおけるアジャイル開発 part1
by
Masayuki Yamaguchi
51 slides
1.7K views
PDF
Agile japan2010 rakuten様プレゼン資料
by
Akiko Kosaka
32 slides
1.8K views
PDF
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
by
Hironori Washizaki
23 slides
3.9K views
PDF
地図を捨ててコンパスを頼りに進め
by
Dai FUJIHARA
84 slides
7.5K views
博士論文公聴会
by
Makoto SAKAI
43 slides
4.1K views
ソフトウェア開発の現場風景
by
Koichi ITO
108 slides
4.2K views
Agile Estimating And Planning
by
Eiwa System Management, Inc.
102 slides
1.3K views
Software Engineering And Role of Agile
by
Kenji Hiranabe
50 slides
4.4K views
ビジネスとソフトウェア開発現場の架け橋 〜 なぜアジャイル? #AgileJapanOsaka
by
智治 長沢
43 slides
4.1K views
はじめてのアジャイル
by
Takao Kimura
64 slides
2.3K views
Visualizing Software Development
by
Kenji Hiranabe
45 slides
2K views
第2回 すくすく・スクラム
by
Kazumasa EBATA
42 slides
938 views
協創型ソフトウェア開発 ガイダンス資料
by
Yoshihide Chubachi
33 slides
891 views
Rx t study130216
by
Noriaki Koeda
27 slides
1.2K views
三島teNet第9回ワークショップ アジャイルな開発とは(公開版)
by
Yasui Tsutomu
81 slides
3.1K views
要求開発×アジャイル開発のポイント
by
ESM SEC
25 slides
4.1K views
20151127 Agile Japan ビギナー向けセミナー
by
麻記子 中佐藤
42 slides
51 views
アジャイルと私
by
Hajime Yanagawa
64 slides
1.1K views
レガシーコード読書会 20120618
by
Suguru Shirai
73 slides
1.1K views
20151127 agile japanpreseminar_公開用
by
Makiko Nakasato
42 slides
567 views
IT新市場開拓プロジェクトにおけるアジャイル開発 part1
by
Masayuki Yamaguchi
51 slides
1.7K views
Agile japan2010 rakuten様プレゼン資料
by
Akiko Kosaka
32 slides
1.8K views
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
by
Hironori Washizaki
23 slides
3.9K views
地図を捨ててコンパスを頼りに進め
by
Dai FUJIHARA
84 slides
7.5K views
More from 増田 亨
PDF
事業活動モデル・システム機能モデル・ビジネスロジックの記述
by
増田 亨
7 slides
1.7K views
PDF
オブジェクト指向プログラミングの現在・過去・未来
by
増田 亨
39 slides
7.1K views
PDF
プロダクトづくりのためのソフトウェア設計スタイル
by
増田 亨
29 slides
4.7K views
PDF
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
by
増田 亨
38 slides
3.8K views
PDF
ビジネスルールの複雑さに立ち向かう
by
増田 亨
53 slides
12.6K views
PDF
ソフトウェアの核心にある複雑さに立ち向かう
by
増田 亨
65 slides
11.1K views
PDF
DDD sample code explained in Java
by
増田 亨
24 slides
22.4K views
PDF
アジャイルなソフトウェア設計を目指して
by
増田 亨
94 slides
12.3K views
PDF
ドメイン駆動設計をゲーム開発に活かす
by
増田 亨
45 slides
5.2K views
PDF
SoR 2.0 summary
by
増田 亨
8 slides
1.4K views
PDF
毎日が越境だ!
by
増田 亨
51 slides
10.6K views
PDF
SoR 2.0 基幹システムの再定義と再構築
by
増田 亨
58 slides
9.4K views
PDF
ドメイン駆動設計とは何か 【入門編】
by
増田 亨
40 slides
13.6K views
PDF
越境する情シス:進化可能なアーキテクチャを手に入れる
by
増田 亨
31 slides
5.9K views
PDF
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
by
増田 亨
28 slides
4K views
PDF
現場で役立つシステム設計の原則
by
増田 亨
11 slides
8.9K views
PDF
現場で役立つシステム設計の原則
by
増田 亨
21 slides
6.7K views
事業活動モデル・システム機能モデル・ビジネスロジックの記述
by
増田 亨
7 slides
1.7K views
オブジェクト指向プログラミングの現在・過去・未来
by
増田 亨
39 slides
7.1K views
プロダクトづくりのためのソフトウェア設計スタイル
by
増田 亨
29 slides
4.7K views
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
by
増田 亨
38 slides
3.8K views
ビジネスルールの複雑さに立ち向かう
by
増田 亨
53 slides
12.6K views
ソフトウェアの核心にある複雑さに立ち向かう
by
増田 亨
65 slides
11.1K views
DDD sample code explained in Java
by
増田 亨
24 slides
22.4K views
アジャイルなソフトウェア設計を目指して
by
増田 亨
94 slides
12.3K views
ドメイン駆動設計をゲーム開発に活かす
by
増田 亨
45 slides
5.2K views
SoR 2.0 summary
by
増田 亨
8 slides
1.4K views
毎日が越境だ!
by
増田 亨
51 slides
10.6K views
SoR 2.0 基幹システムの再定義と再構築
by
増田 亨
58 slides
9.4K views
ドメイン駆動設計とは何か 【入門編】
by
増田 亨
40 slides
13.6K views
越境する情シス:進化可能なアーキテクチャを手に入れる
by
増田 亨
31 slides
5.9K views
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
by
増田 亨
28 slides
4K views
現場で役立つシステム設計の原則
by
増田 亨
11 slides
8.9K views
現場で役立つシステム設計の原則
by
増田 亨
21 slides
6.7K views
ソフトウェア開発のやり方の改善
1.
ソフトウェア開発のやり方の改善 2020年7月30日(木曜日) 有限会社 システム設計 代表 増田
亨 a better way of developing software
2.
CCSR手法 C : Continuous(継続的) C
: Concurrent(並行的) SR : Stepwise Refinement (段階的改善) 2020/7/30 2
3.
ソフトウェア開発の現状 膨大な時間とコストをかけて 品質の悪いドキュメントとコードを量産 地図も羅針盤も六分儀も持たず 場あたり的な開発の繰り返し 複雑怪奇 変更がやっかいで危険な ソフトウェア 2020/7/30 3
4.
ソフトウェアの状況 複雑怪奇 変更がやっかいで危険 全体像がわからない 全体が見通せない つながりが見えない つながりが予想外 軸・中心がわからない 大きな固まり 2020/7/30 4
5.
改善の三つの着眼点 開発者が主体的に ➢ 全体像の認識合わせ ➢ つながりを確かめ整える ➢
軸を強化し、周辺を広げる コードに責任を持つ ・全体に興味を持つ ・俯瞰図を眺めて、方向と関係を確認する習慣 ・俯瞰図を自分で描いて説明する練習 ・つながりに興味を持つ ・つながりを確認する習慣 ・不要なつながりを取り除く習慣 ・軸を中心に考える習慣 ・広げるまえに軸を強化する習慣 ・広げたら、さらに軸を補強する習慣 この三つに取り組むと、見通しのよい、構造が安定し、変更が楽で安全なソフトウェアを生み出せる CCSR手法は、この改善活動を現場に導入し実践するための手引きとヒント 2020/7/30 5
6.
改善のアプローチ ① 要件定義・仕様化・実装の継ぎ目をなくす ② ビジネスロジックを軸に組み立てる ③
値の種類(型)でモジュール化する 2020/7/30 6
7.
① 要件定義・仕様化・実装の継ぎ目をなくす ふわふわした 要求 複雑怪奇な 実装 質の高い要件定義 しっかり設計された 実装 明確な仕様の記述断片的で あやしげな 変換ゲーム つながりの軸 2020/7/30 7
8.
① 要件定義・仕様化・実装の継ぎ目をなくす 質の高い要件定義 しっかり設計された 実装 仕様を明確に記述 RDRA 2.0
・要件の可視化と認識合わせ ・つながりによる整合性 Javaで記述 JIGで可視化 ・RDRAモデルとの直接的なマッピング ・ソフトウェア仕様を型式的に記述 ・IDEで入力補完・リファクタリング・インスペクション 実装パターン フレームワーク ・型の定義をそのままクラスとして実装 ・ビジネスロジックの実装パターン ・ドメインオブジェクトと外部形式のマッピングメカニズム 2020/7/30 8
9.
② ビジネスロジックを軸に組み立てる 三層+ビジネスロジック プレゼンテーション層 アプリケーション層 データソース層 ビジネスロジック ビジネスルールの オブジェクト表現 ドメインオブジェクトの永続化 記録と参照 計算判断の実行 外部形式と ドメインオブジェクトの マッピング 2020/7/30 9
10.
② ビジネスロジックを軸に組み立てる アプリケーション ビジネス ロジック 事業活動 ビジネス ルール ビジネスモデル 事業方針 つながりで理解する ビジネスルールの理由を ざっくりと理解する 要件定義の軸として ビジネスルールに 焦点を合わせる ビジネスルールの オブジェクト表現 ビジネスルールで扱う 値の種類(型)に注目して 仕様化と実装を行う 2020/7/30 10
11.
③ 値の種類(型)でモジュール化する ファクト ロジック
リザルト ビジネスで起こったことや 現在の状態を表現する さまざまな値(型) 計算・判断の式 計算・判断の結果を表現する さまざまな値(型) 2020/7/30 11 ビジネスルール表現の3要素
12.
カプセル化 ③ 値の種類(型)でモジュール化する ファクト ロジック
リザルト ビジネスで起こったことや 現在の状態を表現する さまざまな値(型) 計算・判断の式 計算・判断の結果を表現する さまざまな値(型) メソッドの返す型メソッドフィールドと引数 ビジネスルールをカプセル化して アプリケーション固有の型を定義 → 変更が楽で安全になる 2020/7/30 12
13.
2020/7/30 13 CCSR手法の試行・導入・実践
14.
手法とツール CCSRハンドブック 初伝・中伝・奥伝 パターンカタログ 俯瞰図・詳細図 要件定義ツール Enterprise Architect + RDRA
アドイン 仕様記述ツール IntelliJ IDEA + JIG プラグイン 参照実装 ・図書館システム ・ビジネスロジックパターン ・オブジェクトマッピング プロセスの概要 技法の解説 実践のヒント githubで公開中 ビジネスプロセス、 システム機能、 型の設計パターン 入力補完 可視化 リファクタリング インスペクション ブラウザで利用 AppStream 2020/7/30 14
15.
CCSR 導入と実践の支援 正しいものを正しく作る塾 第2シーズン 9月開講 (個人・法人) CCSR
ラーニング リモート稽古 (個人) ワークショップ (法人) OJT(実案件) (法人) 稽古相手と稽古の場の提供 (マンツーマン/小人数) 2020/7/30 15
16.
CCSR手法の導入と実践 C : Continuous(継続的) C
: Concurrent(並行的) SR : Stepwise Refinement (段階的改善) 2020/7/30 16 ソースコード全体 開発活動全体 個人のスキル チームの振る舞い
17.
CCSR手法 ハンドブックとパターンカタログの紹介 2020/7/30 17
18.
要件定義・仕様化・実装が 連動した開発活動 ハンドブックは、このプロセスで 開発を進めるための技法や指針 を説明 2020/7/30 18
19.
事業活動モデルの基本要素 アクタ リソース プロセス ・意思のある行動主体 ・嗜好のある判断主体 ・行動履歴 ・顧客 ・サプライヤ ・従業員 ・物品 ・場所 ・人 ・時間 ・イベント連鎖 ・約束と履行 ・予定と実施 ・現在のリソース ・将来のリソース ・起きたこと ・起きるべきこと 2020/7/30 19
20.
売買契約の 獲得 調達の予定 提供能力の 維持 ・注文 ・予約 ・販促 ・引合 ・条件提示 ・合意 契約の履行 調達の進捗 ・物品 ・サービス ・仕入 ・生産 ・提供 ・回収 ・受入 ・支払 顧客支援の 活動 6つの主活動 ・相談 ・連絡 ・報告 ・納期回答 ・提供可否 ・利用可否 2020/7/30 20
21.
管理番号の発番 (registration) 中核機能 アカウント open() close() suspend() isAlive() ・アクタ ・リソース ・プロセス ・値(value)の変化の発生 ・状態(status)の変化の発生 起きたこと or
起きるべきこと イベント発生の 記録 履歴から 状態の導出 ・現在 or 将来の値(value)の導出 ・現在 or 将来の状態(status)の導出 ビジネスロジック (計算・判断) 値/状態を使った ビジネスルール基づく計算・判断通知(notification) 備考(remarks)の記録・参照 パフォーマンス測定 監査ログ 実体化(materialize) 可視化(visualize) ・締め処理 ・請求 ・査定 ・一覧(選択・順序) ・詳細表示 システム機能のモデル 事業活動が異なっても、 これらの要素の組み合わせで実現する 連携(invocation/queueing) 認可 2020/7/30 21認証
22.
ビジネスロジックを表現する値の種類と操作のパターン(型の設計パターン) 金額 数量 単位
換算率 日付 日数 期間 帯域 (band) 時刻 時間数 時間帯 識別番号 ・ビジネスルールを記述するための基本語彙 ・型(もっとも軽量な形式手法)で仕様を記述する(手続き的プログラミングをやらない) ・引数と返す型を明示して、契約による設計を徹底する(防御的プログラミングをやらない) ・すべてイミュータブル(不変)にして挙動を安定させる(テストを減らす) 生成・比較・文字列表記 加減乗除・比較・min/max・文字列表記 加減乗除・比較・min/max・文字列表記 区分 種類 タイプ カテゴリ 分類・一致/不一致・分岐処理 識別名 グループ リスト セット マップ (写像) 集合操作・集約演算・検査 2020/7/30 22
23.
要件定義と仕様記述の 可視化サンプル 2020/7/30 23
24.
RDRA 要件定義:軸となるビジネスルールの可視化 ユースケース複合図状態遷移(ユースケース付き) 2020/7/30 24
25.
ソースコードから実装の中核を可視化 application/service/* domain/model/* 2020/7/30 25 JIGでソースコードから自動生成
26.
三層+ビジネスロジックの可視化 プレゼンテーション層 presentation/* アプリケーション層 application/* データソース層 datasource/* ビジネスロジック層 domain/model/* 2020/7/30 26 JIGでソースコードから自動生成