Files
chinese-family-tree-2/.kiro/specs/founder-parent-warning/requirements.md
T
freedakgmail 5c8c70097c 0.8.0.0
2025-12-21 17:32:33 +08:00

86 lines
5.2 KiB
Markdown

# Requirements Document
## Introduction
本功能为家族树应用添加"为始祖添加父母时的代数重新计算提醒"功能。当用户尝试给始祖(第1代成员)添加父母时,系统需要先显示确认对话框,提醒用户此操作将导致全族代数重新计算,确保用户了解操作的影响后再执行。
## Glossary
- **Family_Tree_System**: 家族树管理系统,负责管理家族成员和关系
- **Generation_Calculator**: 代数计算器,负责计算和调整成员的世代数
- **Founder**: 始祖,指家族树中第1代且没有父母的成员
- **Root_Member**: 根成员,家族树的起始成员,通常是始祖
- **Generation_Offset**: 代数偏移量,用于批量调整所有成员的世代数
- **Confirmation_Dialog**: 确认对话框,用于在执行重要操作前获取用户确认
## Requirements
### Requirement 1: 检测始祖添加父母操作
**User Story:** As a 家族树编辑者, I want 系统能够检测我是否正在给始祖添加父母, so that 我能在操作前收到提醒。
#### Acceptance Criteria
1. WHEN 用户在成员页面右键点击一个成员并选择"添加父亲"或"添加母亲" THEN THE Family_Tree_System SHALL 检查该成员是否为第1代成员
2. WHEN 用户在族谱页面右键点击一个成员并选择"添加父亲"或"添加母亲" THEN THE Family_Tree_System SHALL 检查该成员是否为第1代成员
3. WHEN 被操作的成员是第1代成员 THEN THE Family_Tree_System SHALL 标记此操作为"需要代数重新计算"
4. WHEN 被操作的成员不是第1代成员 THEN THE Family_Tree_System SHALL 正常执行添加父母操作
### Requirement 2: 显示代数重新计算确认对话框
**User Story:** As a 家族树编辑者, I want 在给始祖添加父母前看到确认对话框, so that 我能了解此操作对整个家族树的影响。
#### Acceptance Criteria
1. WHEN 用户尝试给第1代成员添加父母 THEN THE Confirmation_Dialog SHALL 显示警告信息
2. THE Confirmation_Dialog SHALL 包含以下信息:操作说明、影响范围、代数变化示例
3. THE Confirmation_Dialog SHALL 提供"确认"和"取消"两个操作按钮
4. WHEN 用户点击"确认"按钮 THEN THE Family_Tree_System SHALL 继续执行添加父母操作
5. WHEN 用户点击"取消"按钮 THEN THE Family_Tree_System SHALL 取消操作并关闭对话框
### Requirement 3: 确认对话框内容展示
**User Story:** As a 家族树编辑者, I want 确认对话框清晰展示代数变化的影响, so that 我能做出明智的决定。
#### Acceptance Criteria
1. THE Confirmation_Dialog SHALL 显示标题"全族代数将重新计算"
2. THE Confirmation_Dialog SHALL 显示说明文字"您正在给始祖添加父母,这将导致全族代数重新计算"
3. THE Confirmation_Dialog SHALL 显示代数变化说明"原第1代将变为第2代,以此类推"
4. THE Confirmation_Dialog SHALL 使用警告样式(黄色/橙色)突出显示重要信息
5. THE Confirmation_Dialog SHALL 在确认按钮上显示"确认添加"文字
6. THE Confirmation_Dialog SHALL 在取消按钮上显示"取消"文字
### Requirement 4: 成员页面右键菜单集成
**User Story:** As a 家族树编辑者, I want 在成员页面通过右键菜单添加父母时收到提醒, so that 我不会意外触发全族代数重新计算。
#### Acceptance Criteria
1. WHEN 用户在成员页面右键点击第1代成员并选择"添加父亲" THEN THE Family_Tree_System SHALL 显示确认对话框
2. WHEN 用户在成员页面右键点击第1代成员并选择"添加母亲" THEN THE Family_Tree_System SHALL 显示确认对话框
3. WHEN 用户确认操作后 THEN THE Family_Tree_System SHALL 跳转到新增成员页面并预填相关信息
4. WHEN 用户取消操作后 THEN THE Family_Tree_System SHALL 保持在当前页面不做任何改变
### Requirement 5: 族谱页面右键菜单集成
**User Story:** As a 家族树编辑者, I want 在族谱页面通过右键菜单添加父母时收到提醒, so that 我不会意外触发全族代数重新计算。
#### Acceptance Criteria
1. WHEN 用户在族谱页面右键点击第1代成员并选择"添加父亲" THEN THE Family_Tree_System SHALL 显示确认对话框
2. WHEN 用户在族谱页面右键点击第1代成员并选择"添加母亲" THEN THE Family_Tree_System SHALL 显示确认对话框
3. WHEN 用户确认操作后 THEN THE Family_Tree_System SHALL 跳转到新增成员页面并预填相关信息
4. WHEN 用户取消操作后 THEN THE Family_Tree_System SHALL 关闭右键菜单并保持在当前页面
### Requirement 6: 添加关系对话框集成
**User Story:** As a 家族树编辑者, I want 在使用添加关系对话框添加父母时收到提醒, so that 所有添加父母的入口都有一致的提醒体验。
#### Acceptance Criteria
1. WHEN 用户通过 AddRelationDialog 组件为第1代成员添加父亲 THEN THE Family_Tree_System SHALL 显示确认对话框
2. WHEN 用户通过 AddRelationDialog 组件为第1代成员添加母亲 THEN THE Family_Tree_System SHALL 显示确认对话框
3. WHEN 用户在对话框中关联已有成员作为父母 THEN THE Family_Tree_System SHALL 在关联前显示确认对话框
4. WHEN 用户在对话框中创建新成员作为父母 THEN THE Family_Tree_System SHALL 在创建前显示确认对话框