三、问题跟踪系统的基本功能
一套可用的问题跟踪系统,应该具备以下的基本功能:
1. 能够管理不同类型的问题
一套问题跟踪系统需要同时支持对多种类型问题的跟踪和管理。对于不同类型的问题,需能够自由定义描述字段、处理流程、人员分工和权限等相关内容。
2. 支持创建多个项目
“项目”是问题的“容器”。如果不区分项目,所有的问题将混杂在一起,无法进行管理。通过“项目”,可以将有关的问题分别组织在一起,方便查询、统计。“项目”还可用于实现对用户进行权限控制,使无关人员不能查看项目中的内容。

3. 可以自定义人员角色分组
不同类型的问题,往往有不同角色的人员参与其处理过程。问题跟踪软件需要允许用户根据需要自定义人员分组。如“客户投诉问题”的处理过程,人员角色分为:客户、服务台、服务经理、技术支持等。“产品bug”处理过程,人员角色分为:测试人员、测试经理、产品经理、开发人员等。

4. 可以自定义问题的描述字段
问题跟踪软件使用字段(Field)来描述问题的属性。不同类型的问题通常包含不同的属性集。如,“客户投诉问题”通常包含客户信息、联系方式、投诉内容等属性。“产品BUG”则通常包含BUG描述、软件版本、功能模块、现场环境等属性。因此,问题跟踪软件需要能够都每类问题分别定义字段设置。用户在创建、编辑或处理问题时,问题跟踪系统根据字段设置动态生成录入表单,供操作人填写问题的相关信息,如下图所示:

常见的字段类型有:单行文本、文本域、单选、多选、数字、布尔等类型。另外,问题跟踪系统一般还会内置一些通用的字段,比如问题的摘要、优先级、严重级等。
5. 可以自定义问题处理流程
不同类型的问题、不同的组织结构和人员规模,往往需要不同的问题处理流程与之适应。问题跟踪系统应该可以对每类问题灵活定义处理流程。
问题跟踪系统通常使用“状态”和状态之间的“转换步骤”定义工作流。“状态”表示问题所处的处理阶段,“转换步骤”表示允许在哪些状态之间流转。
