ビジネスコンテキストフロー(業務像モデル)を作成
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
MSP計画に基づいて要求分析ツリーの優先要素を色分けハイライト表示
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
追加指示(引数): $ARGUMENTS
MSP(Minimum Sellable Product)計画で特定された優先要素を、要求分析ツリーのDrawIOモデル上で色分けハイライト表示します。
目的:
前提条件:
/msp-plan が実行済みであるoutput/requirement-tree.json が存在するoutput/msp-plan.md が存在するoutput/drawio/requirement-tree.drawio が存在する| 優先度 | 対象 | fillColor | strokeColor |
|---|---|---|---|
| 必須要件(Must Have) | IT要求・活動・業務要求・目的 | #DC143C(クリムゾン) | #8B0D1C(濃いクリムゾン) |
| 差別化要件(Should Have) | IT要求・活動・業務要求・目的 | #4169E1(ロイヤルブルー) | #1E3A8A(濃いロイヤルブルー) |
| 変更なし | ビジョン・コンセプト | - | - |
重要:
Glob ツールで以下のファイルの存在を確認する:
input/idea.md(必須)output/requirement-tree.json(必須)output/msp-plan.md(必須)output/drawio/requirement-tree.drawio(必須)存在しない場合は、先に該当するコマンドを実行するようユーザーに通知する。
output/drawio/requirement-tree.drawio が存在することを確認する(このコマンドは既存ファイルを上書き更新するため、削除不要)。
Read ツールで以下を読み込む:
output/msp-plan.md - MSP計画(優先要素の特定に使用)output/requirement-tree.json - 要求分析ツリーの構造データ(階層関係の把握に使用)Read ツールで以下を読み込む:
output/drawio/requirement-tree.drawio - DrawIOファイルoutput/msp-plan.md を分析し、以下の2つのカテゴリに分類する:
「必須要件(Must Have)」セクションから以下を抽出:
「差別化要件(Should Have)」セクションから以下を抽出:
output/requirement-tree.json を使用して、MSP要素の上位階層を特定する:
必須要件(Must Have)の上位要素:
差別化要件(Should Have)の上位要素:
重要: 色分けは以下の順序で処理し、必須要件を優先する:
Pythonスクリプトを使用してDrawIOファイルのXMLを編集する:
import re
# ファイルを読み込み
with open('output/drawio/requirement-tree.drawio', 'r', encoding='utf-8') as f:
content = f.read()
# 必須要件(Must Have)の要素IDリスト(IT要求、活動、業務要求、目的)
must_have_ids = set([
# ここにMSP計画から抽出した必須要件の要素IDを列挙
# 例: "it1_2_1", "act1_1_1", "br1_2_1", "obj1_2"
])
# 差別化要件(Should Have)の要素IDリスト(IT要求、活動、業務要求、目的)
# 注意: must_have_idsに含まれるIDは除外すること
should_have_ids = set([
# ここにMSP計画から抽出した差別化要件の要素IDを列挙
# 例: "it2_2_1", "act1_3_4", "br2_2_1", "obj2_2"
])
# 差別化要件から必須要件と重複するIDを除外(必須要件を優先)
should_have_ids = should_have_ids - must_have_ids
def get_id(line):
"""id属性を取得"""
match = re.search(r'id="([^"]+)"', line)
return match.group(1) if match else ""
def update_colors(line, fill_color, stroke_color):
"""色を更新"""
if 'fillColor=#' in line:
line = re.sub(r'fillColor=#[a-fA-F0-9]+', f'fillColor={fill_color}', line)
if 'strokeColor=#' in line:
line = re.sub(r'strokeColor=#[a-fA-F0-9]+', f'strokeColor={stroke_color}', line)
return line
# 行ごとに処理
lines = content.splitlines()
new_lines = []
for line in lines:
if 'mxCell' in line and 'id=' in line:
cell_id = get_id(line)
# ビジョンとコンセプトはスキップ
if cell_id == "vision" or cell_id.startswith("concept"):
new_lines.append(line)
continue
# 必須要件(クリムゾン)を先に処理
if cell_id in must_have_ids:
line = update_colors(line, "#DC143C", "#8B0D1C")
# 差別化要件(ロイヤルブルー)は必須要件に含まれない場合のみ
elif cell_id in should_have_ids:
line = update_colors(line, "#4169E1", "#1E3A8A")
new_lines.append(line)
content = '\n'.join(new_lines)
# 結果を出力
with open('output/drawio/requirement-tree.drawio', 'w', encoding='utf-8') as f:
f.write(content)
変更例:
<!-- 変更前(通常の業務要求) -->
<mxCell id="xxx" value="対象の業務要求名" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" ...>
<!-- 変更後(必須要件 - クリムゾン) -->
<mxCell id="xxx" value="対象の業務要求名" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DC143C;strokeColor=#8B0D1C;" ...>
<!-- 変更後(差別化要件 - ロイヤルブルー) -->
<mxCell id="xxx" value="対象の業務要求名" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#4169E1;strokeColor=#1E3A8A;" ...>
Pythonスクリプト内でファイルを直接更新する。
Glob ツールで output/drawio/requirement-tree.drawio の存在を確認。
ファイルが存在しない場合は、手順6に戻り再実行する。
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
ビジネスコンテキストフロー(業務像モデル)を作成
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
共通手順
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
活動を作る時の観点を説明する
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
ビジネスコンテキストフローを作る時の観点を説明する
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
業務要求を作る時の観点を説明する
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
言葉(キャッチコピー)を作る時の観点を説明する
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.