9979997藏宝阁香港马会
大学生考试网 让学习变简单
赞助商链接

第02章 软件工程的可行性分析

第02章 软件工程的可行性分析

9979997藏宝阁香港马会 www.shixinhuamu.com
第2章 软件工程的可行性研究
教学目的:理解可行性研究的基本任务和步骤 理解成本/效益分析的方法。 教学重点:可行性研究 教学难点:成本/效益分析、风险及其管理。 作 业:

MSF项目组模型
?

一个项目的瀑布模型开发开始于问题定义和可行性研 究(MSF开始于问题的构思)。项目组由项目管理人员和 系统开发人员组成。系统开发人员和项目管理人员沟 通的文档有系统开发计划、系统开发月报和系统开发 总结报告。系统开发活动中的若干个角色如下:
目标 让客户满意 在项目约束条件下交付 按产品规格交付

项目组角色 产品管理(产品经理) 程序管理 开发(分析员、设计员)

测试
用户教育 后勤管理

解决所有已知问题后发布
提高用户胜任力 平滑产品部署

MSF小组模型 --------角色职责
?

产品管理角色:
– 扮演客户推动小组:推动小组与客户在项目期望方 – – – – –

面达成共识。 扮演小组推动客户:让客户理解小组在做什么,小 组为了满足客户的期望需要什么。 管理客户的期望:确??突贤鼻暗墓ぷ?,协调 客户的期望和产品的实际情况保持一致。 开发、维护和实施业务用例,业务用例用来评判项 目的依据。 推动特征的识别和确定优先级,特征就是项目多个 功能点的集合。 开发、维护和实施通信计划:如何把产品披露给客 户或者用户,比如外部的市场计划(内部:通信计 划)

MSF小组模型 --------角色职责
?

程序管理角色:
– 程序经理是调解员和协调员,而不是代替项

目经理。 – 推动所有过程:从服务角度出发并且以服务 为目的来确定自己的项目进度,报告项目状 态、管理项目资源。 – 管理产品范围和规范,撰写并提供功能规格 说明文档。 – 管理小组“健康”和角色:保持小组斗志旺 盛。

MSF小组模型 --------角色职责
? ? ? ? ? ? ?

开发角色: 建造和测试产品,满足规格说明和客户期望 参与产品设计 估算完成产品开发的时间和投入 以技术顾问的身份向小组提供服务:对高层设 计提出建议 支持产品的安装和部署: 开发:配置和定制产品:为项目撰写所有核心 的代码,为项目提供更加详细的技术规格说明 文档。

MSF小组模型 --------角色职责
? ? ? ? ?

测试角色: 开发测试策略、计划和脚本:理解用户需求和 产品将如何满足这些需求 管理建造过程:小项目测试者负责测试产品的 建造,大项目由建造小组来开发测试产品。 实施测试:目的是判断产品开发的状态或者部 署的状态 参与设计质量标准:协助确定可容忍的产品零 缺陷级别。

MSF小组模型 --------角色职责
?

用户教育角色:
– 扮演小组推动最终用户:准备为用户达到胜任产品

– –




使用的能力的支持材料,以小组的身份提供给最终 用户。 扮演最终用户推动小组:把用户的需求反馈给小组 推动可用性过程:测试和跟踪产品的可用性。 参与定义用户需求:可用性研究并且收集信息,并 且把结果提交给小组(程序管理角色) 设计和开发用户胜任力支持系统:要完成支持材料 的设计、建造和测试。包括:参考卡片、用户手册、 在线帮助、向导甚至完整的课件。

MSF小组模型 --------角色职责
?

后勤管理角色:
– 扮演小组推动营运:协调客户的期望 – 扮演营运人员推动小组:确保产品的可部署、 – – – –

可管理和可支持。 管理产品部署:保证产品的平滑部署 参与设计:根据以往经验向小组提出与产品 部署有关的可管理性和可支持性的建议。 在贝它测试中支持产品 为产品发布培训营运人员:提供运营支持的 技术和文档,安装和平台配置。

MSF不同角色在不同阶段的工作职责总表
角色 产品管理 程序管理 前景认可 撰写前景文档 确定设计目标, 成功因素、建立 项目基础设施 项目计划认可 负责概念设计 工作域认可 管理客户需求 发布 协调β站点和产品 发布 跟踪项目状态和 发布进度

开发

提供技术方面的 咨询

用户教育

指定培训计划、 可视设计和培训 的战略 评估前景/工作域 陈述

测试

后勤管理

识别部署要注意 的问题

所有角色

定义风险

