已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 1 页 软件项目的风险分析软件项目的风险分析 软件工程项目的开发也存在各种各样的风险 有些风 险甚至是灾难性的 R Charette 认为 风险与将要发生的 事情有关 它涉及诸如思想 观念 行为 地点 时间等 多种因素 风险随条件的变化而改变 人们改变 选择 控制与风险密切相关的条件可以减少风险 但改变 选择 控制条件的策略往往是不确定的 在软件开发过程中 人 们关心的问题是 什么风险会导致软件项目的彻底失败 顾客需求 开发环境 目标机 时间 成本的改变对软件 项目的风险会产生什么影响 人们必须抓住什么机会 采 取什么措施才能有效地减少风险 顺利完成任务 所有这 些问题都是软件开发过程中不可避免并需要妥善处理的 软件工程的风险分析包括 风险标识 风险估算 风险评 价和风险管理四部分 1 风险标识 从宏观上看 风险可以分为项目风险 技术风险和商 业风险三类 由于项目在预算 进度 人力 资源 顾客 和需求等方面的原因对软件项目产生的不良影响称为项目 风险 软件在设计 实现 接口 验证和维护过程中可能 发生的潜在问题 如规格说明的二义性 采用陈旧或尚不 成熟的技术等等 对软件项目带来的危害称技术风险 开 发了一个没人需要的优质软件 或推销部门不知如何销售 第 2 页 这一软件产品 或开发的产品不符合公司的产品销售战略 等等 称为商业风险 这些风险有些是可以预料的 有些 是很难预料的 为了帮助项目管理人员 项目规划人员全 面了解软件开发过程存在的风险 Boehm 建议设计并使用各 类风险检测表标识各种风险 2 风险估算 软件项目管理人员可以从影响风险的因素和风险发生 后带来的损失两方面来度量风险 为了对各种风险进行估 算 必须建立风险度量指标体系 必须指明各种风险带来 的后果和损失 必须估算风险对软件项目及软件产品的影 响 必须给出风险估算的定量结果 3 风险评价和管理 在风险分析过程中 经常使用三元组 RI LI XI 描述 风险 其中 RI 代表风险 LI 表示风险发生的概率 XI 是 风险带来的影响 I 1 2 L 是风险序号 表示软件项 目共有 L 种风险 软件开发过程中 由于项目超支 进度 拖延和软件性能下降都会导致软件项目的终止 因此多数 软件项目的风险分析都需要给出成本 进度和性能三种典 型的风险参考量 当软件项目的风险参考量达到或超过某 一临界点时 软件项目将被迫终止 在软件开发过程中 成本 进度 性能是相互关联的 例如 项目投入成本的 增长应与进度相匹配 当项目投入的成本与项目拖延的时 第 3 页 间超过某一临界点时 项目也应该终止进行 通常风险估 算过程可分为 四步 定义项目的风险参考量 定义每种风险的 三元组 RI LI XI 定义项目被迫终止的临界点 预 测几种风险组合对参考量的综合影响 三元组 RI LI XI 是风险管理的基础 设高级职员流动给 项目带来的风险为 R 根据历史的经验或直观感觉 高级职 员离开课题组的概率 LI 70 这一事件的出现带来的 影响 XI 是项目开发时间延长 15 项目成本增加 20 于 是项目负责人可以采取下列风险管理措施 1 项目开始以前应控制产生风险的原因 在项目开工后 应想方设法减轻风险影响 2 了解导致项目开发人员变动的原因 在项目开发期间 第 4 页 应控制上述原因 尽量减少人员的流动 3 在工作方法和技术上应采取适当措施 防止因人员流 动给工作带来损失 4 项目在开发过程中应及时公布并交流项目开发的信息 5 建立组织机构 确定文档标准 并及时生成文档 6 对工作进行集体复审 使多数人都能了解工作的细节 跟上工作进度 7 为关键技术准备后备人员 软件项目 尤其是大型项目有二项非常重要的因素 会影响整个项目的进度与质量 它们分别是 人 流 程 与 技术 人 是项目中最难预料与掌控的一项要素 人可分成两 部份 一是客户 二是开发团队 技术 是指软件项目所使用的开发半台 主要指开发环 境及开发语言 是最容易掌握的部份 流程 是指软件开发流程或是项目流程 定义流程的目 的是要掌控所有的情况 项目的最大敌人是时间及预算 这两者都是有限的 如何在有限预算内准时完成项目 可 说是一项艺术 人人 因素分析因素分析 人 是指客户和开发团队 其中开发团队的因素对 第 5 页 项目影响很大 对于这方面影响因素主要分析如下 人员技能未达到要求 在项目开始之初 我们假设项目成员都能够达到组织 级的要求 但往往并不是每个成员都能够达到要求 而且 项目中每个成员的生产率差异可能很大 也给项目进度安 排造成影响 所以在项目始之初 应该对项目成员的技能 进行一次总体的评估 对于大家都欠缺的技能 应该安排 统一的培训 后续需要对培训的效果进行跟踪 对于个别 人员技能欠缺的 应该单独预留自我学习时间或通过以师 带徒的方式进行培养 使其技能能够尽快达到要求 对于 项目新员的工作和任务 应该加强评审和检查 保证输出 不出现大的偏差而导致后续大量的返工 对于这方影响因 素主要分析如下 项目成员责任心不强 态度决定一切 细节决定成败 对于项目过程中的各 项任务 经常出现由于项目成员责任心不强敷衍了事 导 致产出的工件质量较差 引起大量返工的情况 在这种情 况下 项目更应该加强项目规范的建设 项目经理应加强 同这些成员的单独沟通 加强项目的团队建设和集体荣誉 感 让项目成员感觉到做的系统是他们自己的产品 而不 是公司的项目 项目经理的项目 项目沟通问题 第 6 页 在软件项目中 保证项目各种角色和成员中的高效沟 通是很重要的 如何建立起快捷顺畅的沟通渠道 采用最 佳的沟通方式来解决问题 必须在项目中经常强调 如果 一周的项目任务花存实际做事情上有 2 天 而花在沟通上 却占用了 3 天 这时必须及时分析和总结原因 沟通最重 要的就是要在最短的时间里面 采用各种方法或工具 使 交流双方或多方达成一致 项目人员流失 项目人员特别是项目关键成员在项目进行过程中的流 失 对项目影响很大 对于这种情况 应该在项目开始之 初 就作为专门的风险进行跟踪 并考虑具体的应对措施 流程流程 因素分析因素分析 软件的开发流程般定义为 需求分析一可行性分析一 概要设计一结构化设计一详细设计一编码一软件测试一软 件维护 流程 中软件项目的风险 主要体现存 4 个阶段 软件需求阶段 软件设计阶段 软件实现阶段和软件维护 阶段 软件需求阶段 软件的开发是以用户的需求开始 在大多数情况下 用户需求要靠软件开发方诱导 才能保证需求的完整 再 第 7 页 以的形式形成 用户需求 这一重要的文档 需求分析更 多的是开发方确认需求的可行性和一致性的过程 在此阶 段需要和用户进行广泛的交流和确认 需求和需求分析的 任何疏漏造成的损失 会在软件系统的后续阶段被一级级 地放大 因此本阶段的风险最大 软件设计阶段 设计的主要目的在于软件功能正确地反映了需求 需 求的不完整和对需求分析的不完整或者错误 在设计阶段 将被成倍地放大 设计阶段的主要任务是完成系统体系结 构的定义 使之能够完成需求阶段的即定目标 另一方面 也是检验需求的致性和需求分析的完整性和正确性 设计阶段的风险主要来自于系统分析人员 分析人员 存设计系统结构时过于定制 系统的可扩展性较弱 会给 后期维护带来巨大的负担和维护成本的激增 对用户来说 系统的使用比例会有明显的折扣 甚至会造成软件寿命过 短 反之 软件结构的过于灵活和通用 必然引起软件实 现的难度增加 系统的复杂度上升 可靠性降低 给实现 和测试阶段带来风险 系统的稳定性也会受到影响 从另 一个角度上看 用户需求和将来软件运行环境的变化都是 必然的 目前软件设计的所渭的 通用性 是否就能很好 的适应将来需求和运行环境的变化 都是需要认真折衷的 而这种折中也蕴涵着很大的风险 第 8 页 设计阶段蕴涵的另一种风险来自于设计文档 文档的 不健全不仅会造成实现阶段的困难 更会在后期的测试和 维护造成灾难性的后果 例如根本无法对软件系统进行版 本级 甚至是发现的简单错误都无从更正 软件实现阶段 软件的实现从某种意义上讲是软件代码的生产 源代 码木身也是文档的一部分 同时它又是将来运行于计算机 系统之上的实体 源代码书的规范性 可读性是该阶段的 主要风险来源 规范的代码生产会把属于程序员自身个性 风格的成分引入代码的比例降到最低限度 从而减小了系 统整合的风险 软件维护阶段 软件维护包含两个主要的维护阶段 一个是软件生产 完毕到软件试运行阶段的维护 这个阶段是一种实环境的 测试性维护 其主要目的是发现在测试环境中不能或末发 现的问题 另一个阶段是当软件的运行不再能适应用户业 务需求或是用户的运行环境 包括硬件平台 软件环境等 时进行的软件维护 具体可能是软件的版本升级或软件移 植等 第 9 页 技术技术 因素分析因素分析 存软件项目开发和建设的过程中 技术因素是一个非 常重要的因素 项目组一定要本着项目的实际要求 选用 合适 成熟的技术 千万不要无视项目的实际情况选用一 些虽然先进但并非项目所必须且自己又不熟悉的技术 如 果项目所要求的技术项目成员不具备或掌握不够 则需要 重点关注该风险因素 建立项目管理流程 那么如何解决这些问题 实际上很多模型已经给出了 答案 比如 RUP QoS XP 等 但是大家在学习和使用这些 模型的时候 往往觉得这些模型提出的概念和实施比较难 以操作 另外就是不管是 RUP Q0S 还是 XP 既然是一个方 法模型 就不可避免要描述为一个完整的 系统化的理论 第 10 页 模型 否则就体现不出理论的完整和逻辑的严谨 下面我 们只是把以软件设计为核心的开发管理流程化 避免在频 繁发生外界变化的情况下 变被动为主动 软件项目管理除了按照既定的管理流程进行有效的控 制 还要对各阶段的文档进行标准化管理 保证文档的完 整和标准化 为软件后期的维护提供有力的支持 排排 序序 输入输入风险事件风险事件可能可能 性性 影响影响风险风险 值值 采取的措施采取的措施 1 1 客户的客户的 sowsow 需求不明确 需求不明确 增加需求 导增加需求 导 致需求蔓延 致需求蔓延 70 70 50 50 35 35 请专业需求分析师和客户代表具体请专业需求分析师和客户代表具体 深入细节的交谈 多了解客户的想深入细节的交谈 多了解客户的想 法 站在客户的角度上思考问题 法 站在客户的角度上思考问题 2 2 合同合同进度要求紧 进度要求紧 合同金额和日合同金额和日 期有限 期有限 30 30 50 50 15 15 可以请一些实习的学生做辅助工作 可以请一些实习的学生做辅助工作 一来降低成本 二来可以加快进度 一来降低成本 二来可以加快进度 3 3 历史项历史项 目信息目信息 开发人员对测开发人员对测 试工作不重视试工作不重视 30 30 40 40 12 12 1 1 强制性要求每段代码保留测试 强制性要求每段代码保留测试 单元 由单元 由 SQASQA 检查 检查 4 4WBSWBS 对需求的开放对需求的开放 式系统标准没式系统标准没 有合适的测试有合适的测试 案例案例 20 20 80 80 16 16 找专业的测试公司完成测试工作找专业的测试公司完成测试工作 5 5 历史项历史项 目信息目信息 开发人员的流开发人员的流 动动 15 15 60 60 9 9 1 1 注意项目团队的沟通 及时注意项目团队的沟通 及时 了解开发人员的动态 了解开发人员的动态 2 2 控制好项目过程中的文档控制好项目过程中的文档 3 3 从其它的项目组解调人员从其它的项目组解调人员 4 4 从外部招聘有过此类开发经从外部招聘有过此类开发经 验人员验人员 6 6 系统设系统设 计评审计评审 没有足够的时没有足够的时 间进行产品测间进行产品测 试试 50 50 50 50 25 25 1 1 采取加班的方法采取加班的方法 2 2 修改计划去掉一些任务修改计划去掉一些任务 3 3 与客户商量延长一些时间与客户商量延长一些时间 7 7 需求和需求和 计划计划 采用新技术可采用新技术可 能导致进度的能导致进度的 延期延期 50 50 30 30 15 15 1 1 培训开发人员培训开发人员 2 2 找专家作指导找专家作指导 3 3 采取边开发边学习的方法 采取边开发边学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院消毒隔离知识培训课件版
- 船员货物系固绑扎安全操作试卷及答案
- 建筑施工现场安全防护规范解读
- 1K420160城市桥梁工程安全事故预防 - 详解版(16题)
- 建筑施工现场安全检查评估标准
- 2023年网络信息安全自查总结报告
- (2025年)安全生产考试试题简答题及答案
- 现代办公室文秘工作技能提升培训
- 2026年可持续农业生态系统建设方案
- 基于2026年AI技术突破的客服系统升级方案
- 剖宫产疤痕妊娠课件
- 电信岗位晋升管理办法
- 业务提成协议劳务合同
- T-FIQ 003-2025 青海省可持续挂钩贷款服务指南
- 企业危险化学品安全管理承诺书
- GB/T 11182-2025橡胶软管增强用钢丝
- 2025年关于院外购药吃回扣自查报告
- 【化学】辽宁省丹东市2025届高三下学期总复习质量测试(一)试题(解析版)
- 信息系统分析与设计 课件全套 廖浩德 0 课程简介、1.1 计算与计算学科 -9 动态行为建模
- 仪表联锁培训课件
- 2025版小学语文新课程标准
评论
0/150
提交评论