第2章 可行性研究(2.3-2.6)
合集下载
第02章-可行性研究课件
概要设计 详细设计
系统设计
编码和单元测试 综合测试来自系统实现运行维护
第02章-可行性研究
问题定义阶段
目的:弄清用户需要计算机解决的问题根本所在,以及项目所需的资源 和经费。
任务:在向用户调查的基础上,编写《关于系统规模和目标的报告书 》。 例:教材销售系统 • 学生购买学校教材的手续可能是:先找系办公室开购书申请(用于确
定学生可购买的书),凭申请找教材科开购书证明(确定是否卖完), 向出纳员交付书款获得领书单,然后到书库找保管员领书。
第02章-可行性研究
关于系统规模和目标的报告书
1.项目名称:教材销售系统 2.问题:人工发售教材手续繁杂,且易出错。 3.项目目标:建立一个高效率、无差错的微机教材销售系统
。 4. 项 目 规 模 : 利 用 现 有 微 型 计 算 机 , 软 件 开 发 费 用 不 超 过
4 所建议的系统 4.1 对所建议系统的说明 4.2 数据流程和处理流程 4.3 改进之处 4.4 影响 4.5 局限性 4.6 技术条件方面的可行 性
第02章-可行性研究
可行性研究报告的编写
5 可选择的其它系统方案 5.1 可选择的其它系统1 5.2 可选择的其它系统2
......
7 社会条件方面的可行性 7.1 法律方面的可行性 7.2 使用方面的可行性
本吗? • 操作可行性,系统的操作方式在这个用户组织内行得
通吗? 其他方面: • 法律(社会)可行性,系统是否侵犯他人、集体或国家的
利益,是否违反法律?
第02章-可行性研究
• 分析员应该为每个可行的解法制定一个粗略的实现进 度。
• 如果问题没有可行的解,分析员应该建议停止这项开 发工程,以避免时间、资源、人力和金钱的浪费;如 果问题值得解,分析员应该推荐一个较好的解决方案, 并且为工程制定一个初步的计划。
第2章可行性研究(1)课件
• 目标系统可以用系统流程图来描述,并附上重要的数据流 图作为补充。
第2章可行性研究(1)
可行性论证报告大纲
• 可行性分析
包括目标系统在经济、技术、法律上的可行性,以 及对建立目标系统的主观、客观条件的分析。如有不 只一种解决方案,对可选择方案逐一说明,并说明没 有选中的理由,指明推荐的方案。
• 结论意见
表示输入或输出(或既是输入又是 输出),是一个广义的不指明具体 设备的符号
指出转到图的另一部分或从图的另 一部分转来,通常在同一页上
指出转到另一页图上或由另一页图 转来
用来连接其他符号,指出数据流动 方向 第2章可行性研究(1)
系统符号(具体描述系统)
穿孔卡片,表示卡片输入或输出
文档,常表示打印输出 磁带,磁带输入或输出 联机存储
第2章可行性研究(1)
问题定义的内容
• 问题的背景 • 开发系统的现状 • 开发的理由和条件 • 开发系统的问题要求、总体要求 • 问题的性质、类型范围 • 要实现的目标 • 系统规模 • 实现目标的方案 • 开发的条件、环境要求
第2章可行性研究(1)
问题定义的步骤
• 深入现场 • 阅读用户书写的书面报告 • 听取用户对开发系统的要求 • 调查开发系统的背景理由 • 与用户负责人反复讨论,澄清模糊的地方,改正不正确的地方。
第2章可行性研究(1)
问题定义报告
• 系统分析员对用户提出的问题有了明确的认识后, 应该整理出一份书面调查报告---问题定义报告 (系统开发任务书),并提交用户和部门负责人 进行审查
• 应包括项目名称、开发背景、项目目标、项目范 围、初步设想等内容 。
第2章可行性研究(1)
问题定义报告
项目:教材销售系统
第2章可行性研究(1)
可行性论证报告大纲
• 可行性分析
包括目标系统在经济、技术、法律上的可行性,以 及对建立目标系统的主观、客观条件的分析。如有不 只一种解决方案,对可选择方案逐一说明,并说明没 有选中的理由,指明推荐的方案。
• 结论意见
表示输入或输出(或既是输入又是 输出),是一个广义的不指明具体 设备的符号
指出转到图的另一部分或从图的另 一部分转来,通常在同一页上
指出转到另一页图上或由另一页图 转来
用来连接其他符号,指出数据流动 方向 第2章可行性研究(1)
系统符号(具体描述系统)
穿孔卡片,表示卡片输入或输出
文档,常表示打印输出 磁带,磁带输入或输出 联机存储
第2章可行性研究(1)
问题定义的内容
• 问题的背景 • 开发系统的现状 • 开发的理由和条件 • 开发系统的问题要求、总体要求 • 问题的性质、类型范围 • 要实现的目标 • 系统规模 • 实现目标的方案 • 开发的条件、环境要求
第2章可行性研究(1)
问题定义的步骤
• 深入现场 • 阅读用户书写的书面报告 • 听取用户对开发系统的要求 • 调查开发系统的背景理由 • 与用户负责人反复讨论,澄清模糊的地方,改正不正确的地方。
第2章可行性研究(1)
问题定义报告
• 系统分析员对用户提出的问题有了明确的认识后, 应该整理出一份书面调查报告---问题定义报告 (系统开发任务书),并提交用户和部门负责人 进行审查
• 应包括项目名称、开发背景、项目目标、项目范 围、初步设想等内容 。
第2章可行性研究(1)
问题定义报告
项目:教材销售系统
《软件工程》第2章 可行性研究-大纲
第二章可行性研究
2.1 可行性研究的目标与任务
2.1.1 目标:用最小的代价和尽可能短的时间判断问题是否值得去解?
2.1.1 任务:
——技术可行性
——经济可行性
——操作可行性
——社会可行性
2.2 可行性研究过程
(1)复查系统规模与目标
(2)研究目前正在使用的系统
(3)导出新系统的高层逻辑模型
(4)导出与评价各种方案
(5)推荐行动方针
(6)草拟开发计划
(7)书写文档提交审查——《可行性研究报告》
2.3 可行性研究工具
——
系统流程图:表达数据在系统各部件之间流动的情况
程序流程图:对数据进行加工处理的控制过程
2.4 成本/效益分析:从经济角度评价开发一个新的软件工程项目是否可行
——成本估计
……代码行技术
……任务分解技术
……自动估计成本技术
——效益分析:有形效益,无形效益
——常用的效益度量方法
……货币的时间价值
……投资回收期
……纯收入
1。
软件工程-第2章
下面给出第2.4节的例子中几个数据元素的数据字典 卡片,以具体说明数据字典卡片中上述几项内容的含义。
第2章可行性研究 2.5.4 数据字典的实现
2.5 数据字典
34
第2章可行性研究 2.5.4 数据字典的实现
主要内容
35
2.1 可行性研究的任务 2.2 可行性研究过程 2.3 系统流程图 2.4 数据流图 2.5 数据字典 2.6 成本/效益分析
正方形表示数据的源点或终点 圆角矩形代表变换数据的处理 开口矩形代表数据存储
箭头表示数据流,即特定数据的流 动方向
第2章可行性研究
2.4 数据流图
2.4 数据流图
15
2.4.2 例子
以简单例子说明怎样画数据流图
假设一家工厂的采购部每天需要一张订货报表,报表按零件编 号排序,表中列出所有需要再次订货的零件。对于每个需要再 次订货的零件应该列出下述数据:零件编号,零件名称,订货 数量,目前价格,主要供应者,次要供应者。零件入库或出库 称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。 当某种零件的库存数量少于库存量临界值时就应该再次订货。
如右图所示。
第2章可行性研究
2.3.2 例子
主要内容
13
2.1 可行性研究的任务 2.2 可行性研究过程 2.3 系统流程图 2.4 数据流图 2.5 数据字典 2.6 成本/效益分析
第2章可行性研究
2.4 数据流图
2.4 数据流图
14
概念:
数据流图(DFD)是一种图形 化技术,它描绘信息流和 数据从输入移动到输出的 过程中所经受的变换。
第2章可行性研究 2.5.2 定义数据的方法
2.5 数据字典
31
2.5.3 数据字典的用途
第2章可行性研究 2.5.4 数据字典的实现
2.5 数据字典
34
第2章可行性研究 2.5.4 数据字典的实现
主要内容
35
2.1 可行性研究的任务 2.2 可行性研究过程 2.3 系统流程图 2.4 数据流图 2.5 数据字典 2.6 成本/效益分析
正方形表示数据的源点或终点 圆角矩形代表变换数据的处理 开口矩形代表数据存储
箭头表示数据流,即特定数据的流 动方向
第2章可行性研究
2.4 数据流图
2.4 数据流图
15
2.4.2 例子
以简单例子说明怎样画数据流图
假设一家工厂的采购部每天需要一张订货报表,报表按零件编 号排序,表中列出所有需要再次订货的零件。对于每个需要再 次订货的零件应该列出下述数据:零件编号,零件名称,订货 数量,目前价格,主要供应者,次要供应者。零件入库或出库 称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。 当某种零件的库存数量少于库存量临界值时就应该再次订货。
如右图所示。
第2章可行性研究
2.3.2 例子
主要内容
13
2.1 可行性研究的任务 2.2 可行性研究过程 2.3 系统流程图 2.4 数据流图 2.5 数据字典 2.6 成本/效益分析
第2章可行性研究
2.4 数据流图
2.4 数据流图
14
概念:
数据流图(DFD)是一种图形 化技术,它描绘信息流和 数据从输入移动到输出的 过程中所经受的变换。
第2章可行性研究 2.5.2 定义数据的方法
2.5 数据字典
31
2.5.3 数据字典的用途
软件工程导论
2.5.1 数据字典的内容
一般说来,数据字典应该由对下列4类元素的定义 组成: (1) 数据流 (2) 数据流分量(即数据元素) (3) 数据存储 (4) 处理 但是,对数据处理的定义用其他工具(如IPO图或 PDL)描述更方便,因此本书中数据字典将主要由 对数据的定义组成,这样做可以使数据字典的内容 更单纯,形式更统一。
仓库
零 库存量 件 临界值
变化
库存清单
XX : ———— ———— XX : ———— …………
定货报告 库存 < 临界值
图2.3 库存清单系统的系统流程图
图2.3的系统流程图描绘了上述系统的概貌。 图中每个符号用黑盒子形式定义了组成系统 的一个部件,然而并没有指明每个部件的具 体工作过程;图中的箭头确定了信息通过系 统的逻辑路径。 系统流程图的习惯画法是使信息在图中从顶 向下或从左向右流动。
第2章 可行性研究
2.1 2.2 2.3 2.4 2.5
可行性研究的任务 可行性研究过程 系统流程图 数据流图 数据字典
2.6 成本/效益分析 2.7 小结 习题
2.1 可行性研究的任务
1、目的:确定问题是否值得去解决。 2、怎样达到这个目的呢?当然不能靠主观猜想而只 能靠客观分析。必须分析几种主要的可能解法的利 弊,从而判断原定的系统规模和目标是否现实,系 统完成后所能带来的效益是否大到值得投资开发这 个系统的程度。因此,可行性研究实质上是要进行 一次大大压缩简化了的系统分析和设计的过程,也 就是在较高层次上以较抽象的方式进行的系统分析 和设计的过程。
2.5 数据字典
数据字典是关于数据的信息的集合,也就是对数据 流图中包含的所有元素的定义的集合。 任何字典最主要的用途都是供人查阅对不了解的条 目的解释,数据字典的作用也正是在软件分析和设 计的过程中给人提供关于数据的描述信息。 数据流图和数据字典共同构成系统的逻辑模型,没 有数据字典数据流图就不严格,然而没有数据流图 数据字典也难于发挥作用。只有数据流图和对数据 流图中每个元素的精确定义放在一起,才能共同构 成系统的规格说明。
软件工程导论 第2章 可行性研究
共四十九页
主要 内容 (zhǔyào)
可行性研究目的(mùdì) 可行性研究任务 可行性研究过程 可行性研究成果 系统流程图
2- 4
共四十九页
可行性研究的目的(mùdì)
事实依据:许多问题难以在预定的规模或时间 内解决,如果无可行方案,投入的资源和成本 都是无谓(wúwèi)的浪费。
北京某高校可用的电话号码有以下几类:
校内电话号码由4位数字组成,第1位数字不是0;
校外电话又分为本市电话和外地电话两类,拨校外电话需先 拨0,
若是本市电话则再接着拨8位数字(第1位不是0),
2- 25
数据流图
要点注意:
当进一步分解将涉及到如何具体实现一个功能时,就不应该 再分解了。
分层细化必须保持信息连续性。即:当把一个处理分解为一系 列的处理时,分解前和分解后的输入输出数据流必须相同。
注意对处理的编号问题。
例如:对处理1 的分解应该编号为1.1,1.2等;对1.1的进一步分解应该命
定货报告 打印部件
2- 17
共四十九页
系统 流程图 (xìtǒng)
画法
习惯上信息在图中从顶向下或从左向右流动 可以在图上加注释,注释较多时,可以另外加一个
文档来进行解释 复杂系统可以用分层方法来表示(biǎoshì)
首先用一张高层次的系统流程图描绘系统总体概貌,表 明系统的关键功能
每个关键功能扩展到适当的详细程度,画在单独的一 页纸上
保持与顶层数据流的一致; 可以不引入数据源和数据潭。
共四十九页
C、引入文件,使之形成一个有机整体—系统:
销售的商品
销售文件
1 录入、修改(xiūgǎi)或 删除商品信息
销售情况
3 查询商品销售情况
主要 内容 (zhǔyào)
可行性研究目的(mùdì) 可行性研究任务 可行性研究过程 可行性研究成果 系统流程图
2- 4
共四十九页
可行性研究的目的(mùdì)
事实依据:许多问题难以在预定的规模或时间 内解决,如果无可行方案,投入的资源和成本 都是无谓(wúwèi)的浪费。
北京某高校可用的电话号码有以下几类:
校内电话号码由4位数字组成,第1位数字不是0;
校外电话又分为本市电话和外地电话两类,拨校外电话需先 拨0,
若是本市电话则再接着拨8位数字(第1位不是0),
2- 25
数据流图
要点注意:
当进一步分解将涉及到如何具体实现一个功能时,就不应该 再分解了。
分层细化必须保持信息连续性。即:当把一个处理分解为一系 列的处理时,分解前和分解后的输入输出数据流必须相同。
注意对处理的编号问题。
例如:对处理1 的分解应该编号为1.1,1.2等;对1.1的进一步分解应该命
定货报告 打印部件
2- 17
共四十九页
系统 流程图 (xìtǒng)
画法
习惯上信息在图中从顶向下或从左向右流动 可以在图上加注释,注释较多时,可以另外加一个
文档来进行解释 复杂系统可以用分层方法来表示(biǎoshì)
首先用一张高层次的系统流程图描绘系统总体概貌,表 明系统的关键功能
每个关键功能扩展到适当的详细程度,画在单独的一 页纸上
保持与顶层数据流的一致; 可以不引入数据源和数据潭。
共四十九页
C、引入文件,使之形成一个有机整体—系统:
销售的商品
销售文件
1 录入、修改(xiūgǎi)或 删除商品信息
销售情况
3 查询商品销售情况
第2章_可行性研究_2-
习题2.2
为方便储户,某银行拟开发计算机储蓄 系统。储户填写的存款单或取款单由业务 员键入系统,如果是存款,系统记录存款 人姓名、住址、存款类型、存款日期、利 率等信息,并印出存款单给储户;如果是 取款而且存款时留有密码,则系统首先核 对储户密码,若密码正确或存款时未留密 码,则系统计算利息并印出利息清单给储 户。
第2章 可行性研究
2.1 可行性研究的任务 2.2 可行性研究过程 2.3 系统流程图 2.4 数据流图 2.5 数据字典 2.6 成本/效益分析
2.4 数据流图
数据流图 (DFD) : 1. 是系统逻辑功能的图形表示,它描绘信息
流和数据从输入移动到输出的过程中所经 受的变换。 2. 它用于描述系统功能的分解过程,即描述 软件系统的功能组成部分及各部分之间的 联系。
3. 数据存储
或
数据存储是处于静止状态的数据,通常指存储在 介质中的数据文件或数据库。
数据存储名应与它的内容一致。可以表示一个文 件、文件的一部分、数据库的元素或记录的一部 分等。
编号用字母表示,如:A1、A2等; 有以下几种表示形式:
4. 数据流
用带有名字的具有箭头的线段表示,沿箭头方向
表示数据的流向。它是数据在处理之间的流动,
不表示控制流。
在横线上方标明数据流的名字,如:
,
名字用名词。
名字里隐含了数据流的组成,它可能是单个数据
元素,也可能是由某种数据结构 的数据组成。
ቤተ መጻሕፍቲ ባይዱ如:
说明:
数据流图的基本要点是描绘“做什么”,而不 考虑“怎么做”。
在数据流图中应该描绘所有可能的数据流向, 而不应该描绘出现某个数据流的条件。
存款单
[高等教育]第2章-可行性分析_OK
便定货,规定每天向采购部门送一次定货报告。
2021/8/18
47
例子——系统流程图的用法
• 用计算机更新库存清单主文件、产生定货报告。 • 零件库存量的每一次变化称为一个事务,由放在仓库中的CRT终端输入到计
算机; • 系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主
文件,并且把必要的定货信息写在磁带上。 • 最后,每天由报告生成程序读一次磁带,并且打印出定货报告。
• 项目目标:建立一个基于校园网和教学管理的学生学期 选课注册系统。
• 项目范围:硬件主要利用现有教学管理网络,增配少量 专用设备(交换机之类),软件开发费用预期2800元。
• 初步设想:学生通过教学管理网络在终端计算机上填写 选课信息,教务处能及时查询每门课的选课人数、学生
课程冲突情况并作相应调整。系统输出选课人数统计、 课程表、成绩单等。
底层数据流图是指其加工不能再分解的数据流图,其加工成 为“原子加工”。
2021/8/18
54
顶层流图中必须包含四种符号,缺一不可。
顶层流图
中间层流图
2021/8/18底层流源自 55三、 数据流图的画法
1)确定系统的输入输出 2)由外向里画系统的0层数据流图 3)自顶向下逐层分解,绘出分层数据流图
即建立系统的逻辑模型。 • 按照分层的方式分解问题。 • 分层应从基本信息开始,由上至下,逐层
进行,直至展示细节。
2021/8/18
27
2.2.3 系统分析方法 ——结构化分析方法
• 指导思想:自顶向下,逐步求精 • 两个基本原则:抽象与分解 • 结构化分析的特点:
– 是最早的系统分析方法,使用时间也最长; – 应用最广,特别适合于数据处理; – 支持的工具最多,发展较为成熟; – 简单实用; – 适合于各种软件开发模型,尤其是最为直观的瀑
2021/8/18
47
例子——系统流程图的用法
• 用计算机更新库存清单主文件、产生定货报告。 • 零件库存量的每一次变化称为一个事务,由放在仓库中的CRT终端输入到计
算机; • 系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主
文件,并且把必要的定货信息写在磁带上。 • 最后,每天由报告生成程序读一次磁带,并且打印出定货报告。
• 项目目标:建立一个基于校园网和教学管理的学生学期 选课注册系统。
• 项目范围:硬件主要利用现有教学管理网络,增配少量 专用设备(交换机之类),软件开发费用预期2800元。
• 初步设想:学生通过教学管理网络在终端计算机上填写 选课信息,教务处能及时查询每门课的选课人数、学生
课程冲突情况并作相应调整。系统输出选课人数统计、 课程表、成绩单等。
底层数据流图是指其加工不能再分解的数据流图,其加工成 为“原子加工”。
2021/8/18
54
顶层流图中必须包含四种符号,缺一不可。
顶层流图
中间层流图
2021/8/18底层流源自 55三、 数据流图的画法
1)确定系统的输入输出 2)由外向里画系统的0层数据流图 3)自顶向下逐层分解,绘出分层数据流图
即建立系统的逻辑模型。 • 按照分层的方式分解问题。 • 分层应从基本信息开始,由上至下,逐层
进行,直至展示细节。
2021/8/18
27
2.2.3 系统分析方法 ——结构化分析方法
• 指导思想:自顶向下,逐步求精 • 两个基本原则:抽象与分解 • 结构化分析的特点:
– 是最早的系统分析方法,使用时间也最长; – 应用最广,特别适合于数据处理; – 支持的工具最多,发展较为成熟; – 简单实用; – 适合于各种软件开发模型,尤其是最为直观的瀑
第02章可行性研究
•系统设计
•编码和单元测试 •综合测试
•系统实现
•软件维护 •运行维护
计算机工程学院
问题定义阶段
目的:弄清用户需要计算机解决的问题根本所在,以 及项目所需的资源和经费。
任务:在向用户调查的基础上,编写《关于系统规模 和目标的报告书 》。
例:教材销售系统 学生购买学校教材的手续可能是:先找系办公室开购
5. 导出和评价供选择的解法 首先从技术角度出发排除不可行方案; 其次考虑操作可行性,去掉用户不能接受的方案; 接下来考虑经济可行性,估计余下的每个可能的系统
的开发成本和运行费用,进行成本/效益分析; 最后为每个在各方面都可行的系统制定实现进度表。
计算机工程学院
工程进度表
阶段
所需时间(月)
4 所建议的系统 4.1 对所建议系统的说明 4.2 数据流程和处理流程 4.3 改进之处 4.4 影响 4.5 局限性 4.6 技术条件方面的可行性
计算机工程学院
可行性研究报告的编写
5 可选择的其它系统方案 5.1 可选择的其它系统1 5.2 可选择的其它系统2
......
7 社会条件方面的可行性 7.1 法律方面的可行性 7.2 使用方面的可行性
6 投资及收益分析 6.1 支出 6.2 收益 6.3 收益/投资比 6.4 投资回收周期 6.5 敏感性分析
计算机工程学院
8 结论 • 可以立即开始进行 • 需要增加资源才能开始,例如增加投资或人力。 • 需要推迟到某些条件具备后才能开始,例如组织机 构的调整。 • 需要对系统目标作某些修改才能开始。 • 不能或没有必要进行,例如经济上不合理,投资相 差太大。
书申请(用于确定学生可购买的书),凭申请找教材 科开购书证明(确定是否卖完),向出纳员交付书款 获得领书单,然后到书库找保管员领书。
第二章可行性研究
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
65
§6 .2 成本/效益分折方法
投资回收期: 累计的经济效益等于最初的投 资所需要的时间。 CAD投资回收期是: 2+2.15/8.29=2.259年 纯收入: 整个软件生命期内,累计经济效益 (折合成现在值)与投资之差。 如: 引入CAD系统之后,5年内工程的纯收 入预计是41.563-20=21.563 投资回收率: 指系统的投资在生命周期内 达到的累计效益的利率。
4
§2.1 可行性研究任务
二、可行性研究的基本内容 首先学要进一步分析和澄清问题定义 在澄清了问题的定义之后,分析员应导出系统的逻辑 模型. 根据系统逻辑模型,探索若干种可供选择的主要解决 方案.
5
§2.1 可行性研究任务
1 、技术可行性:使用现有的技术能实现这个系统吗? 主要考虑:开发风险;资源;相关技术的发展2、经济可 行性:这个系统的经济效益能超过它的开发成本吗? 系统经济效益=新系统增加的收入+新系统节省的费用 考虑:成本——效益分析、长期的公司经营策略、对其 他单位或产品的影响、开发所需的成本和资源、潜在的 市场前景 3 、操作可行性:系统的操作方式在用户组织内行得通吗 ? 4.其他:法律可行性、社会效应等
31
用途
32
用途
33
2 .5 数据词典( DD ,data dictionary )
34
2.5.1数据字典的内容
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
货币的时间价值 纯收入 投资回收期 投资回收率
货币的时间价值
通常投资在前,取得效益在后,因此要考虑 货币的时间价值。货币的时间价值常用利率 的形式来表示。 设年利率为i,当前存入的货币数为 P(Present)元,则n年后可得到的货币数为F (Future)元:F=P*(1+i)n。
经验模型运用
对于经验模型,使用时应根据实际环境 进行调整以适合自己的应用项目。同时对于 估算结果的精度也不应期望过高。 当开发产品时,实际的开发工作量应与 预测值进行比较。出现偏差可作为一个有问 题的早期警告。管理者应该分析出现问题的 原因,如开发小组不胜任,产品规模低估了 等,并采取合适的行动使影响最小化。
2.3 成本估计
在可行性研究阶段,估算项目成本及工作 量通常可以采用以下几种方法:
*基于已完成的类似项目进行估算;(自顶向下) *使用简单的“分解技术”来进行成本及工作量的估算; (自底向上) *使用经验模型进行成本及工作量的估算。
2.3.1 自顶向下成本估计
通常仅由少数上层技术与管理人员参加。 依据先前已完成项目所耗费的总成本(总工 作量),推算新开发软件的总成本(总工作 量),然后在项目内部进行成本分配。 优点:工作量小,速度快。 缺点:对开发中某些局部问题或特殊困难易低 估,甚至没有考虑。如果所开发的软件缺乏 可借鉴的经验,则估计偏差可能较大。
(2)社会效益分析
①通过CIMS应用工程的实施,引入计算机集成制造系统,可加快公司员更新观 念的速度,加速公司人员素质的转变,为公司的人才培养战略提供良好的环 境。 ②CIMS工程的实践,…… ……
2.5可行性研究文档
引言 可行性研究的前提 (基本要求、开发目标、限定条件等) 对现有系统的分析 (系统的处理流程和数据流程、存在的问题) 所建议的系统 (技术可行性) 可供选择的其它系统方案 投资及收益分析 (经济可行性) 社会条件方面的可行性 (操作可行性) 结论 (立即进行;推迟到条件成熟后进行;对开发目标进行某 些修改后进行;不能或不必进行等等 )
基本层COCOMO模型
不考虑成本影响调节因子,是对软件成本的一种宏观粗略估 计,是一个静态单变量模型。 组织型——较小、较简单的软件项目。
MM=2.4*(KDSI)1.05 TDEV=2.5*(MM)0.38 半独立型——软件的需求介于“组织型”和“嵌入型”之 间。 MM=3.0*(KDSI)1.12 TDEV=2.5*(MM)0.35 嵌入型——必须在一组严格的硬件、软件及操作约束下开发 的软件项目,对接口、数据结构、算法要求较高。 MM=3.6*(KDSI)1.20 TDEV=2.5*(MM)0.32
COCOMO模型
Boehm将软件成本估算分成3个由粗到细的层次:基 本层、中间层和详细层。每个层次又按软件项目的 应用领域和复杂程序分成3种类型:组织型、半独立 型和嵌入层。 模型形式为:TDEV=c*(MM)d
MM a * ( KDSI )
b
*
f
i 1
15
i
其中MM表示开发工作量,以人月计;KDSI表示源指 令条数,以千行计算;TDEV表示开发时间,以月计 算;fi(i=1~15)表示15项项目影响调节因子;a, c表 示模型系数;b, d表示模型指数。
中间层COCOMO模型
主要考虑了从整个生存期来衡量成本影响调 节因子,共15项,分成4类:产品、硬件、 人员及项目。
中间层COCOMO模型形式
组织型: MM=3.2*(KDSI)1.05*(f1*f2*…*f15) TDEV=2.5*(MM)0.38 半独立型: MM=3.0*(KDSI)1.12*(f1*f2*…*f15) TDEV=2.5*(MM)0.35 嵌入型 MM=2.8*(KDSI)1.2*(f1*f2*…*f15) TDEV=2.5*(MM)0.32
纯收入
其值等于整个生存周期内系统的累积经 济效益(折算成当前值)与投资之差。 从经济的观点来看,考虑到软件项目开 发的风险,只有当纯收入大于零时才能 考虑投资。
投资回收期
投资回收期也是衡量工程价值的一项经 济指标,其值等于使累计的经济效益 (折算成当前值)等于最初投资所需要 的时间。 投资回收期越短,就能越快地获得经济 效益,因而这项工程也就越值得投资。
2.4 效益分析
系统的效益有两部分:经济效益和社会效益。 经济效益是指用使用新系统而增加的收入,包 括使用新系统节省的运行费用,是一种有形的 效益。 社会效益是一种无形的效益,主要从性质上、 心理上进行衡量,很难直接量化,但在某些情 况下,无效的效益能转化成有形的效益。
2.4.1 度量指标
静态单变量模型
典型结构为: E=A+B*(估计变量)C
其中,A、B和C是由经验导出的常数;E是以人月(PM)为单 位的工作量;“估计变量”是被估软件特征的估计量,如代码行数等。
例如:Walston和Felix E=5.2*(KLOC)0.91 DOC=49*(KLOC)1.01
D=4.1*(KLOC)0.36 =13.47*E0.35 S=0.54*E0.6
详细层COCOMO模型
详细层COCOMO模型需要考虑各调节因子对于 不同开发阶段的影响。 针对每一个影响因素,按模块级、子系统级和 系统级,有三张工作量因素分级表,供不同级 别的估算使用。 详细层COCOMO模型的模型形式与中间层 COCOMO模型相同,只是fi的取值在详细层 COCOMO模型中应分级和分阶段给定。
文档的编制必须适应软件项目的需要
2.6 小结
可行性研究是软件项目具有决定意义的一步。 软件开发者必须做到有凭有据,切不可凭主 观想象来处理,否则后果不堪设想。 可行性研究主要是确定系统能否开发,是否 值得开发。 可行性研究报告是可行性研究阶段的重要成 果。
基于LOC的成本和工作量估算
2.3.3 基于经验模型的成本估计
利用已完成项目的样本数据进行分析,从而建立有关经验 公式来预测项目所需的成本、工作量等,具有比较客观 (与前面的估算方法相比)、计算结果可重复(即无论何 时使用模型,其结果相同)等优点。 由于经验数据是从一些有限的项目中得到的,而且软件类 型和开发环境各不相同,因而模型中得到的结果必须慎重 使用。 主要经验模型:静态单变量模型;动态多变量模型; COCOMO模型
投资回收率
投资回收率可用来衡量投资效益的大小, 并可以和银行年利率进行比较,在衡量 工程的经济效益时是重要的参考数据。 投资回收率的计算可以通过解下列方程 得出:
P=F1/(1+j)+F2/(1+j)2+…+Fn/(1+j)n
其中,P表示当前的投资额,Fi表示第i年年底的 效益(i=1,2, …,n),n表示系统的使用寿命,j 表示投资回收率。
(1)直接经济效益(每年)总额约为796万元,其中:
①实现以物资为主线的生产信息集成,合理制定物资储备定额,缩短物资库存周期, 可降低库存2%(平均库存周期从30天降到24天),按现有月未库存1800万元,年 利率6.75%计算,每年可节约利息:1800×20%×6.75%=24.3(万元); ② …
其中,KLOC表示千行源代码行数,以一条机器指令为一行源代码,对于 非机器指令编写的源程序,应转换成机器指令源代码行数来考虑。
动态多变量模型
模型把项目的资源需求看成是时间的函数。
例如Putnam L=Ck*K4/3*t4/3d
其中,L表示源代码行数(以LOC计算);K表示软件全 生存周期(含维护在内)所需工作量(以人年计);td 表示项目开发持续时间(以年计);CK表示技术状态常 数。 这表明,如果缩短开发时间,将 意味着增加项目的开发工作量。
2.4.2 效益分析
系统的效益分析随系统的特征而异。 根据总投资的情况和年度效益分析的结果, 可以进一步计算纯收入、投资回收期和投 资回收率等。 管理者根据有关分析结果,结合其它潜在 的对投资的使用,考虑有关社会效益,可 以在经济上确定系统是否值得投资开发。
某大型企业CIMS项目的效益分析示例
各阶段工作量分配参考
2.3.2 自底向上成本估计
估计者必须先了解待开发软件的范围。软件范围包 括功能、性能、限制、接口和可靠性等。 在估算开始之前,应对软件范围进行适当的细化, 以提供较详细的细节。对于细化得到的任务单元可 交给该任务的开发人员去估计,得到各任务单元的 估计成本。然后,将各任务单元的成本汇合成项目 的总成本。 对涉及全局的花费(如质量管理)可能估计不足甚 至完全忽视,使成本估计可能偏低。
COCOMO模型评价
改进:COCOMOII模型可以处理较广泛 的软件工程技术,例如,面向对象、包 含瀑布模型及其它生存期模型、复用、 第四代语言等等。 Boehm关于自己提出的COCOMO模型的 评价意见是:一个软件估算模型能够在 成本估算上相差不到20%,时间估算上 相差不到70%,就相当不错了。