草拟功能规格说 管理规格说明, 明,逻辑设计, 跟踪项目、交流 为下阶段制定计 项目状态,准备β 划,确定交付日 计划,协调可用 期 性测试 评价技术、参加 开发产品元素、 修理缺陷、整理 完所有开发文档 物理设计,估计 演示、构造内部 每个任务的花费、 发布、优化代码、 定义进度 协助可用性测试 实施培训 从客户胜任的角 撰写和评估文档、 度评价设计,准 图形和课程资料 协助可用性测试 备文档和在线帮 助材料 评价设计、为下 实施测试和报告 确定β发布和最终 一阶段的测试做 结果,确认错误 发布、实施配置 计划。 测试 被更正,完成可 用性测试 评价设计,为首 建立营运和支持 支持β发布和管理 次运行制定计划 的指导原则,制 首次试运行,管 进度 理发布过程 定最后发布的进 度。 更新风险 更新风险 更新风险

2.1 可行性研究
2.1.1 可行性研究概述
1.可行性研究的任务
可行性研究的必要性:开发任何一个基于计算机的系 统都会受到时间和资源的限制。因此,开发方在接受 客户的项目之前,必须根据客户可能提供的时间和资 源等条件进行可行性研究。 可行性研究的前提条件:要对待开发项目进行初步的 需求定义。 可行性研究的目的:用最小的代价在尽可能短的时间 内确定该项目是否值得去解决,是否存在可行的解决 方案。即在系统层面上论证系统开发的可行性,是压缩 的需求分析和设计过程。

初步的项目需求定义案例 ---问题的提出
?

?

某校有9个部门:校办、人事处、教务处、总务处、财 务处、电气系、机械系、管理系和基础部。其中财务 处有1名主任会计师、2名会计和2名出纳。由于职工人 数增多,每月发工资前几天会计工作量大增,要抽调 其他部门的人员帮忙,花一个星期才能把职工的工资 表做出来。同时学校的规?;乖诩绦┐?,财务工作 的工作量将日益繁重。为了减轻工作量,改善工作条 件,学校决定用微机系统来处理工资问题。财务处首 先到计算机软件公司,请求帮助分析解决问题。 MSF认为:这一问题的提出应该由企业高层人士(管 理层)参与。

初步的项目需求定义案例 ---系统分析员进行问题的定义
?

? ?

获得定义的出发点是:现实需求(MSF认为,描述现实需求不是机 械地被动提炼的过程,而是要经过由企业管理层参加的企业体系 结构小组重建企业体系结构之后,再整理提炼企业体系结构的现 实需求) 获得定义的目的:明确问题(MSF:描述与业务目的和目标有关的 关键成功因素)。 定义过程:如果通过增加员工来应付激增的工作量,则需要两名 职工,按照职工月工资500元计算,每年要增加工资支出1.2万元。 如果开发计算机工资管理系统,每年至少可获得1.2万元的经济效 益。为了节省1.2万元,校方能投资多少钱呢?由于大多数单位希 望在两三年内收回投资,因此,对于这个项目,2.5万元的开发成 本可能是一个投资上限。否则企业会觉得不值得。分析员为了与 用户沟通取得共识,还要做一个问题定义报告。

初步的项目需求定义案例 ----问题定义报告
用户单位 某高校

用户负责人
分析员单位 分析员 项目 问题

XXX
XX计算机软件公司 XXX 工资管理 财务处每月的管理工作太忙:很多精力都 花在工资管理事物中。

项目目标
项目规模

研究工资管理系统的可能性
这个项目的开发成本2.2万元

2.1.2 可行性研究的任务
1)技术可行性的研究目的:根据客户提出的系统功 能、性能要求及实现系统的各项约束条件,从技术 的角度研究实现系统的可行性。 2)技术可行性研究案例:

分析员通过查阅资料和访谈具体财务人员入手,掌 握工资处理的大概情况:财务初每月接收每个职工 当月的水电用量记录,编制出当月职工的工资报表, 并将当月工资发到职工手中,并且要为财务处输出 报表。在此基础上,得出新系统的逻辑模型(顶层 数据流图)

顶层数据流图

水电表

职工
工资

工资管理系统

报表

财务处

3
处理 事物

功能级数据流图 --顶层数据流图细化
报表 工资
产生 报表

事物数据
1
收集 数据

2
验证 数据

发放 工资

4

5

事务

财务处 职工

职工

功能级数据流图的说明
?

? ? ?

处理事物、发放工资和产生报表是工资管理系统必须 完成的3个主要功能。细化后的数据流图中还增加了3 个数据存储。处理事物需要“事物数据”的存储,产 生报表和处理事物在不同时间,所以需要报表存储; 发放工资和处理事物也不在同一时间,所以也需要工 资数据存储。 分析员进一步和用户探讨该功能流程图,做必要的补 充完善。 据此分析员选出最佳方案,并且确定能否在2.5万元内 完成此项目,及时报告用户。由用户决定是否开发。 如果客户的目标等有变化,则分析员重新进行上述分 析。

2.1.2 可行性研究的任务
2)经济可行性研究:估算项目的开发成本和 投入使用后可能带来的利润,进行成本效益 分析。及对其他产品或利润的影响。 成本估算:计算机硬件、外部设备、软件费 用(初步考虑买一台120GB硬盘的联想PIV 和一台打印机含有关软件:需要1.2万元)+ 开发人员工资(需要5个人月的工作量, 2000元/人月)=2.2万元

