项目管理平台-01-BugClose 入门介绍

拓展阅读

Devops-01-devops 是什么?

Devops-02-Jpom 简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件

代码质量管理 SonarQube-01-入门介绍

项目管理平台-01-jira 入门介绍 缺陷跟踪管理系统,为针对缺陷管理、任务追踪和项目管理的商业性应用软件

项目管理平台-01-Phabricator 入门介绍 一套集成的强大工具,帮助公司构建更高质量的软件

持续集成平台 01 jenkins 入门介绍

BugClose

bug close

jira

可在中国开源网站上借鉴类似的软件。

可针对此流程,自己设计一个练手。

简单设想

简单易用,支持扩展。

1.支持i18n 2.支持自定义 3.支持插件扩展

基础功能

用户模块

权限

1.每个任务只应该属于一个人。但是可以被多个人关注。

项目模块

包含不同的项目(Project)。

后期考虑将每次提交与项目关联,便于查看。

工作流模块

每个任务支持评论。附件。任务之间支持关联。(tree)

  • 任务类别

Require, Task, Bug, Improve, Optimize, Release

  1. 每次开发都应该源于Require(需求)——源于客户或者自身提出的一次开发需求。
  2. 每个TASK(任务)都应该隶属于某个Require——根据具体需求拆分出的任务。
  3. 每个BUG(缺陷)都应该隶属于某个TASK——开发过程中,TASK完成无法完成预期的需求。
  4. 每个Improve(改进)都应该隶属于某个TASK——TASK完成后可以继续完善。出于对用户的使用,观赏等需求。受益方是使用者。
  5. 每个Optimize(优化)应该隶属于某个TASK或者Project——代码优化,结构优化,性能调优等。受益方是开发者。
  6. 每次项目发布之前都应该有Release(发布计划)。包含本期需求设计的所有TASK, 代码修改,脚本修改等。可是使用TAG(标签),获取所有本期信息。

以上工作流后期支持自定义扩展。

  • 优先级

一般优先级只是一种约定,用户自己使用时可自己定义。但是有些约定:

Critical, Primary, Normal, Secondary

  1. Critical(紧急)一般为临时性遇到的问题,需要最优先处理。
  2. Primary(主要)一个开发过程中比较核心的位置,需要优先处理。
  3. Normal(正常)正常开发,按照正常进度开发即可。
  4. Secondary(次要)延迟开发。如果有其他任务,可考虑优先完成其他任务,当前TASK有时间再做处理。

工作流中的每一样东西都应该有优先级。可设置自定义的优先级。

  • Status

Open, Handling, Resolved, Testing, Closed, Delay

  1. Open(打开) 当任务被创建OR重新打开,任务应该处理Open状态。
  2. Handling(处理中) 当任务被着手开发或者评审拆分等,处于Handling状态。
  3. Resolved(解决) 当任务开发或者分析完毕,处于Resolved状态。
  4. Testing(测试中) 当任务Resolved后进行测试验证,处于Testing状态。测试无问题,进入
  5. Closed(关闭) 当任务Testing完毕后且没有问题,则进入Closed状态。或者其他原因,无需开发等,也可以直接关闭。
  6. Delay(延期) 当任务由于排期或者其他原因造成不能按照进度进行时,可切到Delay.

注意:

  1. 需要考虑添加状态保护,状态切换需要条件。具体可在讨论。
  • TAG

支持默认标签,以及自定义扩展。

独立模块。可以用于标识几乎所有的东西。 如对Project, User, Wiki, Task...都可以打标签。 有利于快速查询及分类统计。

统计模块

1.对当前的任务进度等进行统计。每个人的完成量各方面。支持自定义。

可关|注公|众|号【老马啸西风】,更多技术文章。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/759655.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【python + Django】Django模板语法 + 请求和响应

前言: 现在现在,我们要开始将变量的值展现在页面上面啦! 要是只会显示静态页面,我们的页面也太难看和死板了, 并且数据库的数据也没法展现在页面上。 但是呢,模板语法学习之后就可以啦!&…

【大模型服务】01EdgeFM: Leveraging Foundation Model for Open-set Learning on the Edge

该文发表在 SenSys’23(CCF B) 上,作者是来自港中文的鄢振宇。这是一篇关于云端协同的文章,主要解决边缘设备深度模型的泛化性不足问题,实现 Open-set Learning。 文章目录 背景Open-Set Recognition 的挑战EdgeFM 整体架构图云端&#xff1…

CAPL如何使用socket套接字实现TCP通信(建立连接)

socket套接字相关的文章我们已经写过太多,这里就不再展开。CAPL使用socket实现TCP活UDP通信,在文章《【CANoe示例分析】TCP/UDP Server/Client》也有过介绍,但主要介绍的是工程示例,代码分析比较粗略,今天重点介绍下CAPL代码如何实现socket套接字在TCP通信中的使用。 首先…

21---EEPROM电路设计

视频链接 EEPROM电路设计01_哔哩哔哩_bilibili EEPROM电路设计 1、存储器的分类 一般根据掉电丢失来划分的存储器。可分为易失性存储器和非易失性储存器。 ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据。 1.1、易失性存储器-R…

