# 项目管理系统功能规格说明书 ## 文档信息 - **文档版本**: V1.0 - **创建日期**: 2026-01-26 - **文档类型**: 功能规格说明书 (FSD) --- ## 1. 引言 ### 1.1 文档目的 本文档详细描述项目管理系统的各项功能规格,为系统设计和开发提供详细的功能说明。 ### 1.2 适用范围 本文档适用于项目管理系统开发团队,包括前端开发、后端开发、测试人员等。 ### 1.3 参考文档 - 《项目管理系统产品需求文档》 --- ## 2. 用户管理功能规格 ### 2.1 用户登录功能 #### 2.1.1 功能描述 用户通过用户名和密码登录系统。 #### 2.1.2 输入参数 - 用户名:字符串,长度3-20字符 - 密码:字符串,长度8-20字符 #### 2.1.3 处理逻辑 1. 验证用户名和密码是否为空 2. 验证用户名是否存在 3. 验证密码是否正确 4. 验证用户状态是否正常 5. 登录成功后创建会话 6. 记录登录日志 #### 2.1.4 输出结果 - 登录成功:跳转到系统首页 - 登录失败:显示错误提示信息 #### 2.1.5 异常处理 - 用户名不存在:提示"用户名或密码错误" - 密码错误:提示"用户名或密码错误" - 用户被禁用:提示"账号已被禁用,请联系管理员" - 系统异常:提示"系统异常,请稍后重试" ### 2.2 用户创建功能 #### 2.2.1 功能描述 管理员创建新用户账号。 #### 2.2.2 输入参数 - 用户名:字符串,长度3-20字符,必填 - 密码:字符串,长度8-20字符,必填 - 确认密码:字符串,必填 - 真实姓名:字符串,长度2-20字符,必填 - 部门:枚举值,必填 - 联系电话:字符串,选填 - 邮箱:字符串,选填 - 角色:枚举值,必填 #### 2.2.3 处理逻辑 1. 验证输入参数的完整性和格式 2. 验证用户名是否已存在 3. 验证密码和确认密码是否一致 4. 验证邮箱格式是否正确 5. 对密码进行加密处理 6. 生成用户ID 7. 保存用户信息到数据库 8. 记录操作日志 #### 2.2.4 输出结果 - 创建成功:提示"用户创建成功",清空表单 - 创建失败:显示错误提示信息 #### 2.2.5 异常处理 - 用户名已存在:提示"用户名已存在" - 密码不一致:提示"两次输入的密码不一致" - 邮箱格式错误:提示"邮箱格式不正确" - 数据库异常:提示"系统异常,请稍后重试" ### 2.3 用户编辑功能 #### 2.3.1 功能描述 管理员编辑用户基本信息。 #### 2.3.2 输入参数 - 用户ID:字符串,必填 - 真实姓名:字符串,必填 - 部门:枚举值,必填 - 联系电话:字符串,选填 - 邮箱:字符串,选填 - 角色:枚举值,必填 #### 2.3.3 处理逻辑 1. 验证输入参数的完整性和格式 2. 验证用户ID是否存在 3. 验证邮箱格式是否正确 4. 更新用户信息到数据库 5. 如果角色发生变化,更新用户权限 6. 记录操作日志 #### 2.3.4 输出结果 - 编辑成功:提示"用户信息更新成功" - 编辑失败:显示错误提示信息 #### 2.3.5 异常处理 - 用户不存在:提示"用户不存在" - 邮箱格式错误:提示"邮箱格式不正确" - 数据库异常:提示"系统异常,请稍后重试" ### 2.4 密码重置功能 #### 2.4.1 功能描述 管理员重置用户密码。 #### 2.4.2 输入参数 - 用户ID:字符串,必填 - 新密码:字符串,长度8-20字符,必填 - 确认密码:字符串,必填 #### 2.4.3 处理逻辑 1. 验证输入参数的完整性 2. 验证用户ID是否存在 3. 验证新密码和确认密码是否一致 4. 对新密码进行加密处理 5. 更新用户密码到数据库 6. 记录操作日志 #### 2.4.4 输出结果 - 重置成功:提示"密码重置成功" - 重置失败:显示错误提示信息 #### 2.4.5 异常处理 - 用户不存在:提示"用户不存在" - 密码不一致:提示"两次输入的密码不一致" - 数据库异常:提示"系统异常,请稍后重试" ### 2.5 用户列表功能 #### 2.5.1 功能描述 展示所有用户列表。 #### 2.5.2 输入参数 - 页码:整数,默认1 - 每页数量:整数,默认10 - 搜索关键词:字符串,选填 #### 2.5.3 处理逻辑 1. 验证分页参数 2. 根据搜索关键词查询用户列表 3. 计算总记录数和总页数 4. 返回用户列表数据 #### 2.5.4 输出结果 - 用户列表数据 - 分页信息 #### 2.5.5 异常处理 - 参数错误:提示"参数错误" - 数据库异常:提示"系统异常,请稍后重试" --- ## 3. 项目管理功能规格 ### 3.1 项目创建功能 #### 3.1.1 功能描述 市场部人员创建新项目。 #### 3.1.2 输入参数 **基本信息** - 项目名称:字符串,长度2-100字符,必填 - 项目状态:枚举值,默认"未开始" - 负责人:字符串,必填 - 联系电话:字符串,选填 - 邮箱:字符串,选填 **项目描述** - 项目背景:字符串,选填 - 项目目标:字符串,选填 - 项目范围:字符串,选填 **项目团队** - 成员列表:数组,每个成员包含姓名、角色、部门 **项目时间** - 开始日期:日期,必填 - 预计结束日期:日期,必填 - 实际结束日期:日期,选填 **项目预算** - 总预算:数字,必填 - 已使用:数字,默认0 - 剩余:数字,自动计算 **项目里程碑** - 里程碑列表:数组,每个里程碑包含名称、计划日期、实际日期、状态 **项目风险** - 风险列表:数组,每个风险包含描述、等级、应对措施 **项目备注** - 备注:字符串,选填 #### 3.1.3 处理逻辑 1. 验证用户是否有创建项目权限 2. 验证必填参数是否完整 3. 验证日期格式是否正确 4. 验证预算数据是否合法 5. 生成项目编号 6. 生成项目ID 7. 计算剩余预算 8. 保存项目信息到数据库 9. 创建项目创建历史记录 10. 记录操作日志 #### 3.1.4 输出结果 - 创建成功:提示"项目创建成功",跳转到项目列表 - 创建失败:显示错误提示信息 #### 3.1.5 异常处理 - 无权限:提示"您没有创建项目的权限" - 参数错误:提示"请填写必填项" - 日期错误:提示"日期格式不正确" - 数据库异常:提示"系统异常,请稍后重试" ### 3.2 项目编辑功能 #### 3.2.1 功能描述 用户编辑项目信息。 #### 3.2.2 输入参数 - 项目ID:字符串,必填 - 项目信息:项目完整信息(同创建参数) #### 3.2.3 处理逻辑 1. 验证用户是否有编辑项目权限 2. 验证项目ID是否存在 3. 获取项目当前信息 4. 对比修改前后的数据 5. 验证必填参数是否完整 6. 验证日期格式是否正确 7. 验证预算数据是否合法 8. 更新项目信息到数据库 9. 记录修改历史(只记录有变化的字段) 10. 更新最后修改时间和修改人 11. 记录操作日志 #### 3.2.4 输出结果 - 编辑成功:提示"项目信息更新成功" - 编辑失败:显示错误提示信息 #### 3.2.5 异常处理 - 项目不存在:提示"项目不存在" - 参数错误:提示"请填写必填项" - 日期错误:提示"日期格式不正确" - 数据库异常:提示"系统异常,请稍后重试" ### 3.3 项目查看功能 #### 3.3.1 功能描述 用户查看项目详情。 #### 3.3.2 输入参数 - 项目ID:字符串,必填 #### 3.3.3 处理逻辑 1. 验证项目ID是否存在 2. 查询项目详细信息 3. 查询项目修改历史记录 4. 返回项目详情和历史记录 #### 3.3.4 输出结果 - 项目详细信息 - 项目修改历史记录 #### 3.3.5 异常处理 - 项目不存在:提示"项目不存在" - 数据库异常:提示"系统异常,请稍后重试" ### 3.4 项目列表功能 #### 3.4.1 功能描述 展示所有项目列表。 #### 3.4.2 输入参数 - 页码:整数,默认1 - 每页数量:整数,默认10 - 搜索关键词:字符串,选填 - 项目状态:枚举值,选填 - 负责人:字符串,选填 #### 3.4.3 处理逻辑 1. 验证分页参数 2. 根据筛选条件查询项目列表 3. 计算总记录数和总页数 4. 返回项目列表数据 #### 3.4.4 输出结果 - 项目列表数据 - 分页信息 #### 3.4.5 异常处理 - 参数错误:提示"参数错误" - 数据库异常:提示"系统异常,请稍后重试" --- ## 4. 项目历史记录功能规格 ### 4.1 历史记录记录功能 #### 4.1.1 功能描述 自动记录项目修改历史。 #### 4.1.2 输入参数 - 项目ID:字符串,必填 - 操作类型:枚举值,必填 - 操作人:字符串,必填 - 修改数据:对象,必填 #### 4.1.3 处理逻辑 1. 生成历史记录ID 2. 记录操作时间 3. 对比修改前后的数据 4. 提取变化的字段 5. 保存历史记录到数据库 #### 4.1.4 输出结果 - 记录成功:无返回 - 记录失败:记录错误日志 #### 4.1.5 异常处理 - 数据库异常:记录错误日志,不影响主流程 ### 4.2 历史记录查看功能 #### 4.2.1 功能描述 查看项目修改历史。 #### 4.2.2 输入参数 - 项目ID:字符串,必填 - 页码:整数,默认1 - 每页数量:整数,默认10 - 修改人:字符串,选填 - 开始时间:日期,选填 - 结束时间:日期,选填 #### 4.2.3 处理逻辑 1. 验证项目ID是否存在 2. 根据筛选条件查询历史记录 3. 按时间倒序排列 4. 计算总记录数和总页数 5. 返回历史记录数据 #### 4.2.4 输出结果 - 历史记录列表 - 分页信息 #### 4.2.5 异常处理 - 项目不存在:提示"项目不存在" - 参数错误:提示"参数错误" - 数据库异常:提示"系统异常,请稍后重试" --- ## 5. 项目统计功能规格 ### 5.1 项目筛选功能 #### 5.1.1 功能描述 管理员通过多种条件筛选项目。 #### 5.1.2 输入参数 - 项目编号:字符串,选填 - 项目名称:字符串,选填 - 项目状态:枚举值,选填 - 负责人:字符串,选填 - 创建开始日期:日期,选填 - 创建结束日期:日期,选填 - 修改开始日期:日期,选填 - 修改结束日期:日期,选填 - 部门:字符串,选填 #### 5.1.3 处理逻辑 1. 验证用户是否有筛选权限 2. 验证日期格式是否正确 3. 构建查询条件 4. 执行查询 5. 返回筛选结果 #### 5.1.4 输出结果 - 筛选后的项目列表 #### 5.1.5 异常处理 - 无权限:提示"您没有筛选项目的权限" - 参数错误:提示"参数错误" - 数据库异常:提示"系统异常,请稍后重试" ### 5.2 项目统计功能 #### 5.2.1 功能描述 管理员查看项目统计数据。 #### 5.2.2 输入参数 - 统计维度:枚举值,必填 - 时间范围:开始日期、结束日期,选填 #### 5.2.3 处理逻辑 1. 验证用户是否有统计权限 2. 根据统计维度查询数据 3. 根据时间范围过滤数据 4. 计算统计指标 5. 返回统计结果 #### 5.2.4 输出结果 - 统计数据 - 统计图表数据 #### 5.2.5 异常处理 - 无权限:提示"您没有查看统计的权限" - 参数错误:提示"参数错误" - 数据库异常:提示"系统异常,请稍后重试" --- ## 6. 数据验证规则 ### 6.1 用户数据验证 - 用户名:3-20字符,只能包含字母、数字、下划线 - 密码:8-20字符,必须包含字母和数字 - 真实姓名:2-20字符 - 邮箱:标准邮箱格式 - 联系电话:11位数字 ### 6.2 项目数据验证 - 项目名称:2-100字符 - 项目编号:自动生成,格式PRJ+年份+序号 - 项目状态:枚举值(未开始、进行中、已完成、已暂停、已取消) - 预算:非负数 - 日期:YYYY-MM-DD格式 --- ## 7. 业务流程图 ### 7.1 用户创建流程 1. 管理员登录系统 2. 进入用户管理页面 3. 点击"创建用户"按钮 4. 填写用户信息 5. 提交表单 6. 系统验证数据 7. 保存用户信息 8. 提示创建成功 ### 7.2 项目创建流程 1. 市场部人员登录系统 2. 进入项目管理页面 3. 点击"创建项目"按钮 4. 填写项目信息 5. 提交表单 6. 系统验证数据 7. 生成项目编号 8. 保存项目信息 9. 记录创建历史 10. 提示创建成功 ### 7.3 项目编辑流程 1. 用户登录系统 2. 进入项目列表页面 3. 选择要编辑的项目 4. 点击"编辑"按钮 5. 修改项目信息 6. 提交表单 7. 系统验证数据 8. 对比修改前后的数据 9. 更新项目信息 10. 记录修改历史 11. 提示更新成功 --- ## 8. 附录 ### 8.1 枚举值定义 #### 用户角色 - ADMIN:管理员 - MARKETING:市场部 - OTHER:其他部门 #### 项目状态 - NOT_STARTED:未开始 - IN_PROGRESS:进行中 - COMPLETED:已完成 - PAUSED:已暂停 - CANCELLED:已取消 #### 操作类型 - CREATE:创建 - UPDATE:更新 - DELETE:删除 #### 部门 - MARKETING:市场部 - TECHNOLOGY:技术部 - DESIGN:设计部 - FINANCE:财务部 - HR:人力资源部 ### 8.2 错误码定义 - 1001:用户名或密码错误 - 1002:用户不存在 - 1003:用户名已存在 - 1004:密码不一致 - 2001:项目不存在 - 2002:无权限操作 - 3001:参数错误 - 9999:系统异常 ### 8.3 变更记录 | 版本 | 日期 | 修改人 | 修改内容 | |------|------|--------|----------| | V1.0 | 2026-01-26 | - | 初始版本创建 |