面向对象的分析与设计 UP- Inception Elabpration 1 Xiao ding TSEG
面向对象的分析与设计 UP – Inception & Elabpration 1 Xiao ding TSEG
UP基本结构 1.UP是一个软件开发过程 2.软件开发过程是一个将用 阶段 户需求转化为软件系统所 工作流程先启 精化 构建 产品化 需要的活动集合。 业务建模 3.UP不仅仅是一个简单的 需求 过程,而是一个通用的过分析设计 程框架 实施 4.UP使用UML来制定和描 测试 述软件系统的所有视图。 部署 5.UP的突出特点:用例驱 配置与 变更管理 动、以构架为中心、使用项目理 迭代和增量的开发模式 初始 精化 第1次第2次第1 数翻数 构建,产品化产品化 第N次第1次 2 迭代
UP基本结构 1. UP是一个软件开发过程 2. 软件开发过程是一个将用 户需求转化为软件系统所 需要的活动集合。 3. UP不仅仅是一个简单的 过程,而是一个通用的过 程框架。 4. UP使用UML来制定和描 述软件系统的所有视图。 5. UP的突出特点:用例驱 动、以构架为中心、使用 迭代和增量的开发模式
UP生命周期 ■UP是在重复一系列组成软件系统生命周期的循环。每次 循环都以向用户提供一个产品版本作为终结。 每次循环都包括四个阶段:初始、细化、构造和移交。每 个阶段又进一步细分为多次迭代过程 ■每次循环都产生系统的一个新的版本 version),每个版本 都是一个可交付的产品它包括由能够编译和运行的构件所 体现的源代码、各种手册和相关的交付品 所完成的产品包括一整套需求、非功能性需求和测试用例 等文档,还包括构架和可视化的模型
UP生命周期 n UP是在重复一系列组成软件系统生命周期的循环。每次 循环都以向用户提供一个产品版本作为终结。 n 每次循环都包括四个阶段:初始、细化、构造和移交。每 个阶段又进一步细分为多次迭代过程 n 每次循环都产生系统的一个新的版本(version),每个版本 都是一个可交付的产品它包括由能够编译和运行的构件所 体现的源代码、各种手册和相关的交付品 n 所完成的产品包括一整套需求、非功能性需求和测试用例 等文档,还包括构架和可视化的模型
UP的迭代增量开发模式 ■UP的每个阶段可以进一步分为几个迭代过程。它是生成 可执行产品版本(内部和外部)的完整开发循环,是最终 产品的一个子集,从一个迭代过程到另一个迭代过程递增 式增长形成最终的系统。 ■迭代和增量的三个关键点 口计划一小步 口说明、设计和实现一小步 口集成、测试和运行每次迭代(一小步) 初始 细化 构造 移交 UADDITUADDITUADDITUADDIT 设计 实施
UP 的迭代增量开发模式 n UP的每个阶段可以进一步分为几个迭代过程。它是生成 可执行产品版本(内部和外部)的完整开发循环,是最终 产品的一个子集,从一个迭代过程到另一个迭代过程递增 式增长形成最终的系统。 n 迭代和增量的三个关键点 ¨ 计划一小步 ¨ 说明、设计和实现一小步 ¨ 集成、测试和运行每次迭代(一小步)
UP的其它重要概念 在早期迭代中解决高风险和高价值的问题 ■不断地让用户参与评估、反馈和需求确认 ■在早期迭代中确定系统的核心架构 不断地验证质量,尽早并经常性的实施测试 进行可视化建模(使用UML) ■认真管理需求,实施变更管理和配置管理
UP的其它重要概念 n 在早期迭代中解决高风险和高价值的问题 n 不断地让用户参与评估、反馈和需求确认 n 在早期迭代中确定系统的核心架构 n 不断地验证质量,尽早并经常性的实施测试 n 进行可视化建模(使用UML) n 认真管理需求,实施变更管理和配置管理
UP里程碑 ■每个阶段都以一个里程碑作为结束标志。通过获得一组可 用的制品来定义每个里程碑。 ■在每个阶段结束时进行评估以确定是否实现了此阶段的目 标。良好的评估可使项目顺利进入下一阶段。 development cycle iteration elaboration construction transition milestone release final production release An iteration end- A stable executable The difference point when some subset of the final (delta)between the At this point, the significant decision product. The end of releases of 2 system is released or evaluation each iteration is a subsequent for production use. occurs minor release
UP里程碑 n 每个阶段都以一个里程碑作为结束标志。通过获得一组可 用的制品来定义每个里程碑。 n 在每个阶段结束时进行评估以确定是否实现了此阶段的目 标。良好的评估可使项目顺利进入下一阶段
迭代和增量模型的特点 将项目分解成许多袖珍项目,每一个袖珍项目都作为一次迭代 每个这样的袖珍项目都像过去的瀑布模型,因为它处理的是瀑布模型 的活动。我们可以将每次迭代标注为一个“袖珍瀑布” 迭代不是一个完全独立的实体,它是项目的一个阶段,它在很大程度 上是作为项目的一部分而得到的 规划人员设法对送代进行排序以得到一条有序的途径,使早期的迭代 为后期的迭代提供认知基础 项目的早期迭代增进了对需求、问题、风险和方案领域的了解,而后 期迭代产生的附加增量最终构成了外部版本,即客户产品 最终的成功是一个一直前进的迭代系列;即不必因为在后期的迭代中 了解到的一些问题而回退2~3个迭代去修补模型
迭代和增量模型的特点 n 将项目分解成许多袖珍项目,每一个袖珍项目都作为一次迭代 n 每个这样的袖珍项目都像过去的瀑布模型,因为它处理的是瀑布模型 的活动。我们可以将每次迭代标注为一个“袖珍瀑布” n 迭代不是一个完全独立的实体,它是项目的一个阶段,它在很大程度 上是作为项目的一部分而得到的 n 规划人员设法对迭代进行排序以得到一条有序的途径,使早期的迭代 为后期的迭代提供认知基础 n 项目的早期迭代增进了对需求、问题、风险和方案领域的了解,而后 期迭代产生的附加增量最终构成了外部版本,即客户产品 n 最终的成功是一个一直前进的迭代系列;即不必因为在后期的迭代中 了解到的一些问题而回退 2 ~ 3个迭代去修补模型
使用迭代和增量的理由 ■为了尽早处理关键风险和重要风险 ■为了建立一个构架来指导软件开发 ■能够处理不断变化的需求,并提供灵活变化的机制 ■为了提供一个开发过程,使所有工作人员更高效地工作 瀑布方法 瀑布方法的集 成和测试阶段 初始 细化 风险的 迭代 严重性 构造 增量 第1次 第2次 第n-1次!第n次 选代选代 时间 迭代 迭代
使用迭代和增量的理由 n 为了尽早处理关键风险和重要风险 n 为了建立一个构架来指导软件开发 n 能够处理不断变化的需求,并提供灵活变化的机制 n 为了提供一个开发过程,使所有工作人员更高效地工作
合理规划迭代过程 ■项目经理在当前迭代的目标未达到之前不应同意 开始下一次迭代。否则,就会导致必须改变计划 来适应新的情况 需求 分析 〉m〉*>∑ 测试 另外还包括: 次迭代 ■迭代规划 ·迭代评估 一些具体的活动
合理规划迭代过程 n 项目经理在当前迭代的目标未达到之前不应同意 开始下一次迭代。否则,就会导致必须改变计划 来适应新的情况
确定迭代次序 ■用例设定了一个目标;而构架建立了一个模式。 记住这个目标和模式,管理人员可以在人力资源 充分的情况下规划出进行产品开发的顺序 第1次迭代 需求)分析)设计)实现)测试 第2次迭代 需求)分析)设计)实现测试 第3次迭代 需求>分 设计)实现〉测试
确定迭代次序 n 用例设定了一个目标;而构架建立了一个模式。 记住这个目标和模式,管理人员可以在人力资源 充分的情况下规划出进行产品开发的顺序