您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 总结/报告 > 可行性分析报告与软件开发计划(超齐全讲解)
第三讲项目市场调研在一些人眼里,今天的软件开发似乎已成为简单的事情,已有了不少很好的开发工具和软件库,软件开发人员训练有素,都强烈渴望去编写很酷的软件,可以在几天的时间里编写出一个相当复杂的软件。但为什么有一些软件能够得到用户的喜欢,而另一些则不能?为什么有些软件能够在市场上成功,而有些则受到冷落?由此可见,开发软件并不一定难,难就难在如何开发有用的软件。微软凌小宁博士我最大的心得是,一个产品一定要找到能够真正适用的场合,不能只是为了技术而从事技术为了研究而进行研究,却不管用户对你所研究的技术和产品有没有需求。否则,无论你的技术是多么优秀,多么先进,恐怕你的产品在市场上都无法获得成功。微软张益肇博士第3章可行性分析与软件开发计划3.1系统的研发背景3.2软件开发计划3.3可行性分析报告3.4小结2020/3/5当我们在着手做任何一件工作以前,必须明确工作的性质、任务,制定完成任务的计划,这是非常必要的。同样对于软件产品的开发,显然也应该解决好这样类似的问题,明确该软件产品开发的任务,以及完成任务的价值从而制定出完成任务的计划。那么问题的定义和可性行研究就是制定软件系统的计划的第一步。所以在软件工程中把这一步称为计划时期。问题的定义与可性行研究开始问题定义可性行研究可行否?项目实施计划终止项目的建议结束YN问题的定义与可性行研究计划时期的工作流程图Who为谁设计,用户是谁?What要解决哪些问题?Why为什么要解决这些问题有用的软件3WWinCE1.0问题的定义与可性行研究例如,微软公司,曾在1996年前后,微软将其掌上电脑操作系统WinCE1.0投放市场,当时,一些人预测凭借微软强大的市场运作力量一定能获得成功,但也有一些人批评说它的用户界面并不适于掌上电脑用户,用在台式机上还比较合适。可实际证明少数人的批评是对的,winCE在市场上并不成功,用户根本不买帐,觉得它不好用。后来,该产品渐渐地从市场上就销匿迹了。所以这对微软来说,是一次教训。由此可见,3W这一设计的出发点是非常重要的,但也是非产个困难的。像微软这样一个成功的软件公司有时也不能很好地回答它们。不正说明它的困难所在吗?不正说明的确应该下功夫吗?项目来源合同:为别人做;立项:为自己做;失败:无盈利-》赔钱-》声誉影响-》官司失败:尽赔钱-》公司倒闭-》东山再起难!学到的远比失去的多!什么是可行性研究?任何工程项目均应进行可行性研究。软件工程项目可行性研究实质是一次大大压缩和简化了的分析和设计过程,主要在较高层次上以较抽象的方式进行,其目的是在尽可能短的时间内以最小的代价确定该项目是否能够开发,是否值得开发。例如,历史上最著名的一个例子,就是日本的第五代计算机:在20世纪70年代,日本政府和学术界发起了“第五代计算机”的革命,投入了大量的财力和人力,其目的在于使计算机以人的智能帮助人类。其中包括能看、能听、能说、能与人对话、能理解人及能翻译的智能机器人。这一革命在当时极大地推动了计算机人工智能的发展。想法是好的,但可惜的是,人们过于乐观,操之过急。人工智能的发展未能如愿,绝大多数基本技术不能解决。日本最终不得不宣布放弃。“第五代计算机”终成泡影。计算机人工智能这一学科也因此蒙受了不白之冤,被很多人称为无用的学问。所以软件设计工作只有基于用户需求,立足于可行的技术才有可能成功。3.1现状调查和问题的定义目的:弄清楚用户要求计算机解决什么问题任务:编写系统目标与规范说明书系统目标与规范说明书1、项目:教材销售系统2、问题:人工销售教材手续繁琐,容易出错3、项目目标:建立一个高效率、无差错的计算机教材销售系统4、项目范围:利用现有的计算机,软件开发费用不得超过2000元5、初步想法:建议在系统中增加对缺书的统计与采购功能6、可性行研究:建议进行大约10天的可性行研究,且研究费用不超过500元可行性研究目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。不是解决问题,而是确定问题是否值得去解决。说明该软件开发项目的实现在技术上、经济上和社会条件上的可行性;评述为合理地达到开发目标可能选择的各种方案。GB8567-88《计算机软件产品开发文件编制指南》3.1可行性研究的任务可行性研究的主要任务是“了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。”GB8566-88《计算机软件开发规范》可行性研究的最根本任务对软件开发以后的行动方针提出建议。3.2可行性研究的内容(1)技术可行性:风险分析,资源分析,技术分析(3)经济可行性:费用估计,效益估计(3)操作可行性:用户使用可能性,时间进度可行性,组织和文化上的可行性(4)社会可行性(法律可行性)(5)抉择技术可行性度量一个特定技术信息系统解决方案的实用性及技术资源的可用性考虑的问题(1)开发风险分析(3)资源分析(3)相关技术的发展(现有技术能否实现新系统,技术难点、建议采用技术的先进性)经济可行性度量系统解决方案的性能价格比。考虑的问题成本/效益分析(开发、运行的成本/效益)有形成本、效益无形成本、效益价值和成本的关系质量与价值、成本的关系价值/成本的均衡举例盈亏平衡点操作可行性•用户使用可能性•时间进度可行性•组织和文化上的可行性3.3可行性研究过程1.复查系统规模和目标3.研究目前正在使用的系统3.导出新系统的高层逻辑模型4.进一步定义问题5.导出和评价供选择的解法6.推荐行动方针7.草拟开发计划8.书写文档提交审查可行性研究的具体步骤1、确定项目规模和目标,明确限制和约束。我们认为用户要的用户要的?2、研究老系统解决老系统问题老系统功能新增功能注:注意了解与其它系统的接口。?新系统效益老系统效益可行性研究的具体步骤3、导出高层逻辑模型(conceptualdesign)…………抽象实现改进老系统模型新模型新系统应该告诉用户“What”而不是“How”可行性研究的具体步骤4、复查和重新定义1)复查定义2)导出逻辑模型3)从新定义。注:此时合同未签,应考虑成本,不宜反复太多次。可行性研究的具体步骤5、导出和评价多种解法目标:根据前面定义的系统逻辑模型,导出若干个较高层次的物理解法供选择考察角度①技术可行性:初步排除一些不现实的系统②操作可行性:分析员应该根据使用部门处理事务的原则和习惯检查技术上可行的那些方案。③经济可行性:开发成本和运行费用,并且估计相对于现有的系统而言这个系统可以节省的开支或可以增加的收入。在这些估计数字的基础上,对每个可能的系统进行成本/效益分析。为每个在技术、操作和经济等方面都可行的系统制定实现进度表,这个进度表不需要(也不可能)制定得很详细,通常只需要估计生命周期每个阶段的工作量。可行性研究的具体步骤5、导出和评价多种解法进度表经济上合算技术上可行操作上可行技术上不可行用户不可能操作不合算可行性研究的具体步骤6、推荐行动方针YesorNo?NoYesWhy?Whichoneisthebest?Why?(cost/benefit)8、审查、存档7、编写可行性报告(开发计划)任务分解,确定负责人大致进度规划财务预算风险分析及对策粗略可行性研究的具体步骤系统目标和范围的定义-要解决的根本问题、达到目标所需的资源和经费;对现行系统进行分析研究-现有系统的物理模型和逻辑模型;(入口:现有系统的组织结构)导出新系统的逻辑模型;(解决了有关问题)设计新系统的物理方案;(最先进的方案、实用、基本方案)推荐可行的方案;(包括推荐理由)编写可行性研究报告。(结论:继续、延期和拒绝)可行性研究的具体步骤草拟开发计划工程进度表开发人员资源估计系统生命周期每个阶段的成本给出需求分析的详细进度表和成本估计注意事项标书:我国对软件成本认识不足困难:就是缺乏数据估计,导致估计不科学;应根据项目复杂度、熟悉程度、规模等科学计划。尤其在时间计划上,要牢牢记住,人数与工作日不能简单互换。因为人员的增加与流动必然要增加培训、交流所占用的时间和资源,也就会影响项目的进度,所以计划时必须考虑。要留有缓冲时间,将缓冲时间用到不确定的事情上。可行性研究报告的编写1引言1.1编写目的1.2背景1.3定义1.4参考资料2可行性研究的前提2.1要求2.2目标2.3条件、假定和限制2.4进行可行性研究的方法2.5评价尺度可行性研究报告的编写3对现有系统的分析3.1数据流程和处理流程3.2工作负荷3.3费用开支3.4人员3.5设备3.6局限性4所建议的系统4.1对所建议系统的说明4.2数据流程和处理流程4.3改进之处4.4影响4.5局限性4.6技术条件方面的可行性软件开发计划是对开发项目的费用、时间、进度、人员组织、硬件设备的配置、软件开发环境和运行环境的配置等进行说明和规划。是项目管理人员对项目进行管理的依据,据此对项目的费用、进度和资源进行控制和管理。工具:ProjectMicrosoftProject(或MSP)是由微软开发销售的项目管理软件程序。软件设计目的在于协助项目经理发展计划、为任务分配资源、跟踪进度、管理预算和分析工作量。3.6成本/效益分析成本/效益分析的目的:从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定。3.6成本/效益分析一.成本估计软件开发成本主要是人力消耗。(乘以平均工资则得到开发费用)成本估计不是精确的科学。成本估计的三种方法代码行技术:代码行数×行平均成本任务分解技术:人力(人月)×月平均工资自动估计成本技术:软件工具取决于软件的复杂程度与工资水平任务分解技术首先把软件开发工程分解为若干个相对独立的任务。再分别估计每个单独的开发任务的成本,最后累加起来得出软件开发工程的总成本。估计每个任务的成本时,通常先估计完成该项任务需要用的人力(以人月为单位),再乘以每人每月的平均工资而得出每个任务的成本。3.6成本/效益分析的方法成本/效益分析的第一步是估计开发成本、运行费用和新系统将带来的经济效益,然后从经济角度判断这个系统是否值得投资。运行费用取决于系统的操作费用(操作员人数,工作时间,消耗的物资等)和维护费用。系统的经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。注意:总的效益和生命周期的长度有关,所以应该合理地估计软件的寿命。投资是现在进行的,效益是将来获得的,不能简单地比较成本和效益,应该考虑货币的时间价值。3.6成本/效益分析的方法1.估计开发系统的成本2.估计运行费用3.新系统带来的经济效益4.合理估计软件的寿命,一般设为5年5.比较开发成本与可能的效益系统的经济效益=增加的收入+节省的运行费用效益分为两种:有形效益、无形效益1、货币的时间价值•利用利率的形式表示货币的时间价值•F=P×(1+i)n→P=F/(1+i)n•上述公式将估计系统可能获得的未来收入转换为现在的价值,从而可以得出系统的获益。P代表现在的收入,F代表n年后的收入,i代表年利率例:一系统成本5000元,投入使用后每年可节省2500元,年率为12%,问该项目是否值得投资?成本/效益分析使用的几个概念年将来值(1+i)n现在值累计现在值125001.122232.142232.14225001.25441992.984225.12325001.4049281779.456004.57425001.573519161588.807593.37525001.76234168321418.579011.94表1将来的收入折算成现在值P=F/(1+i)n2、投资回收期•使“累计经济效益现在值=投资成本”所需的时间•投资回收期越短就能越快获得利润如表1:2年后经济效益为4225.12元5000元,所以第3年还需要赚5000-4225.12=774.88元,第3年经济效益为1779.45元,所以还需要774.88/1779.45=0.44年,投资回收期为2+0.44=2.44年成本/效益分析使用
本文标题:可行性分析报告与软件开发计划(超齐全讲解)
链接地址:https://www.777doc.com/doc-4160522 .html