Files
xsl_node/docs/产品需求文档.md
2026-01-26 12:29:56 +08:00

483 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 项目管理系统产品需求文档
## 文档信息
- **文档版本**: 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 | - | 初始版本创建 |