软件计划主要是进行可行性分析,即确定该项目能不能做,值不值得做,换句话说就是该项目的开发能否为企业带来多大的效益。可行性研究对于特别是大型的项目来说是必不可少的,可行性研究是降低软件开发风险、避免开发失败的有效途。
一、问题的定义:为软件需求分析功能和性能的依据
问题定义的内容包括以下两部分:
- 问题背景,开发系统的现状,开发的条件与理由,总体要求;
- 问题的性质,类型转换,什么目标,开发条件,环境要求等。
问题定义阶段主要是把开发项目的目标、用户需求、约束和可选开发方案确定下来。
二、进行可行性分析:
1.可行性分析的目的:主要是用最小的代价在尽可能短的时间内确定问题是否能够解决,也就是说可行性研究的主要目的不是为了解决问题,而是确定问题是否值得去解。
2、可行性分析的任务主要包括:
- 经济可行性分析是从开发软件系统的花费和未来系统的收益两方面来衡量系统是否值得开发,这也是作为组织开发软件系统最根本的目标。
- 技术可行性分析主要是根据定义的功能性需求,性能需求,约束等方面涉及到的关键技术进行分析
- 操作可行性分析主要是指对未来用户使用系统的要求。
- 法律可行性分析即开发的软件系统是否和现行法律相抵触。
- 时间可行性分析 即我们是否能在规定的时间内完成对系统的开发
3、是可行性研究的步骤:
- 用户需求初步调查:确定系统的开发目标和功能
- 研究目前正在使用的系统:对现行系统的研究可以得到新系统功能的基线,并且找出不足,从而也就知道了新系统将要完善和改进的地方。
- 定义新系统的规模和目标分析并确定新系统的目标,规模,功能,数据以及开发和运行的约束条件,从而形成文档资料作为后续开发使用。
- 提出新系统的逻辑模型
- 有了前面的作为基础,就构成了新系统的逻辑模型,这样有助于用户和后续的开发人员了解整个系统的高层结构和数据处理流程。
- 重新审查对新系统的定义
- 提出可供选择的几种开发方案
- 评价并推挤可行方案
- 书写可行性分析报告
三、成本/效益分析
1.成本/效益分析的主要目的:是从经济角度分析开发一个特定的系统是否划算,从而帮助使用部门负责人正确作出是否投资于这项工程的决定,是可行性研究阶段最重要的一项任务。
2.成本/效益主要从以下几个方面考虑:
- 货币的时间价值
- 投资回收期
- 纯收入
- 投资回收率
系统开发成本的计算包括:
- 自动估计成本方法:减轻人的劳动但要有大量的经验数据基础,要有良好的数据库系统支持。
- 任务分解估算:把软件开发工程分解成若干个相对独立的任务,再分别估计每个开发任务的成本,最后累加得出总成本。
- 代码行计算:即根据经验估计系统每行代码所需要的费用,以及代码行量大致是多少。