概念:制订组件解决方案

主题
生命周期范围内的活动:
  1. 简介
  2. 先启阶段活动
  3. 精化阶段活动
  4. 构造阶段活动
  5. 移交阶段活动
其它主题:

简介 到页首

基于组件的开发是常规应用程序开发的变体,其中:

  • 应用程序是分散的可执行组件汇编而成的,这些组件是相互之间相对独立地开发和部署的(可能由多个团队)。
  • 应用程序可通过只升级包含它的某些组件来较小幅度地进行升级
  • 组件可由多个应用程序共享,为重用创造机会,而且建立项目之间的依赖关系
  • 虽然并非全然关系到基于组件,但基于组件的应用程序往往将是分发式的。

在整个页面中,“组件”用于指代这些独立开发和可部署的组件。但在 RUP 中的其它情况下,将在概念:组件中所述的更普遍意义上使用术语“组件”,并在必要时做出限定。

下面讨论 Rational Unified Process(RUP)为处理基于组件的开发难题所做的调整。

先启阶段活动 到页首

先启阶段的基本工作流程是适用的,并具有以下扩展或变体:

项目管理

  • ../process/workflow/manageme/wfs_eval.htm -- This hyperlink in not present in this generated website工作流程明细:评估项目范围和风险
  • 采用某种组件方法会改变某些风险的性质,也会引入新的风险。具体地说:

    • 外部获得的组件增加了风险,因为它们引入了不受项目团队直接控制的关键元素
    • 外部获得的组件可缩短开发时间,减少资源风险
    • 外部获得的组件如果强加其自身的体系结构限制,则会使系统体系结构变形
  • ../process/workflow/manageme/wfs_sdp.htm -- This hyperlink in not present in this generated website工作流程明细:计划项目
  • 活动:计划阶段和迭代中,构造阶段的计划可能会显示项目分成了两条不同而又并行的路线:一条路线开发特定于应用程序和特定于领域的组件(在体系结构的较上层中组织 - 请参阅概念:分层),而特定于非应用程序和非领域的组件在较下层中组织。在某些情况下,可重用的组件将由独立管理的开发团队来开发。引入并行路线的决定在很大程度上是人员配备和资源问题,由于希望将可重用组件作为独立于部署了组件的应用程序的资产来管理,故而引起了该问题。

需求

测试

环境

  • ../process/workflow/environm/wfs_env1.htm -- This hyperlink in not present in this generated website工作流程明细:准备项目环境
  • 收集和准备项目指南时,来了解详细信息,并考虑它所强加的特定组件框架和约束。指南应该包括如何使用框架来设计和编写代码。它们还应提供关于如何验证组件框架本身和组件间定义的接口这两者的一致性的测试指导信息。

精化阶段活动 到页首

精化阶段的基本工作流程是适用的,并具有以下扩展或变体:

需求

分析与设计

  • 工作流程明细:设计组件
  • 活动:子系统设计进一步优化了组件的设计,确定了组件中提供组件真实行为的类。在精化阶段早期可能有一个类,一种“子系统/组件代理”,作为桩模块来模拟用于建立体系结构原型的组件行为。后来,该类的行为就分发到子系统内所包含的类的协作中。这些包含的类是在活动:类设计中优化的。

  • 工作流程明细:设计数据库
  • 在精化阶段中,所注重的是确保持久策略是可伸缩的,并且数据库设计和持久机制将支持系统的全部需求。确定持久类并映射到持久机制上。分析数据密集型用例是为了确保机制将是可伸缩的。结合测试工作流程明细,评估和验证持久机制和数据库设计。

实施

  • 工作流程明细:实施组件

    活动:实施设计元素必须符合组件框架所强加的约束的一部分而提供的《编程指南》中所述。在精化阶段,大多数组件将包含大量“桩模块”代码,因为在这里实施注重的是验证体系结构,而不是生成生产质量代码。

测试

  • 工作流程明细:../process/workflow/test/wfs_dfnevlmsn.htm -- This hyperlink in not present in this generated website定义评估任务../process/workflow/test/wfs_tstandevl.htm -- This hyperlink in not present in this generated website测试和评估../process/workflow/test/wfs_achmsnacp.htm -- This hyperlink in not present in this generated website实现可接受的任务

    精化阶段中的测试活动注重于验证体系结构。对于基于组件的系统,该注重对象转换为:

    • 使用组件之间的接口,确保组件边界是合适的,并且
    • 更大程度地注重性能测试,特别是性能伸缩测试,以确保可维持期望的事务量

    组件框架中的任何固有假设也需要评估。这些假设通常包括持久性和事务管理机制的可伸缩性和总处理能力,其中机制设计人员所做的隐含假设通常会显著破坏应用程序体系结构(如果它不理解假设)。

项目管理

  • ../process/workflow/manageme/wfs_plan.htm -- This hyperlink in not present in this generated website工作流程明细:计划下一个迭代

    将实施子系统用作“逻辑职责单元”,构建工作可分成两条或更多并行“路线”:一条注重于特定于应用程序的功能,并有一条或多条注重于普通的可重用组件。当然,这取决于有足够的资源为并行开发工作配备人员。划分开发团队和并行工作的能力完全依赖于体系结构的稳定性,更具体地说,则依赖于组件之间接口的质量和稳定性。精化阶段中的强度工作将支持这种划分。

构造阶段活动 到页首

构造阶段的基本工作流程是适用的,并具有以下扩展或变体:

项目管理

  • ../process/workflow/manageme/wfs_plan.htm -- This hyperlink in not present in this generated website工作流程明细:计划下一个迭代

    以前曾描述过第一个构造迭代的计划,因为它是在精化阶段结束时进行的。继续进行迭代计划,划分开发团队和并行工作的能力继续依赖于体系结构的稳定性以及组件之间接口的质量和稳定性。

分析与设计

实施

测试

    性能测试仍然重要,但对功能测试的注重程度有所加大。需要处理功能的完整性、现有功能的回归测试以及与预期性能的一致性。

移交阶段活动 到页首

  • Web 环境中的产品发行往往是递增式和连续的,而较少注重于传统的介质发布。发行计划必须相应调整。
  • 生产支持逐渐成为该阶段的注重对象。
  • 数据转换活动得以执行。

Rational Unified Process   2003.06.15