目录
项目管理过程
□软件项目管理的对象是软件工程项目
□为使软件项目开发获得成功,关键问题是必须对软件开发项目的工作范围、可能风险、需要资源(人、硬件/软件)、主要实现的任务、经理的里程碑、花费工作量(成本)、进度安排等做到心中有数
启动一个软件项目
□在制定软件项目计划之前、必须
♦明确项目的目标和范围
♦考虑候选的解决方案
♦标明技术和管理上的要求
度量
□进行度量工作,是为了了解产品开发的技术过程和产品本身
□度量的作用是为了有效地定量地进行管理
估算
□在软件项目管理过程种关键的活动就是制定项目计划
□在做计划时必须就需要的人力(以人月为单位)、项目持续时间(以年份或月份为单位)、成本(以元为单位)做出估
风险分析
□风险分析对于软件项目管理是决定性的,然而现在还有许多项目不考虑风险就着手进行
□所谓风险分析实际上就是一系列风险管理步骤,其中包括风险识别、风险估计、风险优化、风险管理策略、风险解决和风险监督
进度安排
□每一个软件项目都要求制定一个进度安排,但不是所有的进度都得一样安排
□对于进度安排,需要考虑得是:
♦预先对进度如何计划?
♦工作怎样就位?
♦如何识别定义好的任务?
追踪和控制
□一旦建立了开发进度安排,就可以开始着手追踪和控制活动
□有项目管理人员负责追踪在进度安排中表明得每一个任务
□还对资源重新定向
□对任务重新安排
□(作为最坏得结果)可以修改交付日期以调整已经暴露的问题。
用这种方式可以较好地控制软件的开发
软件生存率和质量的度量
□生存率与质量的度量是以投入工作量为依据的软件开发活动的度量和开发成果质量的度量
♦为什么要对软件进行度量
♦面向规模的度量
♦面向功能的度量
♦软件质量的度量
♦在软件工程过程中使用度量
为什么要对软件进行度量
1.表明软件产品的质量;
2.弄清软件开发人员的生存率;
3.给出使用了新的软件工程方法和工具所得到的效益;
4.建立项目估算的”基线”
5.帮助调整对新的工具和附加培训的要求
度量的方式
□在物理世界中的度量有两种方式
■直接度量
■间接度量
□软件度量也同样分为两类;直接度量与间接度量
编辑
面向规模的度量
□面向规模的度量是对软件和软件开发过程的直接度量
□可以建立一个面向规模的数据表格来记录项目的某些信息
面向规模的数据表格
□根据数据表格可以对所有的项目计算出平均值:
生产率= KLOC/PM(人月)
质量 = 错误数/KLOC
成本 = 元/Loc
文档 = 文档页数/KLOC
面向功能数据表格
编辑
面向功能的度量
□面向功能的软件度量是对软件和软件开发过程的间接度量
□面向功能度量主要考虑程序的”功能性”和”实用性”,而不是对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用于软件估算技术中,必须建立历史数据基线
◇根据历史经验,在软件工程过程的衔接处划出一条基线,在此基线上附有一些用于度量的经验目标信息,作为工程过程评估的依据,判断工程过程的完成是否达到预想的要求
软件开发中的资源
□软件项目计划的第二个任务是对完成该软件项目所需的资源进行估算
软件开发中的资源
编辑
通常,对每一种资源,应说明以下四个特性:
(1)资源的描述
(2)资源的有效性说明;
(3)资源在何时开始需要;
(4)使用资源的持续时间
编辑