LESSON 15分

ストーリー

高橋アーキテクトが、壁一面のホワイトボードの前に立っていた。10ヶ月前には白紙だったそのボードには、無数のアーキテクチャ図が描かれていた。

高橋アーキテクト
ここまで来たな。API設計、データベース、セキュリティ、パフォーマンス…一つひとつの技術を積み上げてきた。今月は、それら全てを統合する
あなた
統合、ですか?
高橋アーキテクト
そうだ。個々の技術を知っていることと、それらを組み合わせてシステムを設計できることは全く違う。究極のシステム設計とは、全ての知識を適切に組み合わせる力だ

L2最終月。これまで学んだ全てを結集して、究極のシステムを設計する旅が始まります。


システム設計とは何か

システム設計の本質

システム設計とは、ビジネス要件を満たす技術的なソリューションを構築するプロセスです。

// システム設計の構成要素
interface SystemDesign {
  // 機能要件: 何をするか
  functionalRequirements: FunctionalRequirement[];
  // 非機能要件: どれくらいうまくやるか
  nonFunctionalRequirements: NonFunctionalRequirement[];
  // アーキテクチャ: どう構成するか
  architecture: Architecture;
  // データモデル: どうデータを扱うか
  dataModel: DataModel;
  // API設計: どうインターフェースを定義するか
  apiDesign: APIDesign;
  // 運用設計: どう運用するか
  operationalDesign: OperationalDesign;
}

interface NonFunctionalRequirement {
  category: 'availability' | 'performance' | 'scalability' | 'security' | 'maintainability';
  metric: string;       // 例: "p99 latency"
  target: string;       // 例: "< 200ms"
  priority: 'must' | 'should' | 'nice-to-have';
}

L2で学んだ技術の全体マップ

Month 1:  API設計とRESTful原則
Month 2:  データベース設計と正規化
Month 3:  認証・認可のアーキテクチャ
Month 4:  テスト戦略と品質保証
Month 5:  CI/CDとDevOps
Month 6:  パフォーマンスとスケーラビリティ
Month 7:  マイクロサービスと分散システム
Month 8:  クラウドネイティブ設計
Month 9:  セキュリティ設計
Month 10: 【今月】全てを統合する総合設計

設計者に求められる力

4つの設計能力

const ARCHITECT_CAPABILITIES = {
  // 1. 分析力: 曖昧な要件を構造化する
  analysis: {
    description: "曖昧なビジネス要件を技術要件に変換する",
    skills: ["要件定義", "ドメイン分析", "ステークホルダー管理"],
  },
  // 2. 設計力: 適切なアーキテクチャを選択する
  design: {
    description: "トレードオフを理解し最適な構成を決める",
    skills: ["パターン選択", "技術選定", "トレードオフ分析"],
  },
  // 3. 伝達力: 設計を他者に説明する
  communication: {
    description: "図やドキュメントで設計意図を共有する",
    skills: ["ダイアグラム作成", "ADR作成", "プレゼンテーション"],
  },
  // 4. 検証力: 設計が要件を満たすか確認する
  validation: {
    description: "設計の妥当性を多角的に検証する",
    skills: ["レビュー手法", "PoC実施", "リスク分析"],
  },
};

Month 10で学ぶこと

Stepテーマ学ぶこと
Step 1システム設計の総合力要件分析、非機能要件、設計フレームワーク
Step 2URL短縮&チャットシステム代表的Webサービスの設計ケーススタディ
Step 3大規模データ処理検索エンジン、レコメンデーション、分析基盤
Step 4ミッションクリティカル決済、予約、IoT、マルチリージョン
Step 5レビューとキャリアATAM、技術戦略、設計者のキャリアパス
Step 6最終試験グローバルECプラットフォーム設計&L2修了認定

まとめ

ポイント内容
統合力個々の技術を組み合わせてシステムを設計する力
4つの能力分析力・設計力・伝達力・検証力
Month 10の目標L2の総まとめとして究極のシステム設計に挑む
メンター高橋アーキテクトが最後の旅を導く

チェックリスト

  • システム設計の本質を理解した
  • L2で学んだ10ヶ月間の技術マップを確認した
  • 設計者に求められる4つの能力を把握した

次のステップへ

次は「要件分析からアーキテクチャへ」を学びます。曖昧なビジネス要件をどのように技術的なアーキテクチャに落とし込むのか、その体系的な方法を身につけましょう。


推定読了時間: 15分