软件项目管理相关概念介绍笔记

         

1、成本估算

由于软件项目具有可见性差、难定量化的特点,一般情况下很难在项目完成前准确的评估软件项目开发的工作量和费用。通常会根据以往开发类似项目的经验来进行成本估算。也可以将整个项目

划分为若干个子系统或按照软件的生命周期的各个阶段分别进行费用估算,然后汇总整个项目的成本。

1.1 成本估算方法

自顶向下估算方法:估算人员参照之前完成项目所消耗的总成本,来估算将要开发的项目总成本,然后把它们按阶段、步骤、工作单元进行分配。

优点:估算工作量小、速度快、不会遗漏集成、配置管理等系统级事务的成本估算。

缺点:通常不清楚低级别上的技术性困难问题,从而造成成本上升。

自顶向上估算方法:将待开发的软件项目细分,分别估算每个子任务所需要的工作量,汇总就可以得到总的开发量。

优点:因为该方法是对每个子任务交给相应的负责人员来做,估算较为准确。

缺点:缺少各项子任务之间相互配合的工作量和开发相关系统级工作量,往往会造成估算偏低。

差别估算方法:将待开发的项目和一个或者多个类似项目比较,找到与某个类似项目的若干个不同之处,并估算不同之处对项目成本的影响,然后给出待开发项目的总成本。

优点:可以提高估算的准确度。

缺点:所谓的差别不太容易明确界限。

专家估算法:依靠一个或者多个专家对项目进行估算。准确性取决于专家估算项目的定性参数的了解和专家的项目经验。

类推估算法:自顶向下估算方法中,类推是将估算项目的总体参数与相似项目进行直接比较得到结果;自顶向上估算方法中,类推是在具有相似条件工作单元之间进行。

算式估算法:算式估算法企图避免主观因素的影响。用于估算的方式有:理论导出、经验导出。

1.2 成本估算模型

常见的软件项目成本估算模型有Putnam模型、COCOMO模型。

Putnam模型:一种动态多变模型。它是假设在软件开发的整个生存周期中工作量有特定的分布。

COCOMO模型:是最精确、最易于使用的成本估算模型之一。分为基本COCOMO模型、中级COCOMO模型、详细COCOMO模型。

2、风险分析

风险分析主要有风险识别、风险预测、风险评估、风险控制。

2.1 风险识别

风险识别是试图系统化地确定对项目计划的威胁。风险识别的一种方法是建立风险条目清单,用于识别风险。常见可以预知的风险如下:

  • 产品规模:与要开发的软件总体规模相关的风险。

  • 商业影响:与管理或市场制约相关的风险。

  • 客户特性:与客户的素质以及开发者和客户沟通能力相关的风险。

  • 过程定义:软件过程定义的程度以及被开发者遵守相关风险。

  • 开发环境:构建软件产品的工具和软件项目质量相关的风险。

  • 构建的技术:构建产品所有开发技术可能的风险。

  • 人员数目和经验:开发人员的能力和项目经验相关的风险。

2.2 风险预测

风险预测又称为风险估算,它从两个方面评估一个风险:风险发生的可能性或概率、风险发生后产生的后果。

风险预测活动

  • 建立一个尺度或标准,用来反映风险发生的可能性。

  • 描述风险的后果

  • 估计风险对项目和产品的影响。

  • 标注风险预测的整体精确度。以免产生误解。

2.3 风险评估

风险评估非常有用的技术是定义风险参照水准。主要有成本、进度、性能三个典型风险参照水准。

2.4 风险控制

软件项目组对于风险采用主动的方法,尽可能避免风险是最理想的策略。可以通过建立一个风险缓解计划来达到。

风险管理策略可以包含在软件项目计划中,或者风险管理步骤也可以组织成一个独立的风险缓解、监控、管理计划。作为整个项目计划中的一部分来使用。

 

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

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

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

相关文章

python爬取微博热搜_Python 超简单爬取微博热搜榜数据

微博的热搜榜对于研究大众的流量有非常大的价值。今天的教程就来说说如何爬取微博的热搜榜。 热搜榜的链接是:用浏览器浏览,发现在不登录的情况下也可以正常查看,那就简单多了。使用开发者工具(F12)查看页面逻辑,并拿到每条热搜的…

LeetCode14 Longest Common Prefix

题意: Write a function to find the longest common prefix string amongst an array of strings. (Easy) 这两天实验室项目太忙了, 老板各种活,只能挑着先水几道easy题,这两个题是昨天做的没来得及写总结。 分析: 暴…

类加载器ClassLoader的角色

类加载器ClassLoader的角色

软件项目管理:进度管理相关概念介绍

