依赖性

使用关系来管理依赖性。 许多资产都具有依赖性或超过资产本身的需求,以便确保其完整性,或确保其能工作或构建。例如,“构建”或“实施”资产类型可能具有使资产完整或有效所必需的依赖性。资产可能需要作为构建或实施的依赖性的特定二进制文件和 jar 文件。

管理依赖性包括定义依赖性,然后通过使用策略对其进行管理。必须首先识别属于资产的依赖性,接着对其进行定义,然后应用策略。

您可以通过创建相关资产和通过使用依赖关系来管理依赖性。此外,还可以通过基于组件集创建资产或相关资产来定义依赖性,以管理对依赖性和可跟踪性的需求。

以下准则是用于管理依赖性的通用步骤:
  1. 识别依赖性
    1. 通过对资产类型进行定义和分类,可以指定资产的使用和查找方式以及资产的用途。请参阅类别模式
    2. 定义资产类型的依赖性。

      复审依赖性并决定谁对其进行控制。复审由团队使用的库和必需公共文件的现有依赖关系。验证给定版本的文件是否准确以及是否为依赖性指定了正确的版本信息。复审团队和组件之间的现有关系。确定多个项目可能使用相同组件的不同版本情况下的冲突。通过控制依赖性的正式版本并启用对包含这些版本的工作空间的更新来避免冲突。此外,还可以区分开发和生产环境中的依赖关系。 请参阅资产复审和管理

  2. 定义依赖性
    1. 确定并定义要捆绑在资产中的必需文件和依赖性。包含版本以及其他可能会随时间更改的信息。例如,您可以指定“Version A goes with Version C and is used in products 1, 2, and 3, for platforms A, B, and C”
    2. 将依赖性另存为资产中的工件或另存为相关资产。

      使用必需文件或组件之间的关系。依赖性可定义某个资产版本如何依赖于其他资产的其他版本。例如,依赖性可以声明“Use version, 1.4.2 vs. 1.4.1 of common component A”“Use the latest approved and tested version or latest build”。 指定各必需公共库或组件的已核准版本,以便不会使用多个版本。请参阅资产关系

      可以使用“依赖于”关系来指定依赖性。请参阅定义资产间的关系

  3. 管理依赖性
    通过按下列步骤进行操作来应用策略以管理依赖性:
    1. 为创建资产、工件以及新版本的资产和工件定义流程与策略。请参阅生命周期策略
    2. 为复审、核准、认证、发布和引退资产定义资产生命周期。
      定义对以下角色和资源的管理:
      • 谁能将新库添加为资产
      • 需要什么安全性扫描
      • 谁能创建草稿版本和已核准版本
      • 谁来检查商用组件和开放式源代码组件的许可证一致性
      • 使用什么策略来除去旧版本
      请参阅资产开发和生命周期
    3. 应用策略以管理提供新资产、工件或版本的方式。请参阅定义策略流程

对于使用 Rational Asset Manager 管理依赖关系和构建服务的方法的说明,请参阅 Rational Asset Manager 的开发服务

开发或业务环境中的项目干系人具有可集中在资产管理系统中的信息。架构设计师建议采用可全局使用的组件。开发者知道所有项目依赖性。变更管理团队设置策略来规定允许的内容。质量工程师知道已测试的内容。运作人员知道已核准供生产使用的内容。

可以使用 IBM Rational Asset Manager 来管理所有项目干系人的信息,并为依赖性创建资产和关系。您可以通过多种方法来使用关系,包括下列示例:
  • 将组件作为资产提供。

    开发在组织中一起使用的已测试的公共组件集。基于这些集来创建资产。为各应用程序类型或操作系统创建一个公共组件资产。

    测试这些集的版本并创建一个资产作为组件组的版本。 如果在该组上构建应用程序,那么此应用程序应可在您的环境中工作。

  • 使用资产关系指定依赖性。
  • 使用资产生命周期并应用策略来管理允许的内容以及已测试并核准的内容。

    您也可以生成报告来审计资产复用,包括依赖性。

考虑使用所有权的各方面来确定是创建资产还是工件。例如,如果“实施”资产依赖于开放式源代码组件或其他必需组件或资源,那么可以通过下列方法管理依赖性:
  • 如果由您或您的组织控制源内容,那么您可以创建相关资产。例如,您可以创建必需组件或类型库或库集合,以供开发者使用。
  • 如果您捆绑某个资源版本集并维护该集以进行复用,那么可以创建相关资产。例如,您可以创建开放式源代码组件和库的集合,以供开发者使用。
  • 要管理您组织未拥有或维护的特定必需文件、库及其他依赖性,可以创建工件。 例如,您可以创建开放式源代码组件或类型库。

反馈