摸摸索索总结下项目生命周期经验

news2024/11/20 9:37:39

业务调研

主要是完全跟技术无关,站在业务的角度去定义系统要干嘛

组织结构图

部门+岗位

业务流程图

泳道图,一级业务流程+二级业务流程
系统多个模块的整体业务流程
每个模块内部的业务流程

业务需求

需求分析

站在技术的角度,去分析系统要干嘛

用例图

用例表:用例名称+多个参与者+每个参与者对这个用例做的事情

用例图

参与者+用例,一个用例就是一个功能需求

用例划分

每个模块都划分出对应的用例来
从业务流程图的运行节点中,抽取用例

领域类图

主要根据业务表单来抽象

  • 非功能需求
  • 物理部署需求
  • 实施需求
  • 易用性需求
  • 性能需求
  • 可靠性需求

概要设计

架构师一个人去做的

逻辑架构图

根据需求,画出来逻辑上,系统要长成什么样子

运行架构图

时序图、活动图(可选)、状态图(可选),系统的逻辑架构有了,系统跑起来是什么流程

物理架构图

组件图、配置图,系统长什么样子,系统跑起来流程是什么,系统真正怎么去部署
3.4 概要设计评审

详细设计

详细设计:下推给项目组里的每个人去做

数据架构图

  • 数据库ER模型图
  • 数据库逻辑设计图
  • 数据库物理设计图

接口设计

开发架构图

实现类图、包图

系统运行流程图(活动图)

测试用例设计

单元测试用例设计

冒烟测试用例设计

日志设计

详细设计评审

项目管理计划

每个人给出自己的排期计划

活动图

网络图

进度计划(甘特图)

资源配置

工程初始化

每个人本地的开发环境搭建

资源申请

机器、数据库、缓存、MQ,包含了各个环境的资源申请

数据库初始化

代码初始化和上传

版本控制

确定版本管理的工作流

编码开发

系统测试

单元测试(白盒测试)

冒烟测试

静态代码扫描

代码审查

集成测试

联调测试,也可能是RD自己干,不是QA干

系统测试(QA去干,黑盒测试)

验收测试

业务需求方来试用一下,验收一下,一般来说,互联网行业里做验收测试的,一般是产品经理,PM

关键点

  1. 概要设计评审:其它架构师一起评审概要设计
  2. 详细设计评审:每个同学各自设计需要研发的设计文档
  3. 代码审查:高工仔细审查代码
  4. 集成测试–>系统上线–>验收测试:仔细查看每个步骤的报告
  5. 系统上线:仔细审查同学写的上线文档步骤,高工带着一起上线

项目管理计划

就是在完成所有的技术设计之后,我们已经知道要怎么做这个系统了,但是现在的问题再于,按照什么样的节奏、步骤、和进度去完成所有的开发、测试及上线?

普通排期弊端:

  1. 排期比较粗糙、粒度比较大,排期是静态,很多时候这个排期没有组成动态的情况(存在项目间依赖的情况,会导致排期混乱的情况)
  2. 排期不透明,项目的执行进度完全不透明,每个人工作内容不清晰
  3. 外界因素,Dba搭建Mysql的版本问题导致上线延期
  4. PM修改修改需求、需求变更因素

项目管理规范

活动清单

根据经验判断一下每个人工作评估一下有没有多排期,保证排期的合理性,根据28法则,用80%的经历去排期,留下20%的buffer
在这里插入图片描述

网络图

无法复制加载中的内容

甘特图

在这里插入图片描述

资源配置表

在这里插入图片描述

风险管理

风险识别

在这里插入图片描述

风险分析

风险预案

风险监控

项目需求变更

不靠谱的需求变更

态度强硬,直接反驳回去,实在要做升级到总监级别,项目一定会delay

需求变更模板

  1. xxx系统功能
  2. 原有功能
  3. 现在改动
  4. 改动原因

