2.1 可行性研究的任务
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解决。
一般来说,至少应该从下述三个方面去研究每种解法的可行性:
(1)技术可行性 使用现有的技术能实现这个系统吗?
(2)经济可行性 这个系统的经济效益能超过它的开发成本吗?
(3)操作可行性 系统的操作方式在这个用户组织内行得通吗?
可行性研究最根本的任务是对以后的行动方针提出建议。
2.2 可行性研究的步骤
2.2.1 复查系统规模和目标
分析员访问关键人员,仔细阅读和分析有关的材料,以便对问题定义阶段书写的关于规模和目标的报告书进一步复查确认,改正含糊或不确切的叙述,清晰地描述对目标系统的一切限制和约束.
这个步骤的工作,实质上是为了确保分析员正在解决的问题确实是要求他解决的问题。
2.2.2 研究目前正在使用的系统
现有的系统是信息的重要来源.显然,如果目前有一个系统正被人使用,那么这个系统必定能完成某些有用的工作,因此,新的目标系统必须也能完成它的基本功能;另一方面,如果现有的系统是完美无缺的,用户自然不会提出开发新系统的要求,因此,现有的系统必然有某些缺点,新系统必须能解决旧系统中存在的问题.此外,运行使用旧系统所需要的费用是一个重要的经济指标,如果新系统不能增加收入或减少使用费用,那么从经济角度看新系统不如旧系统.
应该仔细阅读分析现有系统的文档资料和使用手册,也要实地考察现有的系统.应该了解这个系统可以做什么,为什么这样做,还要了解使用这个系统的代价。
常见的错误做法是花费过多时间去分析现有的系统.这个步骤的目的是了解现有系统能做什么,而不是了解它怎样做这些工作.分析员应该画出描绘现有系统的高层系统流程图,并请有关人员检验他对现有系统的认识是否正确.
千万不要花费太多时间去了解和描绘现有的系统实现细节,例如,除非是为了阐明一个特别关键的算法,否则不需要根据程序代码画出程序流程图.
应该注意了解并记录现有系统和其他系统之间的接口情况,这是设计新系统时重要的约束条件.
2.2.3 导出新系统的高层逻辑模型
优秀的设计过程通常总是从现有的物理系统出发,导出现有系统的逻辑模型,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统.
通过进一步的工作,分析员对目标系统应该具有的基本功能和所受的约束已有一定了解,能够使用数据流图,描绘数据在系统中流动和处理的情况,从而概括地表达出他对新系统的设想.通常为了把新系统描绘得更清晰准确,还应该有一个初步的数据字典,定义系统中使用的数据.数据流图和数据字典共同定义了新系统的逻辑模型,以后可以从这个逻辑模型出发设计新系统.
2.2.4 重新定义问题
新系统的逻辑模型实质上表达了分析员对新系统必须做什么的看法.用户是否也有同样的看法呢?分析员应该和用户一起再次复查问题定义、工程规模和目标,这次复查应该把数据流图和数据字典作为讨论的基础.如果分析员对问题有误解或者用户曾经遗漏了某些要求,那么现在是发现和改正这些错误的时候了.
可行性研究的前四个步骤其实构成一个循环.分析员定义问题,分析这个问题,导出一个试探性的解;在此基础上再次定义问题,再一次分析这个问题,修改这个解;继续这个循环过程,直到提出的逻辑模型完全符合系统目标.
2.2.5 导出和评价选择的解法
分析员应该从他建议的系统逻辑模型出发,导出若干个较高层次的(较抽象的)物理解法供比较和选择.到处供选择的解法的最简单的途径,是从技术角度出发考虑解决问题的不同方案.
当从技术角度提出了一些可能的物理系统之后,应该根据技术可行性的考虑初步排除一些不现实的系统.
例如,如果要求系统的响应时间不超过几秒钟,显然应该排除任何批处理方案.
把技术上行不通的解法去掉之后,就剩下了一组技术上可行的方案.
其次可以考虑操作方面的可行性.分析员应该根据使用部门处理事物的原则和习惯检查技术上可行的那些方案,去掉其中从操作方式或操作过程的角度看用户不能接受的方案.
接下来应该考虑经济方面的可行性.分析员应该估计余下的每个可能的系统的开发成本和运行费用,并且估计相对于现在的系统而言这个系统可以节省的开支或可以增加的收入.在这些估计数字的基础上,对每个可能的系统进行成本/效益分析.一般来说,只有投资预计能带来利润的系统才值得进一步考虑.
最后为每个在技术、操作和经济等方面可行的系统制定实现进度表,这个进度表不需要指定得很详细,通常只需要估计生命周期每个阶段的工作量.
2.2.6 推荐行动方针
根据可行性研究结果应该作出一个关键性的决定是,是否继续进行这项开发工程.分析员必须清楚地表明他对这个关键性决定的建议.如果分析员认为值得继续进行这项开发工程,那么他应该选择一种最好的解法,并且说明选择这个解决方案的理由.通常使用部门的负责人主要根据经济上是否划算决定是否投资于一项开发工程,因此分析员对于所推荐的系统必须进行比较仔细的成本/效益分析.
2.2.7 草拟开发计划
分析员应该进一步为推荐的系统草拟一份开发计划.除了工程进度表之外还应该估计对各种开发人员(系统分析员,程序员,资料员等等)和各种资源(计算机硬件,软件工具等等)的需要情况,应该指明什么时候使用以及使用多长时间.此外还应该估计系统生命周期每个阶段的成本.最后应该给出下一个阶段(需求分析)的详细进度表和成本估计.
2.2.8 书写文档提交审查
应该把上述可行性研究各个步骤的结果写成清晰的文档,请用户和使用部门的负责人仔细审查,以决定是否继续这项工程以及是否接受分析员推荐的方案.
回复Comments
作者:
{commentrecontent}