软件项目管理

简介: 为使软件项目开发获得成功,关键问题是必须对软件开发项目的工作范围、可能风险、需要资源(人、硬件/软件)、主要实现的任务、经理的里程碑、花费工作量(成本)、进度安排等做到心中有数

 目录

项目管理过程

启动一个软件项目

度量

估算

风险分析

追踪和控制

软件生存率和质量的度量

为什么要对软件进行度量

面向规模的度量

面向功能的度量

复杂性校正值Fi

软件质量的度量

在软件工程过程中使用度量

通常,对每一种资源,应说明以下四个特性:


项目管理过程

□软件项目管理的对象是软件工程项目

□为使软件项目开发获得成功,关键问题是必须对软件开发项目的工作范围、可能风险、需要资源(人、硬件/软件)、主要实现的任务、经理的里程碑、花费工作量(成本)、进度安排等做到心中有数

启动一个软件项目

□在制定软件项目计划之前、必须

 ♦明确项目的目标和范围

 ♦考虑候选的解决方案

 ♦标明技术和管理上的要求

度量

□进行度量工作,是为了了解产品开发的技术过程和产品本身

□度量的作用是为了有效地定量地进行管理

估算

□在软件项目管理过程种关键的活动就是制定项目计划

□在做计划时必须就需要的人力(以人月为单位)、项目持续时间(以年份或月份为单位)、成本(以元为单位)做出估

风险分析

□风险分析对于软件项目管理是决定性的,然而现在还有许多项目不考虑风险就着手进行

□所谓风险分析实际上就是一系列风险管理步骤,其中包括风险识别、风险估计、风险优化、风险管理策略、风险解决和风险监督

进度安排

□每一个软件项目都要求制定一个进度安排,但不是所有的进度都得一样安排

□对于进度安排,需要考虑得是:

♦预先对进度如何计划?

♦工作怎样就位?

♦如何识别定义好的任务?

追踪和控制

□一旦建立了开发进度安排,就可以开始着手追踪和控制活动

□有项目管理人员负责追踪在进度安排中表明得每一个任务

□还对资源重新定向

□对任务重新安排

□(作为最坏得结果)可以修改交付日期以调整已经暴露的问题。

用这种方式可以较好地控制软件的开发

软件生存率和质量的度量

□生存率与质量的度量是以投入工作量为依据的软件开发活动的度量和开发成果质量的度量

♦为什么要对软件进行度量

♦面向规模的度量

♦面向功能的度量

♦软件质量的度量

♦在软件工程过程中使用度量

为什么要对软件进行度量

1.表明软件产品的质量;

2.弄清软件开发人员的生存率;

3.给出使用了新的软件工程方法和工具所得到的效益;

4.建立项目估算的”基线”

5.帮助调整对新的工具和附加培训的要求

度量的方式

□在物理世界中的度量有两种方式

  ■直接度量

  ■间接度量

□软件度量也同样分为两类;直接度量与间接度量

image.gif编辑

面向规模的度量

□面向规模的度量是对软件和软件开发过程的直接度量

□可以建立一个面向规模的数据表格来记录项目的某些信息

面向规模的数据表格

□根据数据表格可以对所有的项目计算出平均值:

 生产率= KLOC/PM(人月)

 质量 = 错误数/KLOC

 成本 = 元/Loc

 文档 = 文档页数/KLOC

 面向功能数据表格

image.gif编辑

面向功能的度量

□面向功能的软件度量是对软件和软件开发过程的间接度量

□面向功能度量主要考虑程序的”功能性”和”实用性”,而不是对LOC计数

功能点计算

□确定五个信息域的特征,并在表格中相应位置给出计数

(1)用户输入法

(2)用户输出数

(3)用户查询数

(4)文件数

(5)外部接口数

□一旦收集到上述数据,就可以计算出与每一个计数相关的复杂性值

□计算功能点,使用如下的关系式:

 FP = 总计数 x(0.65+0.01xSUM(Fi))

□总计数是所有加权计数项的和

□ Fi (i = 1..4)是复杂性校正值,它们通过逐一回答如下提问来确定

□ Fi的取值0..5:

  0没有影响  1  偶然的

  2 适中的    3 普通的

  4 重要的    5 极为重要的

□SUM(Fi)是求和函数

复杂性校正值Fi

1.系统是否需要可靠的备份和恢复?

2.是否需要数据通信?

3.是否有分布处理的功能?

4.是否性能成为关键?

5.系统是否运行在既存的高度实用化的操作环境中?

6.系统是否需要联机数据项?

7.联机数据项是否需要建立多重窗口显示和操作,以处理输入处理

8.主文件是否联机更新?

9.输入、输出、文件、查询是否复杂?

