软件工程导论软件工程导论(7)(7)软件工程环境软件工程环境张小川张小川zxc@cqut.edu.cn重庆理工大学软件工程系2010.08.02zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境孟母三迁的启发?C孟子母亲为教育孟子和为孟子的成长而三次选择居住环境的故事。zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境时势造英雄常山赵子龙zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境本章内容z7.1环境造就软件z7.2软件工程组织z7.3软件工程文化z7.4软件工程基础设施z7.5过程定义z7.6过程评估和改进zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境9软环境指软件组织的商业目标、管理制度、质量文化、已定义的开发流程等。9硬环境指网络设施、开发平台、项目管理系统、软件工具等。7.1环境造就软件软件工程环境(SEE)是指在构筑一个新软件时所依赖的条件、工具和基础设施等,包括软环境和硬环境。zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境z软件开发过程模型的不同,如传统的结构化方法、迭代开发模型、并行开发模型、敏捷方法等z企业文化的差异,如以客户为中心还是以效率/成本为中心,以架构技术为中心还是以产品为中心、以过程为中心还是以开发团队为中心等z人力资源的差异,如组织结构、培训能力和流程等z软硬件资源,如机器、网络设备和软件工具等,甚至实际的工作环境z软件工具的应用水平和规模,以及软件工具集成化的水平环境的差异性zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境软件环境框架zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境本章内容z7.1环境造就软件z7.2软件工程组织z7.3软件工程文化z7.4软件工程基础设施z7.5过程定义z7.6过程评估和改进zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境7.2.1软件组织环境7.2.2软件组织的作用7.2.3PSP改进个人能力7.2.4TSP提高团队水平7.2.5完整的组织框架7.2软件工程组织zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境7.2.1软件组织环境9组织环境影响,包括管理层、人事制度、内部组织流程以及组织单元之间的关系和协作等。zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境7.2.2软件组织的作用z软件质量管理:负责软件产品和软件过程的质量审计、评审活动和质量评估z过程改进:定义、解释、组织软件过程评估的流程,提交过程改进计划等。z配置管理:软件配置项识别、基线确立、版本控制、变更控制等z技术支持z信息安全IT网络与设备维护。zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境常见的组织结构例如:SEPG人少,但发挥至关重要的作用zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境MSF组织角色和责任详见书中表7-1zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境7.2.3PSP改进个人能力z个体软件过程(PersonalSoftwareProcess,PSP)帮助工程师测量和跟踪他们自己的工作,使得他们能够找到最适合自己的方法zPSP内容丰富,具有良好的实践性,包括个人时间管理、时间跟踪、任务估计、阶段性工作计划等zPSP不仅帮助软件工程师提高编码水准、如何管理所开发的程序质量,还指导软件工程师更好地进行需求或过程定义、评审、测试、文档编写等zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境PSP框架zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境PSP阶段性提升PSP0目前的过程时间记录缺陷记录缺陷类别标准PSP0.1代码规范规模度量过程改进建议PSP1规模估计测试报告PSP1.1计划任务计划时间表PSP2代码评审设计评审PSP2.1设计模版PSP3周期开发个体度量过程个体计划过程个体质量管理过程个体循环过程zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境PSP进一步讨论z个体度量过程z个体计划过程z个体质量管理过程z个体循环过程zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境7.2.4TSP提高团队水平9如何规划和管理一个软件开发团队。9如何制订团队工作所需要的策略。9如何定义和确定团队中每个角色的职责。9如何为团队中每个成员分配不同的角色。9团队及其不同角色在整个开发过程的不同阶段应该做什么,如何更好地发挥作用。9在如何协调团队成员之间的任务,并跟踪报告团队整体的任务进度。9采用哪些方法提高团队的协作能力。TSP的流程和规范为团队软件工程提供了一套精心设计的、通过审查的、可重复的框架,并提供了快速高效的反馈机制。zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境TSP结构zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境7.2.5完整的组织框架zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境PSP/TSP/CMM三者关系CMM/组织TSP/团队PSP/个人原则指导提供技能组织过程能力成熟度高质量的产品个人的技能提高开发并交付提高zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境本章内容z7.1环境造就软件z7.2软件工程组织z7.3软件工程文化z7.4软件工程基础设施z7.5过程定义z7.6过程评估和改进zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境97.3.1过程文化97.3.2质量文化7.3软件工程文化zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境科学研究的文化?zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境9过程至上,奉过程为教条,一切围绕着过程,严格执行流程,组织、质量和效率都服从于过程9以过程为焦点,关注过程,强调过程的重要性,但不拘于过程,让过程服从于质量和效率、服从于组织的业务目标9过程只能起辅助作用,人决定一切。与过程相关的活动被认为是低优先级的,过程可能流于形式,过程容易被打破7.3.1过程文化顾客竞争变化zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境1.识别文化差异2.文化敏感性训练,加强人们对不同文化环境的适应能力3.创建共同文化过程文化建设三部曲zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境9组织中每个人都对质量负有责任。9质量不是检验出来的,质量是构造出来的9质量管理工作要贯穿整个软件生命周期9质量等同品牌、品牌靠质量来传承9一切为顾客着想9缺陷预防7.3.2质量文化全面质量管理零缺陷管理六西格玛zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境本章内容z7.1环境造就软件z7.2软件工程组织z7.3软件工程文化z7.4软件工程基础设施z7.5过程定义z7.6过程评估和改进zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境9网络速度和分布、VPN和其它网络安全性设置等9IP电话,如每个员工都有一部电话9邮件系统,支持群组日历、公共邮件组等功能9信息交流、知识管理系统平台,包括博客、Wiki等9软件开发平台,如分布式的集成开放环境9代码版本控制、自动构建、传输和部署等9需求、缺陷配置管理系统9软件开发过程标准化和文档化9文档管理系统,包括健全的文档模板、自动归档等9完整的质量保证体系软件工程基础设施zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境本章内容z7.1环境造就软件z7.2软件工程组织z7.3软件工程文化z7.4软件工程基础设施z7.5过程定义z7.6过程评估和改进zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境z组织标准软件过程z软件生命周期的描述z过程剪裁指南和准则z组织软件过程数据库z软件过程的有关文档库软件过程财富zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境7.5.1软件过程定义的基础7.5.2剪裁标准软件过程的指南和准则7.57.5过程定义过程定义zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境9软件过程元素9组织标准软件过程9项目定义软件过程基础/概念主要的、支持的、组织的软件过程元素zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境剪裁标准软件过程9选择一个适合项目的生命周期模型9剪裁和细化标准软件过程和所选择的软件生命周期,使之适合项目的具体特征。以标准软件过程为基础,通过剪裁获得更加适合具体项目的软件过程。zhu.kerry@gmail.com课程:软件工程导论重庆理工大学软件工程系重庆理工大学软件工程系张小川第第77章章软件工程环境软件工程环境剪裁过程1.根据剪裁指南和准则,剪裁组织的标准软件过程,以适合本项目的具体特征2.将剪裁的结果整理成文档,即项目定义软件