? 2008 BUPT TSEG
软件工程模型与方法
Models & Methods of SE
第三章 系统需求分析与可行性分析肖丁 dxiao@bupt.edu.cn
2? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心计算机系统的定义和组成
Webster定义的计算机系统是:元素的集合或排列,这些元素被组织在一起,以便通过处理外部信息完成某些预定的目标 。这些系统元素是:
软件:指程序、数据结构和相关文档。
硬件:指提供计算能力的电子设备和提供外部功能的机电设备。
人员:指使用硬件和软件的用户和其他人员。
文档:指手册、表格和其他表示系统使用和操作的描述性信息。
数据库:指系统所具有的信息模型,是系统中对信息具有存取功能的一个主要部分。
过程:指定义每一种系统元素的特定使用步骤或使用环境。
3? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心计算机的系统工程
计算机系统工程是一个问题求解活动,目的是揭示、分析所期望的功能、性能、接口和约束条件,并把它们分配到各个系统元素中去。
计算机的系统工程包括:硬件工程、软件工程、人机工程和数据库工程,每一项工程的作用就是明确和细化系统的功能和性能的范围和内容,产生一个能与其他系统元素适当集成的可操作的系统元素。
4? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心系统需求识别
系统分析目标
识别用户要求;
进行技术分析并进行评价;
把功能分配给系统元素;
建立成本和进度限制;
生成系统规格说明。
可通过回答以下问题协助完成系统分析过程
系统的总体目标是什么?
系统所期望的功能和性能是什么?
系统的可靠性和质量要求是什么?
成本与进度限制如何?
有无软硬件制造和购买的需求?
有效的技术方案有哪些?
将来系统可能有哪些扩充?
5? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心可行性分析
为什么在系统开发之前要进行可行性分析?
其目的在于项目进入实际的开发之前用最小的代价论证该项目是否能做,是否值得做?避免投资损失。
援引柳传志的一段话:,没钱赚的事我们不干;有钱赚但投不起钱的事不干;有钱赚也投得起钱但没有可靠的人选,这样的事也不干。,
影响系统开发的因素有哪些?
时间因素
资源因素
成本和利润的因素
技术条件和能力的因素
6? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心可行性分析的任务和步骤
首先,针对项目确定问题域并对问题域进行概要的分析和研究,初步确定项目的规模、约束和限制条件。
其次,针对问题域中的关键和核心问题进行简要的需求分析,抽象出问题域的逻辑结构,并构建逻辑模型。
最后从逻辑模型出发,通过小规模的设计和技术实现论证,探索出若干种可供选择的解决方案,
并对每种方案进行可行性方面的论证。
可行性分析主要集中在以下四个方面:
经济可行性分析 技术可行分析
法律可行性分析 实施方案的选择
7? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心经济可行性分析
软件开发为何要进行经济方面的分析?
软件开发需要有投资,有投资就需要有收益。
目的是从经济角度评价一个新项目是否可行、
是否划算,从而帮助投资人或者用户正确地做出是否投资于这个项目的开发决策。
如何进行经济可行性的分析?
成本 /效益分析是对软件的开发成本和可能取得的效益进行权衡比较。
短期 /长远利益分析而是从另一种角度来评价成本和效益之间的关系。
8? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心软件成本的估算方法
软件开发体现为最终可运行的软件系统以及相应的开发过程,为此有以下估算软件成本的方法:
代码行技术
功能点技术
任务分解技术
经验估算模型
COCOMO模型
软件方程式
软件的其他成本估算
9? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心软件开发的效益度量
货币的时间价值:由于任何软件项目大都是投资在前,取得效益在后,因此要考虑到货币的时间价值。
设年利率为 i,现存入 P元,若不计复利则 n年后货币价值为
反之,若 n年能收入 F元,那么这些钱的现值是
niPF )1(
ni
FP
)1(
10? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心软件开发的效益度量
投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间。投资回收期越短,就能越快获得利润。
纯收入:就是在整个生存期之内系统的累计经济效益 (折合成现在值) 与投资之差。
纯收入 > 0 说明值得投资
纯收入 = 0 等于把资金存入银行
纯收入 < 0 说明不值得投资
投资回收率:设想把数量等于投资额的资金存入银行,每年年底从银行回收的钱等于系统每年预期可以获得的效益
,在时间等于系统寿命时,正好把在银行中的存款全部取完。这个假想的年利率就等于投资回收率。
P = F1/ (1+j) + F2/ (1+j)2 + … +F n/ (1+J)n
其中,P是现在的投资额; Fi是第 i年年底的效益( i= 1,2,…,n );
n是系统的使用寿命,j是投资回收率。
11? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心技术可行性分析
技术可行性分析主要考虑以下几项内容:
开发风险:在给定的限制范围内,能否设计出系统,并实现必须的功能和性能?
资源可用性:是否有充足的熟练技术人员可以支配?其他必要的资源(软件和硬件)对建造系统可用么?
技术条件:相关的技术条件是否能够支持系统的开发?
最终得出一个在技术层面上的决策基础:
可行,还是不可行!
12? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心技术可行性分析的机制
Blanchard和 Fabrycky定义了在系统的技术可行性分析中使用建模方法的一组标准:
能动态地表示系统的配置并能进行评估,要求配置项很容易理解和操纵、并且与现实操作足够接近。
模型应该尽可能全面的包括所有相关的因素,并且应体现结果的可重复性。
模型应该关注那些关键问题的因素,并且抑制和回避那些不重要的因素。
模型设计应该足够简单,以允许快速实现。
模型设计应该与易于修改和 /或扩展。
13? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心系统体系结构建模
每个基于计算机的系统可用 IPO的结构来为信息的变换和处理建模。
通过创建一个系统结构模型,为后期的需求分析和设计奠定了基础,同时也是技术可行性分析建模的主要方法。
最高层体系结构语境图( ACD)如下,过 程 和 控 制维 护 和 自 测输入处理输出处理用 户 接 口 处 理
14? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心
ACD和 AFD的结构分 类 点操 作 员条 码 阅 读 器传 送 带分 类 点操 作 员分 类 机 制主 框 架传 送 带 分 类 系 统请 求 查 询 及 报 告诊 断 数 据条 码速 度 指 示 器分 类 命 令格 式 化 的报 告 数 据方框:表示一个外部实体;
圆角矩形:表示“系统”或子系统;
标记箭头表示外部环境和系统间流动的信息(数据和控制)。
ACD
A
B
C
最 高 级 体 系 结 构 流 程 图
A F D f o r A
A F D f o r B
A F D f o r C
层次结构的 AFD
15? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心系统结构的规格说明
结构图的规格说明( ADS)给出了每个子系统的信息及各个子系统之间的信息流。
另外,规格说明还包含了每个子系统的“系统模块描述”。
规格说明还可能具有一个“结构词典”,即在规格说明中出现的每一个信息项的清单,以及每个信息项的说明。
信息项名称 部分号码信息项说明 产品类型前缀 +数字标识 +成本类型类型(数据或控制) 数据来源(外部实体或子系统) 条码阅读器控制子系统去处(外部实体或子系统) 数据库访问子系统通信路径(名称) 内部软件接口
16? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心系统解决方案的选择和评估分 配 系 统 参 数选 择 方 案选 择 1 选 择 2 选 择 3 选 择 4 选 择 N
评 估 方 案
1,选 择 评 估 准 则,性 能,效 率,生 存 期,成 本 等 因 素
2,应 用 分 析 技 术 ( 模 型,方 案 )
3,数 据 生 成
4,评 估 结 果
5,灵 敏 度 分 析
6,定 义 风 险 和 不 定 性选 择 方 法方 法 可 行?
系 统 综 合 与 定 义
N o
Y e s
投 资 效 益系 统 有 效 性生 存 期 成 本研 究 与 开 发 成 本投 资 成 本运 行 支 持 费中 止 费性 能可 操 作 性容 量,独 立 性其 它研 究 费设 计 费数 据 费测 试 评 估 费生 产 费设 备 费维 护 费其 它工 作 范 围 与 精 度可 靠 性可 维 护 性执 行 速 度可 移 植 性可 使 用 性尺 寸,形 状,重 量其 它可 诊 断 性 包 装可 访 问 性 人 员 技 术 水 平显 示 与 控 制 安 全 性设 备 完 备 性 服 务使 用 方 便 性 存 储 能 力互 换 性 测 试 提 供设 备 水 平 运 输 要 求逻 辑 能 力 服 务 程 序 丰 富 程 度安 装 其 它第 一 参 数第 二 参 数第 三 参 数第 四 参 数第 五 参 数
软件工程模型与方法
Models & Methods of SE
第三章 系统需求分析与可行性分析肖丁 dxiao@bupt.edu.cn
2? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心计算机系统的定义和组成
Webster定义的计算机系统是:元素的集合或排列,这些元素被组织在一起,以便通过处理外部信息完成某些预定的目标 。这些系统元素是:
软件:指程序、数据结构和相关文档。
硬件:指提供计算能力的电子设备和提供外部功能的机电设备。
人员:指使用硬件和软件的用户和其他人员。
文档:指手册、表格和其他表示系统使用和操作的描述性信息。
数据库:指系统所具有的信息模型,是系统中对信息具有存取功能的一个主要部分。
过程:指定义每一种系统元素的特定使用步骤或使用环境。
3? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心计算机的系统工程
计算机系统工程是一个问题求解活动,目的是揭示、分析所期望的功能、性能、接口和约束条件,并把它们分配到各个系统元素中去。
计算机的系统工程包括:硬件工程、软件工程、人机工程和数据库工程,每一项工程的作用就是明确和细化系统的功能和性能的范围和内容,产生一个能与其他系统元素适当集成的可操作的系统元素。
4? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心系统需求识别
系统分析目标
识别用户要求;
进行技术分析并进行评价;
把功能分配给系统元素;
建立成本和进度限制;
生成系统规格说明。
可通过回答以下问题协助完成系统分析过程
系统的总体目标是什么?
系统所期望的功能和性能是什么?
系统的可靠性和质量要求是什么?
成本与进度限制如何?
有无软硬件制造和购买的需求?
有效的技术方案有哪些?
将来系统可能有哪些扩充?
5? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心可行性分析
为什么在系统开发之前要进行可行性分析?
其目的在于项目进入实际的开发之前用最小的代价论证该项目是否能做,是否值得做?避免投资损失。
援引柳传志的一段话:,没钱赚的事我们不干;有钱赚但投不起钱的事不干;有钱赚也投得起钱但没有可靠的人选,这样的事也不干。,
影响系统开发的因素有哪些?
时间因素
资源因素
成本和利润的因素
技术条件和能力的因素
6? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心可行性分析的任务和步骤
首先,针对项目确定问题域并对问题域进行概要的分析和研究,初步确定项目的规模、约束和限制条件。
其次,针对问题域中的关键和核心问题进行简要的需求分析,抽象出问题域的逻辑结构,并构建逻辑模型。
最后从逻辑模型出发,通过小规模的设计和技术实现论证,探索出若干种可供选择的解决方案,
并对每种方案进行可行性方面的论证。
可行性分析主要集中在以下四个方面:
经济可行性分析 技术可行分析
法律可行性分析 实施方案的选择
7? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心经济可行性分析
软件开发为何要进行经济方面的分析?
软件开发需要有投资,有投资就需要有收益。
目的是从经济角度评价一个新项目是否可行、
是否划算,从而帮助投资人或者用户正确地做出是否投资于这个项目的开发决策。
如何进行经济可行性的分析?
成本 /效益分析是对软件的开发成本和可能取得的效益进行权衡比较。
短期 /长远利益分析而是从另一种角度来评价成本和效益之间的关系。
8? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心软件成本的估算方法
软件开发体现为最终可运行的软件系统以及相应的开发过程,为此有以下估算软件成本的方法:
代码行技术
功能点技术
任务分解技术
经验估算模型
COCOMO模型
软件方程式
软件的其他成本估算
9? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心软件开发的效益度量
货币的时间价值:由于任何软件项目大都是投资在前,取得效益在后,因此要考虑到货币的时间价值。
设年利率为 i,现存入 P元,若不计复利则 n年后货币价值为
反之,若 n年能收入 F元,那么这些钱的现值是
niPF )1(
ni
FP
)1(
10? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心软件开发的效益度量
投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间。投资回收期越短,就能越快获得利润。
纯收入:就是在整个生存期之内系统的累计经济效益 (折合成现在值) 与投资之差。
纯收入 > 0 说明值得投资
纯收入 = 0 等于把资金存入银行
纯收入 < 0 说明不值得投资
投资回收率:设想把数量等于投资额的资金存入银行,每年年底从银行回收的钱等于系统每年预期可以获得的效益
,在时间等于系统寿命时,正好把在银行中的存款全部取完。这个假想的年利率就等于投资回收率。
P = F1/ (1+j) + F2/ (1+j)2 + … +F n/ (1+J)n
其中,P是现在的投资额; Fi是第 i年年底的效益( i= 1,2,…,n );
n是系统的使用寿命,j是投资回收率。
11? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心技术可行性分析
技术可行性分析主要考虑以下几项内容:
开发风险:在给定的限制范围内,能否设计出系统,并实现必须的功能和性能?
资源可用性:是否有充足的熟练技术人员可以支配?其他必要的资源(软件和硬件)对建造系统可用么?
技术条件:相关的技术条件是否能够支持系统的开发?
最终得出一个在技术层面上的决策基础:
可行,还是不可行!
12? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心技术可行性分析的机制
Blanchard和 Fabrycky定义了在系统的技术可行性分析中使用建模方法的一组标准:
能动态地表示系统的配置并能进行评估,要求配置项很容易理解和操纵、并且与现实操作足够接近。
模型应该尽可能全面的包括所有相关的因素,并且应体现结果的可重复性。
模型应该关注那些关键问题的因素,并且抑制和回避那些不重要的因素。
模型设计应该足够简单,以允许快速实现。
模型设计应该与易于修改和 /或扩展。
13? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心系统体系结构建模
每个基于计算机的系统可用 IPO的结构来为信息的变换和处理建模。
通过创建一个系统结构模型,为后期的需求分析和设计奠定了基础,同时也是技术可行性分析建模的主要方法。
最高层体系结构语境图( ACD)如下,过 程 和 控 制维 护 和 自 测输入处理输出处理用 户 接 口 处 理
14? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心
ACD和 AFD的结构分 类 点操 作 员条 码 阅 读 器传 送 带分 类 点操 作 员分 类 机 制主 框 架传 送 带 分 类 系 统请 求 查 询 及 报 告诊 断 数 据条 码速 度 指 示 器分 类 命 令格 式 化 的报 告 数 据方框:表示一个外部实体;
圆角矩形:表示“系统”或子系统;
标记箭头表示外部环境和系统间流动的信息(数据和控制)。
ACD
A
B
C
最 高 级 体 系 结 构 流 程 图
A F D f o r A
A F D f o r B
A F D f o r C
层次结构的 AFD
15? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心系统结构的规格说明
结构图的规格说明( ADS)给出了每个子系统的信息及各个子系统之间的信息流。
另外,规格说明还包含了每个子系统的“系统模块描述”。
规格说明还可能具有一个“结构词典”,即在规格说明中出现的每一个信息项的清单,以及每个信息项的说明。
信息项名称 部分号码信息项说明 产品类型前缀 +数字标识 +成本类型类型(数据或控制) 数据来源(外部实体或子系统) 条码阅读器控制子系统去处(外部实体或子系统) 数据库访问子系统通信路径(名称) 内部软件接口
16? 2008 BUPT TSEG 北京邮电大学 通信软件工程中心系统解决方案的选择和评估分 配 系 统 参 数选 择 方 案选 择 1 选 择 2 选 择 3 选 择 4 选 择 N
评 估 方 案
1,选 择 评 估 准 则,性 能,效 率,生 存 期,成 本 等 因 素
2,应 用 分 析 技 术 ( 模 型,方 案 )
3,数 据 生 成
4,评 估 结 果
5,灵 敏 度 分 析
6,定 义 风 险 和 不 定 性选 择 方 法方 法 可 行?
系 统 综 合 与 定 义
N o
Y e s
投 资 效 益系 统 有 效 性生 存 期 成 本研 究 与 开 发 成 本投 资 成 本运 行 支 持 费中 止 费性 能可 操 作 性容 量,独 立 性其 它研 究 费设 计 费数 据 费测 试 评 估 费生 产 费设 备 费维 护 费其 它工 作 范 围 与 精 度可 靠 性可 维 护 性执 行 速 度可 移 植 性可 使 用 性尺 寸,形 状,重 量其 它可 诊 断 性 包 装可 访 问 性 人 员 技 术 水 平显 示 与 控 制 安 全 性设 备 完 备 性 服 务使 用 方 便 性 存 储 能 力互 换 性 测 试 提 供设 备 水 平 运 输 要 求逻 辑 能 力 服 务 程 序 丰 富 程 度安 装 其 它第 一 参 数第 二 参 数第 三 参 数第 四 参 数第 五 参 数