383.赎金信

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 思路:将magazine 中字…

升级 HarmonyOS 4 版本,腕上智慧更进一步

HUAWEI WATCH GT 3 系列升级 HarmonyOS 4 新版本后,手表体验更进一步,快来看看有哪些变化吧~

如何进行端口映射端口转发?

在互联网时代,网络安全成为一项重要的任务。端口映射端口转发是一种常用的网络安全技术,它可以实现远程访问内部网络资源的需求。本文将介绍端口映射端口转发的基本原理和应用场景,以及一种名为"天联"的解决方案。 基本原理 端口映…

种植新革命:科技赋能绿色未来

《种植新革命:科技赋能绿色未来》 一、种植技术的颠覆式创新 随着科技的飞速发展,种植技术也在经历一场颠覆式的创新。传统的种植方式,虽然历史悠久,经验丰富,但在面对现代化、大规模、高效的需求时,逐渐…

LeetCode每日一题——最后一个单词的长度

最后一个单词的长度OJ链接:58. 最后一个单词的长度 - 力扣(LeetCode) 题目: 思路 : 统计字符串中最后一个单词的长度,那么我们可以定一一个指针,从后向前开始统计,当指针指向的元素…

Nest.js Sequelize ORM到数据库(MySQL PostgreSQL)示例

Nest.js Sequelize ORM到数据库(MySQL & PostgreSQL)示例 目录 Nest.js Sequelize ORM到数据库(MySQL & PostgreSQL)示例您将学到什么先决条件步骤1:创建您的第一个NestJS Sequelize ORM应用步骤2:使用NestJS与MySQL或PostgreSQL构建Sequelize模型步骤3:使用Nes…

【LabVIEW FPGA入门】局部变量和全局变量

局部变量 无法访问某前面板对象或需要在程序框图节点之间传递数据时,可创建前面板对象的局部变量。创建局部变量后,局部变量仅仅出现在程序框图上,而不在前面板上。 局部变量可对前面板上的输入控件或显示件进行数据读写。写入局部变量相当于…

汇编语言中的start有什么用

一 START END 开头有个START 结尾有个END 1.汇编语言中的start有什么用? start就是一个标号,标志程序的入口而已,程序加载到内存之后CS:IP会指向这个标号,从START指向的指令开始运行 这个标号不一定是START,你也可以用MAIN,但在程序的最后要用END MAIN来提示程序…

流畅的 Python 第二版(GPT 重译)(十三)

第二十四章:类元编程 每个人都知道调试比一开始编写程序要困难两倍。所以如果你在编写时尽可能聪明,那么你将如何调试呢? Brian W. Kernighan 和 P. J. Plauger,《编程风格的要素》 类元编程是在运行时创建或自定义类的艺术。在 P…

Spring Data访问Elasticsearch----查询方法

Spring Data访问Elasticsearch----查询方法 一、查询lookup策略1.1 声明的查询 二、创建查询三、方法返回类型四、使用Query注解 一、查询lookup策略 Elasticsearch模块支持所有基本的查询构建功能,如字符串查询、native搜索查询、基于条件的查询和从方法名派生的查…

vue3+vite+Electron构建跨平台应用

1.搭建第一个 electron-vite 项目 electron-vite 是一个新型构建工具,旨在为 Electron 提供更快、更精简的开发体验。它主要由五部分组成: 一套构建指令,它使用 Vite 打包你的代码,并且它能够处理 Electron 的独特环境,包括 Node.js 和浏览器环境。 集中配置主进程、渲染…

局域网内怎么控制另一台电脑

局域网内怎么控制另一台电脑 在局域网内控制另一台电脑是一个相对高级的操作,通常用于远程管理、技术支持或资源共享等场景。要实现这一功能,需要确保两台电脑都连接到同一个局域网,并且已进行适当的配置。以下是几种常见的方法:…

【蓝桥杯选拔赛真题42】C++切蛋糕 第十四届蓝桥杯青少年创意编程大赛 算法思维 C++编程选拔赛真题解析

目录 C切蛋糕 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、推荐资料 C切蛋糕 第十四届蓝桥杯青少年创意编程大赛C选拔赛真题 一、题目要求 1、编程实现 有一块矩形蛋糕,小明从蛋糕…

汽车信息安全--密钥管理系统初探(2)

目录 1.HSM中的密钥管理 1.1 密钥生成 1.2 密钥分发 1.3 密钥使用 1.4 密钥存储 <

GCN-Align论文翻译

GCN-Align翻译 Cross-lingual Knowledge Graph Alignment via Graph Convolutional Networks 基于图卷积网络的跨语言知识图谱对齐 Abstract 多语言知识图&#xff08;KGs&#xff09;&#xff0c;如DBpedia和YAGO&#xff0c;包含几种不同语言的实体结构化知识&#xff0c…

linux arm64 opencv 使用MJPG获取摄像头图片

先上代码 #include <opencv2/opencv.hpp>cv::VideoCapture capture(9, cv::CAP_V4L2);if (!capture.isOpened()){qDebug() << "打开摄像头失败";return -1;}if(1){// 设置为 MJPG (Motion-JPEG, compressed)qDebug() << "MJPEG:" <…