1、Zhu.K作者作者软件过程管理软件过程管理-Ch.1 软件过程规范软件过程规范 Zhu.K内容概览内容概览全书共分为全书共分为1010章,以全面阐述软章,以全面阐述软件过程管理的各个方面。首先说明了件过程管理的各个方面。首先说明了软件过程规范、成熟度及其相关的概软件过程规范、成熟度及其相关的概念和理论,包括软件过程标准体系。念和理论,包括软件过程标准体系。然后在此基础上,深入讨论了软件过然后在此基础上,深入讨论了软件过程的组织管理、需求管理、项目管理、程的组织管理、需求管理、项目管理、质量管理、技术管理和集成管理等流质量管理、技术管理和集成管理等流程、方法和实践,并进一步探讨了软程、方法和实践
2、,并进一步探讨了软件过程评估和改进的框架、模型和实件过程评估和改进的框架、模型和实施细节,最后通过具体的应用实践对施细节,最后通过具体的应用实践对软件过程管理做了全方位的阐释。软件过程管理做了全方位的阐释。Zhu.K课程目标课程目标通过本课程的学习,可以了解并掌握:通过本课程的学习,可以了解并掌握:l软件过程规范的内容、影响和作用软件过程规范的内容、影响和作用 l软件过程不成熟的特点、软件过程成熟的标准软件过程不成熟的特点、软件过程成熟的标准 l软件过程的可视性和过程能力软件过程的可视性和过程能力 l软件过程文化、环境和过程框架软件过程文化、环境和过程框架 l如何定义组织过程并对过程剪裁以获得
3、项目过程如何定义组织过程并对过程剪裁以获得项目过程 l软件过程的需求管理软件过程的需求管理、项目管理和质量管理、项目管理和质量管理l软件过程的技术管理和集成管理软件过程的技术管理和集成管理 l如何实施软件过程的评估和改进如何实施软件过程的评估和改进l Zhu.K课程服务于课程服务于-项目经理 Project manager-程序经理 Program manager-产品经理 Product manager-软件质量管理人员 The member of SQAG-软件工程过程组成员 The member of SEPG-软件配置管理人员 The member of SCMG还包括:还包括:-软件
4、企业高层管理人员-软件工程师和测试工程师-软件分析师 、软件咨询顾问Zhu.K课程安排课程安排建议:建议:3 学分,学分,60 学时学时周次周次教学章节教学章节教学内容教学内容建议学时建议学时1第第1章章 软件过程规软件过程规范范 1.1 过程的定义 1.2 过程规范 1.3 软件生命周期的过程需求 1.4 软件生命周期标准 1.5 软件过程建模42-3第第2章章 软件过程成软件过程成熟度熟度 2.1 过程成熟度标准2.2 能力成熟度模型概述2.3 过程成熟度级别2.4 软件过程的可视性2.5 过程能力和效能预测2.6 软件过程框架63-4第第3章章 软件过程的软件过程的组织管理组织管理 3.
5、1 组织过程焦点3.2 组织过程定义3.3 PSP过程框架和成熟度模型3.4 PSP设计与实践3.5 TSP的结构和启动过程3.6 TSP工作流程4Zhu.K课程安排课程安排-2周次周次教学章节教学章节教学内容教学内容建议学时建议学时5第第4 4章章 软件过程的需软件过程的需求管理求管理4.1 需求管理的模型和流程4.2 需求开发4.3 需求管理36第第5 5章章 软件过程的技软件过程的技术管理术管理5.1 软件过程的技术架构5.2 软件过程的问题分析和决策方法5.3 软件过程的技术路线5.4 知识传递5.5 软件过程管理工具47第第6 6章章 软件过程的项软件过程的项目管理目管理6.1 软件
6、配置管理6.2 项目估算和资源管理6.3 项目风险评估6.4 制定项目计划6.5 项目跟踪和监督5Zhu.K课程安排课程安排-3周次周次教学章节教学章节教学内容教学内容建议学时建议学时8第第7 7章章 软件过程的软件过程的质量管理质量管理7.1 质量管理概述7.2 软件质量方针和计划7.3 软件评审过程和方法7.4 缺陷分析和预防7.5 质量度量7.6 PSP过程质量管理49-10第第8 8章章 软件过程的软件过程的集成管理集成管理8.1 集成项目管理8.2 集成项目的合成计划8.3 产品集成的过程管理8.4 集成产品开发模式8.5 IPD方法应用和实践6Zhu.K课程安排课程安排-4周次周次
7、教学章节教学章节教学内容教学内容建议学时建议学时11-12第第9 9章章 软件过程的软件过程的评估和改进评估和改进 9.1 过程模型的剪裁9.2 软件过程度量9.3 过程评估参考模型9.4 过程评估9.5 过程改进的模型和方法9.6 组织和技术革新9.7 软件过程改进的实施813-14第第1010章章 软件过程的软件过程的管理实践管理实践10.1 IBM-Rational 业务驱动开发的过程管理10.2 微软公司的软件开发过程模式10.3 敏捷模型的软件过程管理10.4 面向构件的软件过程10.5 软件过程的自定义体系6Zhu.K软件过程规范软件过程规范 一旦人们将注意力转向过程,将发现一个全
8、一旦人们将注意力转向过程,将发现一个全新的思维空间。新的思维空间。James Harrington Zhu.K本章提纲本章提纲1.1 过程的定义过程的定义1.2过程规范过程规范1.3 软件生命周期的过程需求软件生命周期的过程需求1.4 软件生命周期标准软件生命周期标准1.5 软件过程建模软件过程建模Zhu.K1.1 过程的定义过程的定义1.1.1 过程的定义过程的定义1.1.2 软件过程的分类和组成软件过程的分类和组成1.1.3 软件过程定义的层次性软件过程定义的层次性Zhu.K1.1 过程的定义过程的定义p牛津简明词典中,“过程过程”被定义为活动与被定义为活动与操作的集合,操作的集合,例如一
9、系列的生产阶段或操作。p书氏大词典定义“过程过程”是用于产生某结果是用于产生某结果的一整套操作、一系列的活动、变化以及作为的一整套操作、一系列的活动、变化以及作为最终结果的功能。最终结果的功能。pIEEE-Std-610定义“过程过程”是为完成一个特定的是为完成一个特定的目标而进行的一系列操作步骤,如软件开发过目标而进行的一系列操作步骤,如软件开发过程。程。pSEICMM 定义过程是用于软件开发及维护的一过程是用于软件开发及维护的一系列活动、方法及实践。系列活动、方法及实践。Zhu.K过程的简单描述过程的简单描述Zhu.K实现、管理和支持过程之间的关系实现、管理和支持过程之间的关系Zhu.K1
10、.1.2 软件过程的分类和组成软件过程的分类和组成p软件基本过程:软件基本过程:软件获取、供应、开发、运行和维护的过程,包括需求分析、软件设计、编码等过程。p软件支持过程:软件支持过程:对软件主要过程提供支持的过程,包括文档编制过程、配置管理过程、质量保证过程、验证和确认过程(测试过程)、评审过程等。p软件组织过程:软件组织过程:对软件主要过程和支持过程的组织保证过程,包括管理过程、基础设施过程、改进过程和培训过程。Zhu.KIEC12207软件生存周期过程软件生存周期过程Zhu.K软件过程的组成软件过程的组成Zhu.KISO/IEC15504软件生存周期过程软件生存周期过程Zhu.K1.1.
11、3 软件过程定义的层次性软件过程定义的层次性p 公共(通用)软件过程。公共(通用)软件过程。p 组织标准软件过程。组织标准软件过程。p 项目自定义的软件过程。项目自定义的软件过程。Zhu.K1.2 过程规范过程规范1.2.1 什么是过程规范什么是过程规范1.2.2 过程规范的内容和示例过程规范的内容和示例1.2.3 过程规范的影响和作用过程规范的影响和作用Zhu.K1.2.1 什么是过程规范什么是过程规范“规范规范”一词被解释为“明文规定或约定俗成的标准”,或理解为“用来控制或治理一个团队的一系列准则与章程,以及团队成员必须遵守的相关的规章制度”过程规范就是对输入/输出和活动所构成的过程进行明
12、文规定或约定俗成的标准。软件过程规范是软件开发组织行动的准则与指南,可以依据上述各类过程的特点而建立相应的规范,如软件基本过程规范、软件支持过程规范和软件组织过程规范。Zhu.K软件过程规范的建立软件过程规范的建立p软件能力成熟度模型(软件能力成熟度模型(CMM/CMMI)p个体软件过程(个体软件过程(PSP)p团队软件过程(团队软件过程(TSP)pIBM-Raional 统一过程(统一过程(RUP)p极限编程极限编程(eXtreme Programming,XP)p微软软件框架(微软软件框架(MSF)Zhu.K1.2.2 过程规范的内容和示例过程规范的内容和示例p任务规范任务规范p日常规章制
13、度日常规章制度p软件工具软件工具“责任人、参与人员、入口准则、出口准则、输入、输出和活动”等基本内容 Zhu.K1.2.3 过程规范的影响和作用过程规范的影响和作用1.消极影响的存在和消除消极影响的存在和消除 2.Fred Brooks “创造力来自个人,而不是组织结构或者过程”2.规范存在的必要性规范存在的必要性 3.过程规范的作用过程规范的作用 p帮助团队实现共同的目标p一个规范的软件过程必将能带来稳定的、高水平的过程质量p过程规范使软件组织的生产效率更高 Zhu.K1.3 软件生命周期的过程需求软件生命周期的过程需求1.3.1 软件工程过程软件工程过程1.3.2 软件支持过程软件支持过程
14、1.3.3 软件管理过程软件管理过程1.3.4 软件组织过程软件组织过程1.3.5 软件客户供应商的过程软件客户供应商的过程Zhu.K1.3.1 软件工程过程软件工程过程工程过程是软件系统、产品的定义、设计、实现以及工程过程是软件系统、产品的定义、设计、实现以及维护的过程。维护的过程。p开发过程:定义并开发软件产品的活动过程,包括需求分析、软件设计和编程等。p运行过程:在规定的环境中为其用户提供运行计算机系统服务的活动过程,包括软件部署p维护过程:提供维护软件产品服务的活动过程,也就是通过软件的修改、变更,使软件系统保持合适的运行状态,这一过程包括软件产品的移植和退役。Zhu.K1.3.2 软
15、件支持过程软件支持过程p 文档编制文档编制p 配置管理配置管理p 质量保证质量保证p 验证验证p 确认确认p 联合评审联合评审p 审核审核p 问题解决问题解决 p明确并定义文档开发中所采用的标准、软件过程中所需要的各类文档。p详细说明所有文档的内容、目的及相关的输出产品。p根据定义的标准与已确定的计划来编写、审查、修改和发布所有文档。p按已定义的标准和具体的规则维护文档。p 软件过程或项目中的配置项(如程序、文件和数据等有关内容)被标识、定义。p 根据已定义的配置项建立基线,以便对更改与发布进行有效的控制,并控制配置项的存储、处理与分发,确保配置项的完全性与一致性。p 记录并报告配置项的状态以
16、及已发生变更的需求。p针对过程或项目确定质量保证活动、制定出相应的计划与进度表。p确定质量保证活动的有关标准、方法、规程与工具。p确定进行质量保证活动所需的资源、组织及其组织成员的职责。p有足够的能力确保必要的质量保证活动独立于管理者以及过程实际执行者之外进行开展和实施。p在与各类相关的计划进度保持一致的前提下,实施所制定的质量保证活动。p根据需要验证的工作产品所制定的规范(如产品规格说明书)实施必要的检验活动:p有效地发现各类阶段性产品所存在的缺陷,并跟踪和消除缺陷。p 根据客户实际需求,确认所有工作产品相应的质量准则,并实施必需的确认活动。p 提供有关证据,以证明开发出的工作产品满足或适合
17、指定的需求。p与客户、供应商以及其他利益相关方(或独立的第三方)对开发的活动和产品进行评估。p为联合评审的实施制定相应的计划与进度,跟踪评审活动,直至结束。p判断是否与指定的需求、计划以及合同相一致。p由合适的、独立的一方来安排对产品或过程的审核工作。p以确定其是否符合特定需求 p 提供及时的、有明确职责的以及文档化的方式,以确保所有发现的问题都经过相应的分析并得到解决。p 提供一种相应的机制,以识别所发现的问题并根据相应的趋势采取行动。Zhu.K1.3.3 软件管理过程软件管理过程Zhu.K1.3.3 软件的管理过程软件的管理过程p 项目管理过程项目管理过程是计划、跟踪和协调项目执行及生产所
18、需资源的管理过程。项目管理过程的活动,包括软件基本过程的范围确定、策划、执行和控制、评审和评价等。p 质量管理过程质量管理过程是对项目产品和服务的质量加以管理,从而获得最大的客户满意度。此过程包括在项目以及组织层次上建立对产品和过程质量管理的关注 p 风险管理过程,风险管理过程,在整个项目的生命周期中对风险不断的识别、诊断和分析,回避风险、降低风险或消除风险,并在项目以及组织层次上建立有效的风险管理机制 p 子合同商管理过程,子合同商管理过程,选择合格的子合同商并对其进行管理的过程 Zhu.K1.3.4 软件组织过程软件组织过程 业务规划过程业务规划过程是为组织与项目成员提供对愿景的描述以及企
19、业文化的介绍,从而使项目成员能更有效地工作。定义过程定义过程是建立一个可重复使用的过程定义库,从而对其它过程等提供指导、约束和支持改进过程改进过程是为了满足业务变化的需要,提高过程的效率与有效性,而对软件过程进行持续的评估、度量、控制和改善的过程 人力资源和培训过程,人力资源和培训过程,为项目或其它组织过程提供培训合格的人员所需的活动 基础设施过程基础设施过程是建立生存周期过程基础结构、为其他过程建立和维护所需基础设施的过程 Zhu.K1.3.5 软件客户供应商的过程软件客户供应商的过程客户供应商过程客户供应商过程是内部直接影响到客户、外部直接影响开发、向客户交付软件以及软件正确操作与使用的过
20、程,包括软件获得、客户需求管理、提供软件、操作软件以及提供客户服务等5个子过程获取过程从确定需要获取的软件系统、产品或服务开始,然后制定和发布标书、选择供方和管理获取过程,直到验收软件系统、产品或服务。该过程的成功实施会导致最终生成一个明确的合同或条约,清楚地描述出客户与供应方的期望、职责与义务。在整个软件生命周期中,针对不断变化的客户需求加以收集、处理和跟踪,并建立软件需求的基准线,以作为项目中软件开发活动过程和产品度量和变更管理的基础 按客户、事先规定的要求对软件进行包装、发布与安装的活动过程 确定包装、发布以及安装软件的有关要求。软件有效地被安装与使用。软件达到需求定义中所规定的质量水平
21、。确定和管理由于引人并发操作软件而带来的操作上的风险。按要求的步骤和在要求的操作环境中运行软件。提供操作上的技术支持,以便解决操作过程个出现的问题确保软件(或主机系统)有足够的能力满足用户的需求。基于实施情况,确定客户所需要的支持服务。通过提供适当的服务来满足客户的需求。针对客户对产品本身及其相应的支持服务的满意程度进行持续的评估Zhu.K1.4 软件生命周期标准软件生命周期标准1.4.1 ISO/IEC标准体系标准体系1.4.2 IEEE标准体系标准体系1.4.3 标准体系全貌图标准体系全貌图Zhu.K1.4.1 ISO/IEC标准体系标准体系ISO/IEC 12207:1995-软件生存周
22、期过程软件生存周期过程 从多个角度说明了软件生命周期各个过程中的活动,对规范软件开发过程,协调各类人员之间的关系,都具有指导作用。ISO/IEC15504软件过程评估标准软件过程评估标准n 能力确定模式,帮助评估并确定一个潜在软件供应商的能力。n 过程改进模式,帮助提高软件开发过程的水平。n 自我评估模式,帮助判断是否有能力承接新项目的开发。Zhu.KISO/IEC标准体系的构成标准体系的构成软件过程系统过程原理12207/AMD1的过程结果15288要素标准12207/14764TR15846TR163261593914598 15910 15288标准部分指南TR15271 ISO9000
23、-3TR929418019 15288指南Zhu.K1.4.2 IEEE标准体系标准体系IEEE 1074:1997-生命周期过程的标准。生命周期过程的标准。IEEE 1540-01-软件风险管理。软件风险管理。IEEE 1517-99-软件复用过程。软件复用过程。IEEE 1219-1998-软件维护过程。软件维护过程。IEEE Std 730-2001-软件质量保证计划。软件质量保证计划。IEEE Std 1012-验证与确认。验证与确认。IEEE Std 1028-评审。评审。Zhu.K1.4.3 标准体系全貌图标准体系全貌图Zhu.K1.5 软件过程建模软件过程建模1.5.1 软件过程
24、建模型软件过程建模型1.5.2 基于基于UML的过程建模的过程建模1.5.3 基于基于IDEF3的过程建模的过程建模1.5.4 基于基于Agent的自适应软件过程模型的自适应软件过程模型1.5.5 基于基于SOA的软件过程模型的软件过程模型Zhu.K1.5.1 软件过程模型软件过程模型n瀑布模型瀑布模型n螺旋模型、增量模型、迭代模型螺旋模型、增量模型、迭代模型nV模型模型 n并发过程模型并发过程模型n极限编程(极限编程(XP)nIBM-Rational统一过程(统一过程(RUP)Zhu.K1.5.2 基于基于UML的过程建模的过程建模n用户模型视图,用户模型视图,从用户的视角来表示系统。用例(
25、Use-case)描述使用场景,可用于用户模型视图的建模方案。n结构模型视图,结构模型视图,从系统内部来分析数据和功能,属于静态结构建模。n行为模型视图,行为模型视图,描述系统动态或行为方面的各种元素间交互或协作关系,属于动态结构建模。n实现模型视图,实现模型视图,针对如何构建(实现)系统的结构和行为时的表示。n环境模型视图,环境模型视图,表示待实现的系统环境的结构和行为。Zhu.KUML图图n用例模型用例模型:对应用例图、序列图、协作图、状态图和活动图n分析模型分析模型:对应类图和对象图(包括子系统和包)、序列图、协作图、状态图和活动图。n设计模型设计模型:对应类图和对象图(包括子系统和包)
26、、序列图、协作图、状态图和活动图。n开发模型开发模型:对应配置图(包括活动类和组件)、序列图、协作图。n实现模型实现模型:对应组件图、序列图和协作图。n测试模型测试模型:测试模型引用了所有其它模型,所以使用所对应的所有视图。Zhu.K从迭代的角度理解从迭代的角度理解UML建模建模 Zhu.K从顺序角度理解从顺序角度理解UML建模建模 Zhu.K1.5.3 基于基于IDEF3的过程建模的过程建模美国空军集成计算机辅助制造(美国空军集成计算机辅助制造(ICAMICAM)项目基础上建立起来的,只包含3种方法功能建模(IDEF0)、信息建模(IDEF1)和动态建模(IDEF2)。随着信息系统的相继开发
27、,后来又增加了不少随着信息系统的相继开发,后来又增加了不少IDEFIDEF方法,方法,如数据建模扩展版本(IDEF1X)、过程描述获取方法过程描述获取方法(IDEF3IDEF3)、)、面向对象的设计方法(IDEF4)、实体论(Ontology)描述获取方法(IDEF5)、设计理论(rationale)获取方法(IDEF6)、人机交互设计方法(IDEF8)、业务约束发现方法(IDEF9)、网络设计方法(IDEF14)等。Zhu.KIDEF3的过程描述方法的过程描述方法n场景描述场景描述,通过文档记录由一个组织或系统阐明的一类典型问题的一组情况以及过程赖以发生的、重复出现的背景。场景描述的主要作用
28、,就是要把过程描述的前后关系确定下来。n对象对象,是那些发生在软件开发过程描述中的、任何具体的或概念的事物。对象的识别和特征抽取,有助于进行过程流描述和对象状态转换描述。Zhu.KIDEF3建模图形符号建模图形符号过程流描述符号OSTN 描述符号实体状态标签对对象象符符号号 个体标签对对象象个个体体符符号号交交汇汇点点联联接接弱变换联接强变换联接UOBUOB 标签 节点 号#IDEF 参考编号#前后顺序联接关系联接联联接接交交汇汇点点 与 同步与&或 同步或异或&OOOXX与 或 异或关系标签n 位次 1 阶关系符号关系标签2 位次 2 阶关系符号连连接接符符号号有约束的顺序连接Zhu.K1.
29、5.4 基于基于Agent的自适应软件过程模型的自适应软件过程模型n过程过程Agent,实现任务的动态分配和分布式协同。n监控监控Agent,负责在本地监控任务的实施。n服务服务Agent,封装了任务实现的方法。n活动活动Agent,帮助实现过程活动的动态整合。n资源资源Agent,封装了活动实现的角色和方法。Zhu.K软件过程模型的要素软件过程模型的要素 Zhu.K基于基于Agent的软件过程模型的软件过程模型 Zhu.K1.5.5 基于基于SOA的软件过程模型的软件过程模型面向服务架构面向服务架构(Service-Oriented Architecture,SOA)是企业级的、按需连接资源的新型架构,它描述了一系列模式和指导方针来创建松耦合、依赖业务的服务。Zhu.K基于基于SOA的软件过程模型的软件过程模型1.1.服务的识别服务的识别 2.2.服务的分级和分类服务的分级和分类 3.3.子系统分析子系统分析 4.4.服务分配服务分配 5.5.服务实现服务实现 Zhu.K作业作业第第1章章 1、2Zhu.KQ&A
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。