RD评估

  1. 评估需求改动后要做哪些事?
  2. 需要耗费多少人日?
  3. 需要改动的步骤
  4. 调研和评估(索引的情况,性能的情况,其它服务提供的接口情况),1人日
  5. 设计实现方案(详细设计文档),1人日
  6. 重新开发,1人日
  7. 单元测试,1人日
  8. 冒烟测试,1人日
  9. 静态代码扫描,1人日
  10. 集成测试,1人日
  11. 系统测试,1人日
  12. 改动持续的时间
  13. 9.1 – 9.5日
  14. 耗费的成别
  15. 耗费总人日10天
  16. 对项目进度的影响
  17. 导致项目整体delay达到10天

靠谱的需求变更

对需求变更进行审核

架构师负责对需求变更的申请和评估报告提交给总监,技术总监负责对这个delay的时间进行考评,考量过后,确认通过审批

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

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

相关文章

JavaWeb-JSP的学习

JSP 今日目标: 理解 JSP 及 JSP 原理能在 JSP中使用 EL表达式 和 JSTL标签理解 MVC模式 和 三层架构能完成品牌数据的增删改查功能 1、JSP 概述 JSP(全称:Java Server Pages):Java 服务端页面。是一种动态的网页技术…

深拷贝和浅拷贝-M

深拷贝和浅拷贝 数据类型分为:基本数据类型和引用类型 首先基本数据类型分为:number,string,boolean,null,undefined,symbol以及未来ES10新增的BigInt(任意精度整数)七类。 引用类型分为Array,Object,Function,正则等…

Charles 流量配置(弱网测试)、断点调试

一、流量配置 流量配置主要是用来检测软件(APP)在不同的网络环境下的一个表现,例如出现丢包闪退等情况. 流量配置主要有以下四步: 在 Charles 窗口中点击菜单 “Proxy” ,选择 "Throttle Setting" 进行网络…

ChatGPT副业赚钱·Midjourney之logo设计《猪八戒网站接单制作Logo》- 第10篇

历史文章 文心一言 PK ChatGPT,二者究竟谁更胜一筹 - 第7篇 用Midjourney画个美女,AI绘画也太强大了!!! - 第8篇 推荐一款idea神级代码插件【Bito-ChatGPT】而且免费!- 第9篇 ​ 悟纤:师傅&a…

合理利用Optional 来避免NPE

一、什么是Optional 在Java中什么异常最容易出现,那肯定是NullPointerException,空指针就像一个定时炸弹,总给我们带来些麻烦,在开发过程中都会碰到需要判断Null值以防止空指针的情况,以往的方式要么是抛异常&#xf…

(3)---STM32通信

目录 【1】通信的基础知识 【2】USART 【3】串口通信协议 【4】相关寄存器 串口控制寄存器 波特率寄存器 中断和状态寄存器 数据发送寄存器 数据接收寄存器 【5】 USART功能框图 【6】串口发送实验 实验要求 1.观察实物 2.分析原理图 3.STM32CubeMX配置 4、寄存器方式编写…

选择性搜索算法(Selective Search )——SS算法

文章目录 一、前言二、object Detection VS object Recognition(Selective Search的提出)2.1object recognition与object detection的关系2.2滑动窗口方法的局限性2.3Selective search算法的提出 三、Selective Search算法3.1什么是Selective Search&…

ChatGPT工作提效之遇强则强

ChatGPT工作提效之遇强则强 前言一、如何使用ChatGPT二、ChatGPT实战应用三、ChatGPT会叫的小孩有奶吃工具类的交互问答类的交互开发类的交互 前言 读《笑傲江湖》西湖比剑时,对于独孤九剑1的解读印象颇为深刻。令狐冲被任我行这个高手激发出许多精妙的剑招。这独孤…

消息队列-RabbitMQ

文章目录 1.什么是MQ1.1 特点1.2 MQ产品分类 2.RabbitMQ2.1.RabbitMQ介绍2.2.使用Docker安装RabbitMQ 3.SpringBoot中使用RabbitMQ3.1.SpringAMQP3.2使用步骤 1.什么是MQ RabbitMQ官方文档 消息队列(Message Queue,简称MQ):是在消息的传输过程中保存消…

