软件工程-可行性分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10
可行性研究目录
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.其他
4
经济可行性
• 主要是进行成本效益分析,包括估计项目的开发 成本,估算开发成本是否会高于项目预期的全部 经费。分析系统开发对其他产品或利润带来的影 响。
5
技术可行性
• 根据客户提出的系统功能、性能及实现系统的各 项约束条件,从技术的角度研究系统实现的可行 性。 • 这是系统开发中最难且最重要的工作。包括: – 风险分析:在给定的条件下能否实现所有功能。 – 资源分析:建立系统所需资源(人手)能否满足。 – 技术分析:相关技术的发展是否支持该系统。
• 目的是要从经济角度分析,开发一个特定的新系 统是否可行,从而帮助使用部门负责人正确地做 出是否投资于这项开发工程的决定。
15
成本估计
• 是软件费用管理的核心,最困难且最易出错。 • 主要的成本估计方法: – 自顶向下成本估计 – 自底向上成本估计 – 算法模型估计
16
自顶向下成本估计
• 首先估计总的开发成本,再在项目内部进行成本 分配。由少数上层技术与管理人员进行。 • 缺点:对开发中某些局部的问题或特殊困难容易 低估,甚至没有考虑到。 • 当参与的专家较多时,可用Delphi法:把系统定 义文件或规格说明发给各专家,分别单独进行成 本估计,填入成本估计表,然后由协调人综合专 家意见,并摘要通知大家,并开始新一轮估计, 如此反复,直到专家们的意见接近一致。
25

11
可行性研究的步骤
1. 2. 3. 4. 5. 6. 7. 8. 9. 复查系统规模和目标 研究目前正在使用的系统 导出新系统的高层逻辑模型 重新定义问题 导出和评价供选择的方案 推荐一个方案并说明理由 推荐行动方针 书写计划任务书 提交审查
12
系统流程图
• 系统流程图是描绘物理系统的传统工具。其功能 包括:
6
运行可行性
• 确定新系统规定的运行方式是否可行。 • 例如服务器能不能承受负荷等。
7
法律可行性
• 系统开发中可能涉及到的合同、侵权、责任以及 各种与法律相抵触的问题。
8
开发方案可行性
• 对各种系统开发方案进行比较评价,选出最优方 案。
9
• 可行性研究的结果可以作为系统规格说明书的一 个附件。 • 其最根本的任务是对以后的行动路线提出建议, 若无可行解,则应建议停止开发。 • 可行性研究的成本占工程总成本的5%-10%。 • 可行性研究的目录如下:
17
自底向上成本估计
• 将开发任务分解为许多子任务,分别估计各个子 任务的成本,再汇合成项目成本。 • 由开发人员进行,结果往往比较实际。 • 缺点:具体工作人员往往只注意到自已范围内的 工作,对综合测试、质量管理和项目管理等涉及 全局的花费可能估计不足,甚至完全忽视。可能 使成本估计偏低。
18
算法模型估计
可行性研究 需求分析 软件设计 5% 10% 25%
编码单元测试 20% 综合测试 40%
20
度量效益的方法
• 货币的时间价值 • 投资回收期 • 纯收入
21
货币的时间价值
• 投资在前,收益在后 • 一般用利率表示货币的时间价值 • 设年利率为i,现存入P元,则n年后的价值: F=P(1+i)n • 或者 P=F/(1+i)n
• 算法模型就是资源模型。该模型应该是根据历史 数据导出的,所以比较客观。 • 关键是选好适用的模型。常与前两种方法结合使 用。
19
费用估计技术
• 代码行技术:根据经验和历史数据估计源程序行 数。 • 任务分解技术:把软件开发分解为若干个相对独 立的任务,再分别估计成本(人月)。常用的方 法是按开发阶段划分任务,大系统也可分成子系 统。一般:
24
小结
• 通过可行性研究可以知道问题有无可行解,避免人力物力 财力的浪费。 • 占总成本的5%-10% • 目的是用最小的代价在尽可能短的时间内确定问题是否能 得到解决。即搞清楚问题是否值得解,而不是去解决问题。 • 它要进行一次压缩简化了的系统分析和设计过程,即在较 高层次上以较抽象的方式进行设计的过程。 • 介绍了可行性研究的任务、步骤和系统流程图,以及成本 效益分析。
处理(能改变数据或数据位置的加工或部件)
输入/输出(广义的不指明具体设备的符号)
连接 (指出转到图的另一部分或转来,通常是同一页)
换页连接 (转到另一页去或由另一员转来)
人工操作 (人工完成的处理)
通信链路 (远程通讯线路传送数据) 数据流 (用于连接其它符号,指明数据流动的方向) 14
成本效益分析
① 制作系统流程图的过程是系统分析员全面了解系统业 务处理概况的过程,是系统分析员进一步分析的依据; ② 系统流程图是系统分析员、管理人员、业务操作人员 相互交流的工具; ③ 系统分析员可直接利用系统流程图画出可以实现计算 机处理的部分; ④ 可利用系统流程图来分析业务流程的合理性。
13
系统流程图Biblioteka Baidu基本符号
22
投资回收期
• 投资回收期指积累的经济效益等于最初的投资所 需要的时间。
23
纯收入
• 整个生存周期内系统的累计经济效益(折合成现 在值)与投资值之差。 • 本质上就是把预期收益与存银行或贷款给其他企 业进行比较,如果纯收入为零,意思就是投资回 报与存银行相同,而投资风险一般远大于存银行, 则显然不值得投资。
软件工程
第二章 可行性分析
目标: 了解可行性研究的步骤。 当接受一个软件开发任务时,就进入软件生命周期的第 一个阶段,即可行性研究。
2
主要内容
• • • • 可行性研究的任务 可行性研究的步骤 系统流程图 成本效益分析
3
可行性研究的任务
• 可行性研究的目的是用最小的代价在尽可能短的 时间内确定问题是否能够解决。 • 一般应从经济可行性、技术可行性、运行可行性、 法律可行性和开发方案可行性等方面进行研究。
相关文档
最新文档