[项目管理-1]:软硬件项目管理 - 总体概述框架实践活动常见工具软件研发过程软件开发周期模型
Posted 文火冰糖的硅基工坊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[项目管理-1]:软硬件项目管理 - 总体概述框架实践活动常见工具软件研发过程软件开发周期模型相关的知识,希望对你有一定的参考价值。
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/126427623
目录
前言:
项目是公司赖以生存的物质基础的创造手段,项目用于研发产品,对项目的有效管理能够极大的提升项目的生产的效率、及时解决项目实施中遇到的问题。项目管理是一门专门的学科,本文不把打算从理论上探讨项目管理的理论,本系列从实际操作的层面阐述项目管理日常的内容、方法和工具。
第1章 项目管理是企业经营的一部分
1.1 项目是组织战略的一部分
所有的项目,首先都是为了实时组织战略、战术的一种手段和方法。项目必须为组织的战略服务。
组织的目标是:
(1)解决社会、客户问题,
(2)为社会、客户创造价值,
(3)从而为组织创造利润。
因此,一个项目也必须问答如下的问题:
(1)第一:解决了社会、客户什么样的问题?
(2)第二:为社会、客户创造了什么样的价值?
(3)最后:为组织创造多少利润?
1.2 项目是组织的一种经营活动
在任何一家公司,项目管理不是孤立的存在的,它是组织众多经营活动中的一个活动,它需要与其他活动互动,最终确保相关管理的正常实施。
既然是组织类的活动,就意味着
(1)项目与依附于组织内的各种资源
(2)项目与依附于组织内的各种部门
(3)项目与依附于组织内的各种流程
1.3 项目管理是矩阵管理的一个维度
在上图中:
(1)横轴:是部门(开发、测试、财务、生产、人事等),每个业务部门管理一些公共的资源
- 人:人员(开发、测试、市场、销售、行政)
- 机:机器
- 物:物料
- 法:方法、流程
- 财:钱财
- 环:环境
(2)纵轴:是项目,项目A, B, C等等,
- 项目有自己的直接负责人(项目经理)
- 项目有自己的各种资源(其他生产资源)
- 项目有自己的生命周期(生产周期)
- 项目有自己的实施过程(生产过程)
- 项目有自己的实施流程(生产流程)
《项目管理》理论和方法,主要是针对这部分的。
现代项目管理由原先的纯粹的人和事的管理转向借助自动化工具、人工智能等辅助技术实现人机协同的项目管理!
(3)配合
项目管理人员需要资源管理部门(部门经理)密切配合。
1.4 实施步骤
项目实施的本质是:利用一切可用的资源进行进行的一种有组织、有计划的生产活动。
如下是一种常见的实践步骤:
(1)明确利益受影响的干系人以及他们的期望与职责(干系人管理) : 期望
(2)明确要做的事、各项生产活动、以及它们的依赖关系(范围管理):活动
(3)明确各项生产活动所需的时间资源的要求(时间管理):时间
(4)明确各项生产活动所需要的人力资源的要求(人力资源管理):人
(5) 明确各项生产活动中不同角色的人如何进行有效的沟通、交流(沟通管理):沟通
(6)明确各项生产活动所需要的原材料资源的要求(采购管理):物
(7) 明确各项生产活动所需要的资金资源的要求(成本管理):财
(8)明确各种生产活动中可能会出现的对项目有重大影响的风险(风险管理):风险
(9)如何确保生产过程以及生产出来的产品是可靠的、符合最终客户的质量要求(质量管理)
(10)明确各种生产活动中各项工作能够有机地协调和配合(集成管理):集成、总体
上述是一个项目实施的完整过程和完整的内容,通过上述10大过程的并行实施,可以确保项目完全、可靠的完成最终的目标。
1.5 常见模板
1.6 DevOps移动通信软件研发过程
[云原生专题-64]:核心概念 - 云原生技术助力5G RAN步入”云”霄 - 对云原生的理解_文火冰糖的硅基工坊的博客-CSDN博客
备注:
Devops软件的项目管理,都是围绕上述的软件开发过程进行的。
1.7 云原生软件研发过程
[云原生专题-2]:总体-实战案例架构与实战学习路径_文火冰糖的硅基工坊的博客-CSDN博客
备注:
云原生软件的项目管理,都是围绕上述的软件开发过程进行的。
1.8 项目管理知识体系
1.9 项目管理架构
(1)五大过程组
- 项目启动
- 项目规划
- 项目执行
-
项目监控
-
项目收尾
(2)10大知识领域
(3)闭环结构
- 计划
- 执行
- 监控
- 反馈
1.10 五种典型开发周期模型
(1)瀑布模型
原始的瀑布模型:
是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、编码、测试、运行和维护。
它规定了由前至后、相互衔接的固定次序,如同瀑布流水逐级下落。
- 阶段间具有顺序性和依赖性
具体指的是必须等前一阶段的工作完成才能开始后一阶段的工作,
前一阶段的输出文档就是后一阶段的输入文档,因此只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果
- 推迟实现的观点
瀑布模型的编码之前设置了系统分析和系统设计的各个阶段,分析与设计阶段的基本任务规定,这两个阶段主要考虑目标系统的路基模型,不涉及软件的物理实现,清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现
- 质量保证的观点
每个阶段必须完成规定的文档;每个阶段结束前都要对所完成的文档进行评审
实际中的瀑布模型带有反馈
在实际的软件项目中存在着许多不稳定因素,例如,开发中的工作疏漏或通信误解;在项目实施中途,用户可能会提出一些新的要求;开发者也可能在设计中遇到某些未曾预料的实际困难,希望在需求中有所权衡等。为了解决这些问题,考虑到许多实际项目中阶段之间有通信的需要使瀑布模型带有信息反馈环,能够逐级地将后续阶段的意见返回,并在问题解决之后,再逐级地将修正结果下传。
(2)V模型
(3)快速原型模型
快速原型模型是不带反馈环的,软件产品的开发基本上是线性顺序进行的,快速原型地本质是快速,原型的用户是获知用户的真正需求。
(4)增量模型
增量模型也称渐增模型。使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。
增量模型与瀑布模型,快速原型模型想反,它分批地逐步向用户提交产品,整个软件产品被分解为许多个增量构件。
(5)螺旋模型(敏捷模型)
螺旋模型很像我们高中时候学习的四象限它分为制定计划,风险分析,实施工程和客户评估阶段,整个螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。
螺旋模型在每个阶段之前及经常发生的循环之前,都必须要进行风险评估。
在实践中,螺旋法技术和流程变得更为简单。
迭代方法体系更倾向于按照开发/设计人员的方式工作,而不是项目经理的方式。
- 设计上灵活, 可以在项目的各个阶段进行变更
- 以小的分段来构建大型系统,使成本计算变得简单容易。
- 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
- 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
- 客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。
(6)喷泉模型
喷泉模型主要适用于利用面向对象技术的软件开发项目,可弥补瀑布模型不支持软件重用和多项开发活动集成的不足,可使开发过程具有迭代性和无间隙性。
- 开发过程中的各个阶段相互重叠,反映了软件过程并行性的特点
- 以分析为基础,资源消耗呈塔形,在分析阶段消耗资源最多
- 强调增量开发,依据分析一点、设计一点的原则,并不要求一个阶段的彻底完成,整个过程一个迭代的逐步提炼的过程
- 是对象驱动的过程,对象是活动作用的主体,也是项目管理的基本内容
- 实现中由于活动不同,可分为系统实现和对象实现,这既反映了全系统的开发过程,也反映了对象族的开发和重用过程
1.11 并行迭代开发
以上是关于[项目管理-1]:软硬件项目管理 - 总体概述框架实践活动常见工具软件研发过程软件开发周期模型的主要内容,如果未能解决你的问题,请参考以下文章
[架构之路-56]:目标系统 - 平台软件 - 总体架构概述
一起学习用Verilog在FPGA上实现CNN----总体概述