许多问题不可能在预定的系统规模或时间期限之内解决。
可行性研究的目的不是解决问题,而是确定问题是否值得去解决。
技术可行性:使用现有的技术能实现这个系统吗?
经济可行性:这个系统的经济效益能超过它的开发成本吗?
操作可行性:系统的操作方式在这个用户组织内行得通吗?
1.复查系统规模和目标
清晰地描述对目标系统的一切限制和约束。
2.研究目前正在使用的系统
现有的系统是信息的重要来源,现有的系统必然有某些缺点,新系统必须能解决旧系统中存在的问题。
3.导出新系统的高层逻辑模型
优秀的设计过程通常是从现有的物理系统出发,导出现有系统的逻辑模型,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。
分析员能够使用数据流图,描绘数据在系统中流动和处理的情况,从而概括地表达出他对新系统的摄像。还应该有一个初步的数据字典,定义系统中使用的数据。
4.进一步定义问题
分析员应该和用户一起再次复查问题定义、工程规模和目标,这次复查应该把数据流图和数据字典作为讨论的基础。
5.导出和评价供选择的解法
分析员应该从他建议的系统逻辑模型出发,导出若干个较高层次的(较抽象的)物理解法供比较和选择。导出供选择的解法的最简单的途径,是从技术角度出发考虑解决问题的不同方案。例如在数据流图上划分不同的自动化边界,从而导出不同物理方案的方法。
6.推荐行动方针
是否继续进行这项开发工程?分析员必须清楚地表明他对这个关键性决定的建议。
7.草拟开发计划
分析员应该为所推荐的方案草拟一份开发计划,除了制定工程进度表之外还应该估计对各类开发人员(例如,系统分析员、程序员)和各种资源(计算机硬件、软件工具等)的需要情况,应该指明什么时候使用以及使用多长时间。
8.书写文档提交审查
应该把上述可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。