Learning C++ No.22【二叉树OJ题实战】

文章目录 引言:第一题:根据二叉树创建字符串第二题:二叉树的层序遍历第三题:自底向上实现层序遍历第四题:二叉树的最近公共祖先第五题:将搜索二叉树转换成双向链表第六题:从前序和中序遍历序列构…

修改USRPx410的ip地址

用 .\uhd_find_devices.exe查询设备 打印信息解释如下 在C:\Program Files\UHD\bin下打开powershell,输入如下指令ssh root@192.168.10.2 进入到设备内部 输入ifconfig,获取每个口的地址 输入ifconfig sfp0 192.168.10.3进行修改 重新.\uhd_find_devices.exe查询设备。 …

Linux:软件安装方法与命令yum.扩展ubantu系统的软件安装方法与命令apt

Linux:软件安装方法与命令yum: 这里的search可以想象成在linux的应用商店内搜索 例: 通过yum安装wget这个软件。 search搜索wget: 发现在“linux的应用市场”内有wget这个软件,现在再用yum -y install wget安装(上面已…

你好:Zookeeper

Zookeeper 初识 初识ZookeeperZookeeper 安装Zookeeper 命令操作Zookeeper数据模型服务端命令客户端命令JavaAPI操作Curator常用操作:前置环境连接Zookeeper集群创建节点查询节点修改节点删除节点事件监听机制 – Watch分布式锁实现分布式锁得API 初识Zookeeper Zo…

排序篇:外排序(排序文件中的数据)

目录 前言: 一:大体思路 二:分割成有序的小文件 (1)先给代码 (2)解析 三:进行文件归并 (1)主逻辑 (2)归并两个有序文件 四:全部代码 前言: 如果要排序的数据量非常大,内存无法容纳&…

零基础自学软件测试我只用了105天,从月薪3000到15K, 我整理的超全学习指南!

我21年毕业于管理类专业,干了大半年行政打杂,工作平淡无快感。性格较内向,思维严谨独立。喜欢软件测试工作内容的系统性,技术性,丰富性。以上便是转行的最初心理,大家觉得可妥?说干就干去年6月底…

(前期准备工作2)白嫖Replit的免费云服务器搭建属于自己的应用

Replit介绍 Replit(原来是https://repl.it)是一个基于浏览器的云端协同开发平台,可用于构建开发环境、实时协作、托管网络应用等。Replit提供可创建动态或者静态网站的容器,并会自动生成免费https域名(格式为:项目名.用户名.http://repl.co)。这代表着任何人都可以试用…

Kafka的工作原理

一、Kafka是什么? Kafka是一个分布式的基于发布/订阅模式的消息队列。分布式消息队列可以看成是将这种先进先出的数据结构独立部署在服务器上,应用程序可以通过远程访问接口使用它。 二、Kafka的工作机制是什么? 1.基本概念 2.消息模型 发…

WiFi基础学习到实战(六:Beacon帧字段解析)

欢迎大家一起学习探讨通信之WLAN。上节我们基于Android设备分析了WiFi扫描的代码实现,具体执行WiFi网络扫描由WiFi模块实现。WLAN协议定义扫描方式有“被动扫描”和“主动扫描”。本节继续分析“被动扫描”依赖Beacon帧中的字段。 好。我们先来看Android11 WiFi扫描…

会计转行数据分析,可行性多高?

看到这样的问题,第一个想法是想劝退,毕竟通过不明真相的网友身上找自己的未来,这件事听着就不靠谱。转行难,转行做好更好,虽然会计也与数据有关,但是数据分析涉及的技术内容明显有很大的差别。所以&#xf…

重塑职业未来:在竞争激烈的职场上脱颖而出的关键策略

在竞争激烈的职场上,各种职场难题时常出现,如何进行有效沟通、如何应对工作压力、如何提升职业能力等,这都是需要去克服的问题。下面分享一下职场老人的经验! 一、你遇到过哪些职场问题?分享一下你是怎么解决的呢&…