软件工程-软件项目管理

知识要点:

估算软件规模;      开发工作量估算;      开发时间、进度估算;

关键路径、机动时间;      软件配置及管理过程;      能力成熟度模型。

一、软件项目管理的定义:通过计划、组织和控制等一系列活动,合理的配置和使用各种资源,以求达到

                                           软件项目开发的过程。

二、估算软件规模:代码行技术、功能点(FP)技术;

代码行技术:将实现每个功能的所需要的源程序行数累加即可;

功能点技术:FP=UFP*TCF;(未调整的功能点数乘以复杂因子)

                      TCF=0.65+0.01*DI;(DI为全部技术因素的和)

功能点的确定与所用编程语言无关

三、工作量的估算(单位人月pm):一般为关于代码行数KLOC和功能点FP的函数;

静态单变量模型:E=A+B*(参数值)^C;(该式子的A、B、C都为已知常数,参数值为KLOC或FP)

动态多变量模型(软件方程式):看做软件规模与时间的二元函数,用此函数值来估算工作量E;

E=(LOC*B^0.333/P)*(1/t)^4;(t是指项目持续时间单位为月或年,B是特殊技术因子,P为生产率参数,B与P视为常数)

在LOC工作规模固定时,项目持续时间t越长工作量E越低

COCOMO2模型(构造性成本模型):

四、开发时间的估算:T=A*E^B(A、B为常数、E为工作量单位为人月pm)

五、开发进度的估算:关键路径问题事件的最早与最晚开始时间;

(最早开始时间为从前往后取最大值,最迟开始时间从后往前取最小值)

六、关键路径:几个时间的最早和最晚开始时间相同,这些时间构成的路径称为关键路径;(关键路径上的活动必然准时发生)

想要缩短工期必须加快关键活动的进行(反之不成立);

(具体内容详见数据结构图部分,计算事件的最早开始时间,活动的最早开始时间,时间的最晚开始时间,

活动的最晚开始时间。总结最早就是顺序求解,最晚就是逆序求解)

七、机动时间(松弛时间):不在关键路径上的事件有一定机动的余地,实际的开始时间可以比预定时间一些,或者

持续时间比预定时间长一些,而不影响整个工程的结束时间。机动时间等于事件的最晚开始时间减去事件的最早开始时间;

八、软件配置及管理过程:

软件配置管理定义:在软件项目启动时开始,在软件整个生命周期内管理变化的一组活动,这些活动用于标识变化、控制变化

确保适当的实现了变化、向需要知道这类信息的人报告变化;其目的是使变化更正确且更容易被适应,在必须变化时

减少所需花费的工作量;

软件配置:计算机程序、描述计算机程序的文档、数据;

基线的定义(重点):通过正式复审的规格说明或中间产品,作为进一步开发的基础并且只有通过正式的变化控制才能改变它

基线是通过正式复审的软件配置项,在软件配置项变成基线之前可以迅速而非正式的修改它。基线一旦建立

虽然仍可以实现变化,但必须应用特定的、正式的过程来评估、实现、验证每一个变化;

软件管理的过程(重点):

任务:控制变化(主要任务)、标识、版本控制、变化控制、配置审计、状态报告;

九、能力成熟度模型(CMM):

初始级:项目成功与否取决于开发人员的个人能力,软件过程的特征是无序混乱的,几乎没有什么过程是经过定义的

具有不可预测性,而且在该过程中人员变动比较频繁;

可重复级:建立基本的项目管理过程,可跟踪成本、进度、功能、质量。其目标是使得项目管理过程稳定,能够重复

之前成功项目中所进行过的软件项目工程实践;

已定义级:已定义完整的软件过程,软件过程已经文档化、标准化。所进行的管理和工程活动都是稳定的,产品开发成本

和进度以及产品功能和质量都受到控制,软件产品质量具有可追溯性。

已管理级:软件过程和软件产品都建立了定量的质量目标,所有过程活动都是可度量的。允许软件机构在定量范围内

预测过程和产品的质量趋势,发生偏离时可以及时纠正,产生的软件产品是高质量的。

优化级:具有持续不断改进软件过程的能力,既对现行的过程实例不断改进和优化,又采用新技术和新方法来实现

未来过程的改进;

高一级包含低一级的全部特征,是低一级的进一步优化

你可能感兴趣的:(软件工程)