软件可性行分析的任务和过程

可行性研究

        并非任何题都有简单明显的解决办法,事实上,许多间题不可能在定的系使观模或时间期限之内解决,如果问题没有可行的解,那么花费在这项工程上的任何时间、人力、软硬件资源和经费,都是无谓的浪费

        研究的目的是用最小的代价在尽可能短的时间确定问题是否能够解决。

2.1可行性研究的任务

        必须时刻记住,可行性研究的目的不是解决问题,而是确定问题是否值得解决。怎么样达到这个目的呢?当然不能靠主观猜想而只能靠客观分析,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系能完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。

        首先需要进一步分析和澄清间题定义。在问题定义阶段初步确定的规模和目标,如果是正确的就进一步加以肯定,如果有错误就应该及时改正,如果对目标系统有任何约束和限制,也必须把它们清楚地列举出来。在澄清了问题定义之后,分析员应该导出系统的逻辑模型,然后从系统逻辑模型出发,探常若干种可供选择的主要解法(即系统实现方案)。对每种解法都应该仔细研究它的可行性,一般说来,至少应该从下述3个方面研究每种解法的可行性。

        (1)技术可行性 使用现有的技术能实现这个系统吗?

        (2)经济可行性 这个系统的经济效益能超过它的开发成本吗?

        (3)操作可行性 系统的操作方式在这个用户组织内行得通吗?

        ?(4)社会可行性

        必要时还应该从法律,社会效益签更广泛的方面研究每种解法的可行性。

        分析员应该为每个可行的法定一个粗略的实现进度。

        当然,可行性研究最根本的任务是对以后的行动方针提出建议,如果问题没有可行分析员应该建议停止这项开发工程,以避免时间,资置、人力和金钱的浪费;如果问题值得解,分析员应该推荐一个较好的解决方案,并且为工程定一个初步的计划。

        可行性研究需要的时长短取决于工程的模,一说来,可行性研究的成本只是预期工程总成本的5%~10%。

2.2 可行性研究过程

        怎样进行可行性研究呢?典型的可行性究过程有下述一些步骤。

1.复查系统规模和目标

        分析员访问关键人员,仔细阅读和分析有关的材料,以便对间题定义阶段书写的关于规模和目标的报告书进一步复查确认,改正含糊不清或不确切的叙述,清晰地描述对目标系统的一切限制和约束,这个步骤的工作,实质上是为了确保分析员正在解决的问题确实是要求他解决的同题。

2.研究目前正在使用的系统

        现有的系统是信息的重要来源,显然,如果目前有一个系统正被人使用,那么这个系统必定能完成某些有用的工作,因此,新的目标系统必须也能完成它的基本功能;另一方面,如果现有的系统是完美无缺的,用户自然不会提出开发新系统的要求,因此,现有的系统必然有某些缺点,新系统必须能解决旧系统中存在的问题,此外,运行旧系统所需要的费用是一个重要的经济指标,如果新系统不能增加收人或减少使用费用,那么从经济角度看新系统就不如旧系统。

        应该仔细阅读分析现有系统的文档资料和使用手册,也要实地考察现有的系统。应该注意了解这个系统可以做什么,为什么这样做,还要了解使用这个系统的代价。在了解上述这些信息的时候显然必须访问有关的人员。

        常见的错误做法是花费过多时间去分析现有的系统,这个步骤的目的是了解现有系统能做什么,而不是了解它怎样做这些工作。分析员应该画出描绘现有系统的高层系统流程图(见系统流程图),并请有关人员检验他对现有系统的认识是否正确。千万不要花费太多时间去了解和描绘现有系统的实现细节。

        没有一个系统是在“真空”中运行的,绝大多数系统都和其他系统有联系。应该注意了解并记录现有系统和其他系统之间的接口情况,这是设计新系统时的重要约束条件。

