「软件项目管理」一文详解软件项目管理概述

简介: 该文章详细介绍了软件项目管理的关键概念、知识体系以及实施过程,涵盖了项目初始化、计划制定、执行控制到项目结束的全流程管理,并探讨了项目管理与过程管理在软件开发中的相互作用和应用。

🚵前言

在讲解软件项目管理之前,我们先来讨论一个话题:为什么要学习软件项目管理

为什么要学习呢?主要有以下两点原因:

  • 低头编程序,仰头看大局
  • 一样的起点,不一样的终点(比如说三个人同一时间砌同一门墙,但是不同的人砌墙的速度不同)

了解了为什么需要学习软件项目管理之后,接下来,就让我们进入今天的文章,学习软件项目管理概述。

叮,开始学习叭~🧐

🤽一、项目与软件项目

1、项目的定义

项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。

2、项目的特征

项目主要有以下 6 大特征:

  • 目标性
  • 相关性
  • 临时性(限定的周期)
  • 独特性
  • 资源约束性
  • 不确定性

3、项目与日常运作举例

(1)判断哪些活动是项目

我们先来判断下面哪些活动是项目,如下图所示:

哪些活动是项目

(2)举例结果

看了上面这张图,不知道大家是否有了一定的结果呢。下面我们先来看来这7项活动中,哪些是项目,哪些是日常运作具体如下图所示:

举例结果

基于以上内容,我们来梳理一下项目与日常运作之间的区别。具体如下。

(3)项目与日常运作区别总结

项目与日常运作之间的区别是:

  • 项目是一次性的,日常运作是重复进行的
  • 项目是以目标为导向的,日常运作是通过效率有效性体现的。
  • 项目是通过项目经历及其团队工作完成的,而日常运作是职能式的线性管理。
  • 项目存在大量的变更管理,而日常运作则是基本保持连贯性的

4、软件项目的特殊性

软件项目有 4 大特殊性:

  • 逻辑实体
  • 相互作用的系统
  • 渐进明细
  • 变更

如下图所示:

软件项目的特殊性

5、软件项目要素

软件项目有以下 4 大要素:

  • 软件开发的过程
  • 软件开发的结果
  • 软件开发组员
  • 软件项目委托人(客户)

🤾二、项目管理与软件项目管理

1、项目管理背景

生活中常见的小项目有:

  • 生日聚会
  • 野餐活动
  • 集体婚礼
  • ……

工作中常见的大项目有:

  • 微软的操作系统
  • 阿波罗计划
  • 神州飞船计划
  • ……

2、项目管理定义

项目管理是为了确保项目能够达到期望结果,对项目各阶段工作进行管理的一系列管理行为。

3、软件项目管理定义

软件项目管理是为了使软件项目能够按照预定的成本进度质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。

4、软件项目管理的特殊性

  • 软件是纯知识产品,开发进度和质量很难估计和度量,生产效率难以预测和保证。
  • 项目周期长复杂度高变数多
  • 软件需要满足一群人的期望。

5、软件项目管理与软件开发

先来看一张图:

软件项目管理与软件开发

大家可以看上面这张图,中间红线的上半部分,是软件项目管理的内容。而下半部分,则是软件开发的内容。最后看到中间红线重叠的部分,则是软件项目管理与软件开发之间的关系

🎪三、项目管理知识体系

1、定义

所谓项目管理知识体系,即 PMPOK: Project management Body Of Knowledge ,具体是美国项目管理协会( PMI )对项目管理所需的知识、技能和工具进行的概括性描述。

项目管理知识体系包括: 10 个知识领域 + 5 个标准过程组。

2、10个知识领域

10个知识领域如下图所示:

10个知识领域

3、5个标准过程组

5-个标准过程组分别是启动过程组→计划过程组→执行过程组→控制过程组→收尾过程组。具体如下图所示:

5个标准过程组

🏄四、过程管理与软件项目管理的关系

1、产品关注点

在一个项目当中,如果我们把焦点放在产品中,那么首先会把用户需求拆分为很多个过程,之后过程再聚焦在产品身上。具体如下图所示:

产品关注点

2、过程关注点

在一个项目中,如果我们把焦点放在过程中,那么会把用户需求先聚焦在整个过程当中,之后再将过程给扩散出一个一个的产品。具体如下图所示:

过程关注点

3、过程管理定义

过程管理,就是对过程进行管理,目的是要让过程能够被共享、复用并得到持续的改进如下图所示;

过程管理定义

4、过程管理和项目管理的关系

对于过程管理和项目管理来说,它们俩之间的关系是:

过程管理和项目管理的关系

🧗五、软件项目管理过程

1、定义阐述

软件项目管理过程主要包含以下四大过程:

项目初始→项目计划→项目执行控制→项目结束。

下面我们将依据以上这四大过程,来对每一个过程进行详细介绍。

