当前位置: 首页 > news >正文

Devops业务价值流:软件研发最佳实践

        在当今快速迭代的软件开发环境中,DevOps业务价值流已成为推动软件研发高效与质量并重的关键实践。软件研发阶段作为产品生命周期的核心环节,其每一步都承载着将创意转化为现实的重要使命。在历经需求澄清的精准定位、架构设计的宏观规划以及项目初始化的周密筹备后,项目正式迈入实施的快车道。此时,项目经理适时组织启动会议,旨在汇聚团队智慧,确保每位成员对项目目标、职责分配及预期成果形成统一共识。遵循既定的质量规范,团队将全力以赴,依次推进编码、自测环节,并顺利将成果转交测试团队,为后续的持续优化与交付奠定坚实基础。此阶段,不仅是技术实力的展现,更是团队协作与效率的双重考验。

5.1 迭代启动会议(迭代排期会)

5.1.1目标:

目标:明确迭代目标、任务分配、时间节点和资源需求、团队拉齐共识。

5.1.2具体流程:
  • 会议召开:项目经理或团队负责人主持会议,明确迭代目标、优先级、任务分配和时间节点。

  • 任务认领:对任务划分确认,识别出不合理的更新,拉齐共识,确保任务分配的合理性和高效性。

  • 制定计划:根据会议实际情况更新详细的迭代计划,包括里程碑、检查点和风险管理。

5.2 详细设计

5.2.1目标:

基于架构设计与个人任务需求,完成自己所属任务的详细设计。

5.2.2具体流程:
  1. 需求深入剖析

    1. 详尽理解产品需求文档,明确业务逻辑、功能需求及用户实际使用场景。

    2. 与产品经理及团队其他成员沟通,确保对需求有全面且准确的认识。

  2. 前端界面与组件设计

    1. 根据需求分析结果,规划前端页面布局与交互设计。

    2. 设计前端组件,明确组件的职责、属性、事件及与其他组件的交互方式。

  3. 后端接口详细规划

    1. 根据前端需求与业务逻辑,设计后端接口,明确接口的功能、请求方式、参数及返回值。

    2. 规划接口间的调用关系与数据流,确保后端服务的逻辑清晰、高效。

  4. 后端数据库表结构确认与修改

    1. 确认设计合理性:技术组长在架构设计阶段已完成的数据库表结构设计基础上,结合最新的业务需求和功能变更,确认设计的合理性和适用性。这包括检查表结构的完整性、字段类型的准确性、索引的有效性以及约束条件的合理性。

    2. 修改设计:如果发现设计存在不合理之处或与业务需求不符,研发人员需与架构师或数据库管理员沟通,共同讨论并修改数据库表结构设计。修改可能涉及调整字段、增加或删除表、修改索引或约束条件等。

    3. 文档更新:在确认和修改设计后,更新相关的数据库设计文档,确保团队成员对最新的数据库表结构有准确的理解。

  5. 设计评审与迭代

    1. 组织设计评审会议,邀请产品经理、架构师、测试工程师等相关专家参与。

    2. 在会议上详细展示设计成果,包括前端界面设计、后端接口设计、数据库表结构等。

    3. 认真听取评审专家的意见与建议,根据评审结果进行必要的修改与优化。

    4. 如有需要,进行多次迭代设计,直至设计成果满足业务需求与团队期望。

5.3 代码编写

5.3.1目标:

按照详细设计文档编写高质量、可维护的代码。

5.3.2具体流程:
  • 工具准备:统一安装IDEA、VSCode等开发工具,并配置通义灵码插件、Alibaba Java Coding Guidelines、Checkstyle、Findbugs、SonarLint等代码规范和检查工具。

  • 编码规范:遵循统一的编码规范,确保代码的可读性和可维护性。

  • 代码编写:按照详细设计文档进行编码,实现模块功能。

5.4 单元测试

5.4.1目标:

确保自己研发模块的功能正确,提高代码质量和稳定性。

5.4.2具体流程:
  • 编写单元测试:针对每个模块的功能编写单元测试,确保功能的正确性。

  • 运行单元测试:使用测试框架(如JUnit、TestNG等)运行单元测试,检查测试结果。

  • 修复问题:根据测试结果修复代码中的问题,并重新运行单元测试,确保问题得到解决。

