可行性分析与初步计划.ppt_第1页
可行性分析与初步计划.ppt_第2页
可行性分析与初步计划.ppt_第3页
可行性分析与初步计划.ppt_第4页
可行性分析与初步计划.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2020/8/30,1,第4章 可行性分析与初步计划,4.1 可行性分析的任务 4.2 可行性分析的步聚 4.3 系统流程图 4.4 数据流图 4.5 成本/效益分析 4.6 项目开发计划,2020/8/30,2,可行性分析的目的,软件工程项目多为复杂的大型系统工程,在没有明确问题是否有行之有效的解决方案之前,贸然行事,有可能造成时间、人力、财力、物力的巨大浪费。 可行性分析目的在于使用最小的代价,在尽可能短的时间内得出软件项目是否能够开发、是否值得开发的结论。 可行性研究的目的不是解决问题,而是确定问题是否值得去解决,有没有解决的可能性。这不能靠主观猜想!,2020/8/30,3,可行性研究

2、的任务,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否值得投资。 实质上,可行性研究是要进行一次大大压缩简化了的系统分析和设计的过程 也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。,2020/8/30,4,可行性研究的任务,首先概要分析研究,进一步分析和澄清问题定义。复查初步确定的规模和目标,如果有误要加以修正;同时要收集约束和限制,并清楚地列举出来。 在澄清了问题定义之后,分析员应进行简要的需求分析,导出系统的逻辑模型。 再从系统逻辑模型出发,探索若几种可供选择的设计和实施方案。 编写可行性研究报告。,2020/8/30,5

3、,可行性研究的四个方面:,对每种方案都应该仔细研究它的可行性,一般说来,至少应该从四方面研究其可行性: 技术可行性; 经济可行性; 操作可行性; 社会可行性;,2020/8/30,6,1. 技术可行性,分析项目的功能、性能和限制条件,确定在现有的技术、资源条件下,该项目是否可实现? 因为现阶段对项目的功能、目标、性能认识相对模糊,所以,技术可行性分析相对困难,一般应考虑以下情况:,2020/8/30,7,技术可行性一般考虑的情况:,开发的风险就限制和约束条件下,能否按功能设计并实现该软件系统; 资源的有效性包括人在内的相关资源是否有问题; 技术现有成熟技术是否支持,是否存在技术攻关的环节;,2

4、020/8/30,8,2. 经济可行性,估算开发成本与费用,预测系统动行可取得的未来效益,明确项目是否值得开发; 一般要进行“成本/效益分析”,计算出投资回收期、投资回收率等,2020/8/30,9,3. 操作可行性,操作方面的可行性 分析员应该根据使用部门处理事务的原则和习惯检查技术上可行的那些方案,去掉其中从操作方式或操作过程的角度看用户不能接受的方案。,2020/8/30,10,4. 社会可行性,必要时还应该从法律、社会效益等更广泛的方面研究每种方案的可行性。 要开发的项目是否存在侵权、妨碍等社会责任问题;系统运行方式在用户组织内是否行得通;现有的管理制度、人员素质、操作方式是否可行;

5、社会可行性所涉及的范围比较广,包括合同、责任、侵权、用户组织的管理模式及规范,其他一些技术人员常常不了解的陷阱等。,2020/8/30,11,可行性研究的任务归纳,可行性研究最根本的任务是对以后的行动方针提出建议。 如果问题没有可行的解,分析员应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费;如果问题值得解,分析员应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。 可行性研究需要的时间长短取决于工程的规模。一般说来,可行性研究的成本只是预期的工程总成本的5%10%。,2020/8/30,12,可行性研究的任务归纳,不可行,用户提出的开发意向,有可行方案,拟定几个 可行方案;