10.内部处理过程是否复杂?

11.程序代码是否可复用?

12.设计中是否包括了转移和安装?

13.系统是否设计成可以重复安装在不同机构中

14.系统是否设计成易修改和易使用?

□一旦计算出功能点,就可仿照LOC的方式度量软件的生产率、质量和其它属性:

 

 生产率 = FP/PM(人月)

    质量 = 错误数 /FP

    成本 = 元/FP

    文档 = 文档页数/FP

软件质量的度量

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

□在软件交付之前得到的度量可作为判断设计和测试质量好坏的依据

□在软件交付之后的度量则把注意力集中于还未发现的差错数和系统维护性方面

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

(1)正确性:一个程序必须正确地运行,并为它的用户提供某些输出。正确性要求软件执行所要求的功能。

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

(3)完整性:完整性度量一个系统抗拒对它的安全性攻击(事故的和人为的)的能力

(4)可使用性:如果一个程序不具有”用户友好性”,即使它所执行的功能很有价值,也常常会失败

在软件工程过程中使用度量

□建立基线

 ◇为了LOC和FP用于软件估算技术中,必须建立历史数据基线

 ◇根据历史经验,在软件工程过程的衔接处划出一条基线,在此基线上附有一些用于度量的经验目标信息,作为工程过程评估的依据,判断工程过程的完成是否达到预想的要求

软件开发中的资源

□软件项目计划的第二个任务是对完成该软件项目所需的资源进行估算

软件开发中的资源

image.gif编辑

通常,对每一种资源,应说明以下四个特性:

(1)资源的描述

(2)资源的有效性说明;

(3)资源在何时开始需要;

(4)使用资源的持续时间

image.gif编辑


目录
相关文章
|
2月前
|
项目管理
「软件项目管理」一文浅谈软件项目风险计划
该文章深入探讨了软件项目风险计划的制定,包括风险识别、评估、应对策略等内容,并提供了风险条目检查表、风险概率及影响分析矩阵等工具,帮助项目管理者有效地管理和减轻项目中的潜在风险。
「软件项目管理」一文浅谈软件项目风险计划
|
2月前
|
存储 项目管理
「软件项目管理」一文详解软件配置管理计划
该文章详细阐述了软件配置管理计划的各个方面,包括配置管理的基本概念、配置项的标识、变更控制流程以及配置审计的方法,并提供了实施配置管理的最佳实践。
「软件项目管理」一文详解软件配置管理计划
|
2月前
|
算法 项目管理
「软件项目管理」一文详解软件项目进度计划
该文章深入讲解了软件项目进度计划的制定方法,包括关键路径法(CPM)的基本概念、ES/LS/EF/LF关系图的绘制、浮动时间的计算以及时间压缩和资源优化技术,并通过实例演示了如何有效管理项目时间。
|
2月前
|
项目管理
「软件项目管理」一文了解软件项目团队计划
该文章全面介绍了软件项目团队计划的制定,涵盖人力资源规划、项目组织结构设计、责任分配矩阵(RAM)的应用、干系人管理策略及项目沟通计划的编制等多个方面,帮助项目经理有效地组织和管理项目团队。
|
3月前
|
监控 项目管理
软件项目管理:从计划到成功的实践
【8月更文第20天】在快速变化的IT行业中,高效的软件项目管理是确保项目成功的关键。本文将探讨软件项目管理中的几个核心领域:项目计划与估算、风险管理、人员配置与团队建设以及进度控制与成本管理,并通过具体案例加以说明。
437 2
|
监控 项目管理
软件项目管理
一、软件项目管理 软件项目管理是指对软件项目进行规划、组织、指导和控制的过程,以实现项目目标,确保项目按时、按质、按量完成。软件项目管理涉及到项目的各个方面,包括项目计划、需求管理、进度管理、风险管理、质量管理、资源管理、沟通管理等。 下面是软件项目管理的一些重要方面: 1. 项目计划:项目计划是指对项目进行全面的规划和安排,包括确定项目目标、范围、时间、成本、资源分配等。项目计划需要考虑项目的可行性、风险评估和资源可用性等因素。 2. 需求管理:需求管理是指对项目需求进行收集、分析、确认和控制的过程。需求管理包括需求的提取、需求的优先级排序、需求的变更管理等,以确保项目按照用户需求进行开发。
88 0
|
6月前
|
监控 测试技术 项目管理
软件体系结构 - 软件项目管理
【4月更文挑战第9天】软件体系结构 - 软件项目管理
84 0
|
测试技术 索引
严格的项目流程,竟然带来...
还在等什么,快来一起讨论关注吧,公众号【八点半技术站】,欢迎加入社群
严格的项目流程,竟然带来...
08.需求工程
脑图如下所示
680 0