软件开发首先应该进行可行性研究,编写可行性研究报告,根据报告进行开发。
可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。它压缩简化了系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行系统分析的过程。如果在项目开始进行前,没有进行可行性研究,当开发时遇到问题且该问题根本得不到解决,那么之前在这项工程上所有的花费都只能是浪费。
可行性研究报告
一.问题定义
软件需求分析功能和性能的依据
1.内容:包括问题背景,开发系统的现状,开发的条件与理由,总体要求,问题性质,类型转换,什么目标,开发条件,环境要求
2.步骤:系统分析人员到问题现场,(听取用户要求,调查开发的背景理由,看用户的报告,加工整理,与用户讨论,改进,写出定义报告,确定可行性研究方向)
二.可行性研究
讨论方面:
1.经济可行性
2.技术可行性
3.操作可行性
4.法律可行性
5.时间可行性
三.步骤:
1.复查系统模型和目标
2.研究正在使用的系统
3.导出系统的高层逻辑模型(重要)
4.想用户推荐建议方法
5.推荐行动方针,做出一个关键性的决定
6.草拟开发计划,写出可行性论证报告
7.提交上级审查
四.软甲计划内容
•软件范围:功能模型,软件能力对硬件的要求,接口界面的性质和复杂性
•环境资源:人力资源,硬件,软件,进度表
五.软件价格估计
•参数化算法:c=f(Vi)
•代码行价格估算:源代码行;劳动量;软件生产率;LOC计算方法
•任务分解法:把软件工程分解为软肝相对独立任务,分别估计并累加
•自动估计成本方法:需要有良好的数据量系统支持
六.成本收益分析:
1.成本估计:
自顶向下:先估算系统再估计子系统
自顶向下:先估计每个模块再合成整体成本
2.效益分析法:运行费,系统的经济效益