软件工程 复习资料(2)
主要内容
可行性、可行性研究的含义
可行性研究的目的
可行性研究的任务
可行性研究的步骤
可行性分析的描述手段
成本/效益分析
要求:
(1)识记:可行性研究的任务及步骤,数据流图及数据字典的描述方法
(2)领会:成本效益分析的方法。
一、 可行性研究-含义
可行性研究又称为可行性分析,可行性分析的对象是系统目标。评价总体方案(系统目标)的可能性、必要性。
可行性研究的含义,就是按照各种有效的方法和工作程序,对拟建工程项目在技术上的先进性、适用性,经济上的合理性、盈利性,以及项目的实施等方面进行深入的系统分析。
二、 可行性研究-目的
可行性研究的目的:要用最小的代价在最短的时间内确定该项目是否值得去解决,是否存在可行的解决方案。
三、 可行性研究--任务
可行性研究的任务:
1)技术可行性研究
2)经济可行性研究
3)操作可行性研究
4) 社会、政策允许的可行性
5) 开发方案的选择
五、可行性分析的描述手段
(一)、系统流程图(SFD)
进行可行性分析时,通常用系统流程图来描述所要开发的系统。
系统流程图实质上是物理数据流图,它描绘组成系统的主要物理元素以及信息在这些元素间流动和处理的情况。
(二)、数据流图(DFD)
也可以用数据流图(DFD) 来对系统进行描述。
通常数据字典和数据流图共同构成系统的逻辑模型。
六、成本/效益分析
(一)影响成本估算的因素
1、软件人员的业务水平 软件人员的素质、经验、掌握知识的不同,在工作中表现出很大的差异。
2、开发所需时间
显然,开发时间越长成本越高。
3、软件开发技术水平
指开发方法、工具、语言等,技术水平越高,效率越高。
4、软件可靠性要求
一般可靠性要求愈高,成本愈高。
5、软件产品的规模及复杂度
规模:按YOURDON分类法将软件产品的规模分为微型,小型,中型,大型,超大型,极大型。
复杂性:应用程序, 实用程序,系统程序分别由低到高排列。
(二)软件成本估计技术
常用的估算方法:
基于已经完成的类似项目进行估算,这是一种常用的也是有效的估算方法
基于分解技术进行估算
问题分解是将一个复杂问题分解成若干个小问题,通过对小问题的估算得到复杂问题的估算
过程分解指先根据软件开发过程中的活动(分析、设计、编码、测试等)进行估算,然后得到整个项目的估算值。
基于经验估算模型的估算。典型的经验估算模型有IBM估算模型、CoCoMo模型和Putnam模型。
(三)效益度量的方法
1.货币的时间价值
2.投资回收期
3.纯收入
4.投资回收率