本文将分享:1、软件项目管理的定义;2、软件项目管理的过程步骤;3、软件项目管理的内容;4、软件项目估算与进度管理方法;5、软件开发各生命周期阶段与文档、角色间的关系;6、软件开发项目中的各大角色职能;7、软件项目的实施阶段包括哪些。

一、软件项目管理的定义

软件工程的活动包括问题定义、可行性研究、需求分析、设计、实现、确认、支持等,所有这些活动都必须进行管理,软件项目管理贯穿于软件工程的演化过程之中。

二、软件项目管理的过程

管理的过程分为如下几个步骤:

(1) 启动软件项目

启动软件项目是指必须明确项目的目标和范围、考虑可能的解决方案以及技术和管理上的要求等,这些信息是软件项目运行和管理的基础。

(2) 制定项目计划

软件项目一旦启动,就必须制定项目计划。计划的制定以下面的活动为依据。

  • 估算项目所需要的工作量
  • 估算项目所需要的资源
  • 根据工作量制定进度计划,继而进行资源分配
  • 做出配置管理计划

在项目计划制定的时候,我们通常会使用到甘特图或者是路线图进行可视化跟踪展示,比如以下是我们在 Pingcode这个工具绘制的路线图:

(3) 跟踪及控制项目计划

在软件项目进行过程中,严格遵守项目计划,对于一些不可避免的变更,要进行适当的控制和调整,但要确保计划的完整性和一致性。

(4) 评审项目计划

对项目计划的完成程度进行评审。并对项目的执行情况进行评价。

(5) 编写管理文档

项目管理人员根据软件合同确定软件项目是否完成。项目一旦完成,则检查项目完成的结果和中间记录文档,并把所有的结果记录下来形成文档而保存。

三、软件项目管理的内容

软件项目管理的内容涉及上述软件项目管理过程的方方面面,概括起来主要有如下几项。

1、目标

需求管理的目的是在客户和处理客户需求的软件项目组之间建立对客户需求的共同理解。需求管理的目标有两个:

  • 使软件需求受控,并建立供软件工程和管理使用的需求基线。
  • 使软件计划、产品和活动与软件需求保持一致。

2、原则

为进行有效的需求管理,一般要遵循如下五条原则:

  • 需求一定要分类管理:进行软件项目管理的时候,一定要将软件需求分出层次。不同层次需求的侧重点、描述方式、管理方式是不同的。
  • 需求必须分优先级:在软件项目中,如果出现过多的需求,通常会导致项目超出预算和预定进度,最终导致软件项目的失败,因而需求的优先级可能比需求本身更加重要。
  • 需求必须文档化:需求必须有文档记录。该文档必须是正确的、最新的、可管理的、可理解的,是经过验证的,是在受控的状态下变更的。
  • 需求一旦变化,就必须对需求变更的影响进行评估:无论需求变化的程度如何,只要需求变化了就必须进行评估,这是基本的原则。
  • 需求管理必须与需求工程的其他活动紧密整合:进行需求管理一定不能脱离需求工程,需求工程包括了需求获取、需求分析、需求描述、需求验证、需求管理,因而需求管理必须与前面的几个需求阶段保持密切相关。

3、需求管理活动

需求管理是一个对系统需求变更了解和控制的过程。初始需求导出的同时就启动了需求管理规划, 一旦形成了需求文档的草稿版本, 需求活动就开始了。



四、软件项目估算与进度管理

1、软件项目估算

软件项目估算包括工作量估算和成本估算两个方面。软件估算作为软件项目管理的一项重要内容,是确保软件项目成功的关键因素。估算是指通过预测构造软件项目所需要的工作量的过程。初步的估算用于确定软件项目的可行性,详细的估算用于指导项目计划的制定。

2、软件规模——工作分解结构

对软件项目进行估算遇到的第一个问题就是软件规模,即软件的程序量。软件规模是软件工作量的主要影响因素。软件项目的设计有一个分层结构,这一分层结构就对应着工作分解结构(WBS,Work Breakdown Structure ),它将软件过程和软件产品结构联系起来。图是一个典型的WBS结构。

