全国计算机等级考试四级复习纲要五[5]

文章作者 100test 发表时间 2007:03:10 18:39:47
来源 100Test.Com百考试题网


(三) 进度安排

  软件开发项目的进度安排可以有两种考虑方式。第一种,系统最终交付使用的日期已经确定,软件开发机构必须在合同规定的时间内安排.第二种,只确定了大致的年限,最后交付使用的日期由软件开发机构根据具体情况确定。后一种考虑能够对软件开发任务进行细致的分析.能够最好地利用资源,合理地分配工作量,但实际工作中常常遇到第一种情况,问题是软件管理人员如何在规定的期限内分配人力和安排进度。进度安排的好坏往往影响整个项目的按期完成和用户的使用,如不能按期完成,用户就会不满,而且需向用户赔偿损失。如作为商品,将会失去市场竞争力。进度安排的精确性有时比成本估算更重要。在商品生产的社会中,某种商品的损失往往还可以通过其他商品或分期偿还来承担。而进度拖延的损失是无法弥补的。下面就软件开发项目进度安排中的几个问题进行讨论。

1.软件工作的特殊性

制定软件进度与其他工程没有很大的区别,因此使用一般的通用技术和工具即可。但重点要强调的是软件产品是逻辑产品,这与其他工程不同。因此当几个人共同完成某项任务时,人与人之间就有一个思想交流问题,称之为通信关系。通信是要付出代价的,不只是要花时间,同时由于通信中的疏忽常常会使错误增加。如一个组有4个软件工程师,两两之间进行通信联系,通信路径有6条.对6个软件工程师,则通信路径增加至14条。因此所付的代价就必然会增加,所以工作组的人员不宜太多,一般3—5人为好,目前国外一般采用主程序员组的制度。另一点要强调的是软件工作切忌中间临时加人,必须在安排进度时就考虑周到。

2.各阶段工作量的分配

估算出总的工作量以后,就需要一个可以进行各阶段工作量分配的模型。某一阶段工作量所占的百分比必须根据经验数据确定。这里要再一次强调,在开发过程中保存的记录将增加经验数据库存,而且将改善今后估算的准确性。R.S.Pressman提出一种称作40-20-40的工作量分配规则,即前期工作(计划、需求分析、概要设计和详细设计阶段)和后期工作(测试阶段)各占40%,编码阶段占20%。应该强调要重视前期和后期工作。前期工作容易被忽视,主要原因是:管理人员认为不开始编码工作就算没有进行,他们不了解前期工作的重要性.技术人员往往也急于编码,认为写出代码任务就算完成了。后期工作也容易被忽视,认为编码出来就完事了,对测试工作要占这么大的工作量没有思想准备。所以要制定好进度计划,就要研究软件工作的规律,前期基础工作没做好,将会给后期工作带来很大困难,往往使工程进度一拖再拖,难以坚持,有的不得不中途夭折。

3.制定开发进度

需要涉及的下一个未知量是开发进度。进度安排是软件计划工作中一项最困难的任务,计划人员要把可用资源与项目工作量协调好.要考虑各项任务之间的相互依赖关系,并且尽可能地平行进行.预见可能出现问题和项目的“细脖子”,并提出处理意见.以及规定进度,评审和应交付的文档。

假设用作变量的开发时间TD按线性变化,而且已经得到了总的开发工作量估算值ED,要求在规定的时间TD内完成,在项目中最好有参加工作的人员平均值M,即M=ED/TD,这将是一个非常有用的数据。遗憾的是在上述算式中,项目的工作量和开发时间不能作为独立的变量。Brooks定律描述了这种现象的最极端情况:为误期的软件项目增加人员将会使其进度更慢。来源:www.examda.com

(四) 软件开发组织

有多少个软件开发机构,几乎也就有多少人员的组织机构。不管这些组织机构是好或坏,一般是不可能轻易改变的。尽管组织机构的改变不属于软件计划人员的职责范围内的事。不过,在一个新的软件项目中直接涉及人员的组织问题却是可以,也应该在软件计划阶段加以认真考虑的。对于一个需要n个人工作k年的软件项目,如何使用人员资源,可能有以下几种选择:

(1)把m项不同功能的软件分配给n个人去完成,他们之间无需多少合作,主要协调的任务由一位软件主管人员来负责。这样,软件主管可能同时需要管理多个不同项目.

(2)把m项不同功能的软件分配给n个人去完成(m≤n),这样可能就要建立一些非正式的小组,并指定小组负责人,而小组之间的协调工作则由软件主管负责.



相关文章


三级信息管理技术分章节考试要点3
全国计算机等级考试四级复习纲要五[5]
三级信息管理技术分章节考试要点2
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