已阅读5页,还剩111页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,软件工程,北京工业大学软件学院石振莲67396121zshi,$5000,$10000,$50000,Unit4软件项目管理,70年代中期,70%的项目是由于管理不善引起的,而并不是因为技术实力不够,管理是影响软件研发项目全局的因素,而技术因素只影响局部。,90年代中期美国软件工程实施现状的调查:,10%的项目能够在预定的费用和进度下交付。,成为软件项目开发中最重要的核心问题之一。,软件项目管理,什么是软件项目管理?,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。软件项目管理的对象是软件工程项目,他所涉及的范围覆盖了整个软件工程过程。,MeilerPage-Jones:我拜访了很多商业公司,我也观察了很多数据处理的管理者,我常常恐惧地看到这些管理者徒劳地与恶梦般的项目斗争着,在根本不可能的最后期限下苦苦挣扎,或是在交付了使其用户极为不满的系统之后,又继续花费大量的时间去维护该系统。,Q,B,T,管理的范围,有效的项目管理集中于三个P上:People项目参与者项目负责人软件项目组协调和通讯Problem软件范围问题分解Process合并问题和过程过程分解,软件项目管理,软件项目计划风险管理项目成本预算,1.软件项目计划,软件项目计划SoftwareProjectPlanning,对估算的观察ObservationsonEstimating项目计划目标ProjectPlanningObjectives软件范围SoftwareScope资源Resources软件项目估算SoftwareProjectEstimation分解技术Decomposition经验估算模型EmpiricalEstimationModels自行开发或购买的决策TheMake/BuyDecision,软件项目计划ObservationsonEstimating,Aleadingexecutivewasonceasked:“Whatsinglecharacteristicwasmostimportantwhenselectingaprojectmanager?”Hisresponse:,“Apersonwiththeabilitytoknowwhatwillgowrongbeforeitactuallydoes”,Andthecouragetoestimatewhenthefutureiscloudy.”,软件项目计划ObservationsonEstimating,估算需要:经验experience了解以前有用的信息accesstogoodhistoricalinformation当仅存定性数据时进行定量测量的勇气thecouragetocommittoquantitativepredictionswhenqualitativeinformationisallthatexists.,软件项目计划ObservationsonEstimating,KeypointsProjectcomplexity,projectsize,andthedegreeofstructuraluncertaintyallaffectthereliabilityofestimate.,亚里斯多德:记住:应该满足于事物的本性所能容许的精确度,当只能近似于真理时,不要去寻求绝对的准确,软件项目计划ProjectPlanningObjectives,提供一个框架,使得管理者能够对资源、成本及进度进行合理的估算。一个限定的时间框架内“最好的情况”及“最坏的情况”通过一个信息发现的过程实现的,软件项目计划ProjectPlanningObjectives,Advice:Themoreyouknow,thebetteryouestimate.Therefore,updateyourestimatesastheprojectprogresses.,软件项目计划SoftwareScope,Keypoint:Aconsiderationofsoftwarescopemustincludeonevaluationofallexternalinterfaces.,软件项目计划SoftwareScope,软件项目计划的第一个活动是软件范围的确定。软件范围描述了功能、性能、约束条件、接口及可靠性。,软件项目计划SoftwareScope,范围是通过回答下列问题来定义的:背景:待建造的软件如何适应于大型的系统、产品或商业的背景,在该背景下要加什么约束?信息目标:软件要产生什么样的客户可见的数据对象输出,需要什么样的数据对象输入?功能和性能:软件执行什么样的功能使得输入数据才能变换成为输出数据?需要满足什么特殊的性能特征吗?,软件项目计划SoftwareScope,Advice:Technicalfeasibilityisimportant,butbusinessneedisevenmoreimportant.Itdoesnogoodtobuildahightechsystemorproductthatnoonereallywants.,软件项目计划Resources,KeyPoint:Tobereusedeffectively,softwarecomponentsmustbecataloged,standardized,andvalidated.,软件项目计划Resources,硬件/软件工具,可复用构件,人员,提供支持开发工作的基础,极大地降低开发成本,时间,主要资源,软件项目计划Resources,人力资源描述组织的职位及专业技能等可复用软件资源可直接使用的构件具有完全经验的构件具有部分经验的构件新构件环境资源硬件及软件,软件项目计划Resources,资源说明四特征资源描述可用性说明需要该资源的时间被使用的持续时间,软件项目计划Resources,软件成本及工作量估算永远不会是一门精确的科学。可以从神秘的技巧向一系列系统化的步骤转化,软件项目计划SoftwareProjectEstimation,几种可考虑的选择将估算拖延到项目的最后基于已经完成的类似项目使用简单的分解技术使用经验模型,软件项目计划SoftwareProjectEstimation,AdviceWhencollectingproductivitymetricsforprojects,besuretoestablishataxonomyofprojecttypes.Thiswillenableyoutocomputedomainspecificaverages,makingestimationmoreaccurate.,软件项目计划Decomposition,分解问题,将项目分解成若干主要功能及相关的软件工程活动,通过逐步求精的方式进行成本及工作量的估算问题分解“分而治之”过程分解回答“如何完成公共过程框架?”,软件项目计划EmpiricalEstimationModels,KeyPointAnestimationmodelreflectsthepopulationofprojectsfromwhichithasbeenderived.Therefore,themodelisdomainsensitive.,软件项目计划EmpiricalEstimationModels,估算模型的结构E=A+B*(ev)CA、B、C是由经验导出的常数,E是以人月为单位的工作量ev是估算变量,软件项目计划EmpiricalEstimationModels,面向LOC的估算模型E=5.2*(KLOC)0.91Walston-Felix模型E=5.5+0.73*(KLOC)1.16Bailey-Basili模型E=3.2*(KLOC)1.05Boehm模型E=5.288*(KLOC)1.047Doty模型面向FP的估算模型E=-13.39+0.0545FPAlbrecht和GaffneyE=60.62*7.728*10(-8)*FP3KemererE=585.7+5.12FPMaston、Barnett和Mellichamp,软件项目计划EmpiricalEstimationModels,COCOMO模型(ConstructiveCostMOdel)软件估算模型的层次体系模型1:基本COCOMO模型,将软件开发工作量及成本作为程序规模的函数进行计算,程序规模已估算的代码来表示。模型2:中级COCOMO模型,将软件开发工作量及成本作为程序规模及一组“成本驱动因子”的函数来进行计算,其中“成本驱动因子”包括对产品、硬件、人员、及项目属性的主管评估。模型3:高级COCOMO模型,包含了中级莫茨能够的所有特性,并结合了成本驱动因子对软件工程过程中每一步骤的影响评估。,软件项目计划EmpiricalEstimationModels,软件方程式是一个多变量模型,他假设在软件开发项目的整个生命周期中的一个特定的工作量分布。E=LOC*B0.333/P3*(1/t4),软件项目计划EmpiricalEstimationModels,Advice:Noneofthesemodelsshouldbeusedwithoutcarefulcalibrationtoyourenvironment.,软件项目计划TheMake/BuyDecision,自行开发/购选择购买可直接使用的软件购买“具有完全经验”或“具有部分经验”的软件构件,修改,集成外包,软件项目计划TheMake/BuyDecision,低成本的软件昂贵的软件产品建立性能及性能规约,可测量性估算内部开发的成本及交付日期选择三到四个候选软件选择能够有助于建造所需软件的可复用构件建立比较矩阵,对关键功能进行比较/测试根据以前产品的质量、开发商的支持、产品的方向、以及其名声评估候选软件包后构件联系该软件的其他用户并询问其意见,软件项目计划TheMake/BuyDecision,自行开发/购买时间成本,软件项目计划TheMake/BuyDecision,系统X,建造,复用,购买,承包,简单(0.30),困难(0.70),小改动(0.40),大改动(0.6),简单(0.2),复杂(0.8),小改动(0.70),大改动(0.7),不改动(0.6),有改动(0.4),$380,000,$450,000,$275,000,$310,000,$490,000,$210,000,$400,000,$350,000,$500,000,$429,000,$382,000,$267,000,$410,000,决策树,软件项目计划TheMake/BuyDecision,AdviceTherearetimeswhenoff-the-shelfsoftwareprovidesa“perfect”solutionexceptforafewspecialfeaturesthatyoucantlivewithout.Inmanycases,itsworthlivingwithoutthespecialfeatures!,软件项目计划SoftwareProjectPlanning,对估算的观察ObservationsonEstimating项目计划目标ProjectPlanningObjectives软件范围SoftwareScope资源Resources软件项目估算SoftwareProjectEstimation分解技术Decomposition经验估算模型EmpiricalEstimationModels自行开发或购买的决策TheMake/BuyDecision,最常见的进度计划风险,功能无限蔓延需求镀金或开发人员镀金质量不定计划过于乐观设计欠佳银弹综合症研发导向的开发人员薄弱签约商失败研发人员与客户的摩擦,2.风险管理,WhatisRiskManagement?,Riskisintroducedbymanyfactors,butriskmanagementistheidentification,assessmentandplanningforanyunfavorableeventthatcouldimpactaproject.Managingriskisessentialtoprepareforaprojectsoit:ComesinunderbudgetHasenoughresourcesFinishesbeforeitsdeadline,Whytomanagerisk?,Lifeisfullofuncertainty!Ifyoudonotactivelyattackrisks,theywillactivelyattackyou!,Whytomanagerisk?,Fineanyprojectproblems.DetermineifaprojectcanbeachievedFindanyitemsthatmaybadlyeffectorkilltheprojectReduceoreliminatenastysurprisesPrepareforanyrisksanddealwiththem,风险管理RiskManagement,风险管理要素RiskManagementPrinciples风险识别RiskIdentification风险分析RiskAnalysis风险的优先级RiskPrioritization风险管理计划RiskManagementplanning风险化解RiskResolution风险监视RiskMonitoring,RiskManagementPrinciples,赌博1988,PeatMarwick针对600家成功公司的调查结果显示,35%的公司有过软件项目失控的经历。,RiskManagementPrinciples,SoftwareisRiskyBusinessPKMGstudy55%ofrunawayprojectsdidnoriskmanagement38%didsome,buthalfofthosedidntusetheirriskfindingsaftertheprojectwasunderway7%didntknowwhethertheydidriskmanagementTotal:About80%ofrunawayprojectsdidnomeaningfulriskmanagement,RiskManagementPrinciples,RiskManagementPrinciples,风险管理,风险评估,风险控制,风险识别,风险分析,风险优先级,风险管理计划,风险化解,风险监控,风险评估风险识别提出一个潜在破坏项目进度的风险列表。风险分析评估每一个风险出现的可能性及其影响,判定风险的级别。风险优先级按风险影响大小排出一个风险优先级,这个风险列表将作为风险控制的基础。,风险控制风险管理计划制定一个应对每个重要风险的方案,同时确保每一个单独的风险管理计划之间以及与整体项目计划之间相一致。风险化解每个重要风险所对应计划的执行。风险监控对解决风险的过程进行监控,还可以包括识别新的风险并将其反馈到正在进行的风险管理进程中。,软件项目风险管理五种状态,危机管理风险已经造成麻烦后才处理。失败处理觉察到风险并迅速处理。风险缓解事先制订好风险发生后的补救措施,但不作任何防范措施。着力预防将识别和防范作为项目一部分加以规划和执行。消灭根源识别和消除风险根源。,软件项目风险管理原则,区分风险和已存在的现有问题通过风险的管理变被动的面对风险,即消防状态为主动面对风险,即钓鱼状态最小化项目失败的潜在可能创造风险管理的气氛,RiskIdentification,如果你不问关于风险的问题,你就可能是正在问所遇到麻烦的问题TomGilb,确定可能对项目造成影响的风险,并且把每一风险的特性编制成文档。风险识别不是一次性活动,必须在整个项目过程中经常进行风险识别的工具和办法:风险检查列表调查问卷interviewingDelphi头脑风暴法Brainstorming,风险检查列表,产品规模与要建造或要修改的软件的总体规模相关的风险。商业影响与管理或市场所加诸的约束相关的风险。客户特性与客户的素质以及开发者和客户定期通信的能力相关的风险。过程定义与软件过程被定义的程度以及它们被开发组织所遵守的程度相关的风险。开发环境与用以建造产品的工具的可用性及质量相关的风险。建造的技术与待开发软件的复杂性及系统所包含技术的“新奇性”相关的风险。人员数目与经验与参与工作的软件工程师的总体技术水平及项目经验相关的风险。,TheSoftwareDevelopmentRiskTaxonomy,RiskAnalysis,重要的是量化不确定程度及与每个风险相关的损失的程度。ProbabilityVerylow,low,medium,highandveryhighImpactNegligible,marginal,criticalandcatastrophicOverallRisk,风险因素,性能风险产品能够满足需求且符合于其使用目的的不确定的程度。成本风险项目预算能够被维持的不确定的程度。支持风险软件易于纠错、适应及增强的不确定的程度。进度风险项目进度能够被维持且产品能按时交付的不确定的程度。,OverallRisk,风险暴露量(RiskExposure),RE=不希望的损失的概率*损失的程度RE=risklikelihood*riskimpact,损失和概率的评估方法,由最熟悉系统的人评估每个风险的发生概率,然后保留一份风险评估审核文件。使用Delphi法:从一组专家中得到一致的意见,来预测未来的发展。少数服从多数法,RiskPrioritization,由于风险管理需要一定的成本,因此需要确定风险的优先级,以便明确风险管理要专注的重点。,定量,按风暴暴露量排序,确定风险优先级,定性,RiskManagementPlanning,RiskmanagementplanningisTheProcessofdecidingofhowtoapproachandplanforriskmanagementactivitiesforaprojectandthemainoutputofthisprocessisriskmanagementplan.Ariskmanagementplandocumentstheproceduresformanagingriskthroughouttheproject.,Questionaddressedin,Whyisitimportant?Whatisthespecificrisk?Howistheriskgoingtobemitigated?Whoaretheindividualsresponsibleforimplementing?Whenwillthemilestoneassociatedwiththemitigationapproachoccur?Howmuchisrequiredintermsofresourcestomitigaterisk?,安排风险管理计划的进度,将风险管理计划和标准项目管理过程结合,确保计划的执行把风险管理计划的任务安排到项目进度表中,RiskResolution,避免风险将风险从系统的一部分转移到另一部分购买关于风险的信息消除产生风险的根源接受风险发布风险控制风险记住风险,Example,Risk:LossofkeyteammembersDeterminecausesofjobturnoverEliminatecausesbeforeprojectstartsAfterprojectstarts,assumeturnoverisgoingtooccurandworktoensurecontinuityMakesureteamsareorganizedanddistributeinformationwidelyDefinedocumentationstandardsandbesuredocumentsareproducedinatimelymanner.Definebackupstaff*p102ofRogers,RiskMonitoring,检查每个风险的化解程度,并确定随着它们的消失而带来的新的风险。,不断的识别新的风险不断识别新的风险不断的分析风险的产生概率不断的整理风险表不断的规避优先级别最高的风险,SameExample,监控因素项目组成员对于项目压力的一般态度项目组的凝聚力项目组成员彼此之间的关系与报酬和利益相关的潜在问题在公司内和公司外工作的可能性文档,UsingSoftwareTool,DatabaseKeeptrackofriskSpreadsheetsAidintrackingandquantifyingriskMicrosoftProject2000PerformPERTanalysisRisk+(byC/SSolution,Inc.)MonteCarloSimulations,RiskManagementReview,风险管理要素RiskManagementPrinciples风险识别RiskIdentification风险分析RiskAnalysis风险的优先级RiskPrioritization风险管理计划RiskManagementplanning风险化解RiskResolution风险监视RiskMonitoring,TheBIGGESTrisk?,Notknowingwhattherisksare!,知己知彼百战不殆,3.项目成本预算,软件成本软件报价,软件成本,涉及到软件成本的常见问题:,情境一:你们帮我们设计个办公自动化系统,需要多少钱?情境二:我们预算投入20万建立公司的信息管理系统,你们能不能做的到?情境三:对方公司希望与我们合作,捆绑销售,我们的软件许可证一份收多少钱?,软件成本的构成,一:人员工资差旅费通讯费硬件工具福利费招待费等等,二:管理费用分摊人员招聘费用风险费用培训成本费技术支持费用户教育费包装制作费市场推广费等等,软件成本的快速估算(1)以人月为基础:,(人员数开发周期单位工资)3(成本系数)例如:人员平均工资5000元,共需要6名工程师,项目开发周期为4个月则简单的成本估算为(6人4月5000元)3360000元,历史经验:人员规模越大,成本系数越高。技术水平越高,成本系数越高。开发周期越长,成本系数越高。一般系数为:1.53.0之间。,特征:简单,容易估算需要建立在工作量计算的基础上进行估算不够准确,弹性大,软件成本的快速估算(2)以功能点为基础:,(功能模块单价)功能块点数例如:某个系统可分为10个模块,每个模块按照历史的经验计算,其中3个为15000元,5个为20000元,2个为4000元,则系统的成本为:(150003)+(200005)(40002)=1530000元,功能模块单价功能点数开发系数例如:某个系统可分为10个模块,每个模块按照历史的经验计算,其中:3个为15000元,开发难度系数为25个为20000元,开发难度系数为32个为4000元,开发难度系数为1则系统的成本为:(150003)2+(200005)3(40002)1=398000元,历史经验:系统越复杂,开发难度系数越高开发架构与语言越高级,开发难度越高功能点越精细,准确度越高团队开发历史越久,准确度越高功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装修工程清拆合同
- 储物架租赁合同
- 2026年管道工(初级 理论知识)自测试题及答案
- 2025年钢筋工理论知识题库及答案
- 外企和国内企业合同
- 零售行业笔试题目及答案
- 遴选笔试案例真题及答案
- 2025年青海省黄南州同仁县保安员招聘考试题库附答案解析
- 孩子智商测试题及答案大
- 2024年国考行测试题及答案解析
- 2025品质工作总结
- 高一历史上学期期末冲刺模拟卷02-统编版高一《历史》上学期期末考点大串讲
- 2025年信用报告征信报告详版个人版模板样板(可编辑)
- 物业法律法规培训
- 矿山施工安全风险分级管理方案
- 2026届新高考语文背诵篇目60篇(注音版)
- 企业政府补贴申请书
- 2025年领导干部任前廉政知识测试题库(附答案)
- 2025年幼儿园教师专业理论考核试题及答案
- 行政调解课件
- 静配药液配置课件
评论
0/150
提交评论