6、 并推荐一个最优方案,推荐行动方针,给出关键性决定:即该项目值不值得做?,草拟开发计划;资原需求;开发工期和下一点工作要点,提交可行性报告供审核,经济 技术 社会(操作),2020/8/30,13,2.2 可行性研究具体步骤(过程),1. 审查项目规模和目标 2. 研究目前正在运行的系统 3. 导出新系统的高层逻辑模型,进一步定义问题 4. 导出和评价供选择的方案,推荐较优方案 5. 推荐行动方针 6. 草拟开发计划 7. 书写可行性报告,提交审查,2020/8/30,14,1. 审查系统规模和目标,分析员访问关键人员,阅读和分析有关的材料,对问题定义阶段书写的关于规模和目标的报告书进一步复查

7、确认,改正含糊或不确切的叙述,清晰地描述对目标系统的一切限制和约束。 这个步骤的工作,实质上是为了确保分析员正在解决的问题确实是要求他解决的问题(明确问题)。,2020/8/30,15,2. 研究目前正在使用的系统,调查原有系统的功能和存在的问题,使用维护成本和经济效益 一方面,新软件系统必须也能完成现在系统的基本功能;另一方面,新软件系统必须克服现行系统的欠缺; 阅读分析现有系统的文档资料和使用手册,也要实地考察现有的系统。 这个步骤的目的是了解现有系统能做什么、为什么这么做,而不是了解它怎样做这些工作。,2020/8/30,16,3. 导出新系统的高层逻辑模型,优秀的设计过程通常总是从现有

8、的物理系统出发,导出现有系统的逻辑模型,再参考现有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。 分析员对目标系统应该具有的基本功能和所受的约束已有一定了解,能够使用数据流图,描绘数据在系统中流动和处理的情况,从而概括地表达出他对新系统的设想。 必要时,还应该有一个初步的数据字典,定义系统中使用的数据。数据流图和数据字典共同定义了新系统的逻辑模型,以后可以从这个逻辑模型出发设计新系统。 强调用户参与了解与分析。,2020/8/30,17,5. 导出和评价供选择的(可行方案)解法,分析员应该从逻辑模型出发,导出若干个较高层次的(较抽象的)物理解法,进行可行性

9、分析,供比较和选择。 (1)考虑技术可行性 (2)考虑操作方面的可行性 (3)考虑经济可行性 (4)考虑社会可行性,2020/8/30,18,6. 推荐行动方针,根据可行性研究结果应该做出的一个关键性决定,是否继续进行这项开发工程。 分析员必须明确给出建议。如果分析员认为值得继续进行这项开发工程,那么他应该选择一种最好的解法,并且说明选择这个解决方案的理由。 通常使用部门的负责人主要根据经济上是否划算决定是否投资于一项开发工程,因此分析员对于所推荐的系统必须进行比较仔细的成本/效益分析。,2020/8/30,19,7. 草拟开发计划,最后为每个在技术、操作、经济、社会等方面都可行的推荐方案草拟

10、一份开发计划,制定实现进度表 这个进度表不需要(也不可能)制定得很详细,该通常只需要估计生命周期每个阶段的工作量、对各类开发人员和各种资源的需要情况,指明什么时候使用以及使用多长时间。,2020/8/30,20,8. 书写文档提交审查(可行性研究报告),将上述可行性研究结果写成清晰的文档,请用户、客户组织的负责人及评审组审查,以决定是否继续这项工程及是否接受分析员推荐的方案。,2020/8/30,21,可行性报告的主要内容,1 引言 说明编写文档的目的;项目名称、背景;本文档用到的专门术语和参考资料; 2 可行性研究前提 说明目标系统的功能、性能和基本要求;各种限制;可行性研究的方法和决定可行

11、性的主要因素; 3 对现行系统的分析 处理流程、数据流程;工作负荷;费用支出;所需各类专业技术人员和数量;所需设备;现行系统存在的问题;,2020/8/30,22,可行性报告的主要内容,4. 对推荐系统的技术可行性分析 所推荐系统的简要说明;处理流程、数据流程;与现行系统比较的优势;对用户的影响;对运行环境的影响;对经费的影响;对技术可行性进行评夜价。 5. 对推荐系统的经济可行性分析 列也成本/效益分析结果,包括投资回收期等。,2020/8/30,23,可行性报告的主要内容,6. 社会因素可行性分析 说明当律因素,对合同责任、侵权、版本等问题的分析;说明用户使用可行性,是否适应用户行政管理、

