speccrew 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.speccrew/agents/speccrew-feature-designer.md +142 -0
- package/.speccrew/agents/speccrew-product-manager.md +61 -0
- package/.speccrew/agents/speccrew-system-designer.md +200 -0
- package/.speccrew/agents/speccrew-system-developer.md +238 -0
- package/.speccrew/agents/speccrew-task-worker.md +80 -0
- package/.speccrew/agents/speccrew-team-leader.md +92 -0
- package/.speccrew/agents/speccrew-test-manager.md +313 -0
- package/.speccrew/skills/speccrew-create-agents/SKILL.md +98 -0
- package/.speccrew/skills/speccrew-create-agents/templates/agents/designer-agent.md +54 -0
- package/.speccrew/skills/speccrew-create-agents/templates/agents/dev-agent.md +79 -0
- package/.speccrew/skills/speccrew-create-agents/templates/agents/test-agent.md +80 -0
- package/.speccrew/skills/speccrew-dev-backend/SKILL.md +205 -0
- package/.speccrew/skills/speccrew-dev-backend/templates/TASK-RECORD-TEMPLATE.md +118 -0
- package/.speccrew/skills/speccrew-dev-desktop/SKILL.md +258 -0
- package/.speccrew/skills/speccrew-dev-desktop/templates/TASK-RECORD-TEMPLATE.md +161 -0
- package/.speccrew/skills/speccrew-dev-frontend/SKILL.md +202 -0
- package/.speccrew/skills/speccrew-dev-frontend/templates/TASK-RECORD-TEMPLATE.md +115 -0
- package/.speccrew/skills/speccrew-dev-mobile/SKILL.md +200 -0
- package/.speccrew/skills/speccrew-dev-mobile/templates/TASK-RECORD-TEMPLATE.md +125 -0
- package/.speccrew/skills/speccrew-fd-api-contract/SKILL.md +73 -0
- package/.speccrew/skills/speccrew-fd-api-contract/templates/API-CONTRACT-TEMPLATE.md +96 -0
- package/.speccrew/skills/speccrew-fd-feature-design/SKILL.md +395 -0
- package/.speccrew/skills/speccrew-fd-feature-design/templates/FEATURE-SPEC-TEMPLATE.md +387 -0
- package/.speccrew/skills/speccrew-get-timestamp/SKILL.md +80 -0
- package/.speccrew/skills/speccrew-get-timestamp/scripts/get-timestamp.js +35 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/SKILL.md +1116 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-FASTAPI.md +462 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-JAVA.md +480 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE-NET.md +464 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/FEATURE-DETAIL-TEMPLATE.md +480 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/templates/MODULE-OVERVIEW-TEMPLATE.md +367 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/SKILL.md +667 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/STATUS-FORMATS.md +74 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/batch-orchestrator.js +176 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-next-batch.js +150 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-pending-features.js +106 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/mark-stale.js +249 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/process-batch-results.js +848 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/update-feature-status.js +226 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/SKILL.md +264 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/examples/features.json +34 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/generate-inventory.js +867 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/test-inventory.js +26 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/SKILL.md +165 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/apply-module-mapping.js +208 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/extract-module-summary.js +180 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/scripts/reindex-modules.js +358 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/SKILL.md +1055 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-DESKTOP.md +303 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-ELECTRON.md +327 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-MINIAPP.md +292 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI-MOBILE.md +281 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/templates/FEATURE-DETAIL-TEMPLATE-UI.md +324 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/SKILL.md +270 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/COMPONENT-PATTERN-TEMPLATE.md +33 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/LAYOUT-PATTERN-TEMPLATE.md +33 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/templates/PAGE-TYPE-TEMPLATE.md +33 -0
- package/.speccrew/skills/speccrew-knowledge-graph-query/SKILL.md +229 -0
- package/.speccrew/skills/speccrew-knowledge-graph-query/scripts/graph-query.js +549 -0
- package/.speccrew/skills/speccrew-knowledge-graph-write/SKILL.md +181 -0
- package/.speccrew/skills/speccrew-knowledge-graph-write/scripts/graph-write.js +651 -0
- package/.speccrew/skills/speccrew-knowledge-module-summarize/SKILL.md +305 -0
- package/.speccrew/skills/speccrew-knowledge-module-summarize/templates/MODULE-OVERVIEW-TEMPLATE.md +400 -0
- package/.speccrew/skills/speccrew-knowledge-system-summarize/SKILL.md +351 -0
- package/.speccrew/skills/speccrew-knowledge-system-summarize/templates/SYSTEM-OVERVIEW-TEMPLATE.md +294 -0
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/SKILL.md +683 -0
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/STATUS-FORMATS.md +550 -0
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/templates/techs-manifest-EXAMPLE.json +35 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/SKILL.md +1087 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/ARCHITECTURE-TEMPLATE.md +240 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/COLOR-SYSTEM-TEMPLATE.md +68 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/COMPONENT-LIBRARY-TEMPLATE.md +86 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-BUILD-TEMPLATE.md +466 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DATA-TEMPLATE.md +432 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DESIGN-TEMPLATE.md +1209 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-DEV-TEMPLATE.md +1433 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-SYSTEM-TEST-TEMPLATE.md +1052 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/CONVENTIONS-UNIT-TEST-TEMPLATE.md +946 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/INDEX-TEMPLATE.md +29 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/PAGE-LAYOUTS-TEMPLATE.md +69 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md +74 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate/templates/TECH-STACK-TEMPLATE.md +232 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate-conventions/SKILL.md +628 -0
- package/.speccrew/skills/speccrew-knowledge-techs-generate-ui-style/SKILL.md +392 -0
- package/.speccrew/skills/speccrew-knowledge-techs-index/SKILL.md +489 -0
- package/.speccrew/skills/speccrew-knowledge-techs-index/templates/INDEX-TEMPLATE.md +243 -0
- package/.speccrew/skills/speccrew-knowledge-techs-init/SKILL.md +269 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/SKILL.md +562 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/BUSINESS-COMPONENTS-TEMPLATE.md +171 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMMON-COMPONENTS-TEMPLATE.md +177 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMPONENT-INDIVIDUAL-TEMPLATE.md +80 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/COMPONENT-LIBRARY-TEMPLATE.md +118 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/LAYOUT-INDIVIDUAL-TEMPLATE.md +97 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/LAYOUT-PATTERNS-TEMPLATE.md +208 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/NAVIGATION-PATTERNS-TEMPLATE.md +157 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/PAGE-TYPE-INDIVIDUAL-TEMPLATE.md +123 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/PAGE-TYPE-SUMMARY-TEMPLATE.md +58 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/SPACING-TEMPLATE.md +119 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/STYLE-SYSTEM-TEMPLATE.md +117 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/TYPOGRAPHY-TEMPLATE.md +107 -0
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/templates/UI-STYLE-GUIDE-TEMPLATE.md +171 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +434 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/BIZS-MODELING-TEMPLATE.md +332 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/templates/PRD-TEMPLATE.md +200 -0
- package/.speccrew/skills/speccrew-pm-requirement-assess/SKILL.md +195 -0
- package/.speccrew/skills/speccrew-project-diagnosis/SKILL.md +208 -0
- package/.speccrew/skills/speccrew-project-diagnosis/templates/DIAGNOSIS-REPORT-TEMPLATE.md +202 -0
- package/.speccrew/skills/speccrew-sd-backend/SKILL.md +188 -0
- package/.speccrew/skills/speccrew-sd-backend/templates/INDEX-TEMPLATE.md +85 -0
- package/.speccrew/skills/speccrew-sd-backend/templates/SD-BACKEND-TEMPLATE.md +269 -0
- package/.speccrew/skills/speccrew-sd-desktop/SKILL.md +192 -0
- package/.speccrew/skills/speccrew-sd-desktop/templates/INDEX-TEMPLATE.md +271 -0
- package/.speccrew/skills/speccrew-sd-desktop/templates/SD-DESKTOP-TEMPLATE.md +673 -0
- package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +176 -0
- package/.speccrew/skills/speccrew-sd-frontend/templates/INDEX-TEMPLATE.md +184 -0
- package/.speccrew/skills/speccrew-sd-frontend/templates/SD-FRONTEND-TEMPLATE.md +382 -0
- package/.speccrew/skills/speccrew-sd-mobile/SKILL.md +189 -0
- package/.speccrew/skills/speccrew-sd-mobile/templates/INDEX-TEMPLATE.md +219 -0
- package/.speccrew/skills/speccrew-sd-mobile/templates/SD-MOBILE-TEMPLATE.md +534 -0
- package/.speccrew/skills/speccrew-test-case-design/SKILL.md +284 -0
- package/.speccrew/skills/speccrew-test-case-design/templates/TEST-CASE-DESIGN-TEMPLATE.md +263 -0
- package/.speccrew/skills/speccrew-test-code-gen/SKILL.md +313 -0
- package/.speccrew/skills/speccrew-test-code-gen/templates/TEST-CODE-PLAN-TEMPLATE.md +180 -0
- package/.speccrew/skills/speccrew-test-execute/SKILL.md +283 -0
- package/.speccrew/skills/speccrew-test-execute/templates/BUG-REPORT-TEMPLATE.md +50 -0
- package/.speccrew/skills/speccrew-test-execute/templates/TEST-REPORT-TEMPLATE.md +57 -0
- package/.speccrew/skills/speccrew-workflow-diagnose/SKILL.md +155 -0
- package/LICENSE +21 -0
- package/README.ar.md +318 -0
- package/README.en.md +318 -0
- package/README.es.md +318 -0
- package/README.md +340 -0
- package/bin/cli.js +62 -0
- package/lib/commands/doctor.js +138 -0
- package/lib/commands/init.js +231 -0
- package/lib/commands/list.js +114 -0
- package/lib/commands/uninstall.js +117 -0
- package/lib/commands/update.js +351 -0
- package/lib/ide-adapters.js +73 -0
- package/lib/utils.js +104 -0
- package/package.json +28 -0
- package/workspace-template/docs/configs/document-templates.json +667 -0
- package/workspace-template/docs/configs/platform-mapping.json +194 -0
- package/workspace-template/docs/configs/tech-stack-mappings.json +313 -0
- package/workspace-template/docs/configs/validation-rules.json +87 -0
- package/workspace-template/docs/rules/mermaid-rule.md +114 -0
- package/workspace-template/docs/solutions/Agent/346/212/200/350/203/275/345/256/232/344/271/211+/351/234/200/346/261/202/346/226/207/346/241/243+UML/344/275/277/347/224/250/346/250/241/346/235/277/357/274/210ISA-95/345/205/255/346/256/265/345/274/217/350/236/215/345/220/210/347/211/210/357/274/211.md +586 -0
- package/workspace-template/docs/solutions/agent-knowledge-map.md +238 -0
- package/workspace-template/docs/solutions/bizs-knowledge-pipeline.md +678 -0
- package/workspace-template/docs/solutions/harness.md +410 -0
- package/workspace-template/docs/solutions/knowledge-incremental-sync-spec.md +943 -0
- package/workspace-template/docs/solutions/techs-knowledge-pipeline.md +803 -0
- package/workspace-template/docs/solutions/workspace-structure.md +318 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
## Mermaid Usage Guidelines (Compatibility-First Version)
|
|
2
|
+
|
|
3
|
+
### 1. Basic Syntax Principles
|
|
4
|
+
|
|
5
|
+
| Rule | Correct Example | Incorrect Example |
|
|
6
|
+
|------|-----------------|-------------------|
|
|
7
|
+
| **Use only basic node definitions** | `A[text content]` | `A["[quoted text]"]` |
|
|
8
|
+
| **Avoid HTML tags** | `A[use short phrases for multi-line text]` | `A[first line<br/>second line]` |
|
|
9
|
+
| **No nested subgraphs** | Single-layer subgraph or none | `subgraph A { subgraph B { } }` |
|
|
10
|
+
| **No direction keyword** | Rely on graph default direction | `subgraph X { direction TB }` |
|
|
11
|
+
| **No style styling** | Plain text nodes | `style A fill:#color` |
|
|
12
|
+
|
|
13
|
+
### 2. Recommended Syntax Structure
|
|
14
|
+
|
|
15
|
+
```mermaid
|
|
16
|
+
graph TB
|
|
17
|
+
%% Basic node definitions
|
|
18
|
+
A[User Authentication Module]
|
|
19
|
+
B[Agent Management]
|
|
20
|
+
C[Knowledge Base Management]
|
|
21
|
+
|
|
22
|
+
%% Connections (three types)
|
|
23
|
+
A --> B %% Solid arrow
|
|
24
|
+
A -.-> C %% Dashed arrow
|
|
25
|
+
B ==> C %% Thick arrow (if needed)
|
|
26
|
+
|
|
27
|
+
%% Simple subgraph (optional)
|
|
28
|
+
subgraph Core Modules
|
|
29
|
+
B
|
|
30
|
+
C
|
|
31
|
+
end
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 3. Node Naming Conventions
|
|
35
|
+
|
|
36
|
+
| Scenario | Naming Convention | Example |
|
|
37
|
+
|----------|-------------------|---------|
|
|
38
|
+
| Module nodes | Uppercase letter abbreviation | `AM[Agent Management]` |
|
|
39
|
+
| Function nodes | R+number prefix | `R1[Lifecycle Management]` |
|
|
40
|
+
| Dependency nodes | D+number prefix | `D1[Knowledge Base Module]` |
|
|
41
|
+
| External nodes | U+number prefix | `U1[Frontend Interface]` |
|
|
42
|
+
|
|
43
|
+
### 4. Prohibited Syntax
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
❌ Prohibited:
|
|
47
|
+
- <br/> line break tags
|
|
48
|
+
- Nested subgraphs
|
|
49
|
+
- direction keyword
|
|
50
|
+
- style color definitions
|
|
51
|
+
- classDef / class
|
|
52
|
+
- erDiagram syntax
|
|
53
|
+
- flowchart instead of graph
|
|
54
|
+
- mindmap syntax (compatibility issues)
|
|
55
|
+
- Quoted node text ["text"]
|
|
56
|
+
- Special characters: @ # < > & [ ] / ( ) etc.
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Special Character Handling:**
|
|
60
|
+
| Character | Source | Fix |
|
|
61
|
+
|-----------|--------|-----|
|
|
62
|
+
| `@` | Java annotations (`@RestController`) | Remove `@` prefix: `RestController` |
|
|
63
|
+
| `#` | Markdown headers | Spell out or omit |
|
|
64
|
+
| `<` `>` | Generics (`List<String>`) | Use parentheses: `List(String)` |
|
|
65
|
+
| `&` | HTML entities | Spell out: `and` |
|
|
66
|
+
| `[` `]` | Array index (`arr[0]`) | Use parentheses or omit: `arr(0)` or `arr0`. **NEVER nest brackets in node text** |
|
|
67
|
+
| `/` | File paths (`/pages/index`) | Remove leading `/` or use parentheses: `pages/index` |
|
|
68
|
+
| `(` `)` | Function calls (`handleQuery()`) | Remove parentheses: `handleQuery` |
|
|
69
|
+
|
|
70
|
+
### 5. Multi-line Text Handling
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
❌ Not recommended:
|
|
74
|
+
A[first line<br/>second line]
|
|
75
|
+
|
|
76
|
+
✅ Recommended:
|
|
77
|
+
A[short title]
|
|
78
|
+
A1[detailed description as separate node]
|
|
79
|
+
A --> A1
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 6. Diagram Type Selection
|
|
83
|
+
|
|
84
|
+
| Type | Compatibility | Use Case |
|
|
85
|
+
|------|---------------|----------|
|
|
86
|
+
| `graph TB/LR` | ⭐⭐⭐ Highest | Architecture diagrams, dependency graphs |
|
|
87
|
+
| `sequenceDiagram` | ⭐⭐ Medium | Sequence diagrams (avoid complex syntax) |
|
|
88
|
+
| `erDiagram` | ⭐ Low | Avoid use, use graph TB instead |
|
|
89
|
+
| `flowchart` | ⭐ Low | Avoid use, use graph instead |
|
|
90
|
+
| `mindmap` | ❌ Prohibited | Use graph TB/LR instead (compatibility issues) |
|
|
91
|
+
|
|
92
|
+
### 7. Validation Checklist
|
|
93
|
+
|
|
94
|
+
After generating Mermaid diagrams, check:
|
|
95
|
+
- [ ] No `<br/>` tags
|
|
96
|
+
- [ ] No `style` definitions
|
|
97
|
+
- [ ] No nested `subgraph`
|
|
98
|
+
- [ ] No `direction` keyword
|
|
99
|
+
- [ ] No special symbols in node text
|
|
100
|
+
- [ ] Use standard `graph TB/LR` syntax
|
|
101
|
+
|
|
102
|
+
### 8. Quick Fix Script (Reference)
|
|
103
|
+
|
|
104
|
+
For batch fixes, replace the following patterns:
|
|
105
|
+
```regex
|
|
106
|
+
Find: \[([^]]+)<br/>([^]]+)\]
|
|
107
|
+
Replace: [$1 - $2]
|
|
108
|
+
|
|
109
|
+
Find: style \w+ fill:#[\w]+
|
|
110
|
+
Replace: (delete this line)
|
|
111
|
+
|
|
112
|
+
Find: direction (TB|LR|RL|BT)
|
|
113
|
+
Replace: (delete this line)
|
|
114
|
+
```
|
|
@@ -0,0 +1,586 @@
|
|
|
1
|
+
# Agent技能定义+需求文档+UML使用模板(ISA-95六段式融合版)
|
|
2
|
+
|
|
3
|
+
# 一、Agent Skill定义文档(ISA-95六段式规范)
|
|
4
|
+
|
|
5
|
+
文档目的:明确Agent技能的业务边界、核心能力、交互规则及落地标准,为Agent开发、测试、迭代提供标准化依据,适配软件工程UML建模流程,确保技能与业务需求一致。
|
|
6
|
+
|
|
7
|
+
适用范围:所有Agent技能(如需求解析Agent、UML建模Agent、文档生成Agent等),可根据具体技能类型灵活调整细节。
|
|
8
|
+
|
|
9
|
+
## 阶段1:Domain descriptions(领域描述)
|
|
10
|
+
|
|
11
|
+
### 1.1 技能领域边界
|
|
12
|
+
|
|
13
|
+
明确Agent技能所属的业务领域、核心服务范围,划定“技能能做什么/不能做什么”,用mermaid绘制系统上下文图(UML用例图简化版)。
|
|
14
|
+
|
|
15
|
+
示例(需求解析Agent):
|
|
16
|
+
|
|
17
|
+
领域:企业级软件需求分析领域,聚焦ISA-95六段式建模相关需求解析,衔接业务需求与信息化表述。
|
|
18
|
+
|
|
19
|
+
边界:负责接收用户业务需求(如“ISA-95建模需求”“UML图绘制需求”),输出标准化需求解析结果;不负责需求落地开发、代码编写、硬件部署。
|
|
20
|
+
|
|
21
|
+
外部参与者:用户(产品经理/业务分析师)、UML建模Agent、文档生成Agent、需求管理系统。
|
|
22
|
+
|
|
23
|
+
```mermaid
|
|
24
|
+
|
|
25
|
+
graph TD
|
|
26
|
+
A[用户(产品经理/业务分析师)] --> B[需求解析Agent]
|
|
27
|
+
C[UML建模Agent] --> B
|
|
28
|
+
D[文档生成Agent] --> B
|
|
29
|
+
E[需求管理系统] --> B
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 1.2 领域术语表
|
|
34
|
+
|
|
35
|
+
|术语|定义|关联领域|
|
|
36
|
+
|---|---|---|
|
|
37
|
+
|ISA-95六段式|Domain descriptions→Functions in domains→Functions of interest→Information flows of interest→Categories of information→Information descriptions,业务需求到信息化的标准化转化流程|需求分析、信息化建模|
|
|
38
|
+
|UML图|软件工程中标准化的建模语言,含用例图、活动图、序列图等,用于可视化业务流程与软件设计|软件建模、需求可视化|
|
|
39
|
+
|信息流|核心功能/系统间流转的数据,含数据来源、去向、格式与频率|跨模块/系统交互|
|
|
40
|
+
## 阶段2:Functions in domains(领域内功能)
|
|
41
|
+
|
|
42
|
+
### 2.1 技能功能分解(WBS)
|
|
43
|
+
|
|
44
|
+
```mermaid
|
|
45
|
+
|
|
46
|
+
graph TD
|
|
47
|
+
A[需求解析Agent技能] --> B[需求接收功能]
|
|
48
|
+
A --> C[需求分类功能]
|
|
49
|
+
A --> D[ISA-95六段式映射功能]
|
|
50
|
+
A --> E[解析结果输出功能]
|
|
51
|
+
A --> F[异常处理功能]
|
|
52
|
+
B --> B1[接收文本/语音需求]
|
|
53
|
+
B --> B2[需求格式校验]
|
|
54
|
+
C --> C1[按领域分类(如ISA-95建模、UML绘制)]
|
|
55
|
+
C --> C2[按优先级分类(核心/非核心)]
|
|
56
|
+
D --> D1[映射至六段式对应阶段]
|
|
57
|
+
D --> D2[补充阶段所需关键信息]
|
|
58
|
+
E --> E1[输出标准化解析报告]
|
|
59
|
+
E --> E2[同步至关联Agent/系统]
|
|
60
|
+
F --> F1[需求模糊时提示用户补充]
|
|
61
|
+
F --> F2[异常需求(非领域内)拒绝处理并说明原因]
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 2.2 功能-能力映射表
|
|
66
|
+
|
|
67
|
+
|功能模块|核心子功能|对应业务能力|UML可视化方式|
|
|
68
|
+
|---|---|---|---|
|
|
69
|
+
|需求接收功能|文本/语音接收、格式校验|准确获取用户需求,过滤无效输入|用例图(细化参与者与用例)|
|
|
70
|
+
|ISA-95六段式映射功能|阶段映射、关键信息补充|将模糊需求转化为标准化六段式表述|活动图(映射流程)|
|
|
71
|
+
|异常处理功能|模糊需求提示、异常需求拒绝|提升需求解析的准确性与用户体验|状态机图(异常处理流程)|
|
|
72
|
+
## 阶段3:Functions of interest(关注的功能)
|
|
73
|
+
|
|
74
|
+
### 3.1 核心功能筛选(MVP)
|
|
75
|
+
|
|
76
|
+
结合技能核心目标,筛选必须实现的核心功能,排除非核心功能,用MoSCoW方法标注优先级。
|
|
77
|
+
|
|
78
|
+
|功能名称|优先级(MoSCoW)|是否核心功能|说明|
|
|
79
|
+
|---|---|---|---|
|
|
80
|
+
|需求接收与格式校验|Must have(必须有)|是|基础功能,确保需求有效输入|
|
|
81
|
+
|ISA-95六段式映射|Must have(必须有)|是|核心能力,实现需求标准化转化|
|
|
82
|
+
|解析结果输出|Must have(必须有)|是|核心输出,为后续流程提供依据|
|
|
83
|
+
|需求分类|Should have(应该有)|否|提升效率,非核心可后续迭代|
|
|
84
|
+
### 3.2 核心功能UML用例图(聚焦版)
|
|
85
|
+
|
|
86
|
+
```mermaid
|
|
87
|
+
|
|
88
|
+
graph TB
|
|
89
|
+
subgraph Actors
|
|
90
|
+
U[用户]
|
|
91
|
+
UML[UML建模Agent]
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
subgraph RequirementAgent["需求解析Agent"]
|
|
95
|
+
UC1[接收需求并校验]
|
|
96
|
+
UC2[ISA-95六段式映射]
|
|
97
|
+
UC3[输出解析结果]
|
|
98
|
+
UC4[异常需求处理]
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
U --> UC1
|
|
102
|
+
U --> UC4
|
|
103
|
+
UC1 --> UC2
|
|
104
|
+
UC2 --> UC3
|
|
105
|
+
UC3 --> UML
|
|
106
|
+
UC3 --> U
|
|
107
|
+
UC4 --> U
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## 阶段4:Information flows of interest(关注的信息流)
|
|
112
|
+
|
|
113
|
+
### 4.1 核心信息流梳理
|
|
114
|
+
|
|
115
|
+
明确核心功能间、Agent与外部参与者的信息流转,标注数据来源、去向、格式与频率,用mermaid绘制序列图与DFD图。
|
|
116
|
+
|
|
117
|
+
#### 4.1.1 序列图(核心交互时序)
|
|
118
|
+
|
|
119
|
+
```mermaid
|
|
120
|
+
|
|
121
|
+
sequenceDiagram
|
|
122
|
+
participant U as User
|
|
123
|
+
participant A as RequirementAgent
|
|
124
|
+
participant UML as UMLAgent
|
|
125
|
+
participant S as 需求管理系统
|
|
126
|
+
|
|
127
|
+
U->>A: 提交业务需求(文本/语音)
|
|
128
|
+
A->>A: 需求格式校验
|
|
129
|
+
alt 需求模糊
|
|
130
|
+
A->>U: 提示补充需求细节
|
|
131
|
+
U->>A: 补充需求
|
|
132
|
+
end
|
|
133
|
+
A->>A: ISA-95六段式映射处理
|
|
134
|
+
A->>U: 输出标准化解析报告(文本)
|
|
135
|
+
A->>UML: 同步解析结果(JSON格式)
|
|
136
|
+
A->>S: 存储解析结果(结构化数据)
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
#### 4.1.2 数据流图(DFD 1层)
|
|
141
|
+
|
|
142
|
+
```mermaid
|
|
143
|
+
|
|
144
|
+
graph TD
|
|
145
|
+
subgraph 需求解析Agent
|
|
146
|
+
A[需求接收模块]
|
|
147
|
+
B[格式校验模块]
|
|
148
|
+
C[六段式映射模块]
|
|
149
|
+
D[结果输出模块]
|
|
150
|
+
end
|
|
151
|
+
E[用户] -- 业务需求(文本/语音) --> A
|
|
152
|
+
A -- 需求数据 --> B
|
|
153
|
+
B -- 有效需求 --> C
|
|
154
|
+
B -- 无效需求 --> E
|
|
155
|
+
C -- 解析结果 --> D
|
|
156
|
+
D -- 解析报告 --> E
|
|
157
|
+
D -- 解析结果(JSON) --> F[UML建模Agent]
|
|
158
|
+
D -- 结构化数据 --> G[需求管理系统]
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 4.2 接口交互清单
|
|
163
|
+
|
|
164
|
+
|接口名称|交互方向|数据格式|传输频率|核心字段|
|
|
165
|
+
|---|---|---|---|---|
|
|
166
|
+
|需求提交接口|用户→Agent|文本/语音|实时|需求内容、用户ID、需求类型|
|
|
167
|
+
|解析结果同步接口|Agent→UML建模Agent|JSON|实时|解析ID、六段式各阶段信息、需求优先级|
|
|
168
|
+
|结果存储接口|Agent→需求管理系统|结构化数据|实时|解析ID、用户ID、解析内容、创建时间|
|
|
169
|
+
## 阶段5:Categories of information(信息分类)
|
|
170
|
+
|
|
171
|
+
### 5.1 信息分类目录
|
|
172
|
+
|
|
173
|
+
|信息分类|核心实体|关联阶段|说明|
|
|
174
|
+
|---|---|---|---|
|
|
175
|
+
|需求类信息|用户需求、需求类型、需求优先级|阶段1-3|用户提交的原始需求及基础属性|
|
|
176
|
+
|解析类信息|六段式映射结果、解析报告、解析状态|阶段4-5|Agent处理后输出的标准化信息|
|
|
177
|
+
|交互类信息|接口数据、传输状态、异常信息|阶段4|Agent与外部参与者的交互数据|
|
|
178
|
+
### 5.2 数据字典(核心实体)
|
|
179
|
+
|
|
180
|
+
|实体名称|核心属性|数据类型|约束规则|语义说明|
|
|
181
|
+
|---|---|---|---|---|
|
|
182
|
+
|用户需求|需求ID、需求内容、用户ID、需求类型、提交时间|String、String、String、Enum、DateTime|需求内容非空,需求类型为{ISA-95建模、UML绘制、其他}|用户提交的原始业务需求|
|
|
183
|
+
|六段式映射结果|解析ID、需求ID、各阶段信息、映射状态|String、String、Object、Enum|解析ID唯一,映射状态为{成功、失败、待补充}|Agent将需求映射至ISA-95六段式的结果|
|
|
184
|
+
### 5.3 概念类图(UML)
|
|
185
|
+
|
|
186
|
+
```mermaid
|
|
187
|
+
|
|
188
|
+
classDiagram
|
|
189
|
+
class User {
|
|
190
|
+
+String userId
|
|
191
|
+
+String userName
|
|
192
|
+
+submitRequirement()
|
|
193
|
+
+supplementRequirement()
|
|
194
|
+
}
|
|
195
|
+
class Requirement {
|
|
196
|
+
+String requirementId
|
|
197
|
+
+String content
|
|
198
|
+
+Enum type
|
|
199
|
+
+Enum priority
|
|
200
|
+
+DateTime submitTime
|
|
201
|
+
}
|
|
202
|
+
class SixStageMapping {
|
|
203
|
+
+String mappingId
|
|
204
|
+
+String requirementId
|
|
205
|
+
+Object domainDesc
|
|
206
|
+
+Object domainFunctions
|
|
207
|
+
+Object interestFunctions
|
|
208
|
+
+Object interestInfoFlows
|
|
209
|
+
+Object infoCategories
|
|
210
|
+
+Object infoDescriptions
|
|
211
|
+
+Enum status
|
|
212
|
+
+doMapping()
|
|
213
|
+
}
|
|
214
|
+
class InteractionInfo {
|
|
215
|
+
+String interactionId
|
|
216
|
+
+String mappingId
|
|
217
|
+
+String interfaceName
|
|
218
|
+
+Object data
|
|
219
|
+
+Enum status
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
User "1" -- "*" Requirement : 提交
|
|
223
|
+
Requirement "1" -- "1" SixStageMapping : 映射
|
|
224
|
+
SixStageMapping "1" -- "*" InteractionInfo : 产生
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## 阶段6:Information descriptions(信息描述)
|
|
229
|
+
|
|
230
|
+
### 6.1 设计类图(UML,可直接用于开发)
|
|
231
|
+
|
|
232
|
+
```mermaid
|
|
233
|
+
|
|
234
|
+
classDiagram
|
|
235
|
+
class RequirementAgent {
|
|
236
|
+
-String agentId
|
|
237
|
+
-Enum status
|
|
238
|
+
+receiveRequirement(Requirement) Boolean
|
|
239
|
+
+validateRequirement(Requirement) Boolean
|
|
240
|
+
+sixStageMapping(Requirement) SixStageMapping
|
|
241
|
+
+outputResult(SixStageMapping) Boolean
|
|
242
|
+
+handleException(String) String
|
|
243
|
+
}
|
|
244
|
+
class Requirement {
|
|
245
|
+
-String requirementId
|
|
246
|
+
-String content
|
|
247
|
+
-Enum type
|
|
248
|
+
-Enum priority
|
|
249
|
+
-DateTime submitTime
|
|
250
|
+
+getContent() String
|
|
251
|
+
+setPriority(Enum) void
|
|
252
|
+
}
|
|
253
|
+
class SixStageMapping {
|
|
254
|
+
-String mappingId
|
|
255
|
+
-String requirementId
|
|
256
|
+
-DomainDesc domainDesc
|
|
257
|
+
-DomainFunctions domainFunctions
|
|
258
|
+
-InterestFunctions interestFunctions
|
|
259
|
+
-InterestInfoFlows interestInfoFlows
|
|
260
|
+
-InfoCategories infoCategories
|
|
261
|
+
-InfoDescriptions infoDescriptions
|
|
262
|
+
-Enum status
|
|
263
|
+
+getMappingResult() Object
|
|
264
|
+
+setMappingStatus(Enum) void
|
|
265
|
+
}
|
|
266
|
+
class DomainDesc {
|
|
267
|
+
-String domainName
|
|
268
|
+
-String boundary
|
|
269
|
+
-List participants
|
|
270
|
+
-Map terms
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
RequirementAgent -- SixStageMapping
|
|
274
|
+
RequirementAgent -- Requirement
|
|
275
|
+
SixStageMapping -- DomainDesc
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### 6.2 组件图(UML,Agent架构)
|
|
280
|
+
|
|
281
|
+
```mermaid
|
|
282
|
+
|
|
283
|
+
graph TB
|
|
284
|
+
RecvComp[需求接收组件]
|
|
285
|
+
CheckComp[格式校验组件]
|
|
286
|
+
MappingComp[六段式映射组件]
|
|
287
|
+
OutputComp[结果输出组件]
|
|
288
|
+
ExceptionComp[异常处理组件]
|
|
289
|
+
StorageComp[数据存储组件]
|
|
290
|
+
|
|
291
|
+
RecvComp --> CheckComp
|
|
292
|
+
CheckComp --> MappingComp
|
|
293
|
+
CheckComp --> ExceptionComp
|
|
294
|
+
MappingComp --> OutputComp
|
|
295
|
+
OutputComp --> StorageComp
|
|
296
|
+
OutputComp --> ExceptionComp
|
|
297
|
+
ExceptionComp --> RecvComp
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### 6.3 信息描述规范(落地标准)
|
|
302
|
+
|
|
303
|
+
1. 所有输出信息需符合JSON/文本标准格式,编码为UTF-8,无乱码;
|
|
304
|
+
|
|
305
|
+
2. 六段式映射结果需完整覆盖每个阶段,无遗漏,语义与领域术语表一致;
|
|
306
|
+
|
|
307
|
+
3. 接口数据字段需严格匹配接口交互清单,异常时需返回明确的错误码与说明;
|
|
308
|
+
|
|
309
|
+
4. 存储的结构化数据需与数据字典一致,支持后续查询、追溯与迭代。
|
|
310
|
+
|
|
311
|
+
# 二、需求文档模板(ISA-95六段式+UML融合版)
|
|
312
|
+
|
|
313
|
+
## 文档基本信息
|
|
314
|
+
|
|
315
|
+
|项目名称|需求名称|需求提出人|需求日期|优先级|迭代版本|
|
|
316
|
+
|---|---|---|---|---|---|
|
|
317
|
+
|__________|__________|__________|__________|□ 高 □ 中 □ 低|__________|
|
|
318
|
+
## 1. 需求背景与目标
|
|
319
|
+
|
|
320
|
+
1.1 需求背景:__________(说明需求产生的业务场景、痛点,如“现有Agent技能缺乏标准化定义,导致开发与业务需求脱节”)
|
|
321
|
+
|
|
322
|
+
1.2 需求目标:__________(明确需求要实现的核心价值,如“基于ISA-95六段式,定义Agent技能规范,实现业务需求到信息化的标准化转化”)
|
|
323
|
+
|
|
324
|
+
1.3 适用范围:__________(明确需求覆盖的场景、角色、系统,如“所有ISA-95建模相关Agent技能,适配产品经理、开发工程师”)
|
|
325
|
+
|
|
326
|
+
## 2. Domain descriptions(领域描述)
|
|
327
|
+
|
|
328
|
+
2.1 领域边界:__________(明确需求所属领域、核心范围,划定“做什么/不做什么”)
|
|
329
|
+
|
|
330
|
+
2.2 外部参与者:__________(列出需求相关的角色、系统、Agent)
|
|
331
|
+
|
|
332
|
+
2.3 领域术语表:(参考技能定义文档的术语表格式,补充需求相关术语)
|
|
333
|
+
|
|
334
|
+
2.4 UML系统上下文图:(插入mermaid代码,绘制系统上下文用例图)
|
|
335
|
+
|
|
336
|
+
## 3. Functions in domains(领域内功能)
|
|
337
|
+
|
|
338
|
+
3.1 功能分解树(WBS):(插入mermaid代码,绘制功能分解图)
|
|
339
|
+
|
|
340
|
+
3.2 功能-能力映射表:(参考技能定义文档的映射表格式,补充需求相关功能)
|
|
341
|
+
|
|
342
|
+
3.3 UML可视化:(插入mermaid用例图、活动图,细化功能流程)
|
|
343
|
+
|
|
344
|
+
## 4. Functions of interest(关注的功能)
|
|
345
|
+
|
|
346
|
+
4.1 核心功能筛选:(用MoSCoW方法标注优先级,列出核心功能)
|
|
347
|
+
|
|
348
|
+
4.2 核心功能UML用例图:(插入mermaid聚焦版用例图,高亮核心用例)
|
|
349
|
+
|
|
350
|
+
4.3 非核心功能说明:(列出非核心功能,说明后续迭代计划)
|
|
351
|
+
|
|
352
|
+
## 5. Information flows of interest(关注的信息流)
|
|
353
|
+
|
|
354
|
+
5.1 核心信息流梳理:(说明信息流的来源、去向、格式、频率)
|
|
355
|
+
|
|
356
|
+
5.2 UML序列图:(插入mermaid序列图,可视化交互时序)
|
|
357
|
+
|
|
358
|
+
5.3 数据流图(DFD):(插入mermaid DFD图,梳理数据流转)
|
|
359
|
+
|
|
360
|
+
5.4 接口交互清单:(参考技能定义文档的接口清单格式,补充需求相关接口)
|
|
361
|
+
|
|
362
|
+
## 6. Categories of information(信息分类)
|
|
363
|
+
|
|
364
|
+
6.1 信息分类目录:(参考技能定义文档的分类目录,补充需求相关信息分类)
|
|
365
|
+
|
|
366
|
+
6.2 数据字典:(列出核心实体的属性、数据类型、约束规则)
|
|
367
|
+
|
|
368
|
+
6.3 UML概念类图:(插入mermaid概念类图,抽象业务实体)
|
|
369
|
+
|
|
370
|
+
## 7. Information descriptions(信息描述)
|
|
371
|
+
|
|
372
|
+
7.1 UML设计类图:(插入mermaid设计类图,补充技术细节)
|
|
373
|
+
|
|
374
|
+
7.2 UML组件图/部署图:(插入mermaid组件图/部署图,明确架构)
|
|
375
|
+
|
|
376
|
+
7.3 信息描述规范:(明确信息输出格式、约束、落地标准)
|
|
377
|
+
|
|
378
|
+
7.4 数据库表结构(可选):(列出核心表结构、主键/外键、索引)
|
|
379
|
+
|
|
380
|
+
## 8. 验收标准
|
|
381
|
+
|
|
382
|
+
8.1 功能验收:__________(明确每个核心功能的验收条件,如“六段式映射功能可准确将需求映射至对应阶段,无遗漏”)
|
|
383
|
+
|
|
384
|
+
8.2 性能验收:__________(明确性能要求,如“需求解析响应时间≤1s,准确率≥95%”)
|
|
385
|
+
|
|
386
|
+
8.3 接口验收:__________(明确接口交互要求,如“接口传输成功率≥99%,异常提示清晰”)
|
|
387
|
+
|
|
388
|
+
## 9. 风险与约束
|
|
389
|
+
|
|
390
|
+
9.1 风险:__________(列出需求落地过程中可能存在的风险,如“业务术语不统一,导致映射偏差”)
|
|
391
|
+
|
|
392
|
+
9.2 约束:__________(列出需求落地的约束条件,如“需适配现有UML工具,支持mermaid语法”)
|
|
393
|
+
|
|
394
|
+
## 10. 附录
|
|
395
|
+
|
|
396
|
+
10.1 参考文档:__________(列出需求参考的标准、文档,如“ISA-95标准、UML建模规范”)
|
|
397
|
+
|
|
398
|
+
10.2 补充说明:__________(其他需要补充的信息)
|
|
399
|
+
|
|
400
|
+
# 三、UML模板(什么时候用什么样的UML图,适配ISA-95六段式)
|
|
401
|
+
|
|
402
|
+
核心原则:UML图的使用需严格对应ISA-95六段式阶段,聚焦“业务建模→软件建模”的无缝衔接,每个阶段用对应的UML图实现可视化,避免过度建模。
|
|
403
|
+
|
|
404
|
+
## 1. 阶段1:Domain descriptions(领域描述)—— 定边界、统一语言
|
|
405
|
+
|
|
406
|
+
|UML图类型|使用时机|核心用途|mermaid模板|注意事项|
|
|
407
|
+
|---|---|---|---|---|
|
|
408
|
+
|系统上下文图(用例图简化版)|明确领域边界、外部参与者时|可视化系统与外部参与者的关系,划定业务范围|`graph TD
|
|
409
|
+
A[参与者1] --> B[目标系统/Agent]
|
|
410
|
+
C[参与者2] --> B
|
|
411
|
+
D[参与者3] --> B
|
|
412
|
+
`|只标注核心参与者与核心交互,不细化内部功能|
|
|
413
|
+
|UML包图|划分领域模块、明确模块依赖时|按业务领域划分包,梳理包之间的依赖关系|`graph TB
|
|
414
|
+
subgraph 领域包1
|
|
415
|
+
C1[类1]
|
|
416
|
+
C2[类2]
|
|
417
|
+
end
|
|
418
|
+
subgraph 领域包2
|
|
419
|
+
C3[类3]
|
|
420
|
+
C4[类4]
|
|
421
|
+
end
|
|
422
|
+
领域包1 --> 领域包2
|
|
423
|
+
`|包的划分需贴合业务领域,避免技术层面的拆分|
|
|
424
|
+
## 2. 阶段2:Functions in domains(领域内功能)—— 拆功能、分模块
|
|
425
|
+
|
|
426
|
+
|UML图类型|使用时机|核心用途|mermaid模板|注意事项|
|
|
427
|
+
|---|---|---|---|---|
|
|
428
|
+
|UML用例图(细化版)|拆解全量功能、梳理参与者与用例关系时|列出全量用例,标注用例间的包含/扩展/泛化关系|`graph TB
|
|
429
|
+
subgraph Actors
|
|
430
|
+
A1[参与者1]
|
|
431
|
+
A2[参与者2]
|
|
432
|
+
end
|
|
433
|
+
subgraph 目标系统
|
|
434
|
+
UC1[用例1]
|
|
435
|
+
UC2[用例2]
|
|
436
|
+
UC3[用例3]
|
|
437
|
+
end
|
|
438
|
+
A1 --> UC1
|
|
439
|
+
A2 --> UC2
|
|
440
|
+
UC1 --> UC3
|
|
441
|
+
`|覆盖领域内所有功能,不遗漏关键用例|
|
|
442
|
+
|UML活动图|梳理业务流程、决策分支时|可视化功能执行流程、并行/分支逻辑、泳道划分|`flowchart TD
|
|
443
|
+
subgraph 角色1
|
|
444
|
+
A1[开始] --> B1[动作1]
|
|
445
|
+
B1 --> C1[动作2]
|
|
446
|
+
C1 --> D1{决策}
|
|
447
|
+
D1 --> E1[动作3]
|
|
448
|
+
D1 --> F1[动作4]
|
|
449
|
+
end
|
|
450
|
+
subgraph 角色2
|
|
451
|
+
E1 --> G2[动作5]
|
|
452
|
+
F1 --> H2[动作6]
|
|
453
|
+
end
|
|
454
|
+
`|标注决策点、异常分支,贴合实际业务流程|
|
|
455
|
+
|UML状态机图|梳理核心对象全生命周期状态时|可视化对象的状态流转、触发条件、异常状态|`stateDiagram-v2
|
|
456
|
+
[*] --> 状态1
|
|
457
|
+
状态1 --> 状态2 : 触发条件1
|
|
458
|
+
状态1 --> 状态3 : 触发条件2
|
|
459
|
+
状态2 --> 状态4 : 触发条件3
|
|
460
|
+
状态3 --> 状态4 : 触发条件4
|
|
461
|
+
状态4 --> [*] : 结束条件
|
|
462
|
+
`|只聚焦核心对象(如需求、工单),不细化次要对象|
|
|
463
|
+
## 3. 阶段3:Functions of interest(关注的功能)—— 抓核心、排优先级
|
|
464
|
+
|
|
465
|
+
|UML图类型|使用时机|核心用途|mermaid模板|注意事项|
|
|
466
|
+
|---|---|---|---|---|
|
|
467
|
+
|UML用例图(聚焦版)|筛选核心MVP功能、明确迭代范围时|高亮核心用例,隐藏非核心用例,明确MVP范围|`graph TB
|
|
468
|
+
A[参与者]
|
|
469
|
+
subgraph 目标系统
|
|
470
|
+
UC1[核心用例1]
|
|
471
|
+
UC2[核心用例2]
|
|
472
|
+
UC3[非核心用例]
|
|
473
|
+
end
|
|
474
|
+
A --> UC1
|
|
475
|
+
A --> UC2
|
|
476
|
+
`|用注释标注核心/非核心,明确优先级|
|
|
477
|
+
|用户故事地图|拆解核心用例、规划迭代计划时|按“用户活动→任务→故事”分层,排序优先级|`graph TD
|
|
478
|
+
A[用户活动1] --> B[任务1]
|
|
479
|
+
A --> C[任务2]
|
|
480
|
+
B --> D[用户故事1(高优)]
|
|
481
|
+
B --> E[用户故事2(中优)]
|
|
482
|
+
C --> F[用户故事3(高优)]
|
|
483
|
+
`|聚焦核心用户活动,不拆分过多细节故事|
|
|
484
|
+
## 4. 阶段4:Information flows of interest(关注的信息流)—— 理交互、定接口
|
|
485
|
+
|
|
486
|
+
|UML图类型|使用时机|核心用途|mermaid模板|注意事项|
|
|
487
|
+
|---|---|---|---|---|
|
|
488
|
+
|UML序列图|梳理跨系统/模块交互时序时|可视化交互对象、消息类型、时序、数据内容|`sequenceDiagram
|
|
489
|
+
participant A as 参与者1
|
|
490
|
+
participant B as 参与者2
|
|
491
|
+
participant C as 参与者3
|
|
492
|
+
A->>B: 消息1(数据内容)
|
|
493
|
+
B->>B: 内部处理
|
|
494
|
+
alt 条件1
|
|
495
|
+
B->>C: 消息2
|
|
496
|
+
C->>B: 响应消息
|
|
497
|
+
end
|
|
498
|
+
B->>A: 结果反馈
|
|
499
|
+
`|标注消息格式、同步/异步,明确异常交互|
|
|
500
|
+
|数据流图(DFD)|梳理数据来源、处理、去向时|可视化数据流转路径,区分详细/非详细流|`graph TD
|
|
501
|
+
subgraph 系统/模块
|
|
502
|
+
A[处理模块1]
|
|
503
|
+
B[处理模块2]
|
|
504
|
+
end
|
|
505
|
+
C[数据来源] -- 数据1 --> A
|
|
506
|
+
A -- 数据2 --> B
|
|
507
|
+
B -- 数据3 --> D[数据去向1]
|
|
508
|
+
B -- 数据4 --> E[数据去向2]
|
|
509
|
+
`|实线标注详细流(标准覆盖),虚线标注非详细流(扩展)|
|
|
510
|
+
## 5. 阶段5:Categories of information(信息分类)—— 统标准、定语义
|
|
511
|
+
|
|
512
|
+
|UML图类型|使用时机|核心用途|mermaid模板|注意事项|
|
|
513
|
+
|---|---|---|---|---|
|
|
514
|
+
|UML概念类图|抽象业务实体、梳理实体关系时|定义核心实体、属性,标注实体间的关联/聚合/继承关系|`classDiagram
|
|
515
|
+
class 实体1 {
|
|
516
|
+
+属性1
|
|
517
|
+
+属性2
|
|
518
|
+
}
|
|
519
|
+
class 实体2 {
|
|
520
|
+
+属性3
|
|
521
|
+
+属性4
|
|
522
|
+
}
|
|
523
|
+
class 实体3 {
|
|
524
|
+
+属性5
|
|
525
|
+
}
|
|
526
|
+
实体1 "1" -- "*" 实体2 : 关联
|
|
527
|
+
实体2 "1" -- "1" 实体3 : 聚合
|
|
528
|
+
`|不涉及技术细节(如方法、可见性),仅表达业务概念|
|
|
529
|
+
## 6. 阶段6:Information descriptions(信息描述)—— 做落地、建模型
|
|
530
|
+
|
|
531
|
+
|UML图类型|使用时机|核心用途|mermaid模板|注意事项|
|
|
532
|
+
|---|---|---|---|---|
|
|
533
|
+
|UML设计类图|转化为可开发的软件模型时|补充类的方法、可见性、接口、依赖,对应代码实现|`classDiagram
|
|
534
|
+
class 类1 {
|
|
535
|
+
-属性1: 类型
|
|
536
|
+
+方法1(): 返回值
|
|
537
|
+
+方法2(参数): 返回值
|
|
538
|
+
}
|
|
539
|
+
class 类2 {
|
|
540
|
+
-属性2: 类型
|
|
541
|
+
+方法3(): 返回值
|
|
542
|
+
}
|
|
543
|
+
class 接口1 {
|
|
544
|
+
+方法4(): 返回值
|
|
545
|
+
}
|
|
546
|
+
类1 --> 类2 : 依赖
|
|
547
|
+
类1 ..|> 接口1 : 实现
|
|
548
|
+
`|与代码实现一致,明确属性类型、方法参数与返回值|
|
|
549
|
+
|UML组件图|设计系统/Agent架构、组件依赖时|定义软件组件、组件间依赖、提供/依赖的接口|`graph TB
|
|
550
|
+
C1[组件1]
|
|
551
|
+
C2[组件2]
|
|
552
|
+
C3[组件3]
|
|
553
|
+
I1[接口1]
|
|
554
|
+
I2[接口2]
|
|
555
|
+
C1 --> C2
|
|
556
|
+
C2 --> C3
|
|
557
|
+
C1 --> I1
|
|
558
|
+
C2 --> I2
|
|
559
|
+
`|组件划分贴合技术架构(如微服务、模块化)|
|
|
560
|
+
|UML部署图|设计硬件部署架构时|可视化服务器、数据库、设备等节点,及节点间通信|`graph TB
|
|
561
|
+
subgraph 服务器1
|
|
562
|
+
C1[组件1]
|
|
563
|
+
C2[组件2]
|
|
564
|
+
end
|
|
565
|
+
subgraph 服务器2
|
|
566
|
+
C3[组件3]
|
|
567
|
+
DB[(数据库)]
|
|
568
|
+
end
|
|
569
|
+
subgraph 设备1
|
|
570
|
+
C4[组件4]
|
|
571
|
+
end
|
|
572
|
+
服务器1 --> 服务器2
|
|
573
|
+
服务器2 --> 设备1
|
|
574
|
+
`|标注节点类型、通信协议,适配实际部署场景|
|
|
575
|
+
## UML使用通用注意事项
|
|
576
|
+
|
|
577
|
+
1. 所有UML图需用mermaid语法编写,确保可直接渲染、可复用;
|
|
578
|
+
|
|
579
|
+
2. 每个UML图需对应ISA-95具体阶段,明确用途,避免图与阶段脱节;
|
|
580
|
+
|
|
581
|
+
3. 遵循“够用就好”原则,MVP阶段只绘制核心图,不做过度细化;
|
|
582
|
+
|
|
583
|
+
4. 语义统一,UML图中的实体、术语需与领域术语表、数据字典一致;
|
|
584
|
+
|
|
585
|
+
5. 可根据实际需求(如Agent类型、业务场景)灵活调整图的细节,不局限于模板。
|
|
586
|
+
> (注:文档部分内容可能由 AI 生成)
|