




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编辑编辑ppt1/ /实战训练实战训练第一部分第一部分 软件工程软件工程编辑编辑ppt2本讲内容本讲内容 1 1 软件工程概述软件工程概述 2 2 软件工程过程和活动软件工程过程和活动 3 3 软件过程模型软件过程模型 4 4 软件过程成熟度模型软件过程成熟度模型CMMCMM编辑编辑ppt31 软件工程概述软件工程概述 1.1 1.1 软件的概念软件的概念 1.2 1.2 为什么要软件工程为什么要软件工程 1.3 1.3 什么是软件工程什么是软件工程 1.4 1.4 参考书目参考书目编辑编辑ppt41.1 软件的概念软件的概念 定义定义Program + Data Structure + Do
2、cuments 软件的性质软件的性质复杂性复杂性难以描述性难以描述性不可见性不可见性变化性变化性易于副本的大批量生产易于副本的大批量生产强合作性强合作性编辑编辑ppt51.2 为什么要软件工程为什么要软件工程 软件危机软件危机爆发时间爆发时间 1967年年NATO的研究组首次提出的研究组首次提出 1968年年NATO软件工程会议首次提出软件工程软件工程会议首次提出软件工程概念概念 1968-2013, 近近40多年多年 “危机危机”一词一词软件危机依然存在软件危机依然存在Crisis!编辑编辑ppt61.2 为什么要软件工程为什么要软件工程 软件危机面对的问题软件危机面对的问题 艺术艺术 vs
3、. 标准化标准化 错误的发现错误的发现 软件需求获取软件需求获取 软件支持和维护软件支持和维护 开发速度开发速度 vs. 市场需求市场需求 开发周期过长、开发成本过高开发周期过长、开发成本过高 研发风险研发风险 软件开发中的复杂的协作软件开发中的复杂的协作(人员人员,问题问题,过程过程) 不同角色的软件神话不同角色的软件神话(管理者管理者,用户用户,开发者开发者,大众大众)编辑编辑ppt71.2 为什么要软件工程为什么要软件工程 采用什么方法缓解危机采用什么方法缓解危机硬件硬件 ?建筑学建筑学?拍电影拍电影? 软件工程!软件工程!编辑编辑ppt81.3 什么是软件工程什么是软件工程 Fritz
4、 Bauer: “建立和应用完善的工程原理以便经济地得建立和应用完善的工程原理以便经济地得到在真实机器上可靠和有效运行的软件。到在真实机器上可靠和有效运行的软件。特点:重原理、轻技术、无度量特点:重原理、轻技术、无度量 IEEE:(1)应用系统的有规则的定量的方法开发、应用系统的有规则的定量的方法开发、使用和维护软件;即应用工程于软件。使用和维护软件;即应用工程于软件。(2)研究研究(1)中的方法中的方法特点:粗糙特点:粗糙编辑编辑ppt91.3 什么是软件工程什么是软件工程 Definition软件工程是以软件工程是以质量质量为核心,为了经济地开为核心,为了经济地开发满足发满足客户需求客户需
5、求的软件而研究、建立和应的软件而研究、建立和应用的用的系统化系统化的、的、有规则有规则的、的、可度量可度量的和的和可可控制控制的工程原则、方法,涉及到的工程原则、方法,涉及到软件过程、软件过程、项目管理、开发方法、软件复用、软件度项目管理、开发方法、软件复用、软件度量、开发工具量、开发工具,甚至,甚至企业文化企业文化等各个方面。等各个方面。 编辑编辑ppt10 A Quality FocusProcessMethodsCASE Tools1.3 什么是软件工程什么是软件工程编辑编辑ppt111.4 软件工程参考书目软件工程参考书目编辑编辑ppt122 过程和活动过程和活动 2.1 软件过程的概
6、念软件过程的概念 2.2 问题定义活动问题定义活动 2.3 可行性研究活动可行性研究活动 2.4 需求分析活动需求分析活动 2.5 设计活动设计活动 2.6 实施活动实施活动 2.7 测试活动测试活动 2.8 部署活动部署活动编辑编辑ppt132.1 软件过程的概念软件过程的概念 软件过程的定义软件过程的定义软件过程由开发或维护软件及其相关产品软件过程由开发或维护软件及其相关产品的一系列的一系列活动活动构成,这些活动从不同的方构成,这些活动从不同的方面定义了软件开发中的步骤、交付物、涉面定义了软件开发中的步骤、交付物、涉众及其职责等流程要素众及其职责等流程要素 编辑编辑ppt142.1 软件过
7、程的概念软件过程的概念Build theSystem控制 预算,计划表,标准输入需求资源人员,工具输出代码,文档Process控制/约束输入资源输出编辑编辑ppt152.1 软件过程的概念软件过程的概念WhatHowChange编辑编辑ppt162.1 软件过程的概念软件过程的概念编辑编辑ppt172.1 软件过程的概念软件过程的概念 Basic Activities(Basic Activities(基础活动基础活动) )问题定义,需求,设计,实问题定义,需求,设计,实b现,现,软件验证,集成,软件演进软件验证,集成,软件演进/维护,退役维护,退役 Umbrella Activities (
8、Umbrella Activities (辅助性活动辅助性活动) )软件项目跟踪和控制,正式的技术复审,软件项目跟踪和控制,正式的技术复审,软件质量保证,软件配置管理,文档编制,软件质量保证,软件配置管理,文档编制,复用管理,度量,风险管理,复用管理,度量,风险管理,Something that covers or protects. 保护物覆盖或保护的事物编辑编辑ppt182.2 问题定义活动问题定义活动 What问题定义是软件开发过程当中的一个定义问题定义是软件开发过程当中的一个定义要解决的问题并确定系统范围的活动。要解决的问题并确定系统范围的活动。 Why形成一个早期判断,达成一个最初共
9、识形成一个早期判断,达成一个最初共识 When项目日程表的最前端项目日程表的最前端占整个软件开发时间中的比例很小占整个软件开发时间中的比例很小 编辑编辑ppt192.2 问题定义活动问题定义活动 Who系统分析师、出资方领导、出资方技术人系统分析师、出资方领导、出资方技术人员、开发方领导和项目经理员、开发方领导和项目经理 Where客户现场客户现场 编辑编辑ppt202.2 问题定义活动问题定义活动 How编辑编辑ppt212.3 可行性研究活动可行性研究活动 What可行性研究是以相对短的时间和相对低的可行性研究是以相对短的时间和相对低的成本来确定给定的问题在其约束条件内是成本来确定给定的问
10、题在其约束条件内是否有解、有几种解以及哪个是最佳解。否有解、有几种解以及哪个是最佳解。 Why必须要先确立满足约束条件的方案是否存必须要先确立满足约束条件的方案是否存在、是否可行、是否最优,然后再在最优在、是否可行、是否最优,然后再在最优方案的基础上进行开发方案的基础上进行开发 编辑编辑ppt222.3 可行性研究活动可行性研究活动 When 项目的早期阶段项目的早期阶段 占整个软件开发时间中的比例较小,但比问题定占整个软件开发时间中的比例较小,但比问题定义活动所消耗的时间长义活动所消耗的时间长 Who 系统分析师、出资方领导、出资方技术人员、用系统分析师、出资方领导、出资方技术人员、用户代表
11、、开发方领导、项目经理、架构设计师、户代表、开发方领导、项目经理、架构设计师、领域专家、财务人员、市场人员、软件质量保证领域专家、财务人员、市场人员、软件质量保证(SQA,Software Quality Assure)人员等)人员等 Where 客户现场。客户现场。编辑编辑ppt232.3 可行性研究活动可行性研究活动 How How编辑编辑ppt242.4 需求分析活动需求分析活动 What需求:主要是在产品构建之前确定的系统需求:主要是在产品构建之前确定的系统必须符合的条件或具备的功能,它们是关必须符合的条件或具备的功能,它们是关于系统将要完成什么工作的一段描述语句,于系统将要完成什么工
12、作的一段描述语句,它们必须经过所有相关人员的认可,其目它们必须经过所有相关人员的认可,其目的是彻底地解决客户的问题。的是彻底地解决客户的问题。 需求文档需求文档 一组需求的集合一组需求的集合 用户需求文档、系统需求文档和软件规约文档用户需求文档、系统需求文档和软件规约文档 编辑编辑ppt252.4 需求分析活动需求分析活动功能性需求和非功能性需求功能性需求和非功能性需求 功能性需求:描述了系统应该做什么,即具备功能性需求:描述了系统应该做什么,即具备的功能或服务。(输入、输出和计算等)的功能或服务。(输入、输出和计算等) 非功能性需求:描述了系统必须遵守的约束条非功能性需求:描述了系统必须遵守
13、的约束条件。(响应时间、吞吐量件。(响应时间、吞吐量 、可靠性、可移植性、可靠性、可移植性、可扩展性、易用性、安全性、资源要求、可复可扩展性、易用性、安全性、资源要求、可复用性、技术要求、文化和政策需求、法律需求、用性、技术要求、文化和政策需求、法律需求、道德要求、隐私要求,等等)道德要求、隐私要求,等等) 描述需求的标准描述需求的标准 是完整的、正确的、必要的、无歧义的、可行是完整的、正确的、必要的、无歧义的、可行的、可验证的以及被设置了优先级别的。的、可验证的以及被设置了优先级别的。 What编辑编辑ppt262.4 需求分析活动需求分析活动 Why需求不一致、模糊、矛盾需求不一致、模糊、
14、矛盾需求变更需求变更客户忽略领域常识客户忽略领域常识/知识知识/术语术语 客户集中于现有系统的不足之处,而忽略客户集中于现有系统的不足之处,而忽略了系统要实现的关键功能了系统要实现的关键功能零碎、无组织、不明确、表达不清零碎、无组织、不明确、表达不清不分轻重缓急不分轻重缓急 编辑编辑ppt272.4 需求分析活动需求分析活动 When项目的早期阶段?项目的早期阶段?贯穿于整个软件开发过程的需求活动贯穿于整个软件开发过程的需求活动编辑编辑ppt282.4 需求分析活动需求分析活动 Who 系统分析师、需求阐释者、客户代表、用户代表、系统分析师、需求阐释者、客户代表、用户代表、开发方领导、项目经理
15、、架构设计师、领域专家、开发方领导、项目经理、架构设计师、领域专家、财务人员、市场人员、软件质量保证(财务人员、市场人员、软件质量保证(SQA,Software Quality Assure)人员、程序员、测试)人员、程序员、测试人员、部署人员、技术文档编写人员、培训人员人员、部署人员、技术文档编写人员、培训人员等。等。 Where 调研时,在客户现场调研时,在客户现场 编写软件需求规约文档时,可以在开发单位编写软件需求规约文档时,可以在开发单位 复审相关的需求文档时,根据需要来安排复审相关的需求文档时,根据需要来安排编辑编辑ppt292.4 需求分析活动需求分析活动 How网罗需求entry
16、/ 工作上下文范围entry/ 领域知识和可重用的需求do/ 获取涉众的原始需求exit/ 建立原始需求记录定义系统do/ 分析系统需求exit/ 制定软件需求文档exit/ 改进业务词汇表管理系统规模do/ 分析需求优先级、工作量和风险等属性exit/ 修订系统开发计划需求变更请求do/ 问题分析和变更描述exit/ 提交需求变更申请启动需求do/ 确定需求的涉众、范围、目标和限制条件do/ 估算项目费用exit/ 达成一致意见 更多迭代 未通过复审 需求变更实现do/ 修改需求文档do/ 修改设计文档do/ 修改测试用例do/ 修改程序exit/ 评估变更结果 通过复审 who/系统分析师
17、、项目经理、客户代表、开发方领导、财务人员等who/系统分析师、需求阐释者、客户代表、用户等who/系统分析师、需求阐释者等复审do/ 审查需求文档exit/ 发布审查结论who/系统分析师、项目经理、客户代表、用户代表、领域专家、SQA人员等who/系统分析师、项目经理、领域专家、SQA人员等who/用户代表、客户代表、系统分析员、需求阐释者等需求变更处理do/ 评估变更影响do/ 预算变更成本do/ 制定变更计划do/ 审查exit/ 发布审查结论who/用户代表、客户代表、项目经理、系统分析师、架构设计师、软件设计员、开发方领导、财务人员等who/系统分析师、需求阐释者、项目经理、架构设
18、计师、软件设计员、测试人员、实施员、SQA人员、用户代表、客户代表、财务人员、部署人员等 需求定义完成 未通过复审 通过复审 编辑编辑ppt302.5 设计活动设计活动 What 设计:设计: 是在系统的约束条件下(如预算、时间、人力是在系统的约束条件下(如预算、时间、人力资源、用户软、硬件环境和用户对系统的操作资源、用户软、硬件环境和用户对系统的操作能力等),为了实现系统的功能性需求和非功能力等),为了实现系统的功能性需求和非功能性需求,而找到并描述的一种遵循高质量的能性需求,而找到并描述的一种遵循高质量的通用原则的方法,其交付文档能够指导开发人通用原则的方法,其交付文档能够指导开发人员实现
19、系统。员实现系统。编辑编辑ppt312.5 设计活动设计活动 总体设计总体设计 根据软件需求规约文档,确定一个合理的软件根据软件需求规约文档,确定一个合理的软件体系结构。这个体系结构包括合理地划分组成体系结构。这个体系结构包括合理地划分组成系统的模块、模块间的调用关系以及模块间的系统的模块、模块间的调用关系以及模块间的接口关系。软件体系结构还从总体方面决定了接口关系。软件体系结构还从总体方面决定了系统的可扩充性、可维护性,以及系统的性能系统的可扩充性、可维护性,以及系统的性能等。总体设计的设计粒度较大,有时也被称为等。总体设计的设计粒度较大,有时也被称为概要设计、架构设计。概要设计、架构设计。
20、编辑编辑ppt322.5 设计活动设计活动详细设计详细设计 详细设计地任务是在总体设计的基础上进一步详细设计地任务是在总体设计的基础上进一步确定如何实现目标系统,包括系统的数据对象确定如何实现目标系统,包括系统的数据对象的设计、人机接口的设计以及模块逻辑的详细的设计、人机接口的设计以及模块逻辑的详细设计。设计。设计部件的粒度设计部件的粒度 系统、子系统、框架、构件、组件、模块、类、系统、子系统、框架、构件、组件、模块、类、方法等方法等编辑编辑ppt332.5 设计活动设计活动 Why软件架构是软件系统的核心软件架构是软件系统的核心应对复杂多变的情况,同时保持完整性应对复杂多变的情况,同时保持完
21、整性应对系统在扩展功能当中出现的问题应对系统在扩展功能当中出现的问题大规模复用的有效基础大规模复用的有效基础 项目管理的基础项目管理的基础 编辑编辑ppt342.5 设计活动设计活动 When项目的中、早期阶段?项目的中、早期阶段?工作量早期 中期 后期项目时间大小贯穿于整个软件开发过程的设计活动贯穿于整个软件开发过程的设计活动编辑编辑ppt352.5 设计活动设计活动 Who主要包括架构设计师、软件设计员、复用主要包括架构设计师、软件设计员、复用工程师、设计复审员、项目经理、财务人工程师、设计复审员、项目经理、财务人员、软件质量保证(员、软件质量保证(SQA,Software Quality
22、 Assure)人员和需求变更者等)人员和需求变更者等 Where建议在软件企业内部进行设计建议在软件企业内部进行设计 编辑编辑ppt362.5 设计活动设计活动 How定义架构草案entry/ 软件需求规约文档do/ 定义多个备选架构草案do/ 选择最优架构草案exit/ 审查架构草案who/架构设计师、软件设计员、项目经理、SQA人员、财务人员等改进架构do/ 考虑设计原则和架构模式do/ 分析设计元素do/ 分析元素间的关系和接口exit/ 修改设计模型设计专用构件设计数据库设计可复用的框架或构件选择可复用的框架或构件entry/ 软件可复用资产库do/ 查找符合条件的的框架和构件do/
23、 选择适合的框架或构件修订设计说明书do/ 修订设计说明书exit/ 复审设计说明书 新的迭代或需求变更 架构设计早期who/架构设计师、复用工程师who/架构设计师、复用工程师、软件设计员who/复用工程师、软件设计员who/构件设计员who/数据库设计员who/架构设计师、复用工程师、软件设计员、项目经理、SQA人员、财务人员等 需要设计新的可复用框架或构件 开发专用构件 需要设计数据库 找到合适的框架或构件 未通过复审 通过复审 未通过审查通过审查编辑编辑ppt372.6 实施活动实施活动 What编码:是将软件设计结果转换成用某种程编码:是将软件设计结果转换成用某种程序设计语言书写的程
24、序。序设计语言书写的程序。单元测试:是把一个模块作为独立的程序单元测试:是把一个模块作为独立的程序单元进行测试,以保证它能够正确执行规单元进行测试,以保证它能够正确执行规定的功能。定的功能。 集成:是指将单独的软件构件合并成一个集成:是指将单独的软件构件合并成一个整体的软件系统。集成分为集成子系统和整体的软件系统。集成分为集成子系统和集成系统两个级别:集成系统两个级别:编辑编辑ppt382.6 实施活动实施活动 Why以实施为中心的软件开发以实施为中心的软件开发 弱化的需求弱化的需求 弱化的设计弱化的设计 对实施人员的过度依赖对实施人员的过度依赖 编辑编辑ppt392.6 实施活动实施活动 W
25、hy将单元测试作为实施的一部分将单元测试作为实施的一部分 When项目的中、后期阶段项目的中、后期阶段 工作量早期 中期 后期项目时间大小贯穿于整个软件开发过程的实施活动贯穿于整个软件开发过程的实施活动编辑编辑ppt402.6 实施活动实施活动 Who包括实施员、代码复审员、集成员、测试包括实施员、代码复审员、集成员、测试工程师、测试员、项目经理、架构设计师、工程师、测试员、项目经理、架构设计师、软件设计员、复用工程师、软件设计员、复用工程师、SQA人员和财人员和财务人员等务人员等 Where建议在软件企业内部进行开发建议在软件企业内部进行开发 编辑编辑ppt412.6 实施活动实施活动 Ho
26、w制定计划do/ 修订实施计划/集成测试/测试计划/预算实施成本exit/ 审核计划和预算who/架构设计师、软件设计员、复用工程师、项目经理、实施员、集成员、测试工程师、测试员、SQA人员、财务人员等实施构件do/ 开发或改进构件do/ 制作测试驱动程序和桩模块do/ 执行单元测试do/ 修订集成计划/测试计划(方案)exit/ 复审代码who/实施员、集成员、测试工程师、代码复审员 未通过代码复审 集成每个子系统do/ 将新建或变更构件集成到相关子系统中do/ 对集成的子系统进行测试who/集成员、测试员、测试工程师集成系统do/ 集成出新的工作版本do/ 集成测试who/集成员、测试员、
27、测试工程师迭代总结(实施)entry/ 实施的工作版本do/ 审查计划执行情况/实施质量/实施成本who/项目经理、实施员、集成员、测试工程师、测试人员、架构设计师、软件设计员、复用工程师、SQA人员、财务人员等未通过子系统测试 通过代码复审 通过子系统测试 此次迭代中还有其它子系统未集成 已完成此次迭代中的子系统集成 此次迭代中还有子系统未被集成到工作版本 完成 未通过审核 通过审核 未通过集成测试 通过集成测试 此次迭代中还有其它构件未实施 已完成此次迭代中构件的实施 编辑编辑ppt422.7 测试活动测试活动 What 测试:是选择适当的测试用例执行被测程序的过程,其目测试:是选择适当的
28、测试用例执行被测程序的过程,其目的在于发现程序错误。的在于发现程序错误。 缺陷缺陷:是系统任一方面(包括需求、设计或代码)的:是系统任一方面(包括需求、设计或代码)的缺点。该缺点会促成或潜在的促成一个或多个失败发缺点。该缺点会促成或潜在的促成一个或多个失败发生。生。 错误错误:是指程序中的缺陷所产生的不正确结果。:是指程序中的缺陷所产生的不正确结果。 失败失败:当一个程序不能运行或者其表现不可被接受时:当一个程序不能运行或者其表现不可被接受时称为失败。失败是系统执行中出现的情况。失败源于称为失败。失败是系统执行中出现的情况。失败源于代码缺陷。代码缺陷。 单元测试、集成测试、系统测试、单元测试、
29、集成测试、系统测试、(alpha)(alpha)、(Beta)(Beta) 验收测试验收测试 编辑编辑ppt432.7 测试活动测试活动质量维度:描述质量的概念或评测质量的质量维度:描述质量的概念或评测质量的方法的不同视角方法的不同视角 可靠性维度可靠性维度 可用性维度可用性维度 性能维度性能维度测试用例:为特定目标开发的测试输入、测试用例:为特定目标开发的测试输入、执行条件和预期结果的集合。执行条件和预期结果的集合。 编辑编辑ppt442.7 测试活动测试活动 When项目的后期阶段?项目的后期阶段?优点 缩短测试时间缩短测试时间 易于定位缺陷易于定位缺陷 避免错上加错避免错上加错 工作量早
30、期 中期 后期项目时间大小编辑编辑ppt452.7 测试活动测试活动 Who主要包括测试工程师、测试员、软件设计主要包括测试工程师、测试员、软件设计员、实施员、项目经理、部署工程师、部员、实施员、项目经理、部署工程师、部署员、署员、SQA人员和财务人员等人员和财务人员等 Where建议单元测试、集成测试和系统测试在实建议单元测试、集成测试和系统测试在实施员所在的开发现场及其附近进行施员所在的开发现场及其附近进行测试和验收测试则完全在用户现场测试测试和验收测试则完全在用户现场测试 编辑编辑ppt462.7 测试活动测试活动 (5/5) How制定测试计划entry/ 需求规约文档/设计说明书/集
31、成构建计划do/ 制定测试计划do/ 设计测试用例和测试过程do/ 分析测试工作量,预算测试成本who/测试工程师、项目经理、SQA人员和财务人员实施测试do/ 设计/实现测试用的驱动程序和桩模块do/ 测试构件和子系统who/软件设计员、实施员 单元测试失败 或还有其它单元测试未实施 集成测试 完成单元测试 who/测试员 完成集成测试 集成测试失败 或还有其它迭代内集成测试未测 系统测试who/测试员 系统测试未通过 测试 通过 需要测试who/客户和用户测试不需要测试需要测试who/客户、用户、部署工程师和部署员 不需要测试 验收测试 需要验收测试 who/客户、用户、项目经理、部署工程
32、师和部署员评估测试do/ 提出系统变更请求do/ 制定/修订测试评估报告who测试工程师迭代总结(测试)do/ 审查测试计划执行情况/测试成本/测试质量who/测试工程师、测试员、软件设计员、实施员、项目经理、SQA人员和财务人员等 不需要验收测试 编辑编辑ppt472.8 部署活动部署活动 What部署:是为确保最终用户可以正常使用软部署:是为确保最终用户可以正常使用软件产品而进行的活动。件产品而进行的活动。 根据产品类型,可以将部署分为三种模式根据产品类型,可以将部署分为三种模式: : 自定义安装模式自定义安装模式 现场支持模式现场支持模式 InternetInternet模式模式 编辑编
33、辑ppt482.8 部署活动部署活动部署单元:由一个工作版本(可执行构件部署单元:由一个工作版本(可执行构件集)、文档(最终用户支持材料和发布说集)、文档(最终用户支持材料和发布说明)和安装工件组成明)和安装工件组成 部署计划:说明如何将产品从开发商转移部署计划:说明如何将产品从开发商转移到用户群到用户群 兼容、转换和迁移策略兼容、转换和迁移策略 部署时间表部署时间表 部署顺序部署顺序 用户培训用户培训 编辑编辑ppt492.8 部署活动部署活动 When项目的后期阶段?项目的后期阶段?工作量早期 中期 后期项目时间大小编辑编辑ppt502.8 部署活动部署活动 Who主要包括部署工程师、部署
34、员、文档编写员、包装员、实施员、项目经理、SQA人员和财务人员等 Where一部分工作可以在开发现场进行,如制定部署计划、包装产品、编写相关文档等;另一部分工作必须在用户现场进行,如测试、验收测试和用户正式使用中的安装、培训工作等。编辑编辑ppt512.8 部署活动部署活动 How计划部署do/ 制定部署计划do/ 定义材料清单who/部署工程师编写支持材料who/文档编写员参与内部测试do/ 熟悉系统do/ 部署测试环境who/部署工程师、部署员生成部署单元do/ 编写发布说明do/ 开发安装工件who/部署工程师、软件设计员和实施员测试的部署who/部署工程师、部署员验收测试的部署who/
35、部署工程师、部署员包装产品who/包装员用户正式使用的部署who/部署工程师、部署员 测试未通过 通过 需要测试 不需要测试 需要验收测试 不需要验收测试 需要正式部署 不需要正式部署 迭代总结(部署)do/ 审查部署计划执行情况/部署成本/部署质量who/项目经理、部署工程师、部署员、文档编写员、包装员、实施员、SQA人员和财务人员等编辑编辑ppt523 3 软件过程模型软件过程模型 3.1 3.1 过程模型概念过程模型概念 3.2 3.2 线形顺序模型系列线形顺序模型系列 3.3 3.3 演进模型系列演进模型系列 3.4 3.4 其它模型系列其它模型系列 3.5 3.5 过程模型的选择过程
36、模型的选择编辑编辑ppt533.1 过程模型概念过程模型概念 为什么需要模型为什么需要模型? ?模型帮助我们解释事物模型帮助我们解释事物如何工作如何工作模型能够拓宽我们的视野模型能够拓宽我们的视野( (抽象抽象) ) 软件过程模型软件过程模型一个过程模型是一个过程的抽象表示一个过程模型是一个过程的抽象表示过程模型帮助我们更好地理解软件开发过程模型帮助我们更好地理解软件开发编辑编辑ppt543.1 过程模型概念过程模型概念(2/5)编辑编辑ppt553.1 过程模型概念过程模型概念编辑编辑ppt563.1 过程模型概念过程模型概念编辑编辑ppt573.1 过程模型概念过程模型概念 经典模型经典模
37、型 Linear Sequential Model Waterfall Model V Model Department of Defense Model RAD Model Prototyping Model Build-and-Fix Model Incremental Model Spiral Model Concurrent Development Model XP Model RUP Model编辑编辑ppt583.2 线形顺序模型系列线形顺序模型系列 线性顺序模型线性顺序模型analysisdesigncodetestSystem/informationengineering编辑编
38、辑ppt593.2 线形顺序模型系列线形顺序模型系列 瀑布模型瀑布模型编辑编辑ppt60 特征特征接受上一阶段的结果作为本阶段的输入接受上一阶段的结果作为本阶段的输入开发阶段严格按线性方式进行开发阶段严格按线性方式进行对本阶段的工作进行评审对本阶段的工作进行评审每一阶段具有相关的里程碑和交付产品每一阶段具有相关的里程碑和交付产品 缺点缺点缺乏灵活性,难以适应需求不明确或需求经常变化的缺乏灵活性,难以适应需求不明确或需求经常变化的软件开发软件开发开发早期存在的问题往往要到交付使用时才发现,维开发早期存在的问题往往要到交付使用时才发现,维护代价大护代价大 适用适用在开发的早期阶段软件需求被完整确定
39、在开发的早期阶段软件需求被完整确定3.2 3.2 线形顺序模型系列线形顺序模型系列编辑编辑ppt61实际使用的瀑布模型实际使用的瀑布模型3.2 3.2 线形顺序模型系列线形顺序模型系列编辑编辑ppt623.2 线形顺序模型系列线形顺序模型系列 V V 模型模型REQUIREMENTSANALYSISSYSTEMDESIGNPROGRAMDESIGNCODINGUNIT & INTE-GRATION TESTINGSYSTEMTESTINGACCEPTANCETESTINGOPERATION& MAINTENANCEVerify designValidate requiremen
40、ts编辑编辑ppt633.2 线形顺序模型系列线形顺序模型系列 RAD (Rapid Application Development)RAD (Rapid Application Development)模型模型60 90 days编辑编辑ppt643.3 演进模型系列演进模型系列 原型模型原型模型Listen to customerbuild/revisemock-upcustomer test-drives mock-up编辑编辑ppt653.3 演进模型系列演进模型系列 边建边改边建边改 ModelModelBuild first versionModify until client i
41、s satisfiedMaintenancephaseRetirementDevelopmentMaintenance编辑编辑ppt663.3 演进模型系列演进模型系列 边建边改边建边改 Model(Model(续续) )编辑编辑ppt673.3 演进模型系列演进模型系列 增量模型增量模型System/InformationengineeringanalysisdesignCodeTest增量一增量一交付交付1analysisdesignCodetest增量二增量二analysisdesignCodetest增量三增量三analysisdesignCodetest增量四增量四Calendar
42、Time交付交付2交付交付3交付交付5编辑编辑ppt683.3 演进模型系列演进模型系列CustomerCommunicationRisk AnalysisEngineeringConstruction & ReleasePlanningCustomerEvaluationProject entryPoint axis 螺旋模型螺旋模型编辑编辑ppt693.3 演进模型系列演进模型系列 XP XP 模型,一种敏捷开发方法模型,一种敏捷开发方法编辑编辑ppt703.4 其它模型系列其它模型系列 构件组装模型构件组装模型与瀑布模型对比与瀑布模型对比编辑编辑ppt713.4 其它模型系列其它
43、模型系列应用构件提取车间构件生产车间标准规范 与 质量保证1基础构件,2功能构件 3接口构件,4用户界面构件 应用构件库 构件库组装车间领域 1领域 2应用系统 . .1 12 23 34 4编辑编辑ppt72各种模型的比较各种模型的比较模型模型优点优点缺点缺点瀑布模型瀑布模型规范,文档驱动规范,文档驱动系统可能不满足客系统可能不满足客户真正的需求户真正的需求快速原型快速原型克服了瀑布型的缺点克服了瀑布型的缺点增量模型增量模型开发早期回报明确,开发早期回报明确,易于维护易于维护要求开放的软件体要求开放的软件体系结构系结构螺旋模型螺旋模型风险驱动,适用于大风险驱动,适用于大型项目开发型项目开发风
44、险分析人员需要风险分析人员需要有经验且经过充分有经验且经过充分训练训练编辑编辑ppt733.5 过程模型的选择过程模型的选择 软件工程过程模型的选择是基于软件工程过程模型的选择是基于: :项目的应用特点项目的应用特点采用的方法和工具采用的方法和工具需要的控制需要的控制交付的产品交付的产品编辑编辑ppt743.5 过程模型总结过程模型总结u在前期需求明确,尽量采用在前期需求明确,尽量采用瀑布模型瀑布模型u用户没有信息系统使用经验,需求分析人员技能不足,采用户没有信息系统使用经验,需求分析人员技能不足,采用用原型原型u不确定因素很多,无法一下子计划,采用增量或螺旋不确定因素很多,无法一下子计划,采
45、用增量或螺旋u需求不稳定,采用需求不稳定,采用增量增量u资金和成本无法一次到位,采用资金和成本无法一次到位,采用增量增量u可以各种模型可以各种模型合并使用合并使用,但每一次必须要有明确的交付物,但每一次必须要有明确的交付物和出口准则和出口准则u编程人员经验较少,不宜采用编程人员经验较少,不宜采用快速快速的方法的方法编辑编辑ppt754 4 软件过程能力成熟度软件过程能力成熟度编辑编辑ppt764 4 能力成熟度模型能力成熟度模型CMMCMM CMMCMM(Capability Maturity ModelCapability Maturity Model)即能力成)即能力成熟度模型,是美国卡耐
46、基梅隆大学软件工程研究所熟度模型,是美国卡耐基梅隆大学软件工程研究所(SEISEI)建立的,)建立的,用于评价软件机构的软件过程能力用于评价软件机构的软件过程能力成熟度的模型成熟度的模型。 此模型建立之初的主要目的在于提供一种评此模型建立之初的主要目的在于提供一种评价软件承接方能力的方法,为大型软件项目的招投价软件承接方能力的方法,为大型软件项目的招投标活动提供一种全面而客观的评审依据。而发展到标活动提供一种全面而客观的评审依据。而发展到后来,又同时后来,又同时被软件组织用于改进其软件过程被软件组织用于改进其软件过程。编辑编辑ppt77软件组织的成熟与不成熟软件组织的成熟与不成熟不成熟的软件组
47、织不成熟的软件组织 软件过程一般并不预先计划,而是在项目进行中由实际软件过程一般并不预先计划,而是在项目进行中由实际工作人员及管理员临时计划工作人员及管理员临时计划 有时,即使软件过程已计划好,仍不按计划执行有时,即使软件过程已计划好,仍不按计划执行 没有一个客观的基准来判断产品质量,或解决产品和过没有一个客观的基准来判断产品质量,或解决产品和过程中的问题程中的问题 对软件过程步骤如何影响软件质量,一无所知,产品质对软件过程步骤如何影响软件质量,一无所知,产品质量得不到保证。而且,一些提高质量的环节,如检查、量得不到保证。而且,一些提高质量的环节,如检查、测试等经常由于要赶进度而减少或取消测试
48、等经常由于要赶进度而减少或取消4 4 能力成熟度模型能力成熟度模型CMMCMM编辑编辑ppt78 产品在交付前,对客户来说,一切都是不可见的产品在交付前,对客户来说,一切都是不可见的 没有长远目标,管理员通常只关注解决任何当前的危机没有长远目标,管理员通常只关注解决任何当前的危机 由于没有实事求是地估计进度、预算,因此他们经常超由于没有实事求是地估计进度、预算,因此他们经常超支、超时。当最后期限临近,他们往往在功能性和质量支、超时。当最后期限临近,他们往往在功能性和质量上妥协,或以加班加点方式赶进度上妥协,或以加班加点方式赶进度4 4 能力成熟度模型能力成熟度模型CMMCMM编辑编辑ppt79
49、2.2.成熟的软件组织成熟的软件组织 具有全面而充分的组织和管理软件开发和维护过程的能力具有全面而充分的组织和管理软件开发和维护过程的能力 管理员监视软件产品的质量以及生产这些产品的过程。管理员监视软件产品的质量以及生产这些产品的过程。 制定了一系列客观基准来判别产品质量,并分析产品和过制定了一系列客观基准来判别产品质量,并分析产品和过程中的问题。程中的问题。 进度和预算可以按照以前积累的经验来制定,结果可行。进度和预算可以按照以前积累的经验来制定,结果可行。预期的成本、进度、功能与性能和质量都能实现,并达到预期的成本、进度、功能与性能和质量都能实现,并达到目的。目的。4 4 能力成熟度模型能
50、力成熟度模型CMMCMM编辑编辑ppt80 能准确及时地向工作人员通报实际软件过程,并按照计划能准确及时地向工作人员通报实际软件过程,并按照计划有规则地有规则地( (前后一致,不互相矛盾前后一致,不互相矛盾) )工作工作 凡规定的过程都编成文档凡规定的过程都编成文档 软件过程和实际工作方法相吻合。必要时,过程定义会及软件过程和实际工作方法相吻合。必要时,过程定义会及时更新,通过测试,或者通过成本时更新,通过测试,或者通过成本- -效益分析来改进过程。效益分析来改进过程。 全体人员普遍地、积极地参与改进软件过程的活动。在组全体人员普遍地、积极地参与改进软件过程的活动。在组织内部的各项目中,每人在
51、软件过程中的职责都十分清晰织内部的各项目中,每人在软件过程中的职责都十分清晰而明确,各守其责,协同工作,有条不紊,甚至能预见和而明确,各守其责,协同工作,有条不紊,甚至能预见和防范问题的发生。防范问题的发生。4 4 能力成熟度模型能力成熟度模型CMMCMM编辑编辑ppt81CMMCMM的组成的组成 成熟度级别成熟度级别 关键过程域关键过程域 共同特性共同特性 关键实践关键实践 过程能力过程能力 目目 标标 实施或制度化实施或制度化 活动或基础设施活动或基础设施 表明表明 实现实现 解决解决 描述描述 5 个个 包含包含 划分为划分为 包含包含 4 4 能力成熟度模型能力成熟度模型CMMCMM编
52、辑编辑ppt825.5.优化级优化级4.4.已管理级已管理级3.3.已定义级已定义级2.2.可重复级可重复级1.1.初始级初始级标 准 、 一标 准 、 一致的过程致的过程有纪律有纪律的过程的过程可预测的过程可预测的过程持续改进的过程持续改进的过程软件过程成熟软件过程成熟度的度的5 5个等级个等级4 4 能力成熟度模型能力成熟度模型CMMCMM编辑编辑ppt83 CMM CMM提供了一个成熟度等级框架:提供了一个成熟度等级框架:1 1级级- -初始级、初始级、2 2级级- -可重可重复级、复级、3 3级级- -已定义级、已定义级、4 4级级- -已管理级和已管理级和5 5级级- -优化级。优化
53、级。 1.1.初始(初始(initialinitial)级:)级: 软件过程的特点是无秩序的,甚至是混乱的。几乎没软件过程的特点是无秩序的,甚至是混乱的。几乎没有什么过程是经过妥善定义的,成功往往依赖于个人或小有什么过程是经过妥善定义的,成功往往依赖于个人或小组的努力。组的努力。 2.2.可重复(可重复(repeatablerepeatable)级:)级: 建立了基本的项目管理过程来跟踪成本、进度和功能建立了基本的项目管理过程来跟踪成本、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功。取得的成功。4 4 能力成熟度模型能
54、力成熟度模型CMMCMM编辑编辑ppt84 3. 3.已定义(已定义(defineddefined)级:)级: 己将管理和工程活动两方面的软件过程文档化、标己将管理和工程活动两方面的软件过程文档化、标准化,并综合成该机构的标准软件过程。所有项目均使准化,并综合成该机构的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件。用经批准、剪裁的标准软件过程来开发和维护软件。 4.4.已管理(已管理(managedmanaged)级:)级: 收集对软件过程和产品质量的详细度量值,对软件过收集对软件过程和产品质量的详细度量值,对软件过程和产品都有定量的理解和控制。程和产品都有定量的理解
55、和控制。 5.5.优化(优化(optimizingoptimizing)级:)级: 整个组织关注软件过程改进的持续性、预见及增强自整个组织关注软件过程改进的持续性、预见及增强自身,防止缺陷及问题的发生。过程的量化反馈和先进的身,防止缺陷及问题的发生。过程的量化反馈和先进的新思想、新技术促使过程不断改进。新思想、新技术促使过程不断改进。4 4 能力成熟度模型能力成熟度模型CMMCMM编辑编辑ppt85 成熟度等级成熟度等级表明了一个软件组织的过程能表明了一个软件组织的过程能力的水平。除初始级外,每个成熟度等级力的水平。除初始级外,每个成熟度等级都包含若干个关键过程域(都包含若干个关键过程域(Ke
56、y Process Key Process AreaArea,简称,简称KPAKPA)达到某个成熟度级别,该级别(以及较低达到某个成熟度级别,该级别(以及较低级别)的所有关键过程域都必须得到满足,级别)的所有关键过程域都必须得到满足,并且过程必须实现制度化。并且过程必须实现制度化。4 4 能力成熟度模型能力成熟度模型CMMCMM编辑编辑ppt86缺陷预防、技术更新缺陷预防、技术更新管理、过程更改管理管理、过程更改管理定量过程管理定量过程管理软件质量管理软件质量管理机构过程焦点、机构过程机构过程焦点、机构过程定义、培训大纲、综合软定义、培训大纲、综合软件管理、软件产品工程、件管理、软件产品工程、
57、组间协调、同行评审组间协调、同行评审需求管理、软件项目计划需求管理、软件项目计划、软件项目跟踪和监督、软件项目跟踪和监督、软件分包合同管理、软件软件分包合同管理、软件质量保证、软件配置管理质量保证、软件配置管理能力成熟度级能力成熟度级别中的关键过别中的关键过程域程域18个个优化级优化级已管理级已管理级已定义级已定义级可重复级可重复级初始级初始级4 4 能力成熟度模型能力成熟度模型CMMCMM6个个7个个2个个3个个编辑编辑ppt87能力成熟度模型集成能力成熟度模型集成CMMICMMICapability Maturity Model IntegrationCapability Maturity
58、 Model IntegrationCMMCMM的成功导致了各种模型的衍生,每一种模的成功导致了各种模型的衍生,每一种模型都探讨了某一特定领域中的过程改进问题型都探讨了某一特定领域中的过程改进问题SW-CMMSW-CMM:适用于软件开发:适用于软件开发SE-CMMSE-CMM:系统工程能力成熟度模型:系统工程能力成熟度模型SA-CMMSA-CMM:适用于软件获取:适用于软件获取SECAMSECAM:系统工程能力评估模型:系统工程能力评估模型People CMMPeople CMM:讨论软件组织吸引、开发、激励、组织:讨论软件组织吸引、开发、激励、组织和留住人才的能力和留住人才的能力EIA/IS
59、 731EIA/IS 731:替代:替代SW-CMMSW-CMM和和SECAMSECAMIPD-CMMIPD-CMM:适用于集成化产品开发:适用于集成化产品开发FAA-CMMFAA-CMM:集成了:集成了SE-CMMSE-CMM、 SA-CMMSA-CMM、 SW-CMMSW-CMM编辑编辑ppt88 相应的国际标准:相应的国际标准: ISO/IEC 12207ISO/IEC 12207(软件生存周期过程)(软件生存周期过程) ISO/IEC 15288ISO/IEC 15288(系统生存周期过程)(系统生存周期过程) ISO/IEC 15504ISO/IEC 15504(软件过程评估)(软件
60、过程评估) 模型的繁衍导致模型框架、术语等方面的矛盾和不一致模型的繁衍导致模型框架、术语等方面的矛盾和不一致 包含在当代工程中各种各样的学科和工程是密切交叉在一包含在当代工程中各种各样的学科和工程是密切交叉在一起的,应用不同模型时效率低下且容易混淆,常常要付出起的,应用不同模型时效率低下且容易混淆,常常要付出极其昂贵的代价极其昂贵的代价 美国国防部、美国国防工业委员会和美国国防部、美国国防工业委员会和SEI/CMUSEI/CMU于于19981998年启年启动动CMMICMMI项目,希望项目,希望CMMICMMI是若干过程模型的综合和改进,是是若干过程模型的综合和改进,是支持多个工程学科和领域的系统的、一致的过程改进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生产计划第1章
- 市场营销计划组织与审计
- 2025年黑龙江货运丛业资格证考试题库答案
- 2025年金昌货运资格证模拟考试题库
- 2025年松原货运从业资格证考试卷
- 第2课+中华文化的世界意义高二下学期历史统编版(2019)选择性必修3
- 重庆市部分区2024-2025学年高二(上)期末物理试卷【含解析】
- 四川省达州市2023-2024学年高一(上)期末物理试卷【含解析】
- 小升初统编版语文衔接课程:《从感知比喻到运用比喻》教学设计001
- 智能手机用户位置隐私保护
- 工业引风机知识培训课件
- 2025年南京铁道职业技术学院单招职业适应性测试题库一套
- 《喜剧天赋提升》课件
- 第16课《青春之光》教学设计 2024-2025学年统编版语文七年级下册
- 2025年哈尔滨幼儿师范高等专科学校单招职业技能测试题库1套
- 2025年湖南城建职业技术学院单招职业倾向性测试题库及答案一套
- 2025广东省安全员A证考试题库
- 2025年广东深圳高三一模高考英语试卷试题(含答案详解)
- 《酒店服务礼仪细节》课件
- 《建筑工程混凝土施工质量控制课件》
- 2025-2030年中国煤炭行业发展动态及前景趋势分析报告
评论
0/150
提交评论