DevOps业务价值流:架构设计最佳实践

news2024/11/8 20:07:08

系统设计阶段作为需求与研发之间的桥梁,在需求设计阶段的原型设计评审环节,尽管项目组人员可能未完全到齐,但关键角色必须到位,包括技术组长和测试组长。这一安排旨在同步推进两项核心任务:一是完成系统的架构设计,确保技术方案的合理性和可行性;二是为研发阶段做好充分准备,包括资源调配、工具准备等。

通过这一安排,项目能够在架构设计与研发准备两方面同步推进,为后续工作奠定坚实基础。

  1. 业务共识易达成:关键角色的早期参与有助于深入理解业务需求,促进团队间的沟通与共识。

  2. 架构设计更稳健:技术组长引领团队制定科学、合理的系统架构,确保技术方案的可行性和系统的稳定性。

  3. 工作量预估更精准:由于关键角色对项目有深入了解,他们能够更准确地预估工作量,避免进度延误。

  4. 需求澄清更顺畅:前期充分的沟通和理解有助于需求澄清过程更加顺畅,减少后续开发中的误解和偏差。

  5. 项目启动更顺利:由于项目在前期得到了充分的规划和准备,项目启动阶段将更加顺利,为后续的研发和测试工作奠定良好基础。

4.1 架构设计

4.1.1目标:

明确架构设计的总体目标,即构建一个高效、可扩展、安全且易于维护的程序系统。

4.1.2具体流程:
  1. 解析解决方案与需求规格说明书

    1. 深入分析需求规格说明书,理解系统的业务逻辑和功能需求。

    2. 研究解决方案,确定技术选型和架构风格。

  2. 模块划分

    1. 根据功能需求和业务逻辑,将系统划分为多个独立的模块。

    2. 确保每个模块具有明确的职责和清晰的接口。

  3. 功能分配

    1. 将系统功能分配到各个模块中,确保功能分配合理且均衡。

    2. 识别模块间的交互关系,设计模块间的通信机制。

  4. 接口设计

    1. 设计模块间的接口,包括数据格式、通信协议和调用方式。

    2. 确保接口的稳定性和兼容性,便于系统的扩展和维护。

  5. 数据结构设计

    1. 设计系统的数据结构,包括数据库表结构、数据对象和类结构等。

    2. 确保数据结构的高效性和可扩展性,满足系统的性能需求。

  6. 运行设计

    1. 设计系统的运行环境和部署策略,包括服务器配置、负载均衡和容错机制等。

    2. 评估系统的性能需求,设计性能监控和优化方案。

  7. 安全设计

    1. 设计系统的安全策略,包括身份验证、权限控制、数据加密和日志审计等。

    2. 确保系统的安全性,防止恶意攻击和数据泄露。

  8. 出错处理设计

    1. 设计系统的出错处理机制,包括异常捕获、错误日志记录和错误恢复等。

    2. 确保系统在出现错误时能够迅速恢复并继续运行。

  9. 编写系统架构设计书

    1. 整理架构设计过程中的所有文档和图表,编写系统架构设计书。

    2. 确保架构设计书内容详实、清晰,便于后续的开发和测试工作。

4.2 任务拆分

4.2.1目标:

将本次迭代中需求细化为可执行的小任务,确保每个任务都有明确的责任人和完成时间。

4.2.2具体流程:
  1. 任务粒度确定

    1. 深入理解需求规格说明书,分析需求的复杂度和工作量,确保任务划分既能覆盖所有需求点,又能保持适当的粒度。建议0.5-2天。

  2. 任务依赖分析

    1. 绘制任务依赖图:使用项目管理工具(如甘特图、PERT图等)绘制任务之间的依赖关系,明确任务之间的先后顺序和逻辑联系。

  3. 工作量评估

    1. 在责任分配之前进行:采用合适的评估方法(参考公司项目估算方法),对每个任务的工作量进行准确评估。

    2. 根据评估结果,初步制定项目进度计划和资源需求概览。

  4. 责任分配

    1. 基于工作量评估结果:将任务分配给具体的团队成员,确保每个任务都有明确的责任人,并且团队成员的能力与任务的工作量相匹配。

    2. 考虑团队成员的当前工作负荷、专业技能和兴趣,以及任务之间的协作需求。

  5. 识别关键路径

    1. 在任务依赖图和资源分配方案的基础上,识别影响项目进度的关键任务路径。

    2. 确保关键路径上的任务得到优先执行和足够的资源支持。

  6. 制定详细计划与调整

    1. 根据工作量评估和责任分配的结果,制定详细的项目进度计划和资源分配方案。

    2. 在项目执行过程中,根据项目进度和资源使用情况,动态调整任务计划和资源分配方案。