3、软件项目成本估算

成本估算是对完成软件项目所需费用的估计和计划,是软件项目计划中的一个重要组成部分。成本估算步骤如下:

  1. 建立目标
  2. 规划需要的数据和资源
  3. 确定软件需求
  4. 拟定可行的细节
  5. 运用多种独立的技术和原始资料
  6. 比较并迭代各个估算值
  7. 随访跟踪。

4、软件项目进度管理

  • 制定项目计划:项目计划在项目开始的时候制定,并随着项目的进展不断发展。软件项目计划的要素包括目标、合理的概念设计、工作分解结构、规模设计、工作量估计和项目进度安排。项目计划为管理者提供了根据计划定期评审和跟踪项目进展的基础。
  • 进度安排:在确定了项目的资源(总成本及时间等)后,把其分配到各个项目开发阶段中,即确定项目的进度。项目各阶段的工作量可以参考表

延伸阅读:软件项目进度管理工具

五、软件开发过程

我们用瀑布模型来描述一个软件开发的生命周期,如图所示



如果你还想了解敏捷开发模式下的软件开发生命周期,可通过以下文章查看: https://docs.pingcode.com/agile

六、软件开发各生命周期阶段与文档、角色间的关系

软件开发生命周期与文档、角色之间的关系:

七、软件开发项目中的各大角色职能

项目经理:

管理整个项目过程。包括制定计划、项目跟踪、项目成员的角色分配、协调、管理,软件配置管理,文挡标准制定,文挡审查等。

技术经理:

对项目的技术及方案总体把握,配合系统分析员做一些大的工作,审查系统分析员做好的各种设计,对系统分析员提出的问题一起去解决。

系统分析员:

和项目经理一起参与需求分析,形成需求规格说明文档。根据需求规格说明文挡做概要设计,形成概要设计文挡。根据概要设计文挡做详细设计文挡。在编码及测试阶段协助程序员、测试人员编码和测试。

程序员:

根据详细设计文档进行编码,并对自己的代码模块进行单元测试,形成单元测试报告。

测试员:

在编码完成后,做系统测试,形成测试报告,通知项目经理测试结果。

文档管理员:

对所有项目文档进行管理,保持所有文挡的同步与一致。

项目成员结构:

八、软件项目的实施阶段

整个项目分为三个阶段:开始阶段、实施阶段、收尾阶段。

1、项目开始阶段

  • 确定项目组成员
  • 确定组织结构
  • 确定项目组成员在项目中的具体角色及其工作职责。

2、项目实施阶段

  • 项目经理制定项目开发计划。
  • 准备基础设施(软件、文档摸板、工具)。
  • 按照项目开发计划由项目经理组织实施。
  • 每周定期召开项目组全体成员会议。会议内容包括:阶段总结、当前项目开发进度、下阶段计划安排、当前遇到的各种困难(技术上的、或组织上的或人力上的等等) 。
  • 项目组成员每周撰写周计划、周总结。
  • 项目所有相关文档、代码要保持同步更新及版本一致。
  • 项目组成员在每天开始工作前,下载所有最新文档与代码。在每天工作结束后上传所有自己更新的文档与代码。

3、项目收尾阶段

  • 总结
  • 文件存档

以上就是关于软件项目管理定义、流程等内容的介绍,希望对大家在软件项目管理方面有一定的启发。

