可行性分析报告与软件开发计划(超齐全讲解)_第1页
可行性分析报告与软件开发计划(超齐全讲解)_第2页
可行性分析报告与软件开发计划(超齐全讲解)_第3页
可行性分析报告与软件开发计划(超齐全讲解)_第4页
可行性分析报告与软件开发计划(超齐全讲解)_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三讲第三讲 项目市场调研项目市场调研 在一些人眼里,今天的软件开发似乎已 成为简单的事情,已有了不少很好的开发工 具和软件库,软件开发人员训练有素,都强 烈渴望去编写很酷的软件,可以在几天的时 间里编写出一个相当复杂的软件。但为什么 有一些软件能够得到用户的喜欢,而另一些 则不能?为什么有些软件能够在市场上成功 ,而有些则受到冷落?由此可见,开发软件 并不一定难,难就难在如何开发有用的软件。微软凌小宁博士 我最大的心得是,一个产品一定要找到能够真正适用的场合,不能只是为了技术而从事技术为了研究而进行研究,却不管用户对你所研究的技术和产品有没有需求。否则,无论你的技术是多么优秀,多么先进,恐怕

2、你的产品在市场上都无法获得成功。微软张益肇博士第第3章章 可行性分析与软件开发计划可行性分析与软件开发计划3.1 系统的研发背景系统的研发背景3.2 软件开发计划软件开发计划3.3 可行性分析报告可行性分析报告3.4 小结小结2022-6-15 当我们在着手做任何一件工作以前,必须明确工当我们在着手做任何一件工作以前,必须明确工作的性质、任务,制定完成任务的计划,这是非常必作的性质、任务,制定完成任务的计划,这是非常必要的。同样对于软件产品的开发,显然也应该解决好要的。同样对于软件产品的开发,显然也应该解决好这样类似的问题,明确该软件产品开发的任务,以及这样类似的问题,明确该软件产品开发的任务

3、,以及完成任务的价值从而制定出完成任务的计划。那么问完成任务的价值从而制定出完成任务的计划。那么问题的定义和可性行研究就是制定软件系统的计划的第题的定义和可性行研究就是制定软件系统的计划的第一步。一步。 所以在软件工程中把这一步称为所以在软件工程中把这一步称为 计划时期。计划时期。问题的定义与可性行研究问题的定义与可性行研究开始开始问题定义问题定义可性行研究可性行研究 可行否?可行否?项目实施计划项目实施计划终止项目的建议终止项目的建议结束结束YN问题的定义与可性行研究问题的定义与可性行研究计划时期的工作流程图计划时期的工作流程图为谁设计,用户是谁?为谁设计,用户是谁?要解决哪些问题?要解决哪

4、些问题?为什么要解决这些问题为什么要解决这些问题 有用的软件有用的软件 Win CE1.0Win CE1.0问题的定义与可性行研究问题的定义与可性行研究 例如,微软公司,曾在例如,微软公司,曾在19961996年前后,微软将其掌上电脑操作系统年前后,微软将其掌上电脑操作系统 Win CE 1.0 Win CE 1.0 投放市场,当时,一些人预测凭借微软强大的市场运作投放市场,当时,一些人预测凭借微软强大的市场运作力量一定能获得成功,但也有一些人批评说它的用户界面并不适于力量一定能获得成功,但也有一些人批评说它的用户界面并不适于掌上电脑用户,用在台式机上还比较合适。可实际证明少数人的批掌上电脑用

5、户,用在台式机上还比较合适。可实际证明少数人的批评是对的,评是对的,win CEwin CE在市场上并不成功,用户根本不买帐,觉得它不在市场上并不成功,用户根本不买帐,觉得它不好用。后来,该产品渐渐地从市场上就销匿迹了。好用。后来,该产品渐渐地从市场上就销匿迹了。 所以这对微软来说,是一次教训。由此可见,所以这对微软来说,是一次教训。由此可见,3 3WW这一设计的出这一设计的出发点是非常重要的,但也是非产个困难的。像微软这样一个成功的发点是非常重要的,但也是非产个困难的。像微软这样一个成功的软件公司有时也不能很好地回答它们。不正说明它的困难所在吗?软件公司有时也不能很好地回答它们。不正说明它的

