资源预览内容
第1页 / 共71页
第2页 / 共71页
第3页 / 共71页
第4页 / 共71页
第5页 / 共71页
第6页 / 共71页
第7页 / 共71页
第8页 / 共71页
第9页 / 共71页
第10页 / 共71页
亲,该文档总共71页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2003.01.10 SOFTWARE ENGINEERING授课安排授课安排系统工程系统工程软件项目计划软件项目计划软件需求分析软件需求分析软件设计软件设计编程编程软件测试软件测试软件维护软件维护面向对象方法、软件复用和构件技术等面向对象方法、软件复用和构件技术等2003.01.10 SOFTWARE ENGINEERING软件项目管理软件项目管理软件工程管理是对软件项目的开发管理,是软件工程管理是对软件项目的开发管理,是对整个软件生存期的所有活动进行管理。对整个软件生存期的所有活动进行管理。任任何工程的成败,都与管理的好坏密切相关,何工程的成败,都与管理的好坏密切相关,软件工程更不例外。尤其是软件产品的特殊软件工程更不例外。尤其是软件产品的特殊性,软件工程的管理对于保证软件产品的质性,软件工程的管理对于保证软件产品的质量也具有极为重要的作用。量也具有极为重要的作用。任何技术先进的大型项目的开发如果没有一任何技术先进的大型项目的开发如果没有一套科学的管理方法和严格的组织领导,是不套科学的管理方法和严格的组织领导,是不可能取得成功的可能取得成功的 。2003.01.10 SOFTWARE ENGINEERING软件项目管理软件项目管理4P4P:人员:人员(People)(People)、产品、产品(product)(product)、过程、过程(Process)(Process)和项目和项目(Rroject)(Rroject)。将人员组织起来以有效地完成工作;将人员组织起来以有效地完成工作;和客户及其他共利益者很好地沟通,以便了和客户及其他共利益者很好地沟通,以便了解产品的目标和范围,方案和限制等;解产品的目标和范围,方案和限制等;选择合适于人员和产品的过程;选择合适于人员和产品的过程;估算工作量和工作时间,制定项目计划,包估算工作量和工作时间,制定项目计划,包括:定义工作产品,建立质量检查点以及确括:定义工作产品,建立质量检查点以及确定一些机制以监控计划所规定的工作。定一些机制以监控计划所规定的工作。2003.01.10 SOFTWARE ENGINEERING软件项目管理软件项目管理要让软件项目失败很容易,只要符合下列条要让软件项目失败很容易,只要符合下列条件之一即可:件之一即可:(1 1)项目经理对软件一无所知;)项目经理对软件一无所知;(2 2)技术负责人对编程不感兴趣;)技术负责人对编程不感兴趣;(3 3)真正编写代码的程序员是临时雇用的。)真正编写代码的程序员是临时雇用的。如果上述三个条件同时具备,就请放心失败如果上述三个条件同时具备,就请放心失败好了。好了。让我们少幻想自己是比尔让我们少幻想自己是比尔盖茨,先当好程序盖茨,先当好程序员和程序经理再说。员和程序经理再说。2003.01.10 SOFTWARE ENGINEERINGThe Definition PhaseSystem EngineeringSoftware project planningSoftware requirements analysisSoftware scopeRefined2003.01.10 SOFTWARE ENGINEERINGSoftware Project Planning软件项目计划软件项目计划软件项目计划包括五项主要活动:估算、软件项目计划包括五项主要活动:估算、进度安排、风险分析、质量管理计划和进度安排、风险分析、质量管理计划和变更管理计划。变更管理计划。很多技术人员宁愿从事技术工作,而不很多技术人员宁愿从事技术工作,而不愿花费时间制定计划。很多管理者也对愿花费时间制定计划。很多管理者也对计划的效果没有信心,所以很多软件项计划的效果没有信心,所以很多软件项目就经常不制定计划。目就经常不制定计划。2003.01.10 SOFTWARE ENGINEERINGSoftware Project Planning软件项目计划软件项目计划在可行性分析之后,项目计划与质量管在可行性分析之后,项目计划与质量管理将贯穿需求分析、系统设计、程序设理将贯穿需求分析、系统设计、程序设计、测试、维护等软件工程环节。计、测试、维护等软件工程环节。项目计划是要提供一份合理的进程表,项目计划是要提供一份合理的进程表,让所有开发人员任务明确、步调一致,让所有开发人员任务明确、步调一致,最终共同准时地完成项目。项目计划是最终共同准时地完成项目。项目计划是要付诸实施的,不象喊政治口号。软件要付诸实施的,不象喊政治口号。软件的项目计划重在的项目计划重在“准确准确”而非而非“快速快速”。2003.01.10 SOFTWARE ENGINEERINGSoftware Project Planning软件项目计划软件项目计划在做软件的项目计划时,应屏弃一切浮在做软件的项目计划时,应屏弃一切浮夸作风。只有夸作风。只有“知已知彼知已知彼”才能做出合才能做出合理的项目计划。这里理的项目计划。这里“知彼知彼”是指要了是指要了解项目的规模、难度与时间限制。解项目的规模、难度与时间限制。“知知已已”是指要了解有多少可用资源,如可是指要了解有多少可用资源,如可调用的软件人员有几个?他们的水平如调用的软件人员有几个?他们的水平如何?软硬件设施如何?等何?软硬件设施如何?等2003.01.10 SOFTWARE ENGINEERING软件项目计划软件项目计划如有进行系统定义,则如有进行系统定义,则“系统规格说明书系统规格说明书”的功能描述和约束所有有关软件的信息几乎的功能描述和约束所有有关软件的信息几乎都是可用的,否则计划人员必须起系统分析都是可用的,否则计划人员必须起系统分析员的作用。员的作用。确定软件的作用范围确定软件的作用范围资源需求估计资源需求估计工作量和成本估计工作量和成本估计进度安排进度安排(里程碑里程碑)系统规格系统规格说明书说明书=软件计划软件计划不确定性不确定性2003.01.10 SOFTWARE ENGINEERINGSoftware Scope(范围)(范围)The first activity in software project planning is the determination of software scope.Function and perform-ance allocated to software during system engineering should be assessed to establish a project scope that is unambiguous and understandable at management and technical levels.2003.01.10 SOFTWARE ENGINEERINGSoftware ScopeSoftware scope describes function, performance,constraints,interfaces,and reliability. Functions described in the statement of scope are evaluated and in some cases refined to provide more detail prior to the beginning of estimation.Because both cost and schedule estimates are functionally oriented,some degree of decomposition is often useful.2003.01.10 SOFTWARE ENGINEERINGSoftware ScopeThe most commonly used technique to bridge the communication gap between the customer and developer and to get the communication process started is to conduct a preliminary meeting or interview.The analyst start by asking “context free questions.”2003.01.10 SOFTWARE ENGINEERINGProject Planning ObjectivesThe objective of software project planning is to provide a framework that enables the manager to make reasonable estimates of resources,cast, and schedule.These estimates are made within a limited time frame at the beginning of a software project and should be updated regularly as the project progresses. In addition, estimates should attempt to define “best case” and “worst case” scenarios so that project outcomes can be bounded.2003.01.10 SOFTWARE ENGINEERINGSoftware Project PlanningThe software project planner must estimate three things before a project begin:how long it will take,how much effort will be required, and how many people will be involved.In addition,the planner must predict the resources (software and hardware) that will be required and the risk involved.2003.01.10 SOFTWARE ENGINEERINGEstimating(估算)(估算)The estimating is as much art as it is science.A leading executive was once asked what single characteristic was most important when selecting a project manager.His response: “a person with the ability to know what will go wrong before it actually does.”We might add: “and the courage to estimate when the future is cloudy.”2003.01.10 SOFTWARE ENGINEERINGEstimatingEstimation of resources,cost,and schedule for a software development effort requires experience,access to good historical information,and the courage to commit to quantitative measures when qualitative data are all that exist.2003.01.10 SOFTWARE ENGINEERINGEstimating Ris
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号