2.1可行性研究
在进行任何一项较大的工程时,首先都要进行可行性分析和研究。目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
2.1.1可行性研究的任务
1.技术可行性
对要开发的项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能实现。
技术可行性是最难解决的,它一般要包括:
(1)开发的风险:在给出的限制范围内,能否设计出系统并实现必须的功能和性能。
(2)资源的有效性:人力资源以及用于建立系统的其他资源是否具备。
(3)技术:目前的技术水平能否支持这个系统。
(4)开发人员在评估技术可行性时,一旦估计错误,将会出现灾难性后果。
2.经济可行性
进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。
3.社会可行性
要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
2.1.2 可行性研究的具体步骤
典型性的可行性研究有下列步骤:
1.确定项目规模和目标
分析员对有关人员进行调查访问,仔细阅读和分析有关的材料,对项目的规模和目标进行定义和确认,清晰地描述项目的一切限制和约束,确保分析员正在解决的问题确实是要解决的问题。
2.研究正在运行的系统
收集、研究、分析现有系统的文档资料,实地考察现有系统,在考察的基础上,访问有关人员,然后描述现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。这个系统流程图反映了现有系统的基本功能和处理流程。
3.建立新系统的高层逻辑模型
根据对现有系统的分析研究,逐步明确了新系统的功能、处理流程以及所受的约束,然后使用建立逻辑模型的工具——数据流图和数据字典来描述数据在系统中的流动和处理情况。现在还不是软件需求分析阶段,不是完整、详细地描述,只是概括地描述高层的数据处理和流动。
4.导出和评价各种方案
分析员建立了新系统的高层逻辑模型之后,要从技术角度出发,提出实现高层逻辑模型的不同方案,即导出若干较高层次的物理解法。根据技术可靠性、经济可行性、社会可行性对各种方案进行评估,去掉行不通的解法,就得到了可行的解法。
5.推荐可行的方案
根据上述可行性研究的结果,应该决定该项目是否值得去开发。若值得开发,那么可行的解决方案是什么,并且说明该方案可行的原因和理由。要求分析员对推荐的可行方案进行成本——效益分析。
6.编写可行性研究报告
将上述可行性研究过程的结果写成相应的文档,即可行性研究报告,提醒用户和使用部门仔细审查,从而决定该项目是否进行开发,是否接受可行的实现方案。