工资管理系统的成本/效益分析
购买设 人力 开发成 系统 每年节 每年净 年 备、软 5个月工 本估计 维护费 省费用 节省 节省 件费用 资2000 1.2万 1.0万 -2.2万 -600元/年 +1.2万 +1.14万 (1+i)n【1】 现在值 累计现值

1
2 3

1.14(F)
1.14(F) 1.14(F)

1.12(P)
1.25(P) 1.40(P)

1.01786万
9090.81元 8142.86元

1.01786万
1.91269万 2.74123万

第三年后纯 收入
投资回收期

5212.36
2.52年

货币的时间价值公式:F=P(1+i)n,i为货币年利率。

代码行技术(LOC技术)
确定功能,对实现该功能所需要的源代 码行数进行可靠估算。 ? (根据历史数据和经验)算出各个子功 能代码行数的平均值:
?
– 最小规模a,最大规模b,最可能规模m,公

式如下:Le=(a+4m+b)/6
?

确定各子功能的代码行成本(元/行)和 生产率(行/人月):

表 代码行技术估算实例
功 能
用户接 口控制 二维几 何分析 计算机 图形显 示 外部设 备控制 合计 估算 a 1800 代 m 2400 码 b 2650 行数 Le 2340 315 14 32760 7.4 行/人月 元/行 成本 人/月

















14810


309180


71.7

2.1.2 可行性研究的任务
3)社会可行性:研究要开发的项目是否存在 侵犯、妨碍等责任问题。要开发的项目的运 行方式在用户组织内是否行得通,现有管理 制度、人员素质和操作方式是否可行。是否 与原有其他系统相矛盾。

2.1.2 可行性研究的任务
1)经济可行性研究:估算项目的开发成本和投入使用后可能带来的利润, 进行成本效益分析。及对其他产品或利润的影响。 2)技术可行性研究:根据客户提出的系统功能、性能要求及实现系统的 各项约束条件,从技术的角度研究实现系统的可行性并满足必需的功能 和性能,即开发风险;用以开发系统的人力资源是否存在问题,硬软件 资源是否满足开发要求等。

3)运行、操作可行性研究:主要研究系统的运行方式在用户单位是否可 以有效地实施,是否与原有其他系统相矛盾;系统的操作规程在用户单 位内是否可行,它包括人事、科技政策、管理方法等。

1.可行性研究的任务
4)法律可行性研究:研究新系统的开发和使用是 否会侵犯他人的权益,是否触犯了国家的法律法 规。 5)开发方案的选择:可行性研究的最主要任务是 对以后的行动提出建议。如果问题没有可行的解, 分析人员应建议停止该项目,以避免造成进一步 的浪费;如果问题值得解决,则提出并评价实现 系统的各种可行的开发方案,从中选择一种最佳 方案,并为系统制定一个初步的开发计划。

2.可行性研究的步骤
1、软件工程调研 1)现状调查

(1)方式:面谈、电话、参观、问卷、索取资料
(2)调查的内容 ①机构组织:机构及其职责的现在和未来

②日常工作:各机构日常工作及其的顺序的现在与未来
③数据:数据的内容、类型、保存方式、使用部门、使用 方式与频率的现在 与未来 ④专业人员:执行任务的相关人员的专业素质、工作方式 和联络方式的现状与未来。 ⑤系统软件:配置的现状与未来 ⑥系统硬件:配置的现状与未来。

2.可行性研究的步骤
1、软件工程调研 2)调查内容的组织(主要) (1)现有机构的组织机构图 (2)现有机构的功能示意图

(3)现有机构的人员组织和功能示意图
(4)现有数据及来源清单

(5)现有数据及其功能参照表
(6)现有软硬件关系图

2.可行性研究的步骤
1、软件工程调研 3)调查内容的分析(主要的) (1)机构运作的逻辑数据流程图 ①对于整个数据流程的每步过程,都要写出数据的输入是在怎样 转化为数据输出的。 ②每项处理均要用标号标明,并且要注明职责部门。

③各主要处理均应当以任务的形式出现。既要独立的完成输入处 理输出。
④各主要处理的步骤应简单明了的注明。 (2)软件功能加入后的包括报表、文件、屏幕查询或者更新的数据 库等产品。各个软件产品应有样本让客户了解。 (3)硬件资源表(现有的) (4)软件资源表(未来的)

2.可行性研究的步骤

4)导出新系统的高层次物理解法,提出多个供选择的 方案,并对每一个方案的经济可行性、技术可行性、 运行和操作可行性等进行分析比较。 5)推荐建议的方案。 如果系统分析员认为值得开发,则应指出开发的价 值、推荐方案的理由并为推荐的系统草拟一份开发计 划;若分析员认为不值得开发,也应拿出充分的理由。 并提交可行性研究报告等全部文档。 6)评审、复审和决策。 可行性研究最后要通过技术评审和管理复审,开发方 和客户方或使用部门负责人根据成本-效益分析等各 项可行性研究的结论,决策是否继续这项工程。