6、困难所在吗?不正说明的确应该下功夫吗?不正说明的确应该下功夫吗?项目来源项目来源合同:为别人做;合同:为别人做;立项:为自己做;立项:为自己做;失败:无盈利失败:无盈利赔钱赔钱声誉影响声誉影响官司官司失败:尽赔钱失败:尽赔钱公司倒闭公司倒闭东山再起难!东山再起难!学到的远比失去的多! 任何工程项目均应进行可行性研究。任何工程项目均应进行可行性研究。 软件工程项目可行性研究软件工程项目可行性研究实质实质是一次大大压是一次大大压缩和简化了的分析和设计过程,主要在缩和简化了的分析和设计过程,主要在较高层次较高层次上以较抽象的方式进行,其上以较抽象的方式进行,其目的目的是在尽可能短的是在尽可能短的时间

7、内以最小的代价确定该项目时间内以最小的代价确定该项目是否能够开发,是否能够开发,是否值得开发是否值得开发。 例如,历史上最著名的一个例子,就是日本的第五代计算机:例如,历史上最著名的一个例子,就是日本的第五代计算机: 在在2020世纪世纪7070年代,日本政府和学术界发起了年代,日本政府和学术界发起了“第五代计算第五代计算机机”的革命,投入了大量的财力和人力,其目的在于使计算机以人的革命,投入了大量的财力和人力,其目的在于使计算机以人的智能帮助人类。其中包括能看、能听、能说、能与人对话、能理的智能帮助人类。其中包括能看、能听、能说、能与人对话、能理解人及能翻译的智能机器人。这一革命在当时极大地

8、推动了计算机解人及能翻译的智能机器人。这一革命在当时极大地推动了计算机人工智能的发展。想法是好的,但可惜的是,人们过于乐观,操之人工智能的发展。想法是好的,但可惜的是,人们过于乐观,操之过急。人工智能的发展未能如愿,绝大多数基本技术不能解决。日过急。人工智能的发展未能如愿,绝大多数基本技术不能解决。日本最终不得不宣布放弃。本最终不得不宣布放弃。“第五代计算机第五代计算机”终成泡影。计算机人工终成泡影。计算机人工智能这一学科也因此蒙受了不白之冤,被很多人称为无用的学问。智能这一学科也因此蒙受了不白之冤,被很多人称为无用的学问。 所以软件设计工作只有基于用户需求,立足于可行的技术才有所以软件设计工

9、作只有基于用户需求,立足于可行的技术才有可能成功。可能成功。3.1 现状调查和问题的定义现状调查和问题的定义 目的目的: :弄清楚用户要求计算机解决什么问题弄清楚用户要求计算机解决什么问题任务任务: :编写系统目标与规范说明书编写系统目标与规范说明书可行性研究可行性研究3.1 可行性研究的任务可行性研究的任务3.2 可行性研究的内容可行性研究的内容技术可行性技术可行性经济可行性经济可行性举例举例操作可行性操作可行性3.3 可行性研究过程可行性研究过程1. 1. 复查系统规模和目标复查系统规模和目标3. 3. 研究目前正在使用的系统研究目前正在使用的系统3. 3. 导出新系统的高层逻辑模型导出新

10、系统的高层逻辑模型4. 4. 进一步定义问题进一步定义问题5. 5. 导出和评价供选择的解法导出和评价供选择的解法6. 6. 推荐行动方针推荐行动方针7. 7. 草拟开发计划草拟开发计划8. 8. 书写文档提交审查书写文档提交审查可行性研究的具体步骤可行性研究的具体步骤1 1、确定项目规模和目标,明确限制和约束。、确定项目规模和目标,明确限制和约束。 我们认为用户要的我们认为用户要的 用户要的用户要的? ?2、研究老系统、研究老系统 解决老系统问题解决老系统问题老系统老系统功能功能新增新增功能功能 注:注: 注意了解与其注意了解与其它系统的接口。它系统的接口。? ? 新系统效益新系统效益 老系

