项目生命周期

news2024/11/18 22:35:51

阶段

        项目经理或组织可以将每一个项目划分为若干个阶段,以便于有效地进行管理控制,并实施该项目组织的日常运作联系起来。

        项目划分为四个阶段:概念、计划、实施、结束

生命期

        项目阶段合在一起称为项目生命期,项目生命期确定了将项目的开始和结束连接起来的阶段。

通用生命周期的结构

        启动项目、组织与准备、执行项目工作、结束项目

        每个项目阶段都是以交付物的完成为标志,这种交付物是可度量、可验证的工作成果。

        项目阶段的结束一般以完成的工作和可交付物的技术和设计评审为标志,决定是否进入下一步阶段,在不结束就开始下一阶段,通常进行管理评审,快速跟进法。

        阶段的正式完成,不包括对后续阶段的批准。明确该阶段的任务作为正式启动。

        阶段评审的目的:判断当前阶段是否满足结束标准并进入下一个阶段、发现当前阶段中存在的问题和错误。

        阶段评审内容:当前阶段的交付物、当前阶段的项目执行情况。

项目阶段的特征

  1. 各阶段的工作重点不同,通常涉及不同的组织,处于不同的地理位置,需要不同的技能组合;
  2. 为了成功实现各阶段的主要可交付成果或目标,需要对各阶段及其活动进行独特的控制或采用独特的过程。重复执行全部五大过程组中过程,可以提供所需的额外控制,并定义阶段的边界。
  3. 阶段的结束以作为阶段性可交付成果的工作产品的转移或移交为标志,阶段结束点是重新评估项目活动,并变更或终止项目(如果必要)的一个当然时点。这个时点可称为阶段关口、里程碑、阶段审查、阶段门或关键决策点。

        阶段与阶段的关系有两种基本类型:顺序关系、交叠关系

项目里程碑

        项目里程碑是设立在项目某一阶段的目标,用来表明项目所取得的进展;

        里程碑不是任务,不是计划活动,仅是一个事件;

        可行性论证、需求、总体、概设、详设、系统实现、系统测试、系统实施、系统试运行、验收等阶段评审。

软件产品生命周期与项目生命周期的关系

        项目生命周期定义项目的开始与结束,通常按顺序排列但有时又相互交叉的一系列项目阶段的集合。

产品管理

        产品管理可以表现为如下三种不同的形式:

  1. 产品生命周期中包含项目集管理;
  2. 产品生命周期中包含单个项目管理;
  3. 项目集内的产品管理。

瀑布模型

        也叫预测型生命周期、完全计划驱动型生命周期。瀑布模型是经典的软件生命周期模型,一般将软件开发分为:可行性分析(计划)、需求分析、软件设计(概要设计、详细设计)、编码(含单元测试)、测试、运行维护等几个阶段。

V模型

        V模型左边的分别代表了需求分析、概要设计、详细设计、编码。

        

        V模型体现的主要思想是开发和测试同等重要,左侧代表的是开发活动,而右侧代表的是测试活动。V模型针对每个开发阶段,都有一个测试级别与之相对应。测试依旧是开发生命周期中的阶段,与瀑布模型不同的是,有多个测试级别与开发阶段对应。V面模型适用于需求明确和需求变更不频繁的情形。

原型化模型 

        原型化模型是弥补瀑布模型的不足而产生的。原型化模型的第一步是建造一个快速原型,实现客户或未来用户与系统的交互,经过和用户针对原型的讨论和交流,弄清需求以便真正把握用户需要的软件产品是什么。

        原型的特点:实际可行、具有最终系统的基本特征、构造方便、快速、造价低。

原型分类:

  1. 抛弃型原型;
  2. 进化型原型。

增量模型

        采用增量型生命周期的项目通过在预定的时间区间内渐进增加产品功能的一系列的迭代来产出可交付成果。只有在最后一次迭代之后,可交付成果具有了必要和足够的能力,才能被视为完整的。

