- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Pressmanch5软件项目计划
软件工程—— 第五章 软件项目计划 第五章 软件项目计划 要点浏览 概念:软件项目计划实际上包含了我们在第5章至第9章讨论的所有活动,然而,在本章的范围内,计划涉及估算——你的试图确定要建造一个特定的基于软件的系统或产品需要多少钱、多少工作量、多少资源、以及多少时间的活动。 人员:软件管理者――使用从客户和软件工程师处获得的信息以及从过去的项目收集的软件度量数据。 第五章 软件项目计划 为什么重要:在你开始建造软件前开发一个估算似乎是合理的。 步骤:估算从产品的范围的描述开始。在范围被“界定”前,不可能得出一个有意义的估算。问题然后被分解为一组较小的问题,而且这些问题的每一个均通过使用历史数据和经验为指南进行估算。明智的做法是使用至少两种不同的方法(作为交叉检查)来产生你的估算。问题复杂度和风险需在最终的估算给出前被考虑。 第五章 软件项目计划 产品:一个简单的表,描述将完成的任务、将实现的功能、以及各自涉及的成本、工作量和时间。同时也生成一个所需项目资源的列表。 保障措施:这是困难的。因为在项目已经被完成前,你将不可能真正知道。然而,如果你有经验且遵循系统化的方法、用可靠的历史数据生成估算、用至少两种不同的方法创建估算数据点、并考虑复杂度和风险因素,则你可以确信你已经得出了你的最好估算。 第五章 软件项目计划 软件项目管理过程从一组活动开始,它们被称为项目计划。在项目可以开始前,管理者和软件小组必须估算将要完成的工作、将需要的资源、以及从开始到完成所需要的时间。无论何时进行估算,我们都是在预测未来,并会接受某种程度的不确定性。引用Frederish Brooks的话: ? 我们的估算技术发展缓慢。更为严重的是,它们隐含了一个很不正确的假设,即“一切都会好的”......;因为我们对自己的估算没有把握,软件管理者常常缺少让人们得到一个好产品的信心。 第五章 软件项目计划 虽然估算是一门科学,更是一门艺术,但是,这个重要的活动不能以随意的方式来进行。 对时间及工作量进行评估的有用技术确实存在。 过程和项目度量可以为定量估算的生成提供历史的视角和强有力的输入,过去的经验可以非测量地辅助估算的开发和复审。 而且因为估算是所有其它项目计划活动的基础,而项目计划又提供了通往成功的软件工程的行车图,因此,没有它我们就会搭错车。 5.1对估算的观察 (1) 一位总经理曾经被问到:在选择一个项目管理者时,什么特质是最重要的。他的回答是:“具有在错误真正发生之前就能知道它的能力”。我们还可以加上:“在未来还是一团迷雾的时候就有勇气进行估算”。 估算一个软件开发工作的资源、成本及进度需要经验、得到以前的有用信息、以及当仅存在定性的数据时进行定量测量的勇气。 估算具有与生俱来的风险,而正是这种风险导致了不确定性。 5.1对估算的观察 (2) 项目复杂性对计划中固有的不确定性具有重大影响。一个复杂的电子商务应用的第一次开发者可能认为它是非常复杂的,然而,一个正在开发其第10个电子商务WEB站点的软件小组会认为这样的工作是非常普通的。 一系列定量的软件复杂度测量已经被提出,这样的测量被应用于设计或代码级,并因此而难于在软件计划中被使用。 关于复杂性的其它一些更为主观的评估可以在早期的计划过程中建立。 5.1对估算的观察 项目规模是另一个影响估算准确性和效率的因素。随着规模的增长,软件中各个元素之间的相互依赖性也迅速增加。估算中采用的一个重要方法――问题分解,也因为分解出来的元素仍然很大而变得更为困难。 结构不确定性的程度也会对估算的风险产生影响。在这里,结构是指:需求能被固定的程度、功能能被分解的容易程度、以及必须要处理的信息的层次性。 5.1对估算的观察 KEYPOINT:项目复杂度、项目规模和结构不确定性的程度均将影响估算的可靠性。 ? 历史信息的可用程度也决定了估算的风险。 通过回顾过去,我们能够效法好的地方,且避免再出现同样的问题。当存在全面可用的关于过去项目的软件度量时,估算就会有更大的保证;能够建立进度计划以避免以前遇到过的困难;总体风险也会降低。 5.1对估算的观察 风险是由为资源、成本及进度建立的定量估算中存在的不确定性来测量的。如果对项目范围理解很差或项目需求不断变化,不确定性及风险就会很高。软件计划者应该要求功能、性能及接口定义(包含在系统规约中)的完全性。计划者,尤其是客户,应该认识到软件需求的变化意味着成本及进度的不稳定。? 项目管理者不应该为估算所困扰。现代软件工程方法支持开发的迭代视图。在这类方法中,当用户改变需求时,有可能会重新审查估算并修改之。 5.2项目计划目标 (1) 软件项目计划的目标是提供一个框架,使得管理者能够对资源、成本及进度进行合理的估算。 这些估算是软件项目开始时在一个
文档评论(0)