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