1、第3章 软件策划与项目计划n 3.1 软件项目策划n 3.2 可行性研究n 3.3 软件项目计划3.2 可行性研究n 可行性研究n 可行性研究(Feasibility Study)的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。其目的不是解决问题,而是确定问题是否值得去解。n 可行性研究的任务主要是决定软件项目是否可行,即“做还是不做”,以及完成对可行项目的“初步方案”。n 可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程。3.2 可行性研究n 可行性研究的任务n(1)分析问题n(2)研究现有系统n(3)生成现有系统的物理模型n(4)导出新系统的逻辑模型n(5)提
2、出解决方案n(6)方案的可行性分析n(7)选择最佳解决方案3.2 可行性研究n 可行性评价准则n 经济可行性-分析研发软件项目所需成本费用和项目开发成功后所带来的经济效益。n 技术可行性-分析在特定条件下,技术资源、能力、方法等方面的可用性及其用于解决软件问题的可能性和现实性。n 社会可行性-分析开发过程中可能涉及到各种合同、侵权、责任以及与法律法规相抵触的各种问题、双方责任等问题。n 操作可行性-运行中的相关问题,如业务处理的专业化程度,功能、性能、安全性、可靠性及接口,操作方式等。3.2 可行性研究n 可行性研究的主要问题n 可行性研究实质上是进行一次简化的软件过程,其主要问题:n 投资及
3、效益n 技术支持与风险n 项目产生的影响n 方案的提出与选择3.2 可行性研究n 投资及效益分析n 支出分析n 基本建设投资n 其他一次性支出n 非一次性支出n 收益分析n 一次性收益n 非一次性收益n 不可定量的收益n 其他分析n 收益投资比n 投资回收周期n 敏感性分析n 效益的度量n 货币的时间价值n 纯收入n 投资回收期n 投资回收率3.2 可行性研究n【例】已知一个基于计算机的系统的软件升级的开发成本估算值为已知一个基于计算机的系统的软件升级的开发成本估算值为50005000元,预计新系统投入运行后每年可以带来元,预计新系统投入运行后每年可以带来25002500元的收入,假定元的收入
4、,假定新软件的生存周期(不包括开发时间)为新软件的生存周期(不包括开发时间)为5 5年,当年的年利率为年,当年的年利率为12%12%,试对该系统的开发进行成本试对该系统的开发进行成本-效益分析。效益分析。n(n(年)第n n年的收入(1+i1+i)n n折现值累计折现值1 125001.122232.142232.142 225001.251992.984225.123 325001.401779.456004.574 425001.571588.807593.375 525001.761418.579011.94纯收入:T=PTST=9011.945000=4011.94(元)投资回收期:2
5、+(50004225.12)/1779.45=2+0.44=2.44(年)单从经济效益看,投资回收率为单从经济效益看,投资回收率为41.04%41.04%,投资回收率大于,投资回收率大于年利率时,可考虑开发。年利率时,可考虑开发。3.2 可行性研究n 技术支持与风险分析n 资源与支持技术分析n资源有效性分析是论证是否具备系统开发所需各类人员的数量和质量、软硬件资源和工作环境等。n支持技术分析是论证现有的科学技术水平和开发能力是否支持开发的全过程并达到系统功能和性能的目标。3.2 可行性研究n 技术支持与风险分析n 风险分析n风险分析就是在给定的约束条件下,论证能否实现系统所需的功能和性能。n风
6、险按影响的范围,可分为项目风险、技术风险、商业风险3类。n可以使用风险检测表来标识风险。3.2 可行性研究n【例3-2】“人员风险检测表人员风险检测表”可如表可如表3-23-2所示。在表中,可以根据所示。在表中,可以根据实际情况选用实际情况选用0 0、1 1、2 2、3 3、4 4、5 5来回答某一个问题,某个问题取值来回答某一个问题,某个问题取值越大表示该项风险也越大。人员风险检测表反映了人的因素可能对越大表示该项风险也越大。人员风险检测表反映了人的因素可能对软件项目的影响。软件项目的影响。序号问题回答(0,1,2,3,4,50,1,2,3,4,5)1 1开发人员的水平如何?22 2开发人员
7、在技术上是否配套?13 3是否有足够的人员可用?04 4开发人员是否能自始至终参加软件项目的工作?25 5开发人员是否能把全部精力投入到软件开发工作中?26 6开发人员对自己的工作是否有正确的期望?17 7开发人员是否已接受了必要的培训?08 8开发人员的流动是否还能保证工作的连续性?33.2 可行性研究n 项目产生的影响分析n 对设备的影响n 对软件的影响n 对用户的影响n 对系统运行过程的影响n 对开发的影响n 对地点和设施的影响n 对经费开支的影响3.2 可行性研究n 可行性研究的过程n 一个逐步深入的过程n 机会研究n 初步可行性研究n 可行性研究可行性研究的步骤3.2 可行性研究n
8、可行性研究报告n(1)引言n(2)可行性研究的前提n(3)对现有系统的分析n(4)所建议的系统n(5)可选择的其他系统方案n(6)投资及效益分析n(7)社会因素方面的可行性n(8)结论3.2 可行性研究n 可行性研究的结论n 可行性研究围绕影响软件项目研发的各种因素的可行性进行全面、系统的分析论证。n 可行性研究的结论,概括起来有3种情况:n 可行。结论表明可以按初步方案和计划进行立项并开发。n 基本可行。对软件项目内容或方案进行必要修改后,可以进行开发。n 不可行。软件项目不能进行立项或确定项目终止。课堂讨论n 1.为什么说可行性研究实质上是进行一次简化的软件过程?n 2.讨论以下事件发生的
9、原因:某企业售后技术服务中心下属企业的销售部门负责完成产品三包期的技术服务工作。该中心的管理者在长期的工作中,发现维修工程师每天忙于处理在产品维修中产生的各种信息(如维修报告、索赔报告、发货通知等),且处理量大、简单,有大量的时间是将相同的数据填在不同的信息载体中,使得维修工程师无法真正起到对维修商的技术支撑和监管作用。因此,他提出了开发一个能覆盖产品三包期技术服务的管理信息系统的要求,但是并没引起公司高层领导的注意。虽然他找了两个能设计程序的人,想完成这个系统的开发,最后由于各种原因,系统并没能开发出来。问题思考n 1.可行性研究的任务是什么?n 2.可行性评价准则主要包括哪些方面?可行性研究实质上是进行一次简化的软件过程,回答“软件项目要不要做”。项目计划列出软件开发要做的主要工作和任务清单,回答“软件工程项目做什么”。