アプリケーションと設計
ページ一覧
- ソフトウェア工学
- プロダクト開発と要件定義
- アジャイル開発
- UI/UX
- システム設計
- アプリケーションアーキテクチャ
- ドメイン駆動設計
- API設計と認証
- イベント駆動設計
- テストとTDD
- リファクタリング
- クラウドとプラットフォームアーキテクチャ
- SRE
- オブザーバビリティとモニタリング
- セキュリティ
- Webセキュリティ
このセクションで扱うこと
アプリケーションと設計は、ソフトウェアを価値ある形で作り、変更し続けるためのセクションです。要件定義、UI/UX、設計、テスト、セキュリティ、運用は分業されがちですが、実際のプロダクトでは互いに強く影響します。
このセクションでは、コードを書く前の判断から、リリース後の監視・改善までを一つの流れとして扱います。特定のフレームワークの使い方ではなく、どの技術を選んでも残る設計上の問いを中心に整理します。
flowchart LR
A["要求と価値"] --> B["設計"]
B --> C["実装"]
C --> D["テスト"]
D --> E["リリース"]
E --> F["運用"]
F --> G["観測と学習"]
G --> A
B --> H["セキュリティ"]
F --> I["信頼性"]
読み進め方
全体像をつかむなら ソフトウェア工学、プロダクト開発と要件定義、アジャイル開発 から読むと、なぜ設計やテストが必要になるのかが見えやすくなります。
実装設計に関心がある場合は、システム設計、アプリケーションアーキテクチャ、ドメイン駆動設計、API設計と認証 へ進むのがおすすめです。
要求と価値を起点に読む
- ソフトウェア工学: 要件、設計、品質、保守を一つの工学的な流れとして理解します。
- プロダクト開発と要件定義: 誰のどんな問題を解くのかを、仕様に落とし込む考え方を扱います。
- アジャイル開発: 変化を前提に、小さく学習しながら進める開発の考え方を整理します。
- UI/UX: 使う人の行動、認知、体験から設計を考えます。
設計と実装を中心に読む
- システム設計: 非機能要件、スケーラビリティ、障害、データ設計を扱います。
- アプリケーションアーキテクチャ: レイヤ、依存関係、境界、変更容易性を整理します。
- ドメイン駆動設計: 業務知識をモデル化し、言葉と構造を一致させる方法を学びます。
- API設計と認証: APIの境界、認証、認可、互換性を扱います。
- イベント駆動設計: イベント、非同期処理、疎結合な連携の考え方を見ます。
品質と運用を中心に読む
- テストとTDD: テストを品質、設計、変更容易性の観点から扱います。
- リファクタリング: ふるまいを保ちながら構造を改善する方法を整理します。
- クラウドとプラットフォームアーキテクチャ: クラウド、PaaS、IaC、運用基盤を扱います。
- SRE: 信頼性、SLO、エラーバジェット、トイルを理解します。
- オブザーバビリティとモニタリング: ログ、メトリクス、トレースからシステムを観測します。
- セキュリティ: 脅威、リスク、設計上の防御を扱います。
- Webセキュリティ: ブラウザ、HTTP、認証、攻撃パターンを実務の観点から整理します。
まとめ
アプリケーション設計は、きれいな図を作ることではなく、変化する要求の中で価値を届け続けるための判断です。要求、設計、実装、テスト、運用を分断せずに読むと、なぜその技術や開発手法が必要なのかが見えやすくなります。