12、工作制作、人员素质的要求。 7. 其他可供选择的方案 逐一说明其他可供选择的方案,并说明未被推荐的理由。 8. 结论 说明项目是否可以往下进行;还需要什么条件或目标调整。,2020/8/30,24,第4章 软件项目可行性分析与初步计划,4.1 可行性分析的任务 4.2 可行性分析的步聚 4.3 系统流程图 4.4 数据流图 4.5 成本/效益分析 4.6 项目开发计划,2020/8/30,25,系统流程图示例,图描述的是一个仓储业务的一部分。 出库或入库事务,都会引起库存量的变化,需要修改库存文件中的库存量。 在办理出入/库业务时,若发现某种物资缺货或低于安全储备量,就要生成缺货记录。 对于缺

13、货记录,要定期统计、报告,以供采购部门制定采购计划参考。,2020/8/30,26,重点理解,系统流程图是借鉴绘制程序流程图的做法,来描述系统结构流程的一种传统的软件工程工具。 它的基本思想是用图形符号,以黑盒子形式代表系统中的每一个部件(如程序,文件,数据库,表格,人工过程等),以流程线来表示数据在系统中被传递、处理的路径,最终以流程图的形式给出系统的概貌。,2020/8/30,27,重点理解,从软件工程的两个层次来看,传统的方法论在处理微观的“程序结构”问题时,用的是“程序流程图”,解决宏观的“软件系统结构”时,则用的是“系统流程图”。 它们都有一个共同的特点,就是它们都是基于处理流程的。

14、但“程序流程图”表示的是程序的指令控制流程,而“系统流程图”仅表示系统运行流程,不表示控制信息。,2020/8/30,28,系统流程图符号,2020/8/30,30,绘制方法,2020/8/30,31,绘制方法,注意图4-2是如何抽象、概括地描述这个物理系统的。 图中每个符号代表了组成系统的一个部分,然而并没有指明每个部分的具体内部处理细节。 图中箭头表示信息流转的路径或流程。 注意这同程序流程图的区别:表达的是软件系统的宏观的系统结构,而不是程序结构;没有控制结构,不存在判断分支和控制循环结构。 系统流程图的习惯画法是使信息在图中从上向下,从左向右流动。 系统流程图不但通过“流程”考虑了系统

15、的信息处理和流转的逻辑,同时也通过“形象的符号”表达了系统构成的具体物理形态。,2020/8/30,32,4. 分层,面对复杂的系统时,一个比较好的方法是分层次地描绘这个系统。 首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。 然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。 这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。,2020/8/30,33,第4章 软件项目可行性分析与初步计划,4.1 可行性分析的任务 4.2 可行性分析的步聚 4.3 系统流程图 4.4 数据流图 4.5 成本/效益分析 4.6 项目开发计划,202

16、0/8/30,34,4.4 数据流图,4.4.1 基本符号 4.4.2 绘制方法 4.4.3 数据流图的用途,(1)外部实体: 表示本系统之外的人或单位,他们与本系统有信息传递关系。(本子系统之外的部门或人员也都当作外部实体) (2)数据流: 用来表示有向传递的数据。(可以是一个/一组数据) (3)处理过程: 简称为处理或加工。表示对数据的变换或计算。由于处理含义复杂,通常加上信息注释,对处理过程做简单说明 (4)数据存储: 当前系统的账本、数据文件或档案资料等,1. 基本符号,2.数据流图的绘制,(1)自顶向下、逐步分解的方法 分解过程: 1. 画出顶层数据基本的输入/处理/输出(IPO)关

