# 项目管理系统产品需求文档 ## 文档信息 - **文档版本**: V1.0 - **创建日期**: 2026-01-26 - **文档类型**: 产品需求文档 (PRD) --- ## 1. 产品概述 ### 1.1 产品简介 项目管理系统是一个基于BS架构的企业级项目管理平台,旨在帮助企业实现项目全生命周期的数字化管理,包括项目创建、编辑、跟踪、统计等功能。 ### 1.2 产品目标 - 规范项目管理流程,提高项目执行效率 - 实现项目信息的集中管理和共享 - 提供完善的项目修改历史记录,便于追溯 - 支持多维度项目筛选和统计分析 ### 1.3 目标用户 - 管理员:系统最高权限用户,负责用户管理和系统维护 - 市场部人员:负责项目创建和项目信息维护 - 其他部门人员:负责项目内容的修改和更新 --- ## 2. 用户角色与权限 ### 2.1 角色定义 #### 2.1.1 管理员 **权限范围:** - 用户管理:创建、编辑、删除用户 - 权限管理:分配用户角色和权限 - 密码管理:重置用户密码 - 项目管理:查看、编辑所有项目 - 统计分析:查看所有项目统计报表 - 系统配置:管理系统基础配置 #### 2.1.2 市场部人员 **权限范围:** - 项目创建:创建新项目 - 项目编辑:编辑项目信息 - 项目查看:查看所有项目 - 历史记录:查看项目修改历史 #### 2.1.3 其他部门人员 **权限范围:** - 项目编辑:编辑项目内容 - 项目查看:查看所有项目 - 历史记录:查看项目修改历史 ### 2.2 权限矩阵 | 功能模块 | 管理员 | 市场部 | 其他部门 | |---------|--------|--------|----------| | 用户管理 | ✓ | ✗ | ✗ | | 权限管理 | ✓ | ✗ | ✗ | | 密码管理 | ✓ | ✗ | ✗ | | 项目创建 | ✓ | ✓ | ✗ | | 项目编辑 | ✓ | ✓ | ✓ | | 项目查看 | ✓ | ✓ | ✓ | | 历史记录查看 | ✓ | ✓ | ✓ | | 项目统计 | ✓ | ✗ | ✗ | | 系统配置 | ✓ | ✗ | ✗ | --- ## 3. 功能需求 ### 3.1 用户管理模块 #### 3.1.1 用户创建 **功能描述:** 管理员可以创建新用户账号 **输入信息:** - 用户名(必填,唯一) - 密码(必填,需满足安全策略) - 真实姓名(必填) - 部门(必填,可选:市场部、技术部、设计部、财务部等) - 联系电话(选填) - 邮箱(选填,需格式验证) - 角色(必填:管理员、市场部、其他部门) **业务规则:** - 用户名必须唯一,不能重复 - 密码长度不少于8位,包含字母和数字 - 邮箱格式必须正确 - 创建成功后自动分配初始权限 #### 3.1.2 用户编辑 **功能描述:** 管理员可以编辑用户基本信息 **可编辑字段:** - 真实姓名 - 部门 - 联系电话 - 邮箱 - 角色 **业务规则:** - 用户名不可修改 - 修改角色会自动更新权限 - 修改部门会影响项目创建权限 #### 3.1.3 密码管理 **功能描述:** 管理员可以重置用户密码 **操作方式:** - 选择用户 - 生成新随机密码或手动设置密码 - 通知用户新密码 **业务规则:** - 新密码需满足安全策略 - 密码重置后建议用户首次登录修改密码 #### 3.1.4 用户列表 **功能描述:** 展示所有用户信息 **显示字段:** - 用户名 - 真实姓名 - 部门 - 角色 - 创建时间 - 最后登录时间 - 状态(正常/禁用) **支持操作:** - 编辑用户 - 重置密码 - 禁用/启用用户 - 删除用户 ### 3.2 项目管理模块 #### 3.2.1 项目创建 **功能描述:** 市场部人员可以创建新项目 **创建条件:** - 用户角色为市场部或管理员 **项目信息结构:** **基本信息** - 项目编号(自动生成) - 项目名称 - 项目状态(未开始、进行中、已完成、已暂停、已取消) - 创建日期(自动生成) - 负责人 - 联系电话 - 邮箱 **项目描述** - 项目背景 - 项目目标 - 项目范围 **项目团队** - 成员列表(姓名、角色、部门) **项目时间** - 开始日期 - 预计结束日期 - 实际结束日期 **项目预算** - 总预算 - 已使用 - 剩余 **项目里程碑** - 里程碑列表(名称、计划日期、实际日期、状态) **项目风险** - 风险列表(描述、等级、应对措施) **项目备注** - 备注内容 **业务规则:** - 项目编号自动生成,格式:PRJ + 年份 + 序号(如:PRJ2025001) - 项目状态默认为"未开始" - 创建者自动记录为创建人 - 创建时间自动记录 #### 3.2.2 项目编辑 **功能描述:** 所有用户可以编辑项目信息 **编辑权限:** - 管理员:可编辑所有项目 - 市场部:可编辑所有项目 - 其他部门:可编辑所有项目 **编辑内容:** - 可编辑项目的所有字段 - 编辑后自动记录修改历史 **业务规则:** - 项目编号不可修改 - 创建日期不可修改 - 创建人不可修改 - 每次修改都记录修改历史 #### 3.2.3 项目查看 **功能描述:** 所有用户可以查看项目详情 **查看内容:** - 项目完整信息 - 项目修改历史记录 **业务规则:** - 所有用户都可以查看所有项目 - 项目修改历史按时间倒序显示 #### 3.2.4 项目列表 **功能描述:** 展示所有项目列表 **显示字段:** - 项目编号 - 项目名称 - 项目状态 - 负责人 - 创建日期 - 最后修改时间 **支持操作:** - 查看项目详情 - 编辑项目 - 查看修改历史 ### 3.3 项目历史记录模块 #### 3.3.1 历史记录记录 **功能描述:** 自动记录项目修改历史 **记录内容:** - 修改时间 - 修改人 - 修改字段 - 修改前值 - 修改后值 - 修改类型(创建、更新、删除) **记录时机:** - 项目创建时 - 项目信息修改时 - 项目状态变更时 **业务规则:** - 历史记录不可删除 - 历史记录不可修改 - 历史记录永久保存 #### 3.3.2 历史记录查看 **功能描述:** 查看项目修改历史 **显示内容:** - 修改时间 - 修改人 - 修改详情 - 修改前后的值对比 **显示方式:** - 按时间倒序排列 - 支持按修改人筛选 - 支持按时间范围筛选 ### 3.4 项目统计模块 #### 3.4.1 项目筛选 **功能描述:** 管理员可以通过多种条件筛选项目 **筛选条件:** - 项目编号 - 项目名称(模糊查询) - 项目状态 - 负责人 - 创建日期范围 - 修改日期范围 - 部门 - 项目状态 **业务规则:** - 支持多条件组合筛选 - 筛选结果可导出 - 筛选条件可保存 #### 3.4.2 项目统计 **功能描述:** 管理员可以查看项目统计数据 **统计维度:** - 按项目状态统计 - 按部门统计 - 按负责人统计 - 按创建时间统计 - 按项目预算统计 **统计指标:** - 项目总数 - 各状态项目数量 - 项目完成率 - 项目平均周期 - 预算使用率 **展示方式:** - 数据表格 - 柱状图 - 饼图 - 折线图 **业务规则:** - 统计数据实时更新 - 支持时间范围选择 - 支持统计结果导出 --- ## 4. 项目数据结构 ### 4.1 用户数据结构 ```json { "userId": "用户ID", "username": "用户名", "password": "密码(加密)", "realName": "真实姓名", "department": "部门", "phone": "联系电话", "email": "邮箱", "role": "角色", "status": "状态", "createTime": "创建时间", "lastLoginTime": "最后登录时间" } ``` ### 4.2 项目数据结构 ```json { "projectId": "项目ID", "projectNo": "项目编号", "projectName": "项目名称", "status": "项目状态", "createTime": "创建时间", "creator": "创建人", "basicInfo": { "leader": "负责人", "phone": "联系电话", "email": "邮箱" }, "description": { "background": "项目背景", "goal": "项目目标", "scope": "项目范围" }, "team": [ { "name": "姓名", "role": "角色", "department": "部门" } ], "timeInfo": { "startDate": "开始日期", "plannedEndDate": "预计结束日期", "actualEndDate": "实际结束日期" }, "budget": { "total": "总预算", "used": "已使用", "remaining": "剩余" }, "milestones": [ { "name": "名称", "plannedDate": "计划日期", "actualDate": "实际日期", "status": "状态" } ], "risks": [ { "description": "描述", "level": "等级", "measure": "应对措施" } ], "remarks": "备注", "updateTime": "最后修改时间", "lastModifier": "最后修改人" } ``` ### 4.3 项目历史记录数据结构 ```json { "historyId": "历史记录ID", "projectId": "项目ID", "projectNo": "项目编号", "operationType": "操作类型", "operator": "操作人", "operationTime": "操作时间", "changes": [ { "field": "字段名", "oldValue": "修改前值", "newValue": "修改后值" } ] } ``` --- ## 5. 系统架构 ### 5.1 技术架构 - **架构模式**: BS架构(Browser/Server) - **前端技术**: 待定 - **后端技术**: 待定 - **数据库**: 待定 ### 5.2 部署架构 - **前端**: Web浏览器访问 - **后端**: 应用服务器部署 - **数据库**: 数据库服务器部署 ### 5.3 安全架构 - 用户认证:用户名密码登录 - 权限控制:基于角色的访问控制(RBAC) - 数据加密:敏感数据加密存储 - 操作审计:记录用户操作日志 --- ## 6. 非功能性需求 ### 6.1 性能要求 - 系统响应时间:页面加载时间 < 3秒 - 并发用户数:支持至少100个并发用户 - 数据查询:复杂查询响应时间 < 5秒 ### 6.2 可用性要求 - 系统可用性:99.5% - 系统恢复时间:故障恢复时间 < 1小时 ### 6.3 安全性要求 - 密码加密:使用安全的加密算法 - 会话管理:会话超时时间30分钟 - 数据备份:每日自动备份数据 - 权限控制:严格的权限验证机制 ### 6.4 可扩展性要求 - 支持模块化扩展 - 支持新增用户角色 - 支持自定义项目字段 ### 6.5 易用性要求 - 界面简洁直观 - 操作流程清晰 - 提供操作提示 - 支持快捷键操作 --- ## 7. 附录 ### 7.1 术语表 - **BS架构**: Browser/Server架构,浏览器/服务器架构 - **RBAC**: Role-Based Access Control,基于角色的访问控制 - **PRD**: Product Requirements Document,产品需求文档 ### 7.2 参考资料 - 项目示例文件:docs/example.xsl ### 7.3 变更记录 | 版本 | 日期 | 修改人 | 修改内容 | |------|------|--------|----------| | V1.0 | 2026-01-26 | - | 初始版本创建 |