4.3 项目初始化

4.3.1目标:

为项目的后续开发工作做好准备,确保项目能够顺利进行。

4.3.2具体流程:
  1. 组建项目团队

    1. 确定项目团队成员的角色和职责,确保团队成员具备所需的专业技能。

  2. 搭建测试环境

    1. 搭建符合系统要求的测试环境,包括硬件和软件配置。

  3. 数据库脚本初始化

    1. 编写和执行数据库初始化脚本,确保数据库结构和数据的正确性。

  4. 代码库初始化

    1. 初始化代码库,建立版本控制机制,确保代码的安全性和可追溯性。

  5. 工具权限开通

    1. 为团队成员开通所需的开发工具和服务权限,确保他们能够顺利开展工作。

4.4 需求澄清

4.4.1目标:

确保项目团队成员对需求有共同的理解,避免后续开发过程中的误解和偏差。

4.4.2具体流程:
  • 组织需求澄清会议,邀请相关方参与讨论,确保需求被准确理解和传达。

  • 整理会议记录,形成需求澄清文档,作为后续开发和测试的依据。

4.5 需求交付件入配置库

4.5.1目标:

确保需求交付件得到妥善保存和管理,便于后续开发和测试工作的顺利进行。

4.5.2具体流程:

将需求交付件(如需求规格说明书、原型设计等)存入配置库,并进行版本控制,确保文档的安全性和可追溯性。

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

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

相关文章

分享:文本转换工具:PDF转图片,WORD转PDF,WORD转图片

前言 鉴于网上大多数在线转换工具要么需要收费,要么免费后但转换质量极差的情况,本人开发并提供了PDF转图片,WORD转PDF,WORD转图片等的文本转换工具。 地址 http://8.134.236.93/entry/login 账号 账号:STAR001&a…

sublime可以写python吗

首先你需要安装一个Sublime Text(http://www.sublimetext.com/)和一个Python(https://www.python.org/downloads/), 接下来打开Sublime Text: 1、如下图所示,点击菜单栏中的Tools —> Buil…

聊一聊Elasticsearch的基本原理与形成机制

1、搜索引擎的基本原理 通常搜索引擎包括:数据采集、文本分析、索引存储、搜索等模块,它们之间的协作流程如下图: 数据采集模块负责采集需要搜索的数据源。 文本分析模块是将结构化数据中的长文本切分成有实际意义的词,这样用户…

IO流篇(一、File)

目录 一、学习前言 二、文件简介 三、文件使用 1. 绝对路径 vs 相对路径 2. 路径分隔符 3. 属性(字段) 4. 构造方法 5. 常用方法 5.1. 获取文件的相关信息 5.2. 判断功能 5.3. 新建和删除 5.4. 文件的获取 5.5. 重命名文件 四、文件使用练习…

【部署glm4】属性找不到、参数错误问题解决(思路:修改模型包版本)

前言:在部署glm时,遇到了一些属性找不到、参数错误的问题,通常遇到这种问题都是因为模型包版本问题导致的,要注意模型版本是否可用。 【运行官方vllm_cli_demo.py】报错 GLM-4: [rank0]: Traceback (most recent call last): [ran…

全双工通信协议WebSocket——使用WebSocket实现智能学习助手/聊天室功能

一.什么是WebSocket? WebSocket是基于TCP的一种新的网络协议。它实现了浏览器与服务器的全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输 HTTP 协议是一种无状态的、无连接的、单向的应用…

【Linux】冯诺依曼体系、再谈操作系统

目录 一、冯诺依曼体系结构: 1、产生: 2、介绍: 二、再谈操作系统: 1、为什么要管理软硬件资源: 2、操作系统如何进行管理: 3、库函数: 4、学习操作系统的意义: 一、冯诺依曼…

Linux的目录结构 | 命令的认识 | 相对路径 | 绝对路径 | 常用命令(一)

文章目录 1.Linux的目录结构2.命令的认识3.相对路径和绝对路径4.常用命令(目录文件操作)5.常用命令(文本查看) 1.Linux的目录结构 \ :根目录 root:root用户的工作目录 home:普通用户的工作目录 …

linux nvidia/cuda安装

1.查看显卡型号 lspci |grep -i vga2.nvidia安装 2.1在线安装 终端输入(当显卡插上之后,系统会有推荐的安装版本) ubuntu-drivers devices可得到如下内容 vendor : NVIDIA Corporation model : TU104GL [Tesla T4] driver : nvid…

简单又便宜的实现电脑远程开机唤醒方法

现有的远程开机方案 1)使用向日葵开机棒 缺点是比较贵一点,开机棒要一百多,而且查了评论发现挺多差评说不稳定,会有断联和无法唤醒的情况,而且设置也麻烦,还需要网卡支持WOL 2)使用远程开机卡 …

