Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「ソフトウェアアーキテクチャの基礎」を読む #ゆるWeb札幌
Search
Kihara, Takuya
PRO
June 27, 2022
Technology
0
440
「ソフトウェアアーキテクチャの基礎」を読む #ゆるWeb札幌
「ソフトウェアアーキテクチャの基礎」の紹介
Kihara, Takuya
PRO
June 27, 2022
Tweet
Share
More Decks by Kihara, Takuya
See All by Kihara, Takuya
雑食エンジニアの生きる道〜AI時代のこれから #seb_summit
tacck
PRO
1
79
それでは聞いてください「Impeller導入に失敗しました」 #FlutterKaigi #skia
tacck
PRO
0
430
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
600
Amazon Q Developer CLI でゲームと Amplify アプリを作ってみた #ゆるWeb札幌
tacck
PRO
0
57
ゆるWeb勉強会@札幌 #30 #ゆるWeb札幌
tacck
PRO
0
34
Flutter を始めよう! - Flutter の開発現場から
tacck
PRO
0
180
GitHub Actions で Flutter アプリの CI/CD をやってます #ゆるWeb札幌
tacck
PRO
0
440
ゆるWeb勉強会@札幌 #29 #ゆるWeb札幌
tacck
PRO
0
180
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
570
Other Decks in Technology
See All in Technology
「捨てる」を設計する
kubell_hr
0
240
Phase04_ターミナル基礎
overflowinc
0
2.3k
Datadog で実現するセキュリティ対策 ~オブザーバビリティとセキュリティを 一緒にやると何がいいのか~
a2ush
0
120
Phase06_ClaudeCode実践
overflowinc
0
2k
Phase09_自動化_仕組み化
overflowinc
0
1.7k
Astro Islandsの 内部実装を 「日本で一番わかりやすく」 ざっくり解説!
knj
1
280
JEDAI認定プログラム JEDAI Order 2026 受賞者一覧 / JEDAI Order 2026 Winners
databricksjapan
0
330
Laravelで学ぶOAuthとOpenID Connectの基礎と実装
kyoshidaxx
4
1.8k
AgentCoreとLINEを使った飲食店おすすめアプリを作ってみた
yakumo
2
240
韓非子に学ぶAI活用術
tomfook
2
550
夢の無限スパゲッティ製造機 #phperkaigi
o0h
PRO
0
360
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
qa
0
270
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Practical Orchestrator
shlominoach
191
11k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
SEO for Brand Visibility & Recognition
aleyda
0
4.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Code Reviewing Like a Champion
maltzj
528
40k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
410
A Soul's Torment
seathinner
5
2.5k
YesSQL, Process and Tooling at Scale
rocio
174
15k
GitHub's CSS Performance
jonrohan
1032
470k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
130
Transcript
ソフトウェア アーキテクチャの基礎 を読む ゆるWeb勉強会@札幌 / OnLine #19 2022/06/27 木原卓也 /
@tacck 1 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
私 • 名前 • 木原 卓也 / @tacck • 所属
• 生活協同組合コープさっぽろ デジタル推進本部 システム部 • 主催コミュニティ • ゆるWeb勉強会@札幌 • スマートスピーカーで遊ぼう会@札幌 (休眠中) • 参加コミュニティ • Amplify Japan User Group 運営 • AWS Community Builders Program (Q2 2021, 2022) • 好きなフィギュアスケートの技 • スプレッド・イーグル 2 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
お品書き • この話のターゲット • どんな本 • お勧めポイント • まとめ 3
ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
この話のターゲット • ソフトウェアアーキテクチャが気になる人 • ソフトウェアアーキテクチャをおさらいしたい人 • ソフトウェアアーキテクトという役割が気になる人 4 ゆるWeb勉強会@札幌 OnLine
#19 / #ゆるWeb札幌
どんな本 5 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
ソフトウェアアーキテクチャの基礎 • 原著: • Fundamentals of Software Architecture • Mark
Richards, Neal Ford • 翻訳: • 島田 浩二 (株式会社えにしテック) 6 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
レビュワーとして参加しました 7 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌 ソフトウェアアーキテクチャの基礎 p392「訳者あとがき」より
お勧めポイント 8 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
アーキテクトとしての知識を網羅 • ソフトウェアアーキテクチャの定義 • アーキテクチャの種類・知識 (アーキテクチャスタイル) • アーキテクチャ決定のための考え方 • アーキテクトとしてのソフトスキル
9 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
ソフトウェアアーキテクチャの定義 • システムの構造 • そのシステムを実装するアーキテクチャスタイル • アーキテクチャ特性 (イリティ -ility )
• 可用性 (availability)、信頼性 (Reliability) など • アーキテクチャ決定 • ルールや制約 (永続化層にアクセスできるのは〜〜層だけ、など) • 設計指針 • ガイドライン (最初に検討する選択肢) 10 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
アーキテクチャスタイル • レイヤードアーキテクチャ • パイプラインアーキテクチャ • マイクロカーネルアーキテクチャ • サービスベースアーキテクチャ •
イベント駆動アーキテクチャ • スペースベースアーキテクチャ • オーケストレーション駆動サービス指向アーキテクチャ • マイクロサービスアーキテクチャ 11 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
アーキテクチャスタイルの内容 • トポロジー • スタイル特有の用語や概念 • 事例 • アーキテクチャ特性の評価 12
ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
例:レイヤードアーキテクチャの特性評価 アーキテクチャ特性 星評価 分割タイプ 技術 量子数 1 デプロイ容易性 ★ 弾力性
★ 進化性 ★ 耐障害性 ★ モジュール性 ★ 全体的なコスト ★★★★★ パフォーマンス ★★ 信頼性 ★★★ スケーラビリティ ★ シンプルさ ★★★★★ テスト容易性 ★★ 13 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
アーキテクチャ決定のための考え方 • アーキテクチャスタイルの選択 • スタイルのトレンド、技術の変遷、組織的要因、など • アーキテクチャ上のリスク分析 • -ility を軸にリスクマトリクスを作成し分析
• リスクストーミング (複数人で実施して議論・合意形成) 「なぜそうした」がわかるようにする。 14 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
アーキテクトとしてのソフトスキル • 図解・プレゼンテーション • チームビルディング • 交渉とリーダーシップ アーキテクトはシステム全体に関わる役割。 開発者含めて関係者に「伝わる」ように。 15
ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
アーキテクチャの4つのC • コミュニケーション • Communication • 協調性 • Collaboration •
明瞭さ • Clarity • 簡潔さ • Conciseness 16 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
まとめ 17 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
まず 付録A を読む 自己評価のためのチェックリスト • 各章の内容を端的にまとめたチェックリスト • 自分の興味ある内容を見つけたり、 自分の知らないキーワードを見つけることができる。 •
気になったところから読むでも良いし、 「どのくらい知らないか」を知った状態で最初から読んでも良い。 18 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
オレはようやく のぼりはじめたばかりだからな このはてしなく遠い アーキテクト坂をよ... 19 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
終 20 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