11、统效益老系统效益 可行性研究的具体步骤可行性研究的具体步骤3、导出高层逻辑模型、导出高层逻辑模型(conceptual design)抽象抽象实现实现改进改进老系统老系统模型模型新模型新模型新系统新系统应该告诉用户应该告诉用户“What”而不是而不是“How”可行性研究的具体步骤可行性研究的具体步骤4 4、复查和重新定义、复查和重新定义 1 1)复查定义)复查定义 2 2)导出逻辑模型)导出逻辑模型 3 3)从新定义。)从新定义。注:此时合同未签,应考虑成本,不宜反复太多次。注:此时合同未签,应考虑成本,不宜反复太多次。可行性研究的具体步骤可行性研究的具体步骤5、导出和评价多种解法、导出和评价

12、多种解法目标:根据前面定义的系统逻辑模型,导出若干个较高层次目标:根据前面定义的系统逻辑模型,导出若干个较高层次的物理解法供选择的物理解法供选择考察角度考察角度技术可行性技术可行性: : 初步排除一些不现实的系统初步排除一些不现实的系统操作可行性操作可行性: : 分析员应该根据使用部门处理事务的原则分析员应该根据使用部门处理事务的原则和习惯检查技术上可行的那些方案。和习惯检查技术上可行的那些方案。经济可行性经济可行性: : 开发成本和运行费用,并且估计相对于现开发成本和运行费用,并且估计相对于现有的系统而言这个系统可以节省的开支或可以增加的收入。有的系统而言这个系统可以节省的开支或可以增加的收

13、入。在这些估计数字的基础上,对每个可能的系统进行成本在这些估计数字的基础上,对每个可能的系统进行成本/ /效益分析。效益分析。为每个在技术、操作和经济等方面都为每个在技术、操作和经济等方面都可行的可行的系统制定实现进系统制定实现进度表,这个进度表不需要度表,这个进度表不需要( (也不可能也不可能) )制定得很详细,通常只制定得很详细,通常只需要估计生命周期每个阶段的工作量。需要估计生命周期每个阶段的工作量。可行性研究的具体步骤可行性研究的具体步骤5 5、导出和评价多种解法、导出和评价多种解法进度表进度表经济上合算经济上合算技术上可行技术上可行操作上可行操作上可行技术上不可行技术上不可行用户用户

14、不不可可能能操操作作不合算不合算可行性研究的具体步骤可行性研究的具体步骤6 6、推荐行动方针、推荐行动方针Yes or No?NoYesWhy?Which one is the best?Why? (cost / benefit)8、审查、存档、审查、存档7、编写可行性报告(开发计划)、编写可行性报告(开发计划) 任务分解,确定负责人任务分解,确定负责人 大致进度规划大致进度规划 财务预算财务预算 风险分析及对策风险分析及对策粗略粗略 系统目标和范围的定义系统目标和范围的定义 - -要解决的根本问题、达到目要解决的根本问题、达到目标所需的资源和经费;标所需的资源和经费;对现行系统进行分析研究对

15、现行系统进行分析研究 - -现有系统的物理模型和逻现有系统的物理模型和逻辑模型;(入口:现有系统的组织结构)辑模型;(入口:现有系统的组织结构)导出新系统的逻辑模型导出新系统的逻辑模型;(解决了有关问题);(解决了有关问题)设计新系统的物理方案设计新系统的物理方案;(最先进的方案、实用、基本;(最先进的方案、实用、基本方案)方案)推荐可行的方案推荐可行的方案 ;(包括推荐理由);(包括推荐理由)编写可行性研究报告编写可行性研究报告。(结论:继续、延期和拒绝)。(结论:继续、延期和拒绝)草拟开发计划草拟开发计划工程进度表工程进度表开发人员开发人员资源资源估计系统生命周期每个阶段的成本估计系统生命