2.2.2 经济可行性
对待开发系统的经济可行性的论证(其中主要是成 本-效益分析)是可行性研究的重要内容。它可用 于评估系统的经济合理性、给出系统开发的成本估 算,并将估算的成本与可获得的利润进行对比,从 经济角度论证待开发系统是否可行。 项目开发的成本受项目的特点、规模等多种因素的 制约,尤其是其中的软件要素的开发成本在可行性 研究阶段很难准确估算。 经济效益——指应用系统可为用户增加的收入。 社会效益——指应用系统给社会带来的好处。

1.成本估算
基于计算机系统的成本主要由4部分组成: ①购置并安装软硬件及有关设备的费用。 ②系统开发费用。 ③系统安装、运行和维护费用。 ④人员培训费用。 在可行性研究阶段只能对上述费用所构成的成本进 行估算。其中软件开发成本可用前面已介绍的估算 方法进行估算。在系统开发完毕并交付用户运行后, 即可统计出实际开发成本。

【例3.1】已知一个基于计算机的系统的软件升级的开 发成本估算值为5000元,预计新系统投入运行后每年 可以带来2500元的收入,假定新软件的生存周期(不 包括开发时间)为5年,当年的年利率为12%,试对 该系统的开发进行成本-效益分析。
1.货币的时间价值: 指同样数量的货币随时间的不同具有不同的价值。 一般货币在不同时间的价值可用年利率来折算。

设:i 表示年利率,现在存入P元,n年后的价值为F元,
则有: F=P(1 + i )n (3-1)

如果n年后能收入F元,这些钱折算成现在的价值称为 折现值,折现公式为: P = F /(1 + i )n (2-2) 对本题的将来的收入折现,计算结果如表2-1所示。 表2-1 将来的收入折算成现在值 第n年 n(年) 的收入 1 2 3 4 5 2500 2500 2500 2500 2500 (1+i)n 1.12 1.2544 1.404928 1.57351936 1.762341683 折现值 2232.14 1992.98 1779.45 1588.80 1418.57 累计折现值 2232.14 4225.12 6004.57 7593.37 9011.94

2.纯收入。是指在整个生存周期系统的累计收入的折 现值PT 与总成本折现值S T 之差,以T表示,则有:
T= PT – ST = 9011.94 – 5000 = 4011.94(元) (2-3)

如果纯收入小于或等于0,则这项工程单从经济观点 来看是不值得投资的。
3. 投资回收期。

是指系统投入运行后累计的经济效益的折现值正好等 于投资所需的时间。本例中的投资回收期为:
2+(5000 – 4225.12)/1779.45 = 2 + 0.44 = 2.44(年) 投资回收期越短,就能越快地获得利润,工程越值 得投资。

4.投资回收率。把资金投入到项目中与把资金存入银 行比较,其中投入到项目中可获得的年利率就称为项 目的投资回收率。设S为现在的投资额,Fi是第i年到 年底一年的收益(i=1,2,…,n),n是系统的寿命, j是投资回收率,则 j 满足方程:
S= F1 (1+j) –1 + F2 (1+j) –2 + … + Fn (1+j) –n (3-4)

解这个方程就可以得到投资回收率j。本题的投资回 收率为41.04%,而如果直接把资金存入银行的投资 回收率就是年利率12%。
如果仅考虑经济效益,只有项目的投资回收率大于年 利率时,才考虑开发问题?;挂悸巧缁嵝б?。

成本估算的常用方法
?

1、自顶向下的估算方法
– 参照以前完成的项目所耗费的总成本(或者

总工作量),来推算将要开发的软件的总成 本(或者总工作量),然后把它们按阶段和 工作单元进行分配。 – 优点:重视系统级工作,所以估算中不会遗 漏继承、配置管理等系统级工作。 – 缺点:不清楚低级别上的技术性困难。而往 往是这些困难使成本上升。

成本估算的常用方法
?

2、自底向上的估算方法 ? 对于待开发项目的每个细节,分别估算 每一个子任务所需要的开发工作量,然 后加起来得到总工作量。 ? 优点:每个子任务估算准确,因为是开 发者估计。 ? 缺点:往往缺乏与软件开发有关的系统 级工作量,所以估算往往偏低。

成本估算的常用方法
?

3、差别估算方法
– 把开发项目与已经完成开发的若干个项目进

行比较,找出与某个相类似项目的若干不同 之处,并估算每个不同之处对成本的影响, 导出开发项目的总成本。 – 优点:该方法能提高估算的准确度。 – 缺点:不容易明确差别的界限。

进度管理
?

进度的合理安排是如期完成软件项目的重要保 证,也是合理分配资源的重要依据。安排软件 开发项目进度有两种方法。
– 系统最终交付日期已经确定。
– 系统交付日期由开发部门在一个时间范围内确定。

