文档介绍:第二章软件可行性研究
【本章引言】
在计算机的软件项目开发过程中,只要资源和时间不加以限制,所有的项目都是可行的。然而,由于资源缺乏和交付时间限制的困扰,使得基于计算机系统的开发变得比较困难。因此,尽早对软件项目的可行性做出细致而谨慎的评估是十分必要的。如果在定义阶段及早发现将来可能在开发过程中遇到的问题及早做出决定,可以避免大量的人力、财力、时间上的浪费。
本章将对可行性研究的任务、步骤和可行性研究报告等方面做简要的介绍,通过本章学习,深刻理解可行性研究的重要性。
【本章重点】
可行性研究的任务
可行性研究的步骤
可行性研究报告
【学习目标】
了解可行性研究的任务和步骤
了解可行性研究的报告的写法
第二章软件可行性研究
可行性研究的任务
可行性研究的步骤
可行性研究报告
小结
习题
可行性研究的任务
可行性研究的任务是从技术上、经济上、使用上、法律上分析应解决的问题是否有可行的解,从而确定该软件是否值得去开发。其目的是用极少的代价在最短时间内确定被开发的软件是否能开发成功,以避免盲目投资带来的巨大浪费。
可行性研究与风险分析是密切相关的。如果项目的风险很大,就会降低产生高质量软件的可行性。可行性研究主要集中在以下四个方面:
经济可行性。进行开发成本的估算及可能取得效益的评估,确定待开发系统是否值得投资开发。
技术可行性。对待开发的系统进行功能、性能和限制条件的分析,确定在现有的资源条件下,技术风险有多大,系统是否能实现。这里,资源包括已有的或可以搞到的硬件、软件资源,现有技术人员的技术水平与已有的工作基础。
法律可行性。确认待开发系统可能会涉及的任务侵犯、妨碍、责任等问题。
使用可行性。使用可行性是指使用方式(如操作方式)用户是否容易接受。对于一个运行方式难以让人习惯的软件,用户是不会满意的。
可行性研究的任务
对于大多数系统(除国防系统、法律委托系统和高技术应用系统,如空间程序等外),一般衡量经济上是否合算,应考虑一个“底线”。经济可行性研究涉及范围较广,包括成本——效益分析、长期的公司经营策略、对其它单位或产品的影响、开发所需的成本和资源,以及潜在的市场前景。
技术可行性常常是最难决断的方面。因为系统的目标、功能、性能比较模糊。技术可行性的评估与分析和定义过程并行进行,是十分必要的。
一般地,技术可行性要考虑的情况包括:
开发的风险:在给出的限制范围内,能否设计出系统,并实现必要的功能和性能?
资源的有效性:可用于开发系统元素的人员是否存在问题?可用于建立系统的其它资源,如硬件、软件等,是否具备?
技术:相关技术的发展是否能支持这个系统?
可行性研究的任务
开发人员在评估技术可行性时,一旦估计错误,将会出现灾难性的后果。
法律可行性所涉及的范围也比较广。它包括:合同、责任、侵权、以及其它一些技术人员常常不了解的陷阱。
对所考虑的候选方案的赞成与否,还常常受到成本和时间的限制。
在进行可行性分析时,通常要先研究目前正在使用的系统,然后根据待开发系统的要求导出新系统的高层逻辑模型。有时可提出几个选择的方案,并对每个方案从技术上、经济上、使用上、法律上进行可行性分析,在对各方案进行比较后,选择其中的一个作为推荐方案(有时可能要在几个方案中进行折衷),最后对推荐方案给出一个明确的结论,如“可行”、“不可行”,或“等某某条件成熟后可行”。
可行性研究的步骤
可行性研究的步骤如图2-1所示
图2-1 可行性研究的步骤
可行性研究的步骤
系统分析人员要详细地阅读各种相关资料,并对用户和市场进行调查,从而确认目标系统要完成的任务。同时,还要明确进行项目开发时的一切限制和约束,以及可以使用的各种资源。
对现有系统功能特点的充分了解是成功开发新系统的前提。对现有系统的研究包括阅读和分析各种文档资料,观察系统的运行状况和实地操作系统,收集和分析用户对现有系统的意见等。可以说,现有系统是开发目标系统时重要的信息来源。
一般来说,新系统应该完成现有系统的功能,并对现有系统中存在的问题进行改善或修复。在分析研究了现存系统基础上,就可以大体把握新系统的功能和结构,然后从较高层次上建立新系统的逻辑模型。