《04软件项目可行性分析与初步计划.ppt》由会员分享,可在线阅读,更多相关《04软件项目可行性分析与初步计划.ppt(47页珍藏版)》请在金锄头文库上搜索。
1、可行性分析与初步计划第4章知识点4.2 可行性分析的步聚4.3 系统流程图4.4 可行性分析报告及项目开发计划4.1 可行性分析的内容Page 可行性研究的任务n可行性分析目的在于使用最小的代价,在尽可能短的时间内得出软件项目是否能够开发、是否值得开发的结论。n在讨论一个项目是否可行,需要从技术可行性、经济可行性、社会可行性、操作可行性等几个方面着手进行考虑。Page 可行性研究的内容2.经济可行性1.技术可行性3.操作可行性4.社会可行性(法律可行性)可行性可行性研究研究5.方案选择分析项目的功能、性能和限制条件,确定在现有的技术、资源条件下,该项目是否可实现?估算开发成本与费用,预测系统动
2、行可取得的未来效益,明确项目是否值得开发根据使用部门处理事务的原则和习惯检查技术上可行的那些方案,去掉其中从操作方式或操作过程的角度看用户不能接受的方案必要时还应该从法律、社会效益等更广泛的方面研究每种方案的可行性Page 技术可行性技术可行性风险分析资源分析技术分析在给定的约束条件下,论证能否实现系统所需的功能和性能。论证是否具备系统开发所需各类人员的数量和质量、软硬件资源和工作环境等。论证现有的科学技术水平和开发能力是否支持开发的全过程并达到系统功能和性能的目标。Page n成本分析n效益分析经济可行性经济可行性Page 1.基于问题分解法n常使用“代码行”和“功能点”相结合的方法估算软件
3、规模。首先根据项目规模,大致测算出软件项目可能达到的各种组成成份的量,如输入、输出、数据文件、查询等,或者是子系统、模块、屏幕、报表、对象等,然后对照查询历史数据,推算出实现这些功能或成份大约需要的代码行。n不管使用哪一种方法,都应估算三个值,加权平均得到:经济可行性:成本估算(人员)经济可行性:成本估算(人员)Page 2. 基于过程分解技术n典型环境下各个开发阶段需要使用的人力的百分比大致如表所示。Page 3. 自动估计成本技术n采用自动估计成本的软件工具可以减轻人的劳动,并且使得估计的结果更客观。n但是,这种技术必须有长期搜集的大量历史数据为基础,需要有良好的数据库系统支持。Page
4、经济可行性:成本估算(设备)经济可行性:成本估算(设备)人员培训费用基于计算机系统的成本主要由4部分组成系统开发费用系统安装、运行和维护费用购置并安装软硬件及有关设备的费用Page 系统开发和每年运行费用举例1.系统开发费用(一次)2名系统分析员(450小时/名,45美元/小时)$40,5005名系统开发人员(275小时/名,36美元/小时)$49,5001名数据库管理员(30小时/名,42美元/小时)$1,2602名技术写作者(120小时/名,25美元/小时)$6,0001名秘书(160小时/名,15美元/小时)$2,4001名数据通讯专家(60小时/名,42美元/小时)$2,4002名在转
5、换期间数据输入人员(40小时/名,12美元/小时)$49,500Page 三天的开发人员内部培训课程$7,00030个用户,三天的内部培训课程 $10,000复印 $500磁盘、纸张等消耗品 $650n培训:n物资: n购买硬件、软件:20台工作站Windows软件$1,00020台工作站内存升级$8,000网络软件$17,50020台工作站办公软件产品$20,000系统开发总费用 $161,670Page 2.年运行费用(每年)维护程序员/分析员(250小时/年,42美元/小时)$10,500网络管理员(300小时/年,50美元/小时)$15,000硬件 $5,000软件 $6,000每年总
6、运行费用 $40,000n人员:n购买硬件、软件升级:n物资和杂项$3,n系统的经济效益使用新系统增加收入使用新系统可以节省的运行费用n有形效益投入-产出分析(货币的时间价值)投资回收期纯收入投资回收率n无形效益(从性质、心理上衡量,很难直接进行量的比较。)经济可行性:效益分析经济可行性:效益分析Page 货币的时间价值n假设年利率为i,如果现在存入P元,则n年后可以得到的钱数为:F=P(1i)n这也就是P元钱在n年后的价值。n反之,如果n年后能收入F元钱,那么这些钱的现在价值是:P=F/(li)n 指同样数量的货币随时间的不同具指同样数量的货币随时间的不同具有不同的价值。有不同的价值。投资是
7、现在进行的,效益是将来获投资是现在进行的,效益是将来获得的,不能简单地比较成本和效益,得的,不能简单地比较成本和效益,应该考虑货币的时间价值。应该考虑货币的时间价值。Page 效益分析举例例:已知一个基于计算机的系统的软件升级的开发成本估算值为5000元,预计新系统投入运行后每年可以带来2500元的收入,假定新软件的生存周期(不包括开发时间)为5年,当年的年利率为12%,试对该系统的开发进行成本-效益分析。Page n(年)第n年的收入(1+i)n折现值累计折现值1250022500325004250052500表表1 将来的收入折算成现在值将来的收入折算成现在值1.12 2232.14 22
8、32.141.2544 1992.98 4225.121.404928 1779.45 6004.571.57351936 1588.80 7593.371.762341683 1418.57 9011.94Page 投资回收期n投资回收期:系统投入运行后累计的经济效益的折现值正好等于投资所需的时间。n投资回收期越短,就能越快地获得利润,工程越值得投资。n本例中的投资回收期为:2+(5000 4225.12)/1779.45 = 2 + 0.44 = 2.44(年)Page 纯收入n纯收入:在整个生存周期系统的累计收入的折现值PT 与总成本折现值ST 之差,以T表示。n如果纯收入小于或等于0,
9、则这项工程单从经济观点来看是不值得投资的。n本例中的纯收入为:T= PT ST = 9011.94 5000 = 4011.94(元)Page 投资回收率n投资回收率:把资金投入到项目中与把资金存入银行比较,投入到项目中可获得的年利率。n设S为现在的投资额,Fi是第i年到年底一年的收益(i=1,2,n),n是系统的寿命,j是投资回收率,则 j 满足方程:S= F1 (1+j) 1 + F2 (1+j) 2 + + Fn (1+j) n n本题的投资回收率为41.04%,而如果直接把资金存入银行的投资回收率就是年利率12%。如果仅考虑经济效益,只有项目的投资回收率大于年利率时,才考虑开发问题。还
10、要考虑社会效益。Page n用户使用可能性n时间进度可行性n组织和文化上的可行性操作可行性操作可行性Page n要开发的项目是否存在侵权、妨碍等社会责任问题;系统运行方式在用户组织内是否行得通;现有的管理制度、人员素质、操作方式是否可行;n社会可行性所涉及的范围比较广,包括合同、责任、侵权、用户组织的管理模式及规范,其他一些技术人员常常不了解的陷阱等。社会可行性社会可行性Page n要选择一个较好的方案:n首先要对系统采用多种分解和组合方法提出多种备选的求解方案。n然后依据系统的功能、性能、成本、进度、系统开发所采用的技术、风险、软硬件资源、对开发人员的要求等方面评价每一个预选方案。n最后,反
11、复比较各种方案的成本-效益,选择出一种较好的方案。方案选择方案选择Page 知识点4.1 可行性分析的内容4.3 系统流程图4.4 可行性分析报告及项目开发计划4.2 可行性分析的步骤Page 可行性研究的步骤审查项目规模和目标1研究目前正在运行的系统2导出新系统的高层逻辑模型,进一步定义问题3导出和评价供选择的方案,推荐较优方案4推荐行动方针5草拟开发计划6书写可行性报告,提交审查7Page 分析员访问关键人员,阅读和分析有关的材料,对问题定义阶段书写的关于规模和目标的报告书进一步复查确认,改正含糊或不确切的叙述,清晰地描述对目标系统的一切限制和约束。明确问题明确问题1. 复查系统规模和目标
12、Page 一一二二三三新软件系统必须能完成现在系统的基本功能;同时,必须克服现行系统的欠缺。运行使用旧系统所需要的费用是一个重要的经济指标,如果新系统不能增加收入或减少使用费用,那么从经济角度看新系统就不如旧系统。通过阅读分析现有系统的文档资料和使用手册及实地考察原系统,了解其可以做什么、为什么这样做,及其的代价。2. 研究目前正在使用的系统Page 优秀的设计过程通常总是从现有的物理系统出发,导出现有系统的逻辑模型,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。3. 导出新系统的高层逻辑模型新系统的逻辑模型实质上表达了分析员对新系统必须做什么的
13、认识和设想。分析员应该和用户一起再次复查问题定义、项目规模和目标。Page n分析员应该从逻辑模型出发,导出若干个物理解法,进行可行性分析,供比较和选择。应考虑以下几方面。4.导出和评价供选择的(可行方案)解法可行性分析 技术可行性 经济可行性 操作可行性 社会可行性Page 根据可行性研究结果应该做出的一个关键性决定,是否继续进行这项开发工程。如果值得进行,则应选择一种最好的解法,并说明选择该解决方案的理由。5.推荐行动方针Page 最后为每个在技术、操作、经济、社会等方面都可行的推荐方案草拟一份开发计划,制定实现进度表。这个进度表不需要(也不可能)制定得很详细,通常只需估计生命周期每个阶段
14、的工作量、对各类开发人员和各种资源的需要情况,指明什么时候使用以及使用多长时间。6.草拟开发计划Page 将上述可行性研究结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。6.书写文档提交审查Page 知识点4.1 可行性分析的内容4.2 可行性分析的步骤4.4 可行性分析报告及项目开发计划4.3 系统流程图Page Page n系统流程图是借鉴绘制程序流程图的做法,来描述系统结构流程的一种传统的软件工程工具。n从软件工程的两个层次来看,传统的方法论在处理微观的“程序结构”问题时,用的是“程序流程图”,解决宏观的“软件系统结构”时,则用
15、的是“系统流程图”。n它们都是基于处理流程的。但“程序流程图”表示的是程序的指令控制流程,而“系统流程图”仅表示系统运行流程,不表示控制信息。Page 表4-1 系统流程图符号(描述高层流程的符号)Page Page 知识点4.1 可行性分析的内容4.2 可行性分析的步骤4.3 系统流程图4.4 可行性分析报告及项目开发计划Page 说明编写文档的目的;项目名称、背景;本文档用到的专门术语和参考资料;处理流程、数据流程;工作负荷;费用支出;所需各类专业技术人员和数量;所需设备;现行系统存在的问题;说明目标系统的功能、性能和基本要求;各种限制;可行性研究的方法和决定可行性的主要因素;1 1 引言
16、引言3 3 对现行系统的分析对现行系统的分析2 2 可行性研究前提可行性研究前提可行性研究报告Page 所推荐系统的简要说明:处理流程、数据流程;与现行系统比较的优势;对用户、运行环境、经费的影响;对技术可行性进行评评价;说明法律因素,对合同责任、侵权、版本等问题的分析;说明用户使用可行性,是否适应用户行政管理、工作制作、人员素质的要求;列也成本/效益分析结果,包括投资回收期等;4. 4. 对推荐系统的技术可行性分析对推荐系统的技术可行性分析6. 6. 社会因素可行性分析社会因素可行性分析5. 5. 对推荐系统的经济可行性分析对推荐系统的经济可行性分析Page 逐一说明其他可供选择的方案,并说
17、明未被推荐的理由;说明项目是否可以往下进行;还需要什么条件或目标调整。7. 7. 其他可供选择的方案其他可供选择的方案8. 8. 结论结论计算机软件产品开发文件编制指南Page 1. 项目概述n项目的各项主要工作;n软件功能、性能;n为完成项目应具备的条件;n用户及合同承包者承担的工作、完成期限及其他条件限制;n应交付的程序名称,所使用的语言及存储形式;n应交付的文档。项目开发计划Page 2. 实施计划n任务的划分,责任人;n项目开发进度,应阶段完成的任务,用图表说明工期安排;n说明项目预算,各阶段费用支出预算;Page 3. 人员组织及分工n项目所需人员的专业类型、组织结构、数据量4. 交付期限n项目最后完工交付日期Page n已知一个基于计算机的系统的软件升级开发成本估算值为2.5万元,预计新系统投入运行后每年可以带来1万元的收入,假定新软件的生存周期为4年,当年的年利率为2%,试对该系统的开发进行成本-效益分析,根据货币的时间价值求其投入-产出比,投资回收期和纯收入。练习Page 46The endThank you!Page 47