Download presentation
Presentation is loading. Please wait.
Published byBenny Gunawan Modified 6年之前
1
第13章 控制管理 本章主要内容:软件配置的概念,软件配置管理的任务;软件质量的定义,影响软件质量的因素,软件质量保证的策略和过程,软件质量的度量;软件风险的识别、估计、管理和评估,软件风险驾驭和监控。 本章重点:配置管理的重要性和管理的内容,软件质量保证的策略和过程,软件风险的识别、管理和驾驭; 本章难点:风险识别、风险估计、风险驾驭和监控 。
2
第13章 控制管理 13.1 软件配置管理 13.2 软件质量管理 13.3 软件风险管理
3
13.1 软件配置管理 软件管理的危机 软件开发项目中大量的所谓“产品”产生,典型的如代码、文档(包括技术文档、产品文档、管理文档)、数据、脚本、执行文件、安装文件、配置文件、甚至一些参数等,这些产品实际上都是软件项目的直接产品,同时也都是项目资产,极容易被修改(不考虑权限问题)和变化。 软件开发往往都是在“变化”中进行的。 软件项目最终的目标是提交“高质量”的软件产品给最终用户 一些问题对项目同样会产生影响
4
软件配置管理 软件配置管理(Software Configuration Management , SCM)是一门应用技术、管理和监督相结合的学科,通过标识和文档来记录配置项的功能和物理特性、控制这些特性的变更、记录和报告变更的过程和状态,并验证它们与需求是否一致。
5
13.1.3 软件配置管理活动 1.进行配置项的标识 (1) 配置项划分的颗粒度问题。 (2) 不一定要把所有的工作产品都作为配置项。
(3) 对于一些没有实际物理文件,但仍然需要进行配置管理的工作产品,比如操作系统参数、编译器描述、物理特性、版本描述等,为了能进行配置管理,需要对其进行描述,并形成文档,再以配置项形式进行管理
6
13.1.3 软件配置管理活动 2. 进行变更控制 3. 配置管理的状态监控和报告 4. 配置审核 5. 配置管理计划
6. 软件配置管理工具的选择
7
第一个级别 ——版本控制工具,是入门级的工具
第二个级别 ——项目级配置管理工具,适合管理中小型的项目 第三个级别 ——企业级配置管理工具,在实现传统意义的配置管理的基础上又具有比较强的过程管理功能 以下仅对HARVEST 、CLEARCASE与 CVS 的一个简单对比,供参考: (1) 支持的操作系统 (2) 版本管理功能 (3) 变更控制功能 (4) 状态统计功能 (5) 数据的安全性
8
13.2 软件质量管理 软件质量,是贯穿软件生存期的一个极为重要的问题,是软件开发过程中所使用的各种开发技术和验证方法的最终体现。
13.2 软件质量管理 软件质量,是贯穿软件生存期的一个极为重要的问题,是软件开发过程中所使用的各种开发技术和验证方法的最终体现。 软件质量的定义 软件质量反映了以下三方面的问题: (1) 软件需求是度量软件质量的基础。不符合需求的软件就不具备质量。 (2) 在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。 (3) 往往会有一些隐含的需求没有明确地提出来。例如,软件应具备良好的可维护性。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能得到保证。
9
13.2.2 软件质量要素 1. 软件质量模型 正确性、健状性、效率、完整性、可用性、风险性 可理解性 可维修性 灵活性 可测试性 可移植性
可重用性 互运行性 产 品 转 移 产品修改 产品运行 图13.5 软件质量模型
10
13.2.2 软件质量要素 2. 软件质量要素 (1) 功能性 (2) 可靠性 (3) 易使用性 (4) 效率 (5) 可维修性
(6) 可移植性
11
13.2.3软件质量评价准则 功能性 可追踪性 完备性 一致性 可靠性 完全性 精确性 简单性 健壮性 可移植性 清晰性 模块性 自描述性
软件无关 硬件无关 可扩充性 通用性 图13.6 软件质量要素与评价准则
12
13.2.4软件质量度量 (1) 对于不同类型的软件,系统软件、控制软件、管理软件、CAD软件、教育软件、网络软件及不同规模的软件,对于质量要求、评价准则、度量问题的侧重点有所不同应加以区别。 (3) 企业选择软件供应商、开发商,需要考察该公司是否建立起自己的软件质量度量和评价数据 软件质量保证和评价活动有其不同的侧重点。 (2) 对软件质量各阶段都进行度量的根本目的是以此控制成本、进度,改善软件开发的效率和质量
13
全面质量管理 1. 全面质量管理的概念 全面质量管理(Total Quality Management)是一种思想观念,一套方法、手段和技巧,通过全体员工的参与改进流程、产品、服务和公司文化,达到在百分之百时间内生产百分之百的合格产品,以便满足顾客需求(Customer Satisfaction, CS),从而获取竞争优势和长期成功。 2. 实施全面质量控制 (1) 实行工程化开发 (2) 实行阶段性冻结与改动控制
14
13.2.5 全面质量管理 (3) 实行里程碑式的审查与版本控制 (4) 实行面向用户参与的原型演化(5) 尽量采用面向对象和基于构件的方法
(6) 全面测试 (7) 引入外部监理与审计 进行全面质量管理必须抓好下述方面: 内容与方法的全面性。 全过程控制。 全员性。
15
13.3 软件风险管理 13.3.1 什么是风险 所谓“风险”,归纳起来主要有两种意见,主观学认为,风险是损失的不确定性;
要考虑未来,什么样的风险会导致软件项目失败? 要考虑变化,在用户需求、开发技术、目标、机制及其它与项目有关的因素的改变将会对按时交付和系统成功产生什么影响? 必须解决选择问题,应采用什么方法和工具,应配备多少人力,在质量上强调到什么程度才满足要求? 要考虑风险类型,是属于项目风险、技术风险、商业风险、管理风险还是预算风险等?
16
风险管理 项目风险管理实际上就是贯穿在项目开发过程中的一系列管理步骤,其中包括风险识别、风险估计、风险管理策略、风险解决和风险监控。 风险管理包括四个相关阶段: 风险识别 风险评估 风险处理 风险监控
17
13.3.3 风险识别 风险识别就是企图采用系统化的方法,识别某特定项目已知的和可预测的风险。 1. 产品规模风险
与软件规模相关的常见风险因素有: 估算产品的规模的方法 产品规模估算的信任度 产品规模与以前产品规模平均值的偏差 产品的用户数 复用的软件有多少 产品的需求改变多少
18
2. 需求风险 与客户相关的风险因素有: 对产品缺少清晰的认识 对产品需求缺少认同 在做需求中客户参与不够 没有优先需求
对产品缺少清晰的认识 对产品需求缺少认同 在做需求中客户参与不够 没有优先需求 由于不确定的需要导致新的市场 不断变化需求 缺少有效的需求变化管理过程 对需求的变化缺少相关分析
19
3. 相关性风险 客户供应条目或信息 内部或外部转包商的关系 交互成员或交互团体依赖性 经验丰富人员的可得性
项目的复用性 IT风险管理框架研究
20
4. 管理风险 计划和任务定义不够充分 实际项目状态 项目所有者和决策者分不清 不切实际的承诺 员工之间的冲突
21
5. 技术风险 缺乏培训 对方法、工具和技术理解的不够 应用领域的经验不够 新的技术和开发方法 不能正确工作的方法
22
13.3.4 风险估计 又称风险预测,常采用两种方法估价每种风险。一种是估计风险发生的可能性或概率,另一种是估计如果风险发生时所产生的后果。
(1) 建立一个标准(尺度),以反映风险发生的可能性。 (2) 描述风险的后果。 (3) 估计风险对项目和产品的影响。 (4) 确定风险的精确度,以免产生误解 如何进行项目风险评估
23
13.3.4 风险估计 1. 确定型风险估计 (1)盈亏平衡分析 (2)敏感性分析 (3)概率分析 2. 不确定型风险估计
3. 随机型风险估计
24
13.3.5 风险评估 1. 风险评估:在做风险评估时,尽量按以下步骤执行: (1) 定义项目的水平参照值
风险评估 1. 风险评估:在做风险评估时,尽量按以下步骤执行: (1) 定义项目的水平参照值 (2) 找出每组[ri , li, xi,yi]与每个水平参照值间的关系 (3) 估计一组临界点以定义项目的终止区域 (4) 估计风险组合将如何影响风险水平参照值 2. 估计损失的大小 3. 评估损失的概率 由最熟悉系统的人评估每个风险的发生概率,然后保留一份风险评估审核文件。 使用Delphi法或少数服从多数的方法。 使用“形容词标准”。 4. 整个项目超限和缓冲
25
13.3.6 风险管理策略 一个较好的风险管理策略应满足以下要求: (1) 在项目开发中规划风险管理,尽量避免风险
(1) 在项目开发中规划风险管理,尽量避免风险 (2) 指定风险管理者,监控风险因素 (3) 建立风险清单及风险管理计划 (4) 建立风险反馈渠道
26
13.3.7 风险驾驭和监控 1. 建立风险驾驭与监控计划 判断一个预测的风险是否事实、是否发生。
进行风险再估计,确保针对某个风险而制定的风险消除活动正在使用。 收集可用于将来进行风险分析的信息。 风险驾驭及监控的策略如下: 与在职人员协商,确定人员流动原因。 在项目开始前,把缓解这些流动原因的工作列入风险驾驭计划。
27
13.3.7 风险驾驭和监控 制定文档标准,并建立一种机制,保证文档及时产生。
项目开始时,要作好人员流动的思想准备,并采取一些措施确保人员一旦离开时,项目仍能继续。 制定文档标准,并建立一种机制,保证文档及时产生。 对所有工作进行细微详审,使更多人能够按计划进度完成自己的工作。 对每个关键性技术人员培养后备人员。 2. 软件项目风险追踪工具 追踪风险的一个办法是将风险输入缺陷追踪系统中,缺陷追踪系统能将风险项目标示为已解决或尚未处理等状态, 可将软件风险项目依序排列出来,按照缺陷存在的时间与负责者等资料排列。 对任何一个软件项目,可以有最佳的期望值,但更应该要有最坏的准备,“最坏的准备”在项目管理中就是进行项目的风险分析。
Similar presentations