5.5 本地质量扫描

5.5.1目标:
5.5.2具体流程:
  • 运行扫描工具:在代码编写过程中或提交前运行扫描工具,检查代码质量。

  • 修复问题:根据扫描结果修复代码中的问题,并重新运行扫描工具,确保问题得到解决。

5.6 提交代码

5.6.1目标:

确保代码提交的规范性和可追溯性。

5.6.2具体流程:
  • 编写Commit message:在提交代码时,编写清晰明了的Commit message,说明本次提交的目的和修改内容。

  • 代码审查:提交代码后,通过代码审查工具或人工审查方式,确保代码质量。

  • 合并代码:经过审查后,将代码合并到主分支或相应的功能分支中。

5.7 研发环境进行集成测试

5.7.1目标:

在研发环境中进行前后端拉通测试,确保系统功能的完整性和稳定性。

5.7.2具体流程:
  • 前后端联调:前后端开发人员进行联调,确保接口的正确性和数据的完整性。

  • 全流程测试:按照业务流程进行全流程测试,确保系统功能的完整性和稳定性。

5.8 版本转测

5.8.1目标:

将研发环境通过自测与质量扫描的代码及脚本merge到测试环境,进行更全面的测试。

5.8.2具体流程:
  • 代码及脚本merge:将代码及脚本merge到测试环境,确保测试环境的代码与研发环境保持一致。

  • 基础数据准备:在测试环境中准备字典、配置等基础数据,确保测试环境的真实性。

  • 发布转测范围说明:编写转测范围说明文档,明确测试范围、测试重点、测试方法和测试环境等信息。

  • 通知测试部署环境并进行测试:通知测试团队部署测试环境并进行测试,确保系统功能的正确性和稳定性。

相关文章:

Devops业务价值流:软件研发最佳实践

在当今快速迭代的软件开发环境中,DevOps业务价值流已成为推动软件研发高效与质量并重的关键实践。软件研发阶段作为产品生命周期的核心环节,其每一步都承载着将创意转化为现实的重要使命。在历经需求澄清的精准定位、架构设计的宏观规划以及项目初始化的…...

Matplotlib 绘图艺术:从新手到高手的全面指南

引言 在数据科学和机器学习领域,数据可视化是一项至关重要的技能。一个优秀的可视化图表可以直观地展示数据的内在规律,帮助我们更好地理解数据,并做出更明智的决策。而在众多的绘图库中,Matplotlib 是 Python 中最强大、最灵活的…...

[ shell 脚本实战篇 ] 编写恶意程序实现需求(恶意程序A监测特定目录B出现特定文件C执行恶意操作D-windows)

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…...

SQLI LABS | Less-33 GET-Bypass AddSlashes()

关注这个靶场的其它相关笔记:SQLI LABS —— 靶场笔记合集-CSDN博客 0x01:过关流程 输入下面的链接进入靶场(如果你的地址和我不一样,按照你本地的环境来): http://localhost/sqli-labs/Less-33/ "Ad…...

界面控件DevExpress WPF中文教程:Data Grid——卡片视图设置

DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…...

flink 内存配置(一):设置Flink进程内存

flink 内存配置(一):设置Flink进程内存 flink 内存配置(二):设置TaskManager内存 flink 内存配置(三):设置JobManager内存 flink 内存配置(四)…...

贪心算法习题其三【力扣】【算法学习day.20】

前言 ###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴&am…...

速盾:高防cdn针对网站的好处有哪些?

高防CDN(Content Delivery Network)是一种网络分发技术,它能够提供可靠的网站高防护服务,有效地解决了网站遭受DDoS攻击、恶意流量等网络安全问题。高防CDN的应用已经变得越来越广泛,对于网站的好处也变得越发明显。 …...

【Java SE语法】抽象类(abstract class)和接口(interface)有什么异同?

目录 1. 抽象类与接口的基本概念 1.1 抽象类 1.2 接口 2. 抽象类与接口的异同 2.1 相同点 2.2 不同点 3. 拓展知识:多态与设计模式 3.1 多态 3.2 设计模式 4. 结论 在软件工程中,设计模式和代码结构的选择对于构建可维护、可扩展的系统至关重要…...

