软件系统可行性研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章可行性研究
我们在做任何工作以前,必须明确工作的性质、任务、制定完成任务的计划。显然完成一个软件系统的开发,也应解决好类似的问题。明确软件开发系统的任务,完成任务的价值,制定出完成任务的计划,是软件系统可行性研究的目的。
2.1 可行性研究
2.1.1可行性研究的任务
如果不限时间、不限资源、则任何研制项目都是可行的!然而在开发以计算机为基础的系统时,需要用最小的代价,在尽可能短的时间确定问题是否能够解决。这种可行性研究的目的是确定我们所研究的问题是否值得去解,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。
可行性研究的实质就是要进行一次压缩,简化了的系统分析和设计的过程,也就是在较高层次上以较抽象方式进行系统分析和系统设计的过程,可行性研究应着重考虑如下五个方面。
1.技术可行性。是指使用现有的技术能否实现这个系统。它包括开发风险——在限制条件围达到必需的功能与性能;资源配置——指现有的技术人员是否胜任,开发系统的软、硬件资源是否能如期得到;技术——指现有的技术是否已发展到这样的水平,能够支持系统
的研制。
2.经济可行性。指新系统的经济效益能否超过开发成本。包括评价经济的合理性,权衡支出的费用和收到的利益,正确估计开发费用以及最终从所开发的系统获得的收入和利益。其中经济的合理性包括成本/效益分析,长期的总体的经营策略,对其他获利中心或获利产品的影响,开发工作需用资源的购置费用、潜在的市场等等。
3.运行可行性。指为新系统规定的运行方式是否可行。如果新系统是建立在原来已担负其他任务的计算机系统上,就不能要求它在实时在线状态下运行,以免与原有的任务相矛盾。
4.操作可行性。指系统的操作方式在这个用户组织是否行得通。它包括人事政策,科技政策和必要的管理措施。
5.法律可行性。指新系统的开发是否会侵犯他人、集体或国家的利益,是否违反了国家的法律,并由此而承担法律责任。
可行性研究并不保证一个系统经济上明显合理、技术风险低,很少法律问题,而且不存在其他合理方案。然而,我们之所以要进行可行性研究,其目的是对以后的行动方针提出建议。如果问题没有可行的解,那么分析员应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费。如果问题值得解,那么分析员应该推荐一个较好的解决方案,并为工程制定一个初步计划。
可行性研究需要的时间长短取决于系统的规模。一般来说,可行性研究的成本只是预期工程总成本的5~10%。
2.1.2 可行性研究的步骤
1.复查系统规模和目标。要仔细阅读和分析分析员在问题定义阶段书写的关于系统目标和规模的报告书,确定报告书的容,修改不确切的叙述,清晰地描述对目标系统的一切限制和约束,确保分析员提交的报告书确实是用户要求解决的问题。
2.研究现有的系统。现有系统是信息的重要来源,现有系统要完成的工作,就是新系统所必须具备的功能。现有系统存在的缺点,新系统必须加以改进。现有系统所不具备的功能,
又是用户必须的,则新系统一定要预以增加。现有系统所需要的费用是新系统的一个重要的
投资依据。这样的调查研究,是了解一个陌生应用领域的最快方法。既可以使新系统脱胎而生,又不全盘照抄。另外还要注意现有系统与其他系统之间的通信接口,这是新系统设计的重要约束条件。
3.导出新系统的高层逻辑模型。软件工程设计总是从现有的物理系统出发,导出现有物理系统的逻辑模型;再以现有物理系统的逻辑模型为基础,设计出新系统的高层逻辑模型;最后根据高层逻辑模型建造新的物理系统。依据新系统的功能和约束条件,我们可以使用数据流图(DFD图)来描绘数据在系统中流动和处理的情况,使用数据字典来定义系统中使用的数据,从而完成新系统的逻辑模型。至于物理系统采用系统流程图来表示。
4.重新定义问题。新系统的逻辑模型是否能满足用户的要求,分析员和用户应该一起进行复审。复审以数据流图和数据字典为依据,对问题的定义、工程模型和目标进行审查。如果有分岐和遗漏等问题,应立即进行改正。
上述可行性研究步骤实质上是一个循环,即定义系统目标—→复查系统目标和规模—→研究现有系统—→设计新系统—→再定义系统目标。重复这个循环过程,直到提出的新系统逻辑模型完全符合系统目标和规模为止。
5.提出供选择的方案。从系统的逻辑模型出发,以系统要求为目标,利用在数据流图上划分自动化边界的方法,我们可以提出若干种较高层次的物理解法供用户选择。针对多种供选方案,用户应从如下三个方面进行筛选:
(1) 从技术角度排除那些不现实的方案;
(2) 从操作角度去掉那些操作方式或操作过程用户不能接受的方案;
(3) 从经济角度估算每个可能系统的成本/效益。一般来说,只有投资预计能带来利润的系统才值得开发。
只有在技术、操作经济等方面都可行的系统,我们才为其制定实现进度表。此进度表不需要很详细,只是要估计生存周期每个阶段的工作量。
6.推荐建议方案。在对上一步提出的各种可行方案的分析、比较的基础上,向用户提出推荐的方案,在推荐方案中应清楚地表明
(1) 本项目的开发价值;
(2) 推荐这个方案的理由;
(3) 制定实现项目的进度表。
7.决策。使用部门的负责人根据经济实力及分析员在可行性研究阶段对开发此项工程成本/效益情况的分析结论,决定是否继续这项开发工程。
8.制定开发计划。分析员应为推荐的系统制定一份开发计划,它包括工程的进度、人材资源的需求及使用、设备资源的需求及使用(软、硬件工具)、估算生存周期每个阶段的成本等,最后给出下一阶段(需求分析)的详细进度表和成本估计。
9.书写文档提交审查。把上述可行性研究各个步骤的结果写成清晰的文档,请用户和使用部门的负责人仔细审查,也可以召开论证会。论证会成员由用户、使用部门负责人及有关方面的专家组成,负责对提出的方案进行论证,最后由论证会成员签署意见,指明该开发计划是否通过。
2.1.3 可行性论证报告的主要容
1.系统概述。是对问题的简单述,包括系统的开发目的、目标、业务对象和围,新系统和它的各子系统的功能与特性,新系统与当前系统的比较,所需资源以及费用和进度的概况等。