名成者亏
第2章软件可行性研究2.1可行性研究 在进行任何一项较大的工程时,首先都要进行可行性分析和研究。目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。2.1.1可行性研究的任务 1.技术可行性 对要开发的项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。 技术可行性是最难解决的,它一般要包括: (1)开发的风险:在给出的限制范围内,能否设计出系统并实现必须的功能和性能。 (2)资源的有效性:人力资源以及用于建立系统的其他资源是否具备。 (3)技术:目前的技术水平能否支持这个系统。 (4)开发人员在评估技术可行性时,一旦估计错误,将会出现灾难性后果。 2.经济可行性 进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。 3.社会可行性 要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。2.1.2 可行性研究的具体步骤 典型性的可行性研究有下列步骤: 1.确定项目规模和目标 分析员对有关人员进行调查访问,仔细阅读和分析有关的材料,对项目的规模和目标进行定义和确认,清晰地描述项目的一切限制和约束,确保分析员正在解决的问题确实是要解决的问题。 2.研究正在运行的系统 收集、研究、分析现有系统的文档资料,实地考察现有系统,在考察的基础上,访问有关人员,然后描述现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。这个系统流程图反映了现有系统的基本功能和处理流程。 3.建立新系统的高层逻辑模型 根据对现有系统的分析研究,逐步明确了新系统的功能、处理流程以及所受的约束,然后使用建立逻辑模型的工具——数据流图和数据字典来描述数据在系统中的流动和处理情况。现在还不是软件需求分析阶段,不是完整、详细地描述,只是概括地描述高层的数据处理和流动。 4.导出和评价各种方案 分析员建立了新系统的高层逻辑模型之后,要从技术角度出发,提出实现高层逻辑模型的不同方案,即导出若干较高层次的物理解法。根据技术可靠性、经济可行性、社会可行性对各种方案进行评估,去掉行不通的解法,就得到了可行的解法。 5.推荐可行的方案 根据上述可行性研究的结果,应该决定该项目是否值得去开发。若值得开发,那么可行的解决方案是什么,并且说明该方案可行的原因和理由。要求分析员对推荐的可行方案进行成本——效益分析。 6.编写可行性研究报告 将上述可行性研究过程的结果写成相应的文档,即可行性研究报告,提醒用户和使用部门仔细审查,从而决定该项目是否进行开发,是否接受可行的实现方案。 2.2系统流程图 1.系统流程图的作用 系统流程图是描绘物理系统的传统工具,它用图形符号来表示系统中的各个元素,例如人工处理、数据处理、数据库、文件、设备等。它表达了系统中各个元素之间的信息流动的情况。2.3成本——效益分析 成本——效益分析的目的是从经济角度评价开发一个新的软件项目是否可行。成本——效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡。效益分有形效益和无形效益两种。有形效益可以用货币的时间价值、投资回收期、纯收入等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。 下面主要介绍有形效益的分析: 1.货币的时间价值 项目开发后,应取得相应得效益,有多少效益才合算?这就要考虑货币的时间价值。通常用利率表示货币的时间价值。 设年利率为i,现存入P元,n年后可得钱数为F,若不计复利则 F=P×(1+n×i) F就是P元在n年后得价值。反之,若n年能收入F元,那么这些钱现在得价值是: P =F/(1+n×i) 2.投资回收期 通常用投资回收期衡量一个开发项目的价值。投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。投资回收期越短,就越快获得利润,则该项目就越值得开发。 3.纯收入 衡量项目价值的另一个经济指标是项目的纯收入,也就是在整个生存周期之内的累计经济效益(折合成现在值)与投资之差。若某项目的纯收入小于零,则该项目是不值得投资的。本回答被网友采纳