软件过程管理复习大纲reviewl.ppt_第1页
软件过程管理复习大纲reviewl.ppt_第2页
软件过程管理复习大纲reviewl.ppt_第3页
软件过程管理复习大纲reviewl.ppt_第4页
软件过程管理复习大纲reviewl.ppt_第5页
已阅读5页,还剩239页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 软件过程管理 Ch 1软件过程规范 童先群 52306345 2 总成绩分布 平时 10 出勤作业 30 公式 实交作业次数 布置作业总次数 30注 作业 课堂上完成 作为期末复习材料期末 60 3 内容概览 全书共分为10章 以全面阐述软件过程管理的各个方面 首先说明了软件过程规范 成熟度及其相关的概念和理论 包括软件过程标准体系 然后在此基础上 深入讨论了软件过程的组织管理 需求管理 项目管理 质量管理 技术管理和集成管理等流程 方法和实践 并进一步探讨了软件过程评估和改进的框架 模型和实施细节 最后通过具体的应用实践对软件过程管理做了全方位的阐释 4 课程目标 通过本课程的学习 可以了解并掌握 软件过程规范的内容 影响和作用软件过程不成熟的特点 软件过程成熟的标准软件过程的可视性和过程能力软件过程文化 环境和过程框架如何定义组织过程并对过程剪裁以获得项目过程软件过程的需求管理 项目管理和质量管理软件过程的技术管理和集成管理如何实施软件过程的评估和改进 5 软件过程管理不当 软件危机 绝大多数软件企业长期面临 产品质量低下 进度延误 成本高昂 的共性问题 就像患了恶劣的慢性病 难以根除 1969年 软件危机 数十年后 司空见惯 习以为常了 软件过程管理的目的 最大限度地提高软件产品的质量与软件开发过程的生产率 6 本章提纲 1 1过程的定义1 2过程规范1 3软件生命周期的过程需求1 4软件生命周期标准1 5软件过程建模 7 1 1过程的定义 牛津简明词典 中 过程 被定义为活动与操作的集合 例如一系列的生产阶段或操作 书氏大词典 定义 过程 是用于产生某结果的一整套操作 一系列的活动 变化以及作为最终结果的功能 IEEE Std 610定义 过程 是为完成一个特定的目标而进行的一系列操作步骤 如软件开发过程 SEI CMM定义过程是用于软件开发及维护的一系列活动 方法及实践 8 实现 管理和支持过程之间的关系 过程一般可分为实现过程 管理过程 支持过程 9 软件过程包括 软件过程 softwareprocess 是人们用来开发和维护软件及产品的活动 方法 实践和改进的集合 软件过程包括 作业1 需求分析 概要设计 详细设计 编码 测试 上面几点仅属于基本过程 10 1 1 2软件过程的分类和组成 软件基本过程 实现过程 软件获取 供应 开发 运行和维护的过程 包括需求分析 软件设计 编码等过程 软件支持过程 包括文档编制过程 配置管理过程 质量保证过程 验证和确认过程 测试过程 评审过程等 软件组织过程 对软件主要过程和支持过程的组织保证过程 包括管理过程 基础设施过程 改进过程和培训过程 11 IEC12207软件生存周期过程国际电工委员会 InternationalElectrotechnicalCommission 简称IEC 12 软件过程的基本组成示意图 工程过程 EngineeringProcess ENG 支持过程 SupportProcess SUP 管理过程 ManagementProcess MAN 组织过程 OrganizationProcess ORG 客户 供应商过程 Customer supplierProcess CUS 关键 核心 基础 13 ISO IEC15504软件生存周期过程 基本过程 组织过程 5个过程并行执行 14 1 1 3软件过程定义的层次性 公共 通用 软件过程 组织标准软件过程 项目自定义的软件过程 大学模型我校情况我系情况 15 1 3软件生命周期的过程需求 1 3 1软件工程过程1 3 2软件支持过程1 3 3软件管理过程1 3 4软件组织过程1 3 5软件客户 供应商的过程 16 1 3 1软件工程过程 工程过程是软件系统 产品的定义 设计 实现以及维护的过程 P10开发过程 定义并开发软件产品的活动过程 包括需求分析 软件设计 功能性与非功能性 和编程等 运行过程 在规定的环境中为其用户提供运行计算机系统服务的活动过程 包括软件部署维护过程 提供维护软件产品服务的活动过程 也就是通过软件的修改 变更 使软件系统保持合适的运行状态 这一过程包括软件产品的移植和退役 17 1 3 2软件支持过程 文档编制配置管理质量保证验证确认联合评审审核问题解决 明确如何写文档 标准 写什么文档 各类文档 规定文档的内容 相关的输出产品 根据定义的标准与已确定的计划来编写 审查 修改和发布所有文档 按已定义的标准和具体的规则维护文档 文献综述 开题报告 毕业论文内容及系统阶段性的检查答辩 18 1 3 2软件支持过程 文档编制配置管理质量保证验证确认联合评审审核问题解决 进行配置管理最低要求是保证重要工作成果不发生混乱 如果没有配置管理 最大的麻烦就是工作成果被覆盖 新的覆盖老的版本 后果 Checkout checkin 时间间隔 例 ghost 如同入库出库 必须做好所有记录 严格坚持出入库检查 确保配置项的完全性与一致性 P126 19 1 3 2软件支持过程 文档编制配置管理质量保证验证确认联合评审审核问题解决 健康定义 古代 现代 最高境界 零缺陷 Microsoft 航空航天什么时间进行 制定出计划与进度表 确定有关标准 方法 规程与工具 所需的资源 组织及其组织成员的职责 保证各类相关的计划进度保持一致 20 1 3 2软件支持过程 文档编制配置管理质量保证验证确认联合评审审核问题解决 根据需要验证的工作产品所制定的规范 如产品规格说明书 实施必要的检验活动 有效地发现各类阶段性产品所存在的缺陷 并跟踪和消除缺陷 验证强调的是在开发过程中对工作产品进行检查 尽早发现问题 验证 VER 保证做的对 验证规格需求按钮响应时间为1秒 21 1 3 2软件支持过程 文档编制配置管理质量保证验证确认联合评审审核问题解决 确认强调的是 在真实的使用环境中 确保软件能达到预期的效果 如 尽快发出一个小版本 在实际环境中运行起来 尽快发现确认其中的问题 一般来说 调试 试用 验收测试等都是确认的工作 确定 VAL 保证做对的产品 属于性能需求 大容量存储 响应时间为1秒 多线程后台处理来解决这个问题 22 1 3 2软件支持过程 文档编制配置管理质量保证验证确认联合评审审核问题解决 与客户 供应商以及其他利益相关方 或独立的第三方 对开发的活动和产品进行评估 为联合评审的实施制定相应的计划与进度 跟踪评审活动 直至结束 23 1 3 2软件支持过程 文档编制配置管理质量保证验证确认联合评审审核问题解决 判断是否与指定的需求 计划以及合同相一致 由合适的 独立的一方来安排对产品或过程的审核工作 以确定其是否符合特定需求 24 1 3 2软件支持过程 文档编制配置管理质量保证验证确认联合评审审核问题解决 提供及时的 有明确职责的以及文档化的方式 以确保所有发现的问题都经过相应的分析并得到解决 提供一种相应的机制 以识别所发现的问题并根据相应的趋势采取行动 25 1 3 3软件管理过程 对其它四个过程的实践活动提供指导 跟踪和监控的过程 26 1 3 3软件的管理过程 项目管理过程是计划 跟踪和协调项目执行及生产所需资源的管理过程 立项管理是决策行为 决策是指 做正确的事情 立项后 目标是 正确地做事情 正确 为过程和执行制定计划 进行项目规划 城市规划 制定进度表 项目监控 成本估计 项目间接口等结项管理与立项管理相对应 27 1 3 3软件的管理过程 质量管理过程是对项目产品和服务的质量加以管理 从而获得最大的客户满意度 以客户的质量需要为基础 定义质量度量标准并实时检查 未达到质量目标要及时采取相应的措施等 28 1 3 3软件的管理过程 风险管理过程 在整个项目的生命周期中对风险不断的识别 诊断和分析 回避风险 降低风险或消除风险 并在项目以及组织层次上建立有效的风险管理机制被刻画为风险的事件最终可能发生也可能不发生 人们对待风险有两种态度 被动态度 救火模式 主动态度 防火模式 风险管理属于 防火模式 量化管理风险 风险严重性 风险可能性 风险系数 29 1 3 3软件的管理过程 子合同商管理过程 选择合格的子合同商并对其进行管理的过程软件管理的四个过程 作业2 30 1 3 4软件组织过程 全局规划 组织过程是软件组织用来建立和实现由相关的生命周期过程和人员组成的基础结构并不断改进这种结构的过程 业务规划过程定义过程改进过程人力资源和培训过程基础设施过程 31 1 3 4软件组织过程 全局规划 业务规划过程是为组织与项目成员提供对远景的描述以及企业文化的介绍 从而使项目成员能更有效地工作 明确保每个人都有明确定义的工作 定义过程是建立一个可重复使用的过程定义库 指导其他四个过程 裁剪 改进过程是为了满足业务变化的需要 提高过程的效率与有效性 而对软件过程进行持续的评估 度量 控制和改善的过程 进一步裁剪 32 1 3 4软件组织过程 全局规划 人力资源和培训过程 为项目或其它组织过程提供培训合格的人员所需的活动基础设施过程是建立生存周期过程基础结构 为其他过程建立和维护所需基础设施的过程 软件工程环境 33 1 3 5软件客户 供应商的过程 客户 供应商过程是内部直接影响到客户 外部直接影响开发 向客户交付软件以及软件正确操作与使用的过程 包括 获取过程客户需求管理过程供应过程软件操作过程客户支持过程 34 1 3 5软件客户 供应商的过程 获取过程 以客户为主导的 以客户的需求为起点 以客户对产品或服务的认同与接受为终点 从确定需要获取的软件系统 产品或服务开始 然后制定和发布标书 选择供方和管理获取过程 直到验收软件系统 产品或服务 该过程的成功实施会导致最终生成一个明确的合同或条约 清楚地描述出客户与供应方的期望 职责与义务 35 1 3 5软件客户 供应商的过程 客户需求管理过程 在整个软件生命周期中 针对不断变化的客户需求加以收集 处理和跟踪 并建立软件需求的基准线 以作为项目中软件开发活动过程和产品度量和变更管理的基础收集 处理 跟踪同样重要 需求是产品的根源 需求工作的优劣对产品影响最大 河流污染 36 1 3 5软件客户 供应商的过程 供应过程 按客户 事先规定的要求对软件进行包装 发布与安装的活动过程确定包装 发布以及安装软件的有关要求 软件有效地被安装与使用 软件达到需求定义中所规定的质量水平 37 1 3 5软件客户 供应商的过程 软件操作过程 确定和管理由于引入并发操作软件而带来的操作上的风险 按要求的步骤和在要求的操作环境中运行软件 提供操作上的技术支持 以便解决操作过程中出现的问题 确保软件 或主机系统 有足够的能力满足用户的需求 38 1 3 5软件客户 供应商的过程 客户支持过程 基于实施情况 确定客户所需要的支持服务 通过提供适当的服务来满足客户的需求 针对客户对产品本身及其相应的支持服务的满意程度进行持续的评估 39 作业 软件过程包括 软件管理的四个过程 软件项目管理包括哪几个主要管理 了解项目经理的职能 上网或查资料 要求写满一页 40 软件过程管理 Ch 2软件过程成熟度 童先群 52306345 41 本章提纲 2 1过程成熟度标准2 2能力成熟度模型概述2 3过程成熟度级别2 4软件过程的可视性2 6软件过程框架 42 2 1过程成熟度标准 2 1 1软件过程不成熟的特点2 1 2软件过程成熟的标准 软件过程能力软件过程性能软件过程成熟度 3个基本概念 43 软件过程能力 软件过程能力 遵循软件过程后能够实现预期结果的程度 关注预期结果 该指标是对能力的一种衡量 用它可以预测一个组织 企业 在承接下一个软件项目时 所能期望得到的最可能的结果 如果能按要求完成三年的高中学习 你有能力考上大学 44 软件过程性能 软件过程性能 表示遵循一个软件过程后所得到的实际结果 关注已得到的结果 由于项目要求和客观环境的差异 导致预期和结果不相符合 软件过程性能不可能充分反应软件过程整体能力 即软件过程能力受限于它的环境 如果没考上大学 不代表你的能力不行 可能是其它原因引起的 45 软件过程成熟度 是指一个具体的软件过程被明确地定义 管理 评价 控制和产生实效的程度 成熟度表明了组织 企业 实施软件过程的实际水平 组织软件过程成熟度能力的提高 从而提高软件过程能力从而使软件的质量 生产率和生产周期得到改善 从而达到良好的软件过程性能 46 2 1 2软件过程成熟的标准 软件过程能力高 能达到预期结果 不断提高自身能力 软件过程性能可预见性 积累了有关过程性能的大量历史数据 对效率 成本 质量能做出准确的估计 过程的可视性 软件组织的能力是已知的 软件过程定义清晰过程的每个阶段进出的标准 执行的方法和规则清楚 人员职责清楚 过程的稳定性 有纪律的过程 47 2 1 2软件过程成熟的标准 软件过程规范化 过程定义 方法和规则等文档化 所有过程标准化 有规则可循 过程的一致性 软件过程被正确无误地传递到不同的团队 已定义的过程是真正的标准 过程的丰富性 各种子过程过程的不断改进 通过可控的先导性试验和成本效率分析对过程进行持续改进 可持续发展 48 2 2能力成熟度模型概述 2 2 1CMM的基本内容2 2 2系统工程能力模型2 2 3集成化产品开发模型2 2 4CMMI介绍 49 2 2 1CMM的基本内容P33 CMM是软件过程能力成熟度模型 CapacityMaturityModel CMM 的简称 1991年正式推出了CMM1 0版 CMM描述一条从无序的 混乱的过程到成熟的 有纪律的过程的改进途径 CMM建立起一个标准 对照这个标准就能以可重复的方式判断组织软件过程的成熟度 50 CMM的起源和结构 CMM建立的目的 确定成熟度 找改进策略 CMM的起源P34内容和结构 缩写 51 内容和结构 每个成熟度等级由若干个关键过程域 KPA 组成 不同的成熟度关注的过程域不同 下一层为上一层的基础 先有物质文明 后有精神文明 每个KPA用若干关键实践 KP 加以描述 实施这些关键实践 就实现了关键过程区域的目标 Flash中的关键帧 关键实践以5个共同特点 CommonFeatures 加以组织 执行约定 执行能力 执行的活动 测量和分析 验证实施 52 执行约定 CommitmenttoPerform 简称CO 企业为了保证过程建立和继续起作用必须采取的一些措施 例 建立机构策略 执行能力 AbilitytoPerform 简称AB 组织和项目实施软件过程的先决条件 执行能力一般指提供资源 分派职责和人员培训 执行的活动 ActivitiesPerformed 简称AC 指实施关键过程区域所必需的角色和规程 执行的活动一般包括制订计划和规程 执行活动 跟踪与监督并在必要时采取纠正措施 只有此条与项目执行相关 测量和分析 MeasurementandAnalysis 简称ME 对过程进行测量和对测量结果进行分析 验证实施 VerifyingImplementation 简称VE 保证按照已建立的过程执行活动的步骤 例 评审和审计 53 三合一 十几年来 CMM的改进工作一直不断地进行 美国国防部希望把现在所有的 以及将被开发出来的各种能力成熟度模型 集成到一个框架中去 到2000年 CMM演化成为CMMI CapabilityMaturityModelIntegration 能力成熟度模型集成 CMMI不仅适合软件 而且适合于软件硬件结合的系统 这是对CMM最大的改进 54 2 2 4CMMI介绍 CMMI 55 CMMI项目的成就之一就是在软件和系统工程之间实现了较高的集成化程序 软件和系统工程集成后产生了一个公共的过程域集 56 2 3过程成熟度级别 2 3 1成熟度等级的行为特征2 3 2理解成熟度等级2 3 3成熟度等级的过程特征2 3 4CMMI过程域2 3 5CMM和CMMI过程域的比较分析 57 CMM CMMI成熟度的5个等级 58 2 3 1成熟度等级的行为特征 初始级具有明显的不成熟过程的特点 1 软件过程的特点是杂乱无章 有时甚至混乱 几乎没有定义过程的规则或步骤 所谓 过程 往往是 就这么干 而言 2 开发过程中不断地出现危机 以及不断的 救火 甚至遇到危机就放弃原计划过程 反复编码和测试 3 偶尔成功完全依赖个人努力和杰出的专业人才 能力只是个人的特性 而不是开发组织的特性 一旦优秀人物离去 项目就无法继续 59 1 初始级 4 过分的承诺 常作出良好的承诺 如 按照软件工程方式 有序的工程来工作 或达到高目标的许诺 但实际上却出现一系列问题 5 软件过程是不可确定的和不可预见的 过程是随意的 这类组织也在开发产品 但其成果是不稳定的 不可预见的 不可重复的 也就是说 软件的计划 预算 功能和产品的质量都是不可确定和不可预见的 做事情 考研 要有计划 有跟踪 有文档可查 60 2 可重复级 受管理级 根据多年的经验和教训 人们总结出软件开发的首要问题不是技术问题而是管理问题 因此 第二级的焦点集中在软件管理过程上 可重复级 受管理级建立了管理软件项目的方针和实施这些方针的规程 使软件项目的有效管理过程制度化 有能力去跟踪成本 进度和质量 一个有效过程可特征化为已文档化的 已实施的 可培训的和可测量的软件过程 达到二级证明已经进入规模开发 61 2 可重复级 受管理级 特征 1 进行较为现实的承诺 可按以前在同类项目上的成功经验建立的必要过程准则来确保再一次的成功 2 主要是逐个项目地建立基本过程管理条例来加强过程能力 3 建立了基本的项目管理过程来跟踪成本 进度和功能 4 管理工作主要跟踪软件经费支出 进度及功能 识别在承诺方面出现的问题 5 采用基线 BASELINE 来标志进展 控制完整性 62 3 已定义级 第二级中存在的问题 仅定义了管理的基本过程 而没有定义执行的步骤标准按项目制定软件过程 而不是总结各种项目的成功经验 使之规则化已定义级包含一组协调的 集成的 适度定义的软件工程过程和管理过程 具有良好的文档化 标准化 使软件过程具有可视性 一致性 稳定性和可重复性 软件过程被集成为一个有机的整体 63 3 已定义级 特征 1 无论管理方面或工程方面的软件过程都已文件化 标准化 并综合成软件开发组织的标准软件过程 2 软件过程标准被应用到所有的工程中 用于编制和维护软件 有的项目也可根据实际情况 对软件开发组织的标准软件过程进行剪裁 3 在从事一项工程时 产品的生产过程 花费 计划以及功能都是可以控制的 从而软件质量也可以控制 4 软件工程过程组负责软件活动 5 在全组织范围内安排培训计划 64 2 3 2理解成熟度等级 CMM是一个描述模型 或者说是一个规范 CMM处在调试的抽象层次上 使之不会过多限制一个组织如何去实施软件过程 而是告诉一个组织应该达到的软件过程能力和框架 相当于学英语时的英语大纲 告诉你应该达到的什么水平 但不会限制你如何去学习 65 2 3 2理解可重复级和已定义级 等级2 可重复级技术问题焦点 项目管理过程 项目过程自身的改进 单个项目管理过程一致 为等级3组织层一致打下基础 等级3 已定义级组织体系和管理问题焦点 全组织范围内过程规范化 转向 项目规模和复杂性增长 66 4 已管理级 已管理级的软件过程是量化的管理过程 在上述已定义级的基础上 可以建立有关软件过程和产品质量的 一致的度量体系 采集详细的数据进行分析 从而对软件产品和过程进行有效的定量控制和管理 量化控制将使软件开发真正变成为一种工业生产活动 第四级软件产品是高质量的 67 4 已管理级 特征 1 制定了软件过程和产品质量的详细而具体的度量标准 软件过程和产品质量都可以被理解和控制 2 软件组织的能力是可预见的 原因是软件过程是被明确的度量标准所度量和操作 超过限制范围时 采取措施予以而使软件产品具有可预测的高质量 3 具有良好定义及一致数据库 保存收集到的数据 可用于各项目的软件过程 68 4 已管理级 需要改进的地方 1 缺陷防范 不仅仅在发现了问题时能及时改进 而且应采取特定行动防止将来出现这类缺陷 2 主动进行技术变动管理 标识 选择和评价新技术 使有效的新技术能在开发组织中施行 3 进行过程变动管理 定义过程改进的目的 经常不断地进行过程改进 69 5 优化级 第五级的目标是达到一个持续改善的境界 所谓持续改善是指可根据过程执行的反馈信息来改善下一步的执行过程 即优化执行步骤 优化级不断改善组织的软件过程能力和项目的过程性能利用来自过程和来自新思想 新技术的先导性试验的定量反馈信息 使持续过程改进成为可能 为了预防缺陷出现 组织有办法识别出弱点并预先针对性地加强过程 70 2 3 3成熟度等级的过程特征 第4级 对软件产品的质量 开发进度和其它开发目标进行有效的评估和预测 量化管理 第5级 其焦点是软件过程的持续改进成熟度各个级别的软件过程特征 如表2 2所示 71 2 3 4CMMI过程域 72 2 3 4CMMI过程域 73 2 4软件过程的可视性 74 2 6 3PSP TSP和CMM组成的软件过程框架 个体软件过程 PersonalSoftwareProcess PSP 帮助软件开发团队中的个体 软件工程师改善其个人能力和素质的组织过程PSP告诉软件工程师 如何计划要做的工作如何有效的按照计划来执行工作如何按照计划跟踪自己的性能如何提高程序质量 75 团队软件过程TSP 团队软件过程 TeamSoftwareProcess TSP 属于团队软件开发过程 用于指导项目组中的成员如何有效地规划和管理所面临的项目开发任务并且告诉管理人员如何指导软件开发队伍 始终以最佳状态来完成工作 TSP实施集体管理与自己管理自己相结合的原则 76 2 6 3PSP TSP 77 PSP TSP CMM之间的关系 PSP TSP CMM 78 组织的过程目标 79 作业 举出一些具体的例子说明过程不成熟性 通过查找资料 详细介绍CMM的第二 三 四 五等等级的核心过程域 PSP TSP CMM之间的关系 80 软件过程管理 Ch 3软件过程的组织管理 童先群 xq tong 81 CMM组成 82 3 1组织过程焦点 1 执行约定2 执行能力3 执行活动4 测量与分析5 验证实施 83 组织过程焦点 执行约定 1 组织应该遵循一个文档化的关于协调软件流程的制定和改进活动的组织方针 2 高级管理人员发起对软件过程制定和改进的组织活动 3 高级管理人员监督软件过程的制定和改进的组织活动 84 组织过程焦点 执行能力 1 建立一个负责整个组织的软件过程活动的工作组 2 为软件过程活动提供足够的资源和资金 3 组织软件过程活动的组员进行培训 4 软件工程组和其他工程组的组员接受软件过程活动的相关培训 85 组织过程焦点 执行活动 1 发现问题 定期评估软件过程并根据评估结果制订相应的更改计划 2 制定计划 组织制定和维护有关软件过程和改进活动的计划 3 改进工作 协调组织的标准软件过程和项目自定义的软件过程的制定和改进工作 4 保存数据 协调组织的软件过程数据库的使用 86 组织过程焦点 执行活动 5 尝试新方法 新过程 新方法 新工具的评价 监控和推广 6 培训 对有关组织和项目的软件过程培训进行统一管理 7 通知 及时将有关软件过程制定和改进的活动通知与实施软件过程相关的组和人员 87 组织过程焦点 评估 1 测量和分析 两个比较 每次软件过程的评估结果与以往的评估结果和建议的比较 已经完成的工作量以及实际消耗的资源与计划的比较 2 实施验证 要求领导的足够重视 评审软件过程制定和改进活动的进展状态 分析在低层次上无法解决的矛盾和问题 各项活动的组织 实施 审核以及结果 总结验证结果 88 3 2组织过程定义 组织过程定义 在组织层上定义软件过程 各个项目通用的过程 组织过程定义的目的 是开发和维护一组可用的软件过程财富 softwareprocessassets 成功经验 用来改进跨越各个项目的过程性能 为组织的长期发展奠定基础 89 看图后 你能想出的软件过程财富是 软件生命周期 90 组织过程定义 软件过程财富 软件过程财富可用于开发 执行和维护标准软件过程和项目定义软件过程 软件过程财富主要包含如下内容 组织标准软件过程 软件生命周期的描述 过程剪裁指南和准则 组织软件过程数据库 软件过程的有关文档库 91 2 6 3PSP TSP和CMM组成的软件过程框架 个体软件过程 PersonalSoftwareProcess PSP 帮助软件开发团队中的个体 软件工程师改善其个人能力和素质的组织过程PSP告诉软件工程师 如何计划要做的工作如何有效的按照计划来执行工作如何按照计划跟踪自己的性能如何提高程序质量 92 团队软件过程TSP 团队软件过程 TeamSoftwareProcess TSP 属于团队软件开发过程 用于指导项目组中的成员如何有效地规划和管理所面临的项目开发任务并且告诉管理人员如何指导软件开发队伍 始终以最佳状态来完成工作 TSP实施集体管理与自己管理自己相结合的原则 93 3 3PSP过程框架 PSP的目的 为了改善软件工程师的开发性能 对项目有一个比较准确的把握 PSP过程由一系列方法 表格 脚本等组成 用以指导软件开发人员计划 度量和管理他们的工作 94 PSP过程框架 95 PSP成熟度模型 PSP是一个具有4个等级的成熟度框架 4个等级分别为个体度量过程PSP0 PSP0 1个体计划过程PSP1 PSP1 1个体质量管理过程PSP2 PSP2 1个体循环过程PSP3 96 PSP成熟度模型 97 3 5 3 6TSP 小组软件过程 TSP解决的主要问题 如何规划和管理一个软件开发团队 如何制订团队工作所需要的策略 如何定义和确定团队中每个角色的职责 如何为团队中每个成员分配不同的角色 团队及其不同角色在整个开发过程的不同阶段应该做些什么 如何更好地发挥作用 在如何协调团队成员之间的任务 并跟踪报告团队整体的任务进度 采用哪些方法提高团队的协作能力 98 作业 1 选择一门学习课程 进行PSP0的时间记录日志 以7天为周期 2 上网查询一个好的TSP的标准 并举一具体的TSP启动后的例子 3 介绍PSP成熟度模型 99 软件过程管理 Ch 4软件过程的需求管理 100 软件需求工程 101 软件需求工程 软件需求包括三个不同的层次 业务需求用户需求功能需求 也包括非功能需求 102 1业务需求 业务需求 是企业的发展要求 企业运行的思路 系统目标 这类需求通常来自与高层从总体上描述了为什么要开发系统 why 组织希望达到什么目标 比如 希望实施CRM后公司的客户满意度达到80 以上 就是一条组织愿景 这些最高级别的需求数量很少 2 5条 103 2用户需求 用户需求 是具体的用户需要通过你的软件达到某种的目标 客户都会说我想怎么怎么样 是指描述用户使用产品必须要完成什么任务 用户需求描述了用户能使用系统来做些什么 what 这个层次的需求是非常重要的 用户需求层次上的重心转移到如何收集用户的需求上需求分析是很难的 因为很多需求是隐性的 很难获取 更难保证需求完整 而需求又是易变的 104 3功能需求 功能需求 要涉及一些需求分析了 它是对于用户需求的具体实现 这个客户也可能不能告诉你应该怎么样 而要依赖你自己的设计 功能需求描述的是开发人员如何设计具体的解决方案来实现这些需求 how 其数量往往比用户需求高一个数量级 系统分析员描述开发人员在产品中实现的软件功能 用户利用这些功能来完成任务 满足业务需求 105 需求获取的方法 需求研讨会头脑风暴用例模型访谈角色扮演原型法 106 需求确认 如何保证需求规格说明书的质量 正确性完备性易理解性一致性可行性健壮性易修改性易测试性和可验证性易追溯性兼容性 开发方和用户必须对 需求规格说明书 进行确认关注系统的特色功能 而忽视了其他一些不起眼但是却必需的功能 例 WC前后一致 例 矛 盾 技术上可行 并且满足时间 费用 质量等约束 例 摩天大楼的一项需求是 抗十二级台风 107 需求跟踪 3 需求状态已建议 该需求已被有权提出需求的人建议已批准 该需求已被分析 估计了其对项目余下部分的影响 包括成本和对项目其余部分的干扰 已有一个确定的产品版本号或编号 软件开发团队已同意实现该项需求已实现 使用所选择的方法已验证了实现的需求 例如测试和检测 审查该需求跟踪与测试用例相符 该需求现在被认为完成已删除 计划的需求已被删除 并包含一个原因说明和作出删除决定的人员 108 需求跟踪 正向跟踪 以用户需求为切入点 检查 用户需求说明书 或 需求规格说明书 中的每个需求是否都能在后继工作产品中找到对应点 逆向跟踪 检查设计文档 代码 测试用例等工作产品是否都能在 需求规格说明书 中找到出处 正向跟踪和逆向跟踪合称为 双向跟踪 109 需求变更控制流程 需求的变更是不可避免的 因此如何有效控制需求的变化对于项目成功至关重要 110 需求变更控制策略 1 项目启动阶段的变更预防开发方与客户方达成 事不过三 的约定 2 项目实施阶段的需求变更 3 项目收尾阶段的总结 111 需求变更控制策略 如果你是项目经理 你将如何预防客户多次变更需求问题 112 通常情况下开发方是不敢得罪客户的 但是无原则地退让将使开发小组陷入困境 解决这个问题最好的办法是事先建立 游戏规则 开发方与客户方达成 事不过三 的约定 符合中国人的习惯 即允许客户变更三次需求 如果客户第四此变更需求 开发方有权拒绝 除非客户愿意补偿开发方的损失 113 软件过程管理 Ch 5软件过程的技术管理 童先群 xq tong 114 本章提纲 5 1软件过程的技术架构5 2软件过程的问题分析和决策方法5 3软件过程的技术路线5 4知识传递5 5软件过程管理工具 115 引言 复习软件过程分为哪五个过程 客户 供应商过程 工程过程 支持过程 管理过程 组织过程 为了实现软件开发的基本过程的目标 需要支持过程 管理过程和组织过程等协助 其中 重要一点就是组织结构和技术架构的支持 软件过程的技术架构主要是指用于软件工程过程成功实现与过程改进的技术基础设施 116 5 1 1过程技术架构的层次和内容 层次 内容 117 软件过程的技术架构组成P101 数据和文档的存储 检索工具针对整个组织标准软件过程的 全局性工具过程分析和决策支持工具帮助项目经理完成项目组特定的软件过程软件过程模式模式是解决某个问题的通用方法 软件过程剪裁的技术方法软件过程度量和评估工具 118 软件过程的技术架构 软件过程的技术架构的一个主要目的就是充分利用好过程中所存在的各种资源 软件过程资源涵盖了软件过程的各个关键过程域 具有不同的形式 P102复习 软件过程的财富包括 P59 119 5 1 2软件过程资源的管理 120 5 2软件过程的问题分析和决策方法 软件过程管理中 必然会遇到各种问题 如何解决 找出原因 针对问题产生的原因进行处理 获得最终解决方案就是一个决策过程 5 2 1过程问题解决的系统方法5 2 2原因分析和缺陷分析5 2 3决策分析与决定 121 5 2 2原因分析和缺陷分析 软件开发过程在很大程度上依赖于发现和纠正缺陷的过程 在开发周期的每个阶段实施根本原因分析 rootcauseanalysis 为有效开展缺陷预防活动提供依据 原因分析的目的在于识别导致缺陷和其他问题的根本原因 目的是找到根源 采取措施消除根源 防止将来再次发生同类问题 122 软件中的缺陷 软件中的缺陷 Defect或Bug 是软件开发过程中的 副产品 通常 缺陷会导致软件产品在某种程度上不能满足用户的需要 每一个软件组织都知道必须妥善处理软件中的缺陷 123 如何处理 通过制订原因分析计划 选择缺陷分析数据而找出原因 实施建议措施 评价变更的效果 记录数据等多个环节 最终完成这一活动 缺陷能够引起软件运行时产生的一种不希望或不可接受的外部行为结果 软件测试过程简单说就是围绕缺陷进行的 124 对缺陷的跟踪管理一般而言需要达到以下的目标 确保每个被发现的缺陷都能够被解决 解决 处理方式必须能够在开发组织中达到一致 被修正在下一个版本中修正不修正收集缺陷数据并根据缺陷趋势曲线识别测试过程的阶段 收集缺陷数据并在其上进行数据分析 作为组织的过程财富 125 蓝色缺陷越趋近于近于水平 横轴 表示产品质量比较稳定 但不代表质量好 蓝色和红色两条曲线可以辅助分析收敛趋势的变化情况 如果发现缺陷数目大于修复缺陷数 那么收敛趋势曲线就上扬 反之则下跌 收敛趋势曲线往下跌的时候 表示产品质量在持续改善 收敛趋势曲线往上扬 表示产品质量在持续恶化 126 5 4知识传递P118 纵向传递是一个具有很强时间顺序性的接力过程 指软件产品和技术知识从需求分析阶段到设计阶段 从设计阶段到编程阶段 从开发阶段到维护阶段 从产品上一个版本到当前版本的知识传递过程 127 5 4知识传递 从需求分析阶段到设计阶段从需求文档 产品设计规格说明书转换为 分析模型 设计模型 数据模型从设计阶段到编程阶段从分析模型 设计模型 数据模型转换为 编程语言 128 5 4知识传递 发布软件产品 又试图完整地复原用户的需求 用户需求和产品功能特性的差异 可以看做是知识传递的失真程度 这种程度越大 产品质量越低 知识传递过程中 失真越早 在后继的过程中知识的失真会放大得更厉害 强调需求的意义 129 5 4知识传递 横向传递是指软件产品和技术知识在不同团队之间的传递过程 横向传递是一个实时性的过程 不同产品线的开发团队之间 新老员工之间 在软件项目团队中 不同的角色有不同的责任和特定的任务 但是一个项目的成功需要团队协作 需要相互之间的理解和支持 也必然要求不同知识的相互交流 130 复习软件过程管理 Ch 5软件过程的技术管理 童先群 xq tong 131 引言 软件过程的技术架构主要是指用于软件工程过程成功实现与过程改进的技术基础设施 软件过程的技术架构的一个主要目的就是充分利用好过程中所存在的各种资源 132 5 1 1过程技术架构的层次和内容 层次 内容 133 5 1 2软件过程资源的内容和技术管理 134 缺陷是软件开发过程的 副产品 如果出现缺陷 作为项目经理的人 对缺陷的跟踪管理一般而言需要达到什么目标 135 对缺陷的跟踪管理一般而言需要达到以下的目标 确保每个被发现的缺陷都能够被解决 解决 处理方式必须能够在开发组织中达到一致 被修正在下一个版本中修正不修正收集缺陷数据并根据缺陷趋势曲线识别测试过程的阶段 收集缺陷数据并在其上进行数据分析 作为组织的过程财富 136 蓝色代表发现的缺陷 越趋近于近于水平 横轴 表示产品质量越好 不能 收敛趋势曲线往下跌的时候 表示产品质量在持续改善 收敛趋势曲线往上扬 表示产品质量在持续恶化蓝色和红色两条曲线可以辅助分析收敛趋势的变化情况 如果发现缺陷数目大于修复缺陷数 那么收敛趋势曲线就上扬 137 5 5 3配置管理 配置管理的主要工作包括通过创建软件配置管理库 定义配置项 包括需求 分析设计模型 代码 文档 测试用例 测试数据等 以及建立和维护软件的基线 138 软件过程管理 Ch 6软件过程的项目管理 童先群 xq tong 139 软件过程的项目管理 有效的项目管理是在用来实现项目具体目标的规定时间内 对组织机构资源进行计划 引导和控制工作 项目管理知识指南 140 软件配置管理概念 硬件配置 每种部件都需要有用于识别的编号 版本号可以区别同类部件的不同设计 软件配置 记录哪些版本 哪些构件组成了整个软件系统 易变化 比硬件配置管理难度大 配置 是在技术文档中明确说明最终组成软件产品的功能或物理属性 141 软件配置管理概念 配置项 在软件生存周期内所产生的各种应纳入管理范围的系统构成成分 包括各种管理文档和技术文档 源程序与目标代码 以及运行所需的各种数据等配置管理的资源对象P126表6 1 142 软件配置管理概念 基线基线是评审过的一个或多个软件配置项 每一个基线都是下一步开发的出发点和基础 而且只有通过正式的变更控制流程才能被更改 配置管理库配置管理库也称受控库 用于存储软件配置项以及相关配置管理信息 143 软件配置管理流程 正常工作变更申请 144 软件配置控制 软件配置控制主要包括存取控制 控制存取权限 保证产品一致性版本控制 记录了软件系统的中间状态 变更控制 为变更提供明确的流程 经授权与批准才能实施 产品发布的控制 保证了提交给客户的软件产品是完整的 正确的 145 基线控制 基线是项目储存库中每个工件版本在特定时期的一个 快照 它提供一个正式标准 随后的工作基于此标准 并且只有经过授权后才能变更这个标准 建立一个初始基线后 以后每次对其进行的变更都将记录为一个差值 直到建成下一个基线 146 基线控制 基线是软件生存周期中各开发阶段末尾的特定点 又称里程碑 计划基线需求基线设计基线编码基线测试基线 147 基线控制 148 复习软件过程管理 Ch 6软件过程的项目管理 童先群 xq tong 149 软件配置管理概念 基线 基线是评审过的一个或多个软件配置项 每一个基线都是下一步开发的出发点和基础 而且只有通过正式的变更控制流程才能被更改 基线是软件生存周期中各开发阶段 A起始 B末尾 的特定点 又称里程碑 包括 包括 计划基线 需求基线 设计基线 编码基线 测试基线 150 基线控制 填写下面的空缺 151 基线控制 152 软件配置控制 软件配置控制主要包括A存取控制B版本控制C变更控制D产品发布的控制请说出下面几条分别属于哪种控制 保证了提交给客户的软件产品是完整的 正确的 保证产品一致性为变更提供明确的流程 经授权与批准才能实施 记录了软件系统的中间状态 153 版本控制 版本控制分为 版本的访问控制和同步控制 下面操作是针对版本的A 访问控制还是B 同步控制检出 检入 Checkout Checkin 可写 可读 可写是针对真正的工作文件 而可读 则是针对源文件的缓冲副本 154 版本控制 分支再合并 版本的合并后产生的稳定版本是 将需要保护的分支锁定 打上Release标签 在以Release标签为基线的分支上开发1 1版本 版本合并 1 1版本开发完成 希望合并到基线版本中作为以后开发新版本的基础 155 变更控制 导致软件开发困难的一个原因就是软件的可变性变更控制委员会 ChangeControlBoard CCB 156 变更控制 提交接收评估决策实现验证完成 SCMSoftwareConfigurationManagement软件配置管理 157 变更控制的7个阶段 提交 缺陷请求增强请求接收 项目接收提交的变更请求并进行跟踪 评估 根据缺陷的严重程度和修复缺陷的重要性来评估缺陷的优先级 评估增强请求的优先级 158 变更控制的7个阶段 决策 缺陷的决策与所处的阶段有关早期 将缺陷分配给开发人员 由开发人员决定做什么 后期 开发人员进行评估 但没有决策权 由项目领导人的批准 所有的增强请求放在一起进行权衡 进行决策 159 变更控制的7个阶段 实现修复缺陷后 变更文档 增强请求涉及新特性或新功能 验证 缺陷 是否消除了该缺陷 增强 验证所做的变更是否满足该增强请求的需要 完成 由提交请求的原有请求者中止这一循环过程 160 变更控制 提交接收评估决策实现验证完成 161 项目规模估算的方法 常用的规模估算方法 1 代码行方法 应用最广 2 功能点分析方法 3 面向对象软件的对象点方法 162 项目成本的组成P135 1 项目成本的组成 1 直接成本人力成本硬件设备软件费用 2 间接成本项目管理成本一般管理成本 163 项目成本的估算方法 1 经验估算法 2 比例法 3 工作分解结构表 WBS 自上而下自下而上 164 举例成本估算 人工成本 完成一个工作包需要 25个 人天平均薪水为 230元 人天各项福利占薪水的40 非工作时间占总工作时间的12 计算此工作包的人工成本为 1 0 4 0 12 230 25 X 165 举例成本估算 设备成本 设备成本主要是设备的折旧费用 项目总历时40天 需要10台服务器 单价为8000元 预计使用5年 20台PC 单价为3800 预计使用4年 采用年限平均法计算天折旧率为 设备单价 使用年限 12 30 设备成本Y为 Y 10 8000 5 12 30 20 3800 4 12 30 40 166 举例成本估算 管理成本 项目的管理费用为所有直接成本的一定百分比 假设本项目为20 则本项目的一般管理费用Z为 Z X Y 20 此项目总成本为X Y Z 167 项目风险管理 触发器风险 风险次序清单风险等级排序 概率分析量化的风险次序清单 纠正措施项目变更申请计划更新 168 169 风险识别分三步 收集资料风险形势估计根据直接或间接的症状将潜在的风险识别出来 170 常用的风险识别方法 检查单文件审核头脑风暴德尔菲法访谈SWOT分析图表分析 171 德尔菲法 采用匿名发表意见的方式 即专家之间不得互相讨论 不发生横向联系 只能与调查人员联系 通过多轮次调查专家对问卷所提问题的看法 经过反复征询 归纳 修改 最后汇总成专家基本一致的看法 作为预测的结果 这种方法具有广泛的代表性 较为可靠 172 SWOT分析 SWOT分析 是一种环境分析方法 优势 Strengths 劣势 Weaknesses 竞争市场上的机会 Opportunities 威胁 Threats 173 道斯矩阵 174 10种常见的风险 175 定量的风险分析 量化的风险分析通常需要对事实进行更详细的分析 较之主观的风险分析往往更为可靠 主要的量化分析方法有 比率 范围分析概率分析敏感性分析 176 复习软件需求包括三个不同的层次 三个层次业务需求 用户需求 功能需求 三个单词Why What How 三类人领导层用户开发人员 177 WBS 工作分解结构 1项目范围规划1 1确定项目范围1 2获得项目所需资金1 3定义预备资源1 4获得核心资源1 5项目范围规划完成2分析 软件需求2 1行为需求分析2 2起草初步的软件规范2 3制定初步预算2 4工作组共同审阅软件规范 预算2 5根据反馈修改软件规范2 6确定交付期限2 7获得开展后续工作的批准 概念 期限和预算 2 8获得所需资源2 9分析工作完成 3设计3 1审阅初步的软件规范3 2制定功能规范3 3根据功能规范开发原型3 4审阅功能规范3 5根据反馈修改功能规范3 6获得开展后续工作的批准3 7设计工作完成4开发4 1审阅功能规范4 2确定模块化 分层设计参数4 3分派任务给开发人员4 4编写代码4 5开发人员测试 初步调试 4 6开发工作完毕 178 179 创建WBS的基本法则 学科划分 每个工作单元在WBS只能出现一次概要任务是对其下所有任务的总结每个WBS的条目都有单独的人员负责与实际要做的工作情形保持一致建立WBS时应让项目组员参予每个WBS条目都应备案WBS既要灵活又要不失控制 180 任务排序 学科排序 制定日程安排 项目网络图箭线图法 ArrowDiagramMethod ADM 或称为双代号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论