2、详细内容阐述

(1)项目初始

项目初始时包括项目立项生存期两个阶段。如下图所示:

项目初始

(2)项目计划

项目计划包括 10 个计划,分别是范围计划、成本计划、时间计划、质量计划、配置管理计划、人力计划、沟通计划、风险计划、合同计划和集成计划。如下图所示:

项目计划

(3)项目执行控制

项目执行控制包含 3 个执行控制,分别是集成计划执行控制、核心计划执行控制和辅助计划执行控制。如下图所示:

项目执行控制

(4)项目结束

项目结束时包含两个阶段,分别是合同终止项目总结如下图所示:

项目结束

🚴‍♂️六、结束语

在上面的这篇文章中,我们学习了软件项目管理的基本概念,以及项目管理与软件项目管理之间的关系。同时,我们还学习了 POMOK 模型,即10个知识领域和5个标准过程。最后,我们了解了过程管理与软件项目管理之间的关系。

到这里,关于软件项目管理的基本介绍就讲解完毕啦!希望大家对软件项目管理有一个基本的认识~

如果您觉得这篇文章有帮助到您的的话不妨点赞支持一下哟~~😉

🎳专栏直通车

软件项目管理👉https://juejin.cn/column/7024826582841688077

相关文章
|
Web App开发 域名解析 缓存
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
本文我们主要为大家介绍在 Ubuntu 20.04 上安装 Node.js 和 npm 的三种不同的方式。
162830 7
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
|
存储 项目管理
「软件项目管理」一文详解软件配置管理计划
该文章详细阐述了软件配置管理计划的各个方面,包括配置管理的基本概念、配置项的标识、变更控制流程以及配置审计的方法,并提供了实施配置管理的最佳实践。
「软件项目管理」一文详解软件配置管理计划
|
7月前
|
人工智能 测试技术 API
Ollama本地模型部署+API接口调试超详细指南
本文介绍了如何使用Ollama工具下载并部署AI大模型(如DeepSeek-R1、Llama 3.2等)。首先,访问Ollama的官方GitHub页面下载适合系统的版本并安装。接着,在终端输入`ollama`命令验证安装是否成功。然后,通过命令如`ollama run Llama3.2`下载所需的AI模型。下载完成后,可以在控制台与AI模型进行对话,或通过快捷键`control+d`结束会话。为了更方便地与AI互动,可以安装GUI或Web界面。此外,Ollama还提供了API接口,默认支持API调用,用户可以通过Apifox等工具调试这些API。
|
10月前
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
7871 2
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
|
监控 项目管理
软件项目管理:从计划到成功的实践
【8月更文第20天】在快速变化的IT行业中,高效的软件项目管理是确保项目成功的关键。本文将探讨软件项目管理中的几个核心领域:项目计划与估算、风险管理、人员配置与团队建设以及进度控制与成本管理,并通过具体案例加以说明。
1046 2
如何访问GitHub快的飞起?两步解决访问超时GitHub,无法访问GitHub的问题
这篇文章提供了几种方法来解决访问GitHub时速度慢或超时的问题,包括使用代理服务器、下载加速工具,以及考虑使用国内代码管理网站如码云(gitee)来加速下载GitHub上的资源。
如何访问GitHub快的飞起?两步解决访问超时GitHub,无法访问GitHub的问题
|
机器学习/深度学习 人工智能 算法
AI入门必读:Java实现常见AI算法及实际应用,有两下子!
本文全面介绍了人工智能(AI)的基础知识、操作教程、算法实现及其在实际项目中的应用。首先,从AI的概念出发,解释了AI如何使机器具备学习、思考、决策和交流的能力,并列举了日常生活中的常见应用场景,如手机助手、推荐系统、自动驾驶等。接着,详细介绍了AI在提高效率、增强用户体验、促进技术创新和解决复杂问题等方面的显著作用,同时展望了AI的未来发展趋势,包括自我学习能力的提升、人机协作的增强、伦理法规的完善以及行业垂直化应用的拓展等...
1533 3
AI入门必读:Java实现常见AI算法及实际应用,有两下子!
|
JSON 小程序 JavaScript
超详细微信小程序开发学习笔记,看完你也可以动手做微信小程序项目
这篇文章是一份全面的微信小程序开发学习笔记,涵盖了从小程序介绍、环境搭建、项目创建、开发者工具使用、文件结构、配置文件、模板语法、事件绑定、样式规范、组件使用、自定义组件开发到小程序生命周期管理等多个方面的详细教程和指南。
|
Ubuntu Linux Docker
弃用Docker Desktop:在WSL2中玩转Docker之Docker Engine 部署与WSL入门
弃用Docker Desktop:在WSL2中玩转Docker之Docker Engine 部署与WSL入门
19523 4
|
Ubuntu 安全 网络协议