图解最详细的项目研发全流程及各阶段核心问题表

 

 

阶段

事项

核心需要关注的问题

一、需求调研

1、客户需求

- 该需求是否符合客户现有的标准和业务流程?
- 该需求是否是客户的核心需求,是否具有可行性和商业价值?
- 客户使用场景和需求的完整性如何?

2、内部需求

- 内部需求是否与客户的需求匹配?
- 内部需求是否符合组织的战略目标?
- 是否有其他部门正在研究类似的需求?

二、项目启动会议

1、项目背景

- 该项目是什么,为什么需要这个项目?
- 该项目与组织的战略目标有什么关系?
- 该项目对组织的业务影响及其重要性?

2、项目目标

- 该项目的客户目标和业务目标是什么?
- 该项目的技术目标和实现目标是什么?
- 需要达到哪些关键绩效目标或里程碑?

二、项目启动会议

1、项目背景

- 该需求是否符合业务逻辑和流程的完整性?
- 该需求的优先级和重要性,以及是否符合组织战略目标?
- 该需求是否能够满足客户和内部用户治理要求?

2、项目目标

- 该项目的客户目标和业务目标是什么?
- 该项目的技术目标和实现目标是什么?
- 需要达到哪些关键绩效目标或里程碑?

三、需求评审

1、需求评审

- 该需求是否符合业务逻辑和流程的完整性?
- 该需求的优先级和重要性,以及是否符合组织战略目标?
- 该需求是否能够满足客户和内部用户治理要求?

2、交互评审

- 交互设计是否符合用户习惯和界面规范?
- 交互设计是否符合用户流程和实际操作场景?
- 交互设计是否能够最大程度地优化用户体验?

3、工作量评估

- 该项目的工作量与预算是否匹配?
- 该项目实现的技术难度和时间复杂度如何?
- 该项目所涉及的各项工作及其时间估算是否可行和可靠?

4、确定技术方案

- 技术方案是否满足该项目的业务目标和技术目标?
- 技术方案是否适合组织的 IT 基础架构?
- 技术方案是否能够与组织其他系统集成?

四、制定项目计划

1、明确时向节点

- 项目启动和完成的时间节点是否能够按照计划实现?
- 每个阶段所要完成的任务和里程碑是否合理和可实现?
- 时间节点是否符合整个项目的紧迫性和期望?

2、明确里程碑

- 每个里程碑的实现目标和关键要素是什么?
- 每个里程碑的时间节点符合完成客户业务目标吗?
- 里程碑目标是否盘点客户需求和内部需求?

3、制定任务计划

- 每项任务是否有明确的负责人和时间节点?
- 任务实现过程中是否存在关键要素和决策?
- 任务计划是否考虑到兜底方案和项目风险?

五、技术方案设计

1、架构设计

- 架构设计是否满足客户需求和内部需求?
- 架构方案选择是否符合组织 IT 规范和基础设施?
- 架构方案是否可扩展和容错,是否支持持续集成和自动化部署?

2、数据库设计

- 数据库设计是否满足业务逻辑和数据管理要求?
- 数据库设计是否能够满足数据量和访问量的要求?
- 数据库设计是否考虑到数据备份和恢复等安全措施?

3、编码规范

- 编码规范是否符合组织编码规范要求?
- 编码规范是否将团队协作和代码可读性考虑进去?
- 是否使用了类库或开源代码,其开源许可证是否符合组织要求?

六、编码和用例

1、接口评审

- 接口设计是否符合业务逻辑和接口规范?
- 接口设计是否可扩展和易于维护?
- 接口是否安全可靠,是否存在数据安全隐患?

2、用例评审

- 用例是否符合业务需求和用户期望?
- 用例是否涵盖了所有的业务场景和异常情况?
- 用例是否经过充分测试和验证,并且满足组织的测试标准和质量要求?

3. 编码质量评估

- 代码是否符合编码规范和注释标准?
- 代码质量是否满足组织要求,并且是否可维护和易于扩展?
- 是否存在代码缺陷,是否采取了代码静态分析和测试措施来确保代码质量?

七、联调和测试

1、联调自测

- 联调过程中是否涉及到多个系统或组件?是否顺畅?
- 联调测试过程中,出现问题是否能够快速定位和解决?
- 联调和自测是否覆盖所有的业务场景和异常情况?