?

进度安排的常用图形
– Gantt(甘特)图 – PERT(计划评审技术)图

Gantt(甘特)图
建立一个二维坐标:其横轴为时间轴, 纵轴为任务轴。根据每个任务开发需要 的时间刻画平行于横轴的直线段,其起 点为任务开始开发的时刻 ,终点为任务 结束开发的时刻。 ? 优点:直观、清晰 ? 缺点:无法反映出任务之间的依赖关系, 难以确定整个项目的关键路径。
?

PERT(计划评审技术)图
?

PERT图是有向图:图中的有向弧表示任 务,可以标上完成任务的时间,还可以 标上一个松弛时间,表示完成此任务的 余地;图中的节点表示流入任务的结束 并开始流出任务,这里把节点称为事件, 只有当流入节点的所有任务全部结束, 流出此节点的任务才可以开始。
完成任务所需时间 (松弛时间) 事 件 号
最早 时刻 最迟 时刻

任务

事件

Gantt(甘特)图例

任务3 任务2 任务1 2 4 6 8 10 12 14 16 18 20 22 24

PERT图例
其中松弛时间为0的这些任务构成了完成整个工程的关键路径。 1 2 3 4 6 8 10 11
2 (3) 3 4 (0) 1
0
6

5

8 11

4 (3) 8
15 15

6

2 0 (0)

2

2
2

(0) 0

6

3 12 (0)
12

6 (0) 10
21

(5) 0 1 15 (5)
20

3 (1)

4

6 (0) 6 (6)0
6

21

2 (0)

11

23

23

9 2 (6) 12
18

1 (11)

7

计划图
关键路径(费时最多的路径):BEGI 任务A最多可以推迟多少天(理想前提为从结点A到终节点I中 间的结点都能准时完成任务):20-(4+1+4+7)-2=2
B
2

E

5

G

6

A

2

I D
4

7

F
C
1

1

H

4

2.2.3技术可行性研究
技术可行性是可行性研究的关键内容。由于系统分 析和定义过程与系统技术可行性评估过程同时进行, 此时系统的功能、性能和目标的不确定性会给技术 可行性论证带来许多困难。其主要包括: 1)风险分析。其任务是在给定的约束条件下,论证 能否实现系统所需的功能和性能。 2)资源分析。其任务是论证是否具备系统开发所需 各类人员的数量和质量、软硬件资源和工作环境等。 3)技术分析。其任务是论证现有的科学技术水平和 开发能力是否支持开发的全过程并达到系统功能和 性能的目标。

2.2.3 技术可行性研究
为了进行有效的技术可行性研究,系统分析员 应采集系统功能、性能、各种约束条件、所需 的各种资源等方面的信息,进而分析系统开发 可能承担的技术风险;分析实现系统功能和性 能所需的各种设备、人员(MSF的开发小组组 成)、技术、方法、工具和过程;从而从技术 角度分析开发系统的可行性。如果可能,应充 分研究与新系统类似的原有系统。

数学建模、原型建造和模拟是基于计算机系统 技术可行性研究的有效工具。

MSF小组角色的工作职责
角色 产品管理 前景认可 撰写前景文档 项目计划认可 负责概念设计 工作域认可 管理客户需求 发布 协调β站点和产品 发布

程序管理

开发

用户教育

测试

后勤管理

所有角色

确定设计目标,成 草拟功能规格说明, 管理规格说明,跟 功因素、建立项目 逻辑设计,为下阶 踪项目、交流项目 基础设施 段制定计划,确定 状态,准备β计划, 交付日期 协调可用性测试 提供技术方面的咨 评价技术、参加物 开发产品元素、演 询 理设计,估计每个 示、构造内部发布、 任务的花费、定义 优化代码、协助可 进度 用性测试 指定培训计划、可 从客户胜任的角度 撰写和评估文档、 视设计和培训的战 评价设计,准备文 图形和课程资料协 略 档和在线帮助材料 助可用性测试 评估前景/工作域 评价设计、为下一 实施测试和报告结 陈述 阶段的测试做计划。 果,确认错误被更 正,完成可用性测 试 识别部署要注意的 评价设计,为首次 建立营运和支持的 问题 运行制定计划进度 指导原则,制定最 后发布的进度。 定义风险 更新风险 更新风险

跟踪项目状态和发 布进度

修理缺陷、整理完 所有开发文档

实施培训

确定β发布和最终 发布、实施配置测 试 支持β发布和管理 首次试运行,管理 发布过程 更新风险

MSF可行性研究方法 --------在企业里面IT为什么不怎么行?
企业遇到的10大IT管理问题
编 号 1 内容 调整IT和公司目标一致 1996 1 1995 1 1994 2 199 3 2

2
3 4 5 6 7 8

数据的组织和实用化
建立跨功能的信息系统 利用IT作为竞争的突破点 如何集成系统 为IT的更新提供资金 连接客户和供应商 更新陈旧系统

