人人范文网 范文大全

软件项目管理总结

发布时间:2020-03-03 00:18:36 来源:范文大全 收藏本文 下载本文 手机版

软件项目管理

1 项目管理过程

软件项目管理的对象是软件工程项目。涉及的范围覆盖了整个软件工程过程。

项目管理是指“在项目活动中运用专门的知识、技能、工具和方法,使项目能够实现或超过项目干系人的需要和期限。”

项目的核心知识是范围、时间、成本和质量。辅助知识是人力资源管理、风险管理和采购管理。

2 项目启动

接受项目的第一步工作就是界定项目。 项目启动应做如下工作:

1) 设定目标:收集事实、信息、意见、需求;探讨假设情况;确定应包括的内容和应排除的东西。

2)SWOT分析:S(优势)W(劣势)

O(机会)

T(威胁)

3) 确定需要进行的主要工作及需要的技能和资源,即明确项目的资源和范围。 4) 考虑可能的解决方案,标明技术上和管理上的限制。

2.1 制定计划工作:度量

什么是度量? IEEE 定义度量是 “对一个系统、构件或过程具有的某个给定属性的一个定量测量”。进行度量工作,是为了了解产品开发的技术过程和产品本身。 (1)度量开发过程的目的是为了改进过程; (2)度量产品的目的是为了提高产品质量。 度量的作用是为有效地定量地进行管理。

2.2 制定计划工作:估算

在软件项目管理过程中关键的活动就是制定项目计划。 在做计划时必须就需要的人力(以人月为单位)、项目持续时间(以年份或月份为单位)、成本(以元为单位)做出估算。

(1)在软件项目管理过程中关键的活动就是制定项目计划。 (2)在做计划时必须就需要的人力(以人月为单位)、项目持续时间(以年份或月份为单位)、(3)成本(以元为单位)做出估算。

2.3 制定计划工作:风险分析

所谓风险分析实际上就是一系列风险管理步骤,其中包括风险识别、风险估计、风险管理策略、风险解决和风险监督。这些步骤贯穿在软件工程过程中。 2.4 制定计划工作:进度安排

每个软件项目都要求制定一个进度安排,但不是所有进度都得一样安排。 2.5 追踪和控制

一旦建立了开发进度安排,就可以开始着手追踪和控制活动。 由项目管理人员负责追踪在进度安排中标明的每一个任务。 如果任务实际完成日期滞后于进度安排,则管理人员可以使用一种自动的项目进度安排工具来确定在项目的中间里程碑上进度误期所造成的影响。

(1)可对资源重新定向

(2)对任务重新安排 (做为最坏的结果)可以修改交付日期以调整已经暴露的问题。用这种方式可以较好地控制软件的开发。

3 软件生产率和质量的度量

生产率与质量的度量是以投入工作量为依据的软件开发过程的度量和软件产品质量的度量。 面向规模的度量面向功能的度量软件质量的度量 软件度量分为两类:直接度量与间接度量。

软件过程的直接度量包括所投入的成本和工作量。 软件产品的直接度量包括产生的代码行数(LOC)、执行速度、存储量大小、在某种时间周期中报告的差错数。

软件产品的间接度量包括功能性、复杂性、效率、可靠性、可维护性和许多其他质量特性。

3.1 面向规模的度量

面向规模的度量是对软件和软件开发过程的直接度量。 3.2 面向功能的度量

面向功能的软件度量是对软件和软件开发过程的间接度量,主要考虑程序的 “功能性” 和 “实用性”,而不是对 LOC计数。

该度量是一种叫做功能点方法的生产率度量,利用软件信息域中的一些计数和软件复杂性估 功能点度量是为信息系统应用而设计的。

特征点度量(Feature Points)可以用于系统和工程软件应用。特征点度量适合于算法复杂性高的应用,如实时处理、过程控制、嵌入式软件。

3.4 软件质量的度量

质量度量贯穿于软件工程的全过程中以及软件交付用户使用之后。

使用得最广泛软件质量的事后度量包括正确性、可维护性、完整性和可使用性。

(1)正确性:一个程序必须正确地运行,并为它的用户提供某些输出。正确性要求软件执行所要求的功能。正确性的度量是每千代码行(KLOC)的差错数,其中将差错定义为已被证实是不符合需求的缺陷。

(2)可维护性:软件维护比其它的软件工程活动需要更多的工作量。还没有一种方法可以直接度量可维护性,必须采取间接度量。

一种简单的面向时间的度量:

平均变更等待时间MTTC。这个时间包括分析变更要求、设计适当修改、实现变更并测试、把变更发送给所有用户。一个可维护的程序与不可维护的程序相比,应有较低的MTTC。

(3)完整性:完整性度量一个系统抗拒对它的安全性攻击(事故的和人为的)的能力。程序、数据和文档都会遭到攻击。

度量完整性,需要定义两个附加的属性:危险性和安全性。危险性是特定类型的攻击将在一给定时间内发生的概率,安全性是排除特定类型攻击的概率。

一个系统的完整性可定义为

完整性=∑(1-危险性×(1-安全性)) (4)可使用性:如果程序不具有用户友好性,即使它所执行的功能很有价值也常常会失败。

4.2 软件开发成本估算方法

对于绝大多数项目,主要的成本是工作成本。