软件项目管理指南:定义、5大过程、估算及进度管理方法等相关推荐

  1. 软件项目管理0728:项目经理的修养-干系人管理

    软件项目管理0728:项目经理的修养-干系人管理1.跟干系人管理是项目管理中最难的.干系人管理中第一要务是要让对方尊重你,否则宁可不做.在工作中遇到过高高在上.优越感特别强.以专家和上级自居的外行对接 ...

  2. 在过程中要正式批准可交付成果_干货!软考高项项目管理知识体系5大过程组47个过程...

    现在应该很多小伙伴都在紧张的复习软考中,为了让大家更加高效的复习,今天给大家分享软考高级信息系统项目管理师的考试重点,项目管理知识体系的5大过程组47个过程. 考高项的朋友都知道,47个过程是非常重要 ...

  3. 软件项目管理Follow Me--如何进行项目估算

    一个成功的软件项目首先要有一个好的起点,也就是一个合理的项目计划:一个好的项目计划,离不开一个准确的.可信的.客观的项目估算数据作为基础.如何提高估算的准确性,如何利用项目估算的数据来制定项目计划,本 ...

  4. 5大过程组与整体管理

  5. 项目管理:多项目同时进行如何做好进度管理?

    我们可能能找到很多关于多项目管理的原则和方法论,但人普遍有个毛病"知道很多道理,却依然过不好这一生." 有了必要的原则和方法论,怎么在团队里实施和落地这件事却也是个大问题. 下面就 ...

  6. 信息系统项目管理师(2022年)—— 重点内容:10大管理、5大过程组、47个过程信息汇总

    10大领域的输入.输出.工具和技术,内容多,概念多,不好记,也不好分类.这篇博客就做一个分类汇总吧. 上午选择题.案例分析题.论文都会涉及到.案例题是主观题,答案差不多就OK了.论问题每一个过程至少掌 ...

  7. 软件工程与项目管理的关系_PM:软件项目管理概要

    软件项目管理的定义 软件工程的活动包括问题定义.可行性研究.需求分析.设计.实现.确认.支持等,所有这些活动都必须进行管理,软件项目管理贯穿于软件工程的演化过程之中,如图1 所示. 软件项目管理的过程 ...

  8. 『软件工程4』一文了解软件项目管理中的4P

    软件项目管理中的4P 一.项目管理的重要性和定义 1.重要性(两个阶段) 2.软件项目管理的定义 二.管理四要素4P 1.管理的四要素(4P) 2.软件项目中影响最终结果的要素 3.项目管理关心的问题 ...

  9. 软件项目管理(第二版 宁涛)问答题(个人背诵)

    目录 第一章 概述 (1)什么是软件项目管理? (2)项目管理的 9 大知识领域是什么? (3)项目管理的 5 个过程组是什么? (5)项目经理的主要职责是什么? (6)项目的特点是什么? (7) 项 ...

最新文章

  1. Dubbo 在maven项目中的应用
  2. hdu 4324 Triangle LOVE
  3. 关于关闭Eclipse的控制台自动跳出
  4. linux系统下文件查找
  5. php jwt payload,php实现jwt
  6. HDU2075 A|B?【水题】
  7. Linux从初学到精通
  8. Hibernate一对多双向、单向
  9. c语言模糊pid算法实例,模糊PID的c语言算法.docx
  10. nfs 跟rpcbind的关系
  11. 考研408复习思路,学习方法
  12. [Extjs6]随记 store本地过滤数据显示
  13. 电子设备常见的音视频接口
  14. 【论文笔记】Exploring Self-attention for Image Recognition
  15. # 书籍《银河帝国10—裸阳》读后感—20210606
  16. mysql按分号拆分_mysql分号分割开字段。拆分
  17. 复数计算器(c++实训)
  18. 苹果app退款_苹果app退款流程:App Store应用如何申请iOS退款教程
  19. MYSQL No space left on device
  20. 在智能制造背景下,传统工厂何去何从?

热门文章

  1. NeuralProphet之二:季节性(Seasonality)
  2. 跟益达学Solr5之使用IK分词器
  3. 【机器学习应用】机器学习之无监督学习
  4. 公有继承,私有继承,保护继承的区别
  5. 数据表分区策略及实现
  6. ubuntu20.04开通多个ssh端口
  7. 云点播视频-DRM-方案调研
  8. C++读书笔记:C++数据类型
  9. “在 System.Threading.ThreadAbortException 中第一次偶然出现的‘mscorlib.dll’类型的异常”的解决方法
  10. EPICS记录参数--Event记录(event)