STRIDE脅威モデリング

6分類で脅威を体系的に洗い出すセキュリティ

新システムのセキュリティ設計 脅威の網羅的洗い出し セキュリティレビューの体系化
難易度 ⏱ 30分〜1時間

オッカムの剃刀(デザイン)

同じ目的を達成できるなら最もシンプルな解決策を選ぶオッカムの剃刀をUI設計に応用するフレームワーク。認知負荷を減らし、ヒックの法則やKISS原則と組み合わせたUI簡素化の手順を解説。

UI簡素化 機能の取捨選択 新規画面の設計方針
難易度 ⏱ 1〜2時間(UI簡素化レビュー)

コマンドクエリ分離原則(CQS)

副作用のある操作と問い合わせを分離する

API設計 ドメインモデル設計 スケーラビリティ改善
難易度 ⏱ 30分〜1時間

シュナイダーマンの8原則

インターフェース設計の8つの黄金ルールで、使いやすいUIの基盤を作る

UI設計のチェックリスト デザインレビュー ジュニアデザイナーの教育
難易度 ⏱ 理解に15分、実践は継続

ポカヨケ設計(詳細)

ヒューマンエラーを物理的・構造的に防止する仕組み設計

製品・UIのエラー防止設計 製造工程のミス削減 業務プロセスの品質向上
難易度 ⏱ 1〜3時間(エラー分析→対策設計)

API設計原則

使いやすく、一貫性があり、拡張可能なAPIを設計するための原則とベストプラクティス

REST API の設計 マイクロサービス間のインターフェース設計 外部公開APIの設計
難易度 ⏱ 設計に1〜3日

DRY原則

Don't Repeat Yourself — 同じ知識やロジックを2箇所以上に書かず、一元管理するための原則

コードの重複排除 保守性の向上 バグの予防
難易度 ⏱ 即日適用可能

KISS原則

Keep It Simple, Stupid — 不必要な複雑さを排除し、できるだけシンプルな設計を目指す原則

設計のシンプル化 コードの可読性向上 過剰設計の防止
難易度 ⏱ 即日適用可能

SOLID原則

オブジェクト指向設計の5つの基本原則で、変更に強く拡張しやすいコードを書くためのガイドライン

クラス設計の改善 コードの保守性向上 リファクタリングの指針
難易度 ⏱ 理解に1〜2週間、実践は継続的

データベース設計

データの整合性、パフォーマンス、拡張性を兼ね備えたデータベースを設計するための原則と手法

新規システムのDB設計 既存DBの正規化・非正規化 パフォーマンスチューニング
難易度 ⏱ 設計に1〜5日

クリーンアーキテクチャ

依存関係を内側に向けることで、変更に強く保守しやすいシステムを設計するアーキテクチャパターン

中〜大規模アプリケーションの設計 テスタビリティの向上 フレームワーク依存の排除
難易度 ⏱ 設計に1〜2週間

セキュリティバイデザイン

開発の最初からセキュリティを組み込み、後付けではなく設計段階で脆弱性を防ぐアプローチ

安全なシステム設計 脆弱性の予防的対策
難易度 ⏱ プロジェクト全期間を通じて適用

ソフトウェアアーキテクチャパターン

システム全体の構造を決定する代表的なアーキテクチャパターンの概要と選定指針

新規システムのアーキテクチャ選定 既存システムのリアーキテクト判断
難易度 ⏱ 学習に1〜2週間

ドメイン駆動設計(DDD)

ビジネスドメインの知識を中心にソフトウェアを設計し、ビジネスとコードの距離を縮める手法

複雑なビジネスロジックのモデリング チーム間の共通言語の構築 マイクロサービスの境界設計
難易度 ⏱ 習得に数ヶ月、継続的に改善

ヘキサゴナルアーキテクチャ

ポートとアダプターで外部依存を切り離し、ビジネスロジックを中心に据えるアーキテクチャ

テスタブルな設計 外部依存の切り離し
難易度 ⏱ 設計に1〜2週間