软件工程课件:第2章 可行性分析_第1页
软件工程课件:第2章 可行性分析_第2页
软件工程课件:第2章 可行性分析_第3页
软件工程课件:第2章 可行性分析_第4页
软件工程课件:第2章 可行性分析_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章 可行性分析信息技术工程、软件工程学院信息技术工程、软件工程学院1内容:2.1 可行性研究的任务2.2 可行性研究过程2.3 系统流程图2.4 数据流图2.5 数据字典2.6 成本/效益分析2.7 小结开始问题定义可性行研究 可行否?项目实施计划 终止项目的建议结束YN问题的定义与可性行研究问题的定义与可性行研究Who 为谁设计,用户是谁?为谁设计,用户是谁?What 要解决哪些问题?要解决哪些问题?Why 为什么要解决这些问题为什么要解决这些问题 有用的软件有用的软件 3W可行性研究可行性研究目的目的:n用最小的代价在尽可能短的时间内确定问题是否能够解决。n不是解决问题,而是确定问题是

2、否值得去解决。2.1 2.1 可行性研究的任务可行性研究的任务 可行性研究的主要任务是可行性研究的主要任务是“了解客户的要求及现实了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。步项目开发计划。” 可行性研究的最根本任务可行性研究的最根本任务可行性研究的内容可行性研究的内容(1) (1) 技术可行性技术可行性(2) (2) 经济可行性经济可行性(3) (3) 操作可行性操作可行性(4) (4) 社会可行性社会可行性( (法律

3、可行性法律可行性) )(5) (5) 抉择抉择 度量一个特定技术信息系统解决方度量一个特定技术信息系统解决方案的实用性及技术资源的可用性。案的实用性及技术资源的可用性。考虑的问题考虑的问题(1)开发风险分析(2)资源分析(3)相关技术的发展(现有技术能否实现新系统,技术难点、建议采用技术的先进性) 度量系统解决方案的性能价格比。考虑的问题考虑的问题 成本成本/ /效益分析效益分析(开发、运行的成本(开发、运行的成本/ /效益)效益)n有形成本、效益n无形成本、效益 价值和成本的关系价值和成本的关系n质量与价值、成本的关系n价值/成本的均衡举例举例 1 2 3 4 5 年年604020 0成本成

4、本/ /效益效益( (万元万元) )该系统节省经费该系统节省经费该系统成本该系统成本盈亏平衡点盈亏平衡点投资回收期投资回收期 - -成本及效益分析图成本及效益分析图 用户使用可能性 时间进度可行性 组织和文化上的可行性2.2 2.2 可行性研究过程可行性研究过程1. 1. 复查系统规模和目标复查系统规模和目标2. 2. 研究目前正在使用的系统研究目前正在使用的系统3. 3. 导出新系统的高层逻辑模型导出新系统的高层逻辑模型4. 4. 进一步定义问题进一步定义问题5. 5. 导出和评价供选择的解法导出和评价供选择的解法6. 6. 推荐行动方针推荐行动方针7. 7. 草拟开发计划草拟开发计划8.

5、8. 书写文档提交审查书写文档提交审查1 1 引言引言 1.1 1.1 编写目的编写目的 1.2 1.2 背景背景 1.3 1.3 定义定义 1.4 1.4 参考资料参考资料2 2 可行性研究的前提可行性研究的前提 2.1 2.1 要求要求 2.2 2.2 目标目标 2.3 2.3 条件、假定和限制条件、假定和限制 2.4 2.4 进行可行性研究的方法进行可行性研究的方法 2.5 2.5 评价尺度评价尺度3 3 对现有系统的分析对现有系统的分析 3.1 3.1 数据流程和处理流程数据流程和处理流程 3.2 3.2 工作负荷工作负荷 3.3 3.3 费用开支费用开支 3.4 3.4 人员人员 3

