リスクベース・ティアリング (Risk-Based Tiering)スキル
設計対象の「実装を間違えるリスク」を評価し、記述の詳細度(Tier)を決定する。
リスク評価基準
以下のいずれかに該当する場合、Tierを1段階引き上げる。
- •ロジックの複雑性: 複数の状態遷移や複雑なアルゴリズムを含む。
- •資源制約の厳しさ: メモリ/実行速度の制約が極めて厳しい(例:JITエンジン)。
- •副作用の大きさ: 誤った実装がシステム全体の崩壊やセキュリティリスクに直結する(例:メモリ管理)。
Tier定義
| Tier | 対象リスク | 必須記述項目 | 狙い |
|---|---|---|---|
| Tier 1 (Basic) | 低 | 概要、公開API(Contract)、主要シーケンス | 「何をするか」の合意 |
| Tier 2 (Structural) | 中 | Tier 1 + 具体的な構成要素、内部構造、状態遷移図 | 「内部構造」の誤解防止 |
| Tier 3 (Verification) | 高 | Tier 2 + 直交表、デコンポジション、コンセプトコード | 「論理的破綻」の排除 |
詳細基準
Tier 2: 構成要素 (Constituents)
- •クラス、構造体、データ配置などの具体的な静的要素を列挙する。
- •抽象的な役割だけでなく、不変条件(Invariants)を維持するために必要な具体的プロパティを記述する。
Tier 3: 検証 (Verification)
- •直交表: API引数や内部状態の組み合わせを網羅し、期待される挙動に矛盾がないか検証する。
- •コンセプトコード: C++のロジックを概念的にPython等で記述し、論理的なデッドロックや境界条件のミスがないか確認する。