软件成本计算的目的是要精确地、客观地预测软件承包商的开发成本。 软件的开发成本是以一次性开发过程所花费的代价来计算的。 要进行一系列的估算处理。主要靠分解和类推。

1.自顶向下的估算方法

这种方法的主要思想是从项目的整体出发,进行类推。

估算人员根据以前已完成项目所消耗的总成本(或总工作量),推算将要开发的软件的总成本(或总工作量),然后按比例将它分配到各开发任务单元中去,再来检验它是否能满足要求。

2.自底向上的估算方法

这种方法的主要思想是把待开发的软件细分,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发的总工作量。 它的优点是估算各个部分的准确性高。缺点是缺少各项子任务之间相互联系所需要的工作量,还缺少许多与软件开发有关的系统级工作量.

3.差别估计法

这种方法综合了上述两种方法的优点,其主要思想是把待开发的软件项目与过去已完成的软件项目进行类比,从其开发的各个子任务中区分出类似的部分和不同的部分。 类似的部分按实际量进行计算,不同的部分则采用相应方法进行估算。

4.专家判定技术

由多位专家进行估算,取得多个估算值。再把这些估算值合成一个估算值。

一种合成方法是求各估算值的中值或平均值。其优点是简便。缺点是可能会由于受

一、二个极端估算值的影响而产生严重的偏差。 另一种合成方法是召开小组会,使各位专家们统一于或至少同意某一个估算值。优点是可以摈弃蒙昧无知的估算值,缺点是一些组员可能会受权威或政治因素的影响。

5. 标准Deiphi技术

A组织者发给每位专家一份软件系统规格说明书和一张记录估算值的表格,请他们估算。 B专家详细研究软件规格说明书的内容,对该软件提出三个规模的估算值,即:ai (最小), mi (可能), bi (最大), 无记名地填写表格。 C组织者整理专家们填在表格中的答复:

(1)计算各专家估算的期望值 Ei

Ei = (ai+4mi+bi)/6 (2)对专家的估算结果分类摘要。

D在综合专家估算结果的基础上,组织专家再次无记名地填写表格。比较两次估算的结果。若差异很大,要通过查询找出差异的原因。

E上述过程可重复多次。最终可获得一个得到多数专家共识的软件规模 (源代码行数)。

.最后,通过与历史资料进行类比,根据过去完成软件项目的规模和成本等信息,推算出该软件每行源代码所需要的成本。然后再乘以该软件源代码行数的估算值,就可得到该软件的成本估算值。

4.3 软件开发成本估算的经验模型

软件开发成本估算是依据开发成本估算模型进行估算的。

1. IBM模型 (Walston-Felix) 静态单变量模型

2.其他静态单变量模型 3.Putnam 模型

动态多变量模型。

4. COCOMO模型 结构型成本估算模型是一种精确、易于使用的成本估算方法。 软件开发项目的总体类型: 组织型

不涉及硬件的开发

嵌入型

完全与硬件结合的开发

半独立型

介于上述两者之间

COCOMO模型按其详细程度分成三级:

基本COCOMO模型

中间COCOMO模型

详细COCOMO模型

基本COCOMO模型是静态单变量模型,用源代码行数(LOC) 为自变量的经验函数计算软件开发工作量。

中间COCOMO模型在用LOC为自变量的函数计算软件开发工作量(称为名义工作量)的基础上,用涉及产品、硬件、人员、项目等方面的影响因素调整工作量估算。 详细COCOMO模型包括中间COCO MO模型的所有特性,但用上述各种影响因素调整工作量估算时,还要考虑对软件工程过程中每一步骤(分析、设计等)的影响。 15种影响软件工作量的因素 fi:

产品因素:软件可靠性、数据库规模、产品复杂性

硬件因素:执行时间限制、存储限制、虚拟机易变性、环境周转时间

人的因素:分析员能力、应用领域实际经验、程序员能力、虚拟机使用经验、程序语言使用经验

项目因素:现代程序设计技术、软件工具的使用、开发进度限制

6.1 软件范围

软件范围包括功能、性能、限制、接口和可靠性。 估算开始时应对软件功能进行评价,对其进行适当的细化以便提供更详细的细节。由于成本和进度的估算都与功能有关,因此常采用某种程度的功能分解。 性能的考虑包括处理和响应时间的需求。

约束条件则标识产品成本、外部硬件、可用存储或其它现有系统对软件的限制。 现成的用以支持软件开发的工具(硬件工具及软件工具); 最基本的资源(人); 通常,对每一种资源,应说明以下四个特性:资源的描述、资源的有效性说明、资源在何时开始需要、使用资源的持续时间。最后两个特性统称为时间窗口。

6.4 风险分析

风险分析的主要活动有风险识别、风险估算、风险评价和风险管理。

风险分项目风险、技术风险和商业风险。

项目风险是指 (1)潜在的预算、进度、人员和组织、资源、用户、需求方面的问题,以及它们对软件项目的影响。(2)项目的复杂性、规模、结构的不确定性。 技术风险是指(1)潜在的设计、实现、接口、检验和维护方面的问题。 (2)规约的二义性、技术陈旧或太先进。

软件项目管理总结

软件项目管理总结

软件项目管理知识点总结

软件项目管理知识点总结

学习软件项目管理总结

软件项目管理

软件项目总结

软件项目管理合同

软件项目沟通管理

软件项目沟通管理

软件项目管理总结
《软件项目管理总结.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档