螺旋模型

        螺旋模型是一个演化软件过程模型。将原型实现的迭代特征与线性顺序(瀑布)模型中控制的系统化的方面结合起来。

        在螺旋模型中,软件开发是一系列的增量发布。在早期的迭代中,发布的增量可能是一个纸上的模型或原型;在以后的迭代中,被开发系统的更加完善的版本逐步产生。

        四阶段:制订计划、风险分析、实施工程和客户评估。螺旋模型强调了风险分析,特别适用于庞大而复杂的,高风险的系统。

迭代模型

        在迭代式的过程中,每个阶段都包括不同比例的所有活动。

        采用迭代型生命周期的项目范围通常在项目生命周期的早期确定,但时间及成本会随着项目团队对产品理解的不断深入而定期修改。

        适用于:不能完整定义产品的所有需求、计划多期开发的、在开发早期需求可能有所变化、需要降低。

敏捷开发模型

        是一种以人为核心、迭代、循序渐进的开发方法。更强调程序员团队和业务专家之间的紧密协作、面对面的沟通、频繁交付新的软件版本、紧凑而自我组织型的团队,能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中的作用。

        Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发;

        特点:较小增量、快速迭代(2-4周)、变更驱动、每次交付最有价值成果;

        适用于:适合于需求不确定,不断发展变化的项目。

总结

预测型迭代型与增量型适应型
需求在开发前预先确定需求在交付期间定期细化需要在交付期间频繁细化
针对最终可交付成果制订交付计划,然后在项目结束时一次交付最终产品分次交付整体项目或产品的各个子集频繁交付对客户有价值的各个子集
尽量限制变更定期把变更融入项目在交付期间实时把变更融入项目
关键干系人在特定里程碑点参与关键干系人定期参与关键干系人持续参与
通过对基本已知的情况编制详细计划来控制风险和成本通过用新信息逐步细化计划来控制风险和成本随着需求和制约因素的显现而控制风险和成本

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

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

相关文章

Go流程控制与快乐路径原则

Go流程控制与快乐路径原则 文章目录 Go流程控制与快乐路径原则一、流程控制基本介绍二、if 语句2.1 if 语句介绍2.2 单分支结构的 if 语句形式2.3 Go 的 if 语句的特点2.3.1 分支代码块左大括号与if同行2.3.2 条件表达式不需要括号 三、操作符3.1 逻辑操作符3.2 操作符的优先级…

【k8s】ingress-nginx通过header路由到不同后端

K8S中ingress-nginx通过header路由到不同后端 背景 公司使用ingress-nginx作为网关的项目,需要在相同域名、uri,根据header将请求转发到不同的后端中在稳定发布的情况下,ingress-nginx是没有语法直接支持根据header做转发的。但是这个可以利…

ubuntu配置yolov5环境

本文硬件平台为工控机,系统环境为ubuntu18 配置yolov5步骤 1.下载pytorch和torchvision软件包 由于在线安装容易出现安装失败,所以本文使用的是本地安装。本文是基于miniconda安装的,miniconda安装参考之前的博客:ubuntu中安装m…

ssm+vue的台球厅管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频: ssmvue的台球厅管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring S…

差模电感和共模电感的差别

一、初步了解差模、共模的概念 超链接,点击鼠标打开:X电容和Y电容;差模与共模初认识 二、差模和共模电感的二者区别 共模电感和差模电感,是电路中常用的滤波电感、EMI器件,两者经常以环形电感线圈的方式存在。 首先…

理解http中cookie!C/C++实现网络的HTTP cookie

HTTP嗅探(HTTP Sniffing)是一种网络监控技术,通过截获并分析网络上传输的HTTP数据包来获取敏感信息或进行攻击。其中,嗅探器(Sniffer)是一种用于嗅探HTTP流量的工具。 在HTTP嗅探中,cookie是一…

Python一步到位实现图像转PDF自动化处理详解

什么是 img2pdf 库? img2pdf 是一个 Python 库,它可以让你轻松地把多张图像转换为 PDF 文件。它支持多种图像格式,如 JPG, PNG, GIF, BMP 等,并且可以自动调整图像的大小和方向,以适应 PDF 的页面大小和方向。它还可以…

