Redmine系统需求分析¶
1. 项目概述¶
1.1 产品描述¶
Redmine是一个开源的、基于Web的项目管理和缺陷跟踪工具。它用日历和甘特图辅助项目及进度可视化显示,同时支持多项目管理。Redmine是一个自由开放源码软件的解决方案,提供集成的项目管理功能、问题跟踪,并为多个版本控制选项提供支持。
1.2 产品目标¶
- 提供高效的项目管理解决方案
- 支持多项目并行管理
- 提供完整的问题跟踪和缺陷管理功能
- 支持团队协作和版本控制集成
- 提供直观的可视化界面
2. 功能需求分析¶
2.1 项目管理功能¶
2.1.1 项目创建和管理¶
- 功能描述:用户可以创建新项目,设置项目基本信息
- 输入:项目名称、项目标识符、项目描述
- 输出:创建成功的项目记录
- 业务规则:
- 项目名称不能为空且不能重复
- 项目标识符必须唯一
- 项目标识符只能包含字母、数字、下划线和连字符
2.1.2 项目信息修改¶
- 功能描述:用户可以修改已存在项目的基本信息
- 输入:项目ID、修改后的项目信息
- 输出:更新后的项目信息
- 业务规则:
- 只有项目管理员可以修改项目信息
- 项目标识符一旦创建不能修改
2.1.3 项目列表查看¶
- 功能描述:用户可以查看所有有权限访问的项目列表
- 输入:用户权限信息
- 输出:项目列表
- 业务规则:
- 用户只能看到有权限访问的项目
- 项目列表按创建时间倒序排列
2.1.4 项目详情查看¶
- 功能描述:用户可以查看特定项目的详细信息
- 输入:项目ID
- 输出:项目详细信息
- 业务规则:
- 用户必须有项目访问权限
- 显示项目的基本信息、成员、问题统计等
2.2 问题跟踪功能¶
2.2.1 问题创建¶
- 功能描述:用户可以创建新的问题(缺陷、功能、支持)
- 输入:问题标题、描述、跟踪标签、优先级、指派给等
- 输出:创建成功的问题记录
- 业务规则:
- 问题标题不能为空
- 跟踪标签必须选择(功能/缺陷/支持)
- 优先级默认为普通
2.2.2 问题查看¶
- 功能描述:用户可以查看问题列表和问题详情
- 输入:过滤条件、问题ID
- 输出:问题列表或问题详情
- 业务规则:
- 默认显示所有开放状态的问题
- 支持按状态、跟踪标签、优先级等过滤
2.2.3 问题修改¶
- 功能描述:用户可以修改问题信息
- 输入:问题ID、修改后的信息
- 输出:更新后的问题信息
- 业务规则:
- 只有问题创建者、指派者或项目管理员可以修改
- 修改历史需要记录
2.2.4 问题状态管理¶
- 功能描述:用户可以更新问题状态
- 输入:问题ID、新状态
- 输出:状态更新结果
- 业务规则:
- 状态流转需要符合业务规则
- 状态变更需要记录历史
2.3 过滤器功能¶
2.3.1 过滤器应用¶
- 功能描述:用户可以使用过滤器筛选问题
- 输入:过滤条件(状态、跟踪标签、优先级等)
- 输出:过滤后的问题列表
- 业务规则:
- 支持多条件组合过滤
- 过滤器条件可以保存
2.3.2 自定义查询¶
- 功能描述:用户可以保存自定义的查询条件
- 输入:查询名称、过滤条件
- 输出:保存的自定义查询
- 业务规则:
- 查询名称不能重复
- 自定义查询可以设置为公开或私有
3. 非功能需求分析¶
3.1 性能需求¶
- 响应时间:页面加载时间不超过3秒
- 并发用户:支持100个并发用户同时使用
- 数据处理:单个项目支持10000个问题记录
3.2 安全需求¶
- 身份认证:支持用户名密码认证
- 权限控制:基于角色的权限管理
- 数据安全:敏感数据需要加密存储
3.3 可用性需求¶
- 系统可用性:99.5%以上
- 数据备份:每日自动备份
- 故障恢复:系统故障后4小时内恢复
3.4 兼容性需求¶
- 浏览器支持:Chrome、Firefox、Safari、Edge最新版本
- 操作系统:Windows、macOS、Linux
- 移动端:响应式设计,支持移动设备访问
4. 用户角色分析¶
4.1 系统管理员¶
- 权限:系统配置、用户管理、全局设置
- 职责:系统维护、用户权限分配
4.2 项目管理员¶
- 权限:项目管理、成员管理、项目设置
- 职责:项目创建、成员分配、项目配置
4.3 开发人员¶
- 权限:问题查看、问题修改、状态更新
- 职责:问题处理、状态更新、进度跟踪
4.4 测试人员¶
- 权限:问题创建、问题查看、问题修改
- 职责:缺陷报告、测试跟踪、问题验证
4.5 普通用户¶
- 权限:问题查看、问题创建
- 职责:问题报告、进度查看
5. 数据需求分析¶
5.1 项目数据¶
- 项目基本信息(ID、名称、标识符、描述)
- 项目配置信息(跟踪标签、状态、优先级)
- 项目成员信息(用户ID、角色、权限)
5.2 问题数据¶
- 问题基本信息(ID、标题、描述、状态)
- 问题属性(跟踪标签、优先级、指派给、创建者)
- 问题历史(状态变更、评论、附件)
5.3 用户数据¶
- 用户基本信息(ID、用户名、邮箱、姓名)
- 用户权限信息(角色、项目权限)
- 用户活动记录(登录日志、操作记录)
6. 接口需求分析¶
6.1 REST API接口¶
- 项目管理接口:创建、查询、修改、删除项目
- 问题管理接口:创建、查询、修改、删除问题
- 用户管理接口:用户信息查询、权限验证
- 过滤器接口:查询条件设置、自定义查询管理
6.2 接口规范¶
- 协议:HTTP/HTTPS
- 数据格式:JSON
- 认证方式:HTTP Basic Authentication
- 响应格式:统一JSON响应格式
7. 约束条件¶
7.1 技术约束¶
- 基于Ruby on Rails框架开发
- 数据库支持MySQL、PostgreSQL
- 版本控制集成Git、SVN
7.2 业务约束¶
- 开源软件,遵循开源协议
- 支持多语言国际化
- 支持插件扩展
7.3 环境约束¶
- 服务器环境:Linux/Unix系统
- 数据库:关系型数据库
- Web服务器:Apache/Nginx
8. 验收标准¶
8.1 功能验收¶
- 所有功能需求100%实现
- 功能测试用例100%通过
- 用户验收测试通过
8.2 性能验收¶
- 响应时间满足性能需求
- 并发用户数满足要求
- 系统稳定性测试通过
8.3 安全验收¶
- 安全测试通过
- 权限控制验证通过
- 数据安全验证通过