17、系 2. 基本分解把系统分解成基本的I、P和O,与外部实体建立联系 3. 细化逐步分解、细化每一个“处理过程” 按照结构化分析方法的基本思想,就是要从系统的基本模型(把整个系统看成是一个业务内容)开始,逐层地对系统进行分解。每分解一次,系统的数据“处理过程”就增多一些,每个“处理过程”的功能也就更具体一些。继续不断地进行这种分解,直到把所有的“处理过程”都分解得足够简单为止。,2.数据流图的绘制(1)自顶向下、逐步分解的方法,画出顶层数据基本的输入/处理/输出(IPO)关系 基本分解外部实体分别与系统分解的基本I/O“处理”建立联系,2.数据流图的绘制(自顶向下、逐步分解的方法),细化采购管理

18、的“处理过程”,2.数据流图的绘制(自顶向下、逐步分解的方法),2020/8/30,40,数据流图用途,在调研阶段,分析师常用系统流程图表达他对现有系统的认识,这种描绘方法形象具体,容易验证它的正确性。 但是用系统流程图描绘一个系统时,系统的功能和实现每个功能的具体方案是混在一起的,不便于集中对系统的逻辑功能进行分析和设计。 所以,分析师希望以另一种方式进一步总结现有的系统,这种方式应该着重描绘系统所完成的逻辑功能,而暂时忽略系统的物理实现方案。数据流图是实现这个目标的极好手段。,2020/8/30,41,数据流图用途,利用数据流图建立系统模型,便于交流与沟通。 由于在数据流图中通常仅使用四种

19、基本符号,而且不包含任务有关物理实现的细节,因此,绝大多数据用户都可以理解和评价它。 分析师把他对现有系统的认识或对目标系统的设想用数据流图描绘出来,需要与用户共同审查对系统功能和目标的理解,指在达成共识、形成规约。,2020/8/30,42,数据流图用途,在可行性分析过程中,不仅要研究系统的逻辑模型,还要研究系统的不同物理实现方案。 实际上,对方案可行性分析的过程就是一个简化了的系统分析与设计过程。物理实现方案的设计,可以从数据流图出发,按照数据发生、传输和被加工的规律,或系统各部分运行的自动化程度不同,规划出若干实现方案。,2020/8/30,43,数据流图用途,在需求分析阶段,数据流图还

20、将被进一步细化。数据流图和数据字典,以及相关文档,是构成需求分析说明书的主要内容。在概要设计阶段,要根据数据流图设计系统的模块化功能结构。总之,数据流图是结构化方法进行需求分析与表述的主要建模工具。,2020/8/30,44,4.5 成本/效益分析,开发一个软件系统是一种投资,期望将来获得更大的经济效益。 经济效益通常表现为减少运行费用或(和)增加收入。但是,投资开发新系统往往要冒一定风险,系统的开发成本可能比预计的高,效益可能比预期的低。 效益分析的目的正是要从经济角度分析开发一个特定的新系统是否划算,帮助用户正确地作出是否投资于该项目的决定。 这需要进行成本估算和效益分析,2020/8/3

21、0,45,4.5.1 成本估算,软件开发成本主要表现为人力消耗(工资费用)。 成本估计不是精确的科学,因此应该使用几种不同的估计技术以便相互校验。下面简单介绍3种估算技术。 1. 基于问题分解的技术 代码行技术 功能点技术 2.过程分解 自动估计成本技术,2020/8/30,46,1. 基于问题分解的技术,基于问题分解法 问题分解法常使用“代码行”和“功能点”相结合的方法估算软件规模。首先根据项目规模,大致测算出软件项目可能达到的各种组成成份的量,如输入、输出、数据文件、查询等,或者是子系统、模块、屏幕、报表、对象等,然后对照查询历史数据,推算出实现这些功能或成份大约需要的代码行。 不管使用哪

22、一种方法,都应该估算三个值,即一个乐观值,一个可能值和一个悲观值,最后的期望值,可用这三种估算值的加权平均得到:,2020/8/30,47,2020/8/30,48,2. 基于过程分解技术,典型环境下各个开发阶段需要使用的人力的百分比大致如表所示。,2020/8/30,49,3. 自动估计成本技术,采用自动估计成本的软件工具可以减轻人的劳动,并且使得估计的结果更客观。 但是,这种技术必须有长期搜集的大量历史数据为基础,需要有良好的数据库系统支持。,2020/8/30,50,4.5 成本/效益分析,4.5.1 成本估计 4.5.2 成本/效益分析的方法,2020/8/30,51,4.5.2 成本

