




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 可行性研究当接受一个软件开发任务时,就意味着进入软件生命周期的第一个阶段,即进行可行性研究。众所周知,许多问题不能在预定的规模之内解决。因此通过可行性研究可以知道问题有无可行的解,进而避免人力、物力和财力上的浪费。可行性研究所需的成本占总工程成本的5%10%。2.1 可行性研究的任务可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。也就是说可行性研究的目的不是解决问题,而是确定问题是否值得去解,研究在当前的具体条件下,开发新系统是否具备必要的资源和其他条件。可行性研究是压缩简化了的系统分析和设计的过程,也就是说在较高层次上以较抽象的方式进行设计的过程。在明确了问题定
2、义之后,分析员应该给出系统的逻辑模型,然后从系统逻辑模型出发,寻找可供选择的解法,研究每一种解法的可行性。一般说来,应从经济可行性、技术可行性、运行可行性、法律可行性和开发方案等方面研究可行性。 1经济可行性经济可行性研究主要进行成本效益分析,包括估计项目的开发成本,估算开发成本是否会高于项目预期的全部利润。分析系统开发对其他产品或利润所带来的影响。 2技术可行性技术可行性是最难决断和最关键的问题。根据客户提出的系统功能、性能及实现系统的各项约束条件,从技术的角度研究系统实现的可行性。由于系统分析和定义过程与系统技术可行性评估过程同时进行,这时系统目标、功能和性能的不确定性会给技术可行性论证带
3、来许多困难。技术可行性研究包括以下几项:(1)风险分析:在给出的限制范围内,能否设计出系统,并实现必要的功能和性能。 (2)资源分析:研究开发系统的人员是否存在问题,可用于建立系统的其他资源,如硬件、软件等是否具备。(3)技术分析:相关技术的发展是否支持这个系统。 3运行可行性 运行可行性研究内容包括新系统规定的运行方式是否可行,如果新系统是建立在原来已担负其他任务的计算机系统上的,就不能要求它在实时在线状态下运行,以免与原有的任务相矛盾。 4法律可行性法律可行性是指研究在系统开发过程中可能涉及的各种合同、侵权、责任以及各种与法律相抵触的问题。5开发方案可行性提出系统实现的各种方案并进行评价之
4、后,从中选择一种最优秀的方案。可行性研究的结果可以作为系统规格说明书的一个附件,表2-1所示的是可行性研究目录。当然,可行性研究最根本的任务是对以后的行动路线提出建议:如果问题没有可行的解,应该建议停止这项工程的开发;如果问题值得解,应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。 表2-1 可行性研究目录1.引言1.1问题1.2实现条件1.3约束条件2.管理2.1重要的发现2.2注释2.3建议2.4效果3.方案选择3.1选择系统配置3.2选择方案的标准4.系统描述4.1缩写词4.2各子系统的可行性5.成本效益分析6.技术风险评价7.有关法律问题8.用户使用可能性9.其他2.2 可行
5、性研究的步骤一般地说,可行性研究有如下步骤:1复查系统规模和目标分析员应访问关键人员,仔细阅读和分析有关资料,以便进一步复查确认系统的目标和规模,改正含糊不清的叙述,清晰地描述对系统目标的一切限制和约束,确保解决问题的正确性,即保证分析员正在解决的问题确实是要求他解决的问题。2.研究目前正在使用的系统现有的系统是信息的来源,通过对现有系统的文档资料的阅读、分析和研究,再如实地考虑该系统,总结出现有系统的优点和不足,从而得出新系统的雏形。这是了解一个陌生应用领域的最快方法,它既可以使新系统脱颖而生,但又不能全盘照抄。3.导出新系统的高层逻辑模型优秀的设计通常总是从现有的物理系统出发,导出现有系统
6、的高层逻辑模型。逻辑模型是由数据流图来描述的,此时的数据流图不需要细化。然后,再来参考现有的逻辑模型。这样,经过上述几步的反复进行,最后根据开发系统的目标,得到新系统的说明和逻辑模型。逻辑模型确立之后,可以在此基础上建造开发系统的物理系统,通常物理系统模型是用系统流程图来表示的。4. 重新定义问题信息系统的逻辑模型实质上表达了分析员对新系统的看法。那么用户是否也有同样的看法呢?分析员应该和用户一起再次复查问题定义,再次确定工程规模、目标和约束条件,并修改已发现的错误。可行性研究的前四个步骤实质上构成一个循环:分析员定义问题,分析问题,导出一个试探性的解,在此基础上再次定义问题,再次分析,再次修
7、改,继续这个过程,直到提出的逻辑模型完全符合系统目标为止。5.导出和评价供选择的方案分析员从系统的逻辑模型出发,导出若干较高层次的(较抽象的)物理解供比较和选择。从技术、经济、操作等方面进行分析比较,并估算开发成本、运行费用和纯收入。在此基础上对每个可能的系统进行成本/效益分析。6.推荐一个方案并说明理由在对上一步提出的各种方案进行比较分析的基础上,向用户推荐一种方案,在推荐的方案中应清楚地表明:(1)本项目的开发价值;(2)推荐这个方案的理由; (3)制定实现进度表,这个进度表不需要也不可能很详细,通常只需要估计生存周期每个阶段的工作量。 7.推荐行动方针根据上面的可行性研究的结果,作出一个
8、关键性的决定,表明是否进行这项开发工程。分析员还需要较详细地分析开发此项工程的成本效益情况,这可作为使用部门的负责人根据经济实力决定是否投资此项工程的依据。 8.书写计划任务书把上述材料进行分析汇总,草拟一份描述计划任务的可行性论证报告。此报告应包括以下内容。(1)系统概述:当前系统及其存在问题的简单描述;新系统的开发目的、目标、业务对象和范围;新系统及其各个子系统的功能与特性;新系统与当前系统的比较等。新系统可以用系统流程图来描述,并附上重要的数据流图和数据字典以及加工说明作为补充。(2)可行性分析:这是报告的主体。论述新系统在经济上、技术上、运行上、法律上的可行性,以及对新系统的主客观条件
9、的分析。(3)拟定开发计划:包括工程进度表,人员配备情况,资源配备情况,估计出每个阶段的成本、约束条件等。(4)结论意见:综合上述分析,说明新系统是否可行,结论可分为三类:可立即进行、推迟进行、不能和不值得进行。 9.提交审查用户和使用部门的负责人仔细审查上述的文档,也可以召开论证会。论证会成员有用户、使用部门负责人及有关方面专家,对该方案进行论证,最后由论证会成员签署意见,指明该任务计划书是否通过。2.3 系统流程图 在进行可行性研究时需要了解和分析现有的系统,并以概括的形式表达对现有系统的认识。进入设计阶段以后应该把设想的新系统的逻辑模型转变成物理模型,因此需要描绘未来的物理系统的概貌。
10、可行性研究对现有系统做概括的物理模型描述,如用图形工具表示则更加直观简洁。系统流程图是描绘物理系统的传统工具,它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等)。系统流程图表达的是部件的信息流程,而不表示对信息进行加工处理的控制过程。系统流程图的基本符号见表2-2。 表2-2 系统流程图的基本符号 系统流程图的作用可以总结如下: 1制作系统流程图的过程是系统分析员全面了解系统业务处理情况的过程,它是系统分析员作进一步分析的依据。 2系统流程图是系统分析员、管理人员、业务操作人员相互交流的工具。 3系统分析员可直接在系统流程图上拟出可以实现计算机处
11、理的部分。 4可利用系统流程图来分析业务流程的合理性。 例 用系统流程图来分析下述问题。某图书馆闭架借书流程如下:读者须先验明证件后才能进入查询室。读者在查询室内通过检书卡或利用终端检索图书数据库来查找自己所需的图书。找到所需图书并填好索书单后到服务台借书。如果所借图书还有剩余,管理员将填好借书单,从库房中取出图书交于读者。图2-1 的系统流程图描述了上述系统的概貌。图中的每个符号定义了组成系统的一个部件,而并没有指明每个部件的具体工作过程。图中的箭头指定了系统中信息的流动(逻辑)路径。图2-1 图书馆借书系统流程图2.4 成本效益分析一般说来,经济效益通常表现为减少运行费用或增加收入。但是,
12、投资开发新系统往往要冒一定风险,系统的开发成本可能比预计的高,效益可能比预期的低。那么,怎样才能确定投资开发新系统在经济上是划算的呢?成本效益分析的目的是要从经济角度分析开发一个特定的新系统是否划算,从而帮助使用部门负责人正确地作出是否投资于这项开发工程的决定。成本/效益分析首先要估算待开发系统的开发成本,然后与可能取得的效益(有形的和无形的)进行比较与权衡。其中有形的效益可用货币的时间价值、投资的回收期、纯收入等指标进行度量。无形的效益主要是从性质上和心理上进行衡量,很难进行量的比较。但是无形的效益有特殊的潜在价值,且在某些情况下会转化成有形的效益。为了对比成本和效益,首先需要估计它们的数量
13、。2.4.1成本估计 为了使开发项目能够在规定的时间内完成,而且不超过预算,成本估算和管理控制是关键。成本估算是软件费用管理的核心,也是软件工程管理中最困难、最易出错的问题之一。1974年,Wolverton把成本估计方法分为5种。 Bolehm在他的著作中,进一步把它们分为7种(表2-3)。本书把主要的成本估计方法归并为自顶向下估计、由底向上估计和算法模型(algorithmic model)估计三类,下文将依次介绍并举例加以说明。 表2-3 成本估计使用的方法 R.W.Wolverton B.W.Boehm 自顶向下估计 由底向上估计 相似与差异估计法 比率估计法 标准值估计法 自顶向下估
14、计 由底向上估计 类别估计 专家判断 算法模型估计 Parkinson法 削价取胜法1.自顶向下成本估计 这类方法着眼于软件的整体。根据被开发项目的整体特性,首先估算出总的开发成本,然后在项目内部进行成本分配。因这类估计通常仅由少数上层(技术与管理)人员参加,所以属于“专家判断”的性质。这些专家依靠从前的经验,把将要开发的软件与过去开发过的软件进行“类比”,借以估计新的开发所需要的工作量和成本。自顶向下估计的缺点是,对开发中某些局部的问题或特殊困难容易低估,甚至没有考虑到。如果所开发的软件缺乏可以借鉴的经验,在估计时就可能出现较大的误差。当参加估计的专家人数较多时,可采用特尔斐(Delphi)
15、法来汇集他们的意见。特尔斐法的传统作法是:把系统定义文件或规格说明发给各位专家,各自单独进行成本估计,填入成本估计表(见图2-2)。然后由协调人综合专家意见,摘要通知大家,并开始新的一轮估计。这种估计要反复多次,直到专家们的意见接近一致为止。 项目名:* * * 日期:1/1/2001 以下是第1轮的估计值: 您的估计值 平均估计值 人-月0 20 40 60 80 100 您对下轮的估计值是 35人-月 您的理由是: 图2-2 特尔斐成本估计表2由底向上成本估计与自顶向下估计相反,由底向上估计不是从整体开始,而是从一个个任务单元开始。其具体作法是,将开发任务分解为许多子任务,子任务又分成子任
16、务,直到每一任务单元的内容都足够明确为止。然后把各个任务单元的成本估计出来,汇合成项目的总成本。由于任务单元的成本可交给各任务的开发人员去估计,得出的结果比较实际。所以,如果说自顶向下估计是 “专家路线”,则由底向上估计是“群众路线”。这种方法也有缺点。由于具体工作人员往往只注意到自己范围内的工作,对综合测试、质量管理和项目管理等涉及全局的花费可能估计不足,甚至完全忽视。因此,就会有可能使成本估计偏低。 3. 算法模型估计算法模型就是资源模型,是成本估计的又一有效工具。由于任何资源模型都是根据历史数据导出的,所以比较客观,计算结果的重复性也好(即不论什么时候使用模型,都能得出同样的结果)。模型
17、估计的关键,是要选好适用的模型。模型估计法常与自顶向下估计或由底向上估计结合使用。2.4.2费用估计 费用估算大约开始于20世纪50年代,但直到70年代以后,才引起人们的普遍重视。由于影响软件成本的因素太多(如人、技术、环境以及政治因素等),目前软件成本估算仍是一门很不成熟的技术,国内外已有的技术只能作为我们的借鉴。因此应该使用几种不同的估计技术以便相互校验。下面介绍几费用估计技术。1代码行技术 代码行技术是比较简单的定量估算方法,它把开发每个软件功能的成本和实现这个功能需要用的源代码行数联系起来。通常根据经验和历史数据估计实现一个功能需要的源程序行数。当有以往开发类似工程的历史数据可供参考时
18、,这个方法是非常有效的。一旦估计出源代码行数以后,用每行代码的平均成本乘以行数就可以确定软件的成本。每行代码的平均成本主要取决于软件的复杂程度和工资水平。 2任务分解技术 这种方法首先把软件开发工程分解为若干个相对独立的任务,再分别估计每个独立的开发任务的成本,最后加起来得出软件开发工程的总成本。估计每个任务的成本时,通常先估计完成该项任务需要用的人力(以“人月”为单位),再乘以每人每月的平均工资而得出每个任务的成本。 最常用的办法是按开发阶段划分任务。如果软件系统很复杂,由若干个子系统组成,则可以把每个子系统再按开发阶段进一步划分成更小的任务。表2-4 各阶段在生存周期中所占百分比 应该针对
19、每个开发工程的具体特点,并且参照以往的经验尽可能准确地估计每个阶段实际需要使用的人力,包括书写文档需要的人力。表2-4 给出了各阶段在生存周期中所占的百分比。 任务分解技术步骤如下:(1) 确定任务,即每个功能都必须经过需求分析、设计、编码和测试工作。(2) 确定每项任务的工作量,估算需要的人月数。(3) 找出与各项任务对应的劳务费数据,即每个单位工作量成本(元/人月)。因为各阶段的劳务费不同,需求分析和初步设计阶段需要较多的高级技术人员;而详细设计、编码和早期测试则要求较多初级技术人员,而他们的工资是不同的。(4) 计算各个功能和各个阶段的成本及工作量,然后估算总成本和总工作量。2.4.3度
20、量效益的方法 1.货币的时间价值 成本估算的目的是为了对项目投资。但投资在前,取得效益在后。因此要考虑货币的时间价值。通常用利率表示货币的时间价值。设年利率为i,现已存入P元,则n年后可得钱数为 F=P(1+i)n 这就是P元钱在n年后的价值。反之,若n年后能收入F元,那么这些钱现在的价值是 P=F/(1+i)n 例 在工程设计中用CAD系统来取代大部分人工设计工作,每年可节省9.6万元。若软件生存期为5年,则5年可节省48万元。开发这个CAD系统共投资20万元。 我们不能简单地把20万元同48万元相比较。因为前者是现在投资的钱,而后者是5年以后节省的钱。需要把5年内每年预计节省的钱折合成现在
21、的价值才能进行比较。 设年利率是5%,利用计算货币现在价值的公式,可以算出引入CAD系统后,每年预计节省的钱的价值。(参见表2-5)表2-3 货币的时间价值表2-5 货币的时间价值 年份 将来值 (万) (1+i)n 现在值 (万) 累计的现在值(万) 1 9.6 1.05 9。1429 9.1429 2 9.6 1.1025 8.7075 17.8513 3 9.6 1.1576 8.2928 26.1432 4 9.6 1.2155 7.8979 34.0411 5 9.6 1.2763 7.5219 41.5630 2投资回收期 投资回收期是衡量一个开发工程价值的经济指标。投资回收期就是积累
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 3 Lesson 15 教学设计 - 2024-2025学年冀教版八年级英语下册
- 苏少版七年级美术下册教学计划(含进度表)
- 45钢的成分与形貌
- mosfet做加法器电路
- 2025年受体激动阻断药项目合作计划书
- 山东省郯城县八年级政治下册 第五单元 热爱集体 融入社会 第11课 关心社会 亲近社会 第2框 养成亲社会行为教学实录 鲁教版
- 提升财务素养的步骤计划
- 均衡发展与多样化教学策略计划
- 2025年热固化油墨合作协议书
- 《天安门广场》(教学设计)-2024-2025学年六年级上册数学北师大版
- GB/T 3317-2006电力机车通用技术条件
- GB/T 30133-2013卫生巾用面层通用技术规范
- 二年级科学 《磁极与方向》优教
- 沥青路面病害课件
- 安全周知卡-酒精
- 《中学语文课程标准与教材研究》教学大纲
- 我国钢铁企业环境会计信息披露问题研究以宝钢为例13.26
- 测绘工程产品价格-国测财字20023号-测量费
- 罗氏试剂盒说明书 T3 11810456001V18
- 风机盘管机组巡检记录表
- 果汁加工工艺
评论
0/150
提交评论