6、.5 3.5 设备设备 3.6 3.6 局限性局限性4 4 所建议的系统所建议的系统 4.1 4.1 对所建议系统的说明对所建议系统的说明 4.2 4.2 数据流程和处理流程数据流程和处理流程 4.3 4.3 改进之处改进之处 4.4 4.4 影响影响 4.5 4.5 局限性局限性 4.6 4.6 技术条件方面的可行性技术条件方面的可行性5 5 可选择的其它系统方案可选择的其它系统方案 5.1 5.1 可选择的其它系统可选择的其它系统1 1 5.2 5.2 可选择的其它系统可选择的其它系统2 2 .6 6 投资及收益分析投资及收益分析 6.1 6.1 支出支出 6.2 6.2 收益收益 6.3

7、 6.3 收益收益/ /投资比投资比 6.4 6.4 投资回收周期投资回收周期 6.5 6.5 敏感性分析敏感性分析7 7 社会条件方面的可行性社会条件方面的可行性 7.1 7.1 法律方面的可行性法律方面的可行性 7.2 7.2 使用方面的可行性使用方面的可行性2.3 2.3 系统流程图系统流程图系统流程图是概括地描绘物理系统的传统工具概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号

8、和程序流程图的符号形式相同,但是它却是物理数据流图物理数据流图而不是程序流程图。基本符号基本符号 -以概括的方式抽象地描绘一个实际系统所用符号以概括的方式抽象地描绘一个实际系统所用符号 - 具体地描绘一个物理系统所用符号具体地描绘一个物理系统所用符号系统符号系统符号图图2.3 库存清单系统库存清单系统 2.4 2.4 数据流图数据流图 DFD - Data Flow Diagram一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程,是系统逻辑功能的图形表示。设计数据流图时只需考虑系统必须完成的

9、基本逻辑功能,完全不需要考虑怎样具体地实现这些功能,所以它也是今后进行软件设计的很好的出发点。数据流图四种基本符号数据流图四种基本符号数据加工/处理/变换数据源点或终点 (外部实体)数据流(data flow)数据存储文件或或或或或或数据流图几种附加符号数据流图几种附加符号为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据。底层流图是指其加工不需再做分解的数据流图,它处在

10、最底层。中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。系统逻辑模型系统逻辑模型数据的数据的加工或加工或变换变换输入输入输出输出软件软件系统系统外部实体外部实体 外部实体外部实体 外部实体外部实体外部实体外部实体 输入输入数据流数据流输入输入数据流数据流输出输出数据流数据流输出输出数据流数据流举例举例 外部实体外部实体 F1书号书号单价单价数量数量 便于实现便于实现便于使用便于使用 - - 采用逐步细化的扩展方法,可避免一采用逐步细化的扩展方法,可避免一 次引入过多的细节,有利于控制问题次引入过多的细节,有利于控制问题 的复杂度;的复杂度; - - 用一组图代替一张总图

11、,方便用户及用一组图代替一张总图,方便用户及 软件开发人员阅读。软件开发人员阅读。DFD 2.5 2.5 数据字典数据字典 - DDDD(Data DictionaryData Dictionary) 数据流图数据流图和和数据字典数据字典共同构成系统的逻辑模型共同构成系统的逻辑模型 没有数据字典数据流图就不严格,没有数据流图数据字典也难于发挥作用。 数据字典的任务是数据字典的任务是: : 对于数据流图中出现的所有对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,被命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。使得每一个图形元素的名字

12、都有一个确切的解释。数据字典的内容数据字典的内容 一般说来,数据字典应该由对下一般说来,数据字典应该由对下列列4 4类元素的定义组成:类元素的定义组成: (1) 数据流 (2) 数据流分量(即数据元素) (3) 数据存储 (4) 处理如,p47 符号符号含含 义义例例 子子2.5.4 数据字典的实现nCASE结构化分析与设计工具 (大型软件)n卡片形式/excel or record in file (小型软件)名字:别名:描述:定义:位置:例子,P492.6 2.6 成本成本/ /效益分析效益分析 成本成本/ /效益分析的目的效益分析的目的: : 从经济角度分析开发一个特定的新系统从经济角度

