软件工程与实践第三版课件第2章 可行性分析及开发计划
合集下载
第二章软件工程(可行性分析)PPT课件
心。
2. 如何确定系统的目标
系统开发人员通过初步的调查,了解企业领导
以及主要的管理干部对系统的要求与设想,根据目
前组织具备的条件及资源,初步提出系统的目标。
例:**厂信息系统的系统目标
为了管理现代化的要求,建立一个生产、经
营、资金、成本与物资的动态数据收集、处理与控
制的信息系统。
3
❖ 问题定义报告及编写实例
• 课题提出:系统开发人员本身也可以提出系统开发任 务。
• 上级机关布置 • 合作开发
2. 系统任务的提出形式
• 书面形式:系统任务的提出一般以书面形式,如系统 开发任务书或系统开发协议书等形式。
• 口头形式
2
❖ 系统目标的确定
1. 系统目标的含义
2.
系统目标是系统最终要达到的目标,是系统
开发的宗旨,各个阶段的工作都要以这个宗旨为中
1、问题定义报告的内容 问题定义报告没有统一格式,但一般包
含以下内容: • 工程项目名称 • 使用方 • 开发方 • 背景 • 项目的目标 • 项目的规模
4
2、问题定义报告编写实例
例2.1 某校财务处有1名主任会计师,2名会计和2名出纳,共5 人。由于职工人数增加,每月发工资前几天,会计的工作量会 增大,要抽调其他部门的人帮忙,花一个星期才能把职工工资 表做出来。为了减轻财务处的工作量,学校决定采用计算机进 行工资管理,请软件公司帮助分析解决问题的可能性,给出问 题定义报告。 问题分析:一种解决办法是给财务处增加职工。如果增加2名职
(2)经济可行性:分析开发该系统能否取得经济效益。 要作出投资的估算和收益的估算。
(3)运行可行性:主要研究新系统规定的运行方式在 这个组织内是否可行等。
软件工程与实践第三版课件第2章 可行性分析及开发计划
2.2 可行性分析与评审
2.2.2 可行性分析的任务及内容
可行性分析主要任务主要是:决定软件项目“做还是不 做(是否可行)”、及完成对可行项目的“初步方案”。
行性分析主要内容是对问题的定义,主要经过调研与初 步概要分析,初步确定软件项目的规模和目标,明确项目的 约束和限制,并导出软件系统的逻辑模型。然后从此模型出 发,确定若干可供选择的主要软件系统初步研发方案。
客户服务的能力
可能只发挥有限的
作用
以往过程影响为客 户提供高价值服务 能力;从旧方式转变 到新模式;有先行 优势
只看作对过去或目 前过程修改可获得 的收益是有限的; 过程重组可能受到 内外阻力
提高竞争能力;优 不良合作方式可能
化组织关系,保持 难提供差异化竞争
灵活快速反应能力, 力;若内部系统不完
满足个性化用户需 善将阻碍外部学习
技术可行性(Technical Feasibility)是可行性分析中
最关可键行和性最分难析决的断主的要问内题容。主是要对分问析题在的特定定义条,件主下要,初技术步资 确源定、软能件力项、目方的法规等模方和面目的可标用,性问及题其定用义于后解,决要软导件出问软题的件可 系择能同确统的性初定首的主技和 步 性先逻要术调 给现需辑系可研 技实要模统行分 术性进型方性析 可。行。案分论 行问初然。析证性题步后的类分定的内从似析义容概与过,此软包论程要模件括证与分型系:增系析出统对加统,发目新很技确,标软多术定确、件困可软定功功难行件若能能。性项干和的评目性可具估能的体供过的指程规选不标,模、和 目运标行,环明境确及项条目件的、约响束应和时间限、制存。储速度及容量、安全性和可
1.确定软件或项目名称 软件名称用于准确描述软件问题的内涵、主要用途及规 模的项目名称,应与所开发项目内容一致,Web图书销售系统. 2. 软件项目提出的背景 软件项目提出的背景和具体现状及发展趋势包括:软件 所服务的行业属性、主要业务及特征、目前存在的主要问 题、需要改进的具体方面及要求、本项目开发所能够带来 的经济/社会效益和应用前景等。
软件工程第二章(可行性分析)
(5) 交付的产品清单。
项目开发计划书供软件开发单位使用。
小结:
1、项目的问题定义、可行性分析和项目计划是总体 规划阶段的工作,重点是项目的可行性分析。
2、可行性分析主要从技术可行性、经济可行性和操 作可行性三方面来分析该项目是否值得开发。
3、可行性分析最后形成的成果是可行性分析报告。
项目的筹备、规划与准备是软件项目实施的前
期工作,它由两个重要的工作阶段构成:一是
项目规划及可行性分析;二是项目需求分析。
一、可行性分析的概念
可行性分析就是解决一个项目是否有可行解以及是
否值得去解的问题。该阶段的主要任务就是用最小
的代价在尽可能短的时间内确定问题是否能够得到 解决。
二、可行性分析的目标和内容
等。
(6) 技术可行性(技术风险评价):技术实力分析、已有的 工作及技术基础和设备条件等等。 (7) 法律可行性分析结果描述。 (8) 可用性评价:汇报用户的工作制度和人员的素质,确 定人机交互功能界面需求。
(9) 其他项目相关的问题:如可能会发生的变更等等。
可行性研究报告由系统分析员撰写,交由项目负责人审查, 再上报给上级主管审阅。 在可行性研究报告中,应当明确项目“可行还是不可行”, 如果认为可行,接下来还要制定项目开发计划书。
识别用户要求 评价系统的可行性 进行经济分析和技术分析 把功能分配给硬件、软件、人、数据库和其它系 统元素 建立成本和进度限制 生成系统规格说明,形成所有后续工程的基础
三、 可行性分析的主要任务
具体地说,分析员应从下面三个方面对项目做出可行性分 析: (1)技术可行性:使用现有的技术能实现这个系统吗? (2)经济可行性:这个系统的经济效益能超过它的开发成本 吗?(详细在后面介绍成本/效益分析) (3)操作可行性:系统的操作方式在该用户组织内行得通吗?
《软件工程与项目管理》第2章_软件可行性分析与项目开发计划
2.3.2 可行性分析
按照可行性分析的步骤,开发小组中的系统 分析员与学校负责学生学籍管理的教务部分进 行了多轮讨论,了解了开发背景,明确了待开 发的软件的功能,对软件的成本/效益作了分 析,最终,形成了以下的可行性分析报告(见 教材)。
2.3.3 项目开发计划
软件可行性分析报告被提交给相关领导讨论 通过之后,在此基础上,项目经理进一步明确 了软件的功能范围、开发资源需求,制订项目 开发进度,并编写项目开发计划(见教材)。
第2章 软件可行性分析与项目开发 计划
• 掌握:软件可行性分析的方法、项目开发计划 掌握: 的制订、软件可行性分析报告及项目开发计划 的规范化编写。
2.1 软件可行性分析
• 可行性分析的目的是用最小的代价在尽可能短 的时间内确定问题是否值得去解决,以及问题 是否能够被解决。 • 值得注意的是,可行性分析的目的并不是研究 如何解决问题,而是研究问题是否值得去解。 • 经过可行性分析以后,如果认为问题值得去解, 则制订项目开发计划,进入实际开发过程;否 则直接终止项目。
表2-1 效益折算计算表
年份 1 2 3 4 将来值(万元) 45 000 45 000 45 000 45 000 (1+i)n 1.1 1.21 1.331 1.4641 现在值(万元) 40 909.09 37 190.08 33 809.17 30 735.61
3. 社会可行性
社会可行性主要是指软件生产需要考虑的社会因素, 具体来说是指市场、政策与法律方面的考虑。 • 在市场方面,考虑软件产品所面对的市场的性质是成 熟的、未成熟的或即将消亡的。 • 在政策方面,考虑的是国家宏观的经济政策对软件开 发及销售的影响。在法律方面,应该考虑软件的开发 是否会侵犯他人、集体或国家的利益,是否会违反国 家的法律并可能由此承担相应的法律责任等,例如, 某用户希望开发一款能攻击其竞争对手的数据库的软 件,这显然侵犯了他人的利益,因此属于不可行的开 发项目。
软件工程(第3版)第2章 人民邮电出版社PPT课件
用于成功开发软件的一组基本观念和原则
6条“最佳实践” 10个“流程要素”
可重用方法内容及流程构建块的框架
可以在定义自己的开发方法和过程
底层方法及流程定义语言
统一方法架构元模型 UML
RUP最佳实践
迭代式开发 需求管理 使用基于组件的架构 可视化建模 验证软件质量 控制软件变更
问题定义 可行性研究 需求分析 概要设计 详细设计 编码和单元测试 集成测试(综合测试) 软件维护
瀑布模型
收集需求 分析 设计 编码 测试 维护
瀑布模型 - 加入迭代过程
收集需求 分析 设计 编码 测试 维护
快速原型法
快速建立一个反映用户 主要需求的原型系统
可视化编程工具的广泛 使用
架构和组件
软件架构(Software Architecture)
构成系统的组件 组件之间的关联和交互
架构刻画了系统的整体设计
去掉了细节部分 突出了系统的重要特征
可视化建模
由于应用领域不同,模型可以有文字、图形或数学 表达式等多种形式,一般说来,使用可视化的图形 更容易令人理解。
验证软件质量
用户故事 需求
测试用例 新用户故事
差错
隐喻 架构试探
制定交付 交付计划 计划
不确定的估计
确定的估计
最新版本
用户认可
迭代开发
验收测试
下一次迭代
小交付
难点试探
XP(极限编程Extreme Programming)的整体开发过程
极限编程
未完成的任务 用户故事 交付计划 项目速率
新用户故事 新项目速率
共享的信息
能力成熟度模型的结构
能力成熟度等级
初始级 可重复级 已定义级 已管理级 优化级
6条“最佳实践” 10个“流程要素”
可重用方法内容及流程构建块的框架
可以在定义自己的开发方法和过程
底层方法及流程定义语言
统一方法架构元模型 UML
RUP最佳实践
迭代式开发 需求管理 使用基于组件的架构 可视化建模 验证软件质量 控制软件变更
问题定义 可行性研究 需求分析 概要设计 详细设计 编码和单元测试 集成测试(综合测试) 软件维护
瀑布模型
收集需求 分析 设计 编码 测试 维护
瀑布模型 - 加入迭代过程
收集需求 分析 设计 编码 测试 维护
快速原型法
快速建立一个反映用户 主要需求的原型系统
可视化编程工具的广泛 使用
架构和组件
软件架构(Software Architecture)
构成系统的组件 组件之间的关联和交互
架构刻画了系统的整体设计
去掉了细节部分 突出了系统的重要特征
可视化建模
由于应用领域不同,模型可以有文字、图形或数学 表达式等多种形式,一般说来,使用可视化的图形 更容易令人理解。
验证软件质量
用户故事 需求
测试用例 新用户故事
差错
隐喻 架构试探
制定交付 交付计划 计划
不确定的估计
确定的估计
最新版本
用户认可
迭代开发
验收测试
下一次迭代
小交付
难点试探
XP(极限编程Extreme Programming)的整体开发过程
极限编程
未完成的任务 用户故事 交付计划 项目速率
新用户故事 新项目速率
共享的信息
能力成熟度模型的结构
能力成熟度等级
初始级 可重复级 已定义级 已管理级 优化级
软件工程课件第2章
过程,也就是在较高层次上以较抽象的方式进 行的系统分析和设计的过程。
精选ppt
6
可行性研究的内容: 首先进一步分析和澄清问题定义,导出系统的
逻辑模型; 然后从系统逻辑模型出发,探索若干种可供选
择的主要解法(即系统实现方案); 对每种解法都研究它的可行性,至少应该从三
方面研究每种解法的可行性 。
精选ppt
3
关于系统规模和目标的报告书
1.项目名称:教材销售系统 2.问题:人工发售教材手续繁杂,且易出错。 3.项目目标:建立一个高效率、无差错的微机教材销售
系统。 4.项目规模:利用现有微型计算机,软件开发费用不超
过5000元。 5.初步想法:建议在系统中增加对缺书的统计与采购功
能。 6.可行性研究:建议进行大约10天的可行性研究,研究
该装配厂使用一台小型计算机,处理更新库存清单主文 件和产生定货报告。零件库存量的每一次变化称为一个事务, 由放在仓库中CRT终端输入到计算机中;系统中的库存清单 程序对事务进行处理,更新存储在磁盘上的库存清单主文件, 并且把必要的订货信息写在磁带上。最后,每天由报告生成 程序读一次磁带,并且打印出订货报告。
包括开发和运行该系统所需要的各种资源 如硬件、软件、人员和组织机构等 3. 费用预算:分阶段的人员费用、机时费用及其他费用 4. 进度安排:各阶段起始时间、完成文档及验证方式 5. 要交付的产品清单
精选ppt
16
8. 书写文档提交审查 把可行性研究各个步骤的工作结果写成清晰的
文档,请用户、客户组织的负责人及评审组审 查,以决定是否继续这项工程及是否接受分析 员推荐的方案。
库存清单 主文件
报告生成程序
定货报告
第三层:合成后的系统流程图
精选ppt
6
可行性研究的内容: 首先进一步分析和澄清问题定义,导出系统的
逻辑模型; 然后从系统逻辑模型出发,探索若干种可供选
择的主要解法(即系统实现方案); 对每种解法都研究它的可行性,至少应该从三
方面研究每种解法的可行性 。
精选ppt
3
关于系统规模和目标的报告书
1.项目名称:教材销售系统 2.问题:人工发售教材手续繁杂,且易出错。 3.项目目标:建立一个高效率、无差错的微机教材销售
系统。 4.项目规模:利用现有微型计算机,软件开发费用不超
过5000元。 5.初步想法:建议在系统中增加对缺书的统计与采购功
能。 6.可行性研究:建议进行大约10天的可行性研究,研究
该装配厂使用一台小型计算机,处理更新库存清单主文 件和产生定货报告。零件库存量的每一次变化称为一个事务, 由放在仓库中CRT终端输入到计算机中;系统中的库存清单 程序对事务进行处理,更新存储在磁盘上的库存清单主文件, 并且把必要的订货信息写在磁带上。最后,每天由报告生成 程序读一次磁带,并且打印出订货报告。
包括开发和运行该系统所需要的各种资源 如硬件、软件、人员和组织机构等 3. 费用预算:分阶段的人员费用、机时费用及其他费用 4. 进度安排:各阶段起始时间、完成文档及验证方式 5. 要交付的产品清单
精选ppt
16
8. 书写文档提交审查 把可行性研究各个步骤的工作结果写成清晰的
文档,请用户、客户组织的负责人及评审组审 查,以决定是否继续这项工程及是否接受分析 员推荐的方案。
库存清单 主文件
报告生成程序
定货报告
第三层:合成后的系统流程图
全套电子课件:软件工程-理论与实践(第3版)
40多年来,软件工程率已,经保证历软了件四质个量重的要关发键是展“阶软段件:过
程”,是软件开发和维护中的管理和
1.第一代软件工程 支—持传能力统,的逐软步件形工成程软件过程工程。
2.第二代软件工程 — 对象工程
3.第三代软件工程 — 过程工程
4.第四代软件工程 — 构件工程
90起年代,基于构件(Component)
螺旋模型将开发过程 分为几个螺旋周期,每 个螺旋周期可分为4个工 作步骤: 第一,确定目标、方案 和限制条件; 第二,评估方案、标识 风险和解决风险; 第三,开发确认产品; 第四,计划下一周期工 作。
6.智能模型(intelligent model)
也称为基于知识的软件开发模型,是知识工程 与软件工程相结合的软件开发模型。
软件工程是一门新兴的边缘学科,涉及的学科多, 研究的范围广,研究的主要内容有以下几方面:
软件开发方法、技术 软件开发工具及环境 软件管理技术 软件规范(国际规范)
} 软件开发技术 } 软件管理技术
1.2 软件工程过程
为了克服软件危机,人们从其他产业的工业 化生产得到启示,于是在68年北大西洋公约的软 件可靠性会议(NATO)上,首次提出了“软件工 程”的概念。提出了在软件生产中采用工程化的 方法,采用一系列科学的、现代化的方法技术来 开发软件。这种工程化的思想贯穿到软件开发和 维护的全过程。
2. 增量模型(incremental model)
增量模型是一种非整体开发的模型。是一种进 化式的开发过程。
根据增量的方式和形式的不同,分为: 基于瀑布模型的渐增模型 基于原型的快速原型模型 该模型具有较大的灵活性,适合于软件需求不 明确、设计方案有一定风险的软件项目。
增量模型和瀑布模型之间的本质区别是什么?
程”,是软件开发和维护中的管理和
1.第一代软件工程 支—持传能力统,的逐软步件形工成程软件过程工程。
2.第二代软件工程 — 对象工程
3.第三代软件工程 — 过程工程
4.第四代软件工程 — 构件工程
90起年代,基于构件(Component)
螺旋模型将开发过程 分为几个螺旋周期,每 个螺旋周期可分为4个工 作步骤: 第一,确定目标、方案 和限制条件; 第二,评估方案、标识 风险和解决风险; 第三,开发确认产品; 第四,计划下一周期工 作。
6.智能模型(intelligent model)
也称为基于知识的软件开发模型,是知识工程 与软件工程相结合的软件开发模型。
软件工程是一门新兴的边缘学科,涉及的学科多, 研究的范围广,研究的主要内容有以下几方面:
软件开发方法、技术 软件开发工具及环境 软件管理技术 软件规范(国际规范)
} 软件开发技术 } 软件管理技术
1.2 软件工程过程
为了克服软件危机,人们从其他产业的工业 化生产得到启示,于是在68年北大西洋公约的软 件可靠性会议(NATO)上,首次提出了“软件工 程”的概念。提出了在软件生产中采用工程化的 方法,采用一系列科学的、现代化的方法技术来 开发软件。这种工程化的思想贯穿到软件开发和 维护的全过程。
2. 增量模型(incremental model)
增量模型是一种非整体开发的模型。是一种进 化式的开发过程。
根据增量的方式和形式的不同,分为: 基于瀑布模型的渐增模型 基于原型的快速原型模型 该模型具有较大的灵活性,适合于软件需求不 明确、设计方案有一定风险的软件项目。
增量模型和瀑布模型之间的本质区别是什么?
软件工程-可行性分析 PPT
软件工程
第二章 可行性分析
目标: 了解可行性研究的步骤。
当接受一个软件开发任务时,就进入软件生命周期的第 一个阶段,即可行性研究。
主要内容
• 可行性研究的任务 • 可行性研究的步骤 • 系统流程图 • 成本效益分析
可行性研究的任务
• 可行性研究的目的是用最小的代价在尽可能短的 时间内确定问题是否能够解决。
开发方案可行性
• 对各种系统开发方案进行比较评价,选出最优方 案。
• 可行性研究的结果可以作为系统规格说明书的一 个附件。
• 其最根本的任务是对以后的行动路线提出建议, 若无可行解,则应建议停止开发。
• 可行性研究的成本占工程总成本的5%-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.其他
可行性研究的步骤
1. 复查系统规模和目标 2. 研究目前正在使用的系统 3. 导出新系统的高层逻辑模型 4. 重新定义问题 5. 导出和评价供选择的方案 6. 推荐一个方案并说明理由 7. 推荐行动方针 8. 书写计划任务书 9. 提交审查
第二章 可行性分析
目标: 了解可行性研究的步骤。
当接受一个软件开发任务时,就进入软件生命周期的第 一个阶段,即可行性研究。
主要内容
• 可行性研究的任务 • 可行性研究的步骤 • 系统流程图 • 成本效益分析
可行性研究的任务
• 可行性研究的目的是用最小的代价在尽可能短的 时间内确定问题是否能够解决。
开发方案可行性
• 对各种系统开发方案进行比较评价,选出最优方 案。
• 可行性研究的结果可以作为系统规格说明书的一 个附件。
• 其最根本的任务是对以后的行动路线提出建议, 若无可行解,则应建议停止开发。
• 可行性研究的成本占工程总成本的5%-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.其他
可行性研究的步骤
1. 复查系统规模和目标 2. 研究目前正在使用的系统 3. 导出新系统的高层逻辑模型 4. 重新定义问题 5. 导出和评价供选择的方案 6. 推荐一个方案并说明理由 7. 推荐行动方针 8. 书写计划任务书 9. 提交审查
《软件工程》第2章 可行性分析与软件计划
2.2.5 进度安排
• 进度安排将作为一节在后面详细介绍。
北京大学远程教育课程
Software Engineering_Chapter2-25
2.2.6 软件计划说明书
• 教材中的格式,教材第32页 • 国际标准化组织的文档参考格式 • 国家标准的文档参考格式
北京大学远程教育课程
Software Engineering_Chapter2-26
北京大学远程教育课程 Software Engineering_Chapter2-3
2.1 软件可行性分析
• 2.1.1 对可行性分析的认识 • 2.1.2 可行性分析的内容 • 2.1.3 可行性分析的步骤 • 2.1.4 可行性分析报告
北京大学远程教育课程
Software Engineering_Chapter2-4
• 可行性分析的目的是用最小的代价在尽可能短的时间内确 定问题是否能够解决。必须记住:可行性分析不是要求解 问题本身,而是要确定问题是否有解。
北京大学远程教育课程
Software Engineering_Chapter2-6
2.1.2 可行性分析的内容
可行性分析的内容主要集中在如下几个主要方面
⑴.经济上可行:论证系统有没有经济效益或社会效益?多长 时间能回收成本? ⑵.技术上可行:实现新系统需要哪些技术,现有技术能否解 决,难点?建议采用的技术先进程度怎样?新技术的应用是否 存在风险?是否能够找到胜任该系统的熟练的技术人员?能否 按期得到开发该项目所需要的软硬件资源?等等 ⑶.操作上可行:系统的操作方式在用户所在的组织内是否可 行,特别是对原有系统扩展会不会引起矛盾。 ⑷.法律上可行:会不会引起侵权、会不会引起其他的社会问 题。
软件计划是软件开发过程中的第一个阶段。这个阶段的 任务是,对即将开发的软件系统实施可行性分析,也就 是从工程、经济、技术的角度,论证系统的可行性。一 旦立项通过,就为软件开发制定详细的软件计划。 • 2.1 软件可行性分析 • 2.2 软件开发计划 • 2.3 软件的成本估算与效益分析 • 2.4 安排开发进度
《软件工程实践与项目管理》课件第2章
第2章 软件生命周期与开发模型 图2-3 软件开发人员的角色
第2章 软件生命周期与开发模型 下面对软件生命周期各阶段加以详细介绍: 1) 需求分析 这个阶段的任务是对用户的需求进行分析和综合,确定
软件的基本目标和逻辑功能要求,解决系统要“做什么”的 问题,写出软件需求规格说明书。该需求规格说明书是软件 工程中最重要的文件,它准确地记录了对目标系统的要求, 它是用户和软件开发人员之间共同的约定及软件开发人员进 行后续开发的基础。
第2章 软件生命周期与开发模型 3. 运行与维护阶段 软件运行与维护是软件生命周期中持续时间最长的阶段。
在软件开发完成并投入使用后,由于各种原因,软件在运行 过程中可能会出现一些问题,这就要求我们对软件进行维护。 软件的维护一般包括改正性维护、适应性维护、完善性维护 和预防性维护等四个方面。
第2章 软件生命周期与开发模型
第2章 软件生命周期与开发模型 软件原型化方法的基本思想是花费少量代价建立一个可
运行的系统,强调软件开发人员与用户的不断沟通,通过原 型的演进不断适应用户的需求。将维护和修改阶段的工作尽 早进行,从而使软件产品满足用户需求。
第2章 软件生命周期与开发模型 2) 软件原型化方法的分类 软件原型化方法主要用在需求分析阶段,但也可以用于
第2章 软件生命周期与开发模型 (5) 判定原型完成。 如果原型经过修正和改进已获得了参与者的一致认可,那 么原型开发的迭代过程可以结束。 (6) 判定原型效果。 (7) 整理原型和提供文档。 整理原型的目的是为进一步开发提供依据。整理完成之后 即可提供原型文档。
第2章 软件生命周期与开发模型 4) 快速原型的优点 使用快速原型化开发方法进行软件开发具有以下优点: (1) 增进了软件开发人员和用户对系统需求的理解,便于 将用户模糊的需求明确化。 (2) 可以克服瀑布模型的缺点,减少由于软件需求不明确 带来的开发风险。
软件工程PPT教学课件-第二章 可行性研究
例2:第6年底可收回 42000 1 35174(元) 1.036
7652 0.22(年) 回收期 5.22年 35174
假定年利率为12%,每年预计节省钱的现价如下
由于9011.94>5000,所以值得投资。
§6 成本/效益分析
例2:假设某软件生命周期为5年。现在投资 20万元,平均年利率3%。从第一年起, 每年年底收入 4.2万元,问该项目是否值 得投资?
P = 20万 4.2万 4.2万 4.2万 4.2万 4.2万
§6 成本/效益分析
货币的时间价值
通常用利率的形式表示货币的时间价值。 – 假设年利率为i.如果现在存人P元,则 n年后可以得到的钱数F为:
– 反之,如果n年后能收入F元钱,那么 这些钱的现在价值P是
§6 成本/效益分析
例1:库存清单系统每天送给采购员一份定货报表。 修改已有程序并且编写新程序,估计共需5000元; 系统修改后能及时定货将消除零件短缺问题,估计 因此每年可以节省2500元,5年共可节省12500元。
XX : ———— …………
定货报告 库存 < 临界值
§3. 系统流程图
使用一台小型计算机处理更新库存清单主文件 和产生定货报告的任务。
零件库存量的每一次变化称为一个事务。放在 仓库中的CRT终端输入到计算机中;
系统中的库存清单程序对事务进行处理,更新 存储在磁盘上的库存清单主文件,并且把必要的 定货信息写在磁带上;
最后,每天由报告生成程序读一次磁带,并且 打印出定货报告。
事务 即库存量变化
§3. 系统流程图
库存清单程序 定货 信息
报告生成程序 定货报告
库存清单 主文件
注:符号 = 系统部件 箭头 = 信息流动路径
7652 0.22(年) 回收期 5.22年 35174
假定年利率为12%,每年预计节省钱的现价如下
由于9011.94>5000,所以值得投资。
§6 成本/效益分析
例2:假设某软件生命周期为5年。现在投资 20万元,平均年利率3%。从第一年起, 每年年底收入 4.2万元,问该项目是否值 得投资?
P = 20万 4.2万 4.2万 4.2万 4.2万 4.2万
§6 成本/效益分析
货币的时间价值
通常用利率的形式表示货币的时间价值。 – 假设年利率为i.如果现在存人P元,则 n年后可以得到的钱数F为:
– 反之,如果n年后能收入F元钱,那么 这些钱的现在价值P是
§6 成本/效益分析
例1:库存清单系统每天送给采购员一份定货报表。 修改已有程序并且编写新程序,估计共需5000元; 系统修改后能及时定货将消除零件短缺问题,估计 因此每年可以节省2500元,5年共可节省12500元。
XX : ———— …………
定货报告 库存 < 临界值
§3. 系统流程图
使用一台小型计算机处理更新库存清单主文件 和产生定货报告的任务。
零件库存量的每一次变化称为一个事务。放在 仓库中的CRT终端输入到计算机中;
系统中的库存清单程序对事务进行处理,更新 存储在磁盘上的库存清单主文件,并且把必要的 定货信息写在磁带上;
最后,每天由报告生成程序读一次磁带,并且 打印出定货报告。
事务 即库存量变化
§3. 系统流程图
库存清单程序 定货 信息
报告生成程序 定货报告
库存清单 主文件
注:符号 = 系统部件 箭头 = 信息流动路径
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1软件问题的调研和定义
表2-1 软件工程应用的层次
应用层次
主要特征
主要优势
潜在弱点
面临的挑战
局部开发 内部集成
过程重组
网络信息 化
运用IT优化重点,增 值的企业运作
运用IT能力创造无 缝企业过程;反映 技术集成性和组织 相关性
对关键过程重组以 实现将来的竞争力, 而不只对现有过程 的修补;运用IT及组 织能力
2.1软件问题的调研和定义
4. 软件类型及性质 对于软件的类型:从软件的规模上,分为大中小和 微型软件;从软件的用途上,分为系统软件、支撑软件和 应用软件;从软件的应用类型上,分为工程计算软件、 事务处理软件、工业控制软件和嵌入处理软件等。不同 类型的软件,采用的开发方法、技术和管理手段不同。 软件项目性质用于描述软件的主要特性,还要确定软件 的应用特性,如通用软件或专用软件。最后,需要确定 软件的角色性质,是面向全程的综合软件,还是处于配 套位置的具有单一辅助功能的插件。 软件工程的应用层次及主要特征、主要优势、潜在 弱点问题和面临的挑战对应关系,如表2-1所示。
2.1软件问题的调研和定义
1讨论思考:
(1)什么是软件问题定义?问题定义内容包括哪些? (2)初步调研需要确定和澄清的问题主要有哪些? (3)软件工程应用对系统目的和任务有哪几个层次? (4)软件问题定义的内容有哪些?
2.2 可行性分析与评审
对拟研发的软件(市场等需求)进行深入实际的可行性分 析,是决策其软件是否可以立项进行研发,并对可行研发的软件 项目制定初步方案的重要依据。
2.1软件问题的调研和定义
9.基础条件 软件开发的基础条件包括:软件的业务基础、技 术基础和支撑基础等。 对问题定义的结果应该形成“问题定义报告”,主 要由软件策划小组起草,需要经过用户认可,反映软 件策划小组和用户对问题的一致认识。目前并没有规 范统一的问题定义报告格式,“问题定义报告”主要 包括:软件(项目)名称、项目提出的背景、软件目 标、项目性质、软件服务范围、基本需求、软件环境、 主要技术、基础条件等。
2.1软件问题的调研和定义
3. 软件目标及任务 软件目标和任务是指软件项目所要达到的最终目的指 标和具体结果,具有可度量性和预测性。从不同角度,主 要有以下三种分法: (1)按时间划分,可分为长期目标、中期目标和短期 目标。 (2)按目标的综合度,可分为总体目标和分项目标。 (3)按性质划分,可分为效能及可靠性目标、功能目 标和性能目标。 软件开发目标是建立一个应用广泛、功能及性能和可 靠性完备、高效业务处理过程和通用的信息平台,为机构 的发展战略、业务流程优化和获取竞争优势提供有力支持。
求
能力
明确高价值领域;用 一流表现衡量以实 现差异化;选择新业 绩衡量标准
关注过程整合和技 术集成;确保业绩衡 量标准按内部整合 度制定;与第一流能 力比较
明确过程重组原则; 认识到比选择能支 持过程重组的技术 平台更重要的是组 织问题
明确信息化重构原 则;将信息化重构重 要性提到战略地位; 合理调整绩效衡量 标准
2.1软件问题的调研和定义
2. 调研策略及原则 1)自顶向下/自底向上逐步展开的策略 2)坚持实事求是的原则 3)工程化的工作方式 4)重点与全面结合的方法 5)主动沟通与友好交流 3. 调研报告的内容 在对系统进行调研结束后,应确定“系统调研报告”, 主要内容包括: (1)企事业用户的发展目标及规划(总体目标及具体目 标、规划及计划); (2)组织机构层次(组织结构图)和业务功能与计划;
2.1软件问题的调研和定义
2.1.2 软件问题定义的概念 软件问题定义是指在对拟研发软件进行可行性分析和立
项之前,对有关的主要需求问题进行初步调研、确认和描述 的过程。主要包括:提出问题、初步调研、定义问题、完成 “问题定义报告”等。对于拟研发的新软件,输入(准备/ 基础/要求)是经过初步调研之后形成的一系列软件问题要 求(业务处理等具体需求)和软件的结构框架等描述,以及 预期软件支持业务过程的说明,最后输出(完成结果)是 “问题定义报告”。
通常对企事业机构等用户提出的新软件研发意向,需要 先要搞清软件的实际要求相关的具体问题。常由企事业用户 根据业务处理的实际需求提出,或由软件销售/策划人员经 过调研后提出。
2.1软件问题的调研和定义
2.1.3 软件问题定义的内容
软件问题定义是指在初步调研的基础上,逐步搞清拟研 发软件开发的具体问题,并以书面形式对所有问题作出确 定性描述的过程。不同的软件具有不同的问题定义内容。
2.2 可行性分析与评审
2. 可行性分析的意义 可行性分析工作是软件项目开发前非常重要的一个关键 环节,决定整个软件项目的开发成败,具有非常重要的经济 意义和现实意义。
3.可行性分析的目的及结论 可行性分析目的是围绕影响软件项目研发的各种因素的 可行性进行全面、系统的分析论证。 可行性分析的结论,概括起来有3种情况: (1)可行。“可行”结论表明可以按初步方案和计划进 行立项并开发。 (2)基本可行。对软件项目内容或方案进行必要修改后, 可以进行开发。 (3)不可行。软件项目不能进行立项或确定项目终止。
2.1软件问题的调研和定义
(3)主要系统流程(系统流程图)及对信息的需求, 包括各种计划、单据和报表样品;
(4)现有系统的管理方式、具体业务环节、管理方法、 管理人员决策的方式和决策过程;
(5)现有系统软硬件的配置、使用效率和存在问题; (6)现有系统存在的主要具体问题和薄弱环节如功能、 性能、可靠性等)。
(第3版)
第2章 可行性分析及研发策划
目录
1
2.1 软件问题的调研和定义
2
2.2 可行性分析及过程
3
2.3 项目立项、合同和任务书
4
2.4 系统流程图及应用
5
2.5 软件开发计划及方案
6
2.6 实验二 软件可行性分析报告
7
2.7 本章小结
教学目、调研与问题定义内容 ● 理解可行性分析的概念、任务、步骤与立项 重点 ● 掌握可行性分析的图形工具系统流程图画法 ● 理解软件开发计划的内容和制定方法 重点 ● 掌握编写《软件可行性分析报告》的方法
1.确定软件或项目名称 软件名称用于准确描述软件问题的内涵、主要用途及规 模的项目名称,应与所开发项目内容一致,Web图书销售系统. 2. 软件项目提出的背景 软件项目提出的背景和具体现状及发展趋势包括:软件 所服务的行业属性、主要业务及特征、目前存在的主要问 题、需要改进的具体方面及要求、本项目开发所能够带来 的经济/社会效益和应用前景等。
2.1.1 开发问题的初步调研 对拟研发软件情况(市场需求),先要进行调研和具体细
化确认。通过可行性分析确定才能立项开发。初步调研 澄清确定的问题包括:拟研发软件相关对象及范围、原 因、背景、问题、目标、行业属性、社会环境、应用基 础、技术条件、时限要求、投资能力等。。
2.1软件问题的调研和定义
1. 确定调研的范围
调研的范围划分7类,在实际应用中可视具体情况调整: (1)用户的组织机构和业务功能; (2)现行系统及业务流程与工作形式; (3)管理方式和具体业务的管理方法; (4)数据与数据流程,包括各种计划、单据和报表调研; (5)管理人员决策的方式和决策过程; (6)各种可用资源和要求(限制)条件; (7)目前业务处理过程中需要改进的环节及具体问题。
对拟研发软件(系统)进行调研,需要事先做好准备, 确定调研的具体对象、范围和问题。调研的主要对象是现行 系统及相关业务部门,需要深入业务数据处理现场实地观察、 收集与阅读相关资料,并以发放问卷调查表、座谈会或交谈 等调研方式,对原系统的数据处理过程进行分析、归纳、整 理、描述,以获取拟研发新软件涉及的各种具体需求。
技术可行性(Technical Feasibility)是可行性分析中
最关可键行和性最分难析决的断主的要问内题容。主是要对分问析题在的特定定义条,件主下要,初技术步资 确源定、软能件力项、目方的法规等模方和面目的可标用,性问及题其定用义于后解,决要软导件出问软题的件可 系择能同确统的性初定首的主技和 步 性先逻要术调 给现需辑系可研 技实要模统行分 术性进型方性析 可。行。案分论 行问初然。析证性题步后的类分定的内从似析义容概与过,此软包论程要模件括证与分型系:增系析出统对加统,发目新很技确,标软多术定确、件困可软定功功难行件若能能。性项干和的评目性可具估能的体供过的指程规选不标,模、和 目运标行,环明境确及项条目件的、约响束应和时间限、制存。储速度及容量、安全性和可
2.2.1 可行性分析的概念及意义
1.可行性分析的概念和特点 可行性分析也称可行性研究,是对拟研发软件项目(或称为 申报的“拟研发立项问题”)分析论证可行性和必要性的过程。 主要从技术、经济、社会等方面分析其可行性,并根据软件运行 环境、软硬件及数据资源与处理要求、研发能力和效益等情况, 确定立项开发的必要性,并在确定可行必要后提出初步方案,形 成“可行性分析报告”,之后还需要进行立项并制定出研发计划, 以便于进行有效研发。 可行性分析特点:预见性、公正性、可靠性、科学性等。
2.1软件问题的调研和定义
案例2-1 “德国最蠢银行KfW”误转巨资。据美国媒 体2017.3报道,德国国有开发银行KfW由于系统错误,导 致自动向四家银行转账50亿欧元,而且已经不是该银行 第一次发生类似失误。在金融危机时期,在雷曼兄弟申 请破产当天向其转账上亿欧元。由于系统错误,KfW的交 易被多次重复,导致其错误的转账。该银行之后发现系 统问题,并收回错误转出的资金。
2.1软件问题的调研和定义
5. 软件服务范围 软件的服务范围主要是指确定软件所应用(服务)的行
业及领域的界限,软件服务领域用户对象及应用范畴,主要 从总体主要业务上确定软件的具体应用领域和服务范畴。如 汽车网上销售软件的应用(服务)范围就是各种汽车及其配 件的网上销售,涉及进、销、存和客户及相关业务及其有关 的部门等。