京准同步:GPS北斗卫星授时服务器发展趋势介绍

京准同步:GPS北斗卫星授时服务器发展趋势介绍 京准同步:GPS北斗卫星授时服务器发展趋势介绍 GPS北斗卫星授时服务器的发展趋势紧密围绕着不断提升的时间同步精度、可靠性、安全性,以及适应广泛应用场景的需求展开,以下是卫星授时…...

鸿蒙多线程开发——并发模型对比(Actor与内存共享)

1、概 述 并发是指在同一时间段内,能够处理多个任务的能力。为了提升应用的响应速度与帧率,以及防止耗时任务对主线程的干扰,HarmonyOS系统提供了异步并发和多线程并发两种处理策略。 异步并发:指异步代码在执行到一定程度后会被…...

【计算机网络】章节 知识点总结

一、计算机网络概述 1. 计算机网络向用户提供的两个最重要的功能:连通性、共享 2. 因特网发展的三个阶段: 第一阶段:从单个网络 ARPANET 向互联网发展的过程。1983 年 TCP/IP 协议成为 ARPANET 上的标准协议。第二阶段:建成三级…...

开箱即用!265种windows渗透工具合集--灵兔宝盒

【渗透工具箱】灵兔宝盒-Rabbit_Treasure_Box_V1.0.1 介绍 Rabbit_Treasure_Box_V1.0.1是一款Windows渗透工具箱,集成Dawn Launcher管理,便捷备份更新。内含脚本工具及在线安全工具,覆盖信息收集、漏洞利用、逆向破解、蓝队防御等多领域&am…...

怎么在哔哩哔哩保存完整视频

哔哩哔哩(B站)作为一个集视频分享、弹幕互动于一体的平台,吸引了大量用户。许多人希望能够将自己喜欢的完整视频保存到本地,以便离线观看或分享。直接下载视频的功能并不总是可用,因此,本文将介绍几种在哔哩哔哩上保存完整视频的方…...

CPU算法分析LiteAIServer视频智能分析平台视频智能分析:抖动、过亮与过暗检测技术

随着科技的飞速发展,视频监控系统在各个领域的应用日益广泛。然而,视频质量的好坏直接影响到监控系统的效能,尤其是在复杂多变的光照条件下和高速数据传输中,视频画面常常出现抖动、过亮或过暗等问题,导致监控视频难以…...

fastGPT调用stable diffusion生成图片,本地模型使用ollama

ps:192.168.1.100换成你的ip 一、开器stable diffusion的api访问 Git上copy的项目,在启动web-ui.bat/sh时加上--api的启动参数. /web-ui.bat --api我这里使用的stabble-diffusion-docker构建的默认就开启了 ​ ​ http://192.168.1.100:7860/docs 二…...

【jmeter】jmeter的线程组功能的详细介绍

初衷 之前在公司做的性能测试基本上都是关于数据库的,针对接口的性能测试还是比较少一点。考虑到后边大模型问答产品的推广,公司方面也要求对相关接口进行压测,也趁着这个机会,对jmeter进行深入研究,进一步加强自己性…...

高边坡安全监测系统的工作原理和应用领域

高边坡安全监测系统的工作原理主要依赖于各种先进的传感器设备,这些传感器能够实时地捕捉和记录边坡的位移、应力、裂缝、倾斜和沉降等多种关键数据。这些数据的采集是通过高精度的监测设备进行的,确保了数据的准确性和可靠性。采集到的数据随后通过高效…...

Java:多态的调用

1.什么是多态 允许不同类的对象对同一消息做不同的响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)。多态使用了一种动态绑定(dynamic binding)技术,指在执行期间判断所引用…...

A day a tweet(seventeen)——Visualize Convolution Neural Network!

a.形象化地CNNs visually explained! . .CNN(Convolution Neural Network) 卷积神经网络 a.不可思议的,难以置信的 v.使形象化CNN explainer is an incredible interactive tool to visualize the internal workings of a CNN. n.解释器;讲解员 …...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...

【单片机期末】单片机系统设计

主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...

AI,如何重构理解、匹配与决策?

AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...