容器架构-Docker的成长之路

目录 1. 什么是容器 2. 容器 vs 虚拟机 3. Docker极速上手指南 环境准备 3.1 配置docker源 3.2 下载镜像加速的配置 3.3 下载自动补全工具 4. Docker C/S架构 5. Docker的镜像管理 5.1 下载nginx:alpine镜像并查看 5.2 sl大法 5.3 删除镜像 5.4 镜像清理用的命令 5…

【开源社区】ELK 磁盘异常占用解决及优化实践

1、问题及场景描述 本文主要讨论在 CentOS环境下基于 rpm 包部署 ELK 系统磁盘异常占用的问题解析和解决方案。 生产问题描述:以下问题现实场景基于ELK体系下,ES服务的磁盘占用问题解析。默认情况下,基于 RPM 安装的 Elasticsearch 服务的安…

仪表板展示|DataEase看中国:历年双十一电商销售数据分析

背景介绍 2024年“双十一”购物季正在火热进行中。自2009年首次推出至今,“双十一”已经成为中国乃至全球最大的购物狂欢节,并且延伸到了全球范围内的电子商务平台。随着人们消费水平的提升以及电子商务的普及,线上销售模式也逐渐呈现多元化…

【深度学习】论文笔记:空间变换网络(Spatial Transformer Networks)

博主简介:努力学习的22级计算机科学与技术本科生一枚🌸博主主页: Yaoyao2024往期回顾: 【机器学习】有监督学习由浅入深讲解分类算法Fisher算法讲解每日一言🌼: 今天不想跑,所以才去跑,这才是长…

基于java+SpringBoot+Vue的旅游管理系统设计与实现

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis Maven mysql5.7或8.0等等组成&#x…

【HarmonyOS】not supported when useNormalizedOHMUrl is not true.

【HarmonyOS】 not supported when useNormalizedOHMUrl is not true. 问题背景: 集成三方库编译时,IDE提示报错信息如下: hvigor ERROR: Bytecode HARs: [cashier_alipay/cashiersdk] not supported when useNormalizedOHMUrl is not true…

如何对LabVIEW软件进行性能评估?

对LabVIEW软件进行性能评估,可以从以下几个方面着手,通过定量与定性分析,全面了解软件在实际应用中的表现。这些评估方法适用于确保LabVIEW程序的运行效率、稳定性和可维护性。 一、响应时间和执行效率 时间戳测量:使用LabVIEW的时…

gitlab项目如何修改主分支main为master,以及可能遇到的问题

如果你希望将 Git 仓库的主分支名称从 main 修改为 master: 1. 本地修改分支名称 首先,切换到 main 分支: git checkout main将 main 分支重命名为 master: git branch -m main master2. 更新远程仓库 将本地更改推送到远程仓库…

(六千字心得笔记)零基础C语言入门第八课——函数(上)

文章目录 一、函数的概念1.1 函数的概念 二、库函数2.1 标准库和头文件2.2 库函数的使用方法sqrt函数(举例)功能包含的头文件实践2.2.4 库函数文档的一般格式 三、自定义函数3.1 自定义函数的语法形式3.2 函数的举例 四、形参和实参4.1 实参4.1 形参4.3 …

案例精选 | 河北省某检察院安全运营中异构日志数据融合的实践探索

河北省某检察院是当地重要的法律监督机构,肩负着维护法律尊严和社会公平正义的重要职责。该机构依法独立行使检察权,负责对犯罪行为提起公诉,并监督整个诉讼过程,同时积极参与社会治理,保护公民权益,推动法…