2、代码打包

- 代码打包流程是否自动化,是否可重复?
- 打包过程中是否包含了所有必要的依赖包和资源文件?
- 打包后的代码是否安全性和完整性得到了保障?

3、提交测试

- 测试人员是否具有足够的测试经验和测试技能?
- 提交测试的代码是否符合编码规范和测试标准?
- 提交测试的文档是否完整、规范,并且清楚描述了系统的功能和使用方法?

八、测试执行阶段

1、功能测试

- 功能测试是否覆盖了系统的所有主要功能?
- 是否根据测试用例进行了充分的测试和验证?
- 测试结果是否满足了预期要求,是否有潜在的缺陷和问题?

2、性能测试

- 是否进行了系统的压力测试、并发测试等性能测试?
- 是否设置了合理的性能测试指标和阈值,是否达到要求?
- 测试结果是否能够满足系统的并发和负载要求?

3、容错测试

- 是否进行了容错测试,测试系统能否正确处理异常情况?
- 是否对系统进行了错误处理和恢复测试?
- 测试结果是否符合预期,系统是否具有容错性和可靠性?

九、部署和发布

1、代码部署

- 部署过程是否自动化,是否容易操作?
- 是否进行了系统备份,是否有灾备措施?
- 部署后是否进行了自测和验证,确保部署成功和可用?

2、版本发布

- 发布过程是否自动化,并且与代码打包和部署步骤无缝连接?
- 发布前是否进行了回归测试和验证?
- 发布后是否有合理的版本管理措施,以便进行回滚和恢复?

原文出自:pom前沿 

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

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

相关文章

手把手教你购买阿里云服务器以及Ubuntu环境下宝塔搭建网站

阿里云服务器Ubuntu通过宝塔搭建网站详细教程 前言一、阿里云服务器的购买二、进入控制面板2.1 修改密码2.2 开放端口号 三、 测试服务器是否可以连接四、 安装nginx搭建网站(选做)五、安装宝塔5.1 登录宝塔官网5.2 卸载预装的mysql和nginx5.3 安装宝塔5.4 访问宝塔控制台5.5 修…

二叉树基础oj题目

二叉树基础oj题目及思路总结 前文中,介绍了二叉树的基本概念及基础操作,进一步对于二叉树的递归遍历及子问题的处理思想有了一定的了解。本文将带来几道二叉树经典的oj题目。 目录 二叉树基础oj题目 对称二叉树平衡二叉树二叉树的层序遍历 二叉树基…

Hadoop3完全分布式搭建

一、第一台的操作搭建 修改主机名 使用hostnamectl set-hostname 修改当前主机名 关闭防火墙和SELlinux 1,使用 systemctl stop firewalld systemctl disable firewalld 关闭防火墙 2,使用 vim /etc/selinux/config 修改为 SELINUXdisabled 使用N…

Vagrant创建Oracle RAC环境示例

利用Vagrant安装Oracle RAC(默认为non-CDB模式),生成2台虚机,耗时约1小时。 node1: -----------------------------------------------------------------node1: INFO: 2024-01-11 18:25:54: Make create database commandnode1: …

【C语言深度剖析——第三节(关键字3)】《C语言深度解剖》+蛋哥分析+个人理解

本文由睡觉待开机原创,未经允许不得转载。 本内容在csdn网站首发 欢迎各位点赞—评论—收藏 如果存在不足之处请评论留言,共同进步! 目录 1.基本数据类型2.sizeof关键字 前言: 本期我们继续探讨关于C深度解剖这本书相关内容&#…

5 python快速上手

数据类型(上) 1.整型1.1 定义1.2 独有功能1.3 公共功能1.4 转换1.5 其他1.5.1 长整型1.5.2 地板除 2. 布尔类型2.1 定义2.2 独有功能2.3 公共功能2.4 转换2.5 其他2.5.1 做条件自动转换 3.字符串类型3.1 定义3.2 独有功能(18/48)练…

MySQL锁机制与优化实践

数据库乐观和悲观锁 乐观锁 比如在数据库中设置一个版本字段,每操作一次,都会将这行对应的版本号1,这样下次更新都会拿到最新的版本号更新,如果一个事务拿到了版本号但是更新前其他人已经将版本号升级了,那么当前事务…

(3)【Python数据分析进阶】Machine-Learning模型与算法应用-线性回归与逻辑回归