16、周期每个阶段的成本给出需求分析的详细进度表和成本估计给出需求分析的详细进度表和成本估计注意事项注意事项标书标书 :我国对软件成本认识不足:我国对软件成本认识不足困难:就是缺乏数据估计,导致估计不科学;困难:就是缺乏数据估计,导致估计不科学;应根据应根据项目复杂度、熟悉程度、规模等科学计划。尤项目复杂度、熟悉程度、规模等科学计划。尤其在时间计划上,要牢牢记住,人数与工作日不能简其在时间计划上,要牢牢记住,人数与工作日不能简单互换。单互换。因为人员的增加与流动必然要增加培训、交因为人员的增加与流动必然要增加培训、交流所占用的时间和资源,也就会影响项目的进度,所流所占用的时间和资源,也就会影响项目的

17、进度,所以计划时必须考虑。要留有缓冲时间,将缓冲时间用以计划时必须考虑。要留有缓冲时间,将缓冲时间用到不确定的事情上。到不确定的事情上。 可行性研究报告的编写可行性研究报告的编写可行性研究报告的编写可行性研究报告的编写软件开发计划软件开发计划 是对开发项目的费用、时间、进度、人员组织、是对开发项目的费用、时间、进度、人员组织、硬件设备的配置、软件开发环境和运行环境的配置等硬件设备的配置、软件开发环境和运行环境的配置等进行说明和规划。进行说明和规划。 是项目管理人员对项目进行管理的依据,据此对是项目管理人员对项目进行管理的依据,据此对项目的费用、进度和资源进行控制和管理。项目的费用、进度和资源进

18、行控制和管理。工具:工具:ProjectProjectMicrosoft ProjectMicrosoft Project(或(或MSPMSP)是由微软开发销售的项)是由微软开发销售的项目管理软件程序。软件设计目的在于协助项目经理发目管理软件程序。软件设计目的在于协助项目经理发展计划、为任务分配资源、跟踪进度、管理预算和分展计划、为任务分配资源、跟踪进度、管理预算和分析工作量。析工作量。3.6 3.6 成本成本/ /效益分析效益分析 成本成本/ /效益分析的目的效益分析的目的: : 从经济角度分析开发一个特定的新系统从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地是否

19、划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定。作出是否投资于这项开发工程的决定。3.6 成本成本/ /效益分析效益分析软件开发成本主要是人力消耗。软件开发成本主要是人力消耗。(乘以平均工资则得到开乘以平均工资则得到开发费用发费用)成本估计不是精确的科学。成本估计不是精确的科学。成本估计的三种方法成本估计的三种方法u代码行技术:代码行技术:代码行数代码行数 行平均成本行平均成本u任务分解技术:任务分解技术: 人力人力(人月人月) 月平均工资月平均工资u自动估计成本技术:自动估计成本技术:软件工具软件工具取决于软件的复取决于软件的复杂程度与工资水杂程度与工资水平平 任务分解

20、技术任务分解技术首先把软件开发工程分解为若干个相对独立的任务。首先把软件开发工程分解为若干个相对独立的任务。再分别估计每个单独的开发任务的成本,最后累加再分别估计每个单独的开发任务的成本,最后累加起来得出软件开发工程的总成本。起来得出软件开发工程的总成本。估计每个任务的成本时,通常先估计完成该项任务估计每个任务的成本时,通常先估计完成该项任务需要用的人力需要用的人力( (以人月为单位以人月为单位) ),再乘以每人每月的,再乘以每人每月的平均工资而得出每个任务的成本。平均工资而得出每个任务的成本。3.6 成本成本/效益分析的方法效益分析的方法成本成本/ /效益分析的第一步是估计开发成本、运行费用

21、和新系统将效益分析的第一步是估计开发成本、运行费用和新系统将带来的经济效益,然后从经济角度判断这个系统是否值得投资。带来的经济效益,然后从经济角度判断这个系统是否值得投资。运行费用取决于系统的操作费用运行费用取决于系统的操作费用( (操作员人数,工作时间,消耗操作员人数,工作时间,消耗的物资等的物资等) )和维护费用。和维护费用。系统的经济效益等于因使用新系统而增加的收入加上使用新系系统的经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。统可以节省的运行费用。注意:注意:总的效益和生命周期的长度有关,所以应该合理地估计软件的总的效益和生命周期的长度有关,所以应该合理地估计软