2
3 4 5 6 7 8

3
2 13 16 15 7 9

3
4 15 8 13 16 7

4
4 15 11 14 16 8

9
10

创建信息体系结构
实现业务再工程

9
10

8
4

5
1

7
1

MSF可行性研究方法 ------规划和分析企业的体系结构
?

规划从四个侧面进行


业务侧面(目的:改变组织的目的、目标及业务过程)
? ? ? ? ?

组织的目的和目标----组织的业务? 组织的结构---谁负责? 关键的业务过程与活动---组织如何做业务? 与客户的关系---谁是最终客户 与供应商/制造商的关系---组织需要和谁协同工作? 寻找一组自动化服务来支持业务过程----哪些自动化过程? 识别冗余的应用---有哪些职责是重复的? 识别重用的机会-----有哪些数据或者活动单元在不同职责中被使用。



应用侧面(目的:改变应用程序和构件之间的关系)
? ? ?

– – –

信息侧面(目的:改变信息的存储和使用) 技术侧面(目的:改变平台和用到的产品) 执行业务使命所需的技术服务
? ? ? ?

拓扑结构 开发环境 应用编程接口 安全、网络服务、技术规范、数据库管理系统、操作系统和硬件层。

MSF可行性研究方法 -------企业体系结构设计
?

新的体系结构具有如下特征
– 用IT作为业务驱动的主线,而不是靠员工的能力和技术驱动 – IT投资决策与其它业务决策一样基于价值。 – 在整个技术环境中,追求简单性和灵活性。

?

企业体系结构的内涵是:
? ? ?

描述该组织的业务活动:揭示产品/服务、客户和供应商是如何交互的,揭 示组织的结构,揭示业务流程。 描述实施业务活动所必须的信息: 描述用于交付应用的信息技术和基础设施

?

企业体系结构(项目)的规划
– 基于业务发现和定义最关键的需求 – 指导一个组织从当前状态达到计划的状态,确定哪些体系结构(IT项

目)需要做,其中哪些需要先做。 – 相应的体系结构(IT项目)开发采用版本化发布的方式进行。最终达 到理想的状态。

MSF的风险管理 ----什么是风险
?

MSF认为,一个软件项目的研发是否进行的顺 利只有问题定义阶段的可行性研究是远远不够 的,因为在软件研发的整个过程都会出现异常 的突发情况,而这些情况都会导致本来可行的 技术路线、经济规划和其他因素出现问题,变 得不那么可行了,最终使我们的软件研发活动 无法按照当初的计划进行下去。MSF把这种可 能出现的意外情况叫做风险。风险具有不确定 性和会带来损失这样两个基本特性。

MSF的风险管理 ------风险的特征
每个项目都有风险:风险是项目的基本 属性,与生俱来。 ? 风险是可以被管理的,主要是通过识别 和减少开发活动的不确定性。 ? 风险的发生对当前的开发活动是不好的, 但对以后的开发活动是有意义的。
?

MSF的风险管理 ------成功的风险管理原则
? ?

? ? ?

在整个项目生命周期中不断评估风险。因为新的风险 总是会不断的出现。 采用基于风险的决策。这是风险管理所要求的,小组 行动的优先权应该和风险的状态挂钩,高风险的事情 先处理。比如“整个项目的可行性分析”活动。 有一定的正式性。风险管理活动要有一个可理解的过 程(一定程度上的规范和正式)供小组使用。 覆盖所有的关键人物和过程。 主动的风险管理,把风险识别作为主动的行动。

MSF的风险管理 ------风险管理策略
?

1、降低风险:减少风险发生的可能性和 发生后的影响。例如给一个系统配备一 个可靠的数据安全机制,给一个系统加 装不间断电源。 ? 2、转移风险:把带有风险的那部分开发 活动转包给有能力的第三方开发组织。 ? 3、避免风险:牺牲一些功能换来较小的 风险,乃至取消整个项目的开发活动。

MSF的风险管理 ------风险管理模型
标识和分析风险:程序管理者负责收集风险评估文档,监督风险的追踪、 控制及再评估;某个角色负责的工作中有风险,就应该识别、分析及定 出解决它的计划,按小组最后的决策事实所负责工作的处理计划。 ? 标识风险:
?

新来的员工占1/4,经验不足,不能按时交付工作产品; – 所选XX公司XXX软件为上月问世新产品,开发人员经验不足。
– ?

分析风险:
估计风险出现的概率P(类比经验数据):高>75%中50%低<25% – 上次类似界面用户满意程度中等(50%),此次发生此种问题的可能性不会 大。(<25%:另外把满意度设为程度表示比较好,比如高中低))


?

估计风险的影响C:
灭顶之灾=4 – 严重=3 – 非紧要=2 – 轻微=1


MSF可行性研究方法 -------MSF过程模型
? ?