23、/效益分析的方法,成本/效益分析的第1步,除了估计开发成本外,还要估算运行费用和新系统将带来的经济效益。 这需要从下面两方面考虑: 1、估算费用和软件寿命 2、考虑货币的时间价值 经济效益分析的常用指标有: 3、投资回收期 4、纯收入 5、投资回收率,2020/8/30,52,1. 估算费用和软件寿命,运行费用取决于系统的维护费用和操作费用(操作员人数,工作时间,消耗的物资等) 系统的经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。 因为运行费用和经济效益两者在软件的整个生命周期内都存在,总的效益与生命周期的长度有关,所以还要合理地估计软件的寿命。,2020/8/30,5

24、3,1. 估算费用和软件寿命,软件寿命一般按5年计算 虽然许多系统在开发时预期生命周期长达10年以上,但是时间越长系统被废弃的可能性也越大,为了保险起见,以后在进行成本/效益分析时一律假设生命周期为5年。,2020/8/30,54,2、考虑货币的时间价值,“成本”与“效益”两者在时间点上是不一致的:投资是现在进行的,效益是将来获得的,不能简单地比较成本和效益,应该考虑货币的时间价值,2020/8/30,55,2、考虑货币的时间价值,通常用利率的形式表示货币的时间价值 (1)终值法:F=P(1+i)n 设年利率为i,如果现在存入P元,则n年后可得到的钱数为F。 此为终值公式 P是现值,F是终值,

25、即P元钱在n年后的价值。 (2)现值法: 反之,如果n年后能收入F元钱,那么这些钱的现在价值是F,此为贴现公式,2020/8/30,56,例子,例如,修改一个已有的库存清单系统,使它能在每天送给采购员一份定货报表。 编写产生报表的程序,估计共需5000元;系统修改后能及时定货将消除零件短缺问题,估计因此每年可以节省2500元,5年共可节省12500元。 不能简单地把5000元和12500元相比较,因为前者是现在投资的钱,后者是若干年以后节省的钱累积。,2020/8/30,57,利用帖现法:,假定年利率为12%,利用上面计算货币现在价值的公式可以算出修改库存清单系统后每年预计节省的钱的现在价值,

26、如表所示。,2020/8/30,58,3. 投资回收期法,通常用投资回收期衡量一个开发项目的价值; 所谓投资回收期就是使累计的经济效益等于最初投资所需要的时间。 显然,投资回收期越短就能越快获得利润,因此这项工程也就越值得投资。,2020/8/30,59,3. 投资回收期法,从上表看,该项目的投资回收期是3年。 投资回收期仅仅是一项经济指标,为了衡量一项开发工程的价值,还应该考虑其他经济指标。,2020/8/30,60,4. 纯收入法,衡量工程价值的另一项经济指标是纯收入,即在整个生命周期之内系统的累计经济效益(折合成现在值)与期初投资之差。 这相当于比较投资开发一个软件系统与把钱存在银行中(

27、或贷给其他企业)这两种方案的优劣。 如果纯收入为零,则工程的预期效益和在银行存款一样,但是开发一个系统要冒风险,因此从经济观点看这项工程可能是不值得投资的。 如果纯收入小于零,那么这项工程显然不值得投资。 如果纯收入小于银行存款的本利和,就认为不合算。,2020/8/30,61,5. 投资回收率法,投资回收率(每年收回的比率),用它衡量投资效益的大小,并且可以把它和年利率相比较,在衡量工程的经济效益时,它是最重要的参考数据。,2020/8/30,62,5. 投资回收率法,反应投资回收的快慢 当n年可以正好收回全部投资时, 投资回收率=每年收益额/本金,2020/8/30,63,第4章 软件项目可行性分析与初步计划,4.1 可行性分析的任务 4.2 可行性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论