目录 一、Linear Regression线性回归应用 应用案例(一)——自定义数据(Custom data) 1、下载安装sklearn库 2、导入库函数 3、加载数据集 4、创建线性回归对象 5、模型训练 6、预测结果 7、绘制模型图像 8、应用模型进行…

Python初学者须知(10)初识条件判断

本系列博客主要针对的是Python初学者。Python语言简洁、强大的特性吸引了越来越多的技术人员将他们的项目转移到Python上。目前,Python已经成为计算机行业最流行的编程语言之一。笔者考虑到Python初学者的多元化(Python学习者可能是对编程感兴趣的中学生…

vue3+vite创建项目--(傻瓜式教程)

1、运行创建项目命令 # 使用 npm npm create vitelatest # 使用 yarn yarn create vite # 使用 pnpm pnpm create vite剩下的就是启动以及一些配置信息 2、vitevue3路由配置信息 npm install vue-router4在src目录下新建目录叫“router”,新建一个js文件叫“index…

大语言模型无代码构建知识图谱(2)--环境准备

软件环境 需已安装MySQL数据库。需已安装HuggingFists系统,该系统将提供无代码的可视化数据开发环境。通过该系统利用大语言模型辅助知识图谱的构建。HuggingFists系统的安装可参考《HuggingFists-低代码玩转LLM RAG-准备篇》 流程环境 数据文件 进入HuggingFis…

Transformer 可解释性论文整理(超级详细)

Transformer 可解释性论文整理 前段时间想进一步的了解transformer的工作原理,于是找到了几篇可解释性的文章进行阅读,发现了许多比较有趣的现象和结论,对每篇文章都有自己的深度思考和理解,在此记录,欢迎交流。 1. …

Java多线程并发篇----第二十六篇

系列文章目录 文章目录 系列文章目录前言一、什么是 Executors 框架?二、什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型?三、什么是 Callable 和 Future?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分…

Halcon 边缘提取

文章目录 算子Halcon edges_image 示例Halcon frei_amp 示例Halcon kirsch_amp示例Halcon sobel_amp示例Halcon sobel_amp 算子示例Halcon sobel_dir 算子示例Halcon close_edges关闭图像间隙示例Halcon close_edges_length关闭图像间隙示例 算子 edges_image 对于图像进行边缘…

(超详细)8-YOLOV5改进-添加EMA意力机制

1、在yolov5/models下面新建一个EMA.py文件,在里面放入下面的代码 代码如下: import torch from torch import nnclass EMA(nn.Module):def __init__(self, channels, factor8):super(EMA, self).__init__()self.groups factorassert channels // sel…

MapReduce基础知识

MapReduce 1、介绍MapReduce ​ MapReduce的思想核心是“分而治之”,适用于大量复杂的任务处理场景(大规模数据处理场景)。 ​ Map负责“分”,即把复杂的任务分解为若干个“简单的任务”来并行处理。可以进行拆分的前提是这些小…

Docker(一)简介和基本概念:什么是 Docker?用它会带来什么样的好处?

作者主页: 正函数的个人主页 文章收录专栏: Docker 欢迎大家点赞 👍 收藏 ⭐ 加关注哦! 一、简介 本章将带领你进入 Docker 的世界。 什么是 Docker? 用它会带来什么样的好处? 好吧,让我们带…

IP劫持的危害分析及应对策略

在当今数字化时代,网络安全问题备受关注,其中IP劫持是一种常见而危险的威胁。本文将深入探讨IP劫持的危害,并提供一些有效的应对策略。 第一部分:IP劫持的定义 IP劫持是指黑客通过各种手段获取并篡改目标IP地址的控制权&#xf…

vue3+vite:封装Svg组件

前言 在项目开发过程中,以svg图片引入时,会遇到当hover态时图片颜色修改的场景,我们可能需要去引入另一张不同颜色的svg图片,或者用css方式修改,为了方便这种情况,需要封装svg组件来自定义宽高和颜色&…

react 页签(自行封装)

思路:封装一个页签组件,包裹页面组件,页面渲染之后把数据缓存到全局状态实现页面缓存。 浏览本博客之前先看一下我的博客实现的功能是否满足需求,实现功能: - 页面缓存 - 关闭当前页 - 鼠标右键>关闭当前 - 鼠标右…