22、件的寿命。寿命。投资是现在进行的,效益是将来获得的,不能简单地比较成本投资是现在进行的,效益是将来获得的,不能简单地比较成本和效益,应该考虑货币的时间价值。和效益,应该考虑货币的时间价值。3.6 成本成本/效益分析的方法效益分析的方法 估计开发系统的成本估计开发系统的成本 估计运行费用估计运行费用 新系统带来的经济效益新系统带来的经济效益 合理估计软件的寿命,一般设为合理估计软件的寿命,一般设为 5 年年 比较开发成本与可能的效益比较开发成本与可能的效益系统的经济效益系统的经济效益 = 增加的收入增加的收入 + 节省的运行费用节省的运行费用效益分为两种:有形效益、无形效益效益分为两种:有形效益

23、、无形效益1 1、货币的时间价值、货币的时间价值 利用利率的形式表示货币的时间价值利用利率的形式表示货币的时间价值 F = P(1+i)n P = F /(1+i)n 上述公式将估计系统可能获得的未来收入转换为现在的上述公式将估计系统可能获得的未来收入转换为现在的价值,从而可以得出系统的获益。价值,从而可以得出系统的获益。P P代表现在的收代表现在的收入入,F,F代表代表n n年后的年后的收入收入,i,i代表年利率代表年利率例:一系统成本例:一系统成本50005000元,投入使用后每年可节省元,投入使用后每年可节省2500 2500 元,元,年率为年率为12%12%,问该项目是否值得投资?,问

24、该项目是否值得投资?成本成本/效益分析使用的几个概念效益分析使用的几个概念年年将来值将来值( (1 1+ +i i) )n n现在值现在值累计现在值累计现在值1 1250025001.121.122232.142232.142232.142232.142 2250025001.25441.25441992.981992.984225.124225.123 3250025001.4049281.4049281779.451779.456004.576004.574 4250025001.573519161.573519161588.801588.807593.377593.375 5250025

25、001.76234168321.76234168321418.571418.579011.949011.94P = F/(1+i)n2 2、投资回收期、投资回收期 使使 “累计经济效益现在值累计经济效益现在值 = 投资成本投资成本”所需的时间所需的时间 投资回收期越短就能越快获得利润投资回收期越短就能越快获得利润如表如表1 1 :2 2年后经济效益为年后经济效益为4225.124225.12元元50005000元,所以第元,所以第3 3年还需要年还需要赚赚 5000-4225.12=774.88 5000-4225.12=774.88 元,第元,第3 3年经济效益为年经济效益为1779.451

26、779.45元,所以还需要元,所以还需要774.88/1779.45=0.44774.88/1779.45=0.44年,投资回收期为年,投资回收期为 2+0.44=2.442+0.44=2.44年年成本成本/效益分析使用的几个概念效益分析使用的几个概念3 3、纯收入、纯收入 生命周期内累计的经济效益现在值与投资之差生命周期内累计的经济效益现在值与投资之差 纯收入小于等于纯收入小于等于 0,工程就不值得投资,工程就不值得投资如表1: 纯收入= 9011.945000=4011.94例:假设某软件生命周期为5年。现在投资20万元,平均年利率3%。从第一年起,每年年底收入4.2万元,问该项目是否值得投资? 纯收入纯收入 = 19.23477= 19.2347720=-0.7652320=-0.76523,项目不值得投资。,项目不值得投资。成本成本/效益分析使用的几个概念效益分析使用的几个概念投资回收率投资回收率计算公式计算公式: :PF1/(1 j)F2/(1 j)2 Fn/(1 j)nP是现在的投资额;是现在的投资额;Fi是第是第i年年底的效益年年底的效益(i1, 2,n); n是系统的使用寿命;是系统的使用寿命;j是投资回收率;是投资回收率;解出这个高阶代数方程即可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论