跨域问题-笔记

这里写目录标题 一、什么是跨域:二、跨域问题解决思路:1.从浏览器入手2.从域名入手3.从jsonp入手4.从代理入手 一、什么是跨域: 跨域指的是不同服务器之间不能相互访问各自的资源或者数据,这出于一个策略——“同源策略”&#x…

【力扣】2578. 最小和分割

【力扣】2578. 最小和分割 文章目录 【力扣】2578. 最小和分割1. 题目介绍2. 思路3. 解题代码4. 疑问?5. Danger参考 1. 题目介绍 给你一个正整数 num ,请你将它分割成两个非负整数 num1 和 num2 ,满足: num1 和 num2 直接连起来…

Python 入门

目录 1 Python介绍1.1 特点1.2 什么时候不应该用Python1.3 Python解释器 2 IDLE开发环境使用入门2.1 IDLE 两种模式2.2 IDLE常用快捷键 3 程序基本格式4 图形化程序设计5 绘制奥运五环 声明:本文作为自己的学习笔记,欢迎大家于本人学习交流,转…

联邦学习综述二

联邦学习漫画 联邦学习漫画链接: https://federated.withgoogle.com/ Federated Analytics: Collaborative Data Science without Data Collection 博客链接: https://blog.research.google/2020/05/federated-analytics-collaborative-data.html 本篇博客介绍了联邦分析&a…

JTS:10 Crosses

这里写目录标题 版本点与线点与面线与面线与线 版本 org.locationtech.jts:jts-core:1.19.0 链接: github public class GeometryCrosses {private final GeometryFactory geometryFactory new GeometryFactory();private static final Logger LOGGER LoggerFactory.getLog…

掌握 Web3 的关键工具:9大宝藏APP助你玩转区块链

Web3世界充满了无限机遇,但要掌握它,您需要合适的工具���。今天,我将为您介绍9款Web3必备APP,涵盖钱包、DEX、和工具三大类别。而且,我要特别强烈推荐一个强大的钱包——Bitget Wall…

CAN 通信-底层

本文主要以rockchip的rk3568平台基础,介绍can 控制器、硬件电路和底层驱动。 rk3568 CAN 控制器 概览 CAN(控制器区域网络)总线是一种稳健的车载总线标准,它允许微控制器和设备在没有主机计算机的应用中相互通信。它是一个基于消息的协议,最初是为了在汽车中多路…

Godot快速精通-从看懂英文文档开始-翻译插件

视频教程地址:https://www.bilibili.com/video/BV1t8411q7hw/ 大家好,我今天要和大家分享的是如何快速精通Godot,众所周知,一般一个开源项目都会有一个文档,对于有一定基础或者是理解能力强的同学,看文档比…

Qt QPair

QPair 文章目录 QPair 摘要QPairQPair 特点代码示例QPair 与 QMap 区别 关键字: Qt、 QPair、 QMap、 键值、 容器 摘要 今天在观摩小伙伴撸代码的时候,突然听到了QPair自己使用Qt开发这么就,竟然都不知道,所以趁没有被人发…

关于网络协议的若干问题(二)

1、网络号、IP 地址、子网掩码和广播地址的先后关系是什么? 答:当在一个数据中心或者一个办公室规划一个网络的时候,首先是网络管理员规划网段,一般是根据将来要容纳的机器数量来规划,一旦定了,以后就不好…

在 centos7 上安装Docker

1、检查linux内核 Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。 Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。 uname -r 2、使用 root 权限登录 Centos…

商业化之路怎么走,一家开源分布式数据库厂商的答案|爱分析调研

01 商业化是衡量开源项目成功与否的重要维度之一 中国开源软件商业化公司的涌起以及资本对开源的持续关注,正打破人们对开源与商业化“互斥”的传统印象,展现出两者关系的真正本质,即开源和商业化可以相互促进、相互融合,协同发展…

Apache Doris (三十九):Doris数据导出 - MySQL dump导出

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录