13、分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确是否划算,从而帮助客户组织的负责人正确地作出是否投资于这项开发工程的决定。地作出是否投资于这项开发工程的决定。2.6.1 2.6.1 成本估计成本估计 - -人力成本估计人力成本估计软件开发成本主要表现为人力消耗软件开发成本主要表现为人力消耗 ( (乘以平均工资则得到开发费用乘以平均工资则得到开发费用) )估算技术:估算技术: 1. 代码行技术代码行技术 2. 2. 任务分解技术任务分解技术 3. 3. 自动估计成本技术自动估计成本技术 代码行技术代码行技术根据经验和历史数据估计根据经验和历史数据估计实现一个功能需要的实现一个功能需

14、要的源程序行数源程序行数,用每行代码的平均成本乘以行数,用每行代码的平均成本乘以行数就可以确定软件的成本。就可以确定软件的成本。每行代码的平均成本主要取决于软件的复杂程每行代码的平均成本主要取决于软件的复杂程度和工资水平。度和工资水平。代码行技术是比较简单的定量估算方法。当有代码行技术是比较简单的定量估算方法。当有以往开发类似工程的历史数据可供参考时,这以往开发类似工程的历史数据可供参考时,这个方法是非常有效的。个方法是非常有效的。任务分解技术任务分解技术首先把软件开发工程分解为若干个相对独立的首先把软件开发工程分解为若干个相对独立的任务。任务。再分别估计每个单独的开发任务的成本,最后再分别估

15、计每个单独的开发任务的成本,最后累加起来得出软件开发工程的总成本。累加起来得出软件开发工程的总成本。估计每个任务的成本时,通常先估计完成该项估计每个任务的成本时,通常先估计完成该项任务需要用的人力任务需要用的人力( (以人月为单位以人月为单位) ),再乘以每,再乘以每人每月的平均工资而得出每个任务的成本。人每月的平均工资而得出每个任务的成本。2.6.2 2.6.2 成本成本/ /效益分析的方法效益分析的方法成本成本/ /效益分析效益分析的第一步是估计开发成本、运行费用和的第一步是估计开发成本、运行费用和新系统将带来的经济效益,然后从经济角度判断这个系新系统将带来的经济效益,然后从经济角度判断这

16、个系统是否值得投资。统是否值得投资。运行费用取决于系统的操作费用运行费用取决于系统的操作费用( (操作员人数,工作时操作员人数,工作时间,消耗的物资等间,消耗的物资等) )和维护费用。和维护费用。系统的经济效益等于因使用新系统而增加的收入加上使系统的经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。用新系统可以节省的运行费用。注意:注意:总的效益和生命周期的长度有关,所以应该合理地估计软件的寿命。投资是现在进行的,效益是将来获得的,不能简单地比较成本和效益,应该考虑货币的时间价值。 成本成本/ /效益分析使用的几个概念效益分析使用的几个概念 1.1.货币的时间价值货币的时间

17、价值 通常用利率表示货币的时间价值。设年利率为通常用利率表示货币的时间价值。设年利率为i,现,现已存入已存入P元,则元,则n年后可得钱数为年后可得钱数为 F=P(1+i)n 这就是这就是P元钱在元钱在n年后的价值。反之,若年后的价值。反之,若n年后能收年后能收入入F元,那么这些钱现在的价值是元,那么这些钱现在的价值是 P=F/(1+i)n 2. 2.投资回收期投资回收期 投资回收期是衡量一个开发工程价值的经济指标。投资回收期是衡量一个开发工程价值的经济指标。投资回收期就是积累的经济效益等于最初的投资所需要投资回收期就是积累的经济效益等于最初的投资所需要的时间。投资回收期越短,就能越快获得利润。的时间。投资回收期越短,就能越快获得利润。成本成本/ /效益分析使用的几个概念:效益分析使用的几个概念: 3.3.纯收入纯收入 工程的纯收入是衡量工程价值的另一项经济指标。工程的纯收入是衡量工程价值的另一项经济指标。纯收入就是在整个生存周期之内系统的累计经济效益纯收入就是在整个生存周期之内系统的累计经济效益(折合成现在值)

温馨提示

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

评论

0/150

提交评论