在可行性研究的视角下项目实施具有三个基本特征:资源R、进度S、 特征F(前两项为ISO/IEC9126软件质量度量模型中的质量特性) 下面的项目互易矩阵在全过程中定义和描述着一个可行的方案具有 的性质。其实就是在技术可行性、经济可行性和社会可行性中进行 平衡折中定义一个可行路径的过程。 ? 特征定义表
最优 有限定的 寻求不超支的策略 定死时间做出时间框 只以最基本特征上市 可接受的 实报的费用、资源有出 处,可接受 认定产品在某个时间不 能上市,此后可接受 达不到理想特征个数, 通过项目互易可以接受

资源R(资源质量) 进度S(时间质量) 特征F(功能性)

可寻找最小费用策略 可设置及早上市策略 以最大化特征数上市

MSF可行性研究方法 -------MSF过程模型
?

绝对可行的解决方案 ? 特征定义表
最优 有限定的 可接受的 √ √ √

资源R 进度S 特征F

MSF可行性研究方法 -------MSF过程模型
?

基本不行的解决方案 ? 特征定义表
最优 有限定的 可接受的
√ √ √

资源R 进度S 特征F

MSF可行性研究方法 -------MSF过程模型
?

可行的解决方案
?
最优

特征定义表
有限定的 √ 可接受的

资源R 进度S 特征F 最优 资源R 进度S 特征F √ √

√ 有限定的 可接受的 √ √

ISO/IEC9126软件质量度量模型
ISO/IEC 9126-1991标准规定的软件质量度量模型,它由3层组成,其中 第1层称为质量特性,第2层称为质量子特性,第3层称为度量。

2.2.3 技术可行性研究
建造的基于计算机系统的模型必须具备以下特点: 1)模型应能反映要评估系统的构成的动态特性,容易 理解和操作,能够尽量提供系统真实的结果并有利于 评审。 2)模型应包括与系统有关的全部相关元素,能够再现 系统运行的结果。 3)模型应突出表现与系统相关的重要因素,忽略无关 或次要因素。 4)模型设计应尽量简单、易于实现、易于修改。 如果系统十分复杂,则需将模型分解为若干个具有 层次结构的小模型??梢越柚P投韵低持心掣鲋匾?的独立要素进行专门的评估。如有必要,可以对其中 的关键要素建造原型并进行模拟,以便准确分析其技 术可行性。

2.2.3 技术可行性研究
技术可行性研究应明确给出技术风险分析、资 源分析和技术分析的结论,以便使项目管理人 员据此做出是否进行系统开发的决策。

如果技术风险很大,或者资源不足,或者当前 的技术、方法与工具不能实现系统预期的功能 和性能,项目管理人员就应及时做出撤消项目 的决定。

2.2.4 方案选择
在可行性研究阶段,系统工程师根据系统分析 所确定的系统目标开始研究问题的求解方案。

对于较复杂的大系统,一般都要将其分解为若 干个子系统,接着精确地定义各子系统的界面、 功能和性能,给出各子系统之间的关系。
分解技术可降低解的复杂性,有利于人员的组 织与分工,提高开发生产率和开发质量。

2.2.4 方案选择
由于系统的分解方法可以有多种,因此实现系 统目标的方案也可以有多种。采用的方案不同, 对成本、进度、技术及各种资源的要求就会不 同,系统在功能和性能方面也可能有较大差异。 从另一个角度来看,在系统开发的总成本不变 的前提下,由于系统开发各阶段的成本分配方 案的不同也会影响系统的功能和性能。 另外,由于系统的各功能和性能可能由多种因 素组成,而某些因素之间又是相互关联彼此制 约、不可兼得的。比如系统的计算精度和系统 的执行时间就是互相矛盾的。

2.2.4 方案选择
综上所述,要选择一个较好的方案,首 先要对系统采用多种分解和组合方法提 出多种备选的求解方案,然后依据系统 的功能、性能、成本、进度、系统开发 所采用的技术、风险、软硬件资源、对 开发人员的要求等方面评价每一个预选 方案,并利用折衷手段对预选方案进行 充分论证,反复比较各种方案的成本-效 益,最后选择出一种较好的方案。

可行性研究报告—阶段性成果

它可作为系统规格说明书的一个附件。其主要内容如下: 1)引言:说明可行性研究的目的,项目的名称、背景, 本文档用到的术语和参考资料。 2)可行性研究的前提:说明待开发项目的功能、性能 和基本要求,要达到的目标,各种约束条件,可行性 研究的方法和决定可行性的主要因素。 3)对现行系统的分析:如果有现行系统,说明现行系 统的处理流程和数据流程,系统状态,费用支出,所 需专业人员的种类和数量,所需设备,存在的问题等。 4)方案选择:所选择方案的系统配置,选择方案的标 准。 5)所建议方案的技术可行性分析:对所选择的较好的 方案的风险分析、资源分析和技术分析;对子系统的 技术分析。

可行性研究报告—阶段性成果
6)经济可行性分析:说明所建议系统的成本-效 益分析结果。