软件项目管理当中,项目进度的合理安排是如期完成软件项目的重要基础,也是合理分配资源的重要依据。项目进度安排是项目管理工作当中非常重要的组成部分。软件开发项目进度安排的方式:1、系统最终交付日期已经确定,软件开发部门必须…

ios开发 多人语音聊天_手游语音市场的现状、机遇与挑战

文/手游那点事小鱼原创2014年持续火热的手游市场成就了一大批企业的上市梦,同时也在大环境下产生了对系列手游增值服务的需求。基于玩家对手游社交性的需求,以及借鉴传统端游,页游中成功的社交体系,手游市场逐步出现了对手游语音的…

linux 下运行 tomcat

一开始找不到表名,原来mysql 表名区分大小写。 修改参数 lower_case_table_names1 成功运行后不能通过浏览器访问! 开启8080端口 一、关闭防火墙 firewall-cmd --state 查看状态 [rootVM_7_88_centos /]# firewall-cmd --state running [rootVM_7_88…

软件项目管理:软件工具与开发环境相关知识介绍

1、软件工具相关名词概念软件工具:用来辅助软件开发、运行、维护、管理等过程中的活动软件。软件开发环境:是指支持软件产品开发的软件系统,它由软件工具集和环境集成机制构成。软件工具集:包括支持软件开发相关过程、活动、任务的…

apollo java客户端_携程配置中心Apollo的Java客户端API的使用

一、SpringBoot集成1.发布配置信息设置本机为DEV环境:Linux在/opt/settings/server.properties增加配置envDEV,windows在c:\opt\settings\server.properties图1 在apollo portal上新建项目后,默认就有了application命名空间。在DEV环境下新建…

JNI----Native本地方法接口

Native本地方法接口 JNI:Java Native Interface 本地接口的作用是融合不同的编程语言为Java所用,它的初衷是融合C/C程序 native:凡是带native关键字的,说明java的作用范围达不到了,会去调用底层c语言的库&#xff01…

python的flag是什么意思_网上老说的flag是什么意思

近些年,国内的网络发展速度还是很快的,大家可以通过网络了解很多的东西,因此网络上也有很多热词开始流行起来,其中flag算是十分流行的一个词汇,网上老说的flag是什么意思?立个flag是什么梗?可能还有一些朋友并不是很…

项目管理基础:系统分析相关概念介绍

1、系统分析的主要任务系统分析主要任务是对现行的系统进一步详细调查,将调查得到的资料集中,对组织内部整体管理状况和信息处理过程进行分析,为系统开发提供所需要的资料,并提交系统方案说明书。2、系统分析的主要阶段系统分析主…

java线程池和线程实例化_浅谈Java 线程池原理及使用方式

一、简介什么是线程池?池的概念大家也许都有所听闻,池就是相当于一个容器,里面有许许多多的东西你可以即拿即用。java中有线程池、连接池等等。线程池就是在系统启动或者实例化池时创建一些空闲的线程,等待工作调度,执…

线性代数及其应用_线性代数入门——行列式的简单应用选讲

系列简介:这个系列文章讲解线性代数的基础内容,注重学习方法的培养。线性代数课程的一个重要特点(也是难点)是概念众多,而且各概念间有着千丝万缕的联系,对于初学者不易理解的问题我们会不惜笔墨加以解释。在内容上,以…

RocketMQ 使用及常见问题

前言 本文档是针对RocketMQ使用及常见问题的说明。 一.获取项目、安装包及文档 1. alibaba/RocketMQ https://github.com/alibaba/RocketMQ 2. Download the latest release package https://github.com/alibaba/RocketMQ/releases 3.…

系统开发基础:UML相关知识笔记

1、UML概念统一建模语言(Unified Modeling Language UML)是面向对象软件的标准建模语言。由于简单、统一,又能够表达软件设计中的动态和静态信息。目前UML已经成为可视化建模语言的工业标准。2、UML的组成UML三要素:构造块、规则、…

java中什么是运行异常_在java中最常用的运行时异常是什么?

我从不会抛出NullPointerException。对我来说,它是一个出现在代码中当出现问题时,需要开发人员看看会发生什么。然后(s)他固定的原因,它不会再次发生。我使用IllegalStateException表示对象配置不正确或调用的顺序不正确。但是,我…

迭代器 java_面试必备(含答案):30 个 Java 高频面试问题

Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。这里,我列出了一些关于Java集合的重要问题和答案。1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几…

硬件基础:台式电脑上的常用的几个接口!

今天给大家详细讲解台式电脑上的常用的几个接口!1、I/O接口部分下图所有的接口,也是我们机箱后面的接口,统称为:I/O接口。2、键鼠PS/2PS/2接口是I/O接口中比较常见的一种接口,用来连接键盘和鼠标,二者可以用…