23项目规划

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件工程第23章项目规划2019/11/141软件工程导论主要内容软件报价计划驱动的开发项目进度安排敏捷规划估算技术2019/11/142软件工程导论项目规划对于一个软件项目的有效管理取决于对该项目进展状况的全面规划。它可能是项目管理活动中最耗时的。在项目之初拟定的计划,应该成为整个项目的驱动器。这个初始的计划应该是在当时那个条件下所有可能的计划中最好的一个,它会随着项目的进展和信息的增多逐渐完善。32019/11/14软件工程导论项目规划产生的阶段提案阶段,即争取开发软件系统的开发合同的投标阶段。项目启动阶段,确定参加项目的人员,​​将项目分解成数个子项目,在公司中如何分配资源等。贯穿整个项目过程中,定期地根据获得的经验和项目进展的监测信息修改计划。2019/11/144软件工程导论软件开发项目总成本工作量成本支付给软件开发人员的工资社会和人身保险硬件和软件费用差旅和培训费用管理费用办公场所、水电等费用网络和通信费用基础设施费用等2019/11/145软件工程导论软件开发项目总成本估算工作量成本。是绝大多数项目的主要成本,估算时首先做出最贴近的估算,然后加上应急开支。硬件和软件费用。中间件以及平台软件的使用情况影响成本。差旅和培训费用。尽可能少的差旅,因为差旅费用的发生还带来旅途上的时间的开销。2019/11/146软件工程导论软件开发项目规划获得项目的合同后,应该立刻在投标阶段的规划的基础上改进项目的框架规划,创建项目的启动计划。需要更多的系统需求;目标是创建一个能够帮助项目人员决策补充和做出预算的项目规划;在该规划的基础上,在机构内部分配项目资源,以及决定是否需要新雇员工等。规划中应该包括项目监督机制。项目计划总是随项目的进展而改变。2019/11/147软件工程导论23.1软件报价软件报价的估算是预测软件开发者生产一个软件系统的成本。考虑硬件、软件、差旅、培训等成本。开发成本和对客户的报价之间的关系并不简单。需要考虑机构因素、经济和政治因素、商业因素的影响。参与与决定:市场人员、销售人员、资深管理人和项目管理者等。2019/11/148软件工程导论影响软件报价的因素FactorDescriptionMarketopportunityAdevelopmentorganizationmayquotealowpricebecauseitwishestomoveintoanewsegmentofthesoftwaremarket.Acceptingalowprofitononeprojectmaygivetheorganizationtheopportunitytomakeagreaterprofitlater.Theexperiencegainedmayalsohelpitdevelopnewproducts.CostestimateuncertaintyIfanorganizationisunsureofitscostestimate,itmayincreaseitspricebyacontingencyoverandaboveitsnormalprofit.ContractualtermsAcustomermaybewillingtoallowthedevelopertoretainownershipofthesourcecodeandreuseitinotherprojects.Thepricechargedmaythenbelessthanifthesoftwaresourcecodeishandedovertothecustomer.2019/11/149软件工程导论因素描述市场机遇合同条款成本估算的不确定性影响软件报价的因素FactorDescriptionRequirementsvolatilityIftherequirementsarelikelytochange,anorganizationmayloweritspricetowinacontract.Afterthecontractisawarded,highpricescanbechargedforchangestotherequirements.FinancialhealthDevelopersinfinancialdifficultymaylowertheirpricetogainacontract.Itisbettertomakeasmallerthannormalprofitorbreakeventhantogooutofbusiness.Cashflowismoreimportantthanprofitindifficulteconomictimes.2019/11/1410软件工程导论需求易变性因素描述财务状况2019/11/1411软件工程导论23.2计划驱动的开发计划驱动或基于计划的开发是对一个开发过程制定详细规划的软件工程方法。计划驱动的开发是基于工程项目管理技术和大型软件开发项目管理的“传统”的方法。项目计划创建需要做的工作,由谁执行,开发计划和工作产品的记录。经理使用计划,以支持项目的决策和作为衡量进展的一种方式。2019/11/1412软件工程导论计划驱动开发机构针对计划驱动方法中的所涉及的相关机构问题(可用的工作人员、其他项目等),在项目开始之前要密切考虑和及早规划潜在的问题,而不是依赖在项目进行中去发现。对计划驱动方法来说,许多早期的决定必须修改,因为软件开发和使用是在变化的环境中。这也是部分人提倡敏捷开发的理由。2019/11/1413软件工程导论计划驱动与敏捷开发结合计划驱动与敏捷开发结合的权衡取决于项目的类型和人员的技术水平。安全要求极高、前期存在大量分析、使用要求万无一失等类型项目应该采用计划驱动方法。用于快速变化环境中的小型或中型信息系统应该使用敏捷方法。多个公司合作开发时,建议使用计划驱动方法,以利各团队间协调。2019/11/1414软件工程导论23.2.1项目计划在计划驱动的项目开发中,项目计划包括项目可用资源,工作分解和完成工作的进度安排计划书引言项目的组织风险分析硬件和软件资源需求工作分解项目进度安排监控和报告机制152019/11/14软件工程导论项目辅助计划162019/11/14计划质量计划有效性验证计划配置管理计划维护计划描述描述将要应用于一个软件项目的质量过程和质量标准描述进行系统有效性验证所用的方法、资源和进度描述配置管理的过程和结构预测系统维护需求和所需的维护成本和人力人员开发计划描述如何开发项目组成员的技能和经验软件工程导论23.2.2规划过程项目规划是一个反复的过程,在项目启动阶段初始项目计划的创建就开始了。计划变更是不可避免的。由于项目过程中不断产生有关系统和项目团队的信息,所以必须经常修订计划,以反映需求、进度和风险的变化。不断变化的业务目标,也导致项目计划的变化。随着业务目标的变化,会影响所有已规划的目标,这些目标就需要重新规划。2019/11/1417软件工程导论项目规划的过程2019/11/1418软件工程导论识别约束识别风险定义里程碑和可交付文档项目规划程序定义项目进度安排继续工作根据计划的监控进程启动风险缓解行动重新规划项目没有问题未完成项目完成严重问题根据计划的监控进程项目规划的过程2019/11/1419软件工程导论识别约束识别风险定义里程碑和可交付文档项目规划程序定义项目进度安排继续工作根据计划的监控进程启动风险缓解行动重新规划项目没有问题未完成项目完成严重问题根据计划的监控进程开始阶段:先评估影响项目的各种约束条件,如交付日期、人员、预算、可用工具等;定义项目的里程碑和可交付文档。项目规划的过程2019/11/1420软件工程导论识别约束识别风险定义里程碑和可交付文档项目规划程序定义项目进度安排继续工作根据计划的监控进程启动风险缓解行动重新规划项目没有问题未完成项目完成严重问题根据计划的监控进程拟定项目进度;并按计划启动各项活动或继续某些活动;在一段时间之后检查其进展,了解其偏差并对计划进行修正。项目规划的过程2019/11/1421软件工程导论识别约束识别风险定义里程碑和可交付文档项目规划程序定义项目进度安排继续工作根据计划的监控进程启动风险缓解行动重新规划项目没有问题未完成项目完成严重问题根据计划的监控进程创建项目计划时要尊重事实;项目过程中会不断出现一些问题而使项目延期;初期的项目计划应低调,并充分考虑影响计划的各种因素。项目规划的过程2019/11/1422软件工程导论识别约束识别风险定义里程碑和可交付文档项目规划程序定义项目进度安排继续工作根据计划的监控进程启动风险缓解行动重新规划项目没有问题未完成项目完成严重问题根据计划的监控进程发生严重问题时会导致项目的延期,这时需要采取风险缓解措施来减少项目失败的风险;除此,还需重新规划项目,并与客户协商确认。23.3项目进度安排项目进度计划决定如何组织项目工作,将其分成单独的任务,并且何时以何种方式完成这些任务。必须估计完成每项任务所需的时间,所需的工作量,以及完成这些任务的人员。还必须估计完成每项任务所需要的资源,如服务器上所需的磁盘空间,所需要在专门的硬件(如模拟器)占用的时间,以及项目人员的差旅费预算。软件工程导论232019/11/14项目进度安排活动项目拆分成任务,并估算完成每项任务所需的时间和资源。同时组织任务,并用最优方式使用劳动力。最小化任务相关性,以避免由于一个任务等待另一个任务完成所造成的延误。依赖于项目经理的直觉和经验。软件工程导论242019/11/14项目里程碑和可交付的文档在进行项目规划时,应该建立一系列的项目里程碑,一个里程碑就是一项软件过程活动的终结。在每个里程碑,都应有一个正式的可以提交给管理层的输出结果,比如,一个报告。可交付的文档是交付给客户的项目成果,通常在项目的描述、设计等主要的项目阶段结束时交付。252019/11/14软件工程导论项目进度安排过程软件工程导论262019/11/14识别活动识别活动依赖关系估算活动的资源为活动分配人员创建项目图表活动图表软件需求及设计信息进度的问题准确的估算是比较困难的,因此开发成本估算也是困难的。生产力与人的数量是不成正比的。到了项目后期添加人员,由于通信开销加大使项目更加滞后。意外总是会发生。因此也总是要有应急规划。272019/11/14软件工程导论进度表示图形符号通常用来说明项目进度。这些数据显示该项目分解成任务。任务不宜过小。他们大约需要一两个星期。最常用的表示项目进度的是条形图。他们通过表现活动、资源在时间轴上变化来表示进度。软件工程导论282019/11/14任务、持续时间以及依赖关系TaskEffort(person-days)Duration(days)DependenciesT11510T2815T32015T1(M1)T4510T5510T2,T4(M3)T6105T1,T2(M4)T72520T1(M1)T87525T4(M2)T91015T3,T6(M5)T102015T7,T8(M6)T111010T9(M7)T122010T10,T11(M8)任务工作量(人日)工期(天)依赖关系活动的条形图人员分配示意图PROJECT应用23.4敏捷规划软件开发的敏捷方法是一种迭代方法,软件以增量方式进行开发和交付给客户。不同于计划驱动的方法,这些增量的功能不是事先计划的,而是在开发过程中决定。增量内容的决策取决于进展和对客户需求的优先次序。客户需求的优先次序和需求经常改变,因此制定能适应这些变化的灵活的计划是有意义的。软件工程导论332019/11/14敏捷规划阶段版本规划,包括对未来几个月的展望以及决定系统发布版本中应该包含的功能。迭代规划,包括短期的展望,主要是规划系统的下一个增量。通常这将花费整个团队2-4周的工作量。软件工程导论342019/11

1 / 61
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功