7)运行、操作可行性分析。
8)法律可行性分析。 9)其他可供选择方案:分别说明每一个可供选 择的方案,并应说明未被推荐的理由。 10)结论意见:说明项目是否能开发,还需要什 么条件才能开发以及对项目目标有何变动等。 可行性研究报告应提交管理部门,由管理人 员对可行性研究报告进行评审并做出决策。

2.4 系统规格说明与评审
2.4.1 系统规格说明
系统规格说明是系统分析和定义阶段生成的一 种文档。 该文档描述了基于计算机系统应达到的目标, 应具有的功能、性能和支配系统开发的各种约 束条件; 指明了各子系统在整个系统中的作用和地位; 描述了系统的输入输出数据和控制信息。 系统规格说明是硬件工程、软件工程、数据库 工程和人机工程的基础。

可供参考的系统规格说明目录
1.引言 1)文档的范围和目的 2)概述 ①目标 ②约束 2.功能和数据描述 1)系统结构 ①系统结构关系图 ②系统结构关系图的描述 3.子系统描述 1)子系统N的规格说明 ①结构流图 ②系统模型说明 ③性能说明 ④设计约束条件 ⑤分配系统部件 2)结构字典 3)结构互连图及说明

可供参考的系统规格说明目录
4.系统建模和模拟 1)用于模拟的系统模型 2)模拟结果 3)特殊性能 5.项目问题 1)开发成本 2)进度安排 6.附录

2.4.2 系统规格说明的评审

首先,系统开发人员应当和用户、客户通力合作,对 系统规格说明进行技术评审。技术评审主要解决的问 题有: ①系统规格说明中的定义是否正确,是否正确地 描述了项目的范围、准确定义了系统的功能、性能和 界面,开发人员和用户对系统的目标是否有共同的认 识等。 ②系统功能的复杂性是否与开发风险、成本和进度 预测保持一致。 ③系统及各子系统功能定义是否足够详细。 ④系统与环境及各子系统之间的接口定义是否详细、 有否遗漏。 ⑤是否指明系统性能、可靠性和可维护性等需求。 ⑥是否为以后的开发打下坚实的基础。

管理复审
技术评审通过后,还要进行由项目管理部门和客户 方负责人参加的管理复审。管理复审主要解决的问 题有: ①系统是否有稳定的商业需求、经济和社会效益。 ②系统开发是否还有其他的选择方案。 ③系统各部分开发风险如何。 ④系统开发所需资源是否具备。 ⑤成本和进度计划是否合理等。 管理复审最后应做出是否继续开发项目的决策。 系统规格说明技术评审和管理复审通过后,即可按 照硬件工程、软件工程、数据库工程、人机工程等 并行进行开发工作。

管理复审: 技术评审通过后,还要进行由项目管理部门和客户方 负责人参加的管理复审。管理复审主要解决的问题有: ①系统是否有稳定的商业需求、经济和社会效益。 ②系统开发是否还有其他的选择方案。 ③系统各部分开发风险如何。 ④系统开发所需资源是否具备。 ⑤成本和进度计划是否合理等。 管理复审最后应做出是否继续开发项目的决策。 系统规格说明技术评审和管理复审通过后,即可按 照硬件工程、软件工程、数据库工程、人机工程等并行 进行开发工作。

2.5 项目开发计划
?

根据软件系统的目标和任务,把在开发过 程中各项工作的负责人员、开发进度、 所需经费预算,以及所需软件、硬件做 出安排记载下来。以便开展和检查该软 件工程项目的开发工作。

2.5 项目开发计划
?

制定计划的原则
– 遵循软件系统开发各阶段的已有经验。
?

?
?

编码前(调查10%、分析和设计占30%)共40%); 编码占20%; 编码后(测试、安装和维护)占40%。

– 项目开发计划应该具有足够的灵活性。
? ?

文档编写占据整个项目的40%工作量 项目计划时间要在实际评估的时间基础上预留1.2—1.5倍。

2.5 项目开发计划
?

软件计划任务书
– 软件(工程)工作范围:软件功能、性能、可靠性以及接口

等防刚面的需求进行描述,形成总体任务说明,以指导软件 开发各阶段工作。 – 环境资源:对人力资源、硬件和软件的分配使用情况,对每 种资源的描述基本上包括资源的状况、资源要求的日程安排、 资源使用的持续时间等三个方面说明 – 进度安排:
? ?

根据已有经验。 任务分类:
– 承前启后任务(编码和详细设计)之间可以同组人员完成 – 独立性任务(不同??榈谋嗦耄┲淇梢圆煌槿嗽蓖瓿?– 依附性任务(编写各个阶段的文档)之间只能由同组人员完成

?

确定各个阶段需要投入的资源(软硬件、人员、资金等)



推荐相关:
9979997藏宝阁香港马会 | 9979997藏宝阁香港马会
All rights reserved Powered by 9979997藏宝阁香港马会 www.shixinhuamu.com
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@qq.com