システム設計
ユーザーの質問に答える最小限のビューセットを作成します。正式な図では編集可能な .drawio を優先し、要求された表記法、フォーマット、コースのルーブリック、既存のファイルを尊重します。有効なXMLファイルであっても、それが正しいモデルであることの証明にはなりません。
ワークフロー
- 対象読者、システム境界、質問、シナリオ、抽象度を確定します。提供された要件/スキーマ/コードとルーブリックがあれば読み込みます。不確かな多重度、権限、ライフサイクルルール、外部インターフェースは仮定として記録し、回答を実質的に変更する場合にのみ質問します。インフラストラクチャや必須の関係をでっち上げないでください。
- 以下のルーティングテーブルを使用してビューを選択します。関連するリファレンスと
diagram-validation.mdのみを読み取ります。現状の証拠と提案された設計を区別します。複数の図で概念を共有する場合は、安定した概念IDを持つ小さな用語集を保持します。 - シェイプを配置する前に意味論的なインベントリを作成します:参加者/要素、方向とエンドポイントの意味を持つ関係、制約、要件ID。DFDの場合はフロー辞書と分解境界シグネチャを追加し、データモデルの場合はキーと依存関係を識別します。
- 図固有の描画手順に従います。表記法を明示的に設定します(例:UML 2、Crow's Foot、Gane–Sarson、コンテキスト図の後にレベル0図)。意味論的なルールと推奨されるレイアウトの選択を分離します。矛盾するソースは
sources.mdの説明に従って解決します。 - Draw.ioの場合は、
drawio-rendering.mdとlayout.mdを読みます。XMLシリアライザを使用して、安定したIDを持つネイティブのシェイプとコネクタを作成します。関連する例をコピーする場合は、そのドメインの事実を置き換えた後にのみ行います。他の形式についてはfallbacks.mdを読みます。 python3 <skill-dir>/scripts/validate_drawio.py <file-or-directory>を実行します。報告された構造エラーを修正します。意味論およびクロスビューのチェックリストを使用します:このスクリプトはUML、DFD、ERD、BPMNの正確性を証明できません。- diagrams.netで開く/インポートするか、利用可能なDraw.ioレンダラを使用してエクスポートします。すべてのページのラベル、矢印の端、クリッピング、コンテインメント、交差を検査し、調整して再度検査します。レンダラが機能しない場合は、編集可能なソースを提供し、レンダリングが未確認であることを明示的に報告します。XML解析を開閉性テストと呼んではいけません。
- ソースファイル、有用なプレビュー、簡単な検証/仮定のメモを提供します。どのチェックが実行されたかを正確に記述します。編集時には既存の手動レイアウトと無関係なページを保持し、古いプレビューを更新します。
リファレンスルーティング
| ユーザーの質問 | 読むべきもの |
|---|---|
| UMLの選択 / 表記法のベースライン | uml.md |
| アクターとユーザーゴール | use-case.md |
| ドメインまたはソフトウェア構造 | class-diagram.md |
| 共同作業者間の1シナリオ | sequence-diagram.md |
| ワークフロー、分岐、並行処理 | activity-diagram.md |
| 1エンティティのイベント駆動ライフサイクル | state-machine.md |
| インスタンス、リンク、モジュール、ランタイム配置 | structural-views.md |
| コミュニケーション、タイミング図、相互作用概要 | advanced-interactions.md |
| エンティティ、関係、リレーショナルスキーマ | erd.md, normalization.md |
| データフローと分解 | dfd.md, context-diagram.md |
| アーキテクチャレベル | c4-model.md |
| ビジネスコラボレーション/プロセス | bpmn.md |
| 単純な手順または責任の引き継ぎ | flowchart-swimlane.md |
| 出力生成 / 仕上げ | drawio-rendering.md, layout.md, fallbacks.md |
| レビュー / 多図一貫性 | diagram-validation.md |
| ソースの来歴 / エディション / 制限事項 | sources.md |
出力規則
ユーザーの指定パスを尊重します。それ以外の場合は docs/diagrams/<システム名>-<ビュー名>.drawio を使用し、可能であれば対応する .svg または .png プレビューを提供します。重要な仮定については <システム名>-assumptions.md を、多図監査については <システム名>-validation.md を使用します。一時的なエクスポートは最終成果物の外に保持します。独立して管理されるビューには別々のファイルを使用し、関連するセットには名前付きページを使用します。要求された正式な表記法を、黙って汎用フローチャートに置き換えないでください。
譲れないチェック項目
- モデルの事実は証拠またはラベル付けされた仮定から得られたものでなければなりません。
- エンドポイントの意味を確認してください。間違った方向を指す矢印でも構文的には有効なままです。
- DFDの矢印はデータを運び、UML/BPMNの制御フローは実行の意味を運びます。
- 外部キーや曖昧な「has-a」というフレーズからライフサイクルの所有権を推測しないでください。
- 関連する共有概念をレビューします。異なるスコープのビュー間で同一の内容を要求しないでください。
- 図は編集可能に保ってください。
.drawioファイルに埋め込まれた画像はネイティブ図ではありません。
例と実行可能なチェックは examples/ および scripts/ にあります。パッケージ固有のテスト証拠は TEST-REPORT.md にあります。