日常生活中有很多精打细算的例子。说到精打细算,想起了一个小笑话:妻子用白灰反复地粉刷房间。丈夫生气地大叫:“够了!太浪费了!”妻子得意地说:“你知道什么呀,这白灰是白送的!”丈夫摇着头说:“笨蛋!就算白灰不要钱,那也应该刷外面,这里面刷了一层又一层,房间比原来小多了。”
假如要开一个超市,就不得不考虑超市的地理位置、环境、投入与收益等问题,这些问题都直接关系到超市能不能开。同样,在软件开发前也要经过精打细算那样的过程——可行性研究。
软件可行性研究是什么?有什么必要性吗?
简单来说,项目在开始之前要先确定能不能做,值不值得做。它不仅可以降低软件开发风险,也决定了后续开发是否进行。
那么,可行性研究如何做呢?
从宏观方面看,根据系统的要求,采取“三步走”来进行可行性研究,即需求获得—系统定型—分析报告。
首先来看需求获得。根据新系统的目标和功能,采用初步调查和对现行系统研究来获得新系统的需求。
在初步调查中,由开发方的项目经理、市场调研人员以及广大用户参与共同合作完成。项目经理负责制定调查计划,最后获得所需信息;调研人员在调查后将资料分类、汇总到《需求调研记录》的文件中。
另一种方法是对现行系统的观察分析来得到新系统功能的基本需求。现行系统可能的三种类型:完全手工的、半自动化的和自动化的。 不管是哪一种,都可以从中发现新系统所需要的信息,并且找出现有系统的优缺点,得出新系统的雏形。
对比这两种方法,感觉后一种是获得系统需求的不错的捷径。
其次,来看关键的第二步——系统定型。
这个阶段有四个部分,对系统定型起到了决定性的作用。
在定义这个部分,根据第一步获得的资料来确定系统的规模,数据和功能等。
根据以上定义结果,将新系统的功能结构和他们之间的数据处理关系用图形表示出来,就构成了新系统的逻辑模型。 开发方法的选择关系到图形的描述。 若系统开发时采用结构化开发方法,则可用功能模块图、系统流程图表示逻辑模型;若用面向对象开发方法,则可用用例图和类图来表示逻辑模型。
前两步都是开发人员根据对系统的理解做出来的,做的怎么样,还得用户说了算。 那就是在第三部分要看看用户的态度了。 用户审查就是看看这个模型是否存在不符合自己需求的地方,或者遗漏的地方。
确定了符合用户要求的逻辑模型后,下面就要说怎么干的事了。 分析员给出了几个可供选择的方案。要从技术、经济、操作等方面综合分析,得出最佳的方案。
最后一步,就要写可行性分析报告了,经过上面两步,接下来应该把上面设计到的东西整理一下,写成一个报告交给领导和用户进行审批。 这个报告如何写,写成什么样子呢?
可行性分析报告需要写的非常详细,我就把这个报告中大致的逻辑说明一下了。每个环节在上面的总结中都提到了,我就不细说了,最后说一下结论性意见。 它主要有3种情况:
如果系统需要的条件都已成熟,且有最优方案,那么要立即开发;如果条件还不满足,但经过一段时间能够满足,那么就推迟开发。如果开发没有价值或由于某些重要因素在短时间能得不到解决,那就终止以后的开发工作。
通过以上三步的分析我懂得了可行性分析报告在系统开发中的重要地位,在以后学习中,要加以重视,训练自己在这方面的能力。