3.导出新系统的高层逻模型

        优秀的设计过程通常是从现有的物理系统出发,导出现有系统的逻辑模型,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。

        通过前一步的工作,分析员对目标系统应该具有的基本功能和所受的的束已有一定了解,能够使用数据流图,描绘数据在系使中流动和处理的情况,从而概括地表达出他对新系统的设想,通过为了把系统绘得更清准确,还应该有一个初步的数据字典,定义系统中使用的数据,数据流图和数据字典共同定义了新系统的逻辑模型,以后可以从这逻辑模型出发设计新系统。

4.进一步定义问题

        新系统的判模实质上表达了分析员对新系统必须做什么的看法,用户是否也有同样的看法呢?分析员应该和用一起再次复查问题定义,工程规模和目标,这次复查应该把数据流图和数据字典作为讨论的基础,如果分析员对同题有误解或者用户曾经遗漏了某些要求,那么现在是发现和改正这些错误的时候了。

        可行性研究的前4个步实质上构成一个环,分析员定义同题,分析这个问题,导出一个试探性的解;在此基础上再次定义问题,再一次分析这个问题,修改这个解:继续这个循环过程,直到提出的逻辑模型完全符合系统目标。

5.导出和评价供选择的解法

        分析员应该从他建议的系统逻辑模型出发,导着若干个较高层次的(较轴象的)物理解法供比较和选择,导出供选择的解法的最简单的途径,是从技术角度出考虑解决问题的不同方案,后面将举例说明在数据流图上划分不同的自动化边界从面出不同物理方案的方法,分析员可以确定几组不同的自动化边界,然后针对每一组边界考虑如何实现要求的系统。还可以使用组合的方法导出若干种可能的物理系统,例如,在每一类计算机上可能有几种不同类型的系统,组合各种可能将有微处理机上的批处理系统、微处理机上的交互式系统、小型机上的批处理系统等方案,比外还应该把现有系统和人工系统作为两个可能的方案一起考虑进去。

        当从技术角度提出了一些可能的物理系统之后,应该根技术可行性的考虑初步排一些不现实的系统,例如,如果要求系统的响应时不超过几秒钟,显然应该排除任何批处理方案,把技术上行不通的解法去掉之后,就剩下了一组技术上可行的方案。

        其次可以考虑操作方面的可行性。分析员应该要据使用部门处理事务的原则和习惯检查技术上可行的那些方案,去掉其中从操作方式或操作过程的角度看用户不能接受的方案。

        接下来应该考虑经济方面的可行性,分析员应该值计余下的每个可能的系统的开发成本和运行费用,并且估计相对于现有的系统而言这个系统可以节省的开文或可以增加的收人,在这些估计数字的基础上,对每个可能的系统进行成本/效益分析,一说来,只有投资预计能带来收利的系统才值得进一步考虑。

        最后为每个在技术、操作和经济等方面都可行的系统制定实现进度表,这个进度表不需要(也不可能)制定得很详细,通常只需要估计生命周期每个阶段的工作量。

6.推荐行动方针

        根据可行性研究结果应该决定的一个关键性问题是:是否继续进行这项开发工程?分析员必须清楚地表明他对这个关键性决定的建议。如果分析员认为值得继续进行这项开发工程,那么他应该选择一种最好的解法,并且说明选择这个解决方案的理由。通常客户主要根据经济上是否划算决定是否投资于一项开发工程,因此分析员对于所推荐的系统必须进行比较仔细的成本/效益分析。   

7.草拟开发计划

        分析员应该为所推荐的方案草拟一份开发计划,除了制定工程进度表之外还应该估计对各类开发人员(例如,系统分析员、程序员)和各种资源(计算机硬件、软件工具等)的需要情况,应该指明什么时候使用以及使用多长时间,此外还应该估计系统生命周期每个阶段的成本。最后应该给出下一个阶段(需求分析)的详细进度表和成本估计。

8.书写文档提交审查

        应该把上述可行性研究各个步骤的工作结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值