您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 第7章SEI-软件工程环境
软件工程导论(7)软件工程环境zhu.kerry@gmail.com孟母三迁的启发?zhu.kerry@gmail.com时势造英雄zhu.kerry@gmail.com7.1环境造就软件7.2软件工程组织7.3软件工程文化7.4软件工程基础设施7.5过程定义7.6过程评估和改进本章内容zhu.kerry@gmail.com本章内容7.1环境造就软件7.2软件工程组织7.3软件工程文化7.4软件工程基础设施7.5过程定义7.6过程评估和改进zhu.kerry@gmail.com软环境指软件组织的商业目标、管理制度、质量文化、已定义的开发流程等硬环境指网络设施、开发平台、项目管理系统、软件工具等7.1环境造就软件软件工程环境(SEE)是指在构筑一个新软件时所依赖的条件、工具和基础设施等,包括软环境和硬环境。zhu.kerry@gmail.com软件开发过程模型的不同,如传统的结构化方法、迭代开发模型、并行开发模型、敏捷方法等企业文化的差异,如以客户为中心还是以效率/成本为中心,以架构技术为中心还是以产品为中心、以过程为中心还是以开发团队为中心等人力资源的差异,如组织结构、培训能力和流程等软硬件资源,如机器、网络设备和软件工具等,甚至实际的工作环境软件工具的应用水平和规模,以及软件工具集成化的水平环境的差异性zhu.kerry@gmail.com软件环境框架zhu.kerry@gmail.com本章内容7.1环境造就软件7.2软件工程组织7.3软件工程文化7.4软件工程基础设施7.5过程定义7.6过程评估和改进zhu.kerry@gmail.com7.2.1软件组织环境7.2.2软件组织的作用7.2.3PSP改进个人能力7.2.4TSP提高团队水平7.2.5完整的组织框架7.2软件工程组织zhu.kerry@gmail.com7.2.1软件组织环境组织环境影响,包括管理层、人事制度、内部组织流程以及组织单元之间的关系和协作等zhu.kerry@gmail.com7.2.2软件组织的作用软件质量管理:负责软件产品和软件过程的质量审计、评审活动和质量评估过程改进:定义、解释、组织软件过程评估的流程,提交过程改进计划等。配置管理:软件配置项识别、基线确立、版本控制、变更控制等技术支持信息安全IT网络与设备维。zhu.kerry@gmail.com常见的组织结构例如:SEPG人少,但发挥至关重要的作用zhu.kerry@gmail.comMSF组织角色和责任详见书中表7-1zhu.kerry@gmail.com7.2.3PSP改进个人能力个体软件过程(PersonalSoftwareProcess,PSP)帮助工程师测量和跟踪他们自己的工作,使得他们能够找到最适合自己的方法PSP内容丰富,具有良好的实践性,包括个人时间管理、时间跟踪、任务估计、阶段性工作计划等PSP不仅帮助软件工程师提高编码水准、如何管理所开发的程序质量,还指导软件工程师更好地进行需求或过程定义、评审、测试、文档编写等zhu.kerry@gmail.comPSP框架zhu.kerry@gmail.comPSP阶段性提升zhu.kerry@gmail.comPSP进一步讨论个体度量过程个体计划过程个体质量管理过程个体循环过程zhu.kerry@gmail.com7.2.4TSP提高团队水平如何规划和管理一个软件开发团队。如何制订团队工作所需要的策略。如何定义和确定团队中每个角色的职责。如何为团队中每个成员分配不同的角色。团队及其不同角色在整个开发过程的不同阶段应该做什么,如何更好地发挥作用。在如何协调团队成员之间的任务,并跟踪报告团队整体的任务进度。采用哪些方法提高团队的协作能力。TSP的流程和规范为团队软件工程提供了一套精心设计的、通过审查的、可重复的框架,并提供了快速高效的反馈机制zhu.kerry@gmail.comTSP结构zhu.kerry@gmail.com7.2.5完整的组织框架zhu.kerry@gmail.comPSP/TSP/CMM三者关系CMM/组织TSP/团队PSP/个人原则指导提供技能组织过程能力成熟度高质量的产品个人的技能提高开发并交付提高zhu.kerry@gmail.com本章内容7.1环境造就软件7.2软件工程组织7.3软件工程文化7.4软件工程基础设施7.5过程定义7.6过程评估和改进zhu.kerry@gmail.com7.3.1过程文化7.3.2质量文化7.3软件工程文化zhu.kerry@gmail.com科学研究的文化?zhu.kerry@gmail.com过程至上,奉过程为教条,一切围绕着过程,严格执行流程,组织、质量和效率都服从于过程以过程为焦点,关注过程,强调过程的重要性,但不拘于过程,让过程服从于质量和效率、服从于组织的业务目标过程只能起辅助作用,人决定一切。与过程相关的活动被认为是低优先级的,过程可能流于形式,过程容易被打破7.3.1过程文化顾客竞争变化zhu.kerry@gmail.com1.识别文化差异2.文化敏感性训练,加强人们对不同文化环境的适应能力3.创建共同文化过程文化建设三部曲zhu.kerry@gmail.com组织中每个人都对质量负有责任。质量不是检验出来的,质量是构造出来的质量管理工作要贯穿整个软件生命周期质量等同品牌、品牌靠质量来传承一切为顾客着想缺陷预防7.3.2质量文化全面质量管理零缺陷管理六西格玛zhu.kerry@gmail.com本章内容7.1环境造就软件7.2软件工程组织7.3软件工程文化7.4软件工程基础设施7.5过程定义7.6过程评估和改进zhu.kerry@gmail.com网络速度和分布、VPN和其它网络安全性设置等IP电话,如每个员工都有一部电话邮件系统,支持群组日历、公共邮件组等功能信息交流、知识管理系统平台,包括博客、Wiki等软件开发平台,如分布式的集成开放环境代码版本控制、自动构建、传输和部署等需求、缺陷配置管理系统软件开发过程标准化和文档化文档管理系统,包括健全的文档模板、自动归档等完整的质量保证体系软件工程基础设施zhu.kerry@gmail.com本章内容7.1环境造就软件7.2软件工程组织7.3软件工程文化7.4软件工程基础设施7.5过程定义7.6过程评估和改进zhu.kerry@gmail.com组织标准软件过程软件生命周期的描述过程剪裁指南和准则组织软件过程数据库软件过程的有关文档库软件过程财富zhu.kerry@gmail.com7.5.1软件过程定义的基础7.5.2剪裁标准软件过程的指南和准则7.5过程定义zhu.kerry@gmail.com软件过程元素组织标准软件过程项目定义软件过程基础/概念主要的、支持的、组织的软件过程元素zhu.kerry@gmail.com剪裁标准软件过程选择一个适合项目的生命周期模型剪裁和细化标准软件过程和所选择的软件生命周期,使之适合项目的具体特征。以标准软件过程为基础,通过剪裁获得更加适合具体项目的软件过程zhu.kerry@gmail.com剪裁过程1.根据剪裁指南和准则,剪裁组织的标准软件过程,以适合本项目的具体特征2.将剪裁的结果整理成文档,即项目定义软件过程3.审核项目定义软件过程4.应用和监控项目定义软件过程的实施。zhu.kerry@gmail.com选择生命周期根据项目特征进行剪裁,以及技术难度、产品类型、项目周期等要素明确可剪裁的对象确定剪裁所考虑的要素剪裁的决定要基于风险进行考虑剪裁指南和准则zhu.kerry@gmail.com本章内容7.1环境造就软件7.2软件工程组织7.3软件工程文化7.4软件工程基础设施7.5过程定义7.6过程评估和改进zhu.kerry@gmail.com7.6过程评估和改进7.6.1过程评估的目标和期望7.6.2过程评估的内容和范围7.6.3过程评估的方式和类型7.6.4过程评估的方法7.6.5过程改进的IDEAL模型7.6.6过程改进的Raytheon方法7.6.7过程改进实施的原则7.6.8过程改进实施zhu.kerry@gmail.com基于过程改进目标,可以确定适当的评估方式和评估范围。能采用正确的评估模型和方法,被评估的过程剪裁得当,降低评估成本和对正常工作的影响能充分和各个层面、各个方面的人员沟通,获得全面的第一手数据,确保可靠的、准确的评估结果评估的结果被应用于过程改进,或有助于第3方组织对本组织的认可7.6.1过程评估的目标和期望zhu.kerry@gmail.com评估目的评估发起方、被评估组织单位及其关系过程评估的背景评估参考模型范围及其表示评估约束评估小组主任评估师和各个成员介绍及其评估责任任何附件过程评估的输入zhu.kerry@gmail.com评估记录、评估发现的事项综述等对每个被评估过程域的强项和弱项的文字陈述计划内的、评估小组对相应评估对象的定级描述是否达到评估输出的决定,可能要求附加的定级输出来作为评估的结果。评估最终报告。基于评估结果,采取行动的建议或过程改进活动计划获得评估输入的许可过程评估的输出最后结论zhu.kerry@gmail.com过程评估的内容软件需求获取、分析、开发等能力项目计划能力项目监督和控制能力合同管理能力软件度量指标设定、度量工具和方法软件质量保证和管理流程、手段和方法等技术开发、革新、创新产品的定义、设计、实现产品集成,项目集成管理组织过程定义、调整和改进的能力。配置管理、维护风险识别、控制和管理……zhu.kerry@gmail.com过程评估的范围评估范围由评估参考模型范围和组织范围决定组织范围定义了评估中被调查的边界评估约束zhu.kerry@gmail.comA类评估。全面综合的评估方法,要求在评估中全面覆盖评估中所使用的模型,并且在评估结果中提供对组织的成熟度等级的评定结果。B类评估。在开始时做部分自我评估,并集中于需要关注的过程域。不评定组织的成熟度等级。C类评估,也称为快估。主要是检查特定的风险域,找出过程中的问题所在。过程评估的类型zhu.kerry@gmail.comCMMI3种评估类型的对比zhu.kerry@gmail.com自我评估是指由软件开发组织内部进行的评估,主要是由成员个人进行的评估行为•以团队为基础的评估•持续型评估第三方评估,也称为能力检测。目的是为了对组织完成软件产品开发、执行软件承包合同等的能力,可依据选定的标准对实施活动加以认证综合方式过程评估的方式zhu.kerry@gmail.com过程评估的方法评估方法准则选择评估时机评估步骤软件过程评估注意的要点•确定评估目标、模型•选择评估方式和类型•成立评估小组•确定评估范围、约束•评估访问、调查•确定评估结果•形成评估报告•不局限于某一个方面•不局限于某一个阶段•不应只通过几个问题完成评估•应遵循已定义的过程改进规划•注意力不应只集中于文档化•专业软件人员来评估zhu.kerry@gmail.com过程改进的IDEAL模型zhu.kerry@gmail.com初始化(Initiating)诊断(Diagnosing)建立(Establishing)行动(Acting)学习(Learning)IDEAL模型说明(1)•识别改进的商业需求和推动者——改进的动机。•确定SPI的范围,形成提议。•获得组织、教育和培训的支持。•建立SPI基础设施及其之上的过程改进机制zhu.kerry@gmail.com初始化(Initiating)诊断(Diagnosing)建立(Establishing)行动(Acting)学习(Learning)IDEAL模型说明(2)•确定SPI需求的基准,并在此基
本文标题:第7章SEI-软件工程环境
链接地址:https://www.777doc.com/doc-203399 .html