Skip to content

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 安全验收

  • 安全测试通过
